:root{
  --ink:#02000D;
  --blue:#07203F;
  --paper:#EBDED4;
  --surface:#FBF7F2;
  --cream:#F4ECE6;
  --accent:#A7654F;
  --gold:#C79070;
  --sage:#5D7668;
  --mid:#554F50;
  --hairline:rgba(7,32,63,.15);
  --serif:'DM Serif Display',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;
  --hand:'Caveat',cursive;
}
*{margin:0;padding:0;box-sizing:border-box}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{
  font-family:var(--sans);
  color:var(--blue);
  background:var(--surface);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{ /* paper grain */
  content:"";position:fixed;inset:0;pointer-events:none;z-index:2000;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .03 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");
}
::selection{background:var(--gold);color:var(--ink)}
a{color:inherit}
img,svg,canvas{display:block}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.015em}
button{font-family:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
.wrap{max-width:1300px;margin:0 auto;padding:0 clamp(24px,4.5vw,64px)}

/* ============ shared ============ */
.meta{
  font-size:11.5px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);
  display:flex;align-items:center;gap:14px;
}
.meta::before{content:"";width:36px;height:1.5px;background:currentColor;flex:none}
.hand{font-family:var(--hand)}
.btn{
  display:inline-flex;align-items:center;gap:12px;position:relative;
  font-weight:600;font-size:15px;
  padding:18px 34px;border:1.5px solid var(--blue);border-radius:3px;
  background:var(--blue);color:var(--surface);text-decoration:none;
  overflow:hidden;will-change:transform;
}
.btn span{position:relative;z-index:2;display:inline-flex;align-items:center;gap:10px}
.btn::after{
  content:"";position:absolute;inset:-2px;background:var(--accent);
  transform:translateY(101%);transition:transform .5s cubic-bezier(.16,1,.3,1);z-index:1;border-radius:50% 50% 0 0;
}
.btn:hover::after{transform:translateY(0);border-radius:0}
.btn.ghost{background:transparent;color:var(--blue)}
.btn.ghost::after{background:var(--blue)}
.btn.ghost:hover{color:var(--surface)}
.btn.ghost span{transition:color .35s}
.flag{display:inline-block;width:19px;height:13px;border:1px solid rgba(2,0,13,.25);background:
  linear-gradient(45deg,transparent 43%,#B10021 43%,#B10021 57%,transparent 57%),
  linear-gradient(-45deg,transparent 43%,#B10021 43%,#B10021 57%,transparent 57%),#fff;
  border-radius:1px;flex:none}
.sl{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.sl > span{display:block;transform:none;will-change:transform}
.rv{opacity:1;transform:none;will-change:transform,opacity}

/* ============ nav ============ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:900;
  background:rgba(7,32,63,.97);
  box-shadow:0 1px 0 rgba(251,247,242,.12);
  transition:background .45s,box-shadow .45s,backdrop-filter .45s;
}
.nav.scrolled{background:rgba(7,32,63,.92);backdrop-filter:blur(16px);box-shadow:0 1px 0 rgba(251,247,242,.16)}
.nav-inner{max-width:1300px;margin:0 auto;padding:18px clamp(24px,4.5vw,64px);display:flex;align-items:center;justify-content:space-between;gap:24px}
.wordmark{font-family:var(--hand);font-weight:700;font-size:33px;line-height:1;text-decoration:none;display:flex;align-items:center;gap:11px;color:var(--surface)}
.nav-links{display:flex;align-items:center;gap:clamp(18px,3vw,38px);margin-left:auto}
.nav-links a:not(.btn){
  font-size:14px;font-weight:600;text-decoration:none;color:rgba(251,247,242,.72);position:relative;
  transition:color .3s;
}
.nav-links a:not(.btn):hover,.nav-links a:not(.btn).active{color:var(--surface)}
.nav-links a:not(.btn)::after{
  content:"";position:absolute;left:0;bottom:-5px;height:2px;width:100%;background:var(--gold);
  transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.16,1,.3,1);
}
.nav-links a:not(.btn):hover::after,.nav-links a:not(.btn).active::after{transform:scaleX(1);transform-origin:left}
.nav .btn{padding:12px 24px;font-size:13.5px;background:var(--surface);border-color:var(--surface);color:var(--blue)}
.nav .btn:hover{color:var(--surface)}
.nav .btn span{transition:color .35s}
.nav .flag{border-color:rgba(251,247,242,.55)}
@media(max-width:560px){.nav-links a:not(.btn){display:none}}

/* ============ hero with envelope story ============ */
.hero-pin{position:relative}
.hero{
  min-height:100svh;position:relative;overflow:hidden;
  display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:24px;
  padding:120px 0 30px;
}
.hero > .hero-copy{padding-left:clamp(24px,4.5vw,64px);position:relative;z-index:3}
#inkHero{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0}
.hero-meta{margin-bottom:clamp(24px,3.5vh,40px);opacity:1;transform:none}
.hero h1{font-size:clamp(46px,5.8vw,92px);color:var(--blue);max-width:13ch}
.correction{position:relative;display:inline-block;white-space:nowrap}
.correction .struck{color:rgba(7,32,63,.4);position:relative;display:inline-block}
.strike-svg{position:absolute;left:-3%;top:52%;width:106%;height:.28em;overflow:visible;pointer-events:none}
.strike-svg path{stroke:var(--accent);stroke-width:5.5;fill:none;stroke-linecap:round;stroke-dasharray:145;stroke-dashoffset:0}
.scrawl{
  position:absolute;left:4%;bottom:90%;
  font-family:var(--hand);font-weight:700;
  font-size:.6em;line-height:1;color:var(--accent);
  transform:rotate(-3.5deg);transform-origin:left bottom;
  white-space:nowrap;
  clip-path:inset(-25% -8% -25% 0);
}
.caret{position:absolute;left:46%;top:98%;width:.32em;height:.28em;pointer-events:none}
.caret path{stroke:var(--accent);stroke-width:5;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:72;stroke-dashoffset:0}
.hero-sub{margin-top:clamp(28px,4vh,48px);opacity:1;transform:none}
.hero-sub p{font-size:clamp(16px,1.35vw,18.5px);color:var(--mid);max-width:42ch}
.hero-sub p b{color:var(--blue);font-weight:600}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero-scrollcue{
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:3;
  font-size:10.5px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--mid);
  display:flex;flex-direction:column;align-items:center;gap:10px;opacity:.85;white-space:nowrap;
}
.hero-scrollcue::after{content:"";width:1.5px;height:38px;background:linear-gradient(var(--accent),transparent)}

/* --- the envelope scene --- */
.stage{position:relative;z-index:2;height:100%;display:flex;align-items:center;justify-content:center;opacity:1}
.scene{position:relative;width:410px;height:600px;flex:none;perspective:1200px}
.note-card{
  position:absolute;left:50%;top:10px;width:330px;height:392px;
  transform:translateX(-50%);
  background:linear-gradient(175deg,#FFFDFA,var(--cream));
  border:1px solid rgba(7,32,63,.12);
  border-radius:5px;
  box-shadow:0 30px 60px -26px rgba(7,32,63,.42),0 2px 6px rgba(7,32,63,.08);
  padding:32px 30px;
  z-index:3;transform-origin:center top;backface-visibility:hidden;will-change:transform,opacity;
}
.note-card-main{
  top:-320px;
}
.card-clip{
  position:absolute;
  inset:0 0 12px;
  z-index:7;
  overflow:visible;
  pointer-events:none;
}
.note-card::before{content:"";position:absolute;inset:10px;border:1px solid rgba(167,101,79,.22);border-radius:3px;pointer-events:none}
.note-card::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:-7px;
  height:7px;
  border-radius:0 0 5px 5px;
  background:linear-gradient(180deg,rgba(7,32,63,.08),rgba(7,32,63,0));
  opacity:.55;
  pointer-events:none;
}
.card-mono{font-family:var(--serif);font-size:14px;letter-spacing:.3em;color:var(--accent);text-align:center;margin-bottom:18px}
.hline{
  display:block;font-family:var(--hand);font-size:24px;font-weight:500;line-height:1.6;color:#22384e;
  clip-path:inset(-10% 100% -10% 0);white-space:nowrap;
}
.hline.sig{font-size:29px;color:var(--accent);margin-top:8px;font-weight:600}
.card-rule{height:1px;background:rgba(167,101,79,.25);margin:12px 0 14px}
.envelope{
  position:absolute;left:50%;bottom:24px;width:378px;height:246px;
  transform:translateX(-50%);opacity:1;
  transform-style:preserve-3d;perspective:1000px;will-change:transform,opacity;
  filter:drop-shadow(0 34px 46px rgba(7,32,63,.3));
}
.envelope::after {
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:-18px;
  height:34px;
  z-index:0;
  background:radial-gradient(ellipse at center, rgba(7,32,63,.28), transparent 68%);
  filter:blur(8px);
  opacity:.78;
  pointer-events:none;
}
.env-back{
  position:absolute;inset:0;z-index:1;border-radius:7px;overflow:visible;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.28));
  will-change:transform;
}
.env-front{
  position:absolute;inset:0;z-index:6;border-radius:7px;overflow:visible;
  filter:drop-shadow(0 -1px 0 rgba(255,255,255,.3));
  will-change:transform;
}
.env-front path,.env-back path,.env-flap path{vector-effect:non-scaling-stroke}
.env-flap{
  position:absolute;left:0;top:0;width:100%;height:50%;z-index:2;
  transform-origin:top center;transform:rotateX(180deg);
  overflow:visible;will-change:transform,filter;
  filter:drop-shadow(0 10px 18px rgba(7,32,63,.12));
}
.seal{
  position:absolute;z-index:10;left:50%;top:calc(50% - 36px);width:64px;height:64px;
  transform:translate(-50%,0) scale(1);border-radius:50%;
  background:radial-gradient(circle at 34% 30%,#C08363,var(--accent) 58%,#8C4F3C);
  box-shadow:inset 0 2px 5px rgba(255,255,255,.35),inset 0 -3px 6px rgba(2,0,13,.3),0 5px 12px rgba(2,0,13,.28);
  display:flex;align-items:center;justify-content:center;will-change:transform;
}
.seal::before{content:"";position:absolute;inset:7px;border-radius:50%;border:1.5px solid rgba(255,253,250,.4)}
.seal span{font-family:var(--hand);font-weight:700;font-size:33px;color:#FFF3EA;text-shadow:0 1px 2px rgba(2,0,13,.35)}
@media(max-width:1000px){
  .hero{grid-template-columns:1fr;align-content:start;padding-top:112px;gap:0}
  .hero > .hero-copy{padding:0 24px;text-align:center;display:flex;flex-direction:column;align-items:center}
  .hero-sub p{margin:0 auto}
  .hero-ctas{justify-content:center}
  .stage{height:492px;margin-top:56px;align-items:flex-start}
  .scene{height:600px;transform:scale(.82);transform-origin:top center}
}
@media(max-width:520px){
  .stage{height:408px;margin-top:48px}
  .scene{height:600px;transform:scale(.68)}
}

/* ============ sections ============ */
section.block{padding:clamp(100px,13vh,170px) 0;position:relative}
.sec-head{margin-bottom:clamp(48px,7vh,80px)}
.sec-head h2{font-size:clamp(38px,5.2vw,72px);margin-top:28px;max-width:15ch}
.sec-head .lede{margin-top:22px;color:var(--mid);font-size:17.5px;max-width:52ch}

/* how it works */
.how-list{border-top:1.5px solid var(--blue)}
.how-row{
  display:grid;grid-template-columns:150px 1fr 1.05fr;gap:clamp(24px,4vw,70px);
  padding:clamp(38px,5.5vh,58px) 0;border-bottom:1px solid var(--hairline);align-items:baseline;position:relative;
}
.how-row::before{
  content:"";position:absolute;inset:0;background:var(--cream);
  transform:scaleY(0);transform-origin:bottom;transition:transform .5s cubic-bezier(.16,1,.3,1);z-index:-1;
}
.how-row:hover::before{transform:scaleY(1);transform-origin:top}
.how-num{font-family:var(--serif);font-size:clamp(52px,6vw,90px);line-height:1;-webkit-text-stroke:1.5px var(--accent);color:transparent;will-change:transform}
.how-row h3{font-size:clamp(25px,2.6vw,38px)}
.how-row h3 .hand{color:var(--sage);font-size:.82em;font-weight:600}
.how-row p{color:var(--mid);font-size:16px;max-width:46ch}
.how-row p b{color:var(--blue);font-weight:600}
@media(max-width:960px){
  .how-row{grid-template-columns:80px 1fr;gap:20px}
  .how-row p{grid-column:2}
}

/* proof strip */
.proof{background:var(--blue);color:var(--surface);overflow:hidden;position:relative}
.proof .meta{color:var(--gold)}
.proof h2{font-size:clamp(38px,5.2vw,72px);margin-top:28px;max-width:14ch}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(251,247,242,.25);margin-top:clamp(48px,7vh,80px)}
.stat{padding:clamp(34px,5vh,52px) clamp(18px,2.5vw,42px) 0 0;border-right:1px solid rgba(251,247,242,.15)}
.stat:last-child{border-right:none}
.stat + .stat{padding-left:clamp(18px,2.5vw,42px)}
.stat .num{font-family:var(--serif);font-size:clamp(60px,7vw,112px);line-height:.95;display:flex;align-items:baseline;letter-spacing:-.02em;color:var(--surface)}
.stat .suffix{font-size:.32em;color:var(--gold);margin-left:7px;font-family:var(--serif)}
.stat .label{margin-top:18px;color:rgba(251,247,242,.66);font-size:14.5px;max-width:24ch;line-height:1.5}
.stats-note{margin-top:34px;font-size:13px;color:rgba(251,247,242,.5);max-width:62ch}
@media(max-width:960px){
  .stats-row{grid-template-columns:1fr 1fr}
  .stat:nth-child(2){border-right:none}
  .stat:nth-child(n+3){border-top:1px solid rgba(251,247,242,.15);margin-top:34px}
}
@media(max-width:640px){
  .stats-row{grid-template-columns:1fr}
  .stat{border-right:none!important;border-top:1px solid rgba(251,247,242,.15);margin-top:0;padding-left:0!important}
  .stat:first-child{border-top:none}
}

/* industries teaser (home) */
.inds{border-top:1.5px solid var(--blue)}
.ind{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;
  padding:clamp(34px,5vh,50px) 0;border-bottom:1px solid var(--hairline);
  text-decoration:none;position:relative;
}
.ind::before{
  content:"";position:absolute;inset:0;background:var(--cream);
  transform:scaleY(0);transform-origin:bottom;transition:transform .5s cubic-bezier(.16,1,.3,1);z-index:-1;
}
.ind:hover::before{transform:scaleY(1);transform-origin:top}
.ind h3{font-size:clamp(28px,3.6vw,52px);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.ind:hover h3{transform:translateX(16px)}
.ind .hand{display:block;font-size:22px;color:var(--sage);font-weight:600;margin-top:6px}
.ind .go{
  font-family:var(--serif);font-size:clamp(26px,2.6vw,38px);color:var(--accent);
  transition:transform .45s cubic-bezier(.16,1,.3,1);
}
.ind:hover .go{transform:translateX(-10px)}

/* CTA banner */
.cta-banner{background:var(--cream);border-top:1px solid var(--hairline)}
.cta-banner .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.cta-banner h2{font-size:clamp(34px,4.6vw,62px);max-width:14ch}
.cta-banner .hand-note{font-family:var(--hand);font-size:26px;color:var(--accent);display:block;margin-top:14px;transform:rotate(-1.5deg)}

/* ============ page hero (subpages) ============ */
.page-hero{padding:190px 0 clamp(60px,8vh,90px);position:relative}
.page-hero h1{font-size:clamp(46px,6.4vw,96px);margin-top:28px;max-width:13ch}
.page-hero .lede{margin-top:24px;color:var(--mid);font-size:18px;max-width:54ch}

/* ledger (case studies page) */
.h2h{background:var(--cream)}
.ledger{border-top:1.5px solid var(--blue)}
.ledger-head,.ledger-row{display:grid;grid-template-columns:1.3fr 1.15fr 1fr 1fr 1fr;gap:clamp(12px,2vw,34px);align-items:center}
.ledger-head{padding:22px 0 16px;border-bottom:1px solid var(--hairline)}
.ledger-head span{font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--mid)}
.ledger-head .col-hero{color:var(--accent)}
.ledger-row{padding:clamp(22px,3vh,30px) 0;border-bottom:1px solid var(--hairline)}
.ledger-row .crit{font-family:var(--serif);font-size:clamp(19px,1.9vw,26px);color:var(--blue)}
.ledger-row .val{font-size:14.5px;color:var(--mid)}
.ledger-row .val.hero-val{font-family:var(--hand);font-weight:700;font-size:23px;color:var(--accent);transform:rotate(-1deg)}
.ledger-row .val.dim{opacity:.5}
.h2h-annotation{position:relative;display:inline-block;margin-top:32px;font-family:var(--hand);font-size:24px;font-weight:600;color:var(--accent);transform:rotate(-2deg)}
@media(max-width:960px){
  .ledger-head{display:none}
  .ledger-row{grid-template-columns:1fr;gap:10px;padding:26px 0}
  .ledger-row .val{display:flex;justify-content:space-between;gap:16px}
  .ledger-row .val::before{content:attr(data-col);font-weight:600;color:var(--mid);font-size:12px;letter-spacing:.1em;text-transform:uppercase;align-self:center}
  .ledger-row .val.hero-val{transform:none}
}

/* playbook rows */
.play{
  display:grid;grid-template-columns:minmax(200px,.9fr) 1.4fr 1fr;gap:clamp(28px,4vw,70px);
  padding:clamp(42px,6vh,66px) 0;border-top:1px solid var(--hairline);position:relative;
}
.play:first-of-type{border-top:1.5px solid var(--blue)}
.play::before{
  content:"";position:absolute;inset:0;background:var(--cream);
  transform:scaleY(0);transform-origin:bottom;transition:transform .5s cubic-bezier(.16,1,.3,1);z-index:-1;
}
.play:hover::before{transform:scaleY(1);transform-origin:top}
.play-tag{
  display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent);border:1.5px solid var(--accent);border-radius:3px;padding:5px 12px;
  transform:rotate(-2deg);margin-bottom:20px;background:var(--surface);
}
.play h3{font-size:clamp(28px,3.4vw,48px);line-height:1.05}
.play h3 .hand{display:block;font-size:.58em;color:var(--sage);font-weight:600;margin-top:8px}
.play h4{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);margin-bottom:16px}
.play ul{list-style:none;display:grid;gap:14px}
.play li{position:relative;padding-left:30px;font-size:16px;color:var(--mid)}
.play li::before{
  content:"";position:absolute;left:0;top:7px;width:14px;height:10px;
  border-left:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);
  transform:rotate(-50deg) skewX(-10deg);
}
.play li b,.play-why p b{color:var(--blue);font-weight:600}
.play-why p{font-size:15.5px;color:var(--mid)}
@media(max-width:960px){.play{grid-template-columns:1fr;gap:30px;padding:44px 0}}

/* ============ contact page ============ */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(48px,6.5vw,110px);align-items:center}
.contact-copy h2{font-size:clamp(38px,4.8vw,66px);margin-top:28px;max-width:12ch}
.contact-copy .lede{margin-top:22px;color:var(--mid);font-size:17px;max-width:40ch}
.contact-copy .hand-sign{font-family:var(--hand);font-size:30px;color:var(--accent);display:block;margin-top:34px;transform:rotate(-2deg)}
.contact-copy .email-line{margin-top:36px;font-size:15px;color:var(--mid)}
.contact-copy .email-line a{color:var(--blue);font-weight:600;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:5px}
.env-form{
  position:relative;background:linear-gradient(168deg,#F6EADD,var(--paper));
  border:1px solid rgba(7,32,63,.14);border-radius:8px;
  padding:clamp(32px,4.2vw,56px);
  box-shadow:0 60px 100px -44px rgba(7,32,63,.5),0 4px 12px rgba(7,32,63,.06);
  transform:rotate(-1deg);
}
.env-form::before{
  content:"";position:absolute;left:0;right:0;top:0;height:46px;border-radius:8px 8px 0 0;
  background:linear-gradient(115deg,rgba(7,32,63,.05) 0 50%,transparent 50%),linear-gradient(-115deg,rgba(7,32,63,.05) 0 50%,transparent 50%);
  pointer-events:none;
}
.env-form .form-stamp{
  position:absolute;top:24px;right:24px;width:64px;height:76px;background:#fff;padding:6px;transform:rotate(3deg);
  -webkit-mask:radial-gradient(circle 3.4px at 3.4px 3.4px,transparent 3.2px,#000 3.4px) -3.4px -3.4px/13px 13px;
          mask:radial-gradient(circle 3.4px at 3.4px 3.4px,transparent 3.2px,#000 3.4px) -3.4px -3.4px/13px 13px;
}
.env-form .form-stamp i{display:flex;flex-direction:column;gap:6px;width:100%;height:100%;border:1px solid rgba(7,32,63,.2);align-items:center;justify-content:center;background:#FFFDFA;font-style:normal}
.env-form .form-stamp i b{font-size:7.5px;letter-spacing:.14em;color:var(--blue)}
.env-to{font-family:var(--hand);font-size:23px;color:var(--mid);line-height:1.45;margin-bottom:32px}
.env-to b{color:var(--blue);font-weight:700;font-size:26px}
.efield{display:grid;grid-template-columns:82px 1fr;align-items:baseline;gap:14px;margin-bottom:8px}
.efield label{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mid)}
.efield input,.efield textarea{
  width:100%;border:none;border-bottom:1.5px solid rgba(7,32,63,.28);
  background:transparent;padding:10px 2px;
  font-family:var(--hand);font-size:24px;font-weight:600;color:var(--blue);
  transition:border-color .3s,background .3s;border-radius:0;
}
.efield input::placeholder,.efield textarea::placeholder{color:rgba(85,79,80,.38);font-weight:400}
.efield input:focus,.efield textarea:focus{outline:none;border-color:var(--accent);background:rgba(255,253,250,.5)}
.efield textarea{resize:vertical;min-height:80px;line-height:1.5;font-size:22px}
.env-form .btn{margin-top:28px;width:100%;justify-content:center}
.form-note{margin-top:16px;font-size:13px;color:var(--mid);opacity:.75;text-align:center}
.samp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.5vw,56px)}
.samp{border-top:1px solid var(--hairline);padding-top:26px}
.samp .hand{font-size:26px;color:var(--accent);display:block;margin-bottom:8px}
.samp h3{font-size:24px;margin-bottom:10px}
.samp p{color:var(--mid);font-size:15px}
@media(max-width:960px){
  .contact-grid{grid-template-columns:1fr;gap:60px}
  .samp-steps{grid-template-columns:1fr;gap:34px}
}
@media(max-width:640px){
  .efield{grid-template-columns:1fr;gap:4px}
  .env-form{transform:none}
}

/* ============ footer ============ */
footer{background:var(--ink);color:rgba(251,247,242,.6);padding:52px 0}
footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer .wordmark{color:var(--surface);font-size:28px}
footer p{font-size:13.5px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* ============ reduced motion ============ */
@media(prefers-reduced-motion:reduce){
  .rv,.hero-meta,.hero-sub,.hero-scrollcue,.stage{opacity:1!important;transform:none!important}
  .sl > span{transform:none!important}
  .scrawl{clip-path:none!important}
  .hline{clip-path:none!important}
  .strike-svg path,.caret path{stroke-dashoffset:0!important}
  .envelope{opacity:1!important;transform:translateX(-50%)!important}
  .env-flap{transform:none!important}
  .seal{transform:translate(-50%,0) scale(1)!important}
  #inkHero{opacity:.6!important}
}

/* ============ case study dossiers ============ */
.dossier{border-top:1.5px solid var(--blue);padding:clamp(52px,7vh,84px) 0}
.dossier + .dossier{border-top:1px solid var(--hairline)}
.dossier-head{display:flex;align-items:baseline;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:clamp(36px,5vh,54px)}
.dossier-head h2{font-size:clamp(34px,4.4vw,64px);max-width:15ch}
.dossier-head .hand{font-size:clamp(22px,2.2vw,28px);color:var(--sage);font-weight:600}
.case-kicker{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);border:1.5px solid rgba(167,101,79,.55);padding:5px 10px;border-radius:3px;margin-bottom:18px}
.d-label{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);margin-bottom:20px;display:flex;align-items:center;gap:12px}
.d-label::before{content:"";width:26px;height:1.5px;background:var(--gold)}
.d-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:clamp(32px,4.5vw,80px);align-items:start}
.case-grid{display:grid;grid-template-columns:minmax(260px,.82fr) 1.4fr;gap:clamp(32px,5vw,82px);align-items:start}
.case-card{position:sticky;top:110px;background:var(--cream);border:1px solid var(--hairline);border-radius:6px;padding:clamp(24px,3vw,34px)}
.case-list{list-style:none;display:grid;gap:20px}
.case-list li{display:grid;gap:6px;padding-bottom:18px;border-bottom:1px solid rgba(7,32,63,.12)}
.case-list li:last-child{padding-bottom:0;border-bottom:none}
.case-list b{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.case-list span{font-size:15px;color:var(--mid)}
.anon-note{margin-top:22px;padding-top:18px;border-top:1px solid rgba(7,32,63,.12);font-size:13px;line-height:1.6;color:var(--mid);font-style:italic}
.case-results{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:26px}
.metric-card{min-height:168px;background:var(--blue);color:var(--surface);border-radius:6px;padding:24px 22px;display:flex;flex-direction:column;justify-content:space-between}
.metric-card span{font-family:var(--serif);font-size:clamp(42px,4.8vw,68px);line-height:1;color:var(--paper)}
.metric-card span.long{font-size:clamp(32px,3.6vw,52px)}
.metric-card p{font-size:13.5px;line-height:1.45;color:rgba(251,247,242,.74)}
.case-plan{display:grid;grid-template-columns:.86fr 1.14fr;gap:18px;align-items:stretch}
.case-copy,.case-quote,.testimonial-card{background:var(--surface);border:1px solid var(--hairline);border-radius:6px;padding:clamp(22px,2.5vw,32px)}
.case-copy h3{font-size:clamp(24px,2.6vw,34px);margin-bottom:14px}
.case-copy p{font-size:15.5px;color:var(--mid)}
.case-quote span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);margin-bottom:16px}
.case-quote blockquote,.testimonial-card blockquote{font-family:var(--serif);font-size:clamp(22px,2vw,30px);line-height:1.15;color:var(--blue)}
.case-quote cite,.testimonial-card cite{display:block;margin-top:18px;font-size:13px;font-style:normal;color:var(--mid)}
.case-measure{margin-top:18px;background:var(--cream);border:1px solid var(--hairline);border-left:4px solid var(--accent);border-radius:6px;padding:clamp(24px,3vw,36px)}
.case-measure>span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);margin-bottom:10px}
.case-measure h3{font-size:clamp(25px,2.8vw,38px);max-width:24ch;margin-bottom:22px}
.kpi-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:22px}
.kpi-list p{font-size:14.5px;line-height:1.55;color:var(--mid);padding-top:14px;border-top:1px solid rgba(7,32,63,.14)}
.kpi-list b{display:block;color:var(--blue);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.case-measure>a,.source-links a{font-size:12px;font-weight:600;color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.source-links{display:flex;gap:12px 22px;flex-wrap:wrap}
.testimonial-panel{margin-top:clamp(62px,9vh,110px);padding-top:clamp(46px,7vh,72px);border-top:1.5px solid var(--blue)}
.sec-head.compact{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex-wrap:wrap;margin-bottom:32px}
.sec-head.compact h2{font-size:clamp(32px,4vw,56px);max-width:13ch}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.testimonial-card h3{font-size:clamp(22px,2.2vw,30px);margin-bottom:12px;color:var(--blue)}
.testimonial-card p{font-size:15px;line-height:1.65;color:var(--mid)}
.d-problem .bignum{font-family:var(--serif);font-size:clamp(48px,5vw,76px);line-height:1;color:var(--accent);display:block}
.d-problem .stat-item{padding:20px 0;border-bottom:1px solid var(--hairline)}
.d-problem .stat-item:first-of-type{border-top:1px solid var(--hairline)}
.d-problem .stat-item p{font-size:14.5px;color:var(--mid);margin-top:8px;max-width:34ch}
.d-campaign{border:1px solid var(--hairline);border-radius:6px;background:var(--surface);padding:clamp(24px,3vw,36px);margin-bottom:22px;position:relative}
.d-campaign .c-kicker{font-family:var(--hand);font-size:22px;font-weight:600;color:var(--accent);display:block;margin-bottom:6px}
.d-campaign h3{font-size:clamp(21px,2vw,26px);margin-bottom:16px}
.d-campaign dl{display:grid;grid-template-columns:92px 1fr;gap:8px 16px;font-size:14.5px}
.d-campaign dt{font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:11px;color:var(--sage);padding-top:3px}
.d-campaign dd{color:var(--mid)}
.d-campaign dd b{color:var(--blue);font-weight:600}
.mini-card{
  margin-top:20px;background:linear-gradient(175deg,#FFFDFA,var(--cream));
  border:1px solid rgba(7,32,63,.12);border-radius:4px;
  padding:20px 22px;position:relative;transform:rotate(-.6deg);
  box-shadow:0 14px 28px -16px rgba(7,32,63,.3);
}
.mini-card::before{content:"";position:absolute;inset:7px;border:1px solid rgba(167,101,79,.2);border-radius:2px;pointer-events:none}
.mini-card .mc-label{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.mini-card p{font-family:var(--hand);font-size:20px;font-weight:500;line-height:1.55;color:#22384e}
.d-measure{margin-top:26px;padding-top:22px;border-top:1px dashed rgba(7,32,63,.22)}
.d-measure h4{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);margin-bottom:12px}
.d-measure p{font-size:15px;color:var(--mid);max-width:60ch}
.d-measure p b{color:var(--blue);font-weight:600}
.sources{margin-top:clamp(50px,7vh,80px);padding-top:26px;border-top:1px solid var(--hairline);font-size:12.5px;color:var(--mid);opacity:.75;max-width:80ch;line-height:1.7}
@media(max-width:1100px){.case-results,.testimonial-grid{grid-template-columns:1fr}.case-plan{grid-template-columns:1fr}.metric-card{min-height:132px}}
@media(max-width:760px){.kpi-list{grid-template-columns:1fr}.case-measure{border-left-width:3px}}
@media(max-width:960px){.d-grid,.case-grid{grid-template-columns:1fr;gap:36px}.case-card{position:relative;top:auto}}
