/* ---------- hero ---------- */
  .hero{padding:84px 0 70px;overflow:hidden;}
  .kicker{display:inline-block;background:var(--ink);color:var(--paper);font-weight:800;font-size:13px;letter-spacing:.18em;text-transform:uppercase;padding:7px 14px;margin-bottom:28px;transform:rotate(-1.2deg);}
  .hero h1{font-size:clamp(3rem,9vw,7.2rem);max-width:14ch;}
  .hero h1 .hl em{font-style:normal;background-image:linear-gradient(to top, var(--spark) 34%, transparent 34%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .06em;}
  .hero p.lede{font-size:clamp(1.1rem,2vw,1.4rem);max-width:44ch;margin:34px 0 40px;font-weight:500;}
  .hero-cta{display:flex;gap:18px;flex-wrap:wrap;align-items:center;}
  .scribble{color:var(--moss);font-weight:700;font-size:15px;}

  /* ---------- stats band ---------- */
  .stats{background:var(--forest);color:var(--paper);border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);}
  .stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
  .stat{padding:44px 26px;border-left:2px solid rgba(246,243,236,.25);}
  .stat:first-child{border-left:none;}
  .stat b{display:block;font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);color:var(--spark);line-height:1;margin-bottom:10px;}
  .stat span{font-size:14.5px;opacity:.92;display:block;max-width:24ch;}
  @media(max-width:860px){.stats .wrap{grid-template-columns:1fr 1fr}.stat{border-left:none;border-top:2px solid rgba(246,243,236,.25)}}

  /* ---------- section headers ---------- */
  .sec{padding:96px 0;}
  .sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:54px;flex-wrap:wrap;}
  .sec-head h2{font-size:clamp(2.2rem,5vw,3.6rem);}
  .sec-head .tag{font-weight:800;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--clay);}

  /* ---------- services ---------- */
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .svc{border:3px solid var(--ink);background:#fff;padding:30px 26px 34px;box-shadow:7px 7px 0 var(--ink);transition:transform .12s,box-shadow .12s;}
  .svc:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--clay);}
  .svc .num{font-family:var(--font-display);font-size:14px;color:var(--clay);letter-spacing:.1em;}
  .svc h3{font-size:1.35rem;margin:12px 0 12px;}
  .svc p{font-size:15px;}
  @media(max-width:900px){.svc-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:620px){.svc-grid{grid-template-columns:1fr}}

  /* ---------- work ---------- */
  .work{background:var(--ink);color:var(--paper);}
  .work .sec-head .tag{color:var(--spark);}
  .case{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;padding:44px 0;border-top:2px solid rgba(246,243,236,.22);align-items:center;}
  .case:first-of-type{border-top:none;}
  .case .visual{aspect-ratio:16/10;border:3px solid var(--paper);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:clamp(1.4rem,3vw,2.2rem);text-align:center;padding:20px;}
  .v-clf{background:repeating-linear-gradient(-45deg,var(--forest),var(--forest) 26px,var(--moss) 26px,var(--moss) 52px);}
  .v-ken{background:radial-gradient(circle at 30% 30%,var(--clay),#c23a12 70%);}
  .v-mob{background:linear-gradient(160deg,#2a4d8f,#16294e);}
  .v-team{background:linear-gradient(160deg,#5a2a10,#a53c12);}
  .case .visual span{background:var(--ink);padding:10px 18px;transform:rotate(-1.5deg);box-shadow:4px 4px 0 var(--spark);}
  .case .visual.has-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .case .visual.has-cover span{position:relative;z-index:1;}
  .case h3{font-size:clamp(1.6rem,3.4vw,2.4rem);margin-bottom:14px;}
  .case .meta{font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--spark);margin-bottom:14px;}
  .case p{opacity:.94;max-width:52ch;}
  .case .result{margin-top:18px;display:flex;gap:26px;flex-wrap:wrap;}
  .case .result div b{display:block;font-family:var(--font-display);font-size:1.6rem;color:var(--spark);}
  .case .result div span{font-size:13px;opacity:.85;}
  .case a.more{display:inline-block;margin-top:20px;font-weight:800;color:var(--spark);text-decoration:none;border-bottom:3px solid var(--spark);}
  @media(max-width:860px){.case{grid-template-columns:1fr;gap:26px}}

  /* ---------- products ---------- */
  .prod-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
  .prod{border:3px solid var(--ink);padding:38px 34px 42px;box-shadow:8px 8px 0 var(--ink);position:relative;background:#fff;}
  .prod.alt{background:var(--sky);}
  .prod .pill{position:absolute;top:-16px;left:26px;background:var(--clay);color:#fff;font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:6px 14px;transform:rotate(-2deg);}
  .prod h3{font-size:1.9rem;margin-bottom:6px;}
  .prod .sub{font-weight:700;color:var(--moss);margin-bottom:14px;}
  .prod p{font-size:15.5px;margin-bottom:12px;}
  .prod ul{list-style:none;margin:14px 0 22px;}
  .prod li{padding-left:26px;position:relative;margin-bottom:8px;font-size:15px;}
  .prod li::before{content:"→";position:absolute;left:0;font-weight:900;color:var(--clay);}
  @media(max-width:820px){.prod-grid{grid-template-columns:1fr}}

  /* ---------- ethos ---------- */
  .ethos{background:var(--spark);border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);}
  .ethos .sec-head .tag{color:var(--forest);}
  .ethos-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:start;}
  .ethos h2{font-size:clamp(2rem,4.6vw,3.4rem);max-width:18ch;}
  .ethos .big-p{font-size:1.15rem;font-weight:500;margin-top:26px;max-width:56ch;}
  .no-list{margin-top:26px;}
  .no-list li{list-style:none;font-weight:800;font-size:1.05rem;padding:12px 0;border-top:2px solid var(--ink);}
  .no-list li::before{content:"✓  ";color:var(--forest);}
  @media(max-width:820px){.ethos-grid{grid-template-columns:1fr}}

  /* ---------- team ---------- */
  .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .member{border:3px solid var(--ink);background:#fff;box-shadow:7px 7px 0 var(--ink);}
  .member .ph{aspect-ratio:1/1;display:flex;align-items:flex-end;justify-content:center;font-family:var(--font-display);font-size:4.6rem;color:var(--paper);}
  .ph-a{background:var(--forest);}
  .ph-b{background:var(--clay);}
  .ph-c{background:#2a4d8f;}
  .member .ph.ph-img{padding:0;overflow:hidden;}
  .member .ph img{width:100%;height:100%;object-fit:cover;display:block;}
  .member .info{padding:20px 22px 26px;border-top:3px solid var(--ink);}
  .member h3{font-size:1.2rem;}
  .member .role{color:var(--moss);font-weight:700;font-size:14px;margin:4px 0 10px;}
  .member p{font-size:14.5px;}
  @media(max-width:820px){.team-grid{grid-template-columns:1fr}}

  /* ---------- CTA ---------- */
  .cta{background:var(--ink);color:var(--paper);text-align:center;padding:110px 24px;}
  .cta h2{font-size:clamp(2.6rem,7vw,5.4rem);max-width:16ch;margin:0 auto 26px;}
  .cta h2 em{font-style:normal;color:var(--spark);}
  .cta p{max-width:52ch;margin:0 auto 40px;opacity:.92;font-size:1.1rem;}

  
