:root{
 --black:#0a0a0a;--off-black:#111110;--dark:#1a1a18;--border:rgba(255,255,255,0.08);
  --border-light:rgba(0,0,0,0.1);--white:#f8f7f4;--dim:rgba(248,247,244,0.72);
  --faint:rgba(248,247,244,0.38);--green:#3d6b38;--green-bright:#72c96a;
  --green-cta:#72c96a;--green-faint:rgba(61,107,56,0.12);
  --D:'Syne',sans-serif;--B:'Instrument Sans',sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{font-family:var(--B);background:var(--white);color:var(--black);overflow-x:hidden;-webkit-font-smoothing:antialiased}
section[id],div[id]{scroll-margin-top:80px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
a:focus-visible,button:focus-visible{outline:2px solid var(--green-bright);outline-offset:3px}

header{position:fixed;inset:0 0 auto 0;z-index:200;display:flex;justify-content:space-between;align-items:center;padding:0 3rem;height:64px;background:rgba(10,10,10,0.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
.logo{font-family:var(--D);font-size:1rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--white);text-decoration:none}
.logo span{color:var(--green-bright)}
.hn{display:flex;gap:2.5rem;align-items:center}
.hn a{font-family:var(--B);font-size:0.72rem;font-weight:400;letter-spacing:0.1em;text-transform:uppercase;color:var(--dim);text-decoration:none;transition:color 0.2s}
.hn a:hover{color:var(--white)}
.hcta{font-family:var(--B);font-size:0.7rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--black);background:var(--green-cta);padding:0.55rem 1.4rem;text-decoration:none;transition:background 0.2s;border-radius:2px}
.hcta:hover{background:#8fd489}

.hero{min-height:100vh;background:var(--black);display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}
.hero-l{display:flex;flex-direction:column;justify-content:flex-end;padding:8rem 3.5rem 5rem;position:relative;z-index:2}
.avail{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--B);font-size:0.65rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--green-bright);margin-bottom:3rem}
.avail::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green-bright);animation:pulse 2s ease infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(0.8)}}
.hero-h{font-family:var(--D);font-size:clamp(3.5rem,6vw,6.5rem);font-weight:800;line-height:0.93;letter-spacing:-0.03em;text-transform:uppercase;color:var(--white);margin-bottom:2.5rem}
.hero-h .acc{color:transparent;-webkit-text-stroke:1.5px var(--green-bright);text-stroke:1.5px var(--green-bright)}
.word-mob{display:none}
.word-desk{display:inline}
.hero-sub{font-family:var(--B);font-size:0.95rem;font-weight:300;line-height:1.75;color:var(--dim);max-width:44ch;margin-bottom:3rem}
.hero-acts{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.btn-g{font-family:var(--B);font-size:0.7rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--black);background:var(--green-cta);padding:1rem 2rem;text-decoration:none;display:inline-block;transition:background 0.2s,transform 0.15s}
.btn-g:hover{background:#8fd489;}
.btn-gh{font-family:var(--B);font-size:0.7rem;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;color:var(--dim);text-decoration:none;border:1px solid var(--border);padding:1rem 2rem;display:inline-block;transition:color 0.2s,border-color 0.2s}
.btn-gh:hover{color:var(--white);border-color:rgba(255,255,255,0.3)}
.hero-r{position:relative;overflow:hidden}
.hero-r img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.hero-tint{position:absolute;inset:0;background:linear-gradient(to right,var(--black) 0%,rgba(10,10,10,0.3) 40%,transparent 70%),linear-gradient(to top,var(--black) 0%,transparent 20%)}
.hero-bar{position:absolute;bottom:0;left:0;right:50%;height:2px;background:var(--green)}

.ticker{background:var(--green-bright);overflow:hidden;height:38px;display:flex;align-items:center}
.ticker-t{display:flex;white-space:nowrap;animation:tick 32s linear infinite}
.t-item{font-family:var(--D);font-size:0.68rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:rgba(0,0,0,0.7);padding:0 2.5rem;flex-shrink:0}
.t-item:nth-child(even){color:rgba(0,0,0,0.3)}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.lbl{font-family:var(--B);font-size:0.62rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--green);margin-bottom:1rem}
.lbl-l{color:var(--green-bright)}
h2.D{font-family:var(--D);font-size:clamp(2.5rem,4.5vw,4.2rem);font-weight:800;line-height:1;letter-spacing:-0.03em;text-transform:uppercase;color:var(--black)}
h2.D.lt{color:var(--white)}
h2.D em,h2.D.lt em{font-style:normal;color:var(--green)}
h2.D.lt em{color:var(--green-bright)}

.stmt{background:var(--white);padding:7rem 3rem}
.stmt-in{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:260px 1fr;gap:6rem;align-items:center}
.stmt-r p.big{font-family:var(--D);font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:700;line-height:1.2;letter-spacing:-0.02em;color:var(--dark)}
.stmt-r p.big em{font-style:normal;color:var(--green)}
.stmt-r p.sub{font-family:var(--B);font-size:0.9rem;font-weight:300;line-height:1.8;color:#5a5a56;margin-top:2rem;max-width:55ch}

.svcs{background:var(--off-black);padding:6rem 3rem}
.svcs-in{max-width:1200px;margin:0 auto}
.svcs-hd{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:4rem;padding-bottom:3rem;border-bottom:1px solid var(--border)}
.svcs-note{font-family:var(--B);font-size:0.875rem;font-weight:300;line-height:1.75;color:var(--dim)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border)}
.svc{padding:3rem 2.5rem;border-right:1px solid var(--border);display:flex;flex-direction:column;transition:background 0.25s}
.svc:last-child{border-right:none}
.svc:hover{background:rgba(255,255,255,0.025)}
.svc.feat{background:var(--green-faint);border:1px solid rgba(92,158,85,0.2)}
.svc.feat:hover{background:rgba(74,124,69,0.18)}
.s-tag{font-family:var(--B);font-size:0.6rem;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--faint);margin-bottom:2.5rem}
.svc.feat .s-tag{color:var(--green-bright)}
.s-name{font-family:var(--D);font-size:1.45rem;font-weight:700;line-height:1.1;letter-spacing:-0.02em;text-transform:uppercase;color:var(--white);margin-bottom:1rem}
.s-desc{font-family:var(--B);font-size:0.82rem;font-weight:300;line-height:1.75;color:var(--dim);margin-bottom:2rem;flex:1}
.s-list{list-style:none;margin-bottom:2.5rem}
.s-list li{font-family:var(--B);font-size:0.75rem;font-weight:300;color:var(--faint);padding:0.55rem 0;border-top:1px solid var(--border);display:flex;align-items:flex-start;gap:0.75rem;line-height:1.45}
.s-list li::before{content:'→';color:var(--green-bright);font-size:0.65rem;flex-shrink:0;margin-top:0.1rem}
.svc.feat .s-list li{color:rgba(248,247,244,0.65)}
.s-foot{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:1px solid var(--border);margin-top:auto}
.s-price{font-family:var(--D);font-size:1.1rem;font-weight:700;color:var(--white);letter-spacing:-0.01em}
.s-cta{font-family:var(--B);font-size:0.65rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--green-bright);text-decoration:none;transition:color 0.2s}
.s-cta:hover{color:#a0dfa0}

.about{background:#ffffff;display:grid;grid-template-columns:1fr 1fr;min-height:85vh;border-top:1px solid var(--border-light)}
.ab-img{position:relative;overflow:hidden;background:#ffffff}
.ab-img img{width:100%;height:100%;object-fit:cover;object-position:center 15%;display:block;opacity:1}
.ab-bar{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--green)}
.ab-c{padding:6rem 4rem;display:flex;flex-direction:column;justify-content:center;background:#ffffff}
.ab-c h2.D{font-size:clamp(1.6rem,2.4vw,2.2rem);font-weight:700;letter-spacing:-0.02em;line-height:1.15}
.ab-body{font-family:var(--B);font-size:0.925rem;font-weight:300;line-height:1.8;color:#3a3a37;margin:2rem 0;max-width:50ch}
.ab-body p+p{margin-top:1.25rem}
.ab-body strong{font-weight:500;color:var(--dark)}
.ab-creds{margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid var(--border-light);display:grid;gap:0.75rem}
.cred{font-family:var(--B);font-size:0.8rem;font-weight:500;color:#4a4a46;display:flex;align-items:center;gap:0.75rem;letter-spacing:0.02em}
.cred::before{content:'';width:24px;height:1px;background:var(--green-bright);flex-shrink:0}

/* CERTIFICATION BADGES */
.badges{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border-light);display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}
.badge-img{width:110px;height:auto;opacity:0.9;transition:opacity 0.2s,transform 0.2s}.badge-img:hover{opacity:1;transform:translateY(-2px)}
.badge-img:hover{opacity:1}

.method{background:var(--dark);padding:7rem 3rem}
.method-in{max-width:1200px;margin:0 auto}
.method-top{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;margin-bottom:5rem;padding-bottom:4rem;border-bottom:1px solid var(--border);align-items:end}
.m-intro{font-family:var(--B);font-size:0.9rem;font-weight:300;line-height:1.8;color:var(--dim)}
.m-grid{display:flex;flex-direction:column;border:1px solid var(--border)}
.m-item{display:grid;grid-template-columns:80px 1fr;align-items:start;gap:2rem;padding:2.5rem;border-bottom:1px solid var(--border);transition:background 0.25s}
.m-item:last-child{border-bottom:none}
.m-item:hover{background:rgba(255,255,255,0.025)}
.m-num{font-family:var(--D);font-size:2.5rem;font-weight:800;letter-spacing:-0.04em;color:var(--green-bright);opacity:0.25;line-height:1;flex-shrink:0}
.m-item-body{}
.m-title{font-family:var(--D);font-size:1.1rem;font-weight:700;letter-spacing:-0.01em;text-transform:uppercase;color:var(--white);margin-bottom:0.75rem}
.m-body{font-family:var(--B);font-size:0.82rem;font-weight:300;line-height:1.75;color:var(--dim)}

.process{background:var(--black);padding:7rem 3rem}
.proc-in{max-width:1200px;margin:0 auto}
.proc-hd{margin-bottom:5rem}
.proc-steps{display:grid;grid-template-columns:repeat(3,1fr);position:relative}
.proc-steps::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,var(--green) 0%,transparent 100%);opacity:0.3}
.p-step{padding:3rem 0;border-right:1px solid var(--border)}
.p-step:last-child{border-right:none;padding-right:0}
.p-step:not(:first-child){padding-left:3rem}
.p-step:not(:last-child){padding-right:3rem}
.st-bg{font-family:var(--D);font-size:3.5rem;font-weight:800;color:rgba(255,255,255,0.04);line-height:1;margin-bottom:1.5rem;letter-spacing:-0.04em}
.st-lbl{font-family:var(--B);font-size:0.6rem;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--green-bright);margin-bottom:0.5rem}
.st-ttl{font-family:var(--D);font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:-0.01em;color:var(--white);margin-bottom:1rem}
.st-body{font-family:var(--B);font-size:0.82rem;font-weight:300;line-height:1.75;color:var(--dim)}

.testis{background:var(--white);padding:7rem 3rem;border-top:1px solid var(--border-light)}
.testi-in{max-width:1200px;margin:0 auto}
.testi-hd{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4rem;padding-bottom:3rem;border-bottom:1px solid var(--border-light)}
.testi-note{font-family:var(--B);font-size:0.8rem;font-weight:300;color:#8a8a86;max-width:32ch;text-align:right;line-height:1.6}
.testi-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:1px;background:var(--border-light)}
.testi{background:var(--white);padding:3rem}
.testi-mk{font-family:var(--D);font-size:3rem;font-weight:800;color:var(--green);opacity:0.2;line-height:1;margin-bottom:1rem}
.testi-txt{font-family:var(--B);font-size:0.9rem;font-weight:300;line-height:1.8;color:#3a3a37;margin-bottom:2rem;font-style:italic}
.testi-au{padding-top:1.25rem;border-top:1px solid var(--border-light)}
.testi-nm{font-family:var(--D);font-size:0.75rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--dark)}
.testi-rl{font-family:var(--B);font-size:0.7rem;font-weight:300;color:#8a8a86;margin-top:0.2rem}

.clients{background:var(--off-black);padding:2.5rem 3rem;border-top:1px solid var(--border)}
.cli-in{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:3rem}
.cli-lbl{font-family:var(--B);font-size:0.6rem;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--faint);white-space:nowrap;flex-shrink:0}
.cli-row{display:flex;gap:3.5rem;align-items:center;flex:1;flex-wrap:wrap}
.cli-nm{font-family:var(--D);font-size:0.85rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:rgba(248,247,244,0.15)}

/* CTA lighter green, no watermark */
.cta{background:var(--green-cta);padding:5rem 3rem;text-align:left;position:relative;overflow:hidden}
.cta::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E");pointer-events:none;opacity:0.5}
.cta-in{position:relative;z-index:1;max-width:1200px;margin:0 auto}
.cta-lbl{font-family:var(--B);font-size:0.62rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:rgba(0,0,0,0.45);margin-bottom:1.25rem}
.cta h2{font-family:var(--D);font-size:clamp(2rem,4vw,3.75rem);font-weight:800;line-height:1;letter-spacing:-0.03em;text-transform:uppercase;color:var(--black);margin-bottom:2.5rem;max-width:10ch}
.btn-dk{font-family:var(--B);font-size:0.7rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--white);background:var(--black);padding:1.1rem 2.5rem;text-decoration:none;display:inline-block;transition:background 0.2s,transform 0.15s}
.btn-dk:hover{background:var(--dark);}

.contact{background:var(--off-black);display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border)}
.con-l{padding:6rem 3.5rem;border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:center}
.con-body{font-family:var(--B);font-size:0.9rem;font-weight:300;line-height:1.8;color:var(--dim);margin:1.75rem 0 3rem;max-width:42ch}
.con-links{display:flex;flex-direction:column;gap:1rem}
.con-link{display:flex;align-items:center;gap:1rem;font-family:var(--B);font-size:0.82rem;font-weight:300;color:var(--dim);text-decoration:none;transition:color 0.2s}
.con-link:hover{color:var(--green-bright)}
.cl-ico{width:34px;height:34px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:0.7rem;color:var(--faint);flex-shrink:0;font-family:var(--D);font-weight:700}
.con-r{padding:6rem 3.5rem;display:flex;flex-direction:column;justify-content:center}
.con-r h3{font-family:var(--D);font-size:1.8rem;font-weight:800;text-transform:uppercase;letter-spacing:-0.03em;line-height:1;color:var(--white);margin-bottom:0.75rem}
.con-r>p{font-family:var(--B);font-size:0.8rem;font-weight:300;color:var(--faint);margin-bottom:2.5rem}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:1px}
.f-grp{display:flex;flex-direction:column;margin-bottom:1px}
.f-grp input,.f-grp select,.f-grp textarea{font-family:var(--B);font-size:0.82rem;font-weight:300;color:var(--white);background:rgba(255,255,255,0.04);border:1px solid var(--border);padding:1rem 1.25rem;outline:none;transition:border-color 0.2s,background 0.2s;-webkit-appearance:none;appearance:none;border-radius:0}
.f-grp select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2372c96a' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.25rem center;padding-right:3rem;cursor:pointer}
.f-grp input::placeholder,.f-grp textarea::placeholder{color:var(--faint)}
.f-grp input:focus,.f-grp select:focus,.f-grp textarea:focus{border-color:var(--green-bright);background:rgba(114,201,106,0.06);box-shadow:0 0 0 3px rgba(114,201,106,0.1);outline:none}
.f-grp select option{background:var(--dark);color:var(--white)}
.f-grp textarea{resize:vertical;min-height:110px}
.f-sub{font-family:var(--B);font-size:0.7rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--black);background:var(--green-cta);border:none;padding:1.15rem;cursor:pointer;transition:background 0.2s,transform 0.15s;width:100%;margin-top:1px}
.f-sub:hover{background:#8fd489;}
.f-status{font-family:var(--B);font-size:0.78rem;font-weight:400;margin-top:1rem;color:var(--dim);min-height:1.2em}
.f-status.ok{color:var(--green-bright)}
.f-status.err{color:#e07a6a}

footer{background:var(--black);padding:2rem 3rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border)}
.fl{font-family:var(--D);font-size:0.85rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:rgba(248,247,244,0.3)}
.fl span{color:var(--green-bright)}
.fc{font-family:var(--B);font-size:0.68rem;color:rgba(248,247,244,0.2);letter-spacing:0.04em}
.fn{display:flex;gap:2rem}
.fn a{font-family:var(--B);font-size:0.65rem;font-weight:400;letter-spacing:0.12em;text-transform:uppercase;color:rgba(248,247,244,0.25);text-decoration:none;transition:color 0.2s}
.fn a:hover{color:var(--green-bright)}

@media (prefers-reduced-motion:reduce){
  .ticker-t{animation:none}
  .avail::before{animation:none}
  *{transition-duration:0.01ms!important}
}

/* HAMBURGER + MOBILE MENU */
.h-right{display:flex;align-items:center;gap:1rem}
.hbg{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:4px;width:36px;height:36px}
.hbg span{display:block;height:1.5px;background:var(--white);transition:transform 0.25s,opacity 0.25s;transform-origin:center}
body.menu-open .hbg span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
body.menu-open .hbg span:nth-child(2){opacity:0}
body.menu-open .hbg span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mob-menu{display:none;position:fixed;inset:64px 0 0 0;z-index:190;background:rgba(10,10,10,0.98);backdrop-filter:blur(20px);flex-direction:column;align-items:flex-start;padding:3rem 1.5rem;gap:0}
.mob-menu a{font-family:var(--D);font-size:1.6rem;font-weight:700;letter-spacing:-0.02em;text-transform:uppercase;color:var(--dim);text-decoration:none;padding:1rem 0;border-bottom:1px solid var(--border);width:100%;transition:color 0.2s}
.mob-menu a:hover{color:var(--white)}
.mob-menu .mob-cta{font-family:var(--B);font-size:0.75rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--black);background:var(--green-cta);padding:1rem 2rem;text-decoration:none;display:inline-block;border:none;margin-top:2rem;width:auto}
body.menu-open .mob-menu{display:flex}
body.menu-open{overflow:hidden}


/* CASE STUDY */
.case-study{background:var(--off-black);border:1px solid var(--border);margin-bottom:4rem}
.cs-header{padding:3rem 3rem 2rem;border-bottom:1px solid var(--border)}
.cs-tag{font-family:var(--B);font-size:0.62rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--green-bright);display:block;margin-bottom:1rem}
.cs-title{font-family:var(--D);font-size:1.5rem;font-weight:700;letter-spacing:-0.02em;color:var(--white);line-height:1.2;margin-bottom:0.75rem}
.cs-sub{font-family:var(--B);font-size:0.875rem;font-weight:300;color:var(--dim);line-height:1.7}
.cs-body{padding:2.5rem 3rem;border-bottom:1px solid var(--border)}
.cs-body p{font-family:var(--B);font-size:0.875rem;font-weight:300;line-height:1.8;color:var(--dim)}
.cs-body p+p{margin-top:1rem}
.cs-outcomes{padding:2.5rem 3rem;border-bottom:1px solid var(--border)}
.cs-outcomes-label{font-family:var(--B);font-size:0.62rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--green-bright);margin-bottom:2rem;display:block}
.cs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.cs-item{padding:1.5rem;border:1px solid var(--border);background:rgba(255,255,255,0.02)}
.cs-num{font-family:var(--D);font-size:0.7rem;font-weight:700;letter-spacing:0.15em;color:var(--green-bright);display:block;margin-bottom:0.75rem}
.cs-item h4{font-family:var(--D);font-size:0.95rem;font-weight:700;color:var(--white);margin-bottom:0.5rem;letter-spacing:-0.01em}
.cs-item p{font-family:var(--B);font-size:0.78rem;font-weight:300;line-height:1.7;color:var(--dim)}
.cs-footer{padding:2.5rem 3rem}
.cs-insight{font-family:var(--D);font-size:1rem;font-style:italic;font-weight:400;color:rgba(248,247,244,0.65);line-height:1.6;margin-bottom:1rem;display:block}
.cs-credit{font-family:var(--B);font-size:0.7rem;font-weight:400;letter-spacing:0.12em;text-transform:uppercase;color:var(--green-bright)}
.testi-sub-hd{margin-top:4rem;margin-bottom:2rem}

/* Mid-width: giant headline can't share a row with the photo — stack instead of squeezing the image to a sliver */
@media(max-width:1160px) and (min-width:861px){
  .hero{grid-template-columns:1fr}
  .hero-l{padding-top:9rem}
  .hero-r{height:55vw;max-height:70vh}
  .hero-bar{right:0}
}

@media(max-width:860px){
  *{box-sizing:border-box}
  html,body{overflow-x:hidden;width:100%}

  header{padding:0 1rem;height:56px;overflow:hidden;width:100%}
  .logo{font-size:0.85rem;white-space:nowrap}
  .hn{display:none!important}
  .hcta{display:none!important}
  .hbg{display:flex}
  .mob-menu{top:56px}
  .h-right{gap:0.5rem;flex-shrink:0}

  .hero{grid-template-columns:1fr;min-height:100dvh;overflow:hidden}
  .hero-l{padding:5rem 1.25rem 3rem;justify-content:flex-end;min-width:0;overflow:hidden}
  .word-desk{display:none}
  .word-mob{display:inline}
  .hero-h{font-size:clamp(2.2rem,10vw,3.2rem);line-height:0.97;overflow-wrap:break-word;word-break:break-word;hyphens:auto;-webkit-hyphens:auto}
  .hero-sub{font-size:0.85rem;max-width:100%;overflow-wrap:break-word;word-break:break-word}
  .hero-acts{flex-direction:column;align-items:flex-start;gap:0.75rem}
  .btn-g,.btn-gh{width:100%;text-align:center;padding:0.9rem 1.5rem}
  .hero-r{height:50vw}

  .stmt{padding:3.5rem 1.25rem}
  .stmt-in{grid-template-columns:1fr;gap:1.5rem}
  .stmt-r p.big{font-size:1.3rem;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
  .stmt-r p.sub{font-size:0.85rem}

  .svcs{padding:3.5rem 1.25rem}
  .svcs-hd{grid-template-columns:1fr;gap:1.5rem}
  h2.D{font-size:clamp(1.7rem,7.5vw,2.6rem);overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
  .svcs-note{font-size:0.82rem}
  .svc-grid{grid-template-columns:1fr}
  .svc{border-right:none;border-bottom:1px solid var(--border);padding:2rem 1.25rem}
  .s-name{font-size:1.2rem}
  .s-desc{font-size:0.82rem}

  .about{grid-template-columns:1fr}
  .ab-img{height:80vw}
  .ab-img img{object-position:center 10%}
  .ab-c{padding:3rem 1.25rem}
  .ab-c h2.D{font-size:clamp(1.4rem,6vw,1.9rem)}

  .method{padding:3.5rem 1.25rem}
  .method-top{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2.5rem;padding-bottom:2.5rem}
  .m-intro{font-size:0.85rem}
  .m-item{padding:1.75rem 1.25rem;grid-template-columns:56px 1fr;gap:1.25rem}
  .m-num{font-size:1.8rem}
  .m-title{font-size:1rem}

  .process{padding:3.5rem 1.25rem}
  .proc-hd{margin-bottom:3rem}
  .proc-steps{grid-template-columns:1fr}
  .p-step{border-right:none;border-bottom:1px solid var(--border);padding:2rem 0!important}
  .st-bg{font-size:2.5rem}

  .testis{padding:3.5rem 1.25rem}
  .testi-hd{flex-direction:column;align-items:flex-start;gap:1rem}
  .testi-note{text-align:left;max-width:none;font-size:0.78rem}
  .testi-grid{grid-template-columns:1fr}
  .testi{padding:2rem 1.25rem}
  .case-study .cs-header,.case-study .cs-body,.case-study .cs-outcomes,.case-study .cs-footer{padding:1.5rem 1.25rem}
  .cs-grid{grid-template-columns:1fr}
  .cs-title{font-size:1.15rem}

  .cta{padding:3.5rem 1.25rem}
  .cta h2{font-size:clamp(1.7rem,7.5vw,2.6rem);overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}

  .contact{grid-template-columns:1fr}
  .con-l{padding:3rem 1.25rem;border-right:none;border-bottom:1px solid var(--border)}
  .con-r{padding:3rem 1.25rem}
  .con-r h3{font-size:1.1rem}
  .f-row{grid-template-columns:1fr}
  .f-grp input,.f-grp select,.f-grp textarea{font-size:16px}

  footer{flex-direction:column;gap:1rem;padding:1.5rem 1.25rem;text-align:center}
  .fn{flex-wrap:wrap;justify-content:center;gap:1rem}

  .badges{gap:1rem}
  .badge-img{width:80px}

  .clients{padding:2rem 1.25rem}
  .cli-in{flex-direction:column;align-items:flex-start;gap:1.25rem}
  .cli-row{gap:1.5rem}
  .cli-nm{font-size:0.75rem}

  .cta{text-align:left}
  .cta h2{max-width:none}

  .testi-mk{font-size:2rem}
  .testi-txt{font-size:0.85rem}

  .con-r h3{font-size:1.3rem}
}
