/* site.css: additions for the pre-launch site, loaded after bradshaw.css. Tokens from 00_tokens.css only; classes start with mk-. */

/* header: wordmark, Blog, and the button. Own class so the product's public header rules do not hide the button on a phone. */
.mk-hd{gap:12px 28px}
.mk-nav{display:flex;align-items:center;gap:var(--g3);margin-left:auto}
.mk-nav>a:not(.btn){display:inline-flex;align-items:center;min-height:44px;font-size:var(--sm);color:var(--mu);text-decoration:none}
.mk-nav>a:not(.btn):hover{color:var(--ink)}
.mk-nav>a[aria-current="page"]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--acc);text-underline-offset:9px;text-decoration-thickness:1px}

/* hero, "Pick your seat": headline and lede, the persona control, the search box (the question types itself), the answer panel,
   "Try another", then the compact form. Centered column. static/ask.js adds .is-js and plays the answers; without it the first answer
   is shown as it is rendered. Motion is off under prefers-reduced-motion. */
.mk-ask{padding:56px 0 0;text-align:center}
.mk-ask-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:var(--g3)}
.mk-ask h1{max-width:11em;font-size:var(--d);line-height:.98;letter-spacing:-0.045em}
.mk-ask .lede{margin:0;max-width:38em;text-wrap:balance}
.mk-ask .mk-form{width:min(560px,100%);margin-top:var(--g1);text-align:left}
.mk-ask .mk-ft2{margin-top:calc(var(--g1) * -1);font-size:var(--sm)}
.mk-ft2{margin-top:var(--g1);font-size:var(--xs);color:var(--mu);max-width:56em}
.mk-ft2 a{color:var(--ink)}

/* persona control: a pill group; the pressed one is ink. With JS one ink indicator slides under the pressed button. It scrolls inside itself on a phone. */
.ask-pers{position:relative;display:flex;gap:2px;max-width:100%;padding:4px;background:var(--surf);border:1px solid var(--hair2);border-radius:999px;box-shadow:var(--sh);overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}
.ask-pers::-webkit-scrollbar{display:none}
.ask-p{position:relative;z-index:1;flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:0;border-radius:999px;background:none;color:var(--ink);font:inherit;font-size:var(--sm);font-weight:500;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:color .25s}
.ask-p:hover{color:var(--ink)}
.ask-p[aria-current="true"]{background:var(--ink);color:var(--surf)}
.ask-p:focus-visible,.ask-chip:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}
.ask-ind{display:none;position:absolute;z-index:0;top:4px;left:0;width:0;height:44px;border-radius:999px;background:var(--ink);pointer-events:none;transition:transform .4s cubic-bezier(.3,.8,.2,1),width .4s cubic-bezier(.3,.8,.2,1)}
.is-js .ask-ind{display:block}
.is-js .ask-p[aria-pressed="true"]{color:var(--surf)}
.is-js .ask-p:not([aria-pressed="true"]):hover{color:var(--mu)}

/* search box: the question types itself; the vermilion line along the bottom edge fills over the answer's dwell time */
.ask-box{position:relative;display:flex;align-items:center;gap:14px;width:min(860px,100%);min-height:87px;padding:14px 20px;background:var(--surf);border:1px solid var(--hair2);border-radius:14px;box-shadow:var(--sh);text-align:left;overflow:hidden}
.ask-box .ico{flex:none;color:var(--mu)}
.ask-typed{flex:1;min-width:0;font-size:clamp(17px,1.9vw,21px);line-height:1.35;letter-spacing:-0.01em;text-wrap:pretty}
.ask-caret{display:none;width:2px;height:1.15em;margin-left:2px;background:var(--acc);vertical-align:-0.18em}
.is-js .ask-caret{display:inline-block;animation:ask-blink 1.05s steps(1) infinite}
.ask-prog{position:absolute;left:0;right:0;bottom:0;height:2px}
.ask-prog i{display:block;height:100%;background:var(--acc);transform:scaleX(0);transform-origin:left}
.ask-box.is-go .ask-prog i{animation:ask-fill var(--dwell,6500ms) linear forwards}
.mk-ask.is-paused .ask-box.is-go .ask-prog i{animation-play-state:paused}
@keyframes ask-fill{to{transform:scaleX(1)}}
@keyframes ask-blink{50%{opacity:0}}

/* answer panel: as tall as the tallest answer (ask.js measures all nine; the value here is the fallback), so nothing below it jumps */
.blk.panel.ask-ans{display:flex;flex-direction:column;width:min(860px,100%);min-height:437px;padding:22px 24px 18px;text-align:left}
.ask-vis{display:flex;flex:1;flex-direction:column;gap:20px;min-width:0;transition:opacity .25s}
.ask-vis.is-out{opacity:.3}
.ask-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.ask-n{font-size:var(--num);font-weight:600;letter-spacing:-0.045em;line-height:1;font-variant-numeric:tabular-nums}
.ask-u{font-size:var(--ms);font-weight:600;letter-spacing:-0.01em}
.ask-s{font-size:var(--sm);color:var(--mu)}
.ask-lab{margin:0;font-size:var(--xs);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--mu)}
.ask-flt{display:grid;gap:8px}
.ask-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.ask-chips li{padding:6px 12px;border:1px solid var(--ink);border-radius:999px;background:var(--surf);font-size:var(--sm);line-height:1.2}
.ask-exs{display:grid;gap:4px}
.ask-bl{margin:0;font-size:var(--xs);color:var(--mu);text-align:right}
.ask-exs ul{margin:0;padding:0;list-style:none}
.ask-ex{position:relative;display:grid;grid-template-columns:minmax(0,15em) minmax(0,1fr);gap:2px 20px;padding:12px 12px 14px;border-top:1px solid var(--hair);font-size:var(--sm);line-height:1.4}
.ask-ex b{position:relative;font-weight:600}
.ask-ex span{position:relative;color:var(--mu)}
.ask-bar{position:absolute;left:12px;right:12px;bottom:0;height:3px;background:var(--hair)}
.ask-bar::after{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleX(var(--s,0));transform-origin:left;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.ask-note{margin:0;font-size:var(--sm);color:var(--mu)}
.ask-foot{margin:auto 0 0;padding-top:14px;border-top:1px solid var(--hair);font-size:var(--xs);color:var(--mu)}
.ask-vis.is-anim .ask-chips li,.ask-vis.is-anim .ask-ex{opacity:0;transform:translateY(5px);transition:opacity .35s,transform .35s}
.ask-vis.is-anim .ask-bl,.ask-vis.is-anim .ask-note,.ask-vis.is-anim .ask-foot{opacity:0;transition:opacity .4s}
.ask-vis.is-anim .is-in,.ask-vis.is-anim li.is-in{opacity:1;transform:none}

/* Try another: one line of chips that scrolls inside itself, so its height never changes */
.ask-more{display:flex;align-items:center;gap:6px 14px;width:min(860px,100%);text-align:left}
.ask-more .ask-lab{flex:none}
.ask-sug{display:flex;flex:1;gap:8px;min-width:0;padding:3px 0;overflow-x:auto;scrollbar-width:none}
.ask-sug::-webkit-scrollbar{display:none}
.ask-chip{display:block;flex:0 1 auto;min-width:0;max-width:min(430px,82vw);height:40px;padding:0 16px;border:1px solid var(--hair2);border-radius:999px;background:var(--surf);color:var(--ink);font:inherit;font-size:var(--sm);line-height:38px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;cursor:pointer}
.ask-chip:hover{border-color:var(--ink)}
@media (prefers-reduced-motion:reduce){
.is-js .ask-caret{animation:none}
.ask-ind,.ask-bar::after,.ask-vis,.ask-vis.is-anim *,.ask-p{transition:none}
.ask-prog{display:none}
}

/* waitlist form. The compact variant (hero) puts the email field and the button on one row, stacked on a phone. */
.mk-form{display:grid;gap:var(--g2)}
.mk-form .fset{display:grid;gap:2px}
.mk-form .btn{justify-self:start}
.mk-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.mk-turn{min-height:65px}
.mk-form.is-compact{gap:var(--g1)}
.mk-form.is-compact .mk-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--g1);align-items:start}
.mk-form.is-compact .fld>label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.mk-form.is-compact .in,.mk-form.is-compact .btn{min-height:52px}
.mk-form.is-compact .btn{justify-self:auto;padding:0 28px}
.mk-form.is-compact .mk-turn{min-height:0}
.mk-formp{padding:var(--g4)}
.mk-formp .mk-form{margin-top:0}

/* chart panels: the product's white panel, tighter padding, a small title, the chart and a one-line caption */
.blk.panel.mk-card{padding:var(--g3)}
.mk-card-h{font-size:var(--md);font-weight:600;letter-spacing:-0.01em;line-height:1.3;margin-bottom:var(--g2)}
.mk-cap{margin-top:var(--g2);padding-top:14px;border-top:1px solid var(--hair);font-size:var(--sm)}
.mk-chart{min-width:0}
.mk-chart .chart{margin:0}

/* the box plot in Value ("Benchmark any price"): a narrower name column than the product's 260 px, so ten rows read in a feature row's panel */
@media (min-width:701px){
.mk-worth .rc-bxr{grid-template-columns:168px minmax(0,1fr) 76px;gap:0 14px}
.mk-worth .rc-bxn{flex-direction:column;align-items:flex-start;gap:0}
.mk-worth .rc-bxr{min-height:44px}
}
.mk-worth .rc-axis .al.alt{visibility:hidden}
.mk-worth .rc-note{margin-top:var(--g2)}

/* scale strip: four items in a row, two by two on a tablet, one column on a phone */
.mk-scale{margin-top:var(--g5)}
.mk-scale-l{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;border-top:1px solid var(--ink);border-bottom:1px solid var(--hair2)}
.mk-scale-l li{padding:22px var(--g3) 22px 0;font-size:var(--lg);font-weight:500;letter-spacing:-0.02em;line-height:1.25}
.mk-scale-l li+li{padding-left:var(--g3);border-left:1px solid var(--hair2)}
.mk-scale-l b{font-weight:600}

/* What Bradshaw does for you: an intro line, then three groups of feature rows (the product's .pg-home-fr, text and chart sides alternating) */
.mk-intro{max-width:34em;margin-bottom:var(--g5);font-size:var(--lg);line-height:1.4;color:var(--mu)}
.mk-group+.mk-group{margin-top:var(--g6)}
.mk-gh{scroll-margin-top:24px;margin-bottom:var(--g3);font-size:var(--xl);font-weight:500;letter-spacing:-0.03em;line-height:1.1}
.mk-group .pg-home-fr{padding-top:var(--g4);border-top:1px solid var(--hair2)}
.mk-group .pg-home-fr + .pg-home-fr{margin-top:var(--g5)}
.mk-group .pg-home-fr:first-of-type{border-top:1px solid var(--ink)}
.pg-home-frt h4{max-width:11em;font-size:clamp(28px,2.8vw,38px);font-weight:500;letter-spacing:-0.045em;line-height:1.08;text-wrap:balance}
.pg-home-fr.mk-wide{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
.pg-home-fr.is-rev.mk-wide{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}
.pg-home-fr.mk-solo,.pg-home-fr.is-rev.mk-solo{grid-template-columns:minmax(0,1fr)}
.pg-home-fr.mk-solo .pg-home-frt p{max-width:34em}

/* signal cards: a 2 x 2 grid of number, label and a one-line definition */
.mk-sigs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--g3) var(--g3);margin:0;padding:0;list-style:none}
.mk-sigs li{display:flex;flex-direction:column;min-width:0;padding-top:var(--g2);border-top:1px solid var(--ink)}
.mk-sigs b{font-size:clamp(36px,4vw,56px);font-weight:500;letter-spacing:-0.045em;line-height:1}
.mk-sigs span{margin-top:var(--g1);font-size:var(--md);font-weight:600;letter-spacing:-0.01em}
.mk-sigs small{margin-top:4px;font-size:var(--sm);line-height:1.4;color:var(--mu)}

/* the network sits in its panel and scrolls sideways there on a phone (the product's rule); its centre card does nothing here */
.mk-net .nw{margin-top:var(--g1);aspect-ratio:1316/680}
.mk-net .nw-ct{cursor:default}
/* the map is drawn at 1040 px or wider; in a half-width panel it is smaller, so the dots shrink with it and keep clear of their labels */
.mk-net .nw-dot{display:block;transform:translate(-50%,-50%) scale(.62)}

/* region bars: the cash raised sits on the same line as the count (the product's phone layout puts it under the bar) */
@media (min-width:701px){
.mk-net .nw{min-width:640px}
.mk-regions .rc-hb{grid-template-columns:130px minmax(0,1fr) 52px 104px;grid-template-areas:"n t v side";padding:5px 0}
.mk-regions .rc-hb-side{margin-top:0;text-align:right}
}

/* Act: three icon items in a panel */
.mk-act-card .pg-home-outs li{grid-template-columns:132px minmax(0,1fr)}
.pg-home-outs h5{display:flex;align-items:center;gap:10px;font-size:var(--md);font-weight:600;letter-spacing:-0.01em}

/* audience cards reuse the product's .pg-home-who look */
.mk-aud{grid-template-columns:repeat(4,minmax(0,1fr))}

/* closing band */
.mk-band{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--g4);align-items:start}
.mk-band h2{max-width:9em}
.mk-line{margin-top:var(--g2);font-size:var(--md);color:var(--mu);max-width:26em}

/* blog list and posts */
.mk-posts{margin:0;padding:0;list-style:none;border-top:1px solid var(--ink)}
.mk-posts li{padding:20px 0;border-bottom:1px solid var(--hair2)}
.mk-posts h3{font-size:var(--ms);font-weight:600;letter-spacing:-0.015em}
.mk-posts h3 a{color:var(--ink);text-decoration:none}
.mk-posts h3 a:hover{text-decoration:underline}
.mk-posts time,.mk-posts p{display:block;margin-top:4px;font-size:var(--sm);color:var(--mu);max-width:44em}
.mk-empty{font-size:var(--md);color:var(--mu)}
.mk-post-meta{display:grid;gap:2px;margin-top:var(--g1);font-size:var(--sm);color:var(--mu)}
.mk-post-meta .asof{margin:0}

/* reading column for the privacy notice, posts and short pages */
.mk-prose{max-width:720px;font-size:var(--md);line-height:1.65}
.mk-prose h2{margin-top:0;font-size:var(--lg);letter-spacing:-0.02em;line-height:1.2}
.mk-prose section{margin-top:var(--g5)}
.mk-prose p,.mk-prose ul{margin-top:var(--g2)}
.mk-prose ul{padding-left:1.2em}
.mk-prose li{margin-top:var(--g1)}
.mk-prose a{color:var(--ink)}
.mk-prose .panel,.mk-prose .blk.panel{margin-top:var(--g3)}
.mk-ph{padding:48px 0 var(--g3)}
.mk-act{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-top:var(--g3)}

@media (max-width:1180px){
.mk-aud{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1100px){
.mk-scale-l{grid-template-columns:repeat(2,minmax(0,1fr))}
.mk-scale-l li:nth-child(odd){padding-left:0;border-left:0}
.mk-scale-l li:nth-child(n+3){border-top:1px solid var(--hair2)}
}
@media (max-width:1279px){
.pg-home-fr.mk-wide,.pg-home-fr.is-rev.mk-wide{grid-template-columns:minmax(0,1fr)}
.pg-home-fr.is-rev.mk-wide .pg-home-frt{order:0}
}
@media (max-width:900px){
.mk-band{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
.mk-ask{padding-top:32px}
.mk-ask-in{gap:var(--g2)}
.mk-ask h1{max-width:9em}
.mk-ask .lede{font-size:var(--ms)}
.ask-more{flex-direction:column;align-items:flex-start}
.ask-sug{width:100%;flex:none}
.blk.panel.ask-ans{padding:18px 16px 14px;min-height:601px}
.ask-box{padding:12px 16px;min-height:118px}
.ask-ex{grid-template-columns:minmax(0,1fr)}
.mk-nav{gap:var(--g2)}
.mk-gh{margin-bottom:var(--g3)}
.mk-group+.mk-group{margin-top:64px}
.mk-intro{margin-bottom:var(--g4)}
.mk-sigs{gap:var(--g2)}
.mk-act-card .pg-home-outs li{grid-template-columns:minmax(0,1fr)}
.mk-formp{padding:22px 16px}
.mk-form .btn{justify-self:stretch}
.blk.panel.mk-card{padding:20px 16px}
.mk-scale{margin-top:var(--g4)}
.mk-ph{padding:32px 0 var(--g2)}
}
@media (max-width:600px){
.mk-aud{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
.mk-form.is-compact .mk-row{grid-template-columns:minmax(0,1fr)}
.mk-scale-l{grid-template-columns:minmax(0,1fr)}
.mk-scale-l li,.mk-scale-l li+li,.mk-scale-l li:nth-child(odd){padding:16px 0;border-left:0}
.mk-scale-l li+li{border-top:1px solid var(--hair2)}
}
