/* LAYOUT.CSS — page structure, nav, footer, cart drawer, responsive.
   Shared across all sites. No hardcoded colors/fonts. */

/* nav */
.nav { position:sticky; top:0; z-index:100; height:var(--nav-h); display:flex; align-items:center; justify-content:space-between; padding:0 var(--sp-h); background:var(--nav-bg); backdrop-filter:blur(14px); border-bottom:1px solid var(--rule) }
.nav-brand { font-family:var(--f-head); font-size:var(--sz-brand); font-weight:400; letter-spacing:var(--ls-head); color:var(--ink) }
.nav-mid { display:flex; gap:28px; align-items:center }
.nav-mid a { font-family:var(--f-ui); font-size:var(--sz-nav); font-weight:500; letter-spacing:var(--ls-nav); text-transform:uppercase; color:var(--ink3); transition:color .18s; white-space:nowrap }
.nav-mid a:hover { color:var(--accent) }
.nav-end { display:flex; align-items:center; gap:18px }
.bag-btn { display:flex; align-items:center; gap:8px; cursor:pointer }
.bag-btn svg { width:20px; height:20px; stroke:var(--ink3); fill:none; stroke-width:1.5; transition:stroke .18s }
.bag-btn:hover svg { stroke:var(--accent) }
.bag-ct { font-family:var(--f-mono); font-size:13px; color:var(--accent); display:none }
.ham { display:none; flex-direction:column; gap:6px; padding:4px; cursor:pointer }
.ham span { display:block; width:22px; height:1px; background:var(--ink3) }
.backdrop { display:none; position:fixed; inset:0; z-index:190; background:var(--overlay-bg) }
.backdrop.open { display:block }
.drawer { position:fixed; top:0; right:-280px; width:260px; height:100vh; z-index:200; background:var(--bg); border-left:1px solid var(--rule); display:flex; flex-direction:column; padding:64px 36px 36px; gap:28px; transition:right .26s ease }
.drawer.open { right:0 }
.drawer a { font-family:var(--f-ui); font-size:15px; letter-spacing:var(--ls-nav); text-transform:uppercase; color:var(--ink3); transition:color .18s }
.drawer a:hover { color:var(--accent) }
.drawer-close { position:absolute; top:20px; right:22px; font-size:20px; color:var(--ink3); line-height:1; cursor:pointer }

/* hero */
/* section headings */
.section-hd { text-align:center; margin-bottom:52px }

/* product grid rows */
.rows { display:flex; flex-direction:column; gap:var(--gap) }
.row { display:grid; gap:var(--gap); align-items:stretch }
.r3 { grid-template-columns:repeat(3,1fr) }
.r1 { max-width:calc((var(--max) - var(--gap)*2)/3); margin-inline:auto; width:100% }

/* services grid */
.svc-head { display:flex; align-items:center; gap:18px; margin-bottom:32px; margin-top:48px }
.svc-rule { flex:1; height:1px; background:var(--rule) }
.svc-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--gap) }

/* guarantee */
.guar { position:relative; border:1px solid var(--rule); background:var(--bg2); padding:42px 50px; display:grid; grid-template-columns:1.6fr 1fr; gap:50px; align-items:center; min-height:var(--guar-min) }
.guar::before { content:''; position:absolute; top:14px; left:14px;  width:14px; height:14px; border:solid var(--rule); border-width:1px 0 0 1px }
.guar::after  { content:''; position:absolute; top:14px; right:14px; width:14px; height:14px; border:solid var(--rule); border-width:1px 1px 0 0 }
.guar-bl { position:absolute; bottom:14px; left:14px;  width:14px; height:14px; border:solid var(--rule); border-width:0 0 1px 1px }
.guar-br { position:absolute; bottom:14px; right:14px; width:14px; height:14px; border:solid var(--rule); border-width:0 1px 1px 0 }
.guar-right { text-align:center; border-left:1px solid var(--rule); padding-left:50px }
.guar-n   { font-family:var(--f-mono); font-size:var(--sz-guar); font-weight:700; color:var(--accent); line-height:1 }
.guar-cap { font-family:var(--f-ui); font-size:var(--sz-nav); letter-spacing:var(--ls-nav); text-transform:uppercase; color:var(--ink3); margin-top:12px; line-height:1.65 }

/* stages / pillars grids */
.stages { display:grid; grid-template-columns:repeat(5,1fr); gap:var(--gap) }
.pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap) }

/* founder */
.founder-single { max-width:680px; margin:0 auto; text-align:center }

/* contact */
.contact-body { max-width:620px; margin:0 auto; text-align:center }
.cform { display:flex; flex-direction:column; gap:12px; margin-top:48px; text-align:left }
.cform-row { display:grid; grid-template-columns:1fr 1fr; gap:12px }

/* footer */
footer { background:var(--bg); border-top:1px solid var(--rule); padding:56px var(--sp-h) 40px }
.ft-grid { max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:1fr 1fr 1fr; gap:50px; margin-bottom:50px }
.ft-brand { font-family:var(--f-head); font-size:var(--sz-brand); letter-spacing:var(--ls-head); color:var(--ink); margin-bottom:10px }
.ft-col-cap { display:block; font-family:var(--f-ui); font-size:var(--sz-xs); letter-spacing:var(--ls-wide); text-transform:uppercase; color:var(--accent); margin-bottom:18px }
.ft-links { display:flex; flex-direction:column; gap:10px }
.ft-links a { font-family:var(--f-ui); font-size:var(--sz-nav); letter-spacing:var(--ls-nav); color:var(--ink3); transition:color .18s }
.ft-links a:hover { color:var(--accent) }
.ft-base { max-width:var(--max); margin:0 auto; display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--rule); padding-top:26px }
.ft-copy { font-family:var(--f-mono); font-size:11px; color:var(--ink4); letter-spacing:var(--ls-mono) }
.ft-copy a { color:inherit; opacity:.7 }

/* cart drawer */
.cart-bg { display:none; position:fixed; inset:0; z-index:290; background:var(--overlay-bg) }
.cart-bg.open { display:block }
.cart { position:fixed; top:0; right:-400px; width:374px; max-width:calc(100vw - 20px); height:100vh; z-index:300; background:var(--bg); border-left:1px solid var(--rule); display:flex; flex-direction:column; padding:28px 24px; gap:18px; transition:right .26s ease }
.cart.open { right:0 }
.cart-top { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--rule); padding-bottom:16px }
.cart-title-el { font-family:var(--f-ui); font-size:var(--sz-nav); letter-spacing:var(--ls-wide); text-transform:uppercase; color:var(--accent) }
.cart-x { font-family:var(--f-mono); font-size:20px; color:var(--ink3); line-height:1; cursor:pointer }
.cart-list { flex:1; overflow-y:auto }
.cart-none { font-family:var(--f-body); font-size:var(--sz-sm); font-style:italic; color:var(--ink3); text-align:center; margin-top:52px }
.cart-bot { border-top:1px solid var(--rule); padding-top:18px }
.cart-continue { display:block; text-align:center; font-family:var(--f-ui); font-size:var(--sz-xs); letter-spacing:var(--ls-nav); text-transform:uppercase; color:var(--ink3); margin-top:12px; cursor:pointer; transition:color .18s; background:none; border:none; width:100% }
.cart-continue:hover { color:var(--accent) }
.cart-subtotal-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:4px }
.cart-subtotal-lbl { font-family:var(--f-ui); font-size:var(--sz-xs); letter-spacing:var(--ls-nav); text-transform:uppercase; color:var(--ink3) }
.cart-subtotal-val { font-family:var(--f-mono); font-size:var(--sz-price); color:var(--data); letter-spacing:.06em }
.cart-tax-note { font-family:var(--f-mono); font-size:9px; letter-spacing:var(--ls-mono); text-transform:uppercase; color:var(--ink4); text-align:right; margin-bottom:16px }
.cart-trust { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; padding-top:12px; border-top:1px solid var(--feat-sep,rgba(240,236,224,.06)) }
.cart-trust-item { font-family:var(--f-mono); font-size:8px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink4) }
@keyframes bag-bump { 0%,100%{transform:scale(1)} 50%{transform:scale(1.4)} }
.bag-ct.bump { animation:bag-bump .25s ease }

/* cart items */
.ci { display:flex; gap:12px; padding:14px 0; border-bottom:1px solid var(--rule) }
.ci-img { width:52px; height:52px; object-fit:cover; border:1px solid var(--card-border); flex-shrink:0 }
.ci-img-none { width:52px; height:52px; background:var(--bg4); border:1px solid var(--card-border); flex-shrink:0 }
.ci-info { flex:1; min-width:0 }
.ci-name { font-family:var(--f-head); font-size:15px; color:var(--ink); letter-spacing:var(--ls-head); line-height:1.2 }
.ci-tier { font-family:var(--f-ui); font-size:var(--sz-xs); letter-spacing:var(--ls-nav); text-transform:uppercase; color:var(--card-tier); margin-top:3px }
.ci-qty-row { display:flex; align-items:center; gap:8px; margin-top:8px }
.ci-qty-btn { width:24px; height:24px; display:flex; align-items:center; justify-content:center; border:1px solid var(--rule); background:var(--bg3); color:var(--ink3); font-family:var(--f-mono); font-size:14px; line-height:1; cursor:pointer; transition:border-color .18s,color .18s }
.ci-qty-btn:hover { border-color:var(--accent); color:var(--accent) }
.ci-qty { font-family:var(--f-mono); font-size:13px; color:var(--ink); letter-spacing:.06em; min-width:18px; text-align:center }
.ci-rm { font-family:var(--f-ui); font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink4); background:none; border:none; cursor:pointer; padding:0; margin-left:auto }
.ci-rm:hover { color:var(--accent) }
.ci-price { font-family:var(--f-mono); font-size:16px; color:var(--data); letter-spacing:.06em; white-space:nowrap; flex-shrink:0 }

/* ── checkout page ── */
.ck-page { position:relative; z-index:1; max-width:1080px; margin:0 auto; padding:52px var(--sp-h) 100px }
.ck-nav { position:sticky; top:0; z-index:10; background:var(--nav-bg); backdrop-filter:blur(14px); border-bottom:1px solid var(--rule); padding:0 var(--sp-h); height:var(--nav-h); display:grid; grid-template-columns:1fr auto 1fr; align-items:center }
.ck-back { font-family:var(--f-ui); font-size:var(--sz-nav); letter-spacing:var(--ls-nav); text-transform:uppercase; color:var(--ink3); background:none; border:none; cursor:pointer; transition:color .18s; display:flex; align-items:center; gap:7px }
.ck-back:hover { color:var(--ink) }
.ck-back svg { width:11px; height:11px; stroke:currentColor; fill:none; stroke-width:2 }
.ck-nav-brand { font-family:var(--f-head); font-size:var(--sz-nav); letter-spacing:var(--ls-wide); text-transform:uppercase; color:var(--ink); text-align:center }
.ck-secure { display:flex; align-items:center; justify-content:flex-end; gap:7px; font-family:var(--f-mono); font-size:9px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink4) }
.ck-secure-dot { width:6px; height:6px; background:var(--ok); border-radius:50%; animation:ck-pulse 2.4s ease-in-out infinite }
@keyframes ck-pulse { 0%,100%{opacity:1} 50%{opacity:.3} }
.ck-grid { display:grid; grid-template-columns:1fr 360px; gap:60px; align-items:start }
.ck-label { display:block; font-family:var(--f-ui); font-size:var(--sz-xs); letter-spacing:var(--ls-wide); text-transform:uppercase; color:var(--accent); padding-bottom:10px; border-bottom:1px solid rgba(240,236,224,.06); margin-bottom:18px; margin-top:36px }
.ck-label:first-child { margin-top:0 }
.ck-row { display:flex; gap:12px; margin-bottom:12px }
.ck-f { flex:1; display:flex; flex-direction:column; gap:5px; min-width:0 }
.ck-f.third { flex:0 0 calc(33.33% - 8px) }
.ck-f.quarter { flex:0 0 calc(25% - 9px) }
.ck-f label { font-family:var(--f-ui); font-size:8px; letter-spacing:var(--ls-wide); text-transform:uppercase; color:var(--ink3) }
.ck-f label .opt { text-transform:none; letter-spacing:0; font-weight:400; color:var(--ink4) }
.ck-f input,.ck-f select { width:100%; padding:13px 16px; background:var(--bg3); border:1px solid var(--card-border); color:var(--ink); font-family:var(--f-body); font-size:var(--sz-sm); outline:none; transition:border-color .18s; -webkit-appearance:none }
.ck-f input:focus,.ck-f select:focus { border-color:rgba(200,164,78,.38) }
.ck-f input::placeholder { color:var(--ink4); font-style:italic }
.ck-f select { cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(240%2C236%2C224%2C0.22)'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:34px; background-color:var(--bg3) }
.ck-f select option { background:var(--bg3); color:var(--ink) }
.ck-ship-toggle { display:flex; align-items:center; gap:10px; margin:20px 0 0; cursor:pointer }
.ck-ship-toggle input { width:14px; height:14px; accent-color:var(--accent); cursor:pointer; flex-shrink:0 }
.ck-ship-toggle span { font-family:var(--f-ui); font-size:var(--sz-xs); letter-spacing:var(--ls-nav); text-transform:uppercase; color:var(--ink3) }
.ck-error { display:none; padding:12px 16px; margin-bottom:16px; background:rgba(196,64,48,.07); border:1px solid rgba(196,64,48,.28); border-left:2px solid var(--red); font-family:var(--f-mono); font-size:var(--sz-xs); letter-spacing:.04em; color:var(--red) }
.ck-error.show { display:block }

/* payment element shell */
.ck-payment-shell { border:1px solid var(--card-border); background:var(--bg3); padding:20px; margin-bottom:4px; min-height:200px; position:relative; z-index:2 }

/* promo */
.ck-promo-wrap { margin-top:22px }
.ck-promo-toggle { font-family:var(--f-ui); font-size:var(--sz-xs); letter-spacing:var(--ls-nav); text-transform:uppercase; color:var(--ink4); background:none; border:none; cursor:pointer; transition:color .18s; padding:0 }
.ck-promo-toggle:hover { color:var(--accent) }
.ck-promo-row { display:none; gap:10px; margin-top:10px }
.ck-promo-row.open { display:flex }
.ck-promo-input { flex:1; min-width:0; background:var(--bg3); border:1px solid var(--card-border); color:var(--ink); font-family:var(--f-mono); font-size:var(--sz-xs); letter-spacing:.10em; text-transform:uppercase; padding:11px 14px; outline:none; transition:border-color .18s }
.ck-promo-input::placeholder { text-transform:none; letter-spacing:.02em; color:var(--ink4) }
.ck-promo-input:focus { border-color:rgba(200,164,78,.38) }
.ck-promo-btn { padding:11px 18px; font-family:var(--f-ui); font-size:9px; font-weight:600; letter-spacing:var(--ls-btn); text-transform:uppercase; background:transparent; border:1px solid var(--rule); color:var(--ink3); cursor:pointer; transition:border-color .18s,color .18s; white-space:nowrap }
.ck-promo-btn:hover { border-color:var(--accent); color:var(--accent) }
.ck-promo-status { font-family:var(--f-mono); font-size:9px; letter-spacing:.04em; color:var(--ink4); min-height:18px; margin-top:6px }
.ck-promo-status.ok { color:var(--ok) }
.ck-promo-status.err { color:var(--red) }

/* terms */
.ck-terms { display:flex; align-items:flex-start; gap:11px; margin-top:26px; padding:14px 16px; border:1px solid rgba(240,236,224,.06); cursor:pointer }
.ck-terms input[type=checkbox] { width:14px; height:14px; flex-shrink:0; margin-top:2px; accent-color:var(--accent); cursor:pointer }
.ck-terms-text { font-family:var(--f-mono); font-size:9px; letter-spacing:.04em; text-transform:uppercase; color:var(--ink3); line-height:1.65 }
.ck-terms-text a { color:var(--accent); text-decoration:underline; text-underline-offset:3px }

/* submit */
.ck-submit { width:100%; margin-top:14px; padding:18px; font-family:var(--f-ui); font-size:var(--sz-btn); font-weight:700; letter-spacing:var(--ls-wide); text-transform:uppercase; background:var(--accent); color:var(--bg); border:none; cursor:pointer; transition:opacity .18s }
.ck-submit:hover:not(:disabled) { opacity:.84 }
.ck-submit:disabled { opacity:.38; cursor:not-allowed }
.ck-trust { display:flex; gap:16px; flex-wrap:wrap; margin-top:16px; font-family:var(--f-mono); font-size:8px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink4) }
.ck-help { margin-top:20px; padding-top:16px; border-top:1px solid rgba(240,236,224,.06); font-family:var(--f-mono); font-size:9px; letter-spacing:.04em; text-transform:uppercase; color:var(--ink4) }
.ck-help a { color:var(--accent); text-decoration:underline; text-underline-offset:3px }

/* order summary sidebar */
.ck-summary { background:var(--bg2); border:1px solid var(--rule); padding:26px 22px 28px; position:sticky; top:calc(var(--nav-h) + 52px) }
.ck-sum-eyebrow { display:block; font-family:var(--f-ui); font-size:var(--sz-xs); letter-spacing:var(--ls-wide); text-transform:uppercase; color:var(--accent); margin-bottom:18px; padding-bottom:12px; border-bottom:1px solid rgba(240,236,224,.06) }
.ck-sum-item { display:flex; gap:13px; padding:12px 0; border-bottom:1px solid rgba(240,236,224,.06) }
.ck-sum-item:last-of-type { border-bottom:none }
.ck-sum-thumb { width:52px; height:52px; flex-shrink:0; background:var(--bg4); border:1px solid var(--card-border); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden }
.ck-sum-thumb::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,transparent 40%,rgba(200,164,78,.05) 60%,transparent 80%) }
.ck-sum-thumb::before { content:''; position:absolute; top:4px; left:4px; width:8px; height:8px; border:1px solid rgba(200,164,78,.15); border-right:none; border-bottom:none; z-index:1 }
.ck-sum-thumb-glyph { font-family:var(--f-mono); font-size:8px; letter-spacing:.1em; color:var(--accent-dim); text-transform:uppercase; z-index:1 }
.ck-sum-item-info { flex:1; min-width:0 }
.ck-sum-item-name { font-family:var(--f-head); font-size:12px; letter-spacing:var(--ls-head); color:var(--ink); display:block; margin-bottom:2px }
.ck-sum-item-desc { font-family:var(--f-body); font-size:11px; font-style:italic; color:var(--ink4); display:block; margin-bottom:3px }
.ck-sum-item-qty { font-family:var(--f-mono); font-size:8px; letter-spacing:.04em; color:var(--ink4) }
.ck-sum-item-price { font-family:var(--f-mono); font-size:var(--sz-xs); letter-spacing:var(--ls-mono); color:var(--accent); flex-shrink:0; padding-top:2px }
.ck-sum-divider { border:none; border-top:1px solid var(--rule); margin:14px 0 }
.ck-sum-row { display:flex; justify-content:space-between; align-items:center; padding:5px 0 }
.ck-sum-row-lbl { font-family:var(--f-ui); font-size:var(--sz-xs); letter-spacing:var(--ls-nav); text-transform:uppercase; color:var(--ink3) }
.ck-sum-row-val { font-family:var(--f-mono); font-size:var(--sz-xs); letter-spacing:var(--ls-mono); color:var(--ink2) }
.ck-sum-row-val.free { color:var(--ok) }
.ck-sum-row-val.pending { font-family:var(--f-body); font-size:11px; font-style:italic; letter-spacing:0; color:var(--ink4) }
.ck-sum-row-val.discount { color:var(--ok) }
.ck-sum-discount-row { display:none }
.ck-sum-discount-row.show { display:flex }
.ck-sum-total-row { display:flex; justify-content:space-between; align-items:baseline; padding:14px 0 0; border-top:1px solid var(--rule); margin-top:6px }
.ck-sum-total-lbl { font-family:var(--f-ui); font-size:var(--sz-xs); font-weight:600; letter-spacing:var(--ls-wide); text-transform:uppercase; color:var(--ink) }
.ck-sum-total-val { font-family:var(--f-mono); font-size:17px; letter-spacing:.06em; color:var(--accent) }
.ck-sum-badges { margin-top:20px; display:flex; flex-direction:column; gap:7px }
.ck-sum-badge { display:flex; align-items:center; gap:9px; padding:8px 11px; border:1px solid rgba(240,236,224,.06); font-family:var(--f-mono); font-size:8px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink4) }
.ck-sum-badge.gold { border-color:rgba(200,164,78,.2); background:var(--accent-wash); color:var(--accent) }
.ck-badge-dot { width:5px; height:5px; border-radius:50%; background:currentColor; flex-shrink:0 }

/* success + timeline (used by success.html and checkout inline state) */
.ck-success-wrap { max-width:640px; margin:60px auto; text-align:center; padding:0 var(--sp-h) }
.ck-success-ring { width:64px; height:64px; border:1px solid var(--ok); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 28px; color:var(--ok); font-size:24px }
.ck-success-h { font-family:var(--f-head); font-size:clamp(26px,3vw,40px); letter-spacing:var(--ls-head); color:var(--ink); margin-bottom:10px }
.ck-success-order { font-family:var(--f-mono); font-size:var(--sz-xs); letter-spacing:var(--ls-mono); color:var(--accent); text-transform:uppercase; margin-bottom:24px }
.ck-success-p { font-family:var(--f-body); font-size:var(--sz-sm); font-style:italic; color:var(--ink3); line-height:1.8; margin-bottom:36px }
.ck-timeline { text-align:left; border:1px solid var(--rule); margin-bottom:36px }
.ck-timeline-title { display:block; font-family:var(--f-ui); font-size:var(--sz-xs); letter-spacing:var(--ls-wide); text-transform:uppercase; color:var(--accent); padding:14px 18px 12px; border-bottom:1px solid rgba(240,236,224,.06) }
.ck-timeline-step { display:flex; gap:16px; align-items:flex-start; padding:14px 18px; border-bottom:1px solid rgba(240,236,224,.06) }
.ck-timeline-step:last-child { border-bottom:none }
.ck-step-num { font-family:var(--f-mono); font-size:8px; letter-spacing:.08em; color:var(--accent); text-transform:uppercase; width:24px; flex-shrink:0; padding-top:1px }
.ck-step-title { font-family:var(--f-ui); font-size:var(--sz-xs); letter-spacing:var(--ls-nav); text-transform:uppercase; color:var(--ink); display:block; margin-bottom:3px }
.ck-step-desc { font-family:var(--f-body); font-size:var(--sz-sm); font-style:italic; color:var(--ink3); line-height:1.6 }

/* responsive */
@media(max-width:960px){
  :root { --sp-h:28px; --sp-v:72px }
  .nav-mid{display:none} .ham{display:flex}
  .prob{grid-template-columns:1fr}
  .r3{grid-template-columns:repeat(2,1fr)} .r2{grid-template-columns:1fr;max-width:100%}
  .stages{grid-template-columns:repeat(2,1fr)} .pillars{grid-template-columns:1fr 1fr}
  .svc-grid{grid-template-columns:1fr}
  .guar{grid-template-columns:1fr;gap:28px}
  .guar-right{border-left:none;border-top:1px solid var(--rule);padding-left:0;padding-top:28px}
  .ft-grid{grid-template-columns:1fr 1fr}
  .ck-grid{grid-template-columns:1fr} .ck-summary{order:-1;position:static}
  .ck-page{padding:32px 28px 80px} .ck-nav{padding:0 28px}
}
@media(max-width:600px){
  :root { --sp-h:18px; --sp-v:56px }
  .r3,.r2{grid-template-columns:1fr}
  .stages,.pillars,.ae-grid,.cform-row{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr}
  .ft-base{flex-direction:column;gap:8px;text-align:center}
  .hero-flags span+span::before{content:'\A';white-space:pre}
  .hero-flags{letter-spacing:.20em}
  .ck-page{padding:24px 18px 60px} .ck-row{flex-wrap:wrap} .ck-nav{padding:0 18px}
  .ck-f.third{flex:1 1 calc(50% - 6px)} .ck-f.quarter{flex:1 1 calc(50% - 6px)}
}
