/* Homepage-only styles — loaded by index.html */

/* ---------- hero (homepage) ---------- */
.hero{padding:96px 0 88px;}
.hero .qc{width:340px;height:340px;top:-90px;right:-90px;background:var(--green-deep);opacity:0.6;}
.hero .checker{width:150px;height:150px;bottom:40px;left:-30px;opacity:0.5;}
.hero .ring{width:120px;height:120px;border-width:14px;border-color:var(--green-deep);top:60%;right:6%;opacity:0.7;}
.hero h1{font-size:clamp(2.6rem, 6vw, 4.6rem);max-width:14ch;color:var(--white);}
.hero .lede{margin-top:26px;font-size:1.2rem;}
.hero .cta-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:38px;}
.hero .locale{margin-top:34px;font-size:0.9rem;color:var(--muted-on-dark);display:flex;align-items:center;gap:10px;}
.hero .locale svg{width:16px;height:16px;flex-shrink:0;}


/* ---------- problem/solution ---------- */
.problem{padding:100px 0;}
.problem .qc{width:220px;height:220px;bottom:-60px;left:-60px;background:var(--green-soft);opacity:0.5;}
.problem .dot-grid{width:200px;height:200px;top:20px;right:0;}
.problem-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:start;}
.problem h2{font-size:clamp(2rem,4vw,3rem);max-width:12ch;}
.problem-copy{font-size:1.08rem;color:var(--muted-on-light);max-width:42ch;}
.problem-copy p + p{margin-top:14px;}
.solution-line{margin-top:26px;font-family:'Fraunces',serif;font-weight:700;font-size:1.5rem;color:var(--green);}
.shape-panel{position:relative;height:340px;}
.shape-panel .tri-1{border-left:110px solid transparent;border-bottom:190px solid var(--green);right:20px;top:0;}
.shape-panel .ring-1{width:130px;height:130px;border-width:16px;border-color:var(--ink);left:10px;bottom:20px;}
.shape-panel .checker-1{width:110px;height:110px;left:0;top:40px;color:var(--ink);opacity:0.85;}
@media (max-width:860px){ .problem-grid{grid-template-columns:1fr;} .shape-panel{height:220px;margin-top:20px;} }

/* ---------- services teaser (homepage) + generic section head ---------- */
.services{padding:100px 0;}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-on-dark);border:1px solid var(--line-on-dark);}
.service-card{background:var(--ink);padding:34px 26px;display:flex;flex-direction:column;gap:16px;min-height:260px;transition:background .18s ease;}
.service-card:hover{background:var(--ink-2);}
.service-mark{width:38px;height:38px;position:relative;}
.service-card h3{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.15rem;color:var(--white);}
.service-card p{font-size:0.93rem;color:var(--muted-on-dark);}
.service-card .go{margin-top:auto;font-size:0.85rem;color:var(--green-bright);font-weight:600;}
@media (max-width:960px){ .service-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .service-grid{grid-template-columns:1fr;} }


/* ---------- offer ---------- */
.offer{padding:110px 0;}
.offer .stripes{width:100%;height:70px;top:0;left:0;opacity:0.18;}
.offer .ring{width:260px;height:260px;border-width:20px;border-color:var(--ink);opacity:0.15;bottom:-100px;right:-60px;}
.offer-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:60px;align-items:center;}
.offer .eyebrow{color:var(--ink);}
.offer .eyebrow .dot{background:var(--ink);}
.offer-num{font-family:'Fraunces',serif;font-weight:900;font-size:clamp(4.5rem,12vw,8.5rem);line-height:0.85;color:var(--ink);}
.offer h2{color:var(--ink);font-size:clamp(1.7rem,3vw,2.3rem);max-width:16ch;margin-top:10px;}
.offer-list{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;}
.offer-list li{display:flex;gap:10px;align-items:flex-start;font-size:0.95rem;font-weight:500;}
.offer-list svg{width:18px;height:18px;flex-shrink:0;margin-top:2px;}
.offer-note{margin-top:30px;font-size:0.9rem;color:var(--ink);opacity:0.75;max-width:44ch;}
.offer .cta-row{margin-top:30px;}
@media (max-width:860px){ .offer-grid{grid-template-columns:1fr;} .offer-list{grid-template-columns:1fr;} }

/* ---------- outcomes ---------- */
.outcomes{padding:100px 0;}
.outcome-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;}
.outcome-item .num-shape{width:30px;height:30px;margin-bottom:18px;}
.outcome-item h3{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.05rem;margin-bottom:10px;}
.outcome-item p{font-size:0.92rem;color:var(--muted-on-light);}
@media (max-width:860px){ .outcome-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .outcome-grid{grid-template-columns:1fr;} }

/* ---------- process ---------- */
.process{padding:100px 0;}
.process .checker{width:130px;height:130px;top:-30px;right:-30px;opacity:0.5;}
.process-row{display:flex;align-items:stretch;gap:0;margin-top:20px;}
.process-step{flex:1;padding:0 22px 0 0;}
.process-step .step-no{font-family:'Fraunces',serif;font-weight:700;font-size:1.1rem;color:var(--green-bright);}
.process-step h3{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.05rem;margin:14px 0 10px;color:var(--white);}
.process-step p{font-size:0.9rem;color:var(--muted-on-dark);}
.process-connector{color:var(--green-deep);padding-top:8px;width:60px;flex-shrink:0;}
@media (max-width:860px){
  .process-row{flex-direction:column;gap:26px;}
  .process-connector{display:none;}
}

/* ---------- who we help ---------- */
.who{padding:90px 0 100px;}
.tag-grid{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px;}
.tag{display:flex;align-items:center;gap:10px;padding:12px 20px;border:1.5px solid var(--line-on-light);font-size:0.95rem;font-weight:500;}
.tag .sw{width:9px;height:9px;background:var(--green);flex-shrink:0;}

/* ---------- work ---------- */
.work{padding:100px 0;}
.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-on-dark);border:1px solid var(--line-on-dark);margin-top:10px;}
.work-card{background:var(--ink);padding:36px;display:flex;flex-direction:column;gap:10px;min-height:180px;justify-content:space-between;transition:background .18s ease;}
.work-card:hover{background:var(--ink-2);}
.work-card .industry{font-size:0.78rem;letter-spacing:0.1em;color:var(--green-bright);font-weight:600;}
.work-card h3{font-family:'Fraunces',serif;font-weight:700;font-size:1.4rem;color:var(--white);}
.work-card .visit{font-size:0.85rem;color:var(--muted-on-dark);display:flex;align-items:center;gap:8px;}
@media (max-width:700px){ .work-grid{grid-template-columns:1fr;} }

/* ---------- local ---------- */
.local{padding:110px 0;}
.local-stair{margin-top:20px;}
.local-line{display:block;font-family:'Fraunces',serif;font-weight:700;color:var(--white);opacity:0.92;line-height:1.05;}
.local-line.s1{font-size:clamp(1.3rem,3vw,1.8rem);opacity:0.55;}
.local-line.s2{font-size:clamp(1.7rem,4vw,2.5rem);opacity:0.72;margin-left:6%;}
.local-line.s3{font-size:clamp(2.1rem,5vw,3.3rem);opacity:0.88;margin-left:12%;}
.local-line.s4{font-size:clamp(2.6rem,7vw,4.4rem);color:var(--green-bright);opacity:1;margin-left:18%;}
.local .lede{margin-top:36px;max-width:50ch;}

/* ---------- testimonials ---------- */
.testimonials{padding:100px 0;}
.t-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:40px;}
.t-card{border-top:2px solid var(--ink);padding-top:22px;}
.t-card p{font-family:'Fraunces',serif;font-size:1.25rem;font-style:italic;line-height:1.45;color:var(--ink);}
.t-card .who{margin-top:18px;font-family:'Space Grotesk',sans-serif;font-style:normal;font-size:0.9rem;font-weight:600;color:var(--muted-on-light);}
@media (max-width:760px){ .t-grid{grid-template-columns:1fr;gap:36px;} }

/* ---------- faq ---------- */
.faq{padding:100px 0;}
.faq-list{margin-top:40px;max-width:760px;}
.faq-item{border-bottom:1px solid var(--line-on-dark);}
.faq-item summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font-weight:600;font-size:1.05rem;color:var(--white);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item .plus{position:relative;width:18px;height:18px;flex-shrink:0;}
.faq-item .plus::before,.faq-item .plus::after{content:"";position:absolute;background:var(--green-bright);}
.faq-item .plus::before{width:18px;height:2px;top:8px;left:0;}
.faq-item .plus::after{width:2px;height:18px;top:0;left:8px;transition:transform .2s ease;}
.faq-item[open] .plus::after{transform:rotate(90deg);}
.faq-item p{padding:0 0 24px;color:var(--muted-on-dark);font-size:0.95rem;max-width:62ch;}

