/* Lux Marketing site styles (v2, "Ultramarine").
   Layout: one left-aligned editorial column (1120px). Each section opens with a dot-and-rule label,
   a Cardo headline whose second clause shifts tone, then one live diagram drawn in HTML, never stock art. */
:root{
  --ink:#16171A; --graphite:#45464B; --muted:#5E5D58;
  --paper:#F7F5F0; --stone:#EFECE4; --white:#FFFFFF; --line:#E2DED4; --line-strong:#CFCABE;
  --blue:#1A3A9C; --error:#9A3324; --blue-deep:#142E7D; --blue-tint:#ECEFF8; --blue-mid:#8C9DD0; --grey-bar:#D8D4CA;
  --display:"Cardo",Georgia,"Times New Roman",serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --wrap:1120px; --radius:4px;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
em,i,q,cite{font-style:normal}

html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font:16px/1.65 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.018em;text-wrap:balance;margin:0}
h1 em,h2 em,h3 em{font-style:normal}
p{margin:0}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.wrap{max-width:calc(var(--wrap) + 48px);margin:0 auto;
  padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
section{padding-block:112px}
.band-paper{background:var(--paper)}
.band-stone{background:var(--stone)}

/* section label: ● —— TEXT */
.label{display:flex;align-items:center;gap:10px;font:500 11px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
.label::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--blue);flex:none}
.label span{display:flex;align-items:center;gap:10px}
.label span::before{content:"";width:28px;height:1px;background:var(--line-strong)}
.h2{font-size:clamp(28px,3vw,40px);line-height:1.18;letter-spacing:-.012em;max-width:24em}
.h2 em{color:var(--graphite)}
.lede{font-size:17px;color:var(--graphite);max-width:620px;margin-top:18px}
.head{margin-bottom:48px}
.head.center{text-align:center}.head.center .label{justify-content:center}.head.center .h2,.head.center .lede{margin-left:auto;margin-right:auto}

/* plain-words callout */
.plain{background:var(--blue-tint);border-left:2px solid var(--blue);padding:16px 20px;max-width:620px;margin-top:26px}
.plain b{display:block;font:600 10px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:8px}
.plain p{font:400 19px/1.5 var(--display);color:var(--ink)}

/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--blue);color:var(--white);text-decoration:none;font:600 15px/1 var(--body);padding:16px 22px;border-radius:var(--radius);transition:background .18s ease,transform .18s ease}
.btn:hover{background:var(--blue-deep);transform:translateY(-1px)}
button.btn{border:0;cursor:pointer}
.btn svg,.lnk svg{width:14px;height:14px}
.lnk{display:inline-flex;align-items:center;gap:8px;font:600 15px/1 var(--body);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:4px;transition:border-color .18s ease,color .18s ease}
.lnk:hover{color:var(--blue);border-color:var(--blue)}
.micro{font-size:13px;color:var(--muted);margin-top:14px}

/* panel = the one bordered object in a section (diagrams) */
.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.cap{font:500 10.5px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.note{font-size:12px;color:var(--muted)}

/* ---------- hero ---------- */
.hero{padding-block:88px 72px;background:var(--paper)}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.hero h1{font-size:clamp(44px,5.8vw,76px);line-height:1.06;letter-spacing:-.022em}
.hero h1 em{color:var(--blue)}
.hero .lede{margin-top:28px;margin-bottom:34px;font-size:18px}
.video{border-radius:var(--radius);overflow:hidden;background:var(--ink);box-shadow:0 30px 60px -30px rgba(22,23,26,.45)}
.video{position:relative}
.video video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;cursor:pointer}
.logos{margin-top:72px;padding-top:28px;border-top:1px solid var(--line);display:flex;align-items:center;gap:40px}
.logos .cap{flex:none}
.logos-row{display:flex;flex-wrap:wrap;gap:22px 40px;align-items:center;flex:1;min-width:0}
.logos-row img{height:auto;width:auto;max-height:30px;max-width:104px;object-fit:contain;flex:none;filter:grayscale(1) contrast(1.1);opacity:.62;mix-blend-mode:multiply}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:44px}.video{max-width:560px}.logos{flex-direction:column;align-items:flex-start;gap:18px}.logos-row{width:100%;gap:18px 28px}.logos-row img{max-height:26px;max-width:88px}}

/* ---------- problem ---------- */
.problem-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start}
.pains{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:0}
.pains li{border-top:1px solid var(--line);padding:18px 0 18px 34px;position:relative}
.pains li::before{content:"";position:absolute;left:4px;top:27px;width:12px;height:2px;background:var(--blue);transform:rotate(45deg)}
.pains li::after{content:"";position:absolute;left:4px;top:27px;width:12px;height:2px;background:var(--blue);transform:rotate(-45deg)}
.pains b{display:block;font-weight:600;margin-bottom:4px}
.pains span{color:var(--graphite);font-size:15px}
.report{padding:26px 26px 22px;position:sticky;top:100px}
.report-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:6px}
.report-top .dots{display:flex;gap:6px}.report-top .dots i{width:8px;height:8px;border-radius:50%;background:var(--line)}
.row{display:grid;grid-template-columns:1fr auto 64px;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.row .k{font-size:14px;color:var(--graphite)}
.row .v{font:500 18px/1 var(--mono);font-variant-numeric:tabular-nums}
.row .t{font:500 12px/1 var(--mono);text-align:right;color:var(--muted)}
.row .t.up{color:var(--graphite)}
.spark{display:block;width:64px;height:20px}
.row.gap .k{color:var(--ink);font-weight:600}
.row.gap .v{color:var(--blue);font-family:var(--display);font-size:16px}
.report .plainline{margin-top:18px;font:400 18px/1.45 var(--display)}
.report .plainline em{color:var(--blue)}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:40px;padding-top:26px;border-top:1px solid var(--line)}
.stats b{display:block;font:400 44px/1 var(--display);color:var(--blue)}
.stats span{display:block;font-size:14px;color:var(--graphite);margin-top:8px}
@media (max-width:900px){.problem-grid{grid-template-columns:1fr;gap:48px}.report{position:static}}

/* ---------- proof ---------- */
.proof{padding-block:88px}
.proof-grid{display:grid;grid-template-columns:1.1fr 2fr;gap:64px;align-items:end}
.proof-intro p{font:400 24px/1.4 var(--display)}
.nums{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.nums div{border-top:2px solid var(--ink);padding-top:18px}
.nums b{display:block;font:400 clamp(44px,5vw,64px)/1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.nums span{display:block;min-height:2.8em;font:500 11px/1.4 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:12px}
.quote{margin-top:88px;display:grid;grid-template-columns:1.1fr 2fr;gap:64px;align-items:start}
.quote blockquote{margin:0;font:400 clamp(24px,2.7vw,34px)/1.3 var(--display);letter-spacing:-.01em}
.who{display:flex;align-items:center;gap:14px}
.who img,.who .ini{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none}
.who .ini{display:grid;place-items:center;background:var(--stone);font:600 14px/1 var(--body);color:var(--graphite)}
.who b{display:block;font-weight:600;font-size:15px}.who span{font-size:13px;color:var(--muted)}
@media (max-width:900px){.proof-grid,.quote{grid-template-columns:1fr;gap:28px}.quote .who{order:2}.nums{grid-template-columns:1fr;gap:24px}}

/* ---------- sprint ---------- */
.sprint-top{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:end;margin-bottom:56px}
.price{border-left:1px solid var(--line-strong);padding-left:28px}
.price b{display:block;font:400 64px/1 var(--display);letter-spacing:-.02em}
.price span{display:block;font-size:14px;color:var(--graphite);margin-top:10px}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto auto 1fr auto;column-gap:28px;row-gap:0;position:relative;padding-top:34px}
.timeline::before{content:"";position:absolute;left:6px;right:calc(25% - 28px);top:6px;height:2px;background:var(--blue)}
/* each step spans the same 4 rows (label, title, text, deliverable) so all four columns line up */
.tl{position:relative;display:grid;grid-row:span 4;grid-template-rows:subgrid;align-items:start}
.tl::before{content:"";position:absolute;top:-34px;left:0;width:14px;height:14px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px var(--paper)}
.tl .cap{color:var(--blue);margin-bottom:10px}
.tl h3{font-size:22px;line-height:1.2;margin-bottom:10px}
.tl p{font-size:14.5px;color:var(--graphite)}
.tl .out{justify-self:start;margin-top:18px;font:500 11px/1.3 var(--mono);color:var(--ink);border:1px solid var(--line-strong);background:var(--white);padding:6px 8px;border-radius:2px}
.sprint-foot{margin-top:56px;display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:center;padding-top:32px;border-top:1px solid var(--line-strong)}
.sprint-foot p{font-size:14px;color:var(--graphite)}
@media (max-width:900px){.sprint-top,.sprint-foot{grid-template-columns:1fr;gap:28px}.price{border-left:0;padding-left:0;border-top:1px solid var(--line-strong);padding-top:20px}
  .timeline{grid-template-columns:1fr;grid-template-rows:none;padding-top:0;padding-left:34px;gap:34px}
  .tl{grid-row:auto;grid-template-rows:none}
  .timeline::before{left:6px;right:auto;top:6px;bottom:auto;height:calc(100% - var(--last-h,160px));width:2px}
  .tl::before{top:4px;left:-34px}}

/* ---------- services ---------- */
.svc{display:grid;gap:0;border-top:1px solid var(--ink)}
.svc a{display:grid;grid-template-columns:120px 1fr 1.3fr 32px;gap:32px;align-items:baseline;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none}
.svc a:hover h3{color:var(--blue)}
.svc a:hover .arr{transform:translateX(4px);color:var(--blue)}
.svc .cap{color:var(--blue)}
.svc h3{font-size:28px;line-height:1.15;transition:color .18s ease}
.svc p{color:var(--graphite);font-size:15px}
.svc .arr{transition:transform .18s ease;color:var(--muted)}
@media (max-width:820px){.svc a{grid-template-columns:1fr 24px;gap:8px 16px}.svc .cap{grid-column:1/-1}.svc p{grid-column:1/2}.svc .arr{grid-row:2;grid-column:2}}

/* ---------- industries ---------- */
.ind-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}
.ind{padding:30px 32px 30px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px;text-decoration:none}
.ind:nth-child(2n){padding:30px 0 30px 32px;border-left:1px solid var(--line)}
.ind h3{font-size:30px}
.ind q{font:400 18px/1.4 var(--display);color:var(--blue);quotes:"\201C" "\201D"}
.ind p{color:var(--graphite);font-size:15px;max-width:440px}
.ind h3{transition:color .18s ease}.ind:hover h3{color:var(--blue)}
.ind .lnk{align-self:flex-start;margin-top:6px}
@media (max-width:760px){.ind-grid{grid-template-columns:1fr}.ind,.ind:nth-child(2n){padding:26px 0;border-left:0}}

/* ---------- results ---------- */
.tst{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-bottom:88px}
.tst figure{margin:0;border-top:1px solid var(--line-strong);padding-top:24px;display:flex;flex-direction:column;gap:22px;height:100%}
.tst figcaption{margin-top:auto}
.tst blockquote{margin:0;font:400 21px/1.45 var(--display)}
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.case{text-decoration:none;display:flex;flex-direction:column;gap:14px}
.case .shot{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--stone)}
.case .shot img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .4s ease}
.case:hover .shot img{transform:scale(1.03)}
.case .cap{color:var(--blue)}
.case h3{font-size:23px;line-height:1.2}
.case p{font-size:14.5px;color:var(--graphite)}
.cases-foot{margin-top:40px}
@media (max-width:900px){.tst{grid-template-columns:1fr;gap:36px}.cases{grid-template-columns:1fr;gap:40px}}

/* ---------- tools (free) ---------- */
.free{display:grid;grid-template-columns:1.6fr 1fr;gap:28px}
.free-main{display:grid;grid-template-columns:1fr 250px;gap:36px;padding:40px;align-items:center}
.free-main h3,.free-side h3{font-size:34px;line-height:1.1;margin:10px 0 14px}
.free-main p,.free-side p{color:var(--graphite);font-size:15px;margin-bottom:26px}
.scan{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper)}
.scan-bar{display:flex;align-items:center;gap:6px;padding:10px 12px;background:var(--white);border-bottom:1px solid var(--line)}
.scan-bar i{width:7px;height:7px;border-radius:50%;background:var(--line)}
.scan-bar span{margin-left:8px;font:400 11px/1 var(--mono);color:var(--muted)}
.grade{display:flex;align-items:baseline;justify-content:space-between;padding:16px 16px 10px}
.grade b{font:400 44px/1 var(--display);color:var(--blue)}
.scan ul{list-style:none;margin:0;padding:0 12px 14px;display:grid;gap:6px}
.scan li{display:flex;justify-content:space-between;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:2px;padding:8px 10px;font-size:12.5px}
.scan li em{font:500 10px/1 var(--mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase}
.scan .note{display:block;padding:0 16px 12px}
.scan li .ok{color:var(--blue)}.scan li .miss{color:#9A3324}
.free-side{padding:40px;display:flex;flex-direction:column}
.free-side .btns{margin-top:auto}
.adrow{display:grid;gap:8px;margin-bottom:28px}
.ad{display:grid;grid-template-columns:1fr 90px;gap:12px;align-items:center;font-size:12.5px;color:var(--graphite)}
.ad .bar{height:6px;background:var(--stone);border-radius:3px;overflow:hidden}
.ad .bar i{display:block;height:100%;background:var(--blue)}
@media (max-width:1100px){.free{grid-template-columns:1fr}}
@media (max-width:760px){.free-main{grid-template-columns:1fr;padding:28px}.free-side{padding:28px}}

/* ---------- fit ---------- */
.fit{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.fit > div{padding:32px}
.fit h3{font-size:26px;margin-bottom:18px}
.fit ul{list-style:none;margin:0;padding:0}
.fit li{display:grid;grid-template-columns:22px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:15px;color:var(--graphite)}
.fit li svg{margin-top:4px}
.fit .yes{border:1px solid var(--blue);background:var(--white)}
.fit .yes h3{color:var(--blue)}
.fit .no{border:1px solid var(--line);background:transparent}
.fit-foot{margin-top:40px;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.fit-foot p{font:400 21px/1.4 var(--display);max-width:640px}
@media (max-width:820px){.fit{grid-template-columns:1fr}.fit > div{padding:24px}}

/* ---------- faq ---------- */
.faq-grid{display:grid;grid-template-columns:1fr;gap:8px}
.faq-grid > div:last-child{max-width:880px}
.faq-grid .head{margin:0 0 32px}
main details{border-top:1px solid var(--line)}
main details:last-child{border-bottom:1px solid var(--line)}
main summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px 0;font:400 21px/1.3 var(--display)}
main summary::-webkit-details-marker{display:none}
main summary::after{content:"";flex:none;width:14px;height:14px;background:linear-gradient(var(--ink),var(--ink)) center/14px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1.5px 14px no-repeat;transition:transform .2s ease}
main details[open] summary::after{transform:rotate(45deg)}
main summary:hover{color:var(--blue)}
.ans{padding:0 48px 24px 0;color:var(--graphite);font-size:15.5px;display:grid;gap:10px}
.ans a{color:var(--blue)}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr;gap:32px}.faq-grid .head{position:static}.ans{padding-right:0}}

/* ---------- blog ---------- */
.posts{border-top:1px solid var(--ink)}
.post{display:grid;grid-template-columns:180px 1fr 32px;gap:32px;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none;align-items:baseline}
.post .cap{color:var(--blue)}
.post h3{font-size:26px;line-height:1.2;margin-bottom:8px;transition:color .18s ease}
.post p{color:var(--graphite);font-size:15px;max-width:640px}
.post:hover h3{color:var(--blue)}
.post .arr{color:var(--muted);transition:transform .18s ease}.post:hover .arr{transform:translateX(4px);color:var(--blue)}
@media (max-width:760px){.post{grid-template-columns:1fr 24px;gap:8px 16px}.post .cap{grid-column:1/-1}}

/* ---------- final cta ---------- */
.final{padding-block:120px;background:var(--stone)}
.final-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;align-items:end}
.final h2{font-size:clamp(32px,3.8vw,48px);line-height:1.14;letter-spacing:-.015em}
.final h2 em{color:var(--graphite)}
.final p{color:var(--graphite);font-size:17px;margin:26px 0 0;max-width:560px}
.final-act{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.final-act .phone{font-size:14px;color:var(--graphite)}
.final-act .phone b{font:500 15px/1 var(--mono);color:var(--ink);user-select:all}
@media (max-width:820px){.final-grid{grid-template-columns:1fr;gap:36px}}

/* ---------- footer ---------- */
.foot{padding-block:64px 40px;background:var(--white);border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:40px}
.foot img{height:44px;width:auto;margin-bottom:16px}
.foot .tag{font:400 18px/1.4 var(--display);color:var(--graphite);max-width:280px}
.foot h4{margin:0 0 14px;font:600 11px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14px}
.foot ul a{text-decoration:none;color:var(--graphite)}.foot ul a:hover{color:var(--blue)}
.legal{align-items:center;margin-top:56px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font:400 11px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.legal a{text-decoration:none}.legal a:hover{color:var(--blue)}
.foot-contact{margin-top:22px;font-size:15px}
.foot-contact a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:2px}
.foot-contact a:hover{color:var(--blue);border-color:var(--blue)}
.foot-social{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;font-size:14px}
.foot-social a{color:var(--graphite);text-decoration:none;padding-block:6px}.foot-social a:hover{color:var(--blue)}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid > div:first-child{grid-column:1/-1}}


/* ---------- StoryBrand restructure additions ---------- */
.hero-proof{margin-top:64px;padding-top:26px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.hero-proof b{display:block;font:400 clamp(30px,3.4vw,42px)/1 var(--display);letter-spacing:-.02em}
.hero-proof span{display:block;font:500 11px/1.4 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:10px}
@media (max-width:600px){.hero-proof{grid-template-columns:1fr;gap:18px;margin-top:44px}.hero-proof div{display:flex;align-items:baseline;gap:14px}.hero-proof span{margin-top:0}}
.success-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:start}
.day30{padding:26px 26px 20px;min-width:0}
.tbl-wrap{overflow-x:auto;margin-top:6px}
.tbl{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums;min-width:440px}
.tbl th{font:500 10.5px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:right;padding:12px 0 10px 12px;border-bottom:1px solid var(--line)}
.tbl th:first-child,.tbl td:first-child{text-align:left;padding-left:0}
.tbl td{text-align:right;padding:13px 0 13px 12px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:14.5px}
.tbl td:first-child{font-family:var(--body);color:var(--graphite)}
.tbl td.hi{color:var(--blue);font-weight:500}
.tbl tr.unattr td{color:var(--muted)}
.waste{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:16px 0 12px;padding:14px 16px;background:var(--blue-tint);border-left:2px solid var(--blue)}
.waste span{font-size:13.5px;color:var(--graphite)}.waste b{font:500 18px/1 var(--mono);color:var(--blue)}.waste .t{font-size:12.5px;color:var(--muted)}
.gets{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.gets li{padding:16px 0;border-bottom:1px solid var(--line)}
.gets b{display:block;font:400 21px/1.3 var(--display);margin-bottom:4px}
.gets span{font-size:14.5px;color:var(--graphite)}
@media (max-width:900px){.success-grid{grid-template-columns:1fr;gap:40px}}
.guide-grid{display:grid;grid-template-columns:380px 1fr;gap:64px;align-items:start}
.guide-photo img{width:100%;aspect-ratio:20/21;object-fit:cover;border-radius:var(--radius)}
.guide-name{margin-top:26px;font-size:15px;color:var(--graphite)}.guide-name b{color:var(--ink)}
.guide-nums{margin-top:32px}
.guide-quote{margin:36px 0 0;padding-top:24px;border-top:1px solid var(--line-strong);display:grid;gap:18px}
.guide-quote blockquote{margin:0;font:400 22px/1.4 var(--display)}
@media (max-width:900px){.guide-grid{grid-template-columns:1fr;gap:36px}.guide-photo{max-width:360px}}
.plan3{list-style:none;margin:0 0 64px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.plan3 > li{border-top:2px solid var(--ink);padding-top:18px}
.plan3 .n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--blue);color:var(--white);font:600 13px/1 var(--body);margin-bottom:16px}
.plan3 h3{font-size:26px;margin-bottom:8px}
.plan3 p{color:var(--graphite);font-size:15px}
.sub-label{margin-bottom:30px}
@media (max-width:820px){.plan3{grid-template-columns:1fr;gap:28px;margin-bottom:48px}}
.ph{background:#FFF4D6;color:#6B4E00;border:1px dashed #D9A400;border-radius:2px;padding:1px 6px;font:500 12.5px/1.5 var(--body);font-style:normal}
.ph-block{display:block;padding:12px 14px;margin-top:16px;max-width:620px}
.cases-ph{margin:28px 0 64px}
@media (max-width:560px){.tbl{min-width:0;font-size:13px}.tbl th:nth-child(3),.tbl td:nth-child(3){display:none}.tbl td{font-size:13px;padding-left:8px}.tbl th{padding-left:8px}.day30{padding:20px 16px 16px}}
.tst{margin-bottom:40px}

.path{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;align-items:stretch;row-gap:0}
.stage{display:flex;flex-direction:column;gap:10px;padding:26px 24px;border:1px solid var(--line);border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;background:var(--white);text-decoration:none;transition:border-color .18s ease}
.stage h3{font-size:24px;line-height:1.2;transition:color .18s ease}
.stage p{font-size:14.5px;color:var(--graphite)}
.stage .cap{color:var(--blue)}
.stage:hover{border-color:var(--blue-mid)}.stage:hover h3{color:var(--blue)}
.path .arrow{display:flex;align-items:center;justify-content:center;color:var(--line-strong);font-size:20px}
.path .base{grid-column:1/-1;display:grid;gap:6px;padding:20px 24px;background:var(--blue);color:var(--white);border-radius:0 0 var(--radius) var(--radius);text-decoration:none}
.path .base .cap{color:#C9D3F0}
.path .base b{font:400 22px/1.3 var(--display)}
.path .base span:last-child{font-size:14.5px;color:#DCE3F6;max-width:760px}
.path .base:hover b{text-decoration:underline;text-underline-offset:4px}
.path-foot{margin-top:28px;font-size:14.5px;color:var(--graphite);max-width:760px}
.path-foot a{color:var(--blue)}
@media (max-width:900px){
  .path{grid-template-columns:1fr}
  .path .arrow{display:none}
  .stage{border-radius:0;border-bottom:0}
  .path .stage:first-child{border-radius:var(--radius) var(--radius) 0 0}
}

.kicker{font:500 12px/1.4 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:22px}
.plan3{margin-bottom:40px}
details.more{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}
details.more > summary{font:600 15px/1.3 var(--body);padding:18px 0}
details.more > summary small{font:500 12px/1 var(--body);color:var(--muted);margin-left:10px}
details.more[open] > summary{padding-bottom:28px}
details.more .timeline{margin:6px 0 32px}
.sprint-foot{margin-top:40px;border-top:0;padding-top:0}
.sprint-foot .price{border-left:0;padding-left:0}
.sprint-foot .price b{font-size:52px}
.nw{white-space:nowrap}
/* Cardo's glyph box is ~1.36em tall: display line-heights below ~1.2 let descenders touch the next line */
.hero h1{line-height:1.16}
.h2{line-height:1.28}
.final h2{line-height:1.24}
.stage h3,.plan3 h3,.tl h3,.case h3,.svc h3,.post h3,.gets b,.links b,.report .plainline,.guide-quote blockquote,.tst blockquote,.quote blockquote,summary,.price b,.hero-proof b,.nums b{line-height:1.3}

/* What we run: a path (three stages on one line) over a measurement layer */
.path2{margin-top:8px}
.flow{list-style:none;margin:0;padding:22px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;position:relative}
.flow::before{content:"";position:absolute;top:6px;left:6px;right:calc(33.333% - 20px);height:2px;background:var(--ink)}
.flow li{position:relative;display:flex;flex-direction:column;gap:10px}
.flow .dot{position:absolute;top:-22px;left:0;width:14px;height:14px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px var(--stone)}
.flow .cap{color:var(--blue);margin-top:6px}
.flow h3{font-size:24px}
.flow h3 a,.layer h3 a{text-decoration:none;transition:color .18s ease}
.flow h3 a:hover,.layer h3 a:hover{color:var(--blue)}
.flow p{font-size:15px;color:var(--graphite);max-width:32ch}
.ticks{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;height:36px}
.ticks i{display:block;width:1px;height:100%;margin-left:6px;background:var(--blue-mid)}
.layer{display:grid;grid-template-columns:1fr 1.1fr;gap:16px 40px;align-items:end;padding:22px 24px;background:var(--white);border:1px solid var(--blue);border-radius:var(--radius)}
.layer .cap{color:var(--blue)}
.layer h3{font-size:24px;line-height:1.3;margin-top:8px}
.layer p{font-size:15px;color:var(--graphite)}
@media (max-width:820px){
  .flow{grid-template-columns:1fr;gap:30px;padding:0 0 0 30px}
  .flow::before{top:6px;bottom:6px;left:6px;right:auto;width:2px;height:auto}
  .flow .dot{top:2px;left:-30px}
  .flow .cap{margin-top:0}
  .ticks{grid-template-columns:1fr;height:28px}
  .layer{grid-template-columns:1fr;padding:20px 18px}
}

/* Your stack: four rows that mirror the path, measurement row highlighted */
.stack2{border-top:1px solid var(--ink)}
.srow{display:grid;grid-template-columns:260px 1fr;gap:24px 40px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.srow-head h3{font-size:22px;line-height:1.3}
.srow-head span{display:block;font-size:13.5px;color:var(--muted);margin-top:2px}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.tool-chip{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px 0 12px;background:var(--white);border:1px solid var(--line);border-radius:999px;font:500 14px/1 var(--body);color:var(--ink)}
.tool-chip svg{width:18px;height:18px;flex:none;color:var(--ink)}
.tool-chip svg.wide-icon{width:30px;height:30px;margin:-6px -4px}
.ti-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);margin:0 5px;flex:none}
.srow.core{background:var(--blue-tint);border-bottom-color:var(--blue-mid);padding-left:20px;padding-right:20px;margin-top:-1px;border-top:1px solid var(--blue-mid)}
.srow.core .srow-head h3{color:var(--blue)}
.srow.core .tool-chip{border-color:var(--blue-mid)}
.srow.core .tool-chip svg{color:var(--blue)}
.srow.core + .srow.core{margin-top:0;border-top:1px solid var(--line);border-top-color:#D3DAEE}
.stack-foot{margin-top:22px;font-size:14px;color:var(--muted)}
@media (max-width:820px){.srow{grid-template-columns:1fr;gap:14px}.srow.core{padding-left:16px;padding-right:16px}.tool-chip{min-height:40px;font-size:13.5px}}

.ind-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.ind-row a{display:flex;flex-direction:column;gap:8px;padding:22px 24px 22px 0;text-decoration:none;border-right:1px solid var(--line)}
.ind-row a + a{padding-left:24px}
.ind-row a:last-child{border-right:0}
.ind-row .cap{color:var(--blue)}
.ind-row b{font:400 21px/1.3 var(--display);transition:color .18s ease}
.ind-row span:last-child{font-size:14px;color:var(--graphite)}
.ind-row a:hover b{color:var(--blue)}
@media (max-width:980px){.ind-row{grid-template-columns:1fr 1fr}.ind-row a:nth-child(2){border-right:0}.ind-row a:nth-child(3){padding-left:0}.ind-row a:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:600px){.ind-row{grid-template-columns:1fr}.ind-row a,.ind-row a + a{padding:18px 0;border-right:0;border-bottom:1px solid var(--line)}}

.guide-bio{margin-top:14px;font-size:16px;line-height:1.65;color:var(--graphite);max-width:60ch}
.results-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:44px 0 64px;padding-top:24px;border-top:1px solid var(--ink)}
.results-strip b{display:block;font:400 clamp(30px,3vw,40px)/1.2 var(--display);color:var(--blue);font-variant-numeric:tabular-nums}
.results-strip span{display:block;margin-top:10px;font-size:14px;color:var(--graphite)}
@media (max-width:900px){.results-strip{grid-template-columns:1fr 1fr;gap:28px 24px}}
@media (max-width:520px){.results-strip{grid-template-columns:1fr}}

/* Your stack: four quiet columns + conversion APIs on demand */
.tools3{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.tcol{padding:24px 24px 26px 0;border-right:1px solid var(--line)}
.tcol + .tcol{padding-left:24px}
.tcol:last-child{border-right:0}
.tcol h3{font-size:21px;line-height:1.3}
.tcol p{font-size:13px;color:var(--muted);margin-top:2px;min-height:2.6em}
.tcol ul,.capis ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}
.tcol li,.capis li{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--ink)}
.tcol li svg,.capis li svg{width:17px;height:17px;flex:none}
.tcol li svg.wide-icon{width:24px;height:24px;margin:-4px -3px -4px -2px}
.tcol li .ti-dot,.capis li .ti-dot{width:7px;height:7px;margin:0 5px;background:var(--line-strong)}
.tcol.core{background:var(--blue-tint);padding-left:24px}
.tcol.core h3{color:var(--blue)}
.tcol.core li svg{color:var(--blue)}
.tcol.core li .ti-dot{background:var(--blue)}
details.capis{margin-top:0;border-top:0}
details.capis > summary small{font-weight:400}
details.capis ul{grid-template-columns:repeat(3,1fr);margin:0 0 26px;gap:14px 24px}
details.capis li svg{color:var(--blue)}
@media (max-width:900px){.tools3{grid-template-columns:1fr 1fr}.tcol:nth-child(2){border-right:0}.tcol:nth-child(3){padding-left:0}.tcol:nth-child(-n+2){border-bottom:1px solid var(--line)}.tcol.core{padding-left:20px}details.capis ul{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.tools3{grid-template-columns:1fr}.tcol,.tcol + .tcol{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}.tcol.core{padding:20px 16px}.tcol p{min-height:0}details.capis ul{grid-template-columns:1fr}details.capis > summary small{display:block;margin:4px 0 0}.tcol ul{grid-template-columns:1fr 1fr;gap:12px 16px}}

/* ---------- mobile review fixes ---------- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.foot img{height:auto;max-height:44px;width:auto}
.video.playing::after{display:none}
.video::after{content:"";position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;pointer-events:none;
  background:rgba(255,255,255,.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%2316171A'/%3E%3C/svg%3E") 55% 50%/26px no-repeat;box-shadow:0 10px 30px rgba(0,0,0,.25)}
@media (min-width:1101px){.video::after{display:none}}
/* The homepage poster has its own play button; don't stack a second one on it. */
.hero .video::after{display:none}
/* /apply/: the header button would point at the page itself. */
.page-apply .nav-cta,.page-apply .m-foot{display:none!important}
/* Phone menu open: the sheet has its own Apply button, so the header one steps aside. */
.m-open .site-head .nav-cta{visibility:hidden}
.final-act .phone a{display:inline-block;padding:10px 0;font:500 15px/1 var(--mono);color:var(--ink)}
.flow h3 a{display:inline-block;padding-block:6px}
.foot ul a{display:block;padding:10px 0}
.foot ul{gap:0}
.legal a{display:inline-block;padding:12px 0}
.tbl .sm{display:none}
@media (max-width:900px){
  .problem-grid{grid-template-columns:minmax(0,1fr)}
  .lnk{min-height:44px;padding-block:14px 6px}
  .case .shot{aspect-ratio:16/9}
}
@media (min-width:600px) and (max-width:900px){.cases{grid-template-columns:1fr 1fr}.cases .case:last-child:nth-child(odd){grid-column:1/-1}}
@media (max-width:600px){
  .pains span,.gets span,.case p,.tl p,.path-foot,.ind-row span:last-child,.results-strip span,.ans,.flow p,.layer p,.tst blockquote,.guide-bio,.lede{font-size:16px}
  .cap,.tbl th{font-size:12px}
  .label,.hero-proof span,.tl .out,.legal,.foot h4,.kicker{font-size:12px}
}
@media (max-width:360px){
  .report{padding:20px 16px}
  .row{grid-template-columns:minmax(0,1fr) auto 44px;gap:10px}
  .spark{width:44px}
  .tbl .lg{display:none}.tbl .sm{display:inline}
  .tcol ul{grid-template-columns:1fr}
}

.foot ul a{padding:12px 0}
.final-act .phone a{padding:13px 0}
.legal a{padding:14px 0}
@media (max-width:600px){
  .cases{gap:24px}
  .case{display:grid;grid-template-columns:104px minmax(0,1fr);column-gap:16px;row-gap:6px;align-items:start}
  .case .shot{grid-row:1/4;aspect-ratio:1}
  .case h3{font-size:20px}
  .case p{grid-column:1/-1;margin-top:6px}
  .results-strip{grid-template-columns:1fr 1fr;gap:24px 18px;margin:36px 0 48px}
  .results-strip span{font-size:14.5px}
  .tst{gap:28px}
  .tst blockquote{font-size:18px}
}
@media (max-width:600px){section,.trace,.proof,.final{padding-block:80px}.hero{padding-block:56px}.badge{display:none}}

/* ---------- skip link ---------- */
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:var(--white);padding:12px 16px}
.skip:focus{left:16px;top:16px}

/* ---------- generic building blocks for inner pages ---------- */
.page-hero{padding-block:80px 64px;background:var(--paper)}
.page-hero h1{font-size:clamp(38px,5vw,62px);line-height:1.12;letter-spacing:-.02em;max-width:18em}
.page-hero h1 em{color:var(--blue)}
.page-hero .lede{margin-top:22px}
.page-hero .btns{margin-top:30px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:10px}
.card h3{font-size:23px;line-height:1.3}
.card p{font-size:15px;color:var(--graphite)}
.card .cap{color:var(--blue)}
.rows{border-top:1px solid var(--ink)}
.rows > *{display:grid;grid-template-columns:1fr 1.4fr;gap:12px 40px;padding:24px 0;border-bottom:1px solid var(--line)}
.rows h3{font-size:24px;line-height:1.3}
.rows p{color:var(--graphite);font-size:15.5px}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.checks li{position:relative;padding-left:28px;color:var(--graphite)}
.checks li::before{content:"";position:absolute;left:2px;top:8px;width:11px;height:6px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg)}
.prose{max-width:68ch;font-size:17.5px;line-height:1.75;color:var(--graphite)}
.prose > * + *{margin-top:1.1em}
.prose h2{font-size:clamp(26px,2.6vw,34px);line-height:1.25;color:var(--ink);margin-top:1.8em}
.prose h3{font-size:24px;line-height:1.3;color:var(--ink);margin-top:1.6em}
.prose a{color:var(--blue)}
.prose ul,.prose ol{padding-left:1.3em}
.prose li + li{margin-top:.4em}
.prose blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:2px solid var(--blue);font:400 21px/1.5 var(--display);color:var(--ink)}
.prose img{border-radius:var(--radius)}
.prose table{width:100%;border-collapse:collapse;font-size:15px}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.cta-band{padding-block:96px;background:var(--stone)}
.cta-band .wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:end}
.cta-band h2{font-size:clamp(30px,3.6vw,46px);line-height:1.16}
.cta-band h2 em{color:var(--graphite)}
.cta-band p{color:var(--graphite);margin-top:18px;max-width:560px}
@media (max-width:900px){.cards,.cards.two{grid-template-columns:1fr}.rows > *{grid-template-columns:1fr}.cta-band .wrap{grid-template-columns:1fr;gap:28px}}
@media (min-width:600px) and (max-width:900px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.page-hero{padding-block:56px 48px}.prose{font-size:17px}.card,.rows p{font-size:16px}}


/* ---------- blog ---------- */
/* Blog post layout (content/blog/**): .post-hero, .post-main > article.prose, author box, cta-band.
   pb-* are the in-article components; see content/_templates/blog-post.html. */
.post-hero h1{font-size:clamp(34px,4.4vw,54px);line-height:1.16;max-width:20em}
.post-meta{margin-top:24px;font-size:14px;color:var(--muted)}
.post-meta a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-strong)}
.post-meta a:hover{color:var(--blue);border-color:var(--blue)}
.post-main{padding-block:72px 96px}
.post-body{min-width:0}
.post-cover{margin:0 0 44px}
.post-cover img{width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line)}
.prose strong,.prose b{color:var(--ink);font-weight:600}
.prose h2 strong,.prose h3 strong,.prose h2 b,.prose h3 b{font-weight:inherit;color:inherit}
.prose h4{font:600 17px/1.4 var(--body);color:var(--ink);margin-top:1.5em}
.prose figure{margin:2em 0}
.prose figure img,.prose p img{width:auto;max-width:100%;height:auto}
.prose figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.prose figcaption a{color:inherit}
.prose video,.prose iframe{display:block;width:100%;max-width:100%;height:auto;border-radius:var(--radius)}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.6em 0}
.prose code{font:500 .86em/1.4 var(--mono);background:var(--paper);border:1px solid var(--line);padding:1px 5px;border-radius:3px;color:var(--ink);overflow-wrap:anywhere}
.prose pre{font:400 13.5px/1.6 var(--mono);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;overflow-x:auto;color:var(--ink);white-space:pre}
.prose pre code{background:none;border:0;padding:0;font-size:inherit;overflow-wrap:normal}
.prose blockquote cite{font-style:normal}
.pb-callout{background:var(--blue-tint);border-left:2px solid var(--blue);padding:18px 22px;color:var(--ink)}
.pb-callout > * + *{margin-top:.7em}
.pb-callout p{font-size:16px;line-height:1.7}
.pb-formula{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}
.pb-formula-label,.pb-example-label,.pb-code-label,.pb-takeaway-label{font:500 11px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pb-formula-text{font:400 clamp(19px,2vw,23px)/1.4 var(--display);color:var(--ink);margin-top:10px}
.pb-formula-note{font-size:14px;line-height:1.6;color:var(--muted);margin-top:8px}
.pb-example{border-top:1px solid var(--ink);padding-top:14px}
.pb-example-label{margin-bottom:4px}
.pb-example-row,.pb-example-total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.5}
.pb-example-row span:first-child,.pb-example-total span:first-child{min-width:0}
.pb-example-row span:last-child,.pb-example-total span:last-child{font:500 14.5px/1.5 var(--mono);color:var(--ink);text-align:right;white-space:nowrap}
.pb-example-total{color:var(--ink);font-weight:600;border-bottom:1px solid var(--ink)}
.pb-example-total span:last-child{color:var(--blue)}
.pb-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:24px;border-top:1px solid var(--ink);padding-top:20px}
.pb-stat-n{font:400 clamp(30px,3vw,38px)/1.2 var(--display);color:var(--blue);font-variant-numeric:tabular-nums}
.pb-stat-d{font-size:14.5px;line-height:1.5;color:var(--graphite);margin-top:6px}
.pb-takeaway{border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px}
.pb-takeaway ul{list-style:none;padding:0;margin:12px 0 0}
.pb-takeaway li{position:relative;padding-left:28px;font-size:16px}
.pb-takeaway li + li{margin-top:10px}
.pb-takeaway li::before{content:"";position:absolute;left:2px;top:9px;width:11px;height:6px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg)}
.prose .pb-steps{list-style:none;padding:0;counter-reset:pbs}
.pb-steps > li{position:relative;padding-left:46px;counter-increment:pbs}
.pb-steps > li + li{margin-top:22px}
.pb-steps > li::before{content:counter(pbs);position:absolute;left:0;top:2px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--blue);color:var(--white);font:600 13px/1 var(--body)}
.pb-step-title{font:400 21px/1.35 var(--display);color:var(--ink)}
.pb-steps p{margin-top:4px;font-size:16px}
.pb-code{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.pb-code-label{padding:11px 16px;border-bottom:1px solid var(--line)}
.prose .pb-code pre{margin:0;border:0;border-radius:0;background:transparent}
.pb-code .code-comment{color:var(--muted)}
.pb-code .code-key{color:var(--blue)}
.pb-code .code-string{color:var(--ink)}
.pb-code .code-number{color:var(--blue-deep);font-weight:500}
.pb-optin{border:1px solid var(--blue);border-radius:var(--radius);padding:28px;background:var(--white)}
.pb-optin-badge{font:500 12px/1.4 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.prose .pb-optin h3{margin-top:8px;font-size:26px}
.pb-optin p{font-size:16px;margin-top:10px}
.pb-optin-form{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.pb-optin-form input[type="email"]{flex:1 1 220px;min-width:0;min-height:48px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius);font:16px/1.2 var(--body);color:var(--ink);background:var(--white)}
.pb-optin-form input[type="email"]:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.pb-optin-form button{min-height:48px;padding:0 22px;background:var(--blue);color:var(--white);border:0;border-radius:var(--radius);font:600 15px/1 var(--body);cursor:pointer;transition:background .18s ease}
.pb-optin-form button:hover{background:var(--blue-deep)}
.pb-optin-note{font-size:13px;color:var(--muted);margin-top:10px}
.pb-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.prose .pb-gallery figure{margin:0}
.pb-related{border-top:1px solid var(--ink);padding-top:6px}
.prose .pb-related h3{margin-top:14px;font-size:22px}
.prose .pb-related ul{list-style:none;padding:0;margin:10px 0 0}
.pb-related li{padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
.prose .pb-related li + li{margin-top:0}
.pb-related a{font-weight:600;text-decoration:none}
.pb-related a:hover{text-decoration:underline}
.pb-follow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:2.4em}
.pb-follow p{font-size:15px;color:var(--graphite)}
.prose .pb-follow a.lnk{color:var(--ink)}
.prose .btns a.btn{color:var(--white)}
.prose .btns a.lnk{color:var(--ink)}
.author-box{padding-block:72px}
.ab-grid{display:grid;grid-template-columns:180px minmax(0,1fr);gap:40px;align-items:start;max-width:860px}
.ab-grid > img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:50% 20%;border-radius:var(--radius)}
.ab-name{font-size:15px;color:var(--graphite)}
.ab-name b{color:var(--ink)}
.author-box .label{margin-bottom:16px}
.author-box .guide-bio{margin-top:12px}
.author-box .lnk{margin-top:20px}
@media (max-width:700px){.ab-grid{grid-template-columns:minmax(0,1fr);gap:24px}.ab-grid > img{width:120px}}
@media (max-width:600px){.post-main{padding-block:48px 72px}.author-box{padding-block:56px}.pb-optin{padding:22px 18px}.pb-optin-form button{width:100%}.prose pre{font-size:12.5px}.pb-example-row,.pb-example-total{font-size:15px}.pb-callout p,.pb-takeaway li,.pb-steps p,.pb-related li{font-size:16px}}

.prose video{display:block;width:100%;height:auto;aspect-ratio:auto;border-radius:var(--radius);background:var(--ink)}
.logo-light{filter:invert(1) brightness(.35)}
.booking-alt{margin-top:22px;font-size:15px;color:var(--graphite)}
.booking-alt .lnk{margin-left:6px}

/* Article template (blog v3): .art-hero, .art-layout (sticky contents + .art-body), data figures.
   Reference implementation: content/blog/2026/02/18/client-acquisition-cost-professional-services.html */
.art-progress{position:fixed;inset:0 0 auto 0;height:2px;z-index:30;pointer-events:none}
.art-progress span{display:block;height:100%;background:var(--blue);transform-origin:0 50%;transform:scaleX(0)}
.art-hero{padding-block:72px 0;background:var(--paper);border-bottom:1px solid var(--line)}
.art-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:72px;align-items:end;padding-bottom:72px}
.art-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:500 12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:28px}
.art-crumbs a{text-decoration:none;color:var(--blue)}
.art-crumbs a:hover{text-decoration:underline}
.art-hero h1{font-size:clamp(38px,4.7vw,60px);line-height:1.08;letter-spacing:-.024em}
.art-hero h1 em{color:var(--blue)}
.art-dek{font-size:19px;line-height:1.6;color:var(--graphite);max-width:34em;margin-top:26px}
.art-by{display:flex;align-items:center;gap:14px;margin-top:36px}
.art-by img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:50% 20%;flex:none}
.art-by b{display:block;font:600 15px/1.3 var(--body);color:var(--ink)}
.art-by span{display:block;font:400 13px/1.5 var(--mono);color:var(--muted);margin-top:3px}
.art-plate{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px 28px 24px}
.art-plate-k{font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-bottom:16px;border-bottom:1px solid var(--ink)}
.art-plate dl{margin:0}
.art-plate dl div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 18px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line)}
.art-plate dt{font:400 40px/1 var(--display);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.art-plate dl div:first-child dt{color:var(--blue)}
.art-plate dd{margin:0;font-size:14px;line-height:1.45;color:var(--graphite)}
.art-split{display:flex;height:8px;margin-top:20px;border-radius:2px;overflow:hidden;background:var(--stone)}
.art-split i{display:block;background:var(--blue)}
.art-split-key{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font:400 12px/1.4 var(--mono);color:var(--muted)}
.art-split-key b{font-weight:500;color:var(--blue)}
.art-plate .art-src{margin-top:16px;font-size:12.5px;line-height:1.5;color:var(--muted)}

.art-main{padding-block:88px 104px}
.art-layout{display:grid;grid-template-columns:220px minmax(0,700px);gap:88px;justify-content:start}
.art-rail{position:relative}
.art-rail-in{position:sticky;top:112px}
.art-toc > summary{display:none}
.art-toc-k{font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.art-toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.art-toc a{display:grid;grid-template-columns:22px minmax(0,1fr);gap:6px;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;font-size:13.5px;line-height:1.45;color:var(--muted);text-decoration:none;transition:color .18s ease,border-color .18s ease}
.art-toc a span{font:500 11px/2 var(--mono);color:var(--muted);transition:color .18s ease}
.art-toc a:hover{color:var(--ink)}
.art-toc a.on{color:var(--ink);border-left-color:var(--blue)}
.art-toc a.on span{color:var(--blue)}
.art-share{margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}
.art-share-row{display:flex;gap:8px}
.art-share-row a,.art-share-row button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);font:500 13px/1 var(--body);color:var(--ink);text-decoration:none;cursor:pointer;transition:border-color .18s ease,color .18s ease}
.art-share-row a:hover,.art-share-row button:hover{border-color:var(--blue);color:var(--blue)}
.art-share-row svg{width:14px;height:14px}
.art-rail .lnk{margin-top:24px;font-size:14px}

/* Body text */
.art-body{min-width:0;font-size:18px;line-height:1.75;color:var(--graphite)}
.art-body > * + *{margin-top:1.15em}
.art-body a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px}
.art-body strong,.art-body b{color:var(--ink);font-weight:600}
.art-body code{font:500 .82em/1.4 var(--mono);background:var(--paper);border:1px solid var(--line);padding:1px 5px;border-radius:3px;color:var(--ink);overflow-wrap:anywhere}
.art-lead{font-size:21px;line-height:1.65;color:var(--ink)}
.art-lead::first-letter{float:left;font:400 5.2em/.8 var(--display);color:var(--blue);margin:.06em .1em 0 -.03em}
.art-body h2{scroll-margin-top:96px;margin-top:2.2em;padding-top:28px;border-top:1px solid var(--ink);font-size:clamp(28px,3vw,38px);line-height:1.18;color:var(--ink)}
.art-body h2 .n{display:block;font:500 12px/1 var(--mono);letter-spacing:.08em;color:var(--blue);margin-bottom:18px}
.art-body h3{margin-top:1.9em;font-size:25px;line-height:1.3;color:var(--ink)}
.art-body h2 + *,.art-body h3 + *{margin-top:.8em}
.art-body ul,.art-body ol{padding:0;list-style:none}
.art-body ul > li{position:relative;padding-left:24px}
.art-body ul > li::before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.art-body ol{counter-reset:ol}
.art-body ol > li{position:relative;padding-left:34px;counter-increment:ol}
.art-body ol > li::before{content:counter(ol,decimal-leading-zero);position:absolute;left:0;top:.3em;font:500 13px/1.6 var(--mono);color:var(--blue)}
.art-body li + li{margin-top:.55em}
.art-body hr{display:none}

/* Formula */
.art-formula{margin-block:2em;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.art-formula-k{display:flex;justify-content:space-between;gap:16px;padding:12px 22px;border-bottom:1px solid var(--line);font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.art-formula-x{padding:26px 22px 22px;font:400 clamp(22px,2.4vw,29px)/1.35 var(--display);color:var(--ink);text-wrap:balance}
.art-formula-x b{font-weight:400;color:var(--blue);padding-inline:.12em}
.art-formula-note{padding:0 22px 20px;font-size:14.5px;line-height:1.6;color:var(--muted)}

/* Figures (ledger, bars, ranges) */
.art-fig{margin:2.2em 0}
.art-fig-k{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--ink);font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.art-fig-k em{color:var(--blue)}
.art-fig figcaption{margin-top:14px;font-size:13px;line-height:1.55;color:var(--muted)}
.art-ledger{margin:0;padding:0}
.art-body .art-ledger > li{display:flex;align-items:baseline;gap:10px;padding:13px 0 0;margin:0;font-size:15.5px;line-height:1.5}
.art-body .art-ledger > li::before{display:none}
.art-ledger li > span{min-width:0;color:var(--graphite)}
.art-ledger li > i{flex:1 1 24px;align-self:flex-end;margin-bottom:.4em;border-bottom:1px dotted var(--line-strong);min-width:24px}
.art-ledger li > b{font:500 14.5px/1.5 var(--mono);color:var(--ink);white-space:nowrap}
.art-ledger .t{display:inline-block;margin-left:8px;padding:1px 6px;border-radius:2px;background:var(--blue-tint);font:500 10.5px/1.6 var(--mono);letter-spacing:.06em;color:var(--blue);vertical-align:2px}
.art-body .art-ledger > li.sum{margin-top:14px;padding-top:16px;border-top:1px solid var(--ink)}
.art-ledger li.sum > span{color:var(--ink);font-weight:600}
.art-ledger li.sum > i{border:0}
.art-ledger li.sum > b{font:400 30px/1 var(--display);color:var(--blue)}
.art-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2em;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.art-stats > div{padding:22px 20px 22px 0}
.art-stats > div + div{padding-left:20px;border-left:1px solid var(--line)}
.art-stats b{display:block;font:400 clamp(32px,3.4vw,42px)/1.05 var(--display);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.art-stats > div:first-child b{color:var(--blue)}
.art-stats span{display:block;margin-top:8px;font-size:14px;line-height:1.5;color:var(--graphite)}
.art-bars{margin:0;padding:0}
.art-body .art-bars > li{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:6px 16px;padding:16px 0 0;margin:0}
.art-body .art-bars > li::before{display:none}
.art-bars .nm{font-size:15.5px;line-height:1.4;color:var(--ink);font-weight:600}
.art-bars .nm small{display:block;font-weight:400;font-size:13px;color:var(--muted);margin-top:2px}
.art-bars .v{grid-row:1/3;grid-column:2;align-self:end;text-align:right;font:500 14px/1.4 var(--mono);color:var(--ink);padding-bottom:1px}
.art-bars .track{height:10px;background:var(--stone);border-radius:2px;overflow:hidden}
.art-bars .track i{display:block;height:100%;width:var(--w);background:var(--grey-bar);border-radius:2px}
.art-bars li.best .track i{background:var(--blue)}
.art-bars li.best .v{color:var(--blue)}
.art-ranges{margin:0;padding:0}
.art-body .art-ranges > li{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr) 128px;gap:4px 20px;align-items:center;padding:12px 0;margin:0;border-bottom:1px solid var(--line)}
.art-body .art-ranges > li::before{display:none}
.art-ranges .nm{font-size:15px;line-height:1.4;color:var(--ink)}
.art-ranges .bar{position:relative;height:22px;border-right:1px solid var(--line);background:linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/33.333% 100%}
.art-ranges .bar i{position:absolute;top:8px;height:6px;left:var(--a);width:calc(var(--b) - var(--a));min-width:6px;background:var(--blue);border-radius:3px}
.art-ranges .v{font:500 12.5px/1.4 var(--mono);color:var(--graphite);text-align:right;white-space:nowrap}
.art-axis{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr) 128px;gap:20px;padding-top:8px}
.art-axis div{display:flex;justify-content:space-between;font:400 11.5px/1 var(--mono);color:var(--muted)}

/* Notes, quotes, steps, definitions, roadmap */
.art-note{margin-block:2em;padding:22px 24px;background:var(--blue-tint);border-left:2px solid var(--blue);border-radius:0 var(--radius) var(--radius) 0}
.art-note-k{font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.art-note-h{margin-top:8px;font:400 22px/1.35 var(--display);color:var(--ink)}
.art-note p:last-child{margin-top:10px;font-size:16px;line-height:1.7;color:var(--graphite)}
.art-quote{margin:2.6em 0;padding:36px 0 32px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.art-quote::before{content:"\201C";display:block;height:.5em;font:400 88px/1 var(--display);color:var(--blue);margin-bottom:6px}
.art-quote p{font:400 clamp(22px,2.3vw,27px)/1.42 var(--display);color:var(--ink);letter-spacing:-.01em}
.art-steps{position:relative;margin-block:2em}
.art-body .art-steps > li{padding:0 0 26px 58px;margin:0;counter-increment:ol}
.art-body .art-steps > li::before{content:counter(ol,decimal-leading-zero);top:0;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--blue);border-radius:50%;background:var(--white);font:500 12px/1 var(--mono);color:var(--blue);z-index:1}
.art-body .art-steps > li::after{content:"";position:absolute;left:18px;top:36px;bottom:0;width:1px;background:var(--line-strong)}
.art-body .art-steps > li:last-child{padding-bottom:0}
.art-body .art-steps > li:last-child::after{display:none}
.art-body .art-steps > li:last-child::before{background:var(--blue);color:var(--white)}
.art-steps h4{margin:5px 0 0;font:400 21px/1.35 var(--display);color:var(--ink)}
.art-steps p{margin-top:6px;font-size:16px;line-height:1.65}
.art-defs{margin:1.4em 0 0;border-top:1px solid var(--line)}
.art-defs > div{padding:16px 0;border-bottom:1px solid var(--line)}
.art-defs dt{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;font-weight:600;color:var(--ink);font-size:16.5px}
.art-defs dt span{font:500 12px/1.5 var(--mono);color:var(--blue);font-weight:500}
.art-defs dd{margin:4px 0 0;font-size:16px;line-height:1.65}
.art-errs{margin-top:1.4em}
.art-body .art-errs > li{padding:20px 0 20px 64px;margin:0;border-top:1px solid var(--line)}
.art-body .art-errs > li:last-child{border-bottom:1px solid var(--line)}
.art-body .art-errs > li::before{top:14px;font:400 34px/1 var(--display);color:var(--line-strong)}
.art-errs b{display:block;font:400 21px/1.35 var(--display);color:var(--ink);margin-bottom:4px}
.art-errs p{font-size:16px;line-height:1.65}
.art-road{margin:2em 0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.art-road-k{padding:14px 22px;background:var(--paper);border-bottom:1px solid var(--line);font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.art-road ol{margin:0}
.art-body .art-road li{display:grid;grid-template-columns:118px minmax(0,1fr);gap:16px;padding:16px 22px;margin:0;font-size:16px;line-height:1.6}
.art-body .art-road li::before{display:none}
.art-body .art-road li + li{border-top:1px solid var(--line)}
.art-road li > span:first-child{font:500 12px/1.6 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--blue);padding-top:2px}
.art-road li.mark{background:var(--blue-tint)}
.art-close{margin-top:1.6em!important;padding-top:24px;border-top:1px solid var(--line);font:400 clamp(23px,2.4vw,28px)/1.45 var(--display);color:var(--ink)}

/* End matter */
.art-end{margin-top:72px;padding-top:28px;border-top:1px solid var(--ink)}
.art-end-k{font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.art-next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:14px}
.art-body .art-next a{display:flex;flex-direction:column;gap:8px;padding:20px 20px 22px 0;color:var(--ink);text-decoration:none}
.art-body .art-next a + a{padding-left:20px;border-left:1px solid var(--line)}
.art-next small{font:500 11px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.art-next b{font:400 20px/1.3 var(--display)!important;color:var(--ink)!important;transition:color .18s ease}
.art-next span{font-size:14px;line-height:1.55;color:var(--graphite)}
.art-next a:hover b{color:var(--blue)!important}
.art-body .pb-follow{margin-top:28px}

@media (max-width:1100px){.art-layout{grid-template-columns:200px minmax(0,1fr);gap:56px}}
@media (max-width:960px){
  .art-hero-grid{grid-template-columns:minmax(0,1fr);gap:48px}
  .art-plate{max-width:520px}
  .art-layout{grid-template-columns:minmax(0,1fr);gap:0}
  .art-body{max-width:700px}
  .art-rail{max-width:700px;margin-bottom:44px}
  .art-rail-in{position:static}
  .art-toc{border:1px solid var(--line);border-radius:var(--radius)}
  .art-toc > summary{display:flex;justify-content:space-between;align-items:center;min-height:52px;padding:0 18px;list-style:none;cursor:pointer;font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
  .art-toc > summary::-webkit-details-marker{display:none}
  .art-toc > summary::after{content:"+";font:400 20px/1 var(--body);color:var(--blue)}
  .art-toc[open] > summary::after{content:"\2212"}
  .art-toc .art-toc-k{display:none}
  .art-toc ol{border-left:0;border-top:1px solid var(--line);padding:8px 18px 12px}
  .art-toc a{padding:9px 0;border-left:0;min-height:40px}
  .art-share,.art-rail .lnk{display:none}
  .art-next{grid-template-columns:minmax(0,1fr)}
  .art-body .art-next a,.art-body .art-next a + a{padding:18px 0;border-left:0;border-bottom:1px solid var(--line)}
}
@media (max-width:600px){
  .art-hero{padding-top:48px}.art-hero-grid{padding-bottom:48px}
  .art-dek{font-size:17px}
  .art-plate{padding:22px 18px 18px}.art-plate dt{font-size:34px}
  .art-main{padding-block:48px 72px}
  .art-body{font-size:17px}
  .art-lead{font-size:19px}
  .art-stats{grid-template-columns:minmax(0,1fr)}
  .art-stats > div,.art-stats > div + div{padding:18px 0;border-left:0}
  .art-stats > div + div{border-top:1px solid var(--line)}
  .art-body .art-ledger > li{flex-wrap:wrap;font-size:15px}
  .art-ledger li > i{display:none}
  .art-ledger li > span{flex:1 1 60%}
  .art-ledger li > b{margin-left:auto}
  .art-body .art-ranges > li,.art-axis{grid-template-columns:minmax(0,1fr);gap:8px}
  .art-axis > span{display:none}
  .art-body .art-road li{grid-template-columns:minmax(0,1fr);gap:4px}
  .art-body .art-errs > li{padding-left:48px}
  .art-body .art-errs > li::before{font-size:28px}
  .art-formula-x{padding:20px 18px 16px}.art-formula-k{padding:12px 18px}.art-formula-note{padding:0 18px 18px}
}
.art-ranges .nm small{display:none;font:500 12px/1.4 var(--mono);color:var(--graphite);margin-left:8px;white-space:nowrap}
@media (max-width:600px){.art-ranges .nm{display:flex;justify-content:space-between;gap:12px}.art-ranges .nm small{display:inline}.art-ranges .v{display:none}}
@media (min-width:961px){.art-main ~ .author-box .ab-grid{margin-left:308px;grid-template-columns:140px minmax(0,1fr);gap:32px;max-width:700px}}
@media (min-width:961px) and (max-width:1100px){.art-main ~ .author-box .ab-grid{margin-left:256px}}

/* Blog index (/blog/): filter chips + post rows generated by render.php post_list(). */
.bl-hero .art-dek{max-width:40em}
.bl-hero h1{max-width:16em}
.bl-hero .wrap{padding-bottom:72px}
.bl-main{padding-block:64px 104px}
.bl-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}
.bl-filter button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);font:500 14px/1 var(--body);color:var(--graphite);cursor:pointer;transition:border-color .18s ease,color .18s ease,background .18s ease}
.bl-filter button span{font:500 11.5px/1 var(--mono);color:var(--muted)}
.bl-filter button:hover{border-color:var(--blue);color:var(--blue)}
.bl-filter button.on{background:var(--ink);border-color:var(--ink);color:var(--white)}
.bl-filter button.on span{color:var(--line-strong)}
.bl-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.bl-list li{border-bottom:1px solid var(--line)}
.bl-list > li > a{display:grid;grid-template-columns:180px minmax(0,1fr);gap:6px 48px;padding:28px 0;text-decoration:none;color:inherit}
.bl-meta{grid-row:1/3;display:flex;flex-direction:column;gap:6px;padding-top:6px;font:500 11.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.bl-meta span{color:var(--blue)}
.bl-t{font:400 clamp(22px,2.2vw,27px)/1.28 var(--display);color:var(--ink);letter-spacing:-.012em;max-width:30em;text-wrap:balance;transition:color .18s ease}
.bl-d{font-size:15.5px;line-height:1.6;color:var(--graphite);max-width:44em}
.bl-list a:hover .bl-t{color:var(--blue)}
.bl-list li.new a{padding-block:40px}
.bl-list li.new .bl-t{font-size:clamp(28px,3.2vw,40px);line-height:1.18}
.bl-list li.new .bl-meta::after{content:"Latest";color:var(--ink)}
/* Featured guides (routes 'featured' => n) above the filters; in "All" they're not repeated in the list. */
.bl-feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:64px}
.bl-feat a{display:flex;flex-direction:column;gap:12px;padding:26px 24px;background:var(--white);border:1px solid var(--line);border-top:2px solid var(--blue);border-radius:var(--radius);text-decoration:none;color:inherit;transition:border-color .18s ease,box-shadow .18s ease}
.bl-feat a:hover{border-color:var(--blue);box-shadow:0 18px 40px -28px rgba(22,23,26,.35)}
.bl-feat .bl-meta{flex-direction:row;gap:12px;padding-top:0}
.bl-feat .bl-t{font-size:clamp(22px,2vw,26px)}
.bl-feat .bl-d{font-size:15px}
.bl-feat .bl-go{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:8px;font:600 14px/1 var(--body);color:var(--blue)}
.bl-feat .bl-go svg{width:14px;height:14px}
.bl-feat a:hover .bl-t{color:var(--blue)}
.bl-list:not(.filtered) li.is-feat{display:none}
.bl-list li.bl-lm{border-bottom:0;padding:40px 0}
.bl-list li.bl-lm .lm-inline{margin:0}
@media (max-width:900px){.bl-feat{grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:44px}}
@media (max-width:700px){
  .bl-list > li > a{grid-template-columns:minmax(0,1fr);gap:8px;padding:22px 0}
  .bl-meta{grid-row:auto;flex-direction:row;gap:12px;padding-top:0}
  .bl-list li.new a{padding-block:28px}
  .bl-hero .wrap{padding-bottom:48px}.bl-main{padding-block:40px 72px}
  .bl-filter{flex-wrap:nowrap;overflow-x:auto;margin-inline:-24px;padding-inline:24px;scrollbar-width:none}
  .bl-filter button{flex:none;min-height:44px}
}

/* Article template, video variant (.art-hero.has-video): player + chapters in the hero, docked mini-player,
   "watch this part" chips, transcript. Reference: content/blog/open-source-clay-alternative.html */
.art-hero.has-video .art-hero-head{max-width:860px}
.art-hero.has-video{padding-bottom:72px}
.art-by .art-runtime{display:inline-flex;align-items:center;gap:8px;margin-left:16px;align-self:center;padding:6px 10px;border:1px solid var(--line-strong);border-radius:var(--radius);font:500 12px/1 var(--mono);color:var(--ink);background:var(--white)}
.art-by .art-runtime svg{width:10px;height:10px;color:var(--blue)}
.art-by.wide{max-width:860px}
.art-stage-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:0;margin-top:48px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);overflow:hidden}
.art-stage{position:relative;aspect-ratio:1920/1122;background:var(--ink)}
.art-player{position:absolute;inset:0;background:var(--ink)}
.art-player video{display:block;width:100%;height:100%;object-fit:cover;background:var(--ink)}
.art-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border:0;padding:0;background:rgba(22,23,26,.18);cursor:pointer;transition:background .18s ease}
.art-play:hover{background:rgba(22,23,26,.08)}
.art-play-in{display:flex;align-items:center;gap:14px;padding:10px 22px 10px 10px;border-radius:999px;background:var(--white);color:var(--ink);font:600 15px/1 var(--body)}
.art-play-in i{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--blue);transition:transform .18s ease}
.art-play-in i svg{width:18px;height:18px;margin-left:3px;color:var(--white)}
.art-play:hover .art-play-in i{transform:scale(1.06)}
.art-play-in small{font:500 12px/1 var(--mono);color:var(--muted);margin-left:2px}
.art-player.playing .art-play{display:none}
.art-dock-x{display:none}
.art-player.docked{position:fixed;inset:auto 20px 20px auto;width:360px;aspect-ratio:1920/1122;height:auto;z-index:40;border-radius:var(--radius);overflow:hidden;box-shadow:0 0 0 1px var(--ink)}
.art-player.docked .art-dock-x{display:grid;place-items:center;position:absolute;top:8px;right:8px;width:32px;height:32px;border:0;border-radius:50%;background:rgba(22,23,26,.75);color:var(--white);cursor:pointer;z-index:2}
.art-player.docked .art-dock-x svg{width:14px;height:14px}
.art-chap{display:flex;flex-direction:column;border-left:1px solid var(--line);min-height:0}
.art-chap-k{display:flex;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--line);font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.art-chap ol{list-style:none;margin:0;padding:6px 0;overflow-y:auto;flex:1 1 0;min-height:0}
.art-chap button{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;width:100%;padding:9px 20px;border:0;border-left:2px solid transparent;background:none;text-align:left;font:400 14px/1.4 var(--body);color:var(--graphite);cursor:pointer;transition:color .18s ease,background .18s ease}
.art-chap button span{font:500 12px/1.65 var(--mono);color:var(--muted)}
.art-chap button:hover{color:var(--ink);background:var(--paper)}
.art-chap button.on{color:var(--ink);border-left-color:var(--blue);background:var(--blue-tint)}
.art-chap button.on span{color:var(--blue)}
.art-chapbar{display:flex;gap:3px;height:4px;grid-column:1/-1;background:var(--white);padding:0;border-top:1px solid var(--line)}
.art-chapbar i{position:relative;flex:var(--len) 1 0;background:var(--stone);overflow:hidden}
.art-chapbar i::after{content:"";position:absolute;inset:0;background:var(--blue);transform-origin:0 50%;transform:scaleX(var(--p,0))}
.art-stage-note{margin-top:14px;font-size:13px;line-height:1.55;color:var(--muted)}
.art-watch{display:inline-flex;align-items:center;gap:8px;margin-top:.7em!important;min-height:44px;padding:0 12px 0 6px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);font:500 13px/1 var(--body);color:var(--ink);cursor:pointer;transition:border-color .18s ease,color .18s ease}
.art-watch i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--blue)}
.art-watch i svg{width:8px;height:8px;margin-left:1px;color:var(--white)}
.art-watch b{font:500 12px/1 var(--mono);color:var(--blue);font-weight:500}
.art-watch:hover{border-color:var(--blue);color:var(--blue)}
.art-body h3 + .art-watch{display:inline-flex}
.art-flow{margin:2em 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.art-body .art-flow > li{margin:0;padding:18px 18px 20px;position:relative}
.art-body .art-flow > li::before{display:none}
.art-body .art-flow > li + li{border-left:1px solid var(--line)}
.art-flow li + li::after{content:"";position:absolute;left:-7px;top:24px;width:12px;height:12px;background:var(--white);border-top:1px solid var(--line);border-right:1px solid var(--line);transform:rotate(45deg)}
.art-flow small{display:block;font:500 11px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.art-flow b{display:block;margin-top:8px;font:400 20px/1.25 var(--display);color:var(--ink)}
.art-flow span{display:block;margin-top:6px;font-size:14px;line-height:1.55;color:var(--graphite)}
.art-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:1.6em 0 0;padding:0;list-style:none;border-top:1px solid var(--ink)}
.art-body .art-cards > li{margin:0;padding:18px 20px 20px 0;border-bottom:1px solid var(--line)}
.art-body .art-cards > li:nth-child(even){padding-left:20px;padding-right:0;border-left:1px solid var(--line)}
.art-body .art-cards > li::before{display:none}
.art-cards small{display:flex;gap:10px;font:500 11px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.art-cards small span{color:var(--blue)}
.art-cards b{display:block;margin-top:8px;font:400 20px/1.3 var(--display);color:var(--ink)}
.art-cards p{margin-top:6px;font-size:15px;line-height:1.6}
.art-transcript{margin-top:2.4em;border:1px solid var(--line);border-radius:var(--radius)}
.art-transcript > summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:0 20px;cursor:pointer;list-style:none;font:500 12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.art-transcript > summary::-webkit-details-marker{display:none}
.art-transcript > summary::after{content:"+";font:400 22px/1 var(--body);color:var(--blue)}
.art-transcript[open] > summary::after{content:"\2212"}
.art-transcript > div{padding:4px 20px 20px;border-top:1px solid var(--line);max-height:520px;overflow-y:auto}
.art-transcript p{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;margin-top:14px;font-size:15.5px;line-height:1.7}
.art-transcript p button{align-self:start;margin-top:-9px;padding:12px 0;min-height:44px;border:0;background:none;font:500 12px/1.5 var(--mono);color:var(--blue);cursor:pointer;text-align:left}
.art-transcript p button:hover{text-decoration:underline}
.art-transcript .art-src{font-size:13px;color:var(--muted);display:block;grid-template-columns:none}
@media (max-width:1100px){.art-stage-grid{grid-template-columns:minmax(0,1fr) 260px}}
@media (max-width:960px){
  .art-stage-grid{grid-template-columns:minmax(0,1fr)}
  .art-chap{border-left:0;border-top:1px solid var(--line)}
  .art-chap ol{flex:none;max-height:none;overflow:visible}
  .art-chapbar{grid-row:2}
  .art-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .art-body .art-flow > li:nth-child(3){border-left:0}
  .art-body .art-flow > li:nth-child(n+3){border-top:1px solid var(--line)}
  .art-flow li:nth-child(3)::after{display:none}
}
@media (max-width:600px){
  .art-hero.has-video{padding-bottom:48px}
  .art-by .art-runtime{display:none}
  .art-stage-grid{margin-top:32px;margin-inline:-24px;border-radius:0;border-inline:0}
  .art-play-in{padding:8px 16px 8px 8px;font-size:14px}.art-play-in i{width:44px;height:44px}
  .art-chap button{padding:11px 16px;min-height:44px;font-size:15px}
  .art-player.docked{width:220px;inset:auto 12px 12px auto}
  .art-flow,.art-cards{grid-template-columns:minmax(0,1fr)}
  .art-body .art-flow > li + li{border-left:0;border-top:1px solid var(--line)}
  .art-flow li + li::after{display:none}
  .art-body .art-cards > li:nth-child(even){padding-left:0;border-left:0}
  .art-transcript p{grid-template-columns:44px minmax(0,1fr);font-size:15px}
}

/* VSL template (video sales letter): body class "vsl-page" trims the header to logo + Apply; .vsl-hero holds the
   video (muted autoplay with captions, tap for sound, end screen), then a sticky apply bar.
   Reference: content/watch.html */
.vsl-page .site-head .nav-list,.vsl-page .site-head .nav-burger,.vsl-page .site-head .m-sheet{display:none!important}
.vsl-hero{padding-block:40px 80px;background:var(--paper);text-align:center}
.vsl-hero .kicker{margin-bottom:18px}
.vsl-hero h1{font-size:clamp(32px,4vw,52px);line-height:1.1;letter-spacing:-.024em;max-width:17em;margin-inline:auto}
.vsl-hero h1 em{color:var(--blue)}
.vsl-hero .lede{margin:32px auto 0;max-width:40em;font-size:18px}
.vsl-frame{position:relative;width:min(100%,980px,max(560px,calc((100svh - 300px) * 16 / 9)));margin:32px auto 0;aspect-ratio:16/9;background:var(--ink);border-radius:var(--radius);overflow:hidden;box-shadow:0 0 0 1px var(--ink)}
.vsl-frame video{display:block;width:100%;height:100%;object-fit:cover;background:var(--ink)}
.vsl-frame video::cue{font:500 17px/1.4 var(--body);background:rgba(22,23,26,.82);color:#fff}
.vsl-sound{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:0;padding:0;background:rgba(22,23,26,.22);cursor:pointer;color:var(--white)}
.vsl-sound-in{display:inline-flex;align-items:center;gap:14px;padding:12px 24px 12px 12px;border-radius:999px;background:var(--white);color:var(--ink);font:600 16px/1 var(--body)}
.vsl-sound-in i{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--blue);color:var(--white)}
.vsl-sound-in i svg{width:22px;height:22px}
.vsl-sound small{font:500 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--white);text-shadow:0 1px 2px rgba(0,0,0,.6)}
.vsl-sound:hover .vsl-sound-in i{background:var(--blue-deep)}
.vsl-frame.live .vsl-sound{display:none}
.vsl-end{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;background:rgba(22,23,26,.9);color:var(--white);text-align:center}
.vsl-frame.ended .vsl-end{display:flex}
.vsl-end p{font:400 clamp(22px,2.6vw,32px)/1.3 var(--display);max-width:18em}
.vsl-end p.vsl-end-sub{font:400 15px/1.5 var(--body);color:rgba(255,255,255,.85);margin-top:-6px}
.vsl-end-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 22px}
.vsl-go{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:var(--radius);background:var(--blue);color:var(--white);text-decoration:none;font:600 15px/1 var(--body);transition:background .18s ease}
.vsl-go:hover{background:var(--blue-deep)}
.vsl-go svg{width:14px;height:14px}
.vsl-replay{border:0;background:none;color:var(--white);font:500 14px/1 var(--body);text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:44px}
.vsl-beats{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 18px;max-width:980px;margin:16px auto 0;font:500 12px/1.4 var(--mono);color:var(--muted)}
.vsl-beats button{border:0;background:none;padding:6px 0;min-height:44px;font:inherit;color:var(--muted);cursor:pointer}
.vsl-beats button b{font-weight:500;color:var(--blue);margin-right:6px}
.vsl-beats button:hover{color:var(--ink)}
.vsl-beats button.on{color:var(--ink)}
.vsl-act{margin-top:28px;display:flex;flex-direction:column;align-items:center;gap:12px}
.vsl-act .btn{font-size:16px;padding:18px 28px;transition:background .18s ease,transform .18s ease,box-shadow .3s ease}
.vsl-act.lit .btn{box-shadow:0 0 0 6px var(--blue-tint),0 0 0 7px var(--blue-mid)}
.vsl-act .micro{font-size:14px;color:var(--muted);max-width:36em}
.vsl-problems{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--ink)}
.vsl-problems > div{padding:24px 28px 8px 0}
.vsl-problems > div + div{padding-left:28px;border-left:1px solid var(--line)}
.vsl-problems .n{font:400 44px/1 var(--display);color:var(--blue)}
.vsl-problems h3{margin-top:14px;font-size:24px;line-height:1.25}
.vsl-problems p{margin-top:10px;color:var(--graphite)}
.vsl-problems button{margin-top:14px;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px 0 6px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);font:500 13px/1 var(--body);color:var(--ink);cursor:pointer}
.vsl-problems button i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--blue)}
.vsl-problems button i svg{width:8px;height:8px;margin-left:1px;color:var(--white)}
.vsl-problems button b{font:500 12px/1 var(--mono);color:var(--blue);font-weight:500}
.vsl-problems button:hover{border-color:var(--blue);color:var(--blue)}
.vsl-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:40px;border-top:1px solid var(--ink)}
.vsl-facts div{padding-top:14px}
.vsl-facts b{display:block;font:400 32px/1.1 var(--display);color:var(--ink)}
.vsl-facts span{display:block;font:500 11px/1.4 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.vsl-gets{list-style:none;margin:48px 0 0;padding:0;border-top:1px solid var(--line)}
.vsl-gets li{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:8px 40px;padding:20px 0;border-bottom:1px solid var(--line)}
.vsl-gets b{font:400 22px/1.3 var(--display);color:var(--ink);font-weight:400}
.vsl-gets span{color:var(--graphite)}
.vsl-fit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.vsl-fit .big{font:400 clamp(30px,3.4vw,44px)/1.15 var(--display);color:var(--ink);letter-spacing:-.02em}
.vsl-fit .big em{color:var(--blue)}
.vsl-fit .src{margin-top:14px;font-size:14px;color:var(--muted)}
.vsl-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .25s ease;padding-bottom:env(safe-area-inset-bottom,0px)}
.vsl-bar.show{transform:none}
.vsl-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.vsl-bar p{font-size:14.5px;color:var(--graphite)}
.vsl-bar p b{color:var(--ink);font-weight:600}
.vsl-page .foot{padding-bottom:96px}
@media (max-width:900px){
  .vsl-problems{grid-template-columns:minmax(0,1fr)}
  .vsl-problems > div,.vsl-problems > div + div{padding:22px 0;border-left:0}
  .vsl-problems > div + div{border-top:1px solid var(--line)}
  .vsl-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vsl-gets li,.vsl-fit{grid-template-columns:minmax(0,1fr)}
  .vsl-fit{gap:32px}
}
@media (max-width:600px){
  .vsl-hero{padding-block:40px 56px}
  .vsl-hero .lede{font-size:17px}
  .vsl-frame{width:auto;margin:28px -24px 0;border-radius:0;box-shadow:none}
  .vsl-sound-in{padding:8px 18px 8px 8px;font-size:15px}.vsl-sound-in i{width:44px;height:44px}
  .vsl-frame video::cue{font-size:14px}
  .vsl-act .btn{width:100%;justify-content:center}
  .vsl-bar p span{display:none}
  .vsl-bar .wrap{min-height:64px}
}

/* Lead magnet template: .lm-hero (offer + sign-up card), [data-lead-form] posts to /api/lead and swaps the card
   to a download. .lm-inline is the same card for blog posts. Reference: content/free/gtm-conversions-csv.html */
.lm-hero{padding-block:64px 80px;background:var(--paper)}
.lm-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:72px;align-items:center}
.lm-hero h1{font-size:clamp(36px,4.6vw,58px);line-height:1.1;letter-spacing:-.024em}
.lm-hero h1 em{color:var(--blue)}
.lm-hero .lede{margin-top:22px;font-size:18px;max-width:36em}
.lm-hero .checks{margin-top:26px}
.lm-proof{display:flex;align-items:center;gap:20px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line-strong);max-width:36em}
.lm-proof b{font:400 44px/1 var(--display);color:var(--blue);letter-spacing:-.02em;white-space:nowrap}
.lm-proof span{font-size:14.5px;line-height:1.5;color:var(--graphite)}
.lm-card{position:relative;background:var(--white);border:1px solid var(--line);border-top:2px solid var(--blue);border-radius:var(--radius);padding:28px}
.lm-file{display:flex;align-items:center;gap:14px;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.lm-file svg{width:40px;height:48px;flex:none;color:var(--blue)}
.lm-file b{display:block;font:500 14px/1.3 var(--mono);color:var(--ink);overflow-wrap:anywhere}
.lm-file span{display:block;margin-top:4px;font:400 12px/1.4 var(--mono);color:var(--muted)}
.lm-card h2{font-size:28px;line-height:1.2}
.lm-card > p{margin-top:8px;font-size:15px;color:var(--graphite)}
.lm-form{display:grid;gap:12px;margin-top:20px}
.lm-form label{display:grid;gap:6px;font:500 13px/1.3 var(--body);color:var(--ink)}
.lm-form label small{font-weight:400;color:var(--muted)}
.lm-form input[type=email],.lm-form input[type=text]{width:100%;min-height:50px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);font:16px/1.2 var(--body);color:var(--ink)}
.lm-form input:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.lm-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lm-form .lm-consent{display:flex;flex-direction:row;align-items:center;gap:10px;min-height:44px;font-size:14.5px;font-weight:400;color:var(--graphite);cursor:pointer}
.lm-form .lm-consent input{width:18px;height:18px;min-height:0;flex:none;margin:0;padding:0;accent-color:var(--blue)}
.lm-form button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;margin-top:4px;border:0;border-radius:var(--radius);background:var(--blue);color:var(--white);font:600 16px/1 var(--body);cursor:pointer;transition:background .18s ease}
.lm-form button:hover{background:var(--blue-deep)}
.lm-form button[disabled]{opacity:.6;cursor:wait}
.lm-form button svg{width:16px;height:16px}
.lm-note{margin-top:12px;font-size:12.5px;line-height:1.5;color:var(--muted)}
.lm-note a{color:inherit}
.lm-msg{margin-top:10px;font-size:14px;color:var(--error)}
.lm-msg:empty{display:none}
.lm-done{display:none}
[data-lead].done .lm-ask{display:none}
[data-lead].done .lm-done{display:block}
.lm-done .ok{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--blue-tint);color:var(--blue)}
.lm-done .ok svg{width:22px;height:22px}
.lm-done h2,.lm-done h3{margin-top:14px}
.lm-done > p{margin-top:8px;font-size:15px;color:var(--graphite)}
.lm-dl{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;margin-top:18px;border-radius:var(--radius);background:var(--blue);color:var(--white)!important;text-decoration:none;font:600 16px/1 var(--body)}
.lm-dl:hover{background:var(--blue-deep)}
.lm-dl svg{width:16px;height:16px}
.lm-next{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--line)}
.lm-next li{padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--graphite)}
.lm-next a{color:var(--ink);font-weight:600}
.lm-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:8px;border-top:1px solid var(--ink)}
.lm-flow > div{padding:22px 24px 4px 0;position:relative}
.lm-flow > div + div{padding-left:24px;border-left:1px solid var(--line)}
.lm-flow small{font:500 12px/1 var(--mono);color:var(--blue)}
.lm-flow h3{margin-top:12px;font-size:22px;line-height:1.25}
.lm-flow p{margin-top:8px;font-size:15px;color:var(--graphite)}
.lm-flow code,.lm-specs code{font:500 .86em/1.4 var(--mono);background:var(--paper);border:1px solid var(--line);padding:1px 5px;border-radius:3px;color:var(--ink)}
.lm-inside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.lm-tree{margin:0;padding:22px 24px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);font:400 14px/2 var(--mono);color:var(--ink);white-space:pre;overflow-x:auto}
.lm-tree i{font-style:normal;color:var(--muted)}
.lm-specs{margin:0;border-top:1px solid var(--ink)}
.lm-specs > div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.lm-specs dt{font:500 11.5px/1.7 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.lm-specs dd{margin:0;font-size:15.5px;color:var(--ink)}
.lm-built{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:32px;align-items:center;max-width:980px}
.lm-built img{width:120px;height:120px;border-radius:50%;object-fit:cover;object-position:50% 20%}
.lm-built p.q{font:400 clamp(21px,2.2vw,26px)/1.4 var(--display);color:var(--ink)}
.lm-built p.who{margin-top:10px;font-size:14px;color:var(--muted)}
.lm-built .big{text-align:right;font:400 52px/1 var(--display);color:var(--blue);white-space:nowrap}
.lm-built .big small{display:block;margin-top:8px;font:500 11px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.lm-inline{margin:2.2em 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.lm-inline .lm-card{padding:22px}
.lm-inline .lm-form{margin-top:0}
.lm-inline-k,.prose .lm-inline-k{font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.prose .lm-inline h3,.lm-inline h3{margin-top:8px;font-size:24px}
.lm-inline-copy p{margin-top:8px;font-size:15.5px}
.lm-inline-copy a.lnk{margin-top:12px}
@media (max-width:960px){
  .lm-grid,.lm-inside,.lm-inline{grid-template-columns:minmax(0,1fr);gap:40px}
  .lm-card{max-width:560px}
  .lm-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lm-flow > div:nth-child(3){padding-left:0;border-left:0}
  .lm-flow > div:nth-child(n+3){border-top:1px solid var(--line);margin-top:18px}
  .lm-built{grid-template-columns:96px minmax(0,1fr);gap:24px}
  .lm-built img{width:96px;height:96px}
  .lm-built .big{grid-column:1/-1;text-align:left}
}
@media (max-width:600px){
  .lm-hero{padding-block:44px 56px}
  .lm-hero .lede{font-size:17px}
  .lm-card{padding:22px 18px}
  .lm-flow{grid-template-columns:minmax(0,1fr)}
  .lm-flow > div,.lm-flow > div + div{padding:20px 0;border-left:0;margin-top:0}
  .lm-flow > div + div{border-top:1px solid var(--line)}
  .lm-specs > div{grid-template-columns:minmax(0,1fr);gap:4px}
  .lm-built{grid-template-columns:minmax(0,1fr)}
  .lm-tree{font-size:12.5px;padding:16px}
  .lm-proof b{font-size:36px}
}
/* Phones/tablets: bring the sign-up card up right under the pitch. */
@media (max-width:960px){
  .lm-grid{row-gap:0}
  .lm-grid > div:first-child{display:contents}
  .lm-grid .kicker{order:1}.lm-grid h1{order:2}.lm-grid .lede{order:3}
  .lm-grid .lm-card{order:4;margin-top:28px}
  .lm-grid .checks{order:5;margin-top:36px}
  .lm-grid .lm-proof{order:6}
}

/* ---------- site header (v3): menu built from config/nav.php by src/nav.php; behaviour in lux-v2.js ----------
   Desktop: full-width panels (hover intent, click, arrow keys, Escape), page scrim, shrinks on scroll.
   Phones (<=960px): full-screen sheet with accordions, quick links and a pinned Apply button. */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;border-bottom:1px solid var(--line)}
/* Translucent background on a pseudo-element: backdrop-filter on the header itself would trap the fixed sheet and scrim. */
.site-head::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px)}
.site-head.panel-open::before{background:var(--white)}
.site-head > .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px;transition:height .2s ease}
.site-head.scrolled > .wrap{height:60px}
.site-head > .wrap > a img{display:block;height:auto;max-height:56px;width:auto;transition:max-height .2s ease}
.site-head.scrolled > .wrap > a img{max-height:44px}
.nav{display:flex;align-items:center;gap:6px}
.nav-list{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.nav-top{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 13px;border:0;border-radius:var(--radius);background:none;font:500 14.5px/1 var(--body);color:var(--graphite);text-decoration:none;cursor:pointer;white-space:nowrap;transition:color .15s ease}
.nav-top::after{content:"";position:absolute;left:13px;right:13px;bottom:5px;height:2px;border-radius:1px;background:var(--blue);transform:scaleX(0);transform-origin:left center;transition:transform .2s ease}
.nav-top:hover,.nav-item.open > .nav-top,.nav-item.current > .nav-top{color:var(--ink)}
.nav-item.current > .nav-top::after{transform:scaleX(1)}
.nav-item.open > .nav-top::after{transform:scaleX(1);background:var(--ink)}
.nav-top .chev{width:12px;height:12px;opacity:.65;transition:transform .2s ease}
.nav-item.open > .nav-top .chev{transform:rotate(180deg);opacity:1}
.nav-cta{display:inline-flex;align-items:center;gap:8px;min-height:40px;margin-left:12px;padding:0 16px;border-radius:var(--radius);background:var(--blue);color:var(--white);text-decoration:none;font:600 14px/1 var(--body);white-space:nowrap;transition:background .18s ease}
.nav-cta:hover{background:var(--blue-deep)}
.nav-cta svg{width:13px;height:13px;transition:transform .18s ease}
.nav-cta:hover svg{transform:translateX(2px)}
.nav-cta .s{display:none}

/* Desktop panels */
.np{position:absolute;left:0;right:0;top:100%;z-index:2;background:var(--white);border-bottom:1px solid var(--line);visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}
.nav-item.open > .np{visibility:visible;opacity:1;transform:none;transition:opacity .18s ease,transform .18s ease}
.site-head:not(.nav-js) .nav-item:hover > .np,.site-head:not(.nav-js) .nav-item:focus-within > .np{visibility:visible;opacity:1;transform:none}
.np-in{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr)) 300px;gap:40px;padding-block:30px 34px}
.np-k{padding-bottom:10px;margin-bottom:6px;border-bottom:1px solid var(--line);font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.np-col ul{list-style:none;margin:0;padding:0}
.np-col ul + .np-k{margin-top:22px}
.np-col a{display:block;margin:0 -12px;padding:10px 12px;border-radius:var(--radius);text-decoration:none;transition:background .15s ease}
.np-col a b{display:block;font:500 15px/1.3 var(--body);color:var(--ink);transition:color .15s ease}
.np-col a span{display:block;margin-top:3px;font-size:13px;line-height:1.45;color:var(--muted)}
.np-col a:hover,.np-col a:focus-visible{background:var(--paper)}
.np-col a:hover b,.np-col a:focus-visible b{color:var(--blue)}
.np-col a[aria-current="page"]{background:var(--blue-tint)}
.np-col a[aria-current="page"] b{color:var(--blue)}
.np-gridded .np-col ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.np-feature{align-self:start;padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.np-feature .np-k{border-bottom:0;padding-bottom:0;margin-bottom:12px;color:var(--blue)}
.np-ft{font:400 22px/1.25 var(--display);color:var(--ink);letter-spacing:-.01em;text-wrap:balance}
.np-fm{margin-top:8px;font:500 12px/1.4 var(--mono);color:var(--muted)}
.np-fx{margin-top:10px;font-size:14px;line-height:1.55;color:var(--graphite)}
.np-fl{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:18px}
.np-go{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:var(--radius);background:var(--blue);color:var(--white);text-decoration:none;font:600 14px/1 var(--body)}
.np-go:hover{background:var(--blue-deep)}
.np-more{display:inline-flex;align-items:center;gap:8px;font:600 14px/1 var(--body);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:3px}
.np-more:hover{color:var(--blue);border-color:var(--blue)}
.np-go svg,.np-more svg{width:12px;height:12px}
.nav-scrim{position:fixed;left:0;right:0;bottom:0;top:72px;z-index:1;background:rgba(22,23,26,.22);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility 0s linear .18s}
.site-head.scrolled .nav-scrim{top:60px}
.site-head.panel-open .nav-scrim{opacity:1;visibility:visible;transition:opacity .18s ease}

/* Phones and tablets: burger + sheet */
.nav-burger,.m-sheet{display:none}
@media (max-width:1100px){.nav-top{padding:0 10px}.nav-top::after{left:10px;right:10px}.np-in{grid-template-columns:repeat(var(--cols,3),minmax(0,1fr)) 260px;gap:28px}}
@media (max-width:960px){
  .nav-list,.nav-scrim{display:none!important}
  .nav{gap:8px}
  .nav-cta{margin-left:0;min-height:44px}
  .nav-cta .l{display:none}.nav-cta .s{display:inline}
  .nav-burger{position:relative;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);cursor:pointer}
  .nav-burger span,.nav-burger span::before,.nav-burger span::after{content:"";display:block;width:18px;height:2px;border-radius:1px;background:var(--ink);transition:transform .2s ease,background .2s ease}
  .nav-burger span{position:relative}
  .nav-burger span::before{position:absolute;top:-6px}
  .nav-burger span::after{position:absolute;top:6px}
  .nav-burger[aria-expanded="true"] span{background:transparent}
  .nav-burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
  .nav-burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
  .m-sheet{position:fixed;left:0;right:0;bottom:0;top:72px;z-index:3;display:flex;flex-direction:column;background:var(--white);border-top:1px solid var(--line)}
  .m-sheet[hidden]{display:none}
  .m-sheet:not([hidden]){animation:m-sheet-in .22s ease}
  .m-body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:16px max(20px,env(safe-area-inset-left,0px)) 24px}
  .m-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px}
  .m-quick a{display:grid;place-items:center;min-height:48px;padding:0 8px;border:1px solid var(--line-strong);border-radius:var(--radius);font:600 14px/1.2 var(--body);color:var(--ink);text-decoration:none;text-align:center}
  .m-quick a[aria-current="page"]{border-color:var(--blue);color:var(--blue);background:var(--blue-tint)}
  .m-acc{border-bottom:1px solid var(--line)}
  .m-acc > summary,.m-row{display:flex;align-items:center;justify-content:space-between;min-height:60px;list-style:none;cursor:pointer;font:400 24px/1.2 var(--display);color:var(--ink);text-decoration:none}
  .m-acc > summary::-webkit-details-marker{display:none}
  .m-acc > summary .chev{width:16px;height:16px;color:var(--blue);transition:transform .2s ease}
  .m-acc[open] > summary .chev{transform:rotate(180deg)}
  .m-acc.current > summary,.m-row.current{color:var(--blue)}
  .m-row{border-bottom:1px solid var(--line)}
  .m-row svg{width:16px;height:16px;color:var(--blue)}
  .m-links{padding:0 0 12px}
  .m-links a{display:block;padding:12px 0 12px 14px;border-left:2px solid var(--line);text-decoration:none}
  .m-links a b{display:block;font:500 16px/1.3 var(--body);color:var(--ink)}
  .m-links a span{display:block;margin-top:3px;font-size:13.5px;line-height:1.45;color:var(--muted)}
  .m-links a[aria-current="page"]{border-left-color:var(--blue);background:var(--blue-tint)}
  .m-links a[aria-current="page"] b{color:var(--blue)}
  .m-foot{flex:none;padding:14px max(20px,env(safe-area-inset-left,0px)) calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--white)}
  .m-cta{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:var(--radius);background:var(--blue);color:var(--white);text-decoration:none;font:600 16px/1 var(--body)}
  .m-cta svg{width:14px;height:14px}
  .m-foot p{margin-top:8px;text-align:center;font-size:13px;color:var(--muted)}
  html.m-open,html.m-open body{overflow:hidden}
}
@media (max-width:600px){
  .site-head > .wrap,.site-head.scrolled > .wrap{height:60px}
  .site-head > .wrap > a img,.site-head.scrolled > .wrap > a img{max-height:44px}
  .m-sheet{top:60px}
}
@media (max-width:360px){.nav-cta{padding:0 12px}}
@keyframes m-sheet-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* ===== Blog CTAs (templates/partials/blog-cta/, filled by cta_slots() in src/render.php) =====
   .bc-inline = one-line mid-article callout; .bc-close = the topic closing band (a .cta-band). */
.bc-inline{margin:2.2em 0;padding:18px 22px;background:var(--blue-tint);border-left:2px solid var(--blue);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}
.prose .bc-inline p{margin:0;flex:1 1 320px;min-width:0;font-size:16px;line-height:1.65;color:var(--graphite)}
.prose .bc-inline a.lnk{color:var(--ink);white-space:nowrap;padding-top:12px}
.prose .bc-inline a.lnk:hover{color:var(--blue)}
.prose .bc-inline + *{margin-top:1.1em}
@media (max-width:600px){.bc-inline{padding:16px 18px}.prose .bc-inline a.lnk{white-space:normal}}
/* ===== end Blog CTAs ===== */
