/* ---- Tiny Shifts: shared nav (dropdowns + phone menu) and the inner pages. Tokens only. ---- */
/* the root carries the ground colour too, so the rubber-band overscroll bleeds the page, not white */
html{background:#F9FAF3!important;color-scheme:light}
html[data-theme="dark"]{background:#17150F!important;color-scheme:dark}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]){background:#17150F!important;color-scheme:dark}}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ===== desktop nav: four plain links ===== */
.nc .pg-menu{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.nc .pg-item{margin:0}
.nc .pg-top{display:inline-flex;align-items:center;padding:8px 14px;border-radius:16px;color:var(--ink);font-weight:500;white-space:nowrap;text-decoration:none;transition:background-color .25s,color .25s}
.nc .pg-top:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--ink)}
.nc .pg-top[aria-current="page"],.nc .pg-top.is-active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--ink);font-weight:600}

/* ===== phone menu ===== */
.nc .pg-burger{display:none;position:relative;width:44px;height:44px;margin-left:4px;border:1px solid var(--card-border);border-radius:14px;background:var(--surface);cursor:pointer;flex:none;padding:0}
.nc .pg-burger span{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:var(--ink);transition:transform .3s,opacity .3s,top .3s}
.nc .pg-burger span:nth-child(1){top:14px}.nc .pg-burger span:nth-child(2){top:21px}.nc .pg-burger span:nth-child(3){top:28px}
.nc.is-menu .pg-burger span:nth-child(1){top:21px;transform:rotate(45deg)}.nc.is-menu .pg-burger span:nth-child(2){opacity:0}.nc.is-menu .pg-burger span:nth-child(3){top:21px;transform:rotate(-45deg)}
.nc .pg-mobile{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:70;padding:0 12px}
.nc .pg-mobile[hidden]{display:none}
.nc .pg-m-in{background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--card-border);border-radius:24px;box-shadow:0 30px 60px -24px rgba(14,13,21,.35);padding:8px 20px 20px;max-height:calc(100vh - 120px);overflow:auto}
.nc .pg-m-links{display:flex;flex-direction:column;gap:2px;padding:10px 0 14px}
.nc .pg-m-links a{padding:12px 12px;margin-left:-12px;border-radius:12px;color:var(--ink);text-decoration:none;font-size:18px;font-weight:600}
.nc .pg-m-links a:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink)}
.nc .pg-m-foot{display:flex;align-items:center;gap:18px;margin-top:4px;padding-top:18px;border-top:1px solid var(--rule)}
@media (max-width:1023.98px){.nc .pg-burger{display:block}}
@media (max-width:639.98px){.nc .pg-cta{display:none!important}}
@media (min-width:1024px){.nc .pg-mobile{display:none!important}}

/* ===== inner pages: shared ===== */
.nc .pg-main{position:relative;z-index:1}
.nc .pg-main>section{margin-bottom:72px}
.nc .pg-main>.cta-block{margin-left:20px;margin-right:20px}
.nc .pg-main>.faqs-block{margin-bottom:72px}
@media (min-width:1024px){.nc .pg-main>section{margin-bottom:112px}.nc .pg-main>.faqs-block{margin-bottom:112px}}
.nc .pg-kicker{margin:0 0 10px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--accent)}
.nc .pg-head{margin-bottom:40px}
.nc .pg-head h2{margin:0}
.nc .pg-head p{max-width:640px;margin:14px auto 0;color:var(--body)}
@media (min-width:1024px){.nc .pg-head{margin-bottom:56px}}
.nc .pg-src{font-size:13px;line-height:18px;color:var(--muted)}
.nc .pg-note{max-width:640px;margin:28px auto 0;text-align:center;font-size:13px;color:var(--muted)}
.nc .pg-grid{display:grid;gap:20px}
@media (min-width:640px){.nc .pg-grid-3,.nc .pg-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.nc .pg-grid{gap:28px}.nc .pg-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* hero */
.nc .pg-hero{padding:40px 0 8px}
.nc .pg-hero-in{max-width:900px;margin:0 auto;text-align:center}
.nc .pg-hero h1{margin:0 0 20px;font-size:clamp(38px,5.2vw,66px);line-height:1.04;letter-spacing:-.02em}
.nc .pg-lead{max-width:680px;margin:0 auto;font-size:18px;line-height:1.55;color:var(--body)}
.nc .pg-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 16px;margin-top:30px}
@media (min-width:1024px){.nc .pg-hero{padding:72px 0 24px}.nc .pg-lead{font-size:20px}.nc .pg-btns{margin-top:38px}}

/* the five steps: sticky list on the left, content on the right (Lyra "scrollspy") */
.nc .pg-spy-grid{display:grid;gap:32px}
.nc .pg-spy-nav{position:sticky;top:0;z-index:5;margin:0 -16px;padding:10px 16px;background:color-mix(in srgb,var(--ground) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.nc .pg-spy-nav ol{display:flex;gap:8px;list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}
.nc .pg-spy-nav ol::-webkit-scrollbar{display:none}
.nc .pg-spy-nav li{margin:0;flex:none}
.nc .pg-spy-nav a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--rule-strong);color:var(--muted);font-weight:500;white-space:nowrap;text-decoration:none;transition:color .25s,border-color .25s,background-color .25s}
.nc .pg-spy-nav a.is-on{color:var(--ink);border-color:var(--ink);background:var(--surface)}
.nc .pg-spy-n{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--accent)}
.nc .pg-step{display:grid;gap:22px;margin-bottom:56px}
.nc .pg-step:last-child{margin-bottom:0}
.nc .pg-step-art{position:relative;aspect-ratio:4/3;border-radius:28px;overflow:hidden;background:var(--well)}
.nc .pg-step-art img{width:100%;height:100%;object-fit:cover;display:block}
.nc .pg-step-mock{position:absolute;left:18px;right:18px;bottom:18px;max-width:340px}
.nc .pg-step h3{margin:0 0 12px;font-size:26px;line-height:1.15;letter-spacing:-.015em}
.nc .pg-step p{color:var(--body)}
.nc .pg-step p:last-child{margin-bottom:0}
@media (min-width:1024px){
  .nc .pg-spy-grid{grid-template-columns:300px minmax(0,1fr);gap:72px;align-items:start}
  .nc .pg-spy-nav{top:28px;margin:0;padding:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .nc .pg-spy-nav ol{flex-direction:column;gap:0;overflow:visible}
  .nc .pg-spy-nav a{position:relative;display:flex;gap:14px;padding:16px 0 16px 26px;border:0;border-bottom:1px solid var(--rule-strong);border-radius:0;background:none;font-size:19px;color:var(--muted)}
  .nc .pg-spy-nav a::before{content:"";position:absolute;left:0;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:3px;background:var(--accent);opacity:0;transition:opacity .35s}
  .nc .pg-spy-nav a::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--accent);transition:width .5s ease}
  .nc .pg-spy-nav a.is-on{color:var(--ink);background:none;border-color:var(--rule-strong)}
  .nc .pg-spy-nav a.is-on::before{opacity:1}.nc .pg-spy-nav a.is-on::after{width:100%}
  .nc .pg-step{grid-template-columns:minmax(0,1fr);gap:28px;margin-bottom:96px}
  .nc .pg-step h3{font-size:32px}
}

/* the band */
.nc .pg-band-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 28px;padding:26px 28px;border-radius:28px;background:var(--band);color:var(--band-ink)}
.nc .pg-band-txt{font-size:17px;line-height:1.5;color:var(--band-ink)}
.nc .pg-band-txt b{font-weight:700;color:var(--band-ink)}
.nc .pg-band-in .btn-primary{flex:none}
.nc .pg-flow{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.nc .pg-flow b{padding:6px 12px;border-radius:999px;border:1px solid var(--band-rule);font-size:15px;font-weight:600}
.nc .pg-flow b:nth-child(3){background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent)}
.nc .pg-flow i{width:8px;height:8px;border-top:1.5px solid var(--band-muted);border-right:1.5px solid var(--band-muted);transform:rotate(45deg);flex:none}
@media (min-width:1024px){.nc .pg-band-in{padding:30px 40px}.nc .pg-band-txt{font-size:19px}}

/* cards */
.nc .pg-card{display:flex;flex-direction:column;align-items:flex-start;padding:28px}
.nc .pg-card h3{margin:0 0 10px;font-size:22px;line-height:1.2;letter-spacing:-.01em}
.nc .pg-card p{color:var(--body);margin-bottom:0}
.nc .pg-card .btn-secondary{margin-top:18px}
.nc .pg-card-ico{margin-bottom:16px}
@media (min-width:1024px){.nc .pg-card{padding:36px}}

/* alternating rows */
.nc .pg-zig-row{display:grid;gap:24px;margin-bottom:56px}
.nc .pg-zig-row:last-child{margin-bottom:0}
.nc .pg-zig-art{position:relative;aspect-ratio:4/3;border-radius:28px;overflow:hidden;background:var(--well)}
.nc .pg-zig-art img{width:100%;height:100%;object-fit:cover;display:block}
.nc .pg-zig-txt h3{margin:0 0 12px;font-size:26px;line-height:1.15;letter-spacing:-.015em}
.nc .pg-zig-txt p{color:var(--body)}
.nc .pg-zig-txt p:last-child{margin-bottom:0}
.nc .pg-stat{position:absolute;left:18px;bottom:18px;display:flex;flex-direction:column;gap:2px;padding:14px 18px;border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:0 14px 34px rgba(14,13,21,.18);max-width:calc(100% - 36px)}
.nc .pg-stat-n{font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--accent);line-height:1.1}
.nc .pg-stat-l{font-size:12px;color:var(--muted);line-height:16px}
@media (min-width:900px){
  .nc .pg-zig-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;margin-bottom:88px}
  .nc .pg-zig-row.is-flip .pg-zig-art{order:2}
  .nc .pg-zig-txt{max-width:520px}
  .nc .pg-zig-row.is-flip .pg-zig-txt{justify-self:end}
  .nc .pg-zig-txt h3{font-size:32px}
}

/* tiles */
.nc .pg-tiles-grid{display:grid;gap:16px}
.nc .pg-tile{padding:26px;border-radius:24px;background:var(--well);border:1px solid color-mix(in srgb,var(--rule) 60%,transparent)}
.nc .pg-tile-n{display:block;margin-bottom:14px;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--accent)}
.nc .pg-tile h3{margin:0 0 10px;font-size:20px;line-height:1.25;letter-spacing:-.01em}
.nc .pg-tile p{margin:0;color:var(--body);font-size:15px;line-height:1.55}
@media (min-width:640px){.nc .pg-tiles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.nc .pg-tiles-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.nc .pg-tile{padding:32px}}

/* timeline rail */
.nc .pg-time-rail{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;padding:8px max(24px,calc((100vw - 1316px) / 2 + 60px)) 24px}
.nc .pg-time-rail::-webkit-scrollbar{display:none}
.nc .pg-time-rail.is-drag{cursor:grabbing;scroll-snap-type:none}
.nc .pg-time-track{display:flex;gap:20px;width:max-content}
.nc .pg-time-card{width:300px;scroll-snap-align:start;flex:none}
.nc .pg-time-img{aspect-ratio:16/10;border-radius:22px;overflow:hidden;background:var(--well);margin-bottom:18px}
.nc .pg-time-img img{width:100%;height:100%;object-fit:cover;display:block}
.nc .pg-time-txtimg{display:flex;align-items:center;justify-content:center;background:var(--band);color:var(--accent-fill)}
.nc .pg-time-txtimg span{font-size:56px;font-weight:800;letter-spacing:-.03em}
.nc .pg-time-card h3{margin:0 0 8px;font-size:20px;line-height:1.25}
.nc .pg-time-card p{margin:0;color:var(--body);font-size:15px;line-height:1.5}
.nc .pg-time-card .pg-kicker{margin-bottom:8px}
@media (min-width:1024px){.nc .pg-time-card{width:340px}.nc .pg-time-track{gap:28px}}

/* team */
.nc .pg-team-grid{display:grid;gap:20px}
.nc .pg-member{padding:22px}
.nc .pg-member-img{aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:var(--well);margin-bottom:22px}
.nc .pg-member-img img{width:100%;height:100%;object-fit:cover;display:block}
.nc .pg-member-img .ts-tile{height:100%;aspect-ratio:auto}
.nc .pg-member h3{margin:0 0 10px;font-size:22px;line-height:1.2}
.nc .pg-member p{color:var(--body);font-size:15px;line-height:1.55}
.nc .pg-member p:last-child{margin-bottom:0}
.nc .pg-links a{color:var(--accent);font-weight:600;margin-right:16px;text-decoration:none}
.nc .pg-links a:hover{text-decoration:underline}
@media (min-width:640px){.nc .pg-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.nc .pg-team-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.nc .pg-member{padding:28px}}

/* messages over photos */
.nc .pg-msgs-grid{display:grid;gap:20px}
.nc .pg-msg{position:relative;aspect-ratio:4/5;border-radius:28px;overflow:hidden;background:var(--well)}
.nc .pg-msg img{width:100%;height:100%;object-fit:cover;display:block}
.nc .pg-msg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(14,13,21,.45) 100%)}
.nc .pg-msg-card{position:absolute;left:18px;right:18px;bottom:18px;z-index:1}
@media (min-width:640px){.nc .pg-msgs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1024px){.nc .pg-msgs-grid{gap:28px}}

/* studies */
.nc .pg-study{display:flex;flex-direction:column;align-items:flex-start;padding:28px}
.nc .pg-study-j{margin:0 0 12px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.nc .pg-study h3{margin:0 0 6px;font-size:19px;line-height:1.3;letter-spacing:-.01em}
.nc .pg-study-a{margin:0 0 12px;font-size:13px;color:var(--muted)}
.nc .pg-study p:not(.pg-study-a):not(.pg-study-j){color:var(--body);font-size:15px;line-height:1.5;margin-bottom:0}
.nc .pg-study .btn-secondary{margin-top:auto;padding-top:0}
.nc .pg-study .btn-secondary{margin-top:18px}

/* ===== Design Partner Pitch Deck Embedded Styles ===== */
section.part { border-bottom: 1px solid var(--rule); padding: 72px 32px; }
section.part > .in { max-width: 1152px; margin: 0 auto; display: flex; flex-direction: column; gap: 20px; }
section.band { background: var(--band); border-color: var(--band-rule); color: var(--band-body); }
section.band h2, section.band h3 { color: var(--band-ink); }
section.band .label { color: var(--band-muted); }

.part .label { font-size: var(--t-xs, 12px); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.part h1 { font-size: clamp(40px, 4.4vw + 8px, 58px); line-height: 1.04; letter-spacing: -.02em; max-width: 20ch; }
.part h1 .accent { color: var(--accent); }
.part h2 { font-size: clamp(30px, 1.4vw + 24px, 42px); line-height: 1.1; font-weight: 700; letter-spacing: -.015em; }
.part h3 { font-size: var(--t-xl, 20px); line-height: 1.3; font-weight: 700; }
.part p { max-width: 64ch; }
.part .lede { font-size: var(--t-lg, 17px); }
.part .form-h { font-weight: 700; font-size: var(--t-xl, 20px); color: var(--ink); margin: 0 0 4px; }
section.band .lede { color: var(--band-ink); max-width: 46ch; }
.part .fine { font-size: var(--t-sm, 13px); line-height: 1.5; color: var(--muted); max-width: 80ch; }

.numeral { display: grid; grid-template-columns: repeat(24, minmax(0, 1fr)); gap: 6px; width: min(100%, 1100px); }
.numeral i { display: block; aspect-ratio: 1; border-radius: 0; }
.cell { background: var(--w-empty, #E2E0D5); transition: background .9s var(--ease, ease); transition-delay: calc(var(--i) * 4ms); }
.cell[data-k="sleep"] { background: var(--w-sleep, #36669B); }
.cell[data-k="leisure"] { background: var(--w-leisure, #E1AA45); }
.cell[data-k="work"] { background: var(--w-work, #A03E7F); }
.cell[data-k="home"] { background: var(--w-home, #94B749); }
.cell[data-k="other"] { background: var(--w-other, #2E98A5); }
.cell.session { background: var(--w-session, #D24335); box-shadow: 0 0 0 2px var(--ground), 0 0 0 3.5px var(--w-session, #D24335); transition-delay: 0s; }

.pin { height: 320vh; --p: 1; border-bottom: 1px solid var(--rule); }
.pin.end { border-bottom: 0; }
.pin .stage { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: clamp(24px, 4vh, 44px); padding: 0 32px; }
.pin .numeral { width: min(94%, 1120px, max(280px, calc((100vh - 140px - 20vh) * 1.85))); gap: 8px; }
.pin h1 { font-size: clamp(32px, 3.6vw + 6px, 58px); text-align: center; max-width: none; font-weight: 700; letter-spacing: -.02em; }
.pin .cell { position: relative; --t: calc(0.30 + 0.60 * (12 - var(--r)) / 12); --q: clamp(0, calc((var(--p) - var(--t)) * 10), 1);
  transform: scale(calc(0.86 + 0.14 * var(--q) + 0.05 * sin(var(--q) * pi))); transition: transform .3s ease, background .3s ease;
  background: color-mix(in srgb, var(--k) calc(var(--q) * 100%), var(--w-empty, #E2E0D5)); }
.pin .cell[data-k="sleep"] { --k: var(--w-sleep, #36669B); }
.pin .cell[data-k="leisure"] { --k: var(--w-leisure, #E1AA45); }
.pin .cell[data-k="work"] { --k: var(--w-work, #A03E7F); }
.pin .cell[data-k="home"] { --k: var(--w-home, #94B749); }
.pin .cell[data-k="other"] { --k: var(--w-other, #2E98A5); }
.pin .cell.session { --q: 1; --k: var(--w-session, #D24335); background: var(--w-session, #D24335); transform: none; z-index: 2; animation: pulse 1.8s ease infinite; }
.pin .l2 { display: block; overflow: hidden; padding-bottom: .14em; margin-bottom: -.14em; }
.pin .l2 span { display: inline-block; --r: clamp(0, calc((var(--p) - 0.08) * 4), 1); opacity: var(--r); transform: translateY(calc((1 - var(--r)) * 110%)); }

@keyframes pulse {
  0% { box-shadow: 0 0 0 2px var(--ground), 0 0 0 3.5px var(--w-session, #D24335); }
  70%, 100% { box-shadow: 0 0 0 2px var(--ground), 0 0 0 16px transparent; }
}

.slide { display: grid; gap: 32px; align-items: start; }
.slide .head, .slide .rest { min-width: 0; display: flex; flex-direction: column; gap: 16px; }
@media (min-width: 900px) { .slide { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; } }
.slide .sub { font-size: var(--t-xl, 20px); font-style: italic; line-height: 1.4; color: var(--ink); max-width: 60ch; }
.slide .support { font-size: var(--t-lg, 17px); max-width: 60ch; line-height: 1.6; }
section.band .slide .sub { color: var(--band-ink); }
section.band .slide .support { color: var(--band-body); }

.block { display: flex; flex-direction: column; gap: 12px; }
.u { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }

.founder { margin: 8px 0 0; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); border: 1px solid var(--rule); border-radius: var(--r-data, 12px); background: var(--surface); overflow: hidden; }
.founder .ph { position: relative; background: var(--well); min-height: 240px; }
.founder .ph img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 6%; }
.founder figcaption { padding: 24px 28px; display: flex; flex-direction: column; gap: 6px; }
.founder .nm { font-size: var(--t-3xl, 26px); font-weight: 800; letter-spacing: -.015em; line-height: 1.15; color: var(--ink); margin: 2px 0 0; }
.founder .rl { color: var(--accent); font-weight: 600; font-size: var(--t-md, 15px); margin: 0; }
.founder .bio { font-size: var(--t-md, 15px); line-height: 1.55; margin: 10px 0 0; }
.founder ul { list-style: none; margin: 8px 0 0; padding: 12px 0 0; border-top: 1px solid var(--rule); display: flex; flex-direction: column; gap: 6px; font-size: var(--t-md, 15px); }
.founder li { display: flex; gap: 10px; align-items: baseline; }
.founder li::before { content: ""; width: 7px; height: 7px; background: var(--accent-fill); flex: none; transform: translateY(-2px); }
.founder cite { font-style: italic; }
.founder .fine { margin: 8px 0 0; font-weight: 600; }
@media (max-width: 720px) { .founder { grid-template-columns: 1fr; } .founder .ph { height: 320px; } }

.team { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule); }
.team li { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 20px; align-items: start; padding: 20px 0; border-bottom: 1px solid var(--rule); }
.team .av { width: 72px; height: 72px; border: 1px solid var(--rule); border-radius: var(--r-data, 12px); background: var(--surface); overflow: hidden; display: flex; align-items: center; justify-content: center; position: relative; }
.team .av img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.team .av.shur-av { background: black; padding: 12px; }
.team .av.shur-av img { width: 100%; height: auto; object-fit: contain; }
.team .nm { margin: 0; font-size: var(--t-xl, 20px); font-weight: 800; color: var(--ink); line-height: 1.2; }
.team .rl { margin: 2px 0 8px; color: var(--accent); font-weight: 600; font-size: var(--t-sm, 13px); }
.team .support { margin: 0; font-size: var(--t-md, 15px); }

.s5-highlights { display: flex; flex-direction: column; gap: 14px; margin: 16px 0 20px; }
.s5-hi { display: flex; gap: 14px; align-items: flex-start; }
.s5-hi .s5-ico { width: 34px; height: 34px; border-radius: 8px; background: var(--accent-3); color: var(--accent); display: flex; align-items: center; justify-content: center; flex: none; margin-top: 2px; }
.s5-hi p { margin: 0; font-size: var(--t-md, 15px); line-height: 1.5; color: var(--body); }
.s5-hi p strong { color: var(--ink); font-weight: 700; display: block; margin-bottom: 2px; }
.step-ico { width: 16px; height: 16px; display: inline-block; vertical-align: -2px; margin-right: 4px; stroke: currentColor; }

ol.flow { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 0; --cell: 14px; }
ol.flow li { position: relative; font-weight: 600; font-size: var(--t-md, 15px); line-height: 1.3; color: var(--ink);
  background: linear-gradient(var(--ink), var(--ink)) 0 0 / var(--cell) var(--cell) no-repeat; }
ol.flow li.us { background-image: linear-gradient(var(--accent-fill), var(--accent-fill)); color: var(--ink); }
ol.flow li:not(:last-child)::before { content: ""; position: absolute; background: var(--rule-strong); }
ol.flow li:not(:last-child)::after { content: ""; position: absolute; width: 7px; height: 7px; border-top: 1.5px solid var(--rule-strong); border-right: 1.5px solid var(--rule-strong); }
@media (min-width: 1100px) {
  ol.flow { grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: start; }
  ol.flow li { padding: 32px 16px 0 0; }
  ol.flow li:last-child { padding-right: 0; }
  ol.flow li:not(:last-child)::before { top: 6px; left: 26px; right: 12px; height: 1.5px; }
  ol.flow li:not(:last-child)::after { top: 3px; right: 10px; transform: rotate(45deg); }
  ol.flow .approve, ol.flow .phone { padding: 14px; }
  ol.flow .approve .field, ol.flow .phone .sms { font-size: var(--t-sm, 13px); padding: 10px 12px; }
  ol.flow .approve .field .auto { position: static; display: block; margin-top: 6px; }
  ol.flow .approve .btns span { padding: 6px 12px; }
  ol.flow .approve .av { display: none; }
  ol.flow .approve .nm, ol.flow .approve .pill { white-space: nowrap; }
}
@media (max-width: 1099px) {
  ol.flow li { padding: 0 0 36px 32px; min-height: var(--cell); }
  ol.flow li:last-child { padding-bottom: 0; }
  ol.flow li:not(:last-child)::before { left: 6px; top: 22px; bottom: 8px; width: 1.5px; }
  ol.flow li:not(:last-child)::after { left: 3px; bottom: 6px; transform: rotate(135deg); }
}

ol.flow .step > .k { text-transform: none; letter-spacing: 0; font-size: var(--t-md, 15px); font-weight: 600; line-height: 1.3; color: var(--ink); margin-bottom: 14px; }
ol.flow .step > .k b { font-size: var(--t-xs, 12px); font-weight: 700; color: var(--muted); margin-right: 4px; }

.approve { background: var(--surface); border: 1px solid var(--rule); border-radius: var(--r-data, 12px); padding: 16px; margin-top: 12px; }
.approve .hd { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.approve .av { width: 28px; height: 28px; border-radius: 50%; background: var(--accent-3); color: var(--accent); display: grid; place-items: center; font-size: var(--t-xs, 12px); font-weight: 700; flex: none; }
.approve .nm { font-weight: 700; font-size: var(--t-sm, 13px); color: var(--ink); }
.approve .pill { font-size: var(--t-xs, 12px); font-weight: 600; padding: 2px 9px; border-radius: var(--r-pill, 999px); background: var(--warning-3, #FFFBEB); border: 1px solid var(--warning-6, #FDE68A); color: var(--warning-11, #92400E); margin-left: auto; }
.approve .pill.rec { background: var(--accent-3); border-color: var(--rule); color: var(--accent); }
.approve .field { position: relative; background: var(--ground); border: 1px solid var(--rule-strong); border-radius: var(--r-ctl, 8px); padding: 13px 14px 26px; font-size: var(--t-md, 15px); line-height: 1.55; color: var(--ink); }
.approve .field .auto { position: absolute; bottom: 7px; right: 10px; font-size: 10.5px; color: var(--muted); }
.approve .sub-k { font-size: var(--t-xs, 12px); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin: 14px 0 8px; }
.approve .took { display: flex; flex-direction: column; gap: 8px; }
.approve .took p { display: flex; align-items: baseline; gap: 10px; margin: 0; background: var(--ground); border: 1px solid var(--rule-strong); border-radius: var(--r-ctl, 8px); padding: 9px 12px; font-size: var(--t-sm, 13px); font-weight: 600; line-height: 1.45; color: var(--ink); }
.approve .took p b { font-size: var(--t-xs, 12px); font-weight: 700; letter-spacing: .08em; color: var(--accent); flex: none; }
.approve .took.done p.y b { color: var(--success-11, #15803D); }
.approve .took.done p.n b { color: var(--warning-11, #92400E); }
.approve .btns { display: flex; gap: 8px; margin-top: 13px; }
.approve .btns span { font-size: var(--t-sm, 13px); font-weight: 600; padding: 7px 15px; border-radius: var(--r-ctl, 8px); }
.approve .btns .ok { background: var(--accent-fill); color: var(--on-accent); }
.approve .btns .no { border: 1px solid var(--rule-strong); color: var(--ink); }
.approve.sched .row + .row { margin-top: 12px; }
.approve.sched .when { display: block; margin: 0 0 6px; font-size: var(--t-xs, 12px); color: var(--muted); }
.approve.sched .field { padding-bottom: 13px; }
.approve .week { display: flex; flex-direction: column; gap: 4px; }
.approve .week p { display: flex; align-items: baseline; gap: 10px; margin: 0; padding: 6px 10px; border-radius: var(--r-ctl, 8px); font-size: var(--t-sm, 13px); line-height: 1.4; color: var(--muted); }
.approve .week p .d { width: 2.4em; flex: none; font-weight: 600; }
.approve .week p.on { background: var(--accent-3); color: var(--ink); font-weight: 600; }
.approve .week p.on .d { color: var(--accent); }
.approve .week p.sess { background: var(--ground); border: 1px solid var(--rule-strong); color: var(--ink); }

.phone { background: var(--surface); border: 1px solid var(--rule); border-radius: 18px; padding: 14px 14px 18px; margin-top: 12px; }
.phone .bar { text-align: center; font-size: var(--t-xs, 12px); color: var(--muted); padding-bottom: 12px; border-bottom: 1px solid var(--rule); margin-bottom: 14px; }
.phone .sms { background: var(--well); border-radius: 17px 17px 17px 5px; padding: 11px 14px; font-size: var(--t-md, 15px); line-height: 1.5; color: var(--ink); max-width: 88%; }
.phone .meta { font-size: var(--t-xs, 12px); color: var(--muted); margin-top: 7px; }
.phone .reply { display: flex; gap: 6px; margin-top: 8px; }
.phone .reply span { font-size: var(--t-xs, 12px); font-weight: 600; padding: 5px 12px; border-radius: var(--r-pill, 999px); border: 1px solid var(--rule-strong); color: var(--ink); background: var(--surface); }
.phone .reply span.on { background: var(--accent-fill); border-color: var(--accent-fill); color: var(--on-accent); }
.phone .reply + .meta { margin-top: 6px; }
.phone .meta + .sms { margin-top: 14px; }

.offer { display: flex; flex-direction: column; border-bottom: 1px solid var(--rule); }
.offer .row { margin: 0; padding: 16px 0; border-top: 1px solid var(--rule); font-size: var(--t-lg, 17px); max-width: none; }
.offer .row .label { margin-right: 8px; color: var(--ink); font-size: var(--t-sm, 13px); font-weight: 800; letter-spacing: .1em; }
.offer .pay .v { font-size: clamp(32px, 3vw, 48px); font-weight: 700; line-height: 1.1; letter-spacing: -.02em; color: var(--ink); margin-right: 4px; }

form.apply { display: flex; flex-direction: column; gap: 16px; padding: 28px; background: var(--surface); border: 1px solid var(--rule); border-radius: var(--r-data, 12px); max-width: 640px; box-sizing: border-box; }
form.apply * { box-sizing: border-box; }
form.apply .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
form.apply label { display: flex; flex-direction: column; gap: 6px; font-size: var(--t-sm, 13px); font-weight: 600; color: var(--ink); }
form.apply input, form.apply select, form.apply textarea { width: 100%; height: 44px; padding: 0 14px; border: 1px solid var(--rule-strong); border-radius: var(--r-ctl, 8px); background: var(--surface); font: inherit; font-size: var(--t-md, 15px); color: var(--ink); }
form.apply textarea { height: auto; min-height: 88px; padding: 12px 14px; resize: vertical; }
form.apply input:focus, form.apply select:focus, form.apply textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.part .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 16px 32px; background: var(--accent-fill); color: var(--on-accent); font: inherit; font-weight: 600; font-size: var(--t-md, 15px); border: 0; border-radius: var(--r-ctl, 8px); cursor: pointer; transition: background .3s ease; }
.part .btn:hover { background: var(--accent-fill-hover); }

.pin.end .cell { --t: calc(0.06 + 0.50 * var(--r) / 12); --q: clamp(0, calc((var(--p) - var(--t)) * 8), 1); transform: none; background: color-mix(in srgb, var(--accent-fill) calc(var(--q) * 100%), var(--k)); }
.pin.end.done .cell, .pin.end .cell.session { animation: pulse-q 2.2s ease infinite; }
.pin.end .l2 span { --r: clamp(0, calc((var(--p) - 0.56) * 8), 1); transform: translateY(calc((1 - var(--r)) * -110%)); }
.pin.end .wm { color: var(--accent-fill); font-weight: 800; letter-spacing: -.02em; }
.pin.end .wm .lowercase { text-transform: lowercase; }
@keyframes pulse-q {
  0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent-fill) 55%, transparent); }
  70%, 100% { box-shadow: 0 0 0 4px transparent; }
}

@media (max-width: 720px) {
  section.part { padding: 48px 20px; }
  form.apply .row { grid-template-columns: 1fr; }
  .numeral { gap: 3px; }
  .pin .numeral { gap: 4px; }
  .pin .stage { padding: 0 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .cell, .pin .cell { transition: none; }
  .pin .cell, .js .end:not(.seen) .cell:not(.session) { transform: none; }
  .pin { height: auto; --p: 1 !important; padding: 64px 0; }
  .pin .stage { position: static; height: auto; }
  .pin .cell.session, .pin.end .cell, .pin.end.done .cell { animation: none; }
}
