/* SW Home Roofing refinement: calm, direct, homeowner-first. */
:root{
  --home-deep:#082a21;
  --home-green:#123f32;
  --home-leaf:#2b6d52;
  --home-lime:#b7d84b;
  --home-paper:#f3f5f0;
  --home-ink:#11271f;
  --home-muted:#5e6d67;
  --home-radius:14px;
}

body{background:var(--home-paper);color:var(--home-ink)}
.home-progress,.home-hero-grid{display:none!important}
.home-nav{height:72px;padding:0 clamp(18px,4vw,60px);background:rgba(8,42,33,.92);border-bottom:1px solid rgba(255,255,255,.13);backdrop-filter:blur(18px)}
.home-nav nav{gap:clamp(18px,2.2vw,34px)}
.home-nav nav a{font-size:13px;font-weight:650;opacity:.78;white-space:nowrap}
.home-nav nav a:hover{opacity:1}
.division-switch{border:0;background:rgba(255,255,255,.1)}

.home-hero{min-height:100dvh;padding:104px clamp(24px,6vw,96px) 56px;align-items:center}
.home-hero-shade{background:linear-gradient(90deg,rgba(5,34,26,.96) 0%,rgba(6,40,30,.75) 42%,rgba(6,40,30,.08) 76%),linear-gradient(0deg,rgba(5,31,24,.38),transparent 46%)}
.home-hero-media img{object-position:center}
.home-hero-copy{width:min(52vw,680px)}
.home-hero .kicker,.home-hero-note,.hero-proof{display:none!important}
.home-hero h1{font-size:clamp(50px,5.6vw,82px);line-height:1.01;letter-spacing:-.05em;margin:0 0 24px;max-width:660px;text-wrap:balance}
.home-hero-lead{font-size:clamp(16px,1.3vw,19px);line-height:1.65;max-width:570px;color:rgba(255,255,255,.8)}
.home-hero-actions{margin-top:30px;gap:10px}
.home-btn{min-height:52px;padding:0 22px;border-radius:999px;white-space:nowrap;transition:transform .2s ease,background-color .2s ease,border-color .2s ease}
.home-btn:active{transform:translateY(1px) scale(.99)}
.home-btn.primary{background:var(--home-lime);color:#142519}
.home-btn.glass{background:rgba(8,42,33,.4);border-color:rgba(255,255,255,.42);backdrop-filter:blur(8px)}
.line-primary{box-shadow:none}

.home-trust{background:var(--home-green);color:#fff;border:0}
.home-trust article{min-height:108px;padding:24px clamp(17px,3vw,44px);border-color:rgba(255,255,255,.13)}
.home-trust b{color:#fff;font-size:13px}
.home-trust span{color:rgba(255,255,255,.65);font-size:11px}

.home-intro,.home-services,.home-process,.home-faq,.home-contact{padding:clamp(80px,10vh,130px) clamp(24px,6vw,96px)}
.section-kicker{display:none!important}
.home-intro-heading,.home-section-head{display:block;max-width:790px}
.home-intro h2,.home-section-head h2,.standard-copy h2,.faq-heading h2,.home-contact-copy h2{font-size:clamp(42px,5.3vw,76px);line-height:1.03;letter-spacing:-.045em;text-wrap:balance}
.home-intro-heading>p,.home-section-head>p{max-width:620px;margin:20px 0 0;color:var(--home-muted);font-size:16px;line-height:1.7}

.symptom-picker{max-width:980px;margin-top:54px;border-top:1px solid rgba(17,39,31,.18)}
.symptom-picker button{grid-template-columns:1fr 42px;min-height:82px;padding:0 8px;border-bottom:1px solid rgba(17,39,31,.18)}
.symptom-picker button i{display:none}
.symptom-picker b{font-size:clamp(19px,2.2vw,28px)}
.symptom-picker small{font-size:24px}
.symptom-picker button:hover{padding-left:14px;background:rgba(183,216,75,.12)}

.home-services{background:#e7ece6;color:var(--home-ink)}
.home-services .home-section-head>p{color:var(--home-muted)!important}
.home-service-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-top:52px}
.home-service-card{grid-column:span 5;min-height:520px;padding:28px;border:0;border-radius:var(--home-radius);overflow:hidden;background:var(--home-green);color:#fff}
.home-service-card:nth-child(2){grid-column:span 7}
.home-service-card:nth-child(3){grid-column:span 7}
.home-service-card:nth-child(4){grid-column:span 5}
.home-service-card:nth-child(5){grid-column:span 5}
.home-service-card:nth-child(6){grid-column:span 7}
.home-service-card>span{display:none!important}
.service-icon{width:calc(100% + 56px);margin:-28px -28px 26px;aspect-ratio:16/9;border:0}
.home-service-card h3{font-size:clamp(25px,2.5vw,36px);margin-bottom:12px}
.home-service-card p{max-width:56ch;color:rgba(255,255,255,.69);line-height:1.65}
.home-service-card>a{color:var(--home-lime);margin-top:auto}

.home-standard{background:var(--home-paper);color:var(--home-ink);min-height:760px}
.standard-visual{border-radius:0 var(--home-radius) var(--home-radius) 0;overflow:hidden;margin:44px 0 44px 44px}
.roof-detail{display:none}
.standard-copy{padding:clamp(70px,9vw,130px)}
.standard-copy>p:last-of-type{color:var(--home-muted);font-size:16px;line-height:1.75}
.standard-copy ul{margin-top:34px}
.standard-copy li{border-top:1px solid rgba(17,39,31,.18)}

.home-process{background:#e7ece6}
.home-process ol{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:52px}
.home-process li{min-height:230px;padding:30px;border:1px solid rgba(17,39,31,.14);border-radius:var(--home-radius);background:rgba(255,255,255,.48)}
.home-process li>b{display:none}
.home-process li h3{font-size:clamp(23px,2.5vw,34px);margin:0 0 12px}
.home-process li p{max-width:48ch;font-size:14px}

.home-faq{background:var(--home-paper)}
.faq-heading{max-width:680px}
.faq-list{border-top:1px solid rgba(17,39,31,.18)}
.faq-list details{border-bottom:1px solid rgba(17,39,31,.18)}
.faq-list summary{font-size:17px}

.home-contact{background:#e7ece6;color:var(--home-ink);grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);gap:clamp(50px,8vw,110px)}
.home-contact-copy>p:last-of-type{color:var(--home-muted)}
.contact-direct a{border-color:rgba(17,39,31,.16);background:#fff;border-radius:10px}
.home-form{border-radius:var(--home-radius);box-shadow:0 24px 70px rgba(8,42,33,.09)}
.home-form-head>span{display:none}
.home-form input,.home-form select,.home-form textarea{border-radius:8px;background:#fff}
.upload-box{border-radius:10px}
.home-submit{border-radius:999px;min-height:54px;background:var(--home-green);color:#fff}
.home-form-status{border-radius:8px}
.home-footer{background:var(--home-deep)}

@media(max-width:1000px){
  .home-nav nav{display:none}
  .home-hero-copy{width:64vw}
  .home-service-card,.home-service-card:nth-child(n){grid-column:span 6}
  .home-standard,.home-contact{grid-template-columns:1fr}
  .standard-visual{min-height:520px;margin:28px 28px 0;border-radius:var(--home-radius)}
  .home-contact{grid-template-columns:1fr}
}

@media(max-width:700px){
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .home-nav{height:68px;padding:0 12px}
  .home-brand{min-height:44px}
  .home-langs button,.home-menu-button{min-width:44px!important;min-height:44px!important}
  .home-hero{min-height:100dvh;padding:96px 18px 94px;display:flex;align-items:flex-end}
  .home-hero-shade{background:linear-gradient(0deg,rgba(5,34,26,.98) 0%,rgba(5,34,26,.87) 48%,rgba(5,34,26,.16) 100%)}
  .home-hero-media img{object-position:64% center}
  .home-hero-copy{width:100%}
  .home-hero h1{font-size:clamp(39px,11vw,50px);line-height:1.02;margin-bottom:16px;max-width:12ch}
  .home-hero-lead{font-size:15px;line-height:1.58;max-width:36ch}
  .home-hero-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:22px}
  .home-btn{min-height:50px;font-size:13px}
  .home-trust{grid-template-columns:1fr 1fr}
  .home-trust article{min-height:96px;padding:17px 15px}
  .home-trust b{font-size:11px}
  .home-trust span{font-size:10px;line-height:1.35}
  .home-intro,.home-services,.home-process,.home-faq,.home-contact{padding:72px 18px}
  .home-intro h2,.home-section-head h2,.standard-copy h2,.faq-heading h2,.home-contact-copy h2{font-size:36px}
  .home-intro-heading>p,.home-section-head>p{font-size:15px}
  .symptom-picker{margin-top:34px}
  .symptom-picker button{min-height:72px}
  .symptom-picker b{font-size:18px}
  .home-service-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:34px}
  .home-service-card,.home-service-card:nth-child(n){grid-column:auto;min-height:410px;padding:24px}
  .service-icon{width:calc(100% + 48px);margin:-24px -24px 24px}
  .home-service-card h3{font-size:27px}
  .standard-visual{min-height:360px;margin:14px 14px 0;border-radius:var(--home-radius)}
  .standard-copy{padding:62px 18px 72px}
  .home-process ol{display:grid;grid-template-columns:1fr;gap:10px;margin:34px 0 0;padding:0;overflow:visible}
  .home-process li{min-height:190px;padding:24px}
  .faq-list{margin-top:34px}
  .home-contact{gap:38px}
  .home-form{padding:25px 18px}
  .home-footer a{display:inline-flex;min-height:44px;align-items:center}
  .home-mobile-bar{grid-template-columns:.75fr 1.35fr .9fr}
  .home-mobile-bar a{white-space:nowrap}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
