/* ===== Shared accents ===== */
.chip{display:inline-block;font-size:13px;font-weight:540;color:var(--pine);background:rgba(47,107,97,.07);border:1px solid rgba(47,107,97,.12);padding:6px 13px;border-radius:999px;}
.chips{display:flex;flex-wrap:wrap;gap:9px;}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--pine);transition:.2s;}
.link-arrow .arr{transition:transform .26s cubic-bezier(.2,.7,.3,1);}
.link-arrow:hover{color:var(--pine-deep);}
.link-arrow:hover .arr{transform:translateX(4px);}
.link-arrow.sm{font-size:14px;}

/* ===== Full-screen hero ===== */
.heroA{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;background:var(--pine-deep);}
.heroA-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:heroZoom 20s ease-out forwards;}
@keyframes heroZoom{to{transform:scale(1);}}
.heroA-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,47,53,.46) 0%,rgba(15,47,53,.16) 26%,rgba(15,47,53,.20) 64%,rgba(15,47,53,.66) 100%);}
.heroA-inner{position:relative;width:100%;max-width:920px;padding:120px var(--gut) 80px;display:flex;flex-direction:column;align-items:center;}
.heroA-badge{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;letter-spacing:.02em;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.30);backdrop-filter:blur(6px);padding:8px 16px;border-radius:999px;margin-bottom:26px;}
.heroA-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 0 rgba(236,111,79,.7);animation:pulse 2.4s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(236,111,79,.6);}70%{box-shadow:0 0 0 9px rgba(236,111,79,0);}100%{box-shadow:0 0 0 0 rgba(236,111,79,0);}}
.heroA-title{font-size:clamp(52px,9vw,118px);font-weight:470;line-height:.95;letter-spacing:-.025em;text-shadow:0 2px 40px rgba(0,0,0,.28);}
.heroA-sub{max-width:58ch;margin:26px 0 36px;font-size:clamp(16px,1.5vw,19px);line-height:1.66;color:rgba(255,255,255,.94);text-shadow:0 1px 18px rgba(0,0,0,.3);}
.heroA-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}
.heroA-explore{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.42);backdrop-filter:blur(6px);}
.heroA-explore:hover{background:rgba(255,255,255,.22);transform:translateY(-2px);}
.heroA-scroll{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;color:rgba(255,255,255,.8);font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;}
.heroA-scroll svg{animation:bob 2.2s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(5px);}}
@media (prefers-reduced-motion:reduce){.heroA-img{animation:none;transform:none;}.heroA-scroll svg{animation:none;}}

/* Intro statement */
.intro-statement{background:var(--cream);}
.big-statement{font-size:clamp(24px,3.4vw,42px);line-height:1.32;font-weight:430;max-width:20ch;color:var(--ink);letter-spacing:-.012em;max-width:24ch;}
.big-statement{max-width:none;}
.intro-statement .big-statement{max-width:min(100%,18em);}
.big-statement .italic{color:var(--pine);}

/* Services rows (A) */
.srows-head{margin-bottom:clamp(30px,4vw,52px);}
.srows-title{font-size:clamp(30px,4.4vw,52px);margin-top:18px;letter-spacing:-.02em;max-width:16ch;}
.srows-title .italic{color:var(--pine);}
.srows{border-top:1px solid var(--line);}
.srow{display:grid;grid-template-columns:1.1fr 2fr 40px;align-items:center;gap:24px;width:100%;text-align:left;padding:30px 8px;border-bottom:1px solid var(--line);transition:.32s cubic-bezier(.2,.7,.3,1);}
.srow:hover{padding-inline:24px 8px;background:var(--surface);}
.srow-name{font-size:clamp(22px,2.6vw,30px);font-weight:480;color:var(--ink);transition:.2s;}
.srow:hover .srow-name{color:var(--pine);}
.srow-desc{font-size:15.5px;color:var(--muted);line-height:1.55;}
.srow-arr{color:var(--pine);opacity:.4;transition:.3s;justify-self:end;}
.srow:hover .srow-arr{opacity:1;transform:translateX(4px);}
@media (max-width:760px){
  .srow{grid-template-columns:1fr 32px;gap:14px;padding:22px 4px;}
  .srow-desc{display:none;}
}

/* How it works */
.how-sand{background:var(--sand-soft);}
.how-pine{background:var(--pine-deep);color:#eaf0ec;}
.how-head{margin-bottom:clamp(34px,5vw,58px);}
.how-title{font-size:clamp(28px,4vw,46px);margin-top:16px;}
.how-pine .how-title{color:#fff;}
.how-title .italic{color:var(--pine);}
.how-pine .how-title .italic{color:var(--sage-soft);}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);}
.how-card{position:relative;}
.how-n{display:block;font-size:clamp(40px,5vw,62px);color:var(--sage);font-style:italic;font-weight:430;line-height:1;margin-bottom:18px;opacity:.85;}
.how-pine .how-n{color:var(--sage);}
.how-card-title{font-size:21px;font-weight:560;margin-bottom:10px;letter-spacing:-.01em;}
.how-card-text{font-size:15.5px;line-height:1.62;color:var(--muted);max-width:34ch;}
.how-pine .how-card-text{color:var(--sage-soft);}
@media (max-width:760px){.how-grid{grid-template-columns:1fr;gap:30px;}}

/* Team teaser */
.teaser{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5vw,72px);align-items:center;}
.teaser-ph{border-radius:var(--r-lg);box-shadow:var(--sh-md);}
.teaser-name{font-size:clamp(30px,4vw,46px);margin:16px 0 4px;letter-spacing:-.02em;}
.teaser-role{color:var(--pine);font-weight:600;font-size:15px;letter-spacing:.02em;margin-bottom:20px;}
.teaser-bio{font-size:16.5px;line-height:1.68;color:var(--muted);margin-bottom:22px;}
.teaser-tags{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:26px;}
@media (max-width:780px){.teaser{grid-template-columns:1fr;}.teaser-photo{max-width:360px;}}

/* CTA band */
.cta-band{background:var(--pine);color:#fff;padding-block:clamp(70px,9vw,118px);position:relative;overflow:hidden;}
.cta-band::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 140% at 50% -20%,rgba(167,198,192,.18),transparent 60%);}
.cta-band .wrap{position:relative;}
.cta-title{font-size:clamp(32px,5vw,60px);margin:18px auto 0;max-width:18ch;letter-spacing:-.02em;}
.cta-title .italic{color:var(--sage-soft);}
.cta-sub{max-width:50ch;margin:20px auto 34px;color:rgba(255,255,255,.86);font-size:17px;line-height:1.6;}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.cta-ghost{color:#fff;border-color:rgba(255,255,255,.4);}
.cta-ghost:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.08);}

/* ===== Direction B — hero ===== */
.heroB{background:linear-gradient(180deg,var(--sand-soft),var(--cream));padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(40px,6vw,80px);}
.heroB-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,64px);align-items:center;}
.heroB-title{font-size:clamp(44px,6.2vw,82px);font-weight:470;line-height:.98;letter-spacing:-.02em;margin:18px 0 0;}
.heroB-title .italic{color:var(--pine);}
.heroB-sub{max-width:46ch;margin:22px 0 30px;font-size:17px;line-height:1.66;color:var(--muted);}
.heroB-cta{display:flex;gap:13px;flex-wrap:wrap;margin-bottom:32px;}
.heroB-avail{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line);padding-top:22px;}
.avail-item{display:flex;align-items:center;gap:12px;font-size:15px;}
.avail-dot{width:8px;height:8px;border-radius:50%;background:var(--coral);flex:none;}
.avail-k{font-weight:560;color:var(--ink);}
.avail-v{color:var(--pine);font-weight:600;margin-left:auto;}
.heroB-media{position:relative;}
.heroB-img{width:100%;height:clamp(360px,46vw,560px);object-fit:cover;border-radius:var(--r-xl);box-shadow:var(--sh-lg);}
.heroB-card{position:absolute;left:-18px;bottom:28px;background:var(--surface);border:1px solid var(--line-soft);box-shadow:var(--sh-md);border-radius:var(--r-md);padding:16px 22px;}
.heroB-card-tag{font-size:21px;color:var(--pine);}
@media (max-width:860px){
  .heroB-grid{grid-template-columns:1fr;}
  .heroB-media{order:-1;}
  .heroB-card{left:auto;right:18px;}
}

/* Trust band */
.trust{background:var(--pine-deep);color:#fff;}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.trust-item{padding:clamp(28px,4vw,46px) 8px;text-align:center;border-right:1px solid rgba(255,255,255,.12);}
.trust-item:last-child{border-right:none;}
.trust-n{display:block;font-size:clamp(34px,4.6vw,52px);font-weight:470;color:#fff;line-height:1;margin-bottom:10px;}
.trust-l{font-size:13.5px;color:var(--sage-soft);line-height:1.45;display:block;max-width:18ch;margin:0 auto;}
@media (max-width:680px){.trust-grid{grid-template-columns:1fr 1fr;}.trust-item:nth-child(2n){border-right:none;}.trust-item:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12);}}

/* Service tiles (B) */
.stiles-head{margin-bottom:clamp(30px,4vw,50px);}
.stiles-title{font-size:clamp(30px,4.4vw,52px);margin-top:16px;}
.stiles-title .italic{color:var(--pine);}
.stiles{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,2.6vw,32px);}
.stile{display:flex;flex-direction:column;text-align:left;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden;transition:.3s cubic-bezier(.2,.7,.3,1);box-shadow:var(--sh-sm);}
.stile:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:var(--line);}
.stile-ph{width:100%;}
.stile-body{padding:clamp(22px,3vw,32px);position:relative;}
.stile-n{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--sage);position:absolute;top:22px;right:26px;}
.stile-name{font-size:clamp(22px,2.6vw,28px);margin-bottom:11px;}
.stile-desc{font-size:15px;line-height:1.6;color:var(--muted);margin-bottom:18px;}
@media (max-width:720px){.stiles{grid-template-columns:1fr;}}
