/* Partner Runbook. The partner program as 10 steps you climb: light dotted paper,
   white isometric blocks, step tops from deep indigo to coral. Mobile first.
   Theme: follows the device by default; the header switch sets data-theme on <html>. */
:root{
  --ease-out:cubic-bezier(0.23, 1, 0.32, 1);
  --bg:#F6F6FB; --dot:#D9D9E8; --surface:#FFFFFF; --ink:#1D1B4C; --muted:#55547A; --line:#DCDCEB;
  --coral:#B84A2A; --coral-bright:#F07A4C; --face:#FFFFFF; --face-side:#F1F1F8; --edge:#3D3A86;
  --todo:#B42318; --todo-bg:#FDECEA; --ok:#1D6B45;
  --sans:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif; --mono:"Martian Mono",ui-monospace,Menlo,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#111131; --dot:#24245A; --surface:#1A1A42; --ink:#EDECFA; --muted:#AEADD3; --line:#2E2E66;
  --coral:#FF9A6E; --coral-bright:#FF9A6E; --face:#1E1E4A; --face-side:#17173D; --edge:#7471D0;
  --todo:#FF8A80; --todo-bg:#3A1714; --ok:#6FD3A0; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#111131; --dot:#24245A; --surface:#1A1A42; --ink:#EDECFA; --muted:#AEADD3; --line:#2E2E66;
  --coral:#FF9A6E; --coral-bright:#FF9A6E; --face:#1E1E4A; --face-side:#17173D; --edge:#7471D0;
  --todo:#FF8A80; --todo-bg:#3A1714; --ok:#6FD3A0; color-scheme:dark}

*{box-sizing:border-box}
[hidden]{display:none !important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background-color:var(--bg);background-image:radial-gradient(var(--dot) 1.2px,transparent 1.3px);background-size:26px 26px;color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
.wrap{max-width:1120px;margin:0 auto;padding-inline:20px}
h1,h2,h3{margin:0;line-height:1.05;text-wrap:balance;letter-spacing:-.015em}
p{margin:0}
a{color:var(--ink)}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--bg);padding:8px 12px;border-radius:6px;z-index:10}
.skip:focus{left:8px}
.eyebrow{font-family:var(--mono);font-size:12px;color:var(--coral)}
.todo{font-family:var(--mono);font-size:12px;color:var(--todo);background:var(--todo-bg);padding:2px 6px;border-radius:3px}
.btn{display:inline-flex;justify-content:center;align-items:center;font:inherit;font-weight:700;font-size:16px;padding:14px 22px;border-radius:999px;text-decoration:none;border:0;cursor:pointer}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--coral-bright);outline-offset:2px}
.primary{background:var(--ink);color:var(--bg)}
.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}

/* Header */
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:16px}
.mark{display:flex;gap:10px;align-items:center;font-weight:800;font-size:17px;text-decoration:none;white-space:nowrap}
.nav-score .short{display:none}
.mark svg{width:24px;height:16px}
.top nav{display:flex;align-items:center;gap:6px}
.top nav a{display:none;font-weight:600;font-size:15px;text-decoration:none;padding:8px 10px}
.top nav a.nav-score{display:inline-block;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:14px;white-space:nowrap}
@media (max-width:420px){.nav-score .long{display:none}.nav-score .short{display:inline}.top nav a.nav-score{padding:8px 10px}#theme-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.mark{font-size:16px}}
.theme{display:inline-flex;align-items:center;gap:6px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:7px 12px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;min-height:40px}
.theme svg{width:16px;height:16px}
.theme .moon{display:none}
:root[data-theme="dark"] .theme .sun{display:none}
:root[data-theme="dark"] .theme .moon{display:inline}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .theme .sun{display:none}:root:not([data-theme="light"]) .theme .moon{display:inline}}

/* Hero */
.hero{display:grid;gap:28px;padding-block:20px 40px}
.hero-copy{display:grid;gap:20px}
.hero h1{font-size:clamp(40px,10.5vw,78px);font-weight:900;max-width:12ch}
.hero h1 span{color:var(--coral)}
.hero .sub{font-size:clamp(18px,2.3vw,21px);color:var(--muted);max-width:52ch}
.ctas{display:grid;gap:10px}
.proof{display:flex;gap:12px;align-items:center;font-size:15px;color:var(--muted);max-width:56ch;text-decoration:none}
.proof img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--coral-bright)}
.proof b{color:var(--ink)}

/* Staircase drawing (inline SVG, colors from tokens) */
.stairs svg{width:100%;height:auto;display:block}
.stairs .face{fill:var(--face);stroke:var(--edge);stroke-width:1;stroke-linejoin:round}
.stairs .side{fill:var(--face-side)}
.stairs .top{stroke:var(--edge);stroke-width:1;stroke-linejoin:round}
.stairs .num{font-family:var(--mono);font-size:20px;font-weight:700;fill:var(--coral)}
.stairs .lab{font-family:var(--sans);font-size:14px;fill:var(--muted)}
.stairs .lead{stroke:var(--muted);stroke-width:1.6;stroke-dasharray:0 6;stroke-linecap:round}
.hero .stairs{max-width:420px;justify-self:center;width:100%}

/* Sections */
section{padding-block:52px}
.head{display:grid;gap:10px;margin-bottom:26px;max-width:720px}
.head h2{font-size:clamp(30px,6.4vw,50px);font-weight:900}
.head p{color:var(--muted);font-size:18px}

.cards{display:grid;gap:12px}
.card{background:var(--surface);border-radius:14px;padding:22px;display:grid;gap:8px;align-content:start;box-shadow:0 1px 0 var(--line);min-width:0}
.card b,.card h3{font-size:19px;font-weight:800;line-height:1.2}
.card p,.card span{color:var(--muted);font-size:16px}
.cube{width:30px;height:20px}

/* Course */
.phases{display:grid;gap:12px}
.phase{background:var(--surface);border-radius:14px;padding:22px;display:grid;gap:12px;box-shadow:0 1px 0 var(--line)}
.phase-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.phase h3{font-size:21px;font-weight:900}
.phase ol{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.phase li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px;font-size:16px}
.phase li span{font-family:var(--mono);font-size:12px;color:var(--coral);padding-top:4px}
.course-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}
.course-cta p{color:var(--muted);font-size:16px}

/* About */
.about2 .say{display:grid;gap:14px;font-size:18px;max-width:62ch}
.values{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.values li{background:var(--surface);border-radius:12px;padding:14px 16px;box-shadow:0 1px 0 var(--line);font-weight:700}
.values li span{display:block;font-weight:400;color:var(--muted);font-size:15px}

/* Pricing */
.offers{display:grid;gap:12px}
.offer{background:var(--surface);border-radius:14px;padding:24px;display:grid;gap:12px;align-content:start;box-shadow:0 1px 0 var(--line)}
.offer.main{background:var(--ink);color:var(--bg)}
.offer.main p,.offer.main li{color:var(--line)}
:root[data-theme="dark"] .offer.main p,:root[data-theme="dark"] .offer.main li{color:#3A3966}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .offer.main p,:root:not([data-theme="light"]) .offer.main li{color:#3A3966}}
.offer h3{font-size:23px;font-weight:900}
.offer p{color:var(--muted);font-size:16px}
.offer ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:15px;color:var(--muted)}
.price{display:flex;align-items:baseline;gap:8px}
.price b{font-size:34px;font-weight:900;letter-spacing:-.02em}
.price span{font-size:14px;color:var(--muted)}
.offer.main .price span{color:var(--line)}
.offer .btn{justify-self:stretch}
.offer.main .btn{background:var(--coral-bright);color:#1D1B4C}

/* FAQ */
.faq{display:grid;gap:10px;max-width:780px}
.faq details{background:var(--surface);border-radius:12px;box-shadow:0 1px 0 var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:700;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--coral)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 18px 16px;color:var(--muted);font-size:16px}

/* Waitlist */
.join{display:grid;gap:22px}
.join form{background:var(--surface);border-radius:14px;padding:22px;display:grid;gap:14px;box-shadow:0 1px 0 var(--line)}
.field{display:grid;gap:6px}
.field label{font-family:var(--mono);font-size:12px;color:var(--muted)}
input,select{font:inherit;font-size:17px;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);width:100%;min-width:0}
.msg{font-size:15px;min-height:1.4em}
.msg.ok{color:var(--ok)} .msg.err{color:var(--todo)}


@media (min-width:760px){
  .wrap{padding-inline:40px}
  .top nav a{display:inline-block}
  .ctas{display:flex;flex-wrap:wrap}
  .hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;padding-block:36px 64px}
  .cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}
  .offers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .phases{grid-template-columns:repeat(2,minmax(0,1fr))}
  .join{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  section{padding-block:76px}
}
@media (min-width:1100px){.offers{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Text pages: refund, privacy, thank you */
.prose{max-width:760px;padding-block:24px 64px;display:grid;gap:14px}
.prose h1{font-size:clamp(34px,8vw,56px);font-weight:900}
.prose h2{font-size:22px;font-weight:800;margin-top:14px}
.prose .lead{font-size:19px;color:var(--muted)}
.prose ul,.prose ol{margin:0;padding-left:22px;display:grid;gap:8px}
.prose p,.prose li{max-width:65ch}
.prose .updated{font-size:14px;color:var(--muted);margin-top:18px}
.box{background:var(--surface);border-radius:14px;padding:22px;display:grid;gap:10px;box-shadow:0 1px 0 var(--line);margin-top:10px}
.box .btn{justify-self:start}
.guarantee{margin-top:18px;color:var(--muted);font-size:15px}
a[aria-disabled="true"]{opacity:.55;cursor:not-allowed}

/* The 10 steps, scroll version (climb.js). The stage is pinned with position: sticky, no JS pinning.
   Without JS: the finished staircase and all cards at full strength. */
.climb-grid{display:grid;gap:0}
.climb-stage{position:sticky;top:env(safe-area-inset-top,0px);z-index:2;background:var(--bg);padding-block:10px 12px;display:grid;gap:10px;box-shadow:0 10px 12px -12px var(--line)}
.climb-meter{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;align-items:baseline}
.climb-meter span:first-child{font-family:var(--mono);font-size:12px;color:var(--coral)}
.climb-name{font-weight:800;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.climb-meter i{grid-column:1/-1;height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.climb-meter b{display:block;height:100%;background:linear-gradient(90deg,#2E2A6B,#C24F8C,#FF9A5C);transform-origin:left;transform:scaleX(.1);transition:transform 200ms var(--ease-out)}
.climb-svg{max-width:420px;width:100%;justify-self:center}
.climb-svg svg{max-height:34vh;margin-inline:auto}
.climb-svg .ghost polygon{fill:var(--bg);stroke:var(--line);stroke-width:1;stroke-linejoin:round}
.climb-svg .ghost .g-top{fill:var(--line)}
.climb-svg .g-num{font-family:var(--mono);font-size:19px;font-weight:500;fill:var(--muted);opacity:.5}
.climb-svg .blk .top{transition:stroke 200ms var(--ease-out),stroke-width 200ms var(--ease-out)}
.climb-svg .blk.on .top{stroke:var(--coral-bright);stroke-width:3}
.climb-svg .blk.on .num{fill:var(--ink);font-weight:700}
.climb-steps{list-style:none;margin:0;padding:24px 0 22vh;display:grid}
.climb-step{min-height:44vh;padding-block:22px;display:grid;gap:8px;align-content:start;border-top:1px solid var(--line);transition:opacity 250ms var(--ease-out)}
.climb-on .climb-step:not(.on){opacity:.38}
.climb-n{font-family:var(--mono);font-size:13px;color:var(--coral)}
.climb-step h3{font-size:clamp(24px,5vw,34px);font-weight:900}
.climb-step p{color:var(--muted);font-size:18px;max-width:46ch}
.climb-where{justify-self:start;font-family:var(--mono);font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:4px 10px}
@media (prefers-reduced-motion: reduce){
  .climb-meter b,.climb-svg .blk .top,.climb-step{transition-duration:120ms}
}
@media (min-width:760px){
  .climb-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;align-items:start}
  .climb-stage{grid-column:2;grid-row:1;top:12vh;height:76vh;align-content:center;box-shadow:none;background:transparent;padding:0}
  .climb-steps{grid-column:1;grid-row:1;padding:8vh 0 30vh}
  .climb-step{min-height:58vh}
  .climb-svg{max-width:560px}
  .climb-svg svg{max-height:56vh}
}

/* Hero staircase: each block is a link. Hover or focus lifts it and shows its name (climb.js). */
.hero-stairs{position:relative}
.hero-stairs .step{cursor:pointer;outline:none;transition:transform 200ms var(--ease-out),opacity 200ms var(--ease-out)}
.hero-stairs .step:focus-visible{transform:translateY(-14px)}
.hero-stairs .step:focus-visible .top{stroke:var(--coral-bright);stroke-width:3}
@media (hover:hover) and (pointer:fine){
  .hero-stairs .step:hover{transform:translateY(-14px)}
  .hero-stairs .step:hover .top{stroke:var(--coral-bright);stroke-width:3}
  .hero-stairs.hovering .step:not(:hover):not(:focus-visible){opacity:.55}
}
@media (prefers-reduced-motion: reduce){
  .hero-stairs .step:hover,.hero-stairs .step:focus-visible{transform:none}
  .stair-tip,}
.climb-step{scroll-margin-top:48vh}

/* Who's behind this */
.about2{display:grid;gap:28px}
.about2 .head h2{font-size:clamp(32px,6.6vw,56px);font-weight:900}
.about-lead{font-size:clamp(19px,2.4vw,23px);color:var(--ink);max-width:56ch}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.facts div{background:var(--surface);border-radius:14px;padding:20px;display:grid;gap:6px;align-content:start;box-shadow:0 1px 0 var(--line);min-width:0}
.facts b{font-size:clamp(21px,3.4vw,34px);white-space:nowrap;font-weight:900;letter-spacing:-.02em;color:var(--coral)}
.facts span{color:var(--muted);font-size:15px}
.about-body{display:grid;gap:22px}

/* Application form */
textarea{font:inherit;font-size:17px;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);width:100%;min-width:0;resize:vertical}
.opt{color:var(--muted)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

@media (min-width:760px){
  .climb-step{scroll-margin-top:22vh}
  .facts{grid-template-columns:repeat(4,minmax(0,1fr))}
  .about-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
}

/* Hero caption: sits in the empty top-left corner of the staircase, with a dotted leader to the hovered block */
.stair-cap{position:absolute;left:0;top:0;max-width:58%;display:none;gap:4px;pointer-events:none}
.stair-cap .cap-n{font-family:var(--mono);font-size:12px;color:var(--coral)}
.stair-cap b{font-size:clamp(20px,2.2vw,26px);font-weight:900;line-height:1.1;letter-spacing:-.01em}
.stair-cap .cap-line{font-size:14px;color:var(--muted);line-height:1.4}
.stair-lead{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.stair-lead line{stroke:var(--muted);stroke-width:1.6;stroke-dasharray:0 6;stroke-linecap:round;opacity:0;transition:opacity 150ms var(--ease-out)}
.hero-stairs.hovering .stair-lead line{opacity:1}
@media (hover:hover) and (pointer:fine){.stair-cap{display:grid}}

/* 10 steps: tools that feed into each step */
.tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.tool{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;padding:5px 11px 5px 6px;border-radius:999px;background:var(--surface);box-shadow:0 1px 0 var(--line);
  transition:opacity 250ms var(--ease-out),transform 250ms var(--ease-out);transition-delay:calc(var(--n) * 45ms)}
.tool i{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#C24F8C,#FF9A5C);flex:none}
.climb-on .climb-step:not(.on) .tool{opacity:0;transform:translateX(-12px);transition-delay:0ms}
.key{display:inline-block;vertical-align:middle;margin-left:8px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:0;color:var(--bg);background:var(--coral);border-radius:99px;padding:3px 9px}
.climb-step p+p{margin-top:2px}
@media (prefers-reduced-motion: reduce){.climb-on .climb-step:not(.on) .tool{transform:none}}

/* CTA strips: always a next step */
.cta-strip{margin-top:28px;background:var(--surface);border-radius:16px;padding:20px;display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;box-shadow:0 1px 0 var(--line)}
.cta-strip p{flex:1 1 260px;color:var(--muted)}
.cta-strip p b{color:var(--ink)}

/* Kit: hover a file to see what's inside */
.kit-grid{display:grid;gap:12px}
.kit-card{position:relative;background:var(--surface);border-radius:14px;box-shadow:0 1px 0 var(--line);overflow:hidden;outline:none}
.kit-card:focus-visible{box-shadow:0 0 0 3px var(--coral-bright)}
.kit-front{padding:22px;display:grid;gap:8px;align-content:start}
.kit-file{font-family:var(--mono);font-size:12px;color:var(--coral)}
.kit-front h3{font-size:20px;font-weight:800}
.kit-front p{color:var(--muted);font-size:16px}
.kit-more{display:none;font-size:13px;font-weight:700;color:var(--coral)}
.kit-inside{padding:0 22px 22px;display:grid;gap:10px}
.kit-inside ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.kit-inside-h{display:none;font-family:var(--mono);font-size:12px;opacity:.75}
.kit-inside li{position:relative;padding-left:18px;font-size:15px}
.kit-inside li::before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:2px;background:linear-gradient(135deg,#C24F8C,#FF9A5C)}
@media (hover:hover) and (pointer:fine){
  .kit-card{min-height:240px}
  .kit-more{display:inline}
  .kit-inside{position:absolute;inset:0;padding:24px;align-content:center;background:var(--ink);color:var(--bg);transform:translateY(101%);transition:transform 250ms var(--ease-out)}
  .kit-inside li{font-size:15px;font-weight:600}
  .kit-inside-h{display:block}
  .kit-card:hover .kit-inside,.kit-card:focus-visible .kit-inside{transform:translateY(0)}
}
@media (prefers-reduced-motion: reduce){.kit-inside{transition:none}}

/* Course: what you leave with */
.leave{font-size:15px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}
.leave b{color:var(--ink)}

/* About: the person */
.person{display:flex;gap:16px;align-items:center;margin:4px 0 6px}
.person img{width:88px;height:88px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--coral-bright)}
.person b{display:block;font-size:22px;font-weight:900}
.person span{display:block;color:var(--muted);font-size:15px}
.person-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.btn.small{padding:8px 14px;font-size:14px}

/* Free section */
.free-grid{display:grid;gap:12px}
.free-card .btn{justify-self:start}
.sub-row{display:flex;gap:8px;flex-wrap:wrap}
.sub-row input{flex:1 1 200px}
.prompt-box{display:grid;gap:10px}
.prompt-box pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:var(--mono);font-size:12.5px;line-height:1.55;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px;max-height:320px;overflow:auto}
.prompt-box .btn{justify-self:start}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Pricing: the teardown is with a person */
.offer-person{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:600;color:var(--muted)}
.offer-person img{width:40px;height:40px;border-radius:50%;object-fit:cover}

/* Footer */
.site-foot{display:grid;gap:28px;padding-block:44px 28px;border-top:1px solid var(--line)}
.foot-top{display:grid;gap:32px}
.foot-brand{display:grid;gap:12px;max-width:420px}
.foot-brand p{color:var(--muted);font-size:15px}
.sub-form{display:grid;gap:8px}
.sub-form label{font-weight:700;font-size:15px}
.foot-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.foot-cols div{display:grid;gap:8px;align-content:start}
.foot-h{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.04em}
.foot-cols a{color:var(--ink);text-decoration:none;font-size:15px}
.foot-cols a:hover{color:var(--coral)}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:14px;border-top:1px solid var(--line);padding-top:18px}
.foot-bottom a{color:var(--muted)}

@media (min-width:760px){
  .kit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .free-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-top{grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr)}
  .foot-cols{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.person .featured{display:inline-block;margin-top:6px;font-family:var(--mono);font-size:12px;color:var(--coral);text-decoration:none;border:1px solid var(--line);border-radius:99px;padding:4px 10px}
.person .featured:hover{border-color:var(--coral)}

/* Lapin Group shared bar and footer: follow this site's dark theme (device default or the switch) */
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .lgbar,:root:not([data-theme="light"]) .lgfoot{--lg-bg:#0F0F10;--lg-ink:#F5F5F7;--lg-muted:#A1A1A6;--lg-rule:#2C2C2E}}
:root[data-theme="light"] .lgbar,:root[data-theme="light"] .lgfoot{--lg-bg:#FFFFFF;--lg-ink:#1D1D1F;--lg-muted:#6E6E73;--lg-rule:#E3E3E8}

/* Scan field in the hero (links to /check/) */
.hero-scan{display:grid;gap:8px;max-width:540px}
.hero-scan label{font-weight:700;font-size:16px}
.hero-scan-row{display:flex;gap:6px;background:var(--surface);border:1.5px solid var(--ink);border-radius:999px;padding:5px 5px 5px 18px}
.hero-scan-row input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:500 17px var(--sans)}
.hero-scan-row .btn{padding:12px 18px;white-space:nowrap}
.hero-scan-row:focus-within{box-shadow:0 0 0 3px var(--coral-bright)}
.draft-tag{font-family:var(--mono);font-size:10px;color:#1D1B4C;background:#FFD166;border-radius:4px;padding:1px 6px;vertical-align:middle}

/* Lapin Group family mark: the wordmark with the yellow dot (14 Nov 2026, replaced the diamond) */
.mark{gap:0;letter-spacing:-.02em}
.mark-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#FFD60A;margin-left:3px;align-self:flex-end;margin-bottom:4px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
