/* Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V5 */
/* Hallmark · macrostructure: Editorial Case · tone: direct-human · anchor hue: pink */
/* ══════════════════════════════════════════════════════════════
   KW Consulting site stylesheet
   Serif locked 2026-09-08. Dark base with light bands alternating
   through the page, per Kate.

   Theming is done at SECTION level, not page level. Every component
   below draws its colours from --bg / --fg / --fg2 / --fg3 / --hair
   / --mark, and a wrapper class (.s-dark, .s-light, .s-pink) rebinds
   those six. That is what lets any block sit on any background
   without a second copy of its styles.
   ══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@300;400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --base:#0B0B0C;
  --paper:#F7F5F1;
  --hot:#FF2E88;      /* hot pink. only legible on dark: 5.62 */
  --deeppink:#C4145F; /* its light-background twin: 5.81 on white */
  --btn:#FFD9E8;      /* pale pink. the action colour, 15.31 with near-black */
  --btn-ink:#0B0B0C;
  --hero-rule:rgba(247,245,241,.32);

  --display:'Instrument Serif',Georgia,serif;
  --body:Inter,-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;

  --pad:62px;
  --maxw:1320px;
  --shadow-none:none;
}

/* the three section themes */
.s-dark{
  --bg:#0B0B0C; --fg:#F7F5F1; --fg2:#B9B7B2; --fg3:#8A8F98;
  --hair:#23242A; --mark:var(--hot); --panel:#101013;
}
.s-deep{ /* a half-step off the base, for a band inside a dark run */
  --bg:#101013; --fg:#F7F5F1; --fg2:#B9B7B2; --fg3:#8A8F98;
  --hair:#23242A; --mark:var(--hot); --panel:#161619;
}
.s-light{
  --bg:#FFFFFF; --fg:#111214; --fg2:#4A4844; --fg3:#77736C;
  --hair:#E4E2DE; --mark:var(--deeppink); --panel:#FAFAF9;
}
.s-pink{ /* pink is the human signal. never cream. */
  --bg:#FCEFF4; --fg:#111214; --fg2:#4A4844; --fg3:#6E5A63;
  --hair:#EFDCE5; --mark:var(--deeppink); --panel:#FFFFFF;
}
.s-dark,.s-deep,.s-light,.s-pink{background:var(--bg);color:var(--fg)}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{
  font-family:var(--body);
  background:var(--base);color:var(--paper);
  -webkit-font-smoothing:antialiased;overflow-x:clip;
}
img{max-width:100%;display:block}
::selection{background:var(--hot);color:#0B0B0C}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);width:100%}
section{padding:84px 0}
section.tight{padding:60px 0}

/* ── type ────────────────────────────────────────────────── */
.serif,h1,h2,h3,h4{
  font-family:var(--display);font-weight:400;
  font-synthesis-weight:none;letter-spacing:-.042em;
}
.mono{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;font-size:10px}
.lab{color:var(--fg3);margin-bottom:34px}

h1{font-size:clamp(46px,8.4vw,168px);line-height:.94;hyphens:none}
h2{font-size:clamp(30px,4.4vw,62px);line-height:1.06;letter-spacing:-.035em}
h3{font-size:clamp(23px,2.5vw,36px);line-height:1.1;letter-spacing:-.03em}
h1,h2,h3{overflow-wrap:anywhere;min-width:0}

.big{font-size:clamp(27px,4.4vw,58px);line-height:1.16;max-width:18ch;letter-spacing:-.035em}
.big i,.big em{color:var(--mark);font-style:italic}
.lede{margin-top:28px;font-size:17px;line-height:1.8;color:var(--fg2);max-width:58ch;font-weight:300}
p{font-weight:300;line-height:1.8}
/* stacked paragraphs need air even where they carry no component class */
p + p{margin-top:18px}
.col p + p,.article p + p,.cols article p + p,.tier p + p,.obj p + p{margin-top:0}

/* ── buttons ─────────────────────────────────────────────────
   Pale pink fill, near-black label, 15.31:1. Black on hot pink
   measures 5.62 and passes AA, but at 11px uppercase the saturated
   pink vibrates and reads as unreadable. ────────────────────── */
.btn{
  display:inline-block;border:1px solid var(--fg);color:var(--fg);
  text-decoration:none;padding:12px 22px;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  white-space:nowrap;transition:.35s ease;
}
.s-dark .btn,.s-deep .btn{border-color:rgba(247,245,241,.4)}
.btn:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.btn:focus-visible{outline:3px solid var(--hot);outline-offset:4px}
.btn:active{transform:translateY(1px)}
.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;pointer-events:none}
.btn.solid{background:var(--btn);border-color:var(--btn);color:var(--btn-ink);font-weight:500}
.btn.solid:hover{background:#FFFFFF;border-color:var(--btn-ink);color:var(--btn-ink)}
.btn.lg{padding:17px 34px;font-size:12px}

/* ── header ──────────────────────────────────────────────── */
.topbar{
  position:relative;z-index:20;display:flex;justify-content:space-between;
  align-items:center;padding:30px var(--pad);gap:22px;
}
.topbar .mark{font-family:var(--display);font-size:19px;color:var(--paper);text-decoration:none;letter-spacing:-.02em}
.nav{display:flex;align-items:center;gap:26px}
.menuToggle{display:none}
.nav a.n{
  color:#B9B7B2;text-decoration:none;font-size:11.5px;letter-spacing:.06em;
  text-transform:uppercase;padding-bottom:3px;border-bottom:1px solid transparent;transition:.3s ease;
}
.nav a.n:hover{color:var(--paper);border-bottom-color:var(--hot)}
.nav a.n[aria-current="page"]{color:var(--paper);border-bottom-color:var(--hot)}

/* Under 1080 the links drop to their own scrollable row beneath the
   logo rather than disappearing, so the journal stays reachable on a phone. */
@media(max-width:1080px){
  .topbar{flex-wrap:wrap;row-gap:18px;padding-bottom:20px}
  .topbar .mark{order:1}
  .nav{order:2;margin-left:auto}
  .nav a.n{display:none}
  .navrow{order:3;width:100%;display:flex;gap:22px;overflow-x:auto;padding-top:4px;scrollbar-width:none}
  .navrow::-webkit-scrollbar{display:none}
  .navrow a{
    color:#B9B7B2;text-decoration:none;white-space:nowrap;font-size:11px;
    letter-spacing:.06em;text-transform:uppercase;padding-bottom:4px;border-bottom:1px solid transparent;
  }
  .navrow a[aria-current="page"]{color:var(--paper);border-bottom-color:var(--hot)}
}
@media(min-width:1081px){.navrow{display:none}}

/* ── hero ────────────────────────────────────────────────── */
.hero{
  position:relative;min-height:94vh;display:flex;flex-direction:column;
  justify-content:space-between;overflow:hidden;background:var(--base);color:var(--paper);
}
.heroPh{
  position:absolute;top:0;right:0;bottom:0;left:0;
  background-image:url('/photos/kate-hero-01.jpg');
  background-size:auto 100%;background-position:right bottom;background-repeat:no-repeat;
  filter:grayscale(1) contrast(1.32) brightness(.66);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 26%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 26%);
}
.heroScrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,12,.5) 0,transparent 150px),linear-gradient(90deg,rgba(11,11,12,.72) 6%,rgba(11,11,12,.34) 40%,transparent 70%)}
.heroType{position:relative;padding:0 var(--pad) 96px;max-width:var(--maxw);margin:0 auto;width:100%}
.heroType .sub{margin-top:46px;font-size:clamp(16px,1.62vw,30px);font-weight:300;opacity:.85;max-width:34ch;line-height:1.52}
.heroProof{margin-top:44px;display:flex;gap:12px;flex-wrap:wrap}
.heroProof .p{font-family:var(--mono);font-size:11px;opacity:.85;border:1px solid rgba(247,245,241,.42);padding:11px 18px;line-height:1}
.heroCta{margin-top:44px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.heroCta .risk{font-size:12.5px;color:#B9B7B2;font-weight:300;max-width:30ch;line-height:1.6}

/* interior page header */
.phead{position:relative;padding:74px var(--pad) 84px;max-width:var(--maxw);margin:0 auto;width:100%;border-bottom:1px solid var(--hair)}
.phead .cond{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--mark);margin-bottom:26px}
.phead h1{font-size:clamp(40px,6.6vw,112px)}
.phead .sub a{color:var(--fg);text-decoration-color:var(--hot);text-underline-offset:4px}
.phead .sub{margin-top:34px;font-size:clamp(16px,1.5vw,25px);font-weight:300;color:var(--fg2);max-width:42ch;line-height:1.55}
.phead .acts{margin-top:44px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.phead .from{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg3)}
.phead .from b{color:var(--fg);font-weight:500;font-size:14px}
.quickproof{margin-top:34px;display:flex;gap:10px;flex-wrap:wrap}
.quickproof span{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3);border:1px solid var(--hair);padding:10px 13px;background:rgba(247,245,241,.03)}

.fitgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);margin-top:42px}
.fit{display:flex;flex-direction:column;min-height:260px;background:var(--bg);color:var(--fg);text-decoration:none;padding:34px 30px;transition:background .35s ease,color .35s ease}
.fit:hover{background:var(--panel)}
.fit .cond{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--mark);margin-bottom:22px}
.fit h3{margin-bottom:18px}
.fit p{font-size:14.5px;line-height:1.75;color:var(--fg2);font-weight:300;margin-top:auto}
.concise-tiers .tier .desc{min-height:76px}
.nextsteps{margin-top:28px;border-top:1px solid var(--hair)}
.nextsteps div{display:grid;grid-template-columns:54px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--hair)}
.nextsteps span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mark);padding-top:6px}
.nextsteps p{font-size:15px;line-height:1.75;color:var(--fg2);font-weight:300}
@media(max-width:900px){.fitgrid{grid-template-columns:1fr}.fit{min-height:0}.concise-tiers .tier .desc{min-height:0}}

/* ── the three doors ─────────────────────────────────────── */
.doorlede{font-size:15px;line-height:1.85;color:var(--fg2);max-width:54ch;font-weight:300;margin-bottom:40px}
.doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1px;background:var(--hair);border:1px solid var(--hair)}
/* four doors need a fixed count, or auto-fit drops the last one to its own row */
.doors4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1180px){.doors4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.doors4{grid-template-columns:1fr}}
.door{background:var(--bg);padding:38px 32px 34px;text-decoration:none;color:var(--fg);display:flex;flex-direction:column;transition:background .4s ease}
.door:hover{background:var(--panel)}
.door .cond{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--mark);margin-bottom:20px}
.door h3{margin-bottom:16px}
.door p{font-size:14px;line-height:1.8;color:var(--fg2);flex:1}
.door .price{margin-top:26px;padding-top:18px;border-top:1px solid var(--hair);font-size:13px;color:var(--fg2)}
.door .price b{font-family:var(--display);font-size:26px;color:var(--fg);letter-spacing:-.03em}
.door .go{margin-top:22px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mark)}
.door:hover .go{color:var(--fg)}

/* ── prose column ────────────────────────────────────────── */
.col{max-width:66ch}
.col.wide{max-width:78ch}
.col h2{margin-bottom:30px}
.col h3{margin:52px 0 18px}
.col p{font-size:16px;line-height:1.85;color:var(--fg2);margin-bottom:20px}
.col strong{color:var(--fg);font-weight:400}
.col ul{list-style:none;margin:26px 0}
.col li{font-size:15.5px;line-height:1.8;color:var(--fg2);font-weight:300;padding:14px 0 14px 30px;border-bottom:1px solid var(--hair);position:relative}
.col li:before{content:"";position:absolute;left:0;top:23px;width:12px;height:1px;background:var(--mark)}
.col a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--mark)}
.col a:hover{color:var(--mark)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:44px}}

/* ── steps ───────────────────────────────────────────────── */
.arms{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:38px}
.arm .no{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--mark);margin-bottom:18px}
.arm h3{margin-bottom:16px}
.arm p{font-size:14.5px;line-height:1.82;color:var(--fg2)}

/* ── objections ──────────────────────────────────────────── */
.obj{border-top:1px solid var(--hair)}
.obj .o{padding:30px 0;border-bottom:1px solid var(--hair)}
/* the grid variant: same content, about half the height */
.obj.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);border-top:1px solid var(--hair)}
.obj.grid .o{background:var(--bg);padding:30px 26px;border:none}
@media(max-width:900px){.obj.grid{grid-template-columns:1fr}}
.obj .q{font-family:var(--display);font-size:clamp(19px,2vw,27px);line-height:1.24;margin-bottom:14px;letter-spacing:-.03em;color:var(--fg)}
.obj .a{font-size:15px;line-height:1.82;color:var(--fg2);font-weight:300;max-width:64ch}

/* ── risk reversal strip ─────────────────────────────────── */
.risks{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--hair);border:1px solid var(--hair)}
.risks > div{background:var(--bg);padding:30px 26px}  /* > matters: .rt and .rd are divs too */
.risks .rt{font-family:var(--display);font-size:clamp(19px,2vw,25px);line-height:1.15;letter-spacing:-.03em;margin-bottom:12px}
.risks .rd{font-size:13.5px;line-height:1.7;color:var(--fg2);font-weight:300}

/* ── pricing, four across ────────────────────────────────── */
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair)}
@media(max-width:1080px){.tiers{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.tiers{grid-template-columns:1fr}}
.tier{background:var(--bg);padding:36px 26px 30px;display:flex;flex-direction:column}
.tier.feature{background:var(--panel)}
.tier .cond{font-family:var(--mono);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--mark);margin-bottom:18px;min-height:24px;line-height:1.5}
.tier h3{font-size:clamp(21px,2vw,28px);margin-bottom:20px}
.tier .p{font-family:var(--display);font-size:clamp(34px,3.4vw,46px);letter-spacing:-.04em;line-height:1;color:var(--fg)}
.tier .p span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3);margin-top:12px;line-height:1.6}
.tier .desc{margin-top:24px;font-size:14px;line-height:1.8;color:var(--fg2);font-weight:300}
.tier ul{list-style:none;margin:24px 0 30px}
.tier li{font-size:13px;line-height:1.65;color:var(--fg2);font-weight:300;padding:11px 0 11px 18px;border-top:1px solid var(--hair);position:relative}
.tier li:before{content:"";position:absolute;left:0;top:19px;width:8px;height:1px;background:var(--mark)}
.tier .cta{margin-top:auto}
.tier .cta a{display:block;text-align:center}

/* ── proof ───────────────────────────────────────────────── */
.pullband{padding-top:88px;padding-bottom:88px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.pullband .q{font-family:var(--display);font-size:clamp(30px,5vw,72px);line-height:1.08;letter-spacing:-.04em;max-width:20ch}
.pullband .q i,.pullband .q em{color:var(--mark);font-style:italic}
.pullband .attr{margin-top:38px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg3)}

/* ── reviews ─────────────────────────────────────────────────
   Set in the SANS at 17px, not the serif. Serif at small sizes with
   tight tracking is what made these hard to read. The serif is kept
   for the one featured quote, where it is large enough to work. ── */
/* max-width in px, not ch: `ch` resolves against the ELEMENT's own
   font-size, and .featq is 16px while its quote is 76px. */
.featq{max-width:920px}
.featq .q{font-family:var(--display);font-size:clamp(32px,5.4vw,76px);line-height:1.06;letter-spacing:-.04em}
.featq .q i,.featq .q em{color:var(--mark);font-style:italic}
.featq .attr{margin-top:34px;font-size:14px;color:var(--fg2);font-weight:300;line-height:1.6}
.featq .attr b{display:block;color:var(--fg);font-weight:500;font-size:15px;margin-bottom:3px}

.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:1px;background:var(--hair);border:1px solid var(--hair)}
.q2{background:var(--bg);padding:34px 30px 30px;display:flex;flex-direction:column}
.q2 .st{color:#8A6508;font-size:12px;letter-spacing:3px;margin-bottom:18px}
.s-dark .q2 .st,.s-deep .q2 .st{color:#E8A317}
.q2 .t{font-size:17px;line-height:1.65;color:var(--fg);font-weight:300;flex:1}
.q2 .t b{color:var(--mark);font-weight:500}
.q2 .who{margin-top:24px;padding-top:18px;border-top:1px solid var(--hair);font-size:13px;color:var(--fg2);font-weight:300;line-height:1.55}
.q2 .who b{display:block;color:var(--fg);font-weight:500;font-size:14px;margin-bottom:2px}

/* the Google rating, given proper weight rather than a small chip */
.gbig{display:flex;align-items:center;gap:28px;flex-wrap:wrap;padding:30px 34px;border:1px solid var(--hair);background:var(--panel);text-decoration:none;color:var(--fg);transition:.35s ease}
.gbig:hover{border-color:var(--mark)}
.gbig .n{font-family:var(--display);font-size:clamp(40px,4vw,58px);line-height:1;letter-spacing:-.04em}
.gbig .st{color:#8A6508;font-size:17px;letter-spacing:4px}
.s-dark .gbig .st,.s-deep .gbig .st{color:#E8A317}
.gbig .tx{font-size:14px;color:var(--fg2);font-weight:300;line-height:1.6}
.gbig .tx b{display:block;color:var(--fg);font-weight:500;font-size:15px}

/* a slot for a screen recording of the real dashboard */
.vid{border:1px solid var(--hair);background:var(--panel);aspect-ratio:16/10;overflow:hidden;display:block}
/* .vid.empty is the placeholder state, before a recording exists */
.vid.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 34px;gap:14px}
.vid .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--mark)}
.vid .h{font-family:var(--display);font-size:clamp(22px,2.4vw,30px);letter-spacing:-.03em;line-height:1.15}
.vid .d{font-size:13.5px;line-height:1.7;color:var(--fg2);font-weight:300;max-width:40ch}
.vid video{display:block;width:100%;height:100%;object-fit:cover}

.grev{display:inline-flex;align-items:center;gap:12px;margin-top:44px;text-decoration:none;color:var(--fg);border:1px solid var(--hair);padding:12px 18px;transition:.35s ease}
.grev:hover{background:var(--panel)}
.grev .st{color:#8A6508;font-size:13px;letter-spacing:2px}
.s-dark .grev .st,.s-deep .grev .st{color:#E8A317}
.grev .sc{font-family:var(--display);font-size:21px}
.grev .tx{font-size:11.5px;color:var(--fg2);line-height:1.45;font-weight:300}

.nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:52px}
.nums .n{font-family:var(--display);font-size:clamp(56px,8vw,124px);line-height:.9;letter-spacing:-.055em;color:var(--fg)}
.nums .n.pink{color:var(--mark)}
.nums .c{margin-top:22px;font-size:14px;line-height:1.75;color:var(--fg2);font-weight:300;max-width:26ch}

.roster{font-family:var(--display);font-size:clamp(21px,2.6vw,38px);line-height:1.34;letter-spacing:-.03em;max-width:32ch}
.roster span{color:var(--fg3)}

/* ── dashboard mock ──────────────────────────────────────── */
.panel{border:1px solid var(--hair);background:var(--panel)}
.panel .ph{display:flex;justify-content:space-between;align-items:center;padding:17px 22px;border-bottom:1px solid var(--hair)}
.panel .ph .t{font-size:13px;color:var(--fg)}
.panel .ph .m{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3)}
.lrow{display:flex;align-items:center;gap:14px;padding:16px 22px;border-bottom:1px solid var(--hair)}
.lrow:last-child{border-bottom:none}
.lrow .nm{flex:1;font-size:13.5px;color:var(--fg);font-weight:300}
.lrow .nm i{display:block;font-style:normal;font-size:11px;color:var(--fg3);margin-top:4px}
.lrow .st{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border:1px solid}
.lrow .st.warm{color:var(--mark);border-color:currentColor}
.lrow .st.nudge{color:var(--fg2);border-color:var(--hair)}
.lrow .st.won{color:#2E7D4F;border-color:currentColor}
.s-dark .lrow .st.won,.s-deep .lrow .st.won{color:#8FD6A8}
.lrow .dt{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;color:var(--fg3);min-width:88px;text-align:right}
@media(max-width:560px){.lrow .dt{display:none}}

/* ── journal ─────────────────────────────────────────────────
   Kate's preferred layout: a contents list of title + category and
   length, hairline-ruled, sliding right on hover. Kept from the
   first journal build. ────────────────────────────────────── */
/* the journal column is narrow for reading, but its LEFT edge lines up
   with the site gutter so it doesn't float away from the page heading */
.jwrap{max-width:calc(768px + var(--pad) * 2);margin:0;padding:0 var(--pad);width:100%}
.toc{border-top:1px solid var(--hair)}
.toc a{
  display:flex;justify-content:space-between;align-items:baseline;gap:18px;
  padding:19px 0;border-bottom:1px solid var(--hair);text-decoration:none;
  color:var(--fg);transition:padding-left .4s ease,color .3s ease;
}
.toc a:hover{padding-left:12px;color:var(--mark)}
.toc .t{font-family:var(--display);font-size:21px;line-height:1.25;letter-spacing:-.02em}
.toc .w{font-family:var(--mono);font-size:10px;color:var(--fg3);white-space:nowrap;letter-spacing:.08em;text-transform:uppercase}

.article .cat{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--mark);margin-bottom:16px}
.article h1{font-size:clamp(30px,5vw,50px);line-height:1.04;margin-bottom:14px}
.article .dek{font-size:15px;color:var(--fg2);line-height:1.7;font-weight:300;margin-bottom:40px;padding-bottom:26px;border-bottom:1px solid var(--hair)}
.article h2{font-size:clamp(22px,2.6vw,29px);margin:46px 0 16px;line-height:1.15}
.article h3{font-size:clamp(19px,2.1vw,23px);margin:34px 0 12px}
.article p{font-size:16.5px;line-height:1.8;margin-bottom:20px;color:var(--fg2)}
.article strong{color:var(--fg);font-weight:400}
.article em{font-style:italic;color:var(--fg)}
.article ol,.article ul{margin:0 0 22px 20px}
.article li{font-size:16.5px;line-height:1.8;margin-bottom:9px;color:var(--fg2);font-weight:300}
.article blockquote{border-left:2px solid var(--mark);padding-left:24px;margin:32px 0;font-family:var(--display);font-size:clamp(20px,2.2vw,28px);line-height:1.3;color:var(--fg);letter-spacing:-.03em}
.article hr{border:none;border-top:1px solid var(--hair);margin:38px 0}
.article a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--mark)}
.article a:hover{color:var(--mark)}

/* ── the SEO pillar: sidebar contents + long article ──────── */
.cols{display:grid;grid-template-columns:238px 1fr;gap:64px;padding:64px 0 96px;align-items:start}
@media(max-width:900px){.cols{grid-template-columns:1fr;gap:34px}.pillartoc{position:static!important}}
.pillartoc{position:sticky;top:34px}
.pillartoc .h{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--fg3);margin-bottom:16px}
.pillartoc a{display:block;font-size:12.5px;line-height:1.45;color:var(--fg2);text-decoration:none;padding:10px 0;border-bottom:1px solid var(--hair);transition:.3s ease}
.pillartoc a:hover{color:var(--fg)}
.cols article{max-width:70ch}
.cols article h2{font-size:clamp(25px,3vw,38px);margin:64px 0 20px;line-height:1.12;scroll-margin-top:34px}
.cols article h2:first-child{margin-top:0}
.cols article h3{font-size:clamp(20px,2.2vw,27px);margin:46px 0 14px}
.cols article p{font-size:16.5px;line-height:1.85;margin-bottom:20px;color:var(--fg2);font-weight:300}
.cols article strong{color:var(--fg);font-weight:400}
.cols article a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--mark)}

/* ── closing CTA + footer ────────────────────────────────── */
.fproof{display:flex;gap:52px;flex-wrap:wrap;padding-top:110px;padding-bottom:40px;border-bottom:1px solid var(--hair)}
.fproof>div{display:flex;flex-direction:column;gap:9px}
.fproof .fn{font-family:var(--display);font-size:clamp(24px,2.6vw,36px);letter-spacing:-.035em}
.fproof .fc{font-family:var(--mono);font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--fg3)}
.fbig{font-family:var(--display);font-size:clamp(38px,6vw,88px);line-height:1;letter-spacing:-.05em;margin-top:46px}
.fsm{margin-top:32px;font-size:15.5px;line-height:1.85;color:var(--fg2);font-weight:300;max-width:48ch}
.fsm a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--mark)}

.sitefoot{border-top:1px solid var(--hair);margin-top:64px;padding:38px 0 34px;display:flex;justify-content:space-between;gap:34px;flex-wrap:wrap}
.sitefoot .fnav{display:flex;gap:26px;flex-wrap:wrap}
.sitefoot a{color:var(--fg3);text-decoration:none;font-size:11.5px;letter-spacing:.05em;transition:.3s ease}
.sitefoot a:hover{color:var(--fg)}
.sitefoot .cr{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3)}

.sticky{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:50;
  background:var(--btn);color:var(--btn-ink);text-align:center;padding:16px;
  text-decoration:none;font-weight:500;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
}
@media(max-width:760px){
  :root{--pad:22px}
  .sticky{display:block}
  .hero{min-height:88vh}
  .heroPh{background-size:cover;background-position:70% 50%}
  .heroScrim{background:linear-gradient(180deg,rgba(11,11,12,.72),rgba(11,11,12,.5) 30%,rgba(11,11,12,.95) 74%)}
  section{padding:58px 0}
  .fproof{gap:34px;padding-top:72px}
  .pullband{padding-top:80px;padding-bottom:80px}
}

/* ── motion: slow, minimal ───────────────────────────────── */
@keyframes riseIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.rise{opacity:0;animation:riseIn 1s cubic-bezier(.2,.7,.3,1) forwards}
.d1{animation-delay:.15s}.d2{animation-delay:.35s}.d3{animation-delay:.55s}.d4{animation-delay:.75s}
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .95s cubic-bezier(.2,.7,.3,1),transform .95s cubic-bezier(.2,.7,.3,1)}
.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .rise{opacity:1;animation:none}
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}


/* ── photo bands ─────────────────────────────────────────────
   Full-bleed image with a wash over it, so a section can carry an
   image without costing any extra page height. ─────────────── */
.pband{position:relative;overflow:hidden;background:var(--base);color:var(--paper)}
.pband .ph{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(.35) brightness(.72) contrast(1.05)}
.pband .wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,12,.94) 4%,rgba(11,11,12,.74) 42%,rgba(11,11,12,.42))}
.pband .grain{position:absolute;inset:0;opacity:.35;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 3px)}
.pband > .wrap{position:relative;z-index:2}

/* ── who strip: portrait beside two sentences ────────────── */
.who2{display:grid;grid-template-columns:340px 1fr;gap:56px;align-items:center}
@media(max-width:900px){.who2{grid-template-columns:1fr;gap:30px}.who2 .por{max-width:280px}}
.who2 .por{aspect-ratio:4/5;background-image:url('/photos/kate-02.jpg');background-size:cover;background-position:86% 20%;filter:grayscale(1) contrast(1.12) brightness(.98)}
.who2 h3{margin-bottom:18px}
.who2 p{font-size:16px;line-height:1.85;color:var(--fg2)}
.who2 .sig{margin-top:22px;font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--fg3)}

/* ── homepage: editorial case ──────────────────────────────── */
.homeHero h1 i{color:var(--paper);font-style:italic}
.homeHeroLine{display:flex;gap:0;flex-wrap:wrap;margin-top:62px;border-top:1px solid var(--hero-rule);max-width:760px}
.homeHeroLine span{font-family:var(--mono);font-size:9px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:var(--paper);padding:14px 26px 0 0;margin-right:26px}

.homeEditorial h1,.homeEditorial h2,.homeEditorial h3{overflow-wrap:anywhere;min-width:0}
.homeProblem{padding-top:120px;padding-bottom:120px;max-width:980px}
.homeProblem>p.serif{font-size:clamp(42px,5.6vw,80px);line-height:1.02;letter-spacing:-.04em}
.homeProblem>p.serif i{color:var(--mark)}
.homeProblemLead p{font-size:clamp(40px,5.4vw,78px);line-height:1.04;letter-spacing:-.04em;max-width:18ch}
.homeProblemBody{margin-top:34px;display:flex;flex-wrap:wrap;align-items:baseline;gap:18px 40px}
.homeProblemBody p{font-size:19px;line-height:1.65;color:var(--fg2);max-width:46ch}
.homeProblemBody .textLink{margin-top:0}
.textLink{display:inline-block;margin-top:28px;color:var(--fg);font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--mark);padding-bottom:5px;white-space:nowrap}
.textLink span{display:inline-block;margin-left:8px;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.textLink:hover span{transform:translateX(4px)}
.textLink:focus-visible,.homeOfferList a:focus-visible,.homeGoogle:focus-visible{outline:3px solid var(--mark);outline-offset:5px}

.homeProof{padding-top:112px;padding-bottom:92px}
.homeProof blockquote{max-width:1050px}
.homeProof blockquote p{font-size:clamp(38px,6.2vw,88px);line-height:1.02;letter-spacing:-.045em}
.homeProof blockquote i{color:var(--mark);font-style:italic}
.homeProof blockquote footer{display:flex;gap:12px;align-items:baseline;margin-top:34px;font-size:13px;color:var(--fg2)}
.homeProof blockquote footer b{color:var(--fg);font-weight:500}
.homeProofBand{overflow:hidden;padding-bottom:100px}
.homeProof{padding-bottom:64px!important}
.homeProofTop{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:clamp(40px,6vw,90px);align-items:center}
.homeGoogle{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;border-top:1px solid var(--fg);border-bottom:1px solid var(--hair);padding:24px 0;color:var(--fg);text-decoration:none;transition:border-color .25s ease}
.homeGoogle:hover{border-top-color:var(--mark)}
.homeGoogleLabel,.homeGoogle .lbl{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg2)}
.homeGoogleRating{display:flex;align-items:baseline;gap:14px}
.homeGoogleRating strong{font-family:var(--display);font-size:52px;font-weight:400;line-height:1;letter-spacing:-.03em}
.homeGoogle .stars{color:var(--mark);letter-spacing:.12em;font-size:12px}
.homeGoogle .go{margin-top:8px;font-size:11px;border-bottom:1px solid var(--mark);padding-bottom:3px}
.homeProofFoot{margin-top:34px}
@media(prefers-reduced-motion:reduce){.reviewTrack{animation:none}.reviewWall{overflow-x:auto}}

.homeMethod{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(56px,8vw,120px);align-items:start;padding-top:120px;padding-bottom:120px}
.homeMethod h2{font-size:clamp(38px,4.8vw,68px)}
.homeSequence{margin:62px 0 42px;border-top:1px solid var(--hair)}
.homeSequence article{display:grid;grid-template-columns:42px minmax(0,1fr);gap:20px;padding:28px 0;border-bottom:1px solid var(--hair)}
.homeSequence article>span{font-family:var(--mono);font-size:9px;color:var(--mark);padding-top:7px;letter-spacing:.1em}
.homeSequence h3{font-size:26px;margin-bottom:10px}
.homeSequence p{font-size:14.5px;line-height:1.75;color:var(--fg2)}
.homeDashboard{position:sticky;top:28px;margin-top:124px}
.homeDashboard video{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--panel)}
.homeDashboard figcaption{font-size:16px;line-height:1.6;color:var(--fg2);padding-top:18px;max-width:46ch}
.homeDashboard figcaption b{color:var(--fg);font-weight:500}

.homeOffers{padding-top:112px;padding-bottom:120px}
.homeOffers header{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);gap:64px;align-items:end;margin-bottom:72px}
.homeOffers header p{font-size:15px;line-height:1.8;color:var(--fg2);max-width:42ch}
.homeOfferList{border-top:1px solid var(--hair)}
.homeOfferList a{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(200px,.6fr) minmax(150px,.4fr) 28px;gap:28px;align-items:center;color:var(--fg);text-decoration:none;padding:29px 0;border-bottom:1px solid var(--hair);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.homeOfferList a:hover{transform:translateX(8px)}
.homeOfferList a:active{transform:translateX(4px)}
.homeOfferList a[aria-disabled="true"]{opacity:.55;cursor:not-allowed;pointer-events:none}
.homeOfferNeed{font-family:var(--display);font-size:clamp(30px,3.4vw,50px);line-height:1.05;letter-spacing:-.03em;color:var(--mark)}
.homeOfferList strong{font-family:var(--body);font-size:clamp(17px,1.5vw,21px);font-weight:500;letter-spacing:-.005em;color:var(--fg)}
.homeOfferPrice{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg3);white-space:nowrap}
.homeOfferList i{font-family:var(--body);font-style:normal;color:var(--mark);font-size:20px}

.homeKate{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(50px,9vw,140px);align-items:center;padding-top:110px;padding-bottom:110px}
.homeKatePhoto{aspect-ratio:4/5;background-image:url('/photos/kate-03.jpg');background-size:cover;background-position:75% 50%;filter:grayscale(1) contrast(1.08)}
.homeKateCopy h2{font-size:clamp(38px,5vw,70px);max-width:14ch}
.homeKateCopy>p{font-size:16px;line-height:1.85;color:var(--fg2);max-width:59ch;margin-top:30px}
.homeKateCopy .homeFit{border-top:1px solid var(--hair);padding-top:24px;margin-top:30px}
.homeFit b{color:var(--fg);font-weight:500}
.homeKateCopy .btn{margin-top:34px}

@media(max-width:900px){
  .homeProblem,.homeMethod,.homeKate{grid-template-columns:1fr}
  .homeProblem{gap:42px}
  .homeMethod{gap:50px}
  .homeDashboard{position:static;margin-top:0;order:-1}
  .homeOffers header{grid-template-columns:1fr;gap:24px}
  .homeOfferList a{grid-template-columns:minmax(0,1fr) auto;gap:9px 20px}
  .homeOfferNeed{grid-column:1/3}
  .homeOfferPrice{grid-column:1}.homeOfferList i{grid-column:2;grid-row:2/4}
  .homeKatePhoto{max-width:460px;width:100%}
  .homeProofTop{grid-template-columns:1fr}
  .homeGoogle{width:220px}
}
@media(max-width:760px){
  .homeHero .heroType{padding-bottom:56px}
  .homeHero h1{font-size:clamp(54px,19vw,84px);overflow-wrap:anywhere;min-width:0}
  .homeHeroLine{margin-top:40px}
  .homeHeroLine span{padding-right:14px;margin-right:14px;font-size:8px}
  .homeProblem{padding-top:76px;padding-bottom:76px}
  .homeProblemLead p{font-size:clamp(36px,12vw,54px)}
  .homeProof{padding-top:78px;padding-bottom:68px}
  .rv{width:300px;padding:0 28px}
  .rv p{font-size:21px}
  .homeMethod{padding-top:76px;padding-bottom:82px}
  .homeOffers{padding-top:76px;padding-bottom:80px}
  .homeOffers header{margin-bottom:46px}
  .homeOfferList a{padding:23px 0}
  .homeOfferList a:hover,.homeOfferList a:active{transform:none}
  .homeOfferNeed{font-size:30px}
  .homeKate{padding-top:76px;padding-bottom:80px}
  .homeKatePhoto{max-width:320px}
}

/* ── case studies: homepage strip + results page ──────────── */
.homeCases{padding-top:110px;padding-bottom:110px}
.homeCases header{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);gap:64px;align-items:end;margin-bottom:56px}
.homeCases header p{font-size:15px;line-height:1.8;color:var(--fg2);max-width:42ch}
.caseGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.caseCard{display:flex;flex-direction:column;gap:14px;padding:30px 28px;border:1px solid var(--hair);color:var(--fg);text-decoration:none;transition:border-color .25s}
.caseCard:hover{border-color:var(--mark)}
.caseCard .svc{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mark)}
.caseCard strong{font-family:var(--display);font-size:30px;font-weight:400;line-height:1.1;letter-spacing:-.02em}
.caseCard span.cl{font-size:12.5px;color:var(--fg2)}

.resReviews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:80px;padding-bottom:100px}
.resReviews{align-items:stretch}
.resReviews figure{margin:0;padding:34px 32px;border:1px solid var(--hair);display:flex;flex-direction:column;justify-content:space-between;gap:26px}
.resReviews figure p{font-size:17px;line-height:1.65;color:var(--fg)}
.resReviews figcaption{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--fg2)}
.resReviews figcaption b{color:var(--fg);font-weight:500}
.resSvc{padding-top:90px;padding-bottom:40px}
.resSvc>h2{font-size:clamp(36px,4.4vw,60px);margin-bottom:12px}
.resSvc>p.lede{font-size:15px;line-height:1.8;color:var(--fg2);max-width:52ch}
.caseBody{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(40px,7vw,110px);padding-top:90px;padding-bottom:110px;align-items:start}
.caseStudy{max-width:720px}
.caseAside{position:sticky;top:30px;border:1px solid var(--hair);padding:30px 28px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.caseAside .svc{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mark)}
.caseAside p{font-family:var(--display);font-size:28px;line-height:1.1}
.caseAside .textLink{margin-top:6px}
.phead .cond a{color:inherit;text-decoration:none;border-bottom:1px solid var(--hot)}
@media(max-width:900px){.caseBody{grid-template-columns:1fr}.caseAside{position:static}}
.caseStudy .svc{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mark)}
.caseStudy h3{font-size:clamp(30px,3.2vw,44px);margin:12px 0 8px}
.caseStudy .cl{font-size:13px;color:var(--fg2);margin-bottom:28px}
.caseStudy p,.caseStudy li{font-size:16px;line-height:1.85;color:var(--fg2)}
.caseStudy p+p{margin-top:16px}
.caseStudy h4{font-family:var(--body);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mark);margin:40px 0 12px;font-weight:500}
.caseStudy h4:first-child{margin-top:0}
.caseStudy p,.caseStudy li{font-size:18px}
@media(max-width:900px){
  .homeCases header{grid-template-columns:1fr;gap:20px}
  .caseGrid,.resReviews{grid-template-columns:1fr}
  .homeCases{padding-top:76px;padding-bottom:80px}
}

/* ── homepage: Kate + Results side by side ───────────────── */
.homeDuo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px;padding-top:110px;padding-bottom:110px;align-items:stretch}
.homeKateBox,.homeResultsBox{background:#fff;border:1px solid var(--hair);padding:clamp(34px,4vw,56px);display:flex;flex-direction:column;box-shadow:0 18px 40px -30px rgba(196,20,95,.35)}
.homeKateBox h2{font-size:clamp(34px,3.6vw,54px);max-width:15ch}
.homeKateBox>p{font-size:16px;line-height:1.8;color:var(--fg2);margin-top:26px}
.homeKateBox .homeFit{border-top:1px solid var(--hair);padding-top:22px}
.homeKateBox .btn{margin-top:auto;align-self:flex-start;transform:translateY(0)}
.homeKateBox .homeFit+.btn{margin-top:32px}
.homeResultsBox{background:var(--base);border-color:var(--base);color:#F7F5F1}
.homeResultsBox>.svc{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--hot);margin-bottom:16px}
.homeResultsBox h2{font-size:clamp(34px,3.6vw,54px);color:#F7F5F1}
.resRows{margin:30px 0 34px;border-top:1px solid #23242A;flex:1}
.resRow{display:flex;flex-direction:column;gap:6px;padding:22px 0;border-bottom:1px solid #23242A;color:#F7F5F1;text-decoration:none}
a.resRow:hover strong{color:var(--hot)}
.resRow .svc{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--hot)}
.resRow strong{font-size:clamp(24px,2.3vw,32px);font-weight:400;letter-spacing:-.02em;line-height:1.1;transition:color .2s}
.resRow .cl{font-size:12.5px;color:#B9B7B2}
.resRow .cl.stars{color:var(--hot);letter-spacing:.16em}
.resRowPending{cursor:default}
.resRowPending .svc{color:#B9B7B2}
.homeResultsBox .textLink{color:#F7F5F1;border-bottom-color:var(--hot);align-self:flex-start;margin-top:0}

.resGoogle{padding-top:90px;padding-bottom:100px}
.resGoogle header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.resGoogle header h2{font-size:clamp(36px,4.4vw,60px);margin-top:10px}
.resGoogle .stars{color:var(--mark);letter-spacing:.16em;font-size:16px}
.resGoogle .resReviews{padding-top:48px;padding-bottom:0}
.resGoogle figure .stars{font-size:13px}
@media(max-width:900px){
  .homeDuo{grid-template-columns:1fr;padding-top:76px;padding-bottom:80px}
}

/* ── case study photo cards (from the v8 'Selected work' block) ── */
.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px}
.case{display:flex;flex-direction:column;background:var(--panel,#fff);border:1px solid var(--hair);color:var(--fg);text-decoration:none;overflow:hidden;transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s}
.s-light .case{background:#fff}
.case:hover{transform:translateY(-6px);box-shadow:0 30px 60px -36px rgba(196,20,95,.5)}
.case .photo{aspect-ratio:3/2;background-size:cover;background-position:center;filter:grayscale(.2) contrast(1.05);transition:transform .9s cubic-bezier(.16,1,.3,1)}
.case:hover .photo{transform:scale(1.04)}
.case .body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.case .cat{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg3)}
.case h3{font-family:var(--display);font-weight:400;font-size:clamp(28px,2.6vw,38px);letter-spacing:-.02em;margin:10px 0 8px}
.case .sum{font-size:14px;line-height:1.6;color:var(--fg2)}
.case .res{display:flex;align-items:baseline;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid var(--hair)}
.case .sum+.res{margin-top:18px}
.case .res b{font-family:var(--display);font-weight:400;font-size:40px;line-height:1;color:var(--mark)}
.case .res span{font-size:12.5px;line-height:1.45;color:var(--fg2)}
@media(max-width:900px){.cases{grid-template-columns:1fr}}

/* ── hero lead: two short lines, then the detail ── */
.heroLead b{display:block;font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(28px,2.8vw,46px);line-height:1.08;color:var(--hot);letter-spacing:-.025em;opacity:1}
.heroLead span{display:block;margin-top:14px;font-size:clamp(14px,1.1vw,17px);color:var(--paper);letter-spacing:.01em}

/* Static proof is calmer and easier to read than a moving review rail. */
.reviewGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.rv{margin:0;padding:34px clamp(24px,3vw,42px) 38px;border-right:1px solid var(--hair);display:flex;flex-direction:column;justify-content:space-between;gap:30px;min-width:0}
.rv:last-child{border-right:0}
.rv p{font-family:var(--body);font-size:17px;font-weight:400;line-height:1.65;color:var(--fg)}
.rv figcaption{display:flex;flex-direction:column;gap:3px}
.rv figcaption b{font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg)}
.rv figcaption span{font-size:12px;color:var(--fg2)}
@media(max-width:900px){.reviewGrid{grid-template-columns:1fr}.rv{border-right:0;border-bottom:1px solid var(--hair)}.rv:last-child{border-bottom:0}}


/* ── homepage method: copy on top, full-width dashboard below ── */
.homeMethod{display:block!important}
.homeMethodCopy{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,110px);align-items:start}
.homeMethodCopy .homeSequence{margin:0}
.homeDashboard{position:static!important;margin:72px 0 0!important}
.homeDashboard figcaption{margin-top:6px}
.homeMethodBtn{margin-top:34px}

/* ── the sample dashboard. light app on a dark band; drawn, not recorded ── */
.db{--ink:#0B0B0C;--g1:#5A5D66;--g2:#8A8F98;--ln:#E7E7EA;--app:#F3F3F5;--pk:#C4145F;--pk2:#FDEEF4;
  background:var(--app);color:var(--ink);border-radius:14px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.85);font-size:12px;line-height:1.35}
.dbApp{display:grid;grid-template-columns:170px minmax(0,1fr)}
.dbSide{background:#fff;border-right:1px solid var(--ln);padding:20px 14px;display:flex;flex-direction:column;gap:22px}
.dbLogo{font-family:var(--display);font-size:24px;letter-spacing:-.02em;padding-left:8px}
.dbSide nav{display:flex;flex-direction:column;gap:2px}
.dbSide nav span{display:flex;justify-content:space-between;padding:8px 10px;border-radius:7px;color:var(--g1);font-size:12.5px}
.dbSide nav span.on{background:var(--pk2);color:var(--pk);font-weight:500}
.dbSide nav em{font-style:normal;font-family:var(--mono);font-size:10px;color:var(--g2)}
.dbSide nav .on em{color:var(--pk)}
.dbSideFoot{margin-top:auto;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--g2);padding-left:10px}
.dbMain{padding:20px 22px 22px;min-width:0}
.dbTop{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}
.dbDate{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--g2)}
.dbHello{font-family:var(--display);font-size:clamp(22px,2.2vw,30px);letter-spacing:-.02em;margin-top:4px}
.dbHello b{font-weight:400;color:var(--pk)}
.dbSearch{background:#fff;border:1px solid var(--ln);border-radius:8px;padding:8px 14px 8px 30px;color:var(--g2);min-width:180px;position:relative}
.dbSearch::before{content:"";position:absolute;left:11px;top:50%;width:9px;height:9px;border:1.5px solid var(--g2);border-radius:50%;transform:translateY(-60%)}
.dbKpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.dbKpis>div{background:#fff;border:1px solid var(--ln);border-radius:10px;padding:12px 14px;display:grid;grid-template-columns:1fr 64px;grid-template-rows:auto auto;align-items:end}
.dbKpis span{grid-column:1/3;color:var(--g1);font-size:11px}
.dbKpis strong{font-family:var(--display);font-weight:400;font-size:32px;line-height:1;margin-top:6px}
.dbKpis strong.pk{color:var(--pk)}
.dbKpis svg{width:64px;height:22px}
.dbKpis path{fill:none;stroke:var(--g2);stroke-width:1.6;stroke-linejoin:round;stroke-dasharray:120;stroke-dashoffset:120;animation:dbDraw 2.4s cubic-bezier(.16,1,.3,1) .4s forwards}
.dbKpis>div:first-child path{stroke:var(--pk)}
@keyframes dbDraw{to{stroke-dashoffset:0}}
.dbBody{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px;align-items:start}
.dbTable{background:#fff;border:1px solid var(--ln);border-radius:10px;padding:4px 16px 8px;min-width:0}
.dbTabs{display:flex;gap:18px;border-bottom:1px solid var(--ln)}
.dbTabs span{padding:12px 0 10px;color:var(--g2);border-bottom:2px solid transparent;margin-bottom:-1px}
.dbTabs span.on{color:var(--ink);border-bottom-color:var(--pk);font-weight:500}
.dbHeadRow,.dbRow{display:grid;grid-template-columns:8px minmax(0,1.25fr) 22px 96px minmax(0,1.4fr) 92px 44px 30px;gap:12px;align-items:center}
.dbHeadRow{padding:10px 0 8px;font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--g2)}
.dbRow{padding:11px 0;border-top:1px solid var(--ln)}
.dbT{width:8px;height:8px;border-radius:50%}
.dbT.hot{background:var(--pk);box-shadow:0 0 0 0 rgba(196,20,95,.5);animation:dbPulse 2.4s infinite}
.dbT.warm{background:#E9A0BF}.dbT.cold{background:#C9CCD2}
@keyframes dbPulse{70%{box-shadow:0 0 0 7px rgba(196,20,95,0)}100%{box-shadow:0 0 0 0 rgba(196,20,95,0)}}
.dbWho{display:flex;flex-direction:column;min-width:0}
.dbWho b{font-weight:500;font-size:12.5px}
.dbWho span,.dbSaid,.dbNext{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dbWho span{color:var(--g2);font-size:11px}
.dbCh{display:grid;place-items:center;width:20px;height:20px;border-radius:5px;font-size:10px;font-weight:600}
.dbCh.li{background:#0B0B0C;color:#fff}
.dbCh.em{background:var(--pk2);color:var(--pk)}
.dbCourt{font-size:10.5px;padding:3px 8px;border-radius:20px;white-space:nowrap;justify-self:start}
.dbCourt.you{background:var(--pk);color:#fff}
.dbCourt.them{background:var(--app);color:var(--g1)}
.dbSaid{font-family:var(--display);font-style:italic;font-size:15px;color:#2A2B31}
.dbNext{color:var(--g1)}
.dbWhen{font-family:var(--mono);font-size:10px;color:var(--g1)}
.dbWhen.due{color:var(--pk)}
.dbDays{font-family:var(--mono);font-size:10px;color:var(--g2);text-align:right}
.dbRow.open{border-top-color:var(--ln)}
.dbRow.isNew{animation:dbNew 10s ease-in-out infinite}
@keyframes dbNew{0%,5%{background:transparent}12%{background:var(--pk2)}40%,100%{background:transparent}}
.dbOpen{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px;margin:0 0 12px 20px;padding:14px;background:var(--app);border-radius:9px}
.dbLbl{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--g2);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.dbReady{font-family:var(--body);letter-spacing:0;text-transform:none;font-size:10px;color:var(--pk);background:#fff;border-radius:20px;padding:2px 8px}
.dbDraft p{background:#fff;border:1px solid var(--ln);border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.55;color:#2A2B31}
.dbCaret{display:inline-block;width:1.5px;height:13px;background:var(--pk);margin-left:2px;vertical-align:-2px;animation:dbBlink 1.1s steps(1) infinite}
@keyframes dbBlink{50%{opacity:0}}
.dbBtns{display:flex;gap:8px;margin-top:10px}
.dbBtn{font-size:10.5px;padding:6px 12px;border-radius:6px;border:1px solid var(--ln);background:#fff;color:var(--g1)}
.dbBtn.solid{background:var(--ink);border-color:var(--ink);color:#fff}
.dbIntel .dbLbl+.dbTags{margin-bottom:14px}
.dbTags{display:flex;flex-wrap:wrap;gap:6px}
.dbTags span{background:#fff;border:1px solid var(--ln);border-radius:20px;padding:3px 9px;font-size:10.5px;color:var(--g1)}
.dbFit{height:5px;border-radius:5px;background:#fff;overflow:hidden}
.dbFit i{display:block;height:100%;background:var(--pk);border-radius:5px}
.dbFitN{font-size:10.5px;color:var(--g1);margin-top:6px}
.dbRail{display:flex;flex-direction:column;gap:14px}
.dbCard{background:#fff;border:1px solid var(--ln);border-radius:10px;padding:14px 16px}
.dbFeed{height:132px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
.dbFeedTrack{animation:dbFeed 15s cubic-bezier(.65,0,.35,1) infinite}
.dbFeedTrack>div{height:33px;display:flex;align-items:center;gap:8px;color:var(--g1);font-size:11px;white-space:nowrap;overflow:hidden}
.dbFeedTrack b{font-weight:500;color:var(--ink)}
.dbFeedTrack i{flex:0 0 6px;height:6px;border-radius:50%;background:#C9CCD2}
.dbFeedTrack i.pk{background:var(--pk)}
.dbFeedTrack em{margin-left:auto;font-style:normal;font-family:var(--mono);font-size:9px;color:var(--g2);padding-left:6px}
@keyframes dbFeed{0%,14%{transform:translateY(0)}20%,34%{transform:translateY(-33px)}40%,54%{transform:translateY(-66px)}60%,74%{transform:translateY(-99px)}80%,94%{transform:translateY(-132px)}100%{transform:translateY(-165px)}}
.dbBars{display:flex;align-items:flex-end;gap:10px;height:84px;padding-top:6px}
.dbBars span{flex:1;height:var(--h);background:#E4E5E9;border-radius:4px 4px 0 0;position:relative;transform-origin:bottom;animation:dbGrow 1.6s cubic-bezier(.16,1,.3,1) both}
.dbBars span.pk{background:var(--pk)}
.dbBars span:nth-child(2){animation-delay:.1s}.dbBars span:nth-child(3){animation-delay:.2s}.dbBars span:nth-child(4){animation-delay:.3s}.dbBars span:nth-child(5){animation-delay:.4s}
.dbBars em{position:absolute;bottom:-17px;left:0;right:0;text-align:center;font-style:normal;font-family:var(--mono);font-size:8.5px;color:var(--g2)}
.dbBars+*{margin-top:0}
.dbCard:nth-child(2){padding-bottom:26px}
@keyframes dbGrow{from{transform:scaleY(0)}}
.dbFunnel{display:flex;flex-direction:column;gap:8px}
.dbFunnel div{display:grid;grid-template-columns:62px minmax(0,1fr) 28px;align-items:center;gap:8px;font-size:11px;color:var(--g1)}
.dbFunnel i{display:block;height:7px;width:var(--w);min-width:4px;background:#D9DBE0;border-radius:4px;animation:dbGrowX 1.8s cubic-bezier(.16,1,.3,1) both;transform-origin:left}
.dbFunnel i.pk{background:var(--pk)}
.dbFunnel b{font-weight:500;color:var(--ink);text-align:right;font-family:var(--mono);font-size:10px}
@keyframes dbGrowX{from{transform:scaleX(0)}}
@media(max-width:1180px){
  .dbBody{grid-template-columns:1fr}
  .dbRail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .homeMethodCopy{grid-template-columns:1fr;gap:40px}
  .dbApp{grid-template-columns:1fr}
  .dbSide{display:none}
  .dbKpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dbKpis>div:nth-child(n+4){display:none}
  .dbHeadRow{display:none}
  .dbRow{grid-template-columns:8px minmax(0,1fr) 22px auto}
  .dbSaid,.dbNext,.dbWhen,.dbDays{display:none}
  .dbOpen{grid-template-columns:1fr;margin-left:0}
  .dbRail{grid-template-columns:1fr}
  .dbRail .dbCard:nth-child(n+2){display:none}
  .dbSearch{display:none}
}
@media(prefers-reduced-motion:reduce){.db *{animation:none!important}.dbKpis path{stroke-dashoffset:0}}

/* ── services page: condensed. header, one pricing grid, quote, fit + next steps ── */
.svcHead{padding-top:56px;padding-bottom:56px}
.svcHead h1{font-size:clamp(42px,5.4vw,84px)}
.svcGrid{padding-top:64px;padding-bottom:64px}
.svcIntro{font-family:var(--display);font-size:clamp(26px,2.6vw,36px);letter-spacing:-.02em;margin-bottom:28px}
.svcCol{display:flex;flex-direction:column;border:1px solid var(--hair);background:#fff;padding:28px 26px 26px;scroll-margin-top:20px}
.svcNeed{font-family:var(--display);font-size:clamp(24px,2.1vw,30px);line-height:1.08;letter-spacing:-.02em;color:var(--mark);min-height:2.2em}
.svcCol h2{font-family:var(--body);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin-top:22px;color:var(--fg)}
.svcPrice{font-family:var(--display);font-size:clamp(44px,3.8vw,58px);line-height:1;letter-spacing:-.03em;margin-top:10px}
.svcPrice span{display:block;font-family:var(--body);font-size:12.5px;letter-spacing:0;color:var(--fg2);margin-top:6px}
.svcCol ul{list-style:none;margin:20px 0 0;padding:18px 0 0;border-top:1px solid var(--hair);display:flex;flex-direction:column;gap:9px}
.svcCol li{position:relative;padding-left:20px;font-size:14px;line-height:1.5;color:var(--fg2)}
.svcCol li::before{content:"";position:absolute;left:0;top:.65em;width:9px;height:1px;background:var(--mark)}
.svcAdd{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding:14px 16px;background:#FDEEF4;scroll-margin-top:20px}
.svcAdd b{display:block;font-weight:500;font-size:14px;color:var(--fg)}
.svcAdd div span{display:block;font-size:12.5px;line-height:1.4;color:var(--fg2);margin-top:3px}
.svcAdd strong{font-family:var(--display);font-weight:400;font-size:30px;line-height:1;white-space:nowrap;text-align:right}
.svcAdd strong span{display:block;font-family:var(--body);font-size:11px;color:var(--fg2);margin-top:4px}
.svcCol .btn{margin-top:auto;align-self:flex-start}
.svcCol ul,.svcAdd{margin-bottom:24px}
.svcFoot{display:flex;justify-content:space-between;align-items:baseline;gap:12px 40px;flex-wrap:wrap;margin-top:22px}
.svcTerms{font-size:13px;line-height:1.7;color:var(--fg2)}
.svcMini{font-size:12px;color:var(--fg2);max-width:62ch;text-align:right}
.svcMini .serif{font-style:italic;font-size:17px;color:var(--fg);margin-right:6px}
@media(max-width:1000px){.svcMini{text-align:left}}

.svcQuote{padding-top:56px;padding-bottom:56px;display:flex;align-items:baseline;justify-content:space-between;gap:24px 48px;flex-wrap:wrap}
.svcQuote p{font-size:clamp(28px,3.2vw,44px);line-height:1.1;letter-spacing:-.03em;max-width:28ch}
.svcQuote p i{color:var(--mark)}
.svcQuote span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg2)}

.svcNext{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:clamp(32px,5vw,80px);align-items:center;padding-top:64px;padding-bottom:64px}
.svcLbl{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mark);margin-bottom:14px}
.svcChecks,.svcSteps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.svcChecks li{position:relative;padding-left:26px;font-size:15.5px;color:var(--fg)}
.svcChecks li::before{content:"";position:absolute;left:2px;top:6px;width:11px;height:5px;border-left:1.5px solid var(--mark);border-bottom:1.5px solid var(--mark);transform:rotate(-45deg)}
.svcSteps li{display:flex;gap:14px;font-size:15.5px;color:var(--fg)}
.svcSteps span{font-family:var(--mono);font-size:10px;color:var(--mark);padding-top:4px}
@media(max-width:1000px){
  .svcNeed{min-height:0}
  .svcNext{grid-template-columns:1fr;align-items:start}
}


/* ── services pricing v3: LinkedIn pair left, two short cards stacked right ── */
.svcCols{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:18px;align-items:stretch}
.svcPair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto 1fr;border:1px solid var(--hair);background:#fff;scroll-margin-top:20px}
.svcPairHead{grid-column:1/3;padding:24px 28px 0;font-family:var(--display);font-size:clamp(26px,2.4vw,34px);letter-spacing:-.02em;color:var(--mark)}
.svcPair .svcCol{border:0;background:transparent;padding:18px 28px 24px}
.svcPair .svcCol+.svcCol{border-left:1px solid var(--hair)}
.svcCol.isPlus{background:#FDF5F8}
.svcOpt{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg3)}
.svcCol h2{margin-top:6px}
.svcPair .svcPrice{font-size:clamp(40px,3.4vw,52px);margin-top:8px}
.svcPair .svcPrice span{display:inline;margin-left:6px}
.svcLine{margin-top:8px;font-family:var(--display);font-style:italic;font-size:19px;line-height:1.2;color:var(--fg)}
.svcCol ul{margin:16px 0 20px;padding:0;border:0;gap:7px}
.svcCol li b{color:var(--fg);font-weight:500}
.svcCol .btn{margin-top:auto;align-self:flex-start}

.mini{display:block;margin-top:16px;background:#fff;border:1px solid var(--hair);border-radius:10px;padding:10px 12px 6px;color:#0B0B0C;text-decoration:none}
.miniDb{border:1.5px solid #C4145F;box-shadow:0 12px 28px -20px rgba(196,20,95,.55);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.miniDb:hover{transform:translateY(-2px)}
.miniTag{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#8A8F98;padding-bottom:7px;border-bottom:1px solid #F0EAED;margin-bottom:2px}
.miniTag.pk{color:#C4145F;font-weight:500}
.miniRow{display:grid;grid-template-columns:7px 1fr auto;align-items:center;gap:9px;padding:6px 2px;font-size:11.5px;border-radius:4px}
.miniRow+.miniRow{border-top:1px solid #F5F0F2}
.miniRow i{width:7px;height:7px;border-radius:50%;background:#D5D7DC}
.miniDb .miniRow i{background:#E9A0BF}
.miniRow i.hot,.miniDb .miniRow i.hot{background:#C4145F}
.miniRow i.pulse{animation:dbPulse 2.4s infinite}
.miniRow b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.miniRow span{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#8A8F98}
.miniRow span.due{color:#C4145F}
.miniRow span.you{background:#C4145F;color:#fff;border-radius:20px;padding:2px 7px;text-transform:none;letter-spacing:0;font-family:var(--body);font-size:9.5px}
.miniRow.isNew{animation:dbNew 9s ease-in-out infinite}

.svcSide{display:grid;grid-template-rows:1fr 1fr;gap:18px}
.svcSmall{display:flex;flex-direction:column;border:1px solid var(--hair);background:#fff;padding:22px 24px;scroll-margin-top:20px}
.svcSmall .svcNeed{font-size:clamp(20px,1.7vw,24px);min-height:0}
.svcSmallRow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:10px}
.svcSmall h2{font-family:var(--body);font-size:11.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin:0}
.svcSmall .svcPrice{font-size:30px;margin:0;white-space:nowrap}
.svcSmall .svcPrice span{display:inline;font-size:12px;margin-left:4px}
.svcSmall p{margin:10px 0 16px;font-size:13.5px;line-height:1.55;color:var(--fg2)}
.svcSmall .btn{margin-top:auto;align-self:flex-start}
@media(max-width:1000px){
  .svcCols{grid-template-columns:1fr}
  .svcPair{grid-template-columns:1fr}
  .svcPairHead{grid-column:1}
  .svcPair .svcCol+.svcCol{border-left:0;border-top:1px solid var(--hair)}
  .svcSide{grid-template-rows:auto}
}
@media(prefers-reduced-motion:reduce){.mini *{animation:none!important}}

/* ── services: classic pass. rules, serif, no tints, no rounded chips ── */
.svcCols{gap:0 48px}
.svcPair{border:0;border-top:2px solid var(--fg);background:transparent}
.svcPairHead{padding:22px 0 0!important}
.svcPair .svcCol{padding:14px 32px 8px 0;background:transparent}
.svcPair .svcCol+.svcCol{padding-left:32px;padding-right:0}
.svcCol.isPlus{background:transparent}
.svcOpt{font-family:var(--display);font-style:italic;font-size:17px;letter-spacing:0;text-transform:none;color:var(--fg2)}
.svcCol h2,.svcSmall h2{font-family:var(--display);font-weight:400;font-size:clamp(24px,2vw,30px);letter-spacing:-.015em;text-transform:none;margin-top:2px}
.svcPair .svcPrice{margin-top:10px}
.svcLine{color:var(--fg2)}
.svcCol li::before,.svcSmall li::before{background:var(--fg3)}
.mini{border-radius:0}
.miniDb{border:1px solid var(--mark);box-shadow:none}
.miniDb:hover{transform:none;background:#FFFBFD}
.miniTag,.miniTag.pk{font-family:var(--display);font-style:italic;font-size:15px;letter-spacing:0;text-transform:none;font-weight:400}
.miniRow span{font-family:var(--body);text-transform:none;letter-spacing:0;font-size:11px}
.svcSide{gap:0;border-top:2px solid var(--fg)}
.svcSmall{border:0;background:transparent;padding:22px 0}
.svcSmall+.svcSmall{border-top:1px solid var(--hair)}
.svcSmall .svcNeed{margin:0}
.svcIntro{font-size:clamp(22px,2vw,28px);color:var(--fg2);font-style:italic}

.svcQuote2{margin:56px 0 0;padding:34px 0 0;border-top:1px solid var(--hair);max-width:none}
.svcQuote2 p{font-size:clamp(28px,3vw,42px);line-height:1.15;letter-spacing:-.025em;max-width:32ch}
.svcQuote2 footer{margin-top:14px;font-size:13px;color:var(--fg2)}
.svcTerms{margin-top:34px;font-size:13px;color:var(--fg2)}

.svcNextBand{border-top:1px solid var(--hair)}
.svcNext{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(40px,7vw,120px)!important;padding-top:84px!important;padding-bottom:96px!important;align-items:start!important}
.svcNext h2{font-size:clamp(32px,3.2vw,46px);padding-bottom:18px;border-bottom:2px solid var(--fg)}
.svcChecks,.svcSteps{gap:0!important}
.svcChecks li,.svcSteps li{font-size:17px;line-height:1.5;padding-top:16px;padding-bottom:16px;border-bottom:1px solid var(--hair)}
.svcChecks li::before{top:23px}
.svcSteps span{font-family:var(--display);font-style:italic;font-size:20px;color:var(--mark);padding-top:0;min-width:22px;line-height:1.2}
.fbig{margin-top:0;padding-top:120px}
@media(max-width:760px){.fbig{padding-top:80px}}
@media(max-width:1000px){
  .svcPair .svcCol,.svcPair .svcCol+.svcCol{padding:14px 0 20px}
  .svcNext{grid-template-columns:1fr!important}
}

/* ── services: designed pass. pink band, white cards with black caps, typographic prices ── */
.svcBand{border-top:1px solid var(--hair)}
.svcGrid{padding-top:84px;padding-bottom:96px}
.svcIntro{font-family:var(--display);font-style:normal;font-weight:400;font-size:clamp(40px,4.6vw,68px);line-height:1;letter-spacing:-.035em;color:var(--fg);margin-bottom:44px}
.svcCols{gap:22px}
.svcPair{background:#fff;border:0;border-top:4px solid #0B0B0C;box-shadow:0 1px 0 rgba(11,11,12,.06),0 24px 48px -36px rgba(120,20,60,.45)}
.svcPairHead{padding:30px 36px 0!important;font-size:clamp(30px,2.8vw,40px)}
.svcPair .svcCol{padding:18px 36px 30px 36px!important}
.svcPair .svcCol+.svcCol{border-left:1px solid #EFE6EA}
.svcTerms{grid-column:1/3;margin:0;padding:16px 36px 20px;border-top:1px solid #EFE6EA;font-size:12.5px;line-height:1.6;color:var(--fg2);background:#FCFAFB}
.svcSide{gap:22px;border-top:0}
.svcSmall{background:#fff;border:0;border-top:4px solid #0B0B0C;padding:26px 30px 28px!important;box-shadow:0 1px 0 rgba(11,11,12,.06),0 24px 48px -36px rgba(120,20,60,.45)}
.svcSmall+.svcSmall{border-top:4px solid #0B0B0C}
.svcPrice sup{font-size:.42em;vertical-align:top;position:relative;top:.28em;margin-right:2px;letter-spacing:0}
.svcPrice small{font-family:var(--display);font-style:italic;font-size:.36em;letter-spacing:0;color:var(--fg2);margin-right:2px;vertical-align:.5em}
.svcPair .svcPrice{font-size:clamp(48px,4vw,64px)}
.miniDb{background:#fff}

.svcQuote3{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:clamp(20px,3vw,44px);align-items:start;margin:0;padding:96px 0 100px;max-width:1100px}
.svcQmark{font-size:clamp(140px,14vw,220px);line-height:.75;color:var(--hot);grid-row:1/3}
.svcQuote3 blockquote{margin:0;font-size:clamp(32px,3.8vw,56px);line-height:1.1;letter-spacing:-.03em;color:var(--fg)}
.svcQuote3 blockquote i{color:var(--hot)}
.svcQuote3 figcaption{margin-top:30px;display:flex;align-items:center;gap:14px;font-size:13px;color:var(--fg2)}
.svcQuote3 figcaption::before{content:"";width:40px;height:1px;background:var(--hot)}
.svcQuote3 figcaption b{color:var(--fg);font-weight:500}
.svcNextBand{border-top:0}
@media(max-width:1000px){
  .svcTerms{grid-column:1;padding:16px 0 20px;background:transparent}
  .svcPair{padding:0 24px}
  .svcPairHead{padding:26px 0 0!important}
  .svcPair .svcCol{padding:16px 0 26px!important}
  .svcPair .svcCol+.svcCol{border-left:0;border-top:1px solid #EFE6EA}
  .svcSmall{padding:24px!important}
  .svcQuote3{grid-template-columns:1fr;padding:72px 0}
  .svcQmark{grid-row:auto;font-size:120px;height:70px}
}

/* ── journal: index, topic hubs, and one page per post ── */
.jHead .cond a{color:inherit;text-decoration:none;border-bottom:1px solid var(--hot)}
.jIndex{padding-top:72px;padding-bottom:100px;max-width:1000px}
.jGuideCard{display:flex;flex-direction:column;gap:8px;padding:22px 26px;margin:22px 0 6px;border-top:4px solid var(--fg);background:#FDF5F8;color:var(--fg);text-decoration:none;transition:background .25s}
.jGuideCard:hover{background:#FBEAF1}
.jGuideCard .jT{font-size:clamp(26px,2.6vw,36px);line-height:1.1;letter-spacing:-.02em}
.jGroup{margin-bottom:72px}
.jGroup header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 48px;align-items:end;padding-bottom:18px;border-bottom:2px solid var(--fg)}
.jGroup h2{font-size:clamp(30px,3.2vw,44px)}
.jGroup h2 a{color:var(--fg);text-decoration:none}
.jGroup h2 a:hover{color:var(--mark)}
.jGroup header p{font-size:15px;line-height:1.6;color:var(--fg2)}
.jList{display:flex;flex-direction:column}
.jItem{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:10px 36px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--hair);color:var(--fg);text-decoration:none;transition:padding .3s cubic-bezier(.16,1,.3,1)}
.jItem:hover{padding-left:10px}
.jItem:hover .jT{color:var(--mark)}
.jT{font-size:clamp(21px,1.9vw,26px);line-height:1.2;letter-spacing:-.015em;transition:color .2s}
.jD{font-size:14px;line-height:1.55;color:var(--fg2)}
.jM{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3);white-space:nowrap}

.jPostWrap{padding-top:40px;padding-bottom:100px;max-width:calc(760px + var(--pad) * 2)}
.jCrumbs{display:flex;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3);margin-bottom:46px}
.jCrumbs a{color:var(--fg2);text-decoration:none}
.jCrumbs a:hover{color:var(--mark)}
.jPost .dek{margin-bottom:18px;padding-bottom:0;border-bottom:0;font-size:18px}
.jByline{font-size:13px;color:var(--fg2);padding-bottom:28px;margin-bottom:40px;border-bottom:1px solid var(--hair)}
.jByline a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--mark)}
.jGuide{margin-top:34px;padding-top:20px;border-top:1px solid var(--hair);font-size:15px!important}
.jAuthor{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;align-items:start;margin-top:56px;padding:26px 0;border-top:2px solid var(--fg);border-bottom:1px solid var(--hair)}
.jAuthorPhoto{width:64px;height:64px;border-radius:50%;background:#0B0B0C;display:grid;place-items:center}
.jAuthorPhoto::after{content:"KW";font-family:var(--display);font-size:24px;color:#F7F5F1}
.jAuthor b{font-weight:500;font-size:15px}
.jAuthor p{margin-top:6px;font-size:14.5px;line-height:1.65;color:var(--fg2)}
.jNextStep{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:36px;padding:28px 30px;background:#FDF5F8}
.jNextStep p{font-size:clamp(24px,2.4vw,32px);letter-spacing:-.02em}
.jNextStep div{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.jNextStep .textLink{margin-top:0}
.jRelated{margin-top:72px}
.jRelated h2{font-size:clamp(28px,3vw,40px);padding-bottom:16px;border-bottom:2px solid var(--fg)}
@media(max-width:900px){
  .jGroup header,.jItem{grid-template-columns:1fr}
  .jItem{gap:6px}
}

.jIndex>.jGuideCard{margin:0 0 56px}
.jGroup .jGuideCard{border-top:0;border-left:4px solid var(--mark)}

/* ── other ways to work: four sections, each drawn differently ── */
.svcHead .sub a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--hot)}
.owKick{font-family:var(--display);font-style:italic;font-size:clamp(19px,1.7vw,24px);color:var(--mark);margin-bottom:14px}

/* one: the box */
.owBox{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,8vw,130px);align-items:center;padding-top:110px;padding-bottom:110px;scroll-margin-top:20px}
.owBox h2{font-size:clamp(52px,6.4vw,104px);line-height:.92;letter-spacing:-.045em}
.owBoxCopy>p{margin-top:26px;font-size:clamp(19px,1.6vw,23px);line-height:1.5;color:var(--fg);max-width:30ch}
.owBoxCopy .owSmall{font-size:14px;font-style:italic;color:var(--fg2);margin-top:14px}
.owBoxCopy .btn{margin-top:30px}
.owLabel{border:2px solid #0B0B0C;padding:0;transform:rotate(1.5deg);background:#fff;box-shadow:10px 10px 0 #FDE3EE;max-width:480px;justify-self:end;width:100%}
.owLabelTop,.owLabelFoot{display:flex;justify-content:space-between;padding:12px 20px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.owLabelTop{border-bottom:2px solid #0B0B0C}
.owLabelFoot{border-top:2px dashed #0B0B0C;color:var(--fg2)}
.owLabelPrice{padding:22px 20px 18px;border-bottom:1px solid #0B0B0C;font-family:var(--display);font-size:clamp(64px,6vw,92px);line-height:.9;letter-spacing:-.04em}
.owLabelPrice sup{font-size:.4em;vertical-align:top;position:relative;top:.3em;margin-right:3px}
.owLabelPrice span{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-left:10px;color:var(--fg2)}
.owLabel ol{list-style:none;margin:0;padding:6px 20px 10px}
.owLabel li{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid #E7E1E4;font-size:16px}
.owLabel li:last-child{border-bottom:0}
.owLabel li span{font-family:var(--mono);font-size:11px;color:var(--mark);padding-top:3px}

/* two: white label report */
.owWhite{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,8vw,130px);align-items:center;padding-top:110px;padding-bottom:110px;scroll-margin-top:20px}
.owReport{background:#F7F5F1;color:#0B0B0C;padding:26px 28px 24px;transform:rotate(-2deg);box-shadow:0 40px 70px -40px rgba(0,0,0,.9)}
.owReportHead{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:2px solid #0B0B0C;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#5A5D66}
.owLogo{font-family:var(--display);font-style:italic;font-size:26px;letter-spacing:-.01em;text-transform:none;color:#C4145F;border:1.5px dashed #C4145F;padding:4px 12px}
.owReportNums{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #DAD6D0}
.owReportNums div{padding:14px 0;display:flex;flex-direction:column;gap:3px}
.owReportNums strong{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:400;color:#8A8F98}
.owReportNums span{font-family:var(--display);font-size:22px}
.owReportBars{display:flex;flex-direction:column;gap:9px;padding:20px 0}
.owReportBars i{display:block;height:10px;width:var(--w);background:#0B0B0C}
.owReportBars i:first-child{background:#C4145F}
.owReportFoot{padding-top:14px;border-top:1px solid #DAD6D0;font-family:var(--display);font-style:italic;font-size:18px}
.owWhiteCopy h2{font-size:clamp(40px,4.6vw,70px);line-height:1;letter-spacing:-.035em}
.owLead{margin-top:24px;font-family:var(--display);font-size:clamp(24px,2.2vw,32px);line-height:1.2;color:var(--fg)}
.owWhiteCopy>p:not(.owLead){margin-top:18px;font-size:16px;line-height:1.7;color:var(--fg2);max-width:44ch}
.owWhiteCopy .btn{margin-top:30px}

/* three: specialists photo band */
.owSpec{scroll-margin-top:20px}
.owSpec section{padding-top:130px;padding-bottom:120px}
.owSpec .owKick{color:var(--hot)}
.owWords{font-family:var(--display);font-size:clamp(52px,8vw,128px);line-height:.95;letter-spacing:-.045em;color:var(--fg);max-width:12ch}
.owWords i{color:var(--hot)}
.owSpecFoot{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 60px;flex-wrap:wrap;margin-top:56px;padding-top:28px;border-top:1px solid rgba(247,245,241,.25)}
.owSpecFoot p{font-size:18px;line-height:1.6;color:var(--fg2);max-width:46ch}

/* four: referral flow */
.owRef{padding-top:110px;padding-bottom:110px;text-align:center;scroll-margin-top:20px}
.owRef h2{font-size:clamp(44px,5.6vw,88px);letter-spacing:-.04em;line-height:1}
.owFlow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:64px auto 50px;max-width:1080px;position:relative}
.owFlow::before{content:"";position:absolute;top:34px;left:16%;right:16%;border-top:1.5px dashed var(--mark)}
.owFlow div{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 20px}
.owFlow span{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#fff;border:1.5px solid var(--mark);font-family:var(--display);font-style:italic;font-size:32px;color:var(--mark)}
.owFlow b{margin-top:10px;font-family:var(--display);font-weight:400;font-size:clamp(24px,2.2vw,30px);letter-spacing:-.02em}
.owFlow p{font-size:15px;color:var(--fg2)}

@media(max-width:900px){
  .owBox,.owWhite{grid-template-columns:1fr;padding-top:76px;padding-bottom:80px}
  .owLabel{justify-self:start;transform:none;box-shadow:6px 6px 0 #FDE3EE}
  .owReport{transform:none;order:2}
  .owSpec section{padding-top:90px;padding-bottom:84px}
  .owRef{padding-top:76px;padding-bottom:80px;text-align:left}
  .owFlow{grid-template-columns:1fr;gap:28px;margin:40px 0}
  .owFlow::before{display:none}
  .owFlow div{flex-direction:row;align-items:center;flex-wrap:wrap;gap:4px 16px;padding:0}
  .owFlow span{width:52px;height:52px;font-size:24px}
  .owFlow b{margin-top:0}
  .owFlow p{flex-basis:100%;padding-left:68px}
}

/* Hallmark redesign · editorial consultancy · restrained finish
 * Pre-emit critique: P5 H5 E4 S5 R5 V4 */

/* Mobile navigation is a compact disclosure, not a clipped link rail. */
@media(max-width:1080px){
  .topbar{flex-wrap:nowrap;padding-bottom:24px}
  .nav{display:none}
  .menuToggle{
    display:flex;align-items:center;gap:11px;margin-inline-start:auto;
    border:0;background:transparent;color:var(--paper);font-family:var(--body);
    font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
    min-height:44px;padding:0;
  }
  .menuToggle i,.menuToggle i::before{
    content:"";display:block;width:20px;height:1px;background:currentColor;
    transition:transform .25s ease;
  }
  .menuToggle i{position:relative}
  .menuToggle i::before{position:absolute;inset-inline-start:0;top:6px}
  .menuToggle[aria-expanded="true"] i{transform:translateY(3px) rotate(45deg)}
  .menuToggle[aria-expanded="true"] i::before{transform:translateY(-6px) rotate(-90deg)}
  .menuToggle:focus-visible{outline:3px solid var(--hot);outline-offset:5px}
  .menuToggle:active{color:var(--hot)}
  .menuToggle:disabled{opacity:.55;cursor:not-allowed}
  .navrow{
    display:none;position:absolute;z-index:30;inset-inline:var(--pad);top:76px;
    width:auto;margin:0;padding:18px 20px 20px;background:var(--base);
    border:1px solid var(--hero-rule);overflow:visible;
    grid-template-columns:1fr;gap:0;
  }
  .navrow.isOpen{display:grid}
  .navrow a{
    display:block;padding:13px 0;border-bottom:1px solid var(--hero-rule);
    color:var(--paper);font-size:12px;white-space:nowrap;
  }
  .navrow a[aria-current="page"]{color:var(--hot)}
  .navrow a:focus-visible{outline:3px solid var(--hot);outline-offset:3px}
  .navrow a:active{color:var(--hot)}
  .navrow .mobileBook{border-bottom:0;color:var(--btn-ink);background:var(--btn);padding:13px 15px;margin-top:16px;text-align:center;font-weight:500}
}
@media(min-width:1081px){.menuToggle{display:none}.navrow{display:none}}

/* Quieter editorial rhythm. Pink marks decisions instead of filling every panel. */
.homeOffers header{grid-template-columns:minmax(0,1fr);margin-bottom:54px}
.homeOfferList a{grid-template-columns:minmax(0,1.45fr) minmax(210px,.65fr) minmax(150px,.35fr) 28px}
.homeDuo{gap:clamp(44px,7vw,96px);align-items:start}
.homeKateBox{border:0;box-shadow:var(--shadow-none);padding:8px 0;background:transparent}
.homeResultsBox{border:0;box-shadow:var(--shadow-none);padding:clamp(32px,4vw,48px)}

/* Services return to a ruled, unframed price sheet. */
.svcBand{background:var(--bg)}
.svcIntro{
  font-family:var(--mono);font-size:10px;line-height:1.4;letter-spacing:.12em;
  text-transform:uppercase;color:var(--mark);margin-bottom:34px;
}
.svcCols{gap:0 clamp(44px,6vw,84px)}
.svcPair{
  border:0;border-top:2px solid var(--fg);background:transparent;
  box-shadow:var(--shadow-none);padding:0;
}
.svcPairHead{padding:24px 0 4px!important}
.svcPair .svcCol{padding:18px 32px 12px 0!important;background:transparent}
.svcPair .svcCol+.svcCol{padding-inline:32px 0!important;border-left:1px solid var(--hair)}
.svcCol.isPlus{background:transparent}
.svcSide{gap:0;border-top:2px solid var(--fg)}
.svcSmall,.svcSmall+.svcSmall{
  border:0;background:transparent;box-shadow:var(--shadow-none);padding:24px 0 28px!important;
}
.svcSmall+.svcSmall{border-top:1px solid var(--hair)}
.svcCol li,.svcSmall p,.svcTerms{color:var(--fg2)}
.svcCol .btn,.svcSmall .btn{background:transparent;border-color:var(--fg);color:var(--fg)}
.svcCol .btn:hover,.svcSmall .btn:hover{background:var(--fg);color:var(--bg)}
.svcNext h2{font-size:clamp(30px,3vw,42px)}

@media(max-width:900px){
  .homeDuo{gap:56px}
  .homeOfferList a{grid-template-columns:minmax(0,1fr) auto}
  .svcCols{gap:54px}
  .svcPair .svcCol,.svcPair .svcCol+.svcCol{padding:18px 0 26px!important;border-left:0}
  .svcPair .svcCol+.svcCol{border-top:1px solid var(--hair)}
}

@media(max-width:760px){
  .topbar{padding-top:20px}
  .navrow{top:66px}
  .homeDuo{padding-top:76px;padding-bottom:80px}
  .homeResultsBox{padding:30px 24px}
  .svcGrid{padding-top:70px}
}

/* ── leak calculator (/leak-calculator.html) ─────────────── */
.lk{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:72px;align-items:start}
.lkq{min-width:0}
.lkq fieldset{border:0;min-width:0}
.lkg{margin-bottom:64px}
.lkg > legend{display:flex;align-items:baseline;gap:18px;font-family:var(--display);font-size:clamp(26px,3vw,40px);letter-spacing:-.035em;line-height:1.1;margin-bottom:10px;color:var(--fg)}
.lkn{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--mark)}
.lki{display:block;padding:26px 0;border-bottom:1px solid var(--hair)}
.lkt{display:block;font-size:17px;line-height:1.5;color:var(--fg);font-weight:400;max-width:48ch;padding:0}
.lkh{display:block;margin-top:6px;font-size:13.5px;line-height:1.6;color:var(--fg3);font-weight:300;max-width:52ch}
.lkin{display:inline-flex;align-items:baseline;margin-top:16px;border-bottom:1px solid var(--fg);gap:6px}
.lkin input{font-family:var(--display);font-size:34px;letter-spacing:-.03em;color:var(--fg);background:transparent;border:0;outline:0;width:7ch;padding:2px 0;-moz-appearance:textfield;appearance:textfield}
.lkin input::-webkit-outer-spin-button,.lkin input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.lkin input::placeholder{color:var(--fg3);opacity:.5}
.lkin:focus-within{border-bottom-color:var(--mark)}
.lkusd:before{content:"$";font-family:var(--display);font-size:24px;color:var(--fg3)}
.lkhr:after{content:"hrs / week";font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3)}
.lk10,.lkw{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.lk10 label,.lkw label{position:relative;cursor:pointer}
.lk10 input,.lkw input{position:absolute;opacity:0;pointer-events:none}
.lk10 span,.lkw span{display:block;border:1px solid var(--hair);color:var(--fg2);transition:.2s ease}
.lk10 span{width:40px;height:40px;line-height:38px;text-align:center;font-family:var(--mono);font-size:13px}
.lkw span{padding:11px 16px;font-size:14px}
.lk10 label:hover span,.lkw label:hover span{border-color:var(--fg)}
.lk10 input:checked + span,.lkw input:checked + span{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.lk10 input:focus-visible + span,.lkw input:focus-visible + span{outline:3px solid var(--mark);outline-offset:2px}

.lkr{position:sticky;top:24px;padding:38px 34px 34px;border-top:4px solid var(--mark)}
.lkrl{color:var(--fg3);margin-bottom:18px}
.lkbig{font-size:clamp(46px,4.6vw,68px);line-height:1;letter-spacing:-.04em;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.lkbig small{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg3)}
.lkextra{margin-top:16px;font-size:14px;line-height:1.65;color:var(--fg2);font-weight:300;min-height:46px}
.lkrank{margin:26px 0;border-top:1px solid var(--hair)}
.lkrank div{padding:14px 0 12px;border-bottom:1px solid var(--hair)}
.lkrank span{display:block;font-size:13px;color:var(--fg2);margin-bottom:9px}
.lkrank i{display:block;height:6px;width:0;background:var(--fg3);transition:width .5s ease}
.lkrank .top span{color:var(--fg)}
.lkrank .top span:after{content:"Costing you most";margin-left:10px;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--mark)}
.lkrank .top i{background:var(--mark)}
.lkref{margin:-8px 0 24px;font-size:13px;line-height:1.65;color:var(--fg2);font-weight:300;padding-left:14px;border-left:2px solid var(--mark)}
.lknote{margin-top:16px;font-size:12.5px;line-height:1.6;color:var(--fg3);font-weight:300}

.lkgate{display:flex;flex-direction:column;gap:22px;background:var(--panel);padding:38px 34px;border-top:4px solid var(--fg)}
.lkgate label{display:flex;flex-direction:column;gap:8px}
.lkgate .mono{color:var(--fg3)}
.lkgate input{font-family:var(--body);font-size:17px;color:var(--fg);background:transparent;border:0;border-bottom:1px solid var(--fg);padding:8px 0;outline:0}
.lkgate input:focus{border-bottom-color:var(--mark)}
.lkgate .btn{align-self:flex-start;cursor:pointer}
.lkconsent{font-size:12.5px;line-height:1.6;color:var(--fg3)}
.lkerr{font-size:13.5px;color:var(--mark);line-height:1.6}

.lkdraft{margin:22px 0 10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mark);border:1px dashed var(--mark);padding:12px 16px;display:inline-block}
.lkledger{list-style:none;margin-top:44px;border-top:1px solid var(--fg);counter-reset:lk}
.lkledger li{counter-increment:lk;display:grid;grid-template-columns:64px 1fr;column-gap:24px;padding:34px 0;border-bottom:1px solid var(--hair)}
.lkledger li:before{content:counter(lk,decimal-leading-zero);font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--fg3);padding-top:12px;grid-row:span 3}
.lkledger li.top:before{color:var(--mark)}
.lkrow{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap}
.lkrow span{font-size:clamp(23px,2.5vw,34px);letter-spacing:-.03em}
.lkrow b{font-weight:400;font-size:clamp(28px,3.4vw,48px);letter-spacing:-.04em}
.lkledger li.top .lkrow b{color:var(--mark)}
.lkhow{margin-top:14px;font-size:15px;color:var(--fg2);max-width:70ch}
.lkfix{margin-top:14px;font-size:15px;color:var(--fg);max-width:70ch}
.lkfix .mono{display:block;color:var(--mark);margin-bottom:6px}
.lkrefFull{margin-top:34px;font-size:15px;line-height:1.8;color:var(--fg2);font-weight:300;max-width:70ch;padding-left:18px;border-left:2px solid var(--mark)}
.lknext{margin-top:54px;display:flex;gap:30px;align-items:center;flex-wrap:wrap}
.lknext p{font-size:16px;color:var(--fg2);max-width:52ch}

@media(max-width:1000px){
  .lk{grid-template-columns:1fr;gap:20px}
  .lkr{position:static}
}
@media(max-width:620px){
  .lkledger li{grid-template-columns:1fr}
  .lkledger li:before{grid-row:auto;padding:0 0 10px}
  .lkr,.lkgate{padding:30px 22px}
  .lk10 span{width:36px;height:36px;line-height:34px}
}
/* a legend ignores its fieldset's padding unless floated */
.lki > legend{float:left;width:100%}
.lki > legend ~ *{clear:both}
@media(max-width:620px){
  .lk10{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
  .lk10 span{width:auto;height:44px;line-height:42px}
}

.lkpriv{margin-top:-10px;font-size:12.5px;color:var(--fg3)}
.lkpriv summary{cursor:pointer;display:inline-block;border-bottom:1px solid var(--hair);list-style:none}
.lkpriv summary::-webkit-details-marker{display:none}
.lkpriv summary:hover{color:var(--fg)}
.lkpriv p{margin-top:10px;font-size:13px;line-height:1.7;color:var(--fg2)}

/* Contact page: HoneyBook booking scheduler */
.bookPanel{padding:0;overflow:hidden;background:#fff}
.bookFrame{display:block;width:100%;height:780px;border:0;background:#fff}
.bookAlt{margin:0;padding:14px 20px;font-size:13px;color:var(--fg2);border-top:1px solid var(--hair)}
.bookAlt a{color:var(--fg);border-bottom:1px solid var(--mark);text-decoration:none}
@media(max-width:720px){.bookFrame{height:900px}}

/* Privacy page: smaller, plainer type than a journal post (Kate, 2026-09-25) */
.legal h1{font-size:clamp(26px,3.4vw,34px)}
.jPost.legal .dek{font-size:15px}
.legal h2{font-size:clamp(17px,1.7vw,20px);margin:32px 0 10px}
.legal p,.legal li{font-size:13.5px;line-height:1.75}
.legal p{margin-bottom:14px}
.lksub{margin-top:18px;font-size:clamp(28px,3.6vw,52px);line-height:1.1;font-style:italic;letter-spacing:-.03em;color:var(--mark)}
.jTopics{margin:28px 0 18px;font-size:14px;color:var(--fg2)}
.jTopics a{color:var(--fg);text-decoration:underline;text-underline-offset:3px}
/* journal cover images */
.jCover{margin:30px 0 38px}
.jCover img{display:block;width:100%;height:auto}
.jCover.photo img{aspect-ratio:16/9;object-fit:cover;border-radius:6px}
.jCover.screen img{border:1px solid var(--hair);border-radius:10px;box-shadow:0 24px 48px -36px rgba(120,20,60,.45)}
.jCover figcaption{margin-top:10px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--fg3)}

/* ─── Results: "In their own words" (clean index, Kate picked layout A, 2026-10-02) ─── */
.rwFull{font-size:17px;line-height:1.65;color:var(--fg2);margin:0}
.rwFull mark{background:linear-gradient(transparent 60%,color-mix(in srgb,var(--mark) 30%,transparent) 0);color:var(--fg);padding:0 1px}
blockquote.serif{font-family:var(--display);font-weight:400;margin:0;letter-spacing:-.025em}
.rwIndex{padding:90px 0 110px}
.rwRow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;padding:46px 0;border-top:1px solid var(--hair);margin:0}
.rwPull{font-size:clamp(34px,3.6vw,52px);line-height:1.02;color:var(--fg)}
.rwPull.rwAccent{color:var(--mark);font-style:italic}
.rwBody .stars{display:block;color:var(--mark);letter-spacing:3px;font-size:12px;margin-bottom:10px}
.rwRow figcaption{margin-top:16px;display:flex;flex-direction:column;gap:3px}
.rwRow figcaption b{font-weight:500;font-size:15px;color:var(--fg)}
.rwRow figcaption span{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3)}
.rwGHeader{display:flex;align-items:flex-end;gap:40px;padding:80px 0 34px;border-top:2px solid var(--fg);margin-top:30px}
.rwGHeader .btn{margin-left:auto;align-self:center}
.rwBig{font-family:var(--display);font-size:clamp(96px,12vw,170px);line-height:.8;letter-spacing:-.05em;color:var(--fg)}
.rwGHeader .stars{color:var(--mark);letter-spacing:4px;font-size:16px}
.rwGHeader h2{font-family:var(--display);font-weight:400;font-size:clamp(24px,2.4vw,34px);letter-spacing:-.02em;margin:6px 0 0;max-width:20ch;line-height:1.05}
@media(max-width:860px){
  .rwRow{grid-template-columns:1fr;gap:16px;padding:36px 0}
  .rwGHeader{flex-wrap:wrap;gap:20px}
  .rwGHeader .btn{margin-left:0}
}

/* ─── Homepage review slider (Kate picked layout B, 2026-10-02) ─── */
.hslTop{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:clamp(40px,6vw,90px);align-items:start}
.hslStage{display:grid}
.hslSlide{grid-area:1/1;margin:0;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s}
.hslSlide.on{opacity:1;visibility:visible}
.hslSlide blockquote{font-size:clamp(42px,6vw,86px);line-height:1;color:var(--fg);margin-bottom:28px;max-width:16ch}
.hslSlide blockquote i{color:var(--mark)}
.hslSlide .rwFull{max-width:62ch}
.hslSlide figcaption{margin-top:18px;display:flex;flex-direction:column;gap:3px}
.hslSlide figcaption b{font-weight:500;font-size:15px;color:var(--fg)}
.hslSlide figcaption span{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3)}
.hslNav{display:flex;align-items:center;gap:14px;margin-top:40px}
.hslBtn{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--fg);background:transparent;color:var(--fg);font-size:19px;cursor:pointer;transition:background .2s,color .2s}
.hslBtn:hover,.hslBtn:focus-visible{background:var(--fg);color:var(--bg)}
.hslCount{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--fg3);margin:0 10px}
.hslCount b{color:var(--fg);font-weight:400}
.hslNav .textLink{margin-left:auto}
@media(max-width:860px){
  .hslTop{grid-template-columns:1fr}
  .hslNav{flex-wrap:wrap}
  .hslNav .textLink{margin-left:0;width:100%}
}
.hslNav .textLink{margin-left:24px}
@media(max-width:860px){.hslNav .textLink{margin-left:0}.hslTop .homeGoogle{margin-top:20px}}

/* ─── Services page, condensed 2x2 (2026-10-02) ─── */
.svcHead{padding-bottom:56px!important}
.svGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:56px 0 64px}
.svCard{display:flex;flex-direction:column;border-top:2px solid var(--fg);padding:22px 0 0;scroll-margin-top:24px}
.svNeed{font-family:var(--display);font-size:20px;line-height:1.2;color:var(--mark);margin:0 0 14px}
.svTop{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.svTop h2{font-weight:400;font-size:clamp(26px,2.3vw,32px);line-height:1.05;letter-spacing:-.02em;margin:0}
.svN{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--fg3);margin-bottom:6px}
.svPrice{font-family:var(--display);font-size:clamp(34px,3vw,44px);line-height:1;letter-spacing:-.03em;white-space:nowrap;text-align:right;color:var(--fg)}
.svPrice small{font-style:italic;font-size:.4em;color:var(--fg2);vertical-align:.45em;margin-right:2px}
.svPrice sup{font-size:.42em;vertical-align:top;position:relative;top:.28em;margin-right:1px}
.svPrice span{display:block;font-family:var(--body);font-size:11.5px;letter-spacing:0;color:var(--fg2);margin-top:4px}
.svPriceWord{font-style:italic;color:var(--mark)}
.svWhat{font-size:15.5px;line-height:1.55;color:var(--fg);margin:16px 0 14px}
.svTicks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}
.svTicks li{position:relative;padding-left:24px;font-size:14.5px;line-height:1.45;color:var(--fg2)}
.svTicks li::before{content:"";position:absolute;left:2px;top:6px;width:10px;height:5px;border-left:1.5px solid var(--mark);border-bottom:1.5px solid var(--mark);transform:rotate(-45deg)}
.svTicks a{color:var(--mark)}
.svFoot{margin-top:auto;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.svTerms{margin:0;font-size:12.5px;line-height:1.5;color:var(--fg3);max-width:36ch}
.svFoot .btn{flex-shrink:0}
.svcQuote3{padding-top:64px!important;padding-bottom:64px!important}
.svStart{padding:72px 0 84px}
.svStart .svFitLine{max-width:880px}
.svLbl{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mark);margin-bottom:12px}
.svFitLine{font-family:var(--display);font-size:clamp(24px,2.3vw,32px);line-height:1.25;letter-spacing:-.015em;color:var(--fg);margin:0 0 48px}
.svSteps{list-style:none;padding:0;margin:0 0 40px;display:flex;flex-wrap:wrap;gap:14px 56px}
.svSteps li{display:flex;align-items:baseline;gap:12px;font-size:16px;color:var(--fg)}
.svSteps span{font-family:var(--display);font-size:28px;line-height:1;color:var(--mark)}
@media(max-width:900px){
  .svGrid{grid-template-columns:1fr}
  .svSteps{flex-direction:column}
  .svGrid{gap:40px}
  .svFoot{flex-direction:column;align-items:flex-start}
}
@media(max-width:1240px){.svSteps{flex-direction:column;gap:12px}}

/* Closing band: black, huge type, no photo (Kate picked option B, 2026-10-02) */
.closeType{background:#0B0B0C}
.closeType .fbig{font-size:clamp(72px,10.5vw,168px);line-height:.92;letter-spacing:-.04em}
.closeType .fbig i{color:var(--mark)}
@media(max-width:700px){.closeType .fsm br:first-of-type{display:none}}
/* Other ways: three across, same card as services (2026-10-02) */
.owGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
.owGrid .svTop{flex-direction:column;gap:10px}
.owGrid .svPrice{text-align:left}
@media(max-width:1100px){.owGrid{grid-template-columns:1fr}}

/* Contact page: calendar at the top (2026-10-02) */
.bookTop{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"head cal" "more cal";grid-template-rows:auto 1fr;gap:0 64px;padding:56px 0 80px;align-items:start}
.bookHead{grid-area:head}
.bookTop .panel{grid-area:cal}
.bookMore{grid-area:more;margin-top:40px}
.bookHead .cond{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--mark);margin-bottom:18px}
.bookHead h1{font-size:clamp(48px,5.4vw,84px);line-height:.95;margin:0}
.bookHead h1 i{color:var(--mark)}
.bookIntro{margin:24px 0 0;font-size:clamp(17px,1.4vw,20px);font-weight:300;line-height:1.55;color:var(--fg2);max-width:34ch}
.bookMore h3{font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg3);margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--hair)}
.bookMore p{font-size:15.5px;line-height:1.75;color:var(--fg2);margin:0 0 14px;max-width:46ch}
.bookEmail{margin-top:24px!important}
.bookEmail a{color:var(--fg);border-bottom:1px solid var(--mark);text-decoration:none}
@media(max-width:900px){
  .bookTop{grid-template-columns:1fr;grid-template-areas:"head" "cal" "more";padding:36px 0 56px}
  .bookTop .panel{margin-top:28px}
}

/* ─── Homepage tweaks 2026-10-02 ─── */
.homeProofBand{padding-bottom:0!important}
.homeProof.hsl{padding-bottom:56px!important}
/* smaller dashboard, with the card scanner beside it */
.homeDashRow{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:40px;align-items:center}
.scanPhone{background:#0B0B0C;border-radius:34px;padding:10px;box-shadow:0 30px 60px -30px rgba(196,20,95,.55),0 0 0 1px rgba(255,255,255,.08)}
.spScreen{background:#fff;border-radius:26px;padding:16px 14px 14px;color:#0B0B0C;font-family:var(--body)}
.spTop{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:500;margin-bottom:12px}
.spTop em{font-style:normal;font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:#8A8F98}
.spCam{position:relative;background:#2a2a2e;border-radius:14px;padding:22px 16px;margin-bottom:12px}
.spCam i{position:absolute;width:14px;height:14px;border-color:#FF2E88;border-style:solid;border-width:0}
.spCam .c1{top:8px;left:8px;border-top-width:2px;border-left-width:2px}
.spCam .c2{top:8px;right:8px;border-top-width:2px;border-right-width:2px}
.spCam .c3{bottom:8px;left:8px;border-bottom-width:2px;border-left-width:2px}
.spCam .c4{bottom:8px;right:8px;border-bottom-width:2px;border-right-width:2px}
.spCard{background:#fff;border-radius:4px;padding:10px 11px;transform:rotate(-3deg);box-shadow:0 8px 16px -8px rgba(0,0,0,.6);display:flex;flex-direction:column;gap:1px}
.spCard b{font-family:var(--display);font-weight:400;font-size:15px}
.spCard span{font-size:8.5px;color:#5A5D66}
.spCard .m{margin-top:5px;color:#C4145F}
.spFields{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}
.spFields div{display:flex;justify-content:space-between;gap:8px;font-size:10px;border-bottom:1px solid #F0EAED;padding-bottom:4px}
.spFields span{color:#8A8F98}
.spFields b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spNote{background:#FDEEF4;border-radius:8px;padding:8px 9px;font-size:10px;line-height:1.4;color:#5A2340;margin-bottom:10px}
.spBtn{background:#C4145F;color:#fff;text-align:center;border-radius:20px;padding:8px;font-size:11px;font-weight:500}
@media(max-width:900px){.homeDashRow{grid-template-columns:1fr}.homeDashRow .db{zoom:1}.scanPhone{max-width:240px;margin:0 auto}}
/* Kate's intro, full width until a case study exists */
.homeDuo{grid-template-columns:1fr!important}
.homeDuo:has(.homeResultsBox){grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important}
.homeDuo:not(:has(.homeResultsBox)) .homeKateBox{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px 64px;align-items:start}
.homeKateBox h2{max-width:none}
.homeKateText p{font-size:16.5px;line-height:1.75;color:var(--fg2);margin:0 0 16px}
.homeKateText .homeFit{border-top:1px solid var(--hair);padding-top:18px;margin-top:22px}
.homeKateText .btn{margin-top:14px}
@media(max-width:900px){.homeDuo:not(:has(.homeResultsBox)) .homeKateBox{grid-template-columns:1fr}}
/* Hero photo pulled a little left (Kate, 2026-10-02); its right edge fades to black so the shift looks deliberate */
@media(min-width:901px){
  .homeHero .heroPh{background-position:right 5vw bottom;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 30%,#000 calc(100% - 13vw),transparent calc(100% - 5vw));
            mask-image:linear-gradient(90deg,transparent 0%,#000 30%,#000 calc(100% - 13vw),transparent calc(100% - 5vw))}
}

.homeDashRow{display:block!important;max-width:980px}
@media(min-width:901px){.homeDashRow .db{zoom:.8}}
.homeKateHead{display:flex;flex-direction:column;align-items:flex-start;gap:26px}
.homeKatePic{width:clamp(150px,14vw,210px);height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;display:block;box-shadow:0 18px 40px -24px rgba(196,20,95,.55)}
@media(max-width:900px){.homeKateHead{flex-direction:row;align-items:center;gap:20px}.homeKatePic{width:96px}}

/* Method section: copy + steps on the left, board on the right (Kate, 2026-10-02) */
@media(min-width:1001px){
  .homeMethod{display:grid!important;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);grid-template-areas:"copy dash" "btn dash";grid-template-rows:auto 1fr;column-gap:clamp(40px,4.5vw,72px);align-items:start;padding-top:96px!important;padding-bottom:96px!important}
  .homeMethodCopy{grid-area:copy;display:block!important}
  .homeMethod h2{font-size:clamp(34px,3.2vw,48px)}
  .homeMethodCopy .homeSequence{margin:32px 0 0!important}
  .homeSequence article{grid-template-columns:30px minmax(0,1fr);gap:12px;padding:16px 0}
  .homeSequence h3{font-size:22px;margin-bottom:4px}
  .homeSequence p{font-size:14px;line-height:1.55}
  .homeDashboard{grid-area:dash;margin:0!important}
  .homeDashRow{max-width:none!important}
  .homeDashRow .db{zoom:.66}
  .homeMethodBtn{grid-area:btn;align-self:start;justify-self:start;margin-top:28px}
}
@media(min-width:1001px){.homeMethod{grid-template-rows:min-content 1fr}}
/* Kate box: photo beside one tidy column (2026-10-02) */
.homeDuo{padding-top:80px!important;padding-bottom:84px!important}
.homeDuo:not(:has(.homeResultsBox)) .homeKateBox{grid-template-columns:auto minmax(0,640px)!important;gap:0 52px!important;align-items:start;justify-content:start}
.homeKatePic{width:clamp(140px,13vw,190px)!important;margin-top:6px}
.homeKateText h2{margin:0 0 22px}
@media(max-width:900px){
  .homeDuo:not(:has(.homeResultsBox)) .homeKateBox{grid-template-columns:1fr!important}
  .homeKatePic{width:110px!important;margin:0 0 22px}
}
@media(min-width:1001px){.homeMethod{grid-template-areas:"copy dash"!important;grid-template-rows:auto!important}}
@media(min-width:901px){
  .homeDuo:not(:has(.homeResultsBox)) .homeKateBox{justify-content:center!important;align-items:center!important;gap:0 64px!important}
  .homeKatePic{width:clamp(170px,15vw,220px)!important;margin-top:0}
}
@media(min-width:901px){
  .homeDuo:not(:has(.homeResultsBox)) .homeKateBox{align-items:start!important}
  .homeKatePic{margin-top:4px!important}
}
.homeOffers{padding-bottom:64px!important}
.homeDuo{padding-top:40px!important}
/* Faster, earlier reveals so sections never scroll in blank (2026-10-02) */
.js .reveal{transform:translateY(12px);transition:opacity .45s ease-out,transform .45s ease-out}
/* Review slider: old review fades out before the new one fades in, so they never overlap */
.hslSlide{transition:opacity .3s ease,visibility 0s linear .3s}
.hslSlide.on{transition:opacity .45s ease .3s,visibility 0s linear .3s}
/* Guide: the follow-up stories, given room (2026-10-02) */
.pillarStory{margin:28px 0 30px;padding:26px 30px;border-left:3px solid var(--mark);background:color-mix(in srgb,var(--mark) 8%,transparent)}
.pillarStory p{font-family:var(--display);font-size:clamp(21px,1.9vw,26px)!important;line-height:1.35!important;color:var(--fg)!important;margin:0 0 14px!important}
.pillarStory p:last-child{margin-bottom:0!important}

/* Page headers, one look everywhere (2026-10-03): Kate wants the big Journal-size title on every page,
   with a bit less empty space above and below so the content still arrives soon */
.phead{padding-top:60px;padding-bottom:60px}
.phead h1,.svcHead h1{font-size:clamp(40px,6.6vw,112px);line-height:1}
.phead .sub,.svcHead .sub{margin-top:24px}
.svcHead{padding-top:60px!important;padding-bottom:60px!important}
.svGrid{padding-top:48px}
