body{background:var(--paper)}body.home-view #builder,body.home-view #visit,body.home-view #internal-estimator,body.builder-view #home-page{display:none!important}
#internal-estimator{display:none!important}
header nav a{min-height:44px;display:flex;align-items:center}
#home-page{padding-bottom:70px}
.home-hero{display:grid;grid-template-columns:1.5fr 1fr;background:var(--charcoal);color:var(--inverse);min-height:565px;border-radius:8px;overflow:hidden}
.hero-main{padding:62px 52px}.hero-main .eyebrow{color:var(--inverse-muted);font-size:12px}.home-hero h1{font-size:clamp(48px,5.4vw,76px);text-transform:uppercase;letter-spacing:-3px;line-height:1.02}.home-hero h1 span{color:var(--inverse)}
.hero-promise{font-size:25px;margin:24px 0 14px;font-weight:700}.hero-description{color:var(--inverse-muted);max-width:490px;font-size:16px;margin-bottom:28px}
.home-primary{background:var(--accent);color:var(--ink);display:inline-flex;min-height:54px;font-size:15px}.home-primary:hover{background:var(--accent-hover)}
.hero-feature{position:relative;display:flex;flex-direction:column;justify-content:space-between;background:var(--charcoal-soft);overflow:hidden;padding:35px;border-left:1px solid var(--dark-line)}.hero-feature>.eyebrow{max-width:210px;z-index:1;line-height:1.6}.hero-feature h2{font-size:46px;letter-spacing:-1.5px;margin:14px 0 8px}.hero-feature h2 span{color:var(--accent)}.hero-feature p{margin:0;color:var(--inverse-muted)}.feature-tag{font-size:11px;letter-spacing:2px;color:var(--accent)}.hero-feature>div:last-child{z-index:1}
.road-art{position:absolute;inset:40px -80px 0 30px;transform:rotate(25deg);display:flex;gap:18px;opacity:.22}.road-art i{width:32px;height:110%;border-left:1px solid var(--inverse-muted);border-right:1px solid var(--inverse-muted);background:repeating-linear-gradient(0deg,transparent 0 15px,var(--inverse-muted) 16px 17px)}
.home-refresh{padding:80px 0 62px;border-bottom:1px solid var(--line);scroll-margin-top:24px}.refresh-top{display:grid;grid-template-columns:1.2fr 1fr;gap:80px}.refresh-top h2{font-size:clamp(34px,3.7vw,49px);line-height:1.09;max-width:570px;letter-spacing:-1.8px}.refresh-top h2 em{font-style:normal;color:var(--accent-text)}.refresh-top>div>p:not(.eyebrow){max-width:510px;color:var(--muted)}.refresh-pricing{background:var(--surface);padding:26px 28px;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:4px}.refresh-pricing .eyebrow{font-size:11px;margin-bottom:12px}
#home-driveway-prices{margin:0}#home-driveway-prices div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}#home-driveway-prices dd{color:var(--accent-text);font-size:26px;font-weight:750;margin:0}#home-driveway-prices div:last-child dd{font-size:18px}.price-inclusion{font-weight:700;margin:14px 0 0;color:var(--accent-text)!important}.refresh-pricing .micro{font-size:14px;margin:7px 0 20px}.refresh-pricing .button{width:100%;gap:12px}
.job-media{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px}.job-media figure{margin:0;min-width:0}.media-slot{aspect-ratio:4/3;display:flex;flex-direction:column;justify-content:flex-end;position:relative;background:var(--surface-soft);border:1px solid var(--line);border-radius:5px;padding:22px;overflow:hidden}.media-slot>span{position:absolute;right:14px;top:0;font-size:100px;line-height:1.2;font-weight:800;letter-spacing:-7px;color:var(--border-strong);opacity:.6}.media-slot p{font-size:16px;font-weight:700;z-index:1;margin:0 0 4px}.media-slot small{font-size:12px;z-index:1;color:var(--muted)}.media-progress{background:var(--surface-muted)}.media-finish{background:var(--surface-strong)}.job-media figcaption{font-size:12px;font-weight:700;letter-spacing:1px;margin-top:12px}.job-media figcaption span{display:block;font-weight:400;letter-spacing:0;color:var(--muted);font-size:14px;margin-top:3px}.media-slot video,.media-slot img{width:100%;height:100%;object-fit:cover}
.home-services{padding:65px 0}.home-section-heading h2{font-size:36px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}.service-grid>a{border-top:2px solid var(--accent);padding:22px 0;display:flex;flex-direction:column}.service-grid>a>span{font-size:11px;color:var(--muted);letter-spacing:1.4px;margin-bottom:22px}.service-grid h3{font-size:23px;line-height:1.2}.service-grid p{font-size:16px;color:var(--muted);flex:1}.service-grid b{font-size:14px;color:var(--accent-text);padding:12px 0}.home-how{background:var(--surface-soft);border-radius:6px;padding:42px;display:grid;grid-template-columns:1fr 1.1fr;gap:60px}.home-how h2{font-size:38px}.home-how .button{margin-top:16px}.home-how ol{margin:0;padding-left:28px}.home-how li{padding:0 0 20px 12px}.home-how li::marker{font-weight:800;color:var(--accent-text)}.home-how h3{font-size:18px}.home-how p{font-size:15px;color:var(--muted);margin:5px 0 0}
@media(max-width:850px){.hero-main{padding:40px 30px}.hero-feature{padding:28px}.refresh-top{gap:32px}.job-media{gap:12px}.media-slot{padding:15px}.media-slot>span{font-size:70px}.home-how{gap:30px;padding:30px}}
@media(max-width:600px){.home-hero{grid-template-columns:1fr}.hero-main{padding:34px 24px}.home-hero h1{font-size:48px;letter-spacing:-2px}.hero-promise{font-size:21px}.hero-feature{min-height:205px;padding:24px;display:grid;grid-template-columns:1fr 1fr;align-items:end;border-left:0;border-top:1px solid var(--dark-line);gap:12px}.hero-feature h2{font-size:32px}.hero-feature>.eyebrow{font-size:10px}.hero-feature p{font-size:13px}.feature-tag{font-size:9px}.home-refresh{padding:45px 0}.refresh-top{grid-template-columns:1fr;gap:18px}.refresh-top h2{font-size:36px}.refresh-pricing{padding:22px}.job-media{grid-template-columns:1fr;margin-top:28px;gap:25px}.media-slot{aspect-ratio:16/10;padding:20px}.media-slot>span{font-size:100px}.job-media figcaption span{display:inline;margin-left:10px}.home-services{padding:44px 0}.service-grid{grid-template-columns:1fr;gap:0}.service-grid>a>span{margin-bottom:12px}.service-grid p{margin-bottom:0}.home-how{grid-template-columns:1fr;gap:32px;padding:26px}.home-how h2{font-size:32px}.home-how .button,.hero-main .button{width:100%}.home-section-heading h2{font-size:30px}}

/* Publication routes: unfinished application views cannot become public. */
#builder,#visit{display:none!important}
.coming-soon{max-width:850px;margin:40px auto 70px;padding:clamp(26px,5vw,60px);border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:8px;background:var(--surface)}
.coming-soon h2{font-size:clamp(36px,5vw,58px);letter-spacing:-1.5px;line-height:1.1}.coming-intro{font-size:22px}.coming-phone{font-size:clamp(23px,4vw,32px);letter-spacing:.5px;margin:28px 0 16px;white-space:nowrap}.coming-home{max-width:250px}.footer-contact a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent-text);font-weight:700;font-size:19px}.footer-contact p{margin:0}.footer-contact a:hover{text-decoration:underline}
@media(max-width:600px){.coming-soon{margin:20px auto 40px}.coming-home{max-width:none}.coming-phone{padding-inline:10px}}
header nav a{min-width:44px;justify-content:center}

/* Approved contact prominence; temporary branding remains until official artwork is supplied. */
.header-call{display:flex;flex-direction:column;justify-content:center;min-height:48px;color:var(--accent-text);white-space:nowrap}.header-call span{font-size:12px;font-weight:700}.header-call strong{font-size:21px}.hero-call{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-height:48px;margin-top:12px;color:var(--inverse);font-size:15px}.hero-call strong{font-size:20px}.header-call:hover,.hero-call:hover{text-decoration:underline}#site-brand img{max-width:260px;max-height:72px;width:auto;height:auto;object-fit:contain}
@media(max-width:1000px){header{flex-wrap:wrap}header nav{width:100%;justify-content:space-between}}
@media(max-width:600px){.header-call{width:100%;padding:8px 12px;border-left:3px solid var(--accent);background:var(--surface-soft)}.header-call strong{font-size:23px}.hero-call{justify-content:center;text-align:center}.hero-call strong{white-space:nowrap}}

.section-call{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:48px;margin:20px 0;color:var(--accent-text)}.section-call span{font-size:14px}.section-call strong{font-size:23px}.section-call:hover{text-decoration:underline}

/* Keep footer identity and contact details together as one balanced group. */
footer#contact{flex-direction:column;justify-content:center;gap:8px;padding:30px 16px;text-align:center}
footer#contact .brand{justify-content:center}
footer#contact .footer-contact{min-width:0;max-width:100%}

/* Approved original assets: no image reconstruction or altered proportions. */
#site-brand img{display:block;width:150px;max-height:none;height:auto;max-width:100%}.home-hero{grid-template-columns:1fr 1.15fr;min-height:0}.hero-main{padding:42px 36px}.home-hero h1{font-size:clamp(48px,4.7vw,64px)}.hero-feature{display:flex;flex-direction:column;justify-content:center;padding:0;background:var(--surface-soft);border-left:0;color:var(--ink)}.hero-photo{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center}.photo-caption{padding:24px}.hero-feature h2{font-size:30px;letter-spacing:-1px;margin:8px 0}.hero-feature p{color:var(--muted)}.hero-feature .feature-tag{color:var(--accent-text)}
@media(max-width:600px){#site-brand img{width:112px}.home-hero{grid-template-columns:1fr}.hero-main{padding:30px 24px}.hero-feature{display:flex;min-height:0;padding:0;gap:0}.hero-photo{object-position:center;aspect-ratio:16/9}.photo-caption{width:100%;padding:20px 24px}.hero-feature h2{font-size:28px}}
