/* ═══════════════════════════════════════════════════════════════════════════
   Elevate with AI — "Poolside"
   Editorial layer built on the v3 Struck brand. Photography is the ground,
   the strike rule is the only graphic device, one accent, no decoration.
   See brand-identity.md. Loaded AFTER css/styles.css.
   ═══════════════════════════════════════════════════════════════════════════ */

:root{
  --ink:#17101A; --ink-2:#211823; --ink-3:#2C2130; --ink-4:#3A2C3E;
  --signal:#DE0866; --signal-lt:#FF5C9B; --signal-dk:#B8064F;
  --mute:#9A929C; --mute-ink:#6B636D; --paper:#F6F3EF;

  --sans:'Inter','Söhne','Helvetica Neue',Arial,sans-serif;
  --serif:'EB Garamond','Freight Text Pro','Iowan Old Style',Georgia,serif;

  --wrap:1280px;
  --gut:clamp(20px,5vw,72px);
  --pad:clamp(88px,11vw,180px);

  --e-out:cubic-bezier(.16,1,.3,1);
  --e-io:cubic-bezier(.65,0,.35,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--ink); color:var(--paper);
  font-family:var(--sans); font-size:17px; line-height:1.7;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--signal);color:#fff;}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut);}
.section{padding-block:var(--pad);position:relative;}

/* ─── Shared type ───────────────────────────────────────────────────────── */
.eyebrow{
  font-family:var(--serif); font-size:clamp(12px,1vw,14px);
  text-transform:uppercase; letter-spacing:.18em; font-weight:500;
  color:var(--signal-lt); margin:0 0 24px;
}
.eyebrow.on-light{color:var(--signal-dk);}
.eyebrow.quiet{color:var(--mute);}

h1,h2,h3,h4{font-family:var(--sans);font-weight:700;margin:0;}
.h-xl{font-size:clamp(46px,8.4vw,132px);line-height:.94;letter-spacing:-.045em;}
.h-lg{font-size:clamp(36px,5.4vw,82px);line-height:1.0;letter-spacing:-.04em;}
.h-md{font-size:clamp(27px,3.1vw,46px);line-height:1.1;letter-spacing:-.03em;}
.h-sm{font-size:clamp(21px,2vw,27px);line-height:1.25;letter-spacing:-.02em;}
.lede{font-size:clamp(19px,1.65vw,25px);line-height:1.55;letter-spacing:-.015em;
  color:rgba(246,243,239,.78);font-weight:400;}
.body{color:rgba(246,243,239,.72);line-height:1.8;}
.on-paper .body,.on-paper p{color:rgba(23,16,26,.72);}
.mute{color:var(--mute);}
.sig{color:var(--signal-lt);}

/* The strike rule — the one device. Always straight, always geometric. */
.struck{position:relative;color:var(--mute);white-space:nowrap;}
.struck::after{
  content:'';position:absolute;left:-.04em;right:-.04em;top:53%;
  height:.075em;min-height:2px;background:var(--signal);
  transform:scaleX(0);transform-origin:left center;
  transition:transform 1s var(--e-out) var(--d,.35s);
}
.in .struck::after,.struck.in::after{transform:scaleX(1);}

.rule{height:2px;background:var(--signal);width:100%;
  transform:scaleX(0);transform-origin:left;
  transition:transform 1.1s var(--e-out);}
.in .rule{transform:scaleX(1);}
.rule.hair{height:1px;background:rgba(246,243,239,.16);}

/* ─── Buttons ───────────────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--sans);font-size:13px;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;
  padding:19px 34px;border-radius:100px;border:1px solid transparent;
  background:var(--signal);color:#fff;cursor:pointer;
  position:relative;overflow:hidden;isolation:isolate;
  transition:transform .5s var(--e-out),box-shadow .5s var(--e-out);
}
.btn::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--signal-dk);
  transform:translateY(101%);transition:transform .5s var(--e-out);}
.btn:hover{transform:translateY(-3px);box-shadow:0 18px 44px -18px rgba(222,8,102,.85);}
.btn:hover::before{transform:translateY(0);}
.btn .arw{transition:transform .5s var(--e-out);}
.btn:hover .arw{transform:translateX(5px);}

.btn.ghost{background:transparent;border-color:rgba(246,243,239,.32);color:var(--paper);}
.btn.ghost::before{background:var(--paper);}
.btn.ghost:hover{color:var(--ink);box-shadow:none;}
.btn.ink{background:var(--ink);color:var(--paper);}
.btn.ink::before{background:var(--signal);}

.txtlink{
  display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;color:var(--paper);
  padding-bottom:6px;position:relative;
}
.txtlink::after{content:'';position:absolute;left:0;bottom:0;height:1.5px;width:100%;
  background:var(--signal);transform:scaleX(0);transform-origin:right;
  transition:transform .5s var(--e-out);}
.txtlink:hover::after{transform:scaleX(1);transform-origin:left;}
.on-paper .txtlink{color:var(--ink);}

/* ─── Nav ───────────────────────────────────────────────────────────────── */
.pnav{position:fixed;inset:0 0 auto;z-index:200;padding:22px 0;
  transition:padding .5s var(--e-out),background .5s,backdrop-filter .5s,border-color .5s;
  border-bottom:1px solid transparent;}
.pnav.stuck{padding:12px 0;background:rgba(23,16,26,.82);
  backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px);
  border-bottom-color:rgba(246,243,239,.09);}
.pnav-in{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut);
  display:flex;align-items:center;justify-content:space-between;gap:24px;}
.pnav-logo img{height:58px;width:auto;transition:height .5s var(--e-out);}
.pnav.stuck .pnav-logo img{height:44px;}
.pnav-links{display:flex;align-items:center;gap:34px;}
.pnav-links a{font-size:13px;font-weight:500;letter-spacing:.02em;
  color:rgba(246,243,239,.8);position:relative;padding:4px 0;transition:color .3s;}
.pnav-links a::after{content:'';position:absolute;left:0;bottom:0;height:1.5px;width:100%;
  background:var(--signal);transform:scaleX(0);transform-origin:right;
  transition:transform .45s var(--e-out);}
.pnav-links a:hover{color:var(--paper);}
.pnav-links a:hover::after,.pnav-links a.here::after{transform:scaleX(1);transform-origin:left;}
.pnav-links a.pnav-cta{
  background:var(--signal);color:#fff;padding:13px 26px;border-radius:100px;
  font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  transition:background .35s,transform .45s var(--e-out);}
.pnav-links a.pnav-cta::after{display:none;}
.pnav-links a.pnav-cta:hover{background:var(--signal-dk);transform:translateY(-2px);}
.burger{display:none;width:34px;height:22px;position:relative;cursor:pointer;background:none;border:0;padding:0;}
.burger span{position:absolute;left:0;height:1.5px;width:100%;background:var(--paper);
  transition:transform .45s var(--e-out),opacity .3s;}
.burger span:nth-child(1){top:2px;} .burger span:nth-child(2){top:10px;} .burger span:nth-child(3){top:18px;}
.burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* ─── Hero ──────────────────────────────────────────────────────────────── */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;
  overflow:hidden;isolation:isolate;}
.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden;}
.hero-media img{width:100%;height:120%;object-fit:cover;object-position:center 62%;
  transform:scale(1.18);opacity:0;filter:brightness(1.1) saturate(1.08) contrast(1.05);
  animation:heroIn 2.6s var(--e-out) .1s forwards;will-change:transform;}
@keyframes heroIn{to{transform:scale(1.02);opacity:1;}}
.hero-scrim{position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg,rgba(23,16,26,.58) 0%,rgba(23,16,26,.16) 24%,rgba(23,16,26,0) 46%,rgba(23,16,26,.55) 74%,rgba(23,16,26,.95) 100%),
    linear-gradient(96deg,rgba(23,16,26,.78) 0%,rgba(23,16,26,.44) 34%,rgba(23,16,26,.08) 62%,rgba(23,16,26,0) 80%);}
.hero-grain{position:absolute;inset:0;z-index:-1;opacity:.085;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");}

.hero-in{width:100%;max-width:var(--wrap);margin:0 auto;
  padding:180px var(--gut) clamp(48px,7vw,92px);}
.hero-eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:clamp(20px,3vw,34px);}
.hero-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--signal);
  flex:none;animation:pulse 2.6s var(--e-io) infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.35;transform:scale(.72);}}
.hero-eyebrow span{font-family:var(--serif);font-size:clamp(11px,.95vw,13px);
  text-transform:uppercase;letter-spacing:.2em;color:var(--paper);}

.hero-title{max-width:16ch;margin:0 0 clamp(24px,3vw,36px);}
.hero-title .ln{display:block;overflow:hidden;}
.hero-title .ln > i{display:block;font-style:normal;transform:translateY(105%);
  transition:transform 1.15s var(--e-out);}
.hero.go .hero-title .ln > i{transform:translateY(0);}
.hero.go .hero-title .ln:nth-child(2) > i{transition-delay:.11s;}
.hero.go .hero-title .ln:nth-child(3) > i{transition-delay:.22s;}
.hero-title .struck{color:rgba(246,243,239,.44);}
.hero-title .struck::after{height:.062em;transition-duration:1.25s;}
.hero.go .hero-title .struck::after{transform:scaleX(1);transition-delay:1.05s;}
.hero-title .keep{color:var(--signal-lt);}

.hero-sub{max-width:44ch;color:rgba(246,243,239,.86);margin:0 0 clamp(30px,4vw,44px);
  font-size:clamp(17px,1.5vw,22px);line-height:1.6;}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px 22px;align-items:center;}
.hero-fade{opacity:0;transform:translateY(26px);
  transition:opacity .9s var(--e-out),transform .9s var(--e-out);}
.hero.go .hero-fade{opacity:1;transform:none;}
.hero.go .hero-sub{transition-delay:.42s;}
.hero.go .hero-actions{transition-delay:.54s;}
.hero.go .hero-eyebrow{transition-delay:.2s;}

.scroll-cue{position:absolute;right:var(--gut);bottom:clamp(48px,7vw,92px);
  display:flex;align-items:center;gap:14px;writing-mode:vertical-rl;
  font-family:var(--serif);font-size:11px;text-transform:uppercase;letter-spacing:.24em;
  color:rgba(246,243,239,.55);}
.scroll-cue .ln2{width:1px;height:70px;background:linear-gradient(var(--signal),transparent);
  animation:cue 2.4s var(--e-io) infinite;transform-origin:top;}
@keyframes cue{0%{transform:scaleY(0);}45%{transform:scaleY(1);}100%{transform:scaleY(0);transform-origin:bottom;}}

/* ─── Marquee ───────────────────────────────────────────────────────────── */
.marq{border-block:1px solid rgba(246,243,239,.12);padding:20px 0;overflow:hidden;
  background:var(--ink);position:relative;z-index:2;}
.marq-track{display:flex;width:max-content;animation:slide 42s linear infinite;}
.marq-track span{font-family:var(--serif);font-size:clamp(12px,1.05vw,15px);
  text-transform:uppercase;letter-spacing:.2em;color:rgba(246,243,239,.62);
  padding-inline:30px;white-space:nowrap;display:flex;align-items:center;gap:30px;}
.marq-track span::after{content:'';width:5px;height:5px;background:var(--signal);
  border-radius:50%;flex:none;}
@keyframes slide{to{transform:translateX(-50%);}}
.marq:hover .marq-track{animation-play-state:paused;}

/* ─── Reveal primitives ─────────────────────────────────────────────────── */
.rv{opacity:0;transform:translateY(38px);
  transition:opacity 1s var(--e-out),transform 1s var(--e-out);}
.rv.in{opacity:1;transform:none;}
.rv[data-d="1"]{transition-delay:.1s;} .rv[data-d="2"]{transition-delay:.2s;}
.rv[data-d="3"]{transition-delay:.3s;} .rv[data-d="4"]{transition-delay:.4s;}
.rv[data-d="5"]{transition-delay:.5s;} .rv[data-d="6"]{transition-delay:.6s;}

.rv-mask{overflow:hidden;display:block;}
.rv-mask > *{transform:translateY(102%);transition:transform 1.1s var(--e-out);}
.rv-mask.in > *{transform:none;}

.rv-img{overflow:hidden;position:relative;}
.rv-img img{transform:scale(1.24);transition:transform 1.6s var(--e-out),filter 1.6s var(--e-out);
  filter:saturate(.7);}
.rv-img.in img{transform:scale(1);filter:saturate(1);}
.rv-img::after{content:'';position:absolute;inset:0;background:var(--ink);
  transform-origin:bottom;transition:transform 1.15s var(--e-io);}
.rv-img.in::after{transform:scaleY(0);}

/* word-by-word */
.spl .w{display:inline-block;overflow:hidden;vertical-align:bottom;}
.spl .w > i{display:inline-block;font-style:normal;transform:translateY(103%);
  transition:transform .95s var(--e-out);}
.spl.in .w > i{transform:none;}

/* ─── Plain English ─────────────────────────────────────────────────────── */
.plain{background:var(--ink);}
.plain-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);
  gap:clamp(32px,6vw,88px);align-items:end;margin-bottom:clamp(56px,7vw,96px);}
.plain-head h2{max-width:15ch;}
.plain-head .lede{font-size:clamp(17px,1.35vw,21px);color:rgba(246,243,239,.72);}
.plain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;
  background:rgba(246,243,239,.11);border:1px solid rgba(246,243,239,.11);}
.plain-item{background:var(--ink);padding:clamp(30px,3.4vw,52px);position:relative;
  transition:background .5s var(--e-out);}
.plain-item:hover{background:var(--ink-2);}
.plain-item .n{font-family:var(--serif);font-size:13px;letter-spacing:.2em;
  color:var(--signal-lt);display:block;margin-bottom:26px;}
.plain-item h3{font-size:clamp(20px,1.75vw,25px);letter-spacing:-.02em;margin-bottom:14px;}
.plain-item p{margin:0;font-size:16px;line-height:1.75;color:rgba(246,243,239,.66);}

/* ─── The cut (struck list) ─────────────────────────────────────────────── */
.cut{background:var(--paper);color:var(--ink);}
.cut .lede{color:rgba(23,16,26,.7);}
.cut h2{max-width:13ch;font-size:clamp(34px,4.5vw,66px);}
.cut-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(40px,7vw,110px);align-items:start;}
.cut-list{list-style:none;margin:0;padding:0;}
.cut-list li{
  font-size:clamp(21px,2.5vw,38px);font-weight:600;letter-spacing:-.03em;
  line-height:1.28;padding:20px 0;border-bottom:1px solid rgba(23,16,26,.12);
  color:var(--mute-ink);position:relative;
  opacity:0;transform:translateX(-22px);
  transition:opacity .8s var(--e-out),transform .8s var(--e-out);}
.cut-list.in li{opacity:1;transform:none;}
.cut-list.in li:nth-child(1){transition-delay:.05s;}
.cut-list.in li:nth-child(2){transition-delay:.15s;}
.cut-list.in li:nth-child(3){transition-delay:.25s;}
.cut-list.in li:nth-child(4){transition-delay:.35s;}
.cut-list.in li:nth-child(5){transition-delay:.45s;}
.cut-list li span{
  background-image:linear-gradient(var(--signal),var(--signal));
  background-repeat:no-repeat;background-position:0 55%;background-size:0% 3px;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
  transition:background-size .8s var(--e-out);}
.cut-list.in li:nth-child(1) span{transition-delay:.35s;}
.cut-list.in li:nth-child(2) span{transition-delay:.5s;}
.cut-list.in li:nth-child(3) span{transition-delay:.65s;}
.cut-list.in li:nth-child(4) span{transition-delay:.8s;}
.cut-list.in li:nth-child(5) span{transition-delay:.95s;}
.cut-list.in li span{background-size:100% 3px;}
.cut-keep{margin-top:34px;font-size:clamp(24px,3vw,46px);font-weight:700;
  letter-spacing:-.035em;color:var(--ink);line-height:1.15;}
.cut-keep em{font-style:normal;color:var(--signal-dk);}

/* ─── Split photo band ──────────────────────────────────────────────────── */
.band{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:min(92vh,860px);}
.band-media{position:relative;overflow:hidden;}
.band-media img{position:absolute;inset:0;width:100%;height:116%;object-fit:cover;
  object-position:var(--pos,50% 50%);}
.band-body{display:flex;flex-direction:column;justify-content:center;
  padding:clamp(56px,7vw,110px) clamp(28px,5vw,90px);}
.band.flip .band-media{order:2;}
.band-tag{position:absolute;z-index:3;left:clamp(20px,2.4vw,36px);bottom:clamp(20px,2.4vw,36px);
  background:var(--ink);color:var(--paper);font-family:var(--serif);font-size:11px;
  text-transform:uppercase;letter-spacing:.2em;padding:11px 20px;}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,32px);
  margin-top:clamp(40px,5vw,64px);}
.stat .num{font-size:clamp(40px,4.2vw,68px);font-weight:700;letter-spacing:-.05em;
  line-height:1;color:var(--signal-lt);display:block;white-space:nowrap;}
.stat .num u{text-decoration:none;font-size:.42em;letter-spacing:0;margin-left:.12em;
  font-weight:600;vertical-align:.32em;}
.stat .lbl{font-family:var(--serif);font-size:11.5px;text-transform:uppercase;
  letter-spacing:.14em;color:rgba(246,243,239,.6);margin-top:14px;display:block;line-height:1.55;
  max-width:22ch;}
.stat .bar{height:2px;background:rgba(246,243,239,.16);margin-top:20px;position:relative;}
.stat .bar::after{content:'';position:absolute;inset:0;background:var(--signal);
  transform:scaleX(0);transform-origin:left;transition:transform 1.3s var(--e-out) .3s;}
.stats.in .stat .bar::after{transform:scaleX(1);}

/* ─── Work with me ──────────────────────────────────────────────────────── */
.work{background:var(--ink);}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,30px);}
.work-card{position:relative;display:flex;flex-direction:column;
  border:1px solid rgba(246,243,239,.13);background:var(--ink);overflow:hidden;
  transition:transform .7s var(--e-out),border-color .5s,background .5s;}
.work-card:hover{transform:translateY(-10px);border-color:rgba(222,8,102,.55);background:var(--ink-2);}
.work-media{aspect-ratio:4/5;overflow:hidden;position:relative;}
.work-media img{object-position:var(--pos,50% 50%);}
.work-media img{width:100%;height:100%;object-fit:cover;
  transition:transform 1.1s var(--e-out),filter .8s;filter:saturate(.78) brightness(.92);}
.work-card:hover .work-media img{transform:scale(1.07);filter:saturate(1) brightness(1);}
.work-media .px{position:absolute;top:0;left:0;background:var(--signal);color:#fff;
  font-family:var(--serif);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  padding:10px 18px;}
.work-body{padding:clamp(26px,2.6vw,38px);display:flex;flex-direction:column;flex:1;}
.work-body .who{font-family:var(--serif);font-size:12px;text-transform:uppercase;
  letter-spacing:.17em;color:var(--signal-lt);margin-bottom:16px;min-height:1.5em;line-height:1.5;}
.work-body h3{font-size:clamp(22px,2vw,30px);letter-spacing:-.028em;margin-bottom:14px;}
.work-body p{font-size:16px;line-height:1.75;color:rgba(246,243,239,.66);margin:0 0 26px;}
.work-body ul{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:11px;}
.work-body li{font-size:14.5px;color:rgba(246,243,239,.72);padding-left:22px;position:relative;line-height:1.55;}
.work-body li::before{content:'';position:absolute;left:0;top:.62em;width:11px;height:2px;background:var(--signal);}
.work-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding-top:22px;border-top:1px solid rgba(246,243,239,.13);}
.work-foot .price{font-size:15px;font-weight:600;letter-spacing:-.01em;}
.work-foot .price small{display:block;font-family:var(--serif);font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-weight:400;margin-top:4px;}

/* ─── Steps ─────────────────────────────────────────────────────────────── */
.steps{position:relative;display:grid;gap:0;margin-top:clamp(44px,5vw,70px);}
.step{display:grid;grid-template-columns:clamp(70px,8vw,132px) minmax(0,1fr) minmax(0,1.25fr);
  gap:clamp(18px,3vw,50px);align-items:start;
  padding:clamp(28px,3.4vw,48px) 0;border-top:1px solid rgba(246,243,239,.14);
  transition:background .5s;}
.step:last-child{border-bottom:1px solid rgba(246,243,239,.14);}
.step:hover{background:rgba(246,243,239,.028);}
.step .sn{font-family:var(--serif);font-size:clamp(13px,1.1vw,15px);letter-spacing:.16em;
  color:var(--signal-lt);padding-top:.5em;}
.step h3{font-size:clamp(23px,2.5vw,38px);letter-spacing:-.03em;}
.step p{margin:0;font-size:16.5px;line-height:1.8;color:rgba(246,243,239,.68);padding-top:.35em;}

/* ─── About ─────────────────────────────────────────────────────────────── */
.about{background:var(--paper);color:var(--ink);}
.about .body{color:rgba(23,16,26,.74);}
.about-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(36px,6vw,96px);align-items:center;}
.about-photo{position:relative;}
.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;}
.about-sig{position:absolute;right:-18px;bottom:-22px;background:var(--signal);color:#fff;
  padding:20px 28px;white-space:nowrap;}
.about-sig strong{display:block;font-size:19px;letter-spacing:-.02em;line-height:1.2;}
.about-sig span{font-family:var(--serif);font-size:11px;text-transform:uppercase;
  letter-spacing:.17em;opacity:.9;display:block;margin-top:6px;}
.about-quote{font-size:clamp(22px,2.6vw,38px);font-weight:600;letter-spacing:-.032em;
  line-height:1.25;margin:0 0 30px;}
.about-quote em{font-style:normal;color:var(--signal-lt);}
.on-paper .about-quote em,.about .about-quote em{color:var(--signal-dk);}

/* ─── Guide ─────────────────────────────────────────────────────────────── */
.guide{position:relative;overflow:hidden;background:var(--ink-2);}
.guide-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(36px,6vw,80px);align-items:center;}
.guide-media{position:relative;}
.guide-media img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 22%;}
.guide-meta{font-family:var(--serif);font-size:12px;text-transform:uppercase;
  letter-spacing:.17em;color:var(--mute);margin-top:20px;display:block;}

/* ─── Newsletter ────────────────────────────────────────────────────────── */
.news{background:var(--ink);}
.news-box{border:1px solid rgba(246,243,239,.15);padding:clamp(36px,5vw,80px);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(30px,5vw,80px);align-items:center;}
.news form{display:flex;gap:12px;flex-wrap:wrap;}
.news input[type=email]{flex:1;min-width:220px;background:transparent;
  border:1px solid rgba(246,243,239,.28);color:var(--paper);
  padding:18px 22px;border-radius:100px;font-family:var(--sans);font-size:15px;
  transition:border-color .35s;}
.news input[type=email]:focus{outline:none;border-color:var(--signal);}
.news input::placeholder{color:var(--mute);}
.news .small{font-size:13px;color:var(--mute);margin-top:16px;}
.news .small a{text-decoration:underline;text-underline-offset:3px;}

/* ─── Final CTA ─────────────────────────────────────────────────────────── */
.finale{position:relative;overflow:hidden;isolation:isolate;
  min-height:82vh;display:flex;align-items:center;text-align:center;}
.finale-media{position:absolute;inset:0;z-index:-2;}
.finale-media img{width:100%;height:100%;object-fit:cover;
  filter:brightness(1.25) saturate(1.1);}
.finale-scrim{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(23,16,26,.92),rgba(23,16,26,.58) 46%,rgba(23,16,26,.92));}
.finale .wrap{display:flex;flex-direction:column;align-items:center;gap:26px;}
.finale h2{max-width:16ch;}
.finale .lede{max-width:52ch;}

/* ─── Footer ────────────────────────────────────────────────────────────── */
.pfoot{background:var(--ink);border-top:1px solid rgba(246,243,239,.12);
  padding-block:clamp(56px,6vw,90px) 34px;}
.pfoot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));
  gap:clamp(32px,5vw,70px);}
.pfoot img{height:74px;width:auto;margin-bottom:22px;}
.pfoot h4{font-family:var(--serif);font-size:12px;text-transform:uppercase;
  letter-spacing:.18em;color:var(--signal-lt);margin-bottom:22px;font-weight:500;}
.pfoot ul{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.pfoot a{color:rgba(246,243,239,.7);font-size:15px;transition:color .3s;}
.pfoot a:hover{color:var(--signal-lt);}
.pfoot p{color:rgba(246,243,239,.66);font-size:15px;margin:0 0 16px;}
.pfoot-tag{font-family:var(--serif);font-size:13px;text-transform:uppercase;
  letter-spacing:.2em;color:var(--paper);}
.pfoot-bot{margin-top:clamp(44px,5vw,70px);padding-top:26px;
  border-top:1px solid rgba(246,243,239,.1);display:flex;flex-wrap:wrap;gap:14px 30px;
  justify-content:space-between;font-size:13px;color:var(--mute);}

/* ─── Responsive ────────────────────────────────────────────────────────── */
@media (max-width:1080px){
  .plain-grid,.work-grid{grid-template-columns:1fr 1fr;}
  .plain-head,.cut-grid,.about-grid,.guide-grid,.news-box{grid-template-columns:1fr;}
  .band{grid-template-columns:1fr;min-height:0;}
  .band-media{min-height:60vh;}
  .band.flip .band-media{order:0;}
  .step{grid-template-columns:56px 1fr;}
  .step p{grid-column:2;}
  .about-photo{max-width:440px;}
}
@media (max-width:860px){
  .pnav-links{position:fixed;inset:0 0 auto;top:0;padding:110px var(--gut) 46px;
    flex-direction:column;align-items:flex-start;gap:22px;
    background:rgba(23,16,26,.97);backdrop-filter:blur(20px);
    clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--e-out);}
  .pnav-links.open{clip-path:inset(0 0 0 0);}
  .pnav-links a{font-size:26px;font-weight:600;letter-spacing:-.02em;}
  .pnav-links a.pnav-cta{font-size:12px;margin-top:10px;}
  .burger{display:block;z-index:210;}
  /* The burger sits over whatever the hero photograph happens to be doing,
     so it needs its own ground rather than trusting the image. */
  .pnav:not(.stuck)::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
    background:linear-gradient(180deg,rgba(23,16,26,.62),rgba(23,16,26,0));}
  .pnav{position:fixed;}
  .plain-grid,.work-grid,.stats,.pfoot-grid{grid-template-columns:1fr;}
  .stats{gap:30px;}
  .scroll-cue{display:none;}
  .hero-in{padding-top:150px;}
  .about-sig{right:auto;left:0;bottom:-14px;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;}
  html{scroll-behavior:auto;}
  .rv,.hero-fade{opacity:1!important;transform:none!important;}
  .rv-mask > *,.spl .w > i,.hero-title .ln > i{transform:none!important;}
  .rv-img::after{transform:scaleY(0)!important;}
  .rv-img img{transform:none!important;filter:none!important;}
  .cut-list li{opacity:1!important;transform:none!important;}
  .struck::after,.cut-list li span::after,.rule,.stat .bar::after{transform:scaleX(1)!important;}
  .hero-media img{opacity:1!important;transform:scale(1.02)!important;}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Inner pages
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── Page hero: same grammar as the home hero, two thirds the height ───── */
.phero{position:relative;min-height:min(74svh,720px);display:flex;align-items:flex-end;
  overflow:hidden;isolation:isolate;}
.phero-media{position:absolute;inset:0;z-index:-2;overflow:hidden;}
.phero-media img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);
  filter:brightness(1.06) saturate(1.04);
  transform:scale(1.14);opacity:0;animation:heroIn 2.4s var(--e-out) .1s forwards;}
.phero-scrim{position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg,rgba(23,16,26,.52) 0%,rgba(23,16,26,.12) 30%,rgba(23,16,26,.55) 74%,rgba(23,16,26,.97) 100%),
    linear-gradient(96deg,rgba(23,16,26,.82) 0%,rgba(23,16,26,.4) 42%,rgba(23,16,26,0) 76%);}
.phero-in{width:100%;max-width:var(--wrap);margin:0 auto;
  padding:170px var(--gut) clamp(44px,6vw,80px);}
.phero h1{max-width:15ch;margin-bottom:22px;}
.phero .lede{max-width:50ch;}

/* ─── At a glance ───────────────────────────────────────────────────────── */
.glance{border:1px solid rgba(246,243,239,.14);}
.glance a{display:grid;grid-template-columns:56px minmax(0,1.1fr) minmax(0,1.4fr) auto;
  gap:clamp(14px,2.4vw,38px);align-items:center;
  padding:clamp(20px,2.4vw,30px) clamp(20px,2.6vw,36px);
  border-bottom:1px solid rgba(246,243,239,.14);transition:background .45s var(--e-out),padding .45s var(--e-out);}
.glance a:last-child{border-bottom:0;}
.glance a:hover{background:var(--ink-2);}
.glance .g-n{font-family:var(--serif);font-size:12px;letter-spacing:.18em;color:var(--signal-lt);}
.glance .g-t{font-size:clamp(18px,1.7vw,24px);font-weight:600;letter-spacing:-.022em;}
.glance .g-d{font-size:15px;color:rgba(246,243,239,.62);line-height:1.6;}
.glance .g-p{font-size:15px;font-weight:600;white-space:nowrap;color:var(--signal-lt);}
@media (max-width:820px){
  .glance a{grid-template-columns:44px 1fr;row-gap:8px;}
  .glance .g-d{grid-column:2;} .glance .g-p{grid-column:2;}
}

/* ─── Service block ─────────────────────────────────────────────────────── */
.svc{border-top:1px solid rgba(246,243,239,.14);padding-block:clamp(64px,8vw,120px);}
.svc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(34px,6vw,88px);align-items:start;}
.svc h2{font-size:clamp(32px,4.4vw,64px);letter-spacing:-.038em;margin-bottom:20px;line-height:1.02;}
.svc .ideal{font-family:var(--serif);font-size:13px;text-transform:uppercase;
  letter-spacing:.15em;color:var(--mute);margin-top:24px;display:block;}
.incl{list-style:none;margin:0;padding:0;display:grid;gap:0;}
.incl li{font-size:16px;line-height:1.65;color:rgba(246,243,239,.78);
  padding:15px 0 15px 30px;border-bottom:1px solid rgba(246,243,239,.11);position:relative;}
.incl li::before{content:'';position:absolute;left:0;top:1.42em;width:14px;height:2px;background:var(--signal);}
.incl li:first-child{border-top:1px solid rgba(246,243,239,.11);}

/* option cards inside a service */
.opts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.8vw,24px);
  margin-top:clamp(38px,4.5vw,60px);}
.opt{border:1px solid rgba(246,243,239,.14);padding:clamp(24px,2.4vw,34px);
  display:flex;flex-direction:column;transition:border-color .45s,background .45s,transform .6s var(--e-out);}
.opt:hover{border-color:rgba(222,8,102,.5);background:var(--ink-2);transform:translateY(-6px);}
.opt .o-n{font-family:var(--serif);font-size:11px;text-transform:uppercase;
  letter-spacing:.18em;color:var(--signal-lt);margin-bottom:16px;display:block;}
.opt h3{font-size:clamp(20px,1.75vw,26px);letter-spacing:-.024em;margin-bottom:8px;}
.opt .o-p{font-size:15px;font-weight:600;color:var(--signal-lt);margin-bottom:18px;}
.opt ul{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px;}
.opt li{font-size:14.5px;line-height:1.6;color:rgba(246,243,239,.7);padding-left:20px;position:relative;}
.opt li::before{content:'';position:absolute;left:0;top:.6em;width:10px;height:2px;background:var(--signal);}
.opt .o-for{margin-top:auto;padding-top:18px;border-top:1px solid rgba(246,243,239,.13);
  font-family:var(--serif);font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--mute);}
@media (max-width:980px){ .opts{grid-template-columns:1fr;} .svc-grid{grid-template-columns:1fr;} }

/* ─── Tag cloud ─────────────────────────────────────────────────────────── */
.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.tags span{border:1px solid rgba(246,243,239,.22);padding:11px 20px;border-radius:100px;
  font-size:14px;color:rgba(246,243,239,.78);transition:border-color .4s,color .4s,transform .5s var(--e-out);}
.tags span:hover{border-color:var(--signal);color:var(--paper);transform:translateY(-3px);}

/* ─── FAQ ───────────────────────────────────────────────────────────────── */
.faq{border-top:1px solid rgba(246,243,239,.14);}
.faq details{border-bottom:1px solid rgba(246,243,239,.14);}
.faq summary{list-style:none;cursor:pointer;padding:clamp(22px,2.4vw,30px) 56px clamp(22px,2.4vw,30px) 0;
  font-size:clamp(18px,1.9vw,26px);font-weight:600;letter-spacing:-.024em;position:relative;
  transition:color .35s;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary:hover{color:var(--signal-lt);}
.faq summary::after,.faq summary::before{content:'';position:absolute;right:8px;top:50%;
  background:var(--signal);transition:transform .45s var(--e-out);}
.faq summary::after{width:18px;height:2px;margin-top:-1px;}
.faq summary::before{width:2px;height:18px;margin-top:-9px;margin-right:8px;}
.faq details[open] summary::before{transform:rotate(90deg) scaleX(0);}
.faq .ans{padding:0 clamp(40px,8vw,140px) clamp(24px,2.6vw,34px) 0;
  color:rgba(246,243,239,.72);line-height:1.8;font-size:16.5px;
  animation:faqIn .5s var(--e-out);}
@keyframes faqIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}

/* ─── Contact ───────────────────────────────────────────────────────────── */
.cform{display:grid;gap:18px;}
.cform .row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.cform label{font-family:var(--serif);font-size:11px;text-transform:uppercase;
  letter-spacing:.17em;color:var(--mute);display:block;margin-bottom:9px;}
.cform input,.cform textarea,.cform select{width:100%;background:transparent;
  border:1px solid rgba(246,243,239,.24);color:var(--paper);padding:15px 18px;
  font-family:var(--sans);font-size:16px;border-radius:4px;transition:border-color .35s;}
.cform textarea{min-height:150px;resize:vertical;}
.cform input:focus,.cform textarea:focus,.cform select:focus{outline:none;border-color:var(--signal);}
.cform select option{background:var(--ink);}
@media (max-width:680px){ .cform .row{grid-template-columns:1fr;} }

/* ─── Long-form prose (legal, articles) ─────────────────────────────────── */
.prose{max-width:70ch;}
.prose h2{font-size:clamp(24px,2.4vw,34px);letter-spacing:-.028em;line-height:1.15;
  margin:clamp(44px,5vw,68px) 0 18px;}
.prose h3{font-size:clamp(19px,1.7vw,23px);letter-spacing:-.02em;margin:34px 0 12px;}
.prose p,.prose li{color:rgba(246,243,239,.74);line-height:1.85;font-size:16.5px;}
.prose p{margin:0 0 18px;}
.prose ul,.prose ol{margin:0 0 20px;padding-left:22px;}
.prose li{margin-bottom:10px;}
.prose a{color:var(--signal-lt);text-decoration:underline;text-underline-offset:3px;}
.prose strong{color:var(--paper);font-weight:600;}
.prose hr{border:0;border-top:1px solid rgba(246,243,239,.14);margin:clamp(40px,5vw,64px) 0;}
.prose table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:15.5px;}
.prose th,.prose td{text-align:left;padding:13px 14px;border-bottom:1px solid rgba(246,243,239,.14);
  color:rgba(246,243,239,.74);vertical-align:top;}
.prose th{font-family:var(--serif);font-size:12px;text-transform:uppercase;
  letter-spacing:.15em;color:var(--signal-lt);font-weight:500;}
.prose .updated{font-family:var(--serif);font-size:12px;text-transform:uppercase;
  letter-spacing:.17em;color:var(--mute);margin-bottom:8px;}

/* ─── Article cards ─────────────────────────────────────────────────────── */
.posts{display:grid;gap:2px;background:rgba(246,243,239,.13);
  border:1px solid rgba(246,243,239,.13);}
.post{background:var(--ink);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(24px,4vw,60px);padding:clamp(30px,3.4vw,52px);
  transition:background .5s var(--e-out);align-items:start;}
.post:hover{background:var(--ink-2);}
.post .meta{font-family:var(--serif);font-size:12px;text-transform:uppercase;
  letter-spacing:.16em;color:var(--signal-lt);}
.post h2{font-size:clamp(23px,2.4vw,36px);letter-spacing:-.03em;line-height:1.15;margin-bottom:14px;}
.post p{color:rgba(246,243,239,.68);line-height:1.75;margin:0 0 24px;font-size:16px;}
@media (max-width:820px){ .post{grid-template-columns:1fr;} }

/* ─── Lead magnet ───────────────────────────────────────────────────────── */
.lm-form{display:grid;gap:12px;}
.lm-form input{width:100%;background:transparent;border:1px solid rgba(246,243,239,.26);
  color:var(--paper);padding:16px 20px;border-radius:100px;
  font-family:var(--sans);font-size:15.5px;transition:border-color .35s;}
.lm-form input:focus{outline:none;border-color:var(--signal);}
.lm-form input::placeholder{color:var(--mute);}
.lm-form button{justify-content:center;}
.lm-hp{position:absolute;left:-9999px;}
.lm-success{display:none;}
.lm-success.show{display:block;animation:faqIn .5s var(--e-out);}
.lm-error{display:none;color:var(--signal-lt);font-size:14.5px;margin-top:12px;}
.lm-error.show{display:block;}
.lm-note{font-size:13px;color:var(--mute);line-height:1.7;margin-top:14px;}
.lm-note a{text-decoration:underline;text-underline-offset:3px;}

.chapters{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;
  background:rgba(246,243,239,.12);border:1px solid rgba(246,243,239,.12);}
.chapter{background:var(--ink);padding:clamp(24px,2.6vw,36px);transition:background .5s;}
.chapter:hover{background:var(--ink-2);}
.chapter .cn{font-family:var(--serif);font-size:12px;letter-spacing:.2em;
  color:var(--signal-lt);display:block;margin-bottom:16px;}
.chapter h3{font-size:clamp(18px,1.6vw,22px);letter-spacing:-.02em;margin-bottom:10px;}
.chapter p{margin:0;font-size:15.5px;line-height:1.7;color:rgba(246,243,239,.66);}
@media (max-width:760px){ .chapters{grid-template-columns:1fr;} }
