/* ============================================================
   THE MARKETING DEPT. — shared stylesheet
   Editorial monochrome: warm paper · ink black · acid-yellow accent
   Display: Neue Haas Grotesk Display 95 Black (self-hosted)
   Labels: Space Mono · Body: Instrument Sans · B&W imagery + grain
   (CSS var names kept from earlier builds so page styles still resolve)
   ============================================================ */

@font-face{
  font-family:'Haas Display';
  src:url('../fonts/NeueHaasDisplay-35Thin.woff2') format('woff2');
  font-weight:300; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Haas Display';
  src:url('../fonts/NeueHaasDisplay-65Medium.woff2') format('woff2');
  font-weight:500; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Haas Display';
  src:url('../fonts/NeueHaasGroteskDisplay-95Black.woff2') format('woff2'),
      url('../fonts/NeueHaasGroteskDisplay-95Black-Trial.otf') format('opentype');
  font-weight:900; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Dreams On Paper';
  src:url('../fonts/DreamsOnPaper.woff2') format('woff2');
  font-weight:400; font-style:normal; font-display:swap;
}

:root{
  /* ---- editorial monochrome ---- */
  --espresso:#16150F;   /* INK — warm near-black (dark ground + dark text) */
  --bark:#211F18;       /* raised dark surface */
  --brown:#100F0A;      /* deepest black band */
  --bone:#ECE5D5;       /* PAPER — warm cream off-white (primary light ground) */
  --cream:#F5EFE1;      /* CREAM — lighter warm ground / cards */
  --parchment:#E3DAC6;  /* deeper paper */
  --sage:#D8D2C4;       /* CONCRETE — light tonal band */
  --moss:#16150F;       /* -> black band */
  --clay:#E4E82A;       /* ACID YELLOW — used only as small accents now */
  --clay-deep:#16150F;  /* accent-on-light resolves to ink */
  --soft:#8E897C;       /* muted text (reads on paper and ink) */
  --soft-d:#6B655A;     /* muted text on light */
  --line:#2C2A22;       /* hairline on dark */
  --line-l:#CDC5B4;     /* hairline on light */

  --disp:'Haas Display','Arial Black',sans-serif;
  --ser:'Instrument Sans',system-ui,sans-serif;  /* serif retired -> grotesque */
  --body:'Instrument Sans',system-ui,sans-serif;
  --mono:'Space Mono','Courier New',monospace;
  --script:'Dreams On Paper','Segoe Script',cursive;  /* handwriting accent — lowercase only */
}

*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--bone);color:var(--espresso);font-family:var(--body);line-height:1.55;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;cursor:none;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
::selection{background:var(--clay);color:var(--espresso);}

/* film grain overlay — grittier */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:400;opacity:.11;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* B&W editorial imagery — high-contrast grit + baked-in grain */
.thumb .img,.portrait .img,.hero-media,.wander .bg,.case .img,.feature .img,.fullplate .img,.editgrid .img{
  filter:grayscale(1) contrast(1.16) brightness(.98);}
.thumb,.portrait,.wander,.case .thumb,.feature .thumb,.fullplate,.editgrid figure{position:relative;}
.thumb::after,.portrait::after,.wander::after,.case .thumb::after,.feature .thumb::after,.fullplate::after,.editgrid figure::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:3;opacity:.16;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");}
.wander .veil{z-index:2;}

/* full-bleed editorial plate */
.fullplate{position:relative;height:84vh;min-height:520px;overflow:hidden;background:var(--bark);}
.fullplate .img{position:absolute;inset:-16% 0;background-size:cover;background-position:center;will-change:transform;}
.fullplate .cap{position:absolute;left:56px;bottom:34px;z-index:4;font-family:var(--mono);font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--bone);text-shadow:0 1px 20px rgba(0,0,0,.6);}
.fullplate .cap .script{font-size:1.9em;display:block;margin-top:6px;color:var(--clay);text-transform:none;letter-spacing:0;}
@media(max-width:860px){.fullplate .cap{left:24px;}}

/* asymmetric editorial gallery */
.editgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end;}
.editgrid figure{overflow:hidden;margin:0;}
.editgrid .img{width:100%;height:100%;background-size:cover;background-position:center;transform:scale(1.02);transition:transform .8s cubic-bezier(.4,0,.2,1);}
.editgrid figure:hover .img{transform:scale(1.07);}
.editgrid figcaption{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft-d);margin-top:12px;}
.editgrid .g1{grid-column:1/6;}
.editgrid .g2{grid-column:7/13;margin-bottom:56px;}
.editgrid .g3{grid-column:4/10;margin-top:8px;}
.editgrid .g1 .img{aspect-ratio:4/5;}
.editgrid .g2 .img{aspect-ratio:16/12;}
.editgrid .g3 .img{aspect-ratio:16/7;}
@media(max-width:860px){.editgrid{grid-template-columns:1fr;}.editgrid .g1,.editgrid .g2,.editgrid .g3{grid-column:1;margin:0;}.editgrid .img{aspect-ratio:4/3!important;}}

/* ---------------- cursor ---------------- */
.cursor{position:fixed;top:0;left:0;width:12px;height:12px;border-radius:50%;background:var(--clay);
  box-shadow:0 0 0 1.5px rgba(20,20,20,.45);
  pointer-events:none;z-index:9999;transform:translate(-50%,-50%);
  transition:width .3s,height .3s,background .3s,box-shadow .3s;}
.cursor.big{width:84px;height:84px;background:var(--espresso);box-shadow:none;}
.cursor.big::after{content:attr(data-l);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--bone);}
@media(hover:none){.cursor{display:none;}body{cursor:auto;}}

/* ---------------- loader ---------------- */
.loader{position:fixed;inset:0;background:var(--espresso);z-index:9000;
  display:flex;align-items:flex-end;justify-content:space-between;padding:44px;}
.loader .lname{font-family:var(--mono);font-size:clamp(13px,1.4vw,16px);letter-spacing:.06em;
  text-transform:uppercase;opacity:0;color:var(--bone);}
.loader .lnum{font-family:var(--disp);font-weight:500;font-size:clamp(52px,13vw,150px);line-height:.78;letter-spacing:-.02em;color:var(--clay);}

/* ---------------- nav ---------------- */
nav{position:fixed;top:0;left:0;width:100%;z-index:500;display:flex;justify-content:space-between;
  align-items:center;padding:24px 40px;color:var(--espresso);
  transition:color .4s ease, background .3s ease, box-shadow .3s ease, padding .3s ease;}
nav.nav-invert{color:var(--bone);}
/* solid background once scrolled, so scrolling copy never shows through the nav */
nav.scrolled{background:rgba(236,229,213,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 1px 0 var(--line-l);padding-top:15px;padding-bottom:15px;}
nav.scrolled.nav-invert{background:rgba(19,18,13,.8);box-shadow:0 1px 0 var(--line);}
nav .logo{font-family:var(--disp);font-weight:500;font-size:15px;letter-spacing:.02em;text-transform:uppercase;color:inherit;}
nav .links{display:flex;gap:30px;align-items:center;}
nav .links a{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;position:relative;color:inherit;}
nav .links a::after{content:'';position:absolute;left:0;bottom:-5px;width:0;height:1px;background:currentColor;transition:width .35s;}
nav .links a:hover::after,nav .links a.active::after{width:100%;}
.navtoggle{display:none;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:inherit;background:none;border:none;cursor:none;}
@media(max-width:860px){
  nav{padding:16px 22px;}
  nav .links{position:fixed;inset:0;height:100vh;width:100%;background:var(--espresso);color:var(--bone);
    flex-direction:column;justify-content:center;align-items:center;gap:28px;z-index:590;
    opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);
    transition:opacity .4s ease, visibility .4s ease, transform .5s cubic-bezier(.76,0,.24,1);}
  nav .links.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
  nav .links a{font-family:var(--disp);font-size:28px;letter-spacing:0;color:var(--bone);}
  nav .links a::after{display:none;}
  .navtoggle{display:block;position:relative;z-index:600;}
}

/* ---------------- shared type ---------------- */
.wrap{max-width:1240px;margin:0 auto;padding:0 56px;}
@media(max-width:860px){.wrap{padding:0 24px;}}

.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--espresso);margin-bottom:26px;display:flex;align-items:center;gap:11px;}
.kicker::before{content:'';width:7px;height:7px;background:var(--clay);flex:0 0 auto;}  /* small note of yellow */
.display{font-family:var(--disp);font-weight:500;font-size:clamp(38px,7.4vw,104px);line-height:1;letter-spacing:-.022em;text-transform:uppercase;}
.display em,.h2 em,.serif-accent{font-style:normal;font-weight:300;color:inherit;}   /* emphasis = thin-weight contrast */
.h2{font-family:var(--disp);font-weight:500;font-size:clamp(28px,4.4vw,56px);line-height:1.02;letter-spacing:-.02em;text-transform:uppercase;}
.lede{font-size:clamp(16px,1.4vw,18px);color:var(--soft);max-width:560px;line-height:1.6;}
.bigtext{font-family:var(--body);font-weight:400;font-size:clamp(21px,2.7vw,36px);line-height:1.34;letter-spacing:-.005em;}
.bigtext .w{display:inline-block;opacity:.2;}
.bigtext em{font-style:normal;font-weight:600;color:var(--espresso);}

/* section grounds */
.light{background:var(--cream);color:var(--espresso);}   /* cream alternate ground */
.light .kicker{color:var(--espresso);}
.light .lede,.light .muted{color:var(--soft-d);}
.moss-sec,.brown-sec{background:var(--moss);color:var(--bone);}
.moss-sec .kicker,.brown-sec .kicker{color:var(--clay);}
.sage-sec{background:var(--sage);color:var(--espresso);}
.sage-sec .kicker{color:var(--espresso);}

section.block{padding:clamp(104px,17vh,210px) 0;}

/* ---------------- buttons ---------------- */
.btn{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  padding:16px 30px;border-radius:0;border:1px solid currentColor;transition:background .35s,color .35s,border-color .35s;}
.btn:hover{background:var(--espresso);border-color:var(--espresso);color:var(--bone);}
.btn-solid{background:var(--espresso);border-color:var(--espresso);color:var(--bone);}
.btn-solid:hover{background:transparent;border-color:currentColor;color:var(--espresso);}
/* on dark grounds a solid button inverts to cream */
.phero .btn-solid,.hero .btn-solid,.moss-sec .btn-solid,.brown-sec .btn-solid,.wander .btn-solid{background:var(--bone);border-color:var(--bone);color:var(--espresso);}
.phero .btn-solid:hover,.hero .btn-solid:hover,.moss-sec .btn-solid:hover,.brown-sec .btn-solid:hover,.wander .btn-solid:hover{background:transparent;color:var(--bone);border-color:var(--bone);}
.magnetic{display:inline-block;}

/* ---------------- page hero (dark) ---------------- */
.phero,.hero{background:var(--espresso);color:var(--bone);}
.phero{padding:clamp(170px,24vh,260px) 0 clamp(80px,11vh,130px);}
.phero .display .row,.hero .display .row{overflow:hidden;}
.phero .display .row span,.hero .display .row span{display:block;}
.phero .kicker,.hero .kicker{color:var(--bone);}
.phero .lede,.hero .lede{color:var(--soft);}
.phero .meta{display:flex;gap:48px;flex-wrap:wrap;margin-top:56px;padding-top:28px;border-top:1px solid var(--line);}
.phero .meta div{font-size:13px;}
.phero .meta .mk{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);margin-bottom:6px;}

/* ---------------- service rows (on paper) ---------------- */
.row-svc{border-top:1px solid var(--line-l);padding:32px 40px;display:grid;
  grid-template-columns:56px 1fr minmax(0,240px) 116px 28px;
  gap:24px;align-items:center;position:relative;overflow:hidden;}
.row-svc:last-of-type{border-bottom:1px solid var(--line-l);}
.row-svc>*{position:relative;z-index:2;}
.row-svc .n{font-family:var(--mono);font-size:12px;color:var(--soft-d);transition:color .35s;}
.row-svc .t{font-family:var(--disp);font-weight:500;font-size:clamp(22px,3.4vw,44px);letter-spacing:-.02em;line-height:1;
  text-transform:uppercase;color:var(--espresso);transition:color .35s;}
.row-svc .d{font-size:14px;color:var(--soft-d);transition:color .35s;}
.row-svc .pr{font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--espresso);text-align:right;transition:color .35s;white-space:nowrap;}
.row-svc .pr small{font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--soft-d);margin-right:6px;}
.row-svc .arw{font-size:20px;text-align:right;opacity:0;transform:translateX(-8px);transition:opacity .35s,transform .35s;}
.row-svc .fill{position:absolute;inset:0;background:var(--espresso);transform:translateY(101%);
  transition:transform .45s cubic-bezier(.5,0,.2,1);z-index:1;}
.row-svc:hover .fill{transform:translateY(0);}
.row-svc:hover .t,.row-svc:hover .n,.row-svc:hover .d,.row-svc:hover .pr,.row-svc:hover .pr small{color:var(--bone);}
.row-svc:hover .arw{opacity:1;transform:translateX(0);color:var(--clay);}  /* tiny yellow arrow on hover */
@media(max-width:860px){
  .row-svc{grid-template-columns:1fr auto;padding:24px 22px;gap:8px 16px;}
  .row-svc .n{grid-column:1;}
  .row-svc .t{grid-column:1;}
  .row-svc .pr{grid-column:2;grid-row:2;align-self:end;}
  .row-svc .d,.row-svc .arw{display:none;}
}

/* ---------------- marquee ---------------- */
.marquee{padding:44px 0;overflow:hidden;white-space:nowrap;background:var(--espresso);color:var(--bone);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.marquee .track{display:inline-block;font-family:var(--disp);font-weight:500;font-size:clamp(32px,6.2vw,88px);
  text-transform:uppercase;letter-spacing:-.03em;will-change:transform;}
.marquee .track span{margin:0 14px;}
/* light / regular weight mix (matches the footer marquee) */
.marquee .track .lt,.fmar .track .lt{font-weight:300;}
.script{font-family:var(--script);font-weight:400;font-style:normal;text-transform:lowercase;letter-spacing:0;}

/* ---------------- stat counters (on paper) ---------------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:70px;}
.stat{border-top:2px solid currentColor;padding-top:18px;}
.stat .num{font-family:var(--disp);font-weight:500;font-size:clamp(36px,5vw,68px);letter-spacing:-.025em;line-height:1;}
.stat .num i{font-style:normal;font-size:.55em;color:var(--espresso);}
.stat .lab{font-size:13px;margin-top:12px;max-width:210px;}
@media(max-width:860px){.stats{grid-template-columns:1fr 1fr;gap:36px 20px;}}

/* ---------------- partner cards (dark cards, any ground) ---------------- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px;}
.tier{background:var(--bark);border:1px solid var(--line);border-radius:0;padding:40px 34px;color:var(--bone);
  display:flex;flex-direction:column;transition:background .4s,border-color .4s,transform .4s;}
.tier:hover{background:var(--cream);border-color:var(--cream);transform:translateY(-6px);}
.tier:hover *{color:var(--espresso)!important;}
.tier .pk{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);}
.tier h3{font-family:var(--disp);font-weight:500;font-size:clamp(24px,2.8vw,36px);line-height:1.02;text-transform:uppercase;letter-spacing:-.02em;margin:18px 0 10px;}
.tier .tprice{font-family:var(--disp);font-weight:500;font-size:clamp(20px,2.2vw,26px);letter-spacing:-.02em;color:var(--bone);margin-bottom:16px;}
.tier .tprice small{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);}
.tier p{font-size:15px;color:var(--soft);}
.tier ul{list-style:none;margin-top:26px;}
.tier li{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;padding:12px 0;border-top:1px solid var(--line);}
.tier .tcta{margin-top:auto;padding-top:28px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;}
@media(max-width:860px){.tiers{grid-template-columns:1fr;}}

/* ---------------- work / case cards ---------------- */
.cases{display:grid;grid-template-columns:1fr 1fr;gap:60px 40px;margin-top:60px;}
.case .thumb{aspect-ratio:4/3;overflow:hidden;background:var(--bark);}
.case .thumb .img{width:100%;height:100%;background-size:cover;background-position:center;
  transform:scale(1.02);transition:transform .8s cubic-bezier(.4,0,.2,1);}
.case:hover .thumb .img{transform:scale(1.09);}
.case .cmeta{display:flex;justify-content:space-between;align-items:baseline;margin-top:20px;gap:16px;}
.case h3{font-family:var(--disp);font-weight:500;font-size:clamp(22px,2.6vw,34px);letter-spacing:-.02em;text-transform:uppercase;}
.case .tag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft-d);white-space:nowrap;}
.case p{font-size:14.5px;color:var(--soft-d);margin-top:10px;max-width:440px;}
.case.wide{grid-column:1/-1;}
.case.wide .thumb{aspect-ratio:21/9;}
@media(max-width:860px){.cases{grid-template-columns:1fr;gap:44px;}}

/* ---------------- process steps (on paper) ---------------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:60px;}
.step{background:var(--cream);border:1px solid var(--line-l);border-radius:2px;padding:32px 26px 36px;
  min-height:230px;display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.4,0,.2,1),box-shadow .4s;}
.step:hover{transform:translateY(-6px);box-shadow:0 22px 48px -26px rgba(20,20,20,.4);}
.step .sn{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--clay-deep);}
.step h3{font-family:var(--disp);font-weight:500;font-size:clamp(20px,2.2vw,28px);text-transform:uppercase;letter-spacing:-.02em;margin:20px 0 10px;}
.step p{font-size:14px;color:var(--soft-d);}
@media(max-width:980px){.steps{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.steps{grid-template-columns:1fr;}.step{min-height:0;}}

/* ---------------- verse (black band) ---------------- */
.verse{padding:clamp(90px,18vh,200px) 0;text-align:center;}
.verse p{font-family:var(--disp);font-weight:300;font-size:clamp(24px,3.4vw,46px);
  line-height:1.24;max-width:920px;margin:0 auto;text-transform:uppercase;letter-spacing:-.01em;}
.verse p .w{display:inline-block;opacity:.2;}
.verse .ref{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--clay);margin-top:36px;}

/* ---------------- wanderback (dark) ---------------- */
.wander{position:relative;min-height:92vh;display:flex;align-items:center;justify-content:center;
  overflow:hidden;text-align:center;color:var(--bone);}
.wander .bg{position:absolute;inset:-12% 0;background-size:cover;background-position:center;will-change:transform;}
.wander .veil{position:absolute;inset:0;background:linear-gradient(rgba(15,15,15,.7),rgba(15,15,15,.82));}
.wander .inner{position:relative;z-index:2;padding:0 24px;}
.wander .k{font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--clay);margin-bottom:20px;}
.wander h2{font-family:var(--disp);font-weight:300;font-size:clamp(52px,12vw,148px);line-height:.94;text-transform:uppercase;letter-spacing:-.02em;color:var(--bone);}
.wander p{max-width:440px;margin:24px auto 32px;color:var(--parchment);font-size:16px;}

/* ---------------- forms ---------------- */
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:44px;}
.field{display:flex;flex-direction:column;}
.field.full{grid-column:1/-1;}
.field label{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft-d);margin-bottom:10px;}
.field input,.field textarea,.field select{background:transparent;border:none;border-bottom:1px solid var(--line-l);
  color:inherit;font-family:var(--body);font-size:17px;padding:12px 0;outline:none;transition:border-color .3s;cursor:none;}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--espresso);}
.field textarea{resize:vertical;min-height:110px;}
.field select option{background:var(--bone);color:var(--espresso);}
@media(max-width:860px){.formgrid{grid-template-columns:1fr;}}

/* ---------------- footer (black) ---------------- */
footer{padding:clamp(80px,13vh,150px) 0 40px;background:var(--espresso);color:var(--bone);}
.fmar{overflow:hidden;white-space:nowrap;margin-bottom:clamp(60px,9vh,110px);}
.fmar .track{display:inline-block;font-family:var(--disp);font-weight:500;font-size:clamp(48px,11vw,152px);
  text-transform:uppercase;letter-spacing:-.035em;line-height:.92;will-change:transform;}
.fmar .track em{font-style:normal;font-weight:300;}
.fmar .track span{margin-right:52px;}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;border-top:1px solid var(--line);padding-top:46px;}
.fgrid .big{font-family:var(--disp);font-size:clamp(22px,2.8vw,38px);text-transform:uppercase;letter-spacing:-.02em;}
.fgrid a.mail{font-family:var(--mono);font-size:clamp(15px,2vw,22px);letter-spacing:-.01em;
  border-bottom:1px solid var(--line);padding-bottom:6px;display:inline-block;margin-top:14px;text-transform:lowercase;}
.fgrid a.mail:hover{border-color:var(--clay);color:var(--clay);}
.fgrid h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);margin-bottom:16px;}
.fgrid .col a{display:block;padding:6px 0;font-size:14.5px;color:var(--soft);}
.fgrid .col a:hover{color:var(--bone);}
.fbase{display:flex;justify-content:space-between;margin-top:56px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--soft);flex-wrap:wrap;gap:10px;}
@media(max-width:860px){.fgrid{grid-template-columns:1fr 1fr;}.fgrid .big{grid-column:1/-1;}}

/* ---------------- DARK CONTEXT — text to paper, emphasis via thin weight ---------------- */
.moss-sec .lede,.brown-sec .lede{color:var(--soft);}
.moss-sec .bigtext em,.brown-sec .bigtext em{color:var(--bone);font-weight:600;}
.moss-sec .marquee,.brown-sec .marquee{border-color:var(--line);}

/* ---------------- reveal utility ---------------- */
.rv{opacity:0;transform:translateY(28px);}
