/* Orthokinetics 2.0 — "The Route" world. Tokens map 1:1 to theme.json presets. */ :root{--night-950:#0c1214;--night-900:#11181a;--night-800:#172023;--night-700:#1d282b;--night-600:#243237;--night-line:#34454b;--on-night:#e9f1ef;--on-night-dim:#a9bab8;--signal:#3ccfc4;--signal-hi:#7fe0d8;--day-50:#f2f7f5;--day-100:#eaf2ef;--day-200:#dde9e5;--mint-100:#d5e4df;--mint-200:#c9dcd6;--day-line:#b6cbc5;--on-day:#122124;--on-day-dim:#3e5357;--teal-deep:#0b4f5a;--teal-link:#0d5e6b;--alert:#b3261e;--alert-wash:#f5e2df;--font-display:"Overpass","Segoe UI",sans-serif;--font-body:"Source Sans 3","Segoe UI",sans-serif;--wrap:calc(1240 * var(--px,1px));--measure:70ch;--rail-w:calc(224 * var(--px,1px));--rail-gap:calc(64 * var(--px,1px));--radius-sign:calc(6 * var(--px,1px));--radius-media:calc(10 * var(--px,1px));--space-section:clamp(4.5rem,3.5rem + 4vw,7.5rem);--gutter:clamp(1rem,0.5rem + 2.5vw,2.5rem);--ease-out:cubic-bezier(0.16,1,0.3,1)}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(72 * var(--px,1px))}body{margin:0;font-family:var(--font-body);font-size:1.125rem;line-height:1.65;color:var(--on-day);background:var(--night-900);overflow-x:clip;scrollbar-color:var(--night-line) var(--night-900)}img{max-width:100%;height:auto;display:block}::selection{background:var(--signal);color:var(--night-950)}:focus-visible{outline:3px solid var(--signal);outline-offset:3px;border-radius:calc(4 * var(--px,1px))}.day :focus-visible{outline-color:var(--teal-deep)}input,textarea{caret-color:var(--signal)}a{color:inherit;text-underline-offset:0.22em;text-decoration-thickness:1px}.skip{position:absolute;left:calc(-999 * var(--px,1px));top:calc(8 * var(--px,1px));z-index:100;background:var(--signal);color:var(--night-950);padding:calc(10 * var(--px,1px)) calc(16 * var(--px,1px));border-radius:calc(6 * var(--px,1px));font-weight:700}.skip:focus{left:calc(16 * var(--px,1px))}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}h1,h2,h3,h4{font-family:var(--font-display);margin:0;text-wrap:balance}h1{font-size:clamp(2.25rem,1.5rem + 3.1vw,3.75rem);line-height:1.02;font-weight:800;letter-spacing:-0.028em}h2{font-size:clamp(1.75rem,1.3rem + 1.7vw,2.6rem);line-height:1.12;font-weight:700;letter-spacing:-0.018em}h3{font-size:clamp(1.2rem,1.1rem + 0.4vw,1.375rem);line-height:1.25;font-weight:700;letter-spacing:-0.005em}p{margin:0}.prose>* + *{margin-top:1em}.prose{max-width:var(--measure)}.num{font-family:var(--font-display);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}.band{position:relative;padding-block:var(--space-section)}.night{color:var(--on-night)}.day{color:var(--on-day)}.night-1{background:linear-gradient(180deg,var(--night-900) 0%,var(--night-800) 100%)}.night-2{background:linear-gradient(180deg,var(--night-800) 0%,var(--night-700) 100%)}.night-3{background:linear-gradient(180deg,var(--night-700) 0%,var(--night-600) 100%)}.day-1{background:linear-gradient(180deg,var(--day-100) 0%,var(--day-200) 100%)}.day-2{background:linear-gradient(180deg,var(--day-50) 0%,var(--day-100) 100%)}.mint{background:linear-gradient(180deg,var(--mint-100) 0%,var(--mint-200) 100%)}.band + .band::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:rgba(60,207,196,0.35)}.day + .day::before,.mint::before{height:2px;background:var(--day-line)}.band-inner{width:min(100% - 2 * var(--gutter),var(--wrap));margin-inline:auto}@media (min-width:1280px){.has-rail main .band-inner{padding-left:calc(var(--rail-w) + var(--rail-gap))}}.marker{display:flex;align-items:center;gap:calc(14 * var(--px,1px));margin-bottom:calc(22 * var(--px,1px))}.marker .post{display:inline-grid;place-items:center;flex:none;width:calc(44 * var(--px,1px));height:calc(44 * var(--px,1px));border-radius:var(--radius-sign);font-family:var(--font-display);font-weight:800;font-size:1rem;letter-spacing:0.02em;font-variant-numeric:tabular-nums}.night .marker .post{background:var(--signal);color:var(--night-950)}.day .marker .post,.mint .marker .post{background:var(--teal-deep);color:var(--day-50)}.marker .place{font-family:var(--font-display);font-weight:700;font-size:0.95rem;line-height:1.3;letter-spacing:0.01em}.night .marker .place{color:var(--signal)}.day .marker .place,.mint .marker .place{color:var(--teal-deep)}.section-head h2{max-width:24ch}.band .section-head + *{margin-top:clamp(1.5rem,1.1rem + 1.2vw,2.25rem)}.lead{font-size:1.1875rem;max-width:var(--measure)}.night .dim,.night .caption{color:var(--on-night-dim)}.day .dim,.mint .dim,.day .caption,.mint .caption{color:var(--on-day-dim)}.ticks{list-style:none;padding:0;margin:0;max-width:var(--measure);display:grid;gap:0.85em}.ticks li{position:relative;padding-left:calc(30 * var(--px,1px))}.ticks li::before{content:"";position:absolute;left:2px;top:0.62em;width:calc(12 * var(--px,1px));height:calc(12 * var(--px,1px));border-radius:50%;border:2px solid currentColor;opacity:0.9}.night .ticks li::before{border-color:var(--signal)}.day .ticks li::before,.mint .ticks li::before{border-color:var(--teal-deep)}.sign{position:relative;margin-top:clamp(2rem,1.5rem + 1.5vw,3rem);display:grid;grid-template-columns:auto 1fr;gap:calc(18 * var(--px,1px));align-items:start;max-width:calc(820 * var(--px,1px));padding:calc(22 * var(--px,1px)) calc(26 * var(--px,1px)) calc(24 * var(--px,1px));border-radius:var(--radius-sign);outline:1px solid rgba(255,255,255,0.14);outline-offset:calc(-6 * var(--px,1px));font-family:var(--font-display);font-weight:600;font-size:clamp(1.125rem,1.05rem + 0.35vw,1.3rem);line-height:1.4}.sign .sign-label{display:block;font-size:0.9rem;font-weight:800;letter-spacing:0.01em;margin-bottom:calc(4 * var(--px,1px))}.sign svg{display:none}.sign .stopno{display:inline-grid;place-items:center;width:calc(40 * var(--px,1px));height:calc(40 * var(--px,1px));border-radius:calc(4 * var(--px,1px));font:800 0.95rem var(--font-display);font-variant-numeric:tabular-nums}.night .sign .stopno{background:var(--signal-hi);color:var(--night-950)}.day .sign .stopno,.mint .sign .stopno{background:var(--signal);color:var(--night-950)}.night .sign{background:#0e525d;color:#f2fbf9;box-shadow:0 2px 0 #08353d}.night .sign .sign-label{color:var(--signal-hi)}.night .sign svg{color:var(--signal-hi)}.day .sign,.mint .sign{background:var(--night-800);color:var(--on-night);box-shadow:0 2px 0 var(--night-950)}.day .sign .sign-label,.mint .sign .sign-label{color:var(--signal)}.day .sign svg,.mint .sign svg{color:var(--signal)}.btn{display:inline-flex;align-items:center;gap:calc(10 * var(--px,1px));min-height:calc(52 * var(--px,1px));padding:0 calc(24 * var(--px,1px));border-radius:var(--radius-sign);font-family:var(--font-display);font-weight:700;font-size:1rem;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .25s var(--ease-out),color .25s var(--ease-out),border-color .25s var(--ease-out),transform .25s var(--ease-out)}.btn svg{width:calc(18 * var(--px,1px));height:calc(18 * var(--px,1px));transition:transform .3s var(--ease-out)}.btn:hover svg{transform:translateX(3px)}.btn-primary{background:var(--signal);color:var(--night-950)}.btn-primary:hover{background:var(--signal-hi)}.night .btn-ghost{border-color:var(--night-line);color:var(--on-night)}.night .btn-ghost:hover{border-color:var(--signal);color:var(--signal)}.day .btn-primary,.mint .btn-primary{background:var(--teal-deep);color:var(--day-50)}.day .btn-primary:hover,.mint .btn-primary:hover{background:#083c45}.day .btn-ghost,.mint .btn-ghost{border-color:var(--teal-deep);color:var(--teal-deep)}.btn-row{display:flex;flex-wrap:wrap;gap:calc(12 * var(--px,1px))}.site-header{position:relative;z-index:5}.site-header .band-inner{padding-left:0 !important}.header-top{display:flex;align-items:center;justify-content:space-between;gap:calc(24 * var(--px,1px));padding-block:calc(16 * var(--px,1px)) calc(14 * var(--px,1px))}.brand img{width:calc(214 * var(--px,1px));height:auto}.header-actions{display:flex;align-items:center;gap:calc(22 * var(--px,1px));font-family:var(--font-display);font-weight:600;font-size:0.95rem;color:var(--on-night)}.header-actions .util{text-decoration:none;color:var(--on-night-dim);border-bottom:2px solid transparent;padding:calc(6 * var(--px,1px)) 0}.header-actions .util:hover{color:var(--on-night);border-color:var(--signal)}.header-actions .btn{min-height:calc(44 * var(--px,1px));padding:0 calc(18 * var(--px,1px))}.header-nav{border-top:1px solid var(--night-line)}.nav-list{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;gap:calc(8 * var(--px,1px))}.nav-list>li{position:relative;display:flex;align-items:center}.nav-top{display:block;padding:calc(14 * var(--px,1px)) 0;font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--on-night);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}.nav-top:hover,.nav-top[aria-current]{border-color:var(--signal)}.sub-toggle{display:inline-grid;place-items:center;width:calc(28 * var(--px,1px));height:calc(28 * var(--px,1px));margin-left:2px;border:0;border-radius:calc(4 * var(--px,1px));background:transparent;color:var(--on-night-dim);cursor:pointer}.sub-toggle svg{width:calc(14 * var(--px,1px));height:calc(14 * var(--px,1px));transition:transform .25s var(--ease-out)}.sub-toggle:hover{color:var(--signal)}.sub-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}.sub{position:absolute;left:calc(-16 * var(--px,1px));top:100%;z-index:40;min-width:calc(260 * var(--px,1px));margin:0;padding:calc(10 * var(--px,1px));list-style:none;border-radius:0 0 calc(10 * var(--px,1px)) calc(10 * var(--px,1px));background:var(--night-800);border:1px solid var(--night-line);border-top:2px solid var(--signal);box-shadow:0 calc(16 * var(--px,1px)) calc(32 * var(--px,1px)) calc(-18 * var(--px,1px)) rgba(0,0,0,0.7);display:none}.sub.two-col{columns:2;column-gap:calc(8 * var(--px,1px));min-width:calc(520 * var(--px,1px))}.nav-list>li:last-child .sub,.nav-list>li:nth-last-child(2) .sub,.nav-list>li:nth-last-child(3) .sub{left:auto;right:calc(-16 * var(--px,1px))}.sub a{display:block;break-inside:avoid;padding:calc(9 * var(--px,1px)) calc(12 * var(--px,1px));border-radius:calc(6 * var(--px,1px));font-size:0.95rem;line-height:1.35;color:var(--on-night);text-decoration:none}.sub a:hover,.sub a:focus-visible{background:var(--night-700);color:var(--signal)}.sub a[aria-current]{color:var(--signal);font-weight:700}.has-sub:hover>.sub,.has-sub:focus-within>.sub,.has-sub.is-open>.sub{display:block}.menu-btn{display:none}@media (max-width:1099px){.header-actions .util{display:none}.brand img{width:calc(176 * var(--px,1px))}.header-nav{display:none}.header-nav.is-open{display:block}.menu-btn{display:inline-flex;min-height:calc(44 * var(--px,1px));padding:0 calc(14 * var(--px,1px));border:2px solid var(--night-line);background:transparent;color:var(--on-night);border-radius:var(--radius-sign);font:700 0.95rem var(--font-display);align-items:center;gap:calc(8 * var(--px,1px));cursor:pointer}.menu-btn[aria-expanded="true"]{border-color:var(--signal);color:var(--signal)}.nav-list{flex-direction:column;gap:0;padding:calc(6 * var(--px,1px)) 0 calc(14 * var(--px,1px))}.nav-list>li{flex-wrap:wrap;justify-content:space-between;border-bottom:1px solid var(--night-line)}.nav-top{padding:calc(14 * var(--px,1px)) 0;font-size:1.05rem}.sub-toggle{width:calc(44 * var(--px,1px));height:calc(44 * var(--px,1px))}.sub,.sub.two-col{position:static;flex-basis:100%;min-width:0;columns:1;box-shadow:none;border:0;border-radius:calc(8 * var(--px,1px));margin-bottom:calc(10 * var(--px,1px))}.has-sub:hover>.sub,.has-sub:focus-within>.sub{display:none}.has-sub.is-open>.sub{display:block}}@media (max-width:599px){.header-actions .btn{display:none}}.hero{padding-block:0 clamp(3.5rem,2rem + 5vw,6.5rem);background:radial-gradient(120% 90% at 85% 10%,rgba(60,207,196,0.10) 0%,rgba(60,207,196,0) 55%),linear-gradient(180deg,var(--night-950) 0%,var(--night-900) 100%);overflow:hidden}.hero .contours{position:absolute;inset:0;width:100%;height:100%;color:var(--signal);opacity:0.07;pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,1rem + 4vw,5rem);padding-top:clamp(1.75rem,1rem + 2.5vw,3rem)}.crumbs{font-family:var(--font-display);font-weight:600;font-size:0.95rem;color:var(--on-night-dim);display:flex;gap:calc(10 * var(--px,1px));align-items:center;margin-bottom:calc(16 * var(--px,1px))}.crumbs a{color:var(--signal);text-decoration:none}.crumbs a:hover{text-decoration:underline}.hero h1{color:var(--on-night);max-width:17ch;text-wrap:pretty}.hero .subline{margin-top:calc(16 * var(--px,1px));font-family:var(--font-display);font-weight:700;font-size:clamp(1.25rem,1.1rem + 0.7vw,1.6rem);line-height:1.3;color:var(--signal);max-width:30ch}.hero .ticks{margin-top:calc(20 * var(--px,1px));gap:0.5em;color:var(--on-night);font-size:1.0625rem;line-height:1.55}.hero .ticks li:last-child{color:var(--on-night-dim)}.hero .btn-row{margin-top:calc(24 * var(--px,1px))}.hero .ticks{margin-top:calc(28 * var(--px,1px))}.hero-bg{position:absolute;left:0;right:0;top:0;height:min(100%,calc(940 * var(--px,1px)));z-index:0;overflow:hidden}.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:86% 40%;transform:scaleX(-1)}.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,18,20,0.78) 0%,rgba(12,18,20,0) 16%),linear-gradient(0deg,var(--night-900) 0%,rgba(17,24,26,0.88) 20%,rgba(17,24,26,0) 42%),linear-gradient(90deg,rgba(12,18,20,0.97) 0%,rgba(12,18,20,0.93) 36%,rgba(12,18,20,0.62) 50%,rgba(12,18,20,0.18) 66%,rgba(12,18,20,0) 80%)}.hero-bg ~ .contours{display:none}.hero-credit{position:absolute;z-index:1;right:var(--gutter);top:calc(860 * var(--px,1px));margin:0;font-size:0.78rem;color:rgba(233,241,239,0.72)}.hero .hero-grid,.hero .trailhead{position:relative;z-index:1}.hero .site-header{position:relative;z-index:6;background:rgba(12,18,20,0.9)}@supports (backdrop-filter:blur(8px)){.hero .site-header{background:rgba(12,18,20,0.8);backdrop-filter:blur(calc(8 * var(--px,1px)))}}.hero .hero-grid{grid-template-columns:minmax(0,calc(640 * var(--px,1px)))}.hero{min-height:min(100svh,calc(1180 * var(--px,1px)))}.trailhead{position:relative;margin-top:clamp(2rem,1rem + 2vw,3rem)}@media (min-width:960px){.trailhead .overview{margin-top:0;padding:calc(22 * var(--px,1px)) calc(26 * var(--px,1px)) calc(18 * var(--px,1px))}.trailhead .stages{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:calc(14 * var(--px,1px));margin-top:calc(18 * var(--px,1px))}.trailhead .stages::before{left:calc(16 * var(--px,1px));right:calc(16 * var(--px,1px));top:calc(15 * var(--px,1px));bottom:auto;width:auto;height:2px}.trailhead .stages a{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:calc(10 * var(--px,1px));align-items:start;padding:0}.trailhead .stage-name{font-size:1rem}.trailhead .stage-name small{font-size:0.84rem;line-height:1.4}.trailhead .here{display:block;width:max-content;margin:calc(6 * var(--px,1px)) 0 0}.trailhead .stage-range{order:3}.trailhead .overview-foot{margin-top:calc(16 * var(--px,1px))}}.consult{margin-top:calc(38 * var(--px,1px));padding-top:calc(24 * var(--px,1px));border-top:1px solid var(--night-line);display:flex;align-items:center;gap:calc(16 * var(--px,1px));flex-wrap:wrap}.consult img{width:calc(60 * var(--px,1px));height:calc(60 * var(--px,1px));border-radius:50%;object-fit:cover;object-position:50% 18%;background:var(--night-700)}.consult strong{display:block;font-family:var(--font-display);color:var(--on-night);font-size:1.05rem}.consult span{color:var(--on-night-dim);font-size:0.98rem}.consult .safety{flex-basis:100%;font-size:0.9rem;color:var(--on-night-dim);display:flex;align-items:center;gap:calc(8 * var(--px,1px))}.consult .safety::before{content:"";width:calc(8 * var(--px,1px));height:calc(8 * var(--px,1px));border-radius:50%;background:var(--signal)}.overview{align-self:start;margin-top:calc(8 * var(--px,1px));padding:calc(26 * var(--px,1px)) calc(24 * var(--px,1px)) calc(20 * var(--px,1px));border-radius:calc(12 * var(--px,1px));background:linear-gradient(180deg,rgba(29,40,43,0.92),rgba(17,24,26,0.92));border:1px solid var(--night-line)}.overview h2{font-size:1.05rem;letter-spacing:0.01em;color:var(--on-night);display:flex;justify-content:space-between;align-items:baseline;gap:calc(12 * var(--px,1px))}.overview h2 span{font-weight:600;color:var(--on-night-dim);font-size:0.9rem}.stages{list-style:none;margin:calc(20 * var(--px,1px)) 0 0;padding:0;position:relative}.stages::before{content:"";position:absolute;left:calc(15 * var(--px,1px));top:calc(16 * var(--px,1px));bottom:calc(16 * var(--px,1px));width:2px;background:var(--signal);opacity:0.55}.stages li{position:relative}.stages a{display:grid;grid-template-columns:calc(32 * var(--px,1px)) 1fr auto;gap:calc(14 * var(--px,1px));align-items:center;padding:calc(11 * var(--px,1px)) calc(8 * var(--px,1px)) calc(11 * var(--px,1px)) 0;text-decoration:none;color:var(--on-night);border-radius:calc(8 * var(--px,1px))}.stages a:hover .stage-name{color:var(--signal)}.stages .stop{position:relative;z-index:1;width:calc(32 * var(--px,1px));height:calc(32 * var(--px,1px));border-radius:50%;display:grid;place-items:center;background:var(--night-900);border:2px solid var(--signal);font:800 0.85rem var(--font-display);color:var(--signal);font-variant-numeric:tabular-nums}.stages li:first-child .stop{background:var(--signal);color:var(--night-950)}.stage-name{font-family:var(--font-display);font-weight:700;font-size:1.05rem;line-height:1.3;transition:color .2s}.stage-name small{display:block;font-family:var(--font-body);font-weight:400;font-size:0.9rem;color:var(--on-night-dim);margin-top:2px}.stage-range{font:600 0.85rem var(--font-display);color:var(--on-night-dim);font-variant-numeric:tabular-nums}.here{display:inline-block;margin-left:calc(8 * var(--px,1px));padding:1px calc(8 * var(--px,1px));border-radius:calc(4 * var(--px,1px));background:rgba(60,207,196,0.14);color:var(--signal);font:700 0.72rem var(--font-display);letter-spacing:0.08em;text-transform:uppercase;vertical-align:2px}.fork-ico{width:calc(18 * var(--px,1px));height:calc(18 * var(--px,1px));color:var(--signal);vertical-align:-3px;margin-left:calc(6 * var(--px,1px))}.overview-foot{margin-top:calc(14 * var(--px,1px));padding-top:calc(14 * var(--px,1px));border-top:1px solid var(--night-line);font-size:0.9rem;color:var(--on-night-dim)}@media (max-width:959px){.hero-grid{grid-template-columns:1fr}.hero{min-height:0}.hero-bg{height:calc(420 * var(--px,1px))}.hero-bg img{object-position:22% 30%}.hero-bg::after{background:linear-gradient(0deg,var(--night-900) 0%,rgba(17,24,26,0.9) 22%,rgba(17,24,26,0.25) 60%,rgba(12,18,20,0.6) 100%)}.hero .hero-grid{padding-top:calc(290 * var(--px,1px))}.hero-credit{top:calc(126 * var(--px,1px));font-size:0.72rem}.hero h1{font-size:clamp(2.1rem,1.4rem + 3vw,3rem)}.hero h1{max-width:none}}.rail{position:fixed;z-index:20;top:calc(24 * var(--px,1px));bottom:calc(24 * var(--px,1px));left:max(var(--gutter),calc((100vw - var(--wrap)) / 2));width:var(--rail-w);display:none;flex-direction:column;padding:calc(18 * var(--px,1px)) calc(14 * var(--px,1px)) calc(14 * var(--px,1px)) calc(16 * var(--px,1px));border-radius:calc(12 * var(--px,1px));background:rgba(17,24,26,0.94);border:1px solid var(--night-line);box-shadow:0 calc(10 * var(--px,1px)) calc(24 * var(--px,1px)) calc(-12 * var(--px,1px)) rgba(0,0,0,0.55);color:var(--on-night);opacity:0;transform:translateX(calc(-12 * var(--px,1px)));pointer-events:none;transition:opacity .45s var(--ease-out),transform .45s var(--ease-out)}@supports (backdrop-filter:blur(8px)){.rail{background:rgba(17,24,26,0.86);backdrop-filter:blur(calc(10 * var(--px,1px))) saturate(1.1)}}@media (min-width:1280px){.rail{display:flex}}.rail.is-on{opacity:1;transform:none;pointer-events:auto}.rail-title{font:800 0.74rem var(--font-display);letter-spacing:0.12em;text-transform:uppercase;color:var(--on-night-dim);display:flex;justify-content:space-between;padding-right:calc(4 * var(--px,1px))}.rail-title .num{color:var(--signal);letter-spacing:0.04em}.rail-scroll{flex:1;overflow-y:auto;margin-top:calc(12 * var(--px,1px));padding-right:calc(6 * var(--px,1px));-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 calc(18 * var(--px,1px)),#000 calc(100% - calc(28 * var(--px,1px))),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 calc(18 * var(--px,1px)),#000 calc(100% - calc(28 * var(--px,1px))),transparent 100%);padding-block:calc(10 * var(--px,1px)) calc(18 * var(--px,1px));scrollbar-width:thin;scrollbar-color:var(--night-line) transparent}.route{list-style:none;margin:0;padding:0;position:relative}.route .track,.route .fill{position:absolute;left:calc(11 * var(--px,1px));top:calc(10 * var(--px,1px));width:2px}.route .track{bottom:calc(10 * var(--px,1px));background:var(--night-line)}.route .fill{bottom:calc(10 * var(--px,1px));background:var(--signal);transform-origin:top;transform:scaleY(0);transition:transform .4s var(--ease-out)}.route .stage-row{font:800 0.7rem var(--font-display);letter-spacing:0.12em;text-transform:uppercase;color:var(--on-night-dim);padding:calc(12 * var(--px,1px)) 0 calc(4 * var(--px,1px)) calc(34 * var(--px,1px))}.route .stage-row:first-of-type{padding-top:2px}.route a{position:relative;display:grid;grid-template-columns:calc(24 * var(--px,1px)) 1fr;gap:calc(10 * var(--px,1px));align-items:center;padding:calc(5 * var(--px,1px)) calc(4 * var(--px,1px)) calc(5 * var(--px,1px)) 0;text-decoration:none;font-size:0.9rem;line-height:1.35;color:var(--on-night-dim);border-radius:calc(6 * var(--px,1px));transition:color .2s}.route a:hover{color:var(--on-night)}.route .dot{position:relative;z-index:1;width:calc(24 * var(--px,1px));height:calc(24 * var(--px,1px));border-radius:50%;display:grid;place-items:center;background:var(--night-900);border:2px solid var(--night-line);font:800 0.66rem var(--font-display);font-variant-numeric:tabular-nums;color:var(--on-night-dim);transition:background-color .3s,border-color .3s,color .3s}.route a.is-read .dot{border-color:var(--signal);color:var(--signal)}.route a.is-read .dot::after{content:"";position:absolute;right:-3px;bottom:-3px;width:calc(11 * var(--px,1px));height:calc(11 * var(--px,1px));border-radius:50%;background:var(--signal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6.3l2 2 4-4.4' fill='none' stroke='%230c1214' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}.route a.is-current{color:var(--on-night);font-weight:700}.route a.is-fork::after{content:"";position:absolute;left:calc(30 * var(--px,1px));top:-2px;bottom:-2px;width:0;border-left:2px dashed rgba(60,207,196,0.55)}.route a.fork-start::after{top:50%}.route a.fork-end::after{bottom:50%}.route a.fork-start .dot::before,.route a.fork-end .dot::before{content:"";position:absolute;left:calc(20 * var(--px,1px));top:50%;width:calc(10 * var(--px,1px));height:2px;background:rgba(60,207,196,0.55)}.route a.is-fork>span:last-child{padding-left:calc(14 * var(--px,1px))}.route .stage-row.is-fork-row{color:var(--signal)}.route a.is-current .dot{background:var(--signal);border-color:var(--signal);color:var(--night-950);box-shadow:0 0 0 calc(4 * var(--px,1px)) rgba(60,207,196,0.18)}.route a.is-flag::before{content:"You stopped here";position:absolute;right:100%;margin-right:calc(10 * var(--px,1px));white-space:nowrap;font:700 0.7rem var(--font-display);color:var(--night-950);background:var(--signal-hi);padding:2px calc(6 * var(--px,1px));border-radius:calc(4 * var(--px,1px))}.rail-cta{margin-top:calc(12 * var(--px,1px));padding-top:calc(12 * var(--px,1px));border-top:1px solid var(--night-line)}.rail-cta .btn{width:100%;justify-content:center;min-height:calc(44 * var(--px,1px));padding:0 calc(10 * var(--px,1px));font-size:0.9rem;white-space:nowrap}.routebar{position:fixed;z-index:30;inset:0 0 auto;display:none;transform:translateY(-110%);transition:transform .4s var(--ease-out);background:rgba(12,18,20,0.96);color:var(--on-night);border-bottom:1px solid var(--night-line)}@supports (backdrop-filter:blur(8px)){.routebar{background:rgba(12,18,20,0.88);backdrop-filter:blur(calc(10 * var(--px,1px)))}}@media (max-width:1279px){.routebar{display:block}}.routebar.is-on{transform:none}.routebar-row{display:flex;align-items:center;gap:calc(12 * var(--px,1px));min-height:calc(56 * var(--px,1px));width:min(100% - 2 * var(--gutter),var(--wrap));margin-inline:auto}.routebar .now{flex:1;min-width:0;display:flex;align-items:center;gap:calc(10 * var(--px,1px));font:700 0.95rem var(--font-display)}.routebar .now .dot{flex:none;width:calc(28 * var(--px,1px));height:calc(28 * var(--px,1px));border-radius:50%;display:grid;place-items:center;background:var(--signal);color:var(--night-950);font:800 0.72rem var(--font-display);font-variant-numeric:tabular-nums}.routebar .now .label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.routebar button{min-height:calc(44 * var(--px,1px));padding:0 calc(14 * var(--px,1px));border-radius:var(--radius-sign);border:2px solid var(--night-line);background:transparent;color:var(--on-night);font:700 0.92rem var(--font-display);display:inline-flex;align-items:center;gap:calc(8 * var(--px,1px));cursor:pointer}.routebar button[aria-expanded="true"]{border-color:var(--signal);color:var(--signal)}.routebar button svg{width:calc(16 * var(--px,1px));height:calc(16 * var(--px,1px));transition:transform .3s var(--ease-out)}.routebar button[aria-expanded="true"] svg{transform:rotate(180deg)}.routebar .progress{height:3px;background:var(--night-700)}.routebar .progress span{display:block;height:100%;width:100%;background:var(--signal);transform-origin:left;transform:scaleX(0);transition:transform .3s linear}.routebar-panel{max-height:min(70vh,calc(560 * var(--px,1px)));overflow-y:auto;border-top:1px solid var(--night-line)}.routebar-panel[hidden]{display:none}.routebar-panel .route{width:min(100% - 2 * var(--gutter),calc(640 * var(--px,1px)));margin:calc(8 * var(--px,1px)) auto calc(18 * var(--px,1px))}.routebar-panel .route a{font-size:1rem;padding:calc(8 * var(--px,1px)) calc(4 * var(--px,1px)) calc(8 * var(--px,1px)) 0}.routebar-panel .route a.is-flag::before{display:none}.resume{display:none;align-items:center;gap:calc(10 * var(--px,1px))}.resume.is-on{display:flex}.resume-link{color:var(--signal);font:700 0.9rem var(--font-display);text-decoration:underline;background:none;border:0;cursor:pointer;padding:0}.mapboard{margin-top:calc(8 * var(--px,1px));padding:clamp(calc(22 * var(--px,1px)),1rem + 2vw,calc(40 * var(--px,1px)));border-radius:calc(14 * var(--px,1px));background:linear-gradient(160deg,var(--night-800) 0%,var(--night-900) 100%);color:var(--on-night);box-shadow:0 calc(30 * var(--px,1px)) calc(60 * var(--px,1px)) calc(-40 * var(--px,1px)) rgba(12,18,20,0.75)}.mapboard-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:calc(12 * var(--px,1px)) calc(24 * var(--px,1px));align-items:baseline;padding-bottom:calc(18 * var(--px,1px));border-bottom:1px solid var(--night-line)}.mapboard-head p{color:var(--on-night-dim);font-size:1rem;max-width:52ch}.map-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(30 * var(--px,1px)) calc(34 * var(--px,1px));margin-top:calc(26 * var(--px,1px))}@media (max-width:1023px){.map-stages{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:599px){.map-stages{grid-template-columns:1fr}}.map-stage h3{font-size:1rem;display:flex;align-items:center;gap:calc(10 * var(--px,1px));color:var(--signal);padding-bottom:calc(10 * var(--px,1px))}.map-stage h3 .stop{width:calc(26 * var(--px,1px));height:calc(26 * var(--px,1px));border-radius:50%;display:grid;place-items:center;background:var(--signal);color:var(--night-950);font:800 0.75rem var(--font-display)}.map-stage ol{list-style:none;margin:0;padding:0 0 0 calc(12 * var(--px,1px));position:relative}.map-stage ol::before{content:"";position:absolute;left:0;top:calc(4 * var(--px,1px));bottom:calc(4 * var(--px,1px));width:2px;background:var(--night-line)}.map-stage li a{display:grid;grid-template-columns:calc(30 * var(--px,1px)) 1fr;gap:calc(8 * var(--px,1px));padding:calc(6 * var(--px,1px)) 0 calc(6 * var(--px,1px)) calc(14 * var(--px,1px));margin-left:calc(-14 * var(--px,1px));text-decoration:none;color:var(--on-night);font-size:1rem;line-height:1.35;position:relative}.map-stage li a::before{content:"";position:absolute;left:calc(-7 * var(--px,1px));top:50%;width:calc(12 * var(--px,1px));height:2px;background:var(--night-line)}.map-stage li a:hover{color:var(--signal)}.map-stage li a .num{color:var(--on-night-dim);font-size:0.9rem;font-weight:700;padding-top:1px}.map-stage li a.is-read .num{color:var(--signal)}figure{margin:0}.plate{border-radius:var(--radius-media);overflow:hidden}.plate-illus{background:#47704c;padding:clamp(calc(10 * var(--px,1px)),2vw,calc(18 * var(--px,1px)))}.plate-illus img{border-radius:calc(4 * var(--px,1px))}figcaption{margin-top:calc(12 * var(--px,1px));font-size:0.95rem;line-height:1.5;max-width:62ch}.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:clamp(2rem,1rem + 3vw,4rem);align-items:start}.split.reverse{grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr)}@media (max-width:899px){.split,.split.reverse{grid-template-columns:1fr}}.alert{margin-top:2rem;max-width:calc(820 * var(--px,1px));padding:calc(22 * var(--px,1px)) calc(24 * var(--px,1px));border-radius:var(--radius-sign);background:var(--alert-wash);color:#3b0f0b;border:1px solid #e5b9b3;display:grid;grid-template-columns:auto 1fr;gap:calc(16 * var(--px,1px))}.alert svg{width:calc(28 * var(--px,1px));height:calc(28 * var(--px,1px));color:var(--alert)}.alert h3{font-size:1.1rem;color:#7a1a14;margin-bottom:calc(8 * var(--px,1px))}.alert ul{margin:0;padding-left:1.1em;display:grid;gap:0.5em}.detour{margin-top:1.5rem;max-width:var(--measure);border-radius:var(--radius-sign)}.detour summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:calc(12 * var(--px,1px));min-height:calc(48 * var(--px,1px));padding:calc(8 * var(--px,1px)) calc(4 * var(--px,1px));font-family:var(--font-display);font-weight:700;font-size:1.02rem}.detour summary::-webkit-details-marker{display:none}.detour summary .plus{flex:none;width:calc(26 * var(--px,1px));height:calc(26 * var(--px,1px));border-radius:50%;display:grid;place-items:center;transition:transform .35s var(--ease-out),background-color .2s}.detour summary .plus svg{width:calc(14 * var(--px,1px));height:calc(14 * var(--px,1px))}.detour[open] summary .plus{transform:rotate(45deg)}.night .detour summary{color:var(--signal)}.night .detour summary .plus{border:2px solid var(--signal)}.day .detour summary,.mint .detour summary{color:var(--teal-deep)}.day .detour summary .plus,.mint .detour summary .plus{border:2px solid var(--teal-deep)}.detour summary:hover .plus{background:rgba(60,207,196,0.14)}.detour-body{padding:calc(6 * var(--px,1px)) 0 calc(8 * var(--px,1px)) calc(38 * var(--px,1px))}.night .detour-body{color:var(--on-night)}.detour-body ul{margin:0;padding-left:1.1em;display:grid;gap:0.75em}.detour{border-top:1px solid var(--night-line)}.day .detour,.mint .detour{border-top-color:var(--day-line)}.stepper{margin-top:2rem}.step-tabs{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:calc(12 * var(--px,1px))}.step-tabs::before{content:"";position:absolute;left:calc(22 * var(--px,1px));right:calc(22 * var(--px,1px));top:calc(22 * var(--px,1px));height:2px;background:var(--day-line)}.step-tab{position:relative;display:grid;gap:calc(10 * var(--px,1px));justify-items:start;text-align:left;padding:0 calc(8 * var(--px,1px)) calc(12 * var(--px,1px)) 0;background:none;border:0;cursor:pointer;font:inherit;color:var(--on-day-dim)}.step-tab .stop{width:calc(46 * var(--px,1px));height:calc(46 * var(--px,1px));border-radius:50%;display:grid;place-items:center;background:var(--mint-100);border:2px solid var(--teal-deep);color:var(--teal-deep);font:800 1rem var(--font-display);transition:background-color .3s,color .3s,box-shadow .3s}.step-tab .t{font-family:var(--font-display);font-weight:700;font-size:1.05rem;line-height:1.35}.step-tab[aria-selected="true"]{color:var(--on-day)}.step-tab[aria-selected="true"] .stop{background:var(--teal-deep);color:var(--day-50);box-shadow:0 0 0 calc(5 * var(--px,1px)) rgba(11,79,90,0.16)}.step-tab:hover .t{color:var(--teal-deep)}.panel{margin-top:calc(18 * var(--px,1px))}.panel[hidden]{display:none}.step-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,0.8fr);gap:clamp(1.5rem,1rem + 2vw,3rem);align-items:start;padding:clamp(calc(20 * var(--px,1px)),1rem + 1.5vw,calc(32 * var(--px,1px)));border-radius:calc(12 * var(--px,1px));background:linear-gradient(180deg,rgba(242,247,245,0.75),rgba(234,242,239,0.55));border:1px solid var(--day-line)}.step-panel.no-media{grid-template-columns:1fr}.step-panel h3{margin-bottom:calc(12 * var(--px,1px))}.step-panel .plate img{aspect-ratio:4 / 3;object-fit:cover}@media (max-width:767px){.step-tabs{grid-template-columns:1fr;gap:calc(4 * var(--px,1px))}.step-tabs::before{left:calc(22 * var(--px,1px));right:auto;top:calc(22 * var(--px,1px));bottom:calc(22 * var(--px,1px));width:2px;height:auto}.step-tab{grid-template-columns:calc(46 * var(--px,1px)) 1fr;align-items:center;padding:calc(4 * var(--px,1px)) 0}.step-panel{grid-template-columns:1fr}}.fork{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,1rem + 2.5vw,3.5rem);margin-top:2.25rem;align-items:start}@media (max-width:899px){.fork{grid-template-columns:1fr}}.fork-nav{display:grid;grid-template-columns:calc(84 * var(--px,1px)) 1fr}.fork-svg{width:calc(84 * var(--px,1px));height:100%;color:var(--signal);overflow:visible}.fork-svg .lane{fill:none;stroke:var(--night-line);stroke-width:2;transition:stroke .35s}.fork-svg .lane.is-on{stroke:var(--signal);stroke-width:3}.fork-svg .trunk{fill:none;stroke:var(--signal);stroke-width:3}.fork-svg .link{fill:none;stroke:var(--on-night-dim);stroke-width:1.5;stroke-dasharray:3 5}.fork-svg .origin{fill:var(--signal)}.fork-svg{height:calc(340 * var(--px,1px))}.fork-tabs{display:grid;grid-template-rows:calc(46 * var(--px,1px)) auto;row-gap:calc(12 * var(--px,1px))}.fork-origin{font:700 0.9rem var(--font-display);color:var(--on-night-dim);display:flex;align-items:center}.fork-tab{height:calc(84 * var(--px,1px));display:grid;grid-template-columns:calc(40 * var(--px,1px)) 1fr;gap:calc(12 * var(--px,1px));align-items:center;text-align:left;padding:calc(10 * var(--px,1px)) calc(14 * var(--px,1px)) calc(10 * var(--px,1px)) calc(12 * var(--px,1px));font-size:0.98rem !important;border-radius:calc(10 * var(--px,1px));border:2px solid var(--night-line);background:rgba(12,18,20,0.35);color:var(--on-night);font:700 1.02rem/1.3 var(--font-display);cursor:pointer;transition:border-color .3s,background-color .3s}.fork-tab .n{width:calc(40 * var(--px,1px));height:calc(40 * var(--px,1px));border-radius:50%;display:grid;place-items:center;border:2px solid var(--signal);color:var(--signal);font:800 1rem var(--font-display);transition:background-color .3s,color .3s}.fork-tab:hover{border-color:rgba(60,207,196,0.6)}.fork-tab[aria-selected="true"]{border-color:var(--signal);background:rgba(60,207,196,0.1)}.fork-tab[aria-selected="true"] .n{background:var(--signal);color:var(--night-950)}.fork-panel{padding:clamp(calc(22 * var(--px,1px)),1rem + 1.5vw,calc(34 * var(--px,1px)));border-radius:calc(12 * var(--px,1px));background:linear-gradient(180deg,var(--night-700) 0%,var(--night-800) 100%);border:1px solid var(--night-line)}.fork-panel h3{color:var(--signal);margin-bottom:calc(14 * var(--px,1px))}.fork-panel .ticks{color:var(--on-night)}.quote{margin:2rem 0 0;max-width:calc(820 * var(--px,1px));padding-top:calc(22 * var(--px,1px));border-top:2px solid var(--signal)}.day .quote,.mint .quote{border-top-color:var(--teal-deep)}.quote p{font-family:var(--font-display);font-weight:600;font-size:clamp(1.1rem,1.02rem + 0.4vw,1.3rem);line-height:1.45}.quote .context{font-family:var(--font-body);font-weight:400;font-size:1rem;margin-bottom:calc(10 * var(--px,1px))}.night .quote .context{color:var(--on-night-dim)}.day .quote .context,.mint .quote .context{color:var(--on-day-dim)}.junction{margin-top:2.5rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;position:relative}.junction-col{position:relative;padding:0 clamp(calc(16 * var(--px,1px)),2vw,calc(32 * var(--px,1px))) calc(62 * var(--px,1px))}.junction-col + .junction-col{border-left:1px solid var(--day-line)}.junction-col .letter{font:800 clamp(3.5rem,2.5rem + 3vw,5.5rem)/0.9 var(--font-display);color:var(--teal-deep);letter-spacing:-0.04em}.junction-col h3{margin:calc(14 * var(--px,1px)) 0 calc(10 * var(--px,1px));font-size:1.35rem}.junction-lines{position:absolute;left:0;right:0;bottom:0;height:calc(62 * var(--px,1px));width:100%;color:var(--teal-deep)}.junction-out{display:flex;justify-content:center}.junction-out .node{display:inline-flex;align-items:center;gap:calc(10 * var(--px,1px));padding:calc(12 * var(--px,1px)) calc(20 * var(--px,1px));border-radius:calc(999 * var(--px,1px));background:var(--teal-deep);color:var(--day-50);font:700 1rem var(--font-display)}@media (max-width:767px){.junction{grid-template-columns:1fr}.junction-col{padding:calc(22 * var(--px,1px)) 0 calc(22 * var(--px,1px)) 0}.junction-col + .junction-col{border-left:0;border-top:1px solid var(--day-line)}.junction-lines{display:none}.junction-out{justify-content:flex-start;margin-top:calc(8 * var(--px,1px))}}.video{margin-top:2rem;max-width:calc(920 * var(--px,1px))}.video-frame{position:relative;aspect-ratio:16 / 9;border-radius:calc(12 * var(--px,1px));overflow:hidden;background:var(--night-900);box-shadow:0 calc(30 * var(--px,1px)) calc(60 * var(--px,1px)) calc(-36 * var(--px,1px)) rgba(12,18,20,0.7)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-facade{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:var(--night-900)}.video-facade{display:grid;grid-template-columns:1.1fr 0.9fr;align-items:stretch;text-align:left;color:var(--on-night);background:radial-gradient(90% 120% at 80% 30%,rgba(60,207,196,0.18),rgba(60,207,196,0) 60%),linear-gradient(135deg,var(--night-800),var(--night-950))}.video-facade .poster-copy{display:flex;flex-direction:column;justify-content:center;gap:calc(14 * var(--px,1px));padding:clamp(calc(18 * var(--px,1px)),4%,calc(44 * var(--px,1px)))}.video-facade .poster-title{font:800 clamp(1.1rem,0.7rem + 2vw,2rem)/1.1 var(--font-display);letter-spacing:-0.015em;max-width:16ch}.video-facade .poster-by{font:600 clamp(0.8rem,0.7rem + 0.4vw,1rem) var(--font-display);color:var(--on-night-dim)}.video-facade .poster-img{position:relative;overflow:hidden}.video-facade .poster-img img{position:absolute;bottom:0;right:4%;height:96%;width:auto;max-width:none;object-fit:contain;transition:transform .6s var(--ease-out)}.video-facade:hover .poster-img img{transform:translateY(calc(-4 * var(--px,1px)))}.video-facade .play{align-self:start;display:inline-flex;align-items:center;gap:calc(10 * var(--px,1px));padding:calc(12 * var(--px,1px)) calc(20 * var(--px,1px)) calc(12 * var(--px,1px)) calc(14 * var(--px,1px));border-radius:calc(999 * var(--px,1px));background:var(--signal);color:var(--night-950);font:800 0.95rem var(--font-display);box-shadow:0 calc(18 * var(--px,1px)) calc(40 * var(--px,1px)) calc(-16 * var(--px,1px)) rgba(0,0,0,0.6);transition:background-color .2s}.video-facade:hover .play{background:var(--signal-hi)}.video-facade .play-legacy{position:absolute;left:50%;top:50%;translate:-50% -50%;display:inline-flex;align-items:center;gap:calc(12 * var(--px,1px));padding:calc(14 * var(--px,1px)) calc(22 * var(--px,1px)) calc(14 * var(--px,1px)) calc(16 * var(--px,1px));border-radius:calc(999 * var(--px,1px));background:var(--signal);color:var(--night-950);font:800 1rem var(--font-display);box-shadow:0 calc(18 * var(--px,1px)) calc(40 * var(--px,1px)) calc(-16 * var(--px,1px)) rgba(0,0,0,0.6)}.video-facade .play svg{width:calc(26 * var(--px,1px));height:calc(26 * var(--px,1px))}.video-meta{margin-top:calc(12 * var(--px,1px));font-size:0.95rem}.evidence{margin-top:2.25rem;border-top:2px solid var(--signal)}.ev-row{display:grid;grid-template-columns:minmax(calc(170 * var(--px,1px)),0.9fr) minmax(0,2.4fr) minmax(0,1.1fr);gap:calc(20 * var(--px,1px)) calc(32 * var(--px,1px));padding:calc(22 * var(--px,1px)) 0;border-bottom:1px solid var(--night-line);align-items:start}.ev-name{font:800 1.05rem/1.35 var(--font-display);color:var(--signal)}.ev-name small{display:block;font-weight:600;font-size:0.85rem;color:var(--on-night-dim);margin-top:calc(4 * var(--px,1px))}.ev-figs{display:grid;grid-template-columns:repeat(2,auto);justify-content:start;gap:calc(4 * var(--px,1px)) calc(18 * var(--px,1px));font-family:var(--font-display)}.ev-figs dt{font-size:0.78rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--on-night-dim)}.ev-figs dd{margin:0 0 calc(8 * var(--px,1px));font-size:1.35rem;font-weight:800;color:var(--on-night);font-variant-numeric:tabular-nums}@media (max-width:899px){.ev-row{grid-template-columns:1fr;gap:calc(10 * var(--px,1px))}.ev-figs{grid-template-columns:repeat(4,auto)}}@media (max-width:479px){.ev-figs{grid-template-columns:repeat(2,auto)}}.milestones{margin-top:2.25rem}.ms-tabs{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:calc(8 * var(--px,1px))}.ms-tabs::before{content:"";position:absolute;left:0;right:0;top:calc(21 * var(--px,1px));height:2px;background:var(--night-line)}.ms-tabs .ms-fill{position:absolute;left:0;right:0;top:calc(21 * var(--px,1px));height:2px;background:var(--signal);transform-origin:left;transform:scaleX(0);transition:transform .45s var(--ease-out)}.ms-tab{position:relative;display:grid;gap:calc(8 * var(--px,1px));justify-items:start;text-align:left;padding:0 calc(6 * var(--px,1px)) calc(10 * var(--px,1px)) 0;background:none;border:0;color:var(--on-night-dim);font:inherit;cursor:pointer}.ms-tab .post{width:calc(44 * var(--px,1px));height:calc(44 * var(--px,1px));border-radius:var(--radius-sign);display:grid;place-items:center;background:var(--night-800);border:2px solid var(--night-line);transition:background-color .3s,border-color .3s}.ms-tab .post{font:800 1rem var(--font-display);color:var(--on-night-dim)}.ms-tab.is-past .post{color:var(--signal)}.ms-tab[aria-selected="true"] .post{color:var(--night-950)}.ms-tab .when{font:800 1.02rem/1.3 var(--font-display);color:var(--on-night);font-variant-numeric:tabular-nums}.ms-tab .what{font-size:0.88rem;line-height:1.35}.ms-tab.is-past .post{border-color:var(--signal)}.ms-tab.is-past .post svg{color:var(--signal)}.ms-tab[aria-selected="true"] .post{background:var(--signal);border-color:var(--signal)}.ms-tab[aria-selected="true"] .post svg{color:var(--night-950)}.ms-tab[aria-selected="true"] .when{color:var(--signal)}.ms-panel{margin-top:calc(20 * var(--px,1px));padding:clamp(calc(22 * var(--px,1px)),1rem + 1.5vw,calc(32 * var(--px,1px)));border-radius:calc(12 * var(--px,1px));background:linear-gradient(180deg,var(--night-700),var(--night-800));border:1px solid var(--night-line);max-width:calc(860 * var(--px,1px))}.ms-panel h3{color:var(--signal);margin-bottom:calc(10 * var(--px,1px))}.ms-panel .more{margin-top:calc(14 * var(--px,1px));padding-top:calc(14 * var(--px,1px));border-top:1px dashed var(--night-line);color:var(--on-night-dim);font-size:1rem}.not-clearance{margin-top:calc(14 * var(--px,1px));display:inline-flex;align-items:center;gap:calc(10 * var(--px,1px));font:700 0.95rem var(--font-display);color:var(--on-night-dim)}.not-clearance svg{width:calc(18 * var(--px,1px));height:calc(18 * var(--px,1px));color:var(--signal)}@media (max-width:767px){.ms-tabs{grid-template-columns:1fr;gap:2px}.ms-tabs::before{left:calc(21 * var(--px,1px));right:auto;top:calc(22 * var(--px,1px));bottom:calc(22 * var(--px,1px));width:2px;height:auto}.ms-tabs .ms-fill{display:none}.ms-tab{grid-template-columns:calc(44 * var(--px,1px)) 1fr;column-gap:calc(14 * var(--px,1px));align-items:center;padding:calc(5 * var(--px,1px)) 0}.ms-tab .what{grid-column:2;margin-top:calc(-6 * var(--px,1px))}}.reflection{min-height:min(100svh,calc(920 * var(--px,1px)));display:grid;align-items:end;background:var(--night-950);padding-block:clamp(5rem,3rem + 8vw,10rem) var(--space-section);overflow:hidden}.reflection .bg{position:absolute;inset:0}.reflection .bg img{width:100%;height:100%;object-fit:cover;object-position:62% 40%}.reflection .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,18,20,0.94) 0%,rgba(12,18,20,0.82) 38%,rgba(12,18,20,0.35) 70%,rgba(12,18,20,0.15) 100%),linear-gradient(0deg,rgba(12,18,20,0.9) 0%,rgba(12,18,20,0) 45%)}.reflection .band-inner{position:relative}.reflection .q{max-width:22ch;font-size:clamp(1.9rem,1.3rem + 2.4vw,3.2rem);line-height:1.1;color:var(--on-night)}.reflection .q + p{margin-top:calc(18 * var(--px,1px));max-width:58ch;color:#d6e3e0;font-size:1.1rem}.reflection .q2{margin-top:2.75rem;font-size:clamp(1.4rem,1.1rem + 1.2vw,2rem);max-width:30ch}.reflection .credit{position:absolute;right:var(--gutter);bottom:calc(16 * var(--px,1px));font-size:0.78rem;color:rgba(233,241,239,0.6)}@media (max-width:767px){.reflection .bg::after{background:linear-gradient(0deg,rgba(12,18,20,0.96) 0%,rgba(12,18,20,0.88) 60%,rgba(12,18,20,0.55) 100%)}}.faq{margin-top:2.25rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 calc(40 * var(--px,1px))}@media (max-width:899px){.faq{grid-template-columns:1fr}}.faq details{border-top:1px solid var(--night-line)}.faq summary{list-style:none;cursor:pointer;padding:calc(18 * var(--px,1px)) 0;display:grid;grid-template-columns:1fr calc(28 * var(--px,1px));gap:calc(16 * var(--px,1px))}.faq summary::-webkit-details-marker{display:none}.faq .q-text{font:700 1.1rem/1.3 var(--font-display);color:var(--on-night)}.faq .short{display:block;margin-top:calc(6 * var(--px,1px));color:var(--on-night-dim);font-size:1rem;line-height:1.5}.faq .plus{width:calc(28 * var(--px,1px));height:calc(28 * var(--px,1px));border-radius:50%;border:2px solid var(--signal);color:var(--signal);display:grid;place-items:center;transition:transform .35s var(--ease-out);margin-top:2px}.faq .plus svg{width:calc(14 * var(--px,1px));height:calc(14 * var(--px,1px))}.faq details[open] .plus{transform:rotate(45deg)}.faq summary:hover .q-text{color:var(--signal)}.faq .answer{padding:0 calc(44 * var(--px,1px)) calc(20 * var(--px,1px)) 0;color:var(--on-night)}.insurers{margin-top:2rem;display:inline-block;padding:calc(18 * var(--px,1px)) calc(22 * var(--px,1px));border-radius:calc(10 * var(--px,1px));background:linear-gradient(180deg,#f7faf9,#eef4f2);border:1px solid var(--day-line)}.insurers img{width:min(calc(600 * var(--px,1px)),100%);mix-blend-mode:multiply}.prepare-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,0.75fr);gap:clamp(2rem,1rem + 3vw,4rem);align-items:start}@media (max-width:959px){.prepare-grid{grid-template-columns:1fr}}.portrait{position:relative;border-radius:calc(14 * var(--px,1px));overflow:hidden;background:linear-gradient(180deg,#e9eeed,#d7dfdd)}.portrait img{width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:50% 12%}.portrait figcaption{position:absolute;left:0;right:0;bottom:0;margin:0;max-width:none;padding:calc(90 * var(--px,1px)) calc(20 * var(--px,1px)) calc(18 * var(--px,1px));background:linear-gradient(0deg,rgba(12,18,20,0.96) 0%,rgba(12,18,20,0.9) 45%,rgba(12,18,20,0) 100%);color:var(--on-night);font-family:var(--font-display)}.portrait figcaption strong{display:block;font-size:1.15rem}.portrait figcaption span{color:var(--on-night-dim);font-family:var(--font-body);font-size:0.95rem}.questions{list-style:none;margin:0;padding:0;counter-reset:q;display:grid;gap:calc(10 * var(--px,1px))}.questions li{counter-increment:q;display:grid;grid-template-columns:calc(34 * var(--px,1px)) 1fr;gap:calc(10 * var(--px,1px));align-items:start}.questions li::before{content:counter(q,decimal-leading-zero);font:800 0.85rem/2 var(--font-display);color:var(--signal);font-variant-numeric:tabular-nums}.locations{margin-top:2.5rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(16 * var(--px,1px))}@media (max-width:599px){.locations{grid-template-columns:1fr}}.loc{padding:calc(22 * var(--px,1px));border-radius:calc(12 * var(--px,1px));background:linear-gradient(180deg,var(--night-700),var(--night-800));border:1px solid var(--night-line)}.loc h3{font-size:1.1rem;color:var(--on-night);display:flex;align-items:center;gap:calc(10 * var(--px,1px))}.loc h3 svg{width:calc(20 * var(--px,1px));height:calc(20 * var(--px,1px));color:var(--signal)}.loc p{margin-top:calc(10 * var(--px,1px));color:var(--on-night-dim);font-size:1rem}.loc a{color:var(--signal)}.contact-line{margin-top:calc(20 * var(--px,1px));display:flex;flex-wrap:wrap;gap:calc(10 * var(--px,1px)) calc(24 * var(--px,1px));color:var(--on-night-dim);font-size:1rem}.contact-line a{color:var(--signal);font-weight:700}.refs{margin:2rem 0 0;padding:0;list-style:none;counter-reset:ref;columns:2 calc(420 * var(--px,1px));column-gap:calc(48 * var(--px,1px))}.refs li{counter-increment:ref;break-inside:avoid;display:grid;grid-template-columns:calc(34 * var(--px,1px)) 1fr;gap:calc(8 * var(--px,1px));padding:calc(12 * var(--px,1px)) 0;border-top:1px solid var(--day-line);font-size:0.95rem;line-height:1.5;color:var(--on-day-dim);overflow-wrap:anywhere}.refs li::before{content:counter(ref);font:800 0.9rem/1.6 var(--font-display);color:var(--teal-deep);font-variant-numeric:tabular-nums}.refs a{color:var(--teal-link)}.site-footer{background:linear-gradient(180deg,var(--night-900),var(--night-950));color:var(--on-night-dim);padding-block:4rem 2.5rem;font-size:0.98rem}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:calc(32 * var(--px,1px))}@media (max-width:959px){.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:599px){.footer-grid{grid-template-columns:1fr}}.site-footer h3{font-size:1rem;color:var(--on-night);margin-bottom:calc(8 * var(--px,1px))}.site-footer .brand img{width:calc(200 * var(--px,1px))}.site-footer .fine{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--night-line);display:grid;gap:calc(8 * var(--px,1px));font-size:0.9rem}.site-footer a{color:var(--signal)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:0.01ms !important;animation-duration:0.01ms !important}}.wp-site-blocks{padding:0}.wp-site-blocks>* + *{margin-block-start:0}:where(.wp-block-post-content,.ok-main)>*{margin-block:0}.wp-block-post-content>.alignfull,.ok-main>.alignfull{max-width:none;margin-inline:0}:where(.band) :where(p,ul,ol,h2,h3,figure){margin-block-end:0}.band .band-inner>* + *{margin-block-start:1rem}.band .wp-block-group{box-sizing:border-box}.wp-block-list.ticks{padding-left:0}.wp-block-list.ticks li{margin:0}body{counter-reset:stop}.ok-stop{counter-increment:stop}.marker .place{margin:0}.marker::before{content:counter(stop,decimal-leading-zero);display:inline-grid;place-items:center;flex:none;width:calc(44 * var(--px,1px));height:calc(44 * var(--px,1px));border-radius:var(--radius-sign);font:800 1rem var(--font-display);font-variant-numeric:tabular-nums}.night .marker::before{background:var(--signal);color:var(--night-950)}:is(.day,.mint) .marker::before{background:var(--teal-deep);color:var(--day-50)}.no-number .marker::before{display:none}.sign{grid-template-columns:auto 1fr}.sign::before{content:counter(stop,decimal-leading-zero);display:inline-grid;place-items:center;width:calc(40 * var(--px,1px));height:calc(40 * var(--px,1px));border-radius:calc(4 * var(--px,1px));font:800 0.95rem var(--font-display);font-variant-numeric:tabular-nums}.night .sign::before{background:var(--signal-hi);color:var(--night-950)}:is(.day,.mint) .sign::before{background:var(--signal);color:var(--night-950)}.sign>p{margin:0}.sign>p>strong:first-child{display:block;font-size:0.9rem;font-weight:800;margin-bottom:calc(4 * var(--px,1px))}.night .sign>p>strong:first-child{color:var(--signal-hi)}:is(.day,.mint) .sign>p>strong:first-child{color:var(--signal)}.route-label,.route-stage{display:none}.wp-block-buttons{gap:calc(12 * var(--px,1px))}.wp-block-button__link{display:inline-flex;align-items:center;gap:calc(10 * var(--px,1px));min-height:calc(52 * var(--px,1px));padding:0 calc(24 * var(--px,1px));border:2px solid transparent;border-radius:var(--radius-sign);font:700 1rem var(--font-display);text-decoration:none;transition:background-color .25s var(--ease-out),color .25s var(--ease-out),border-color .25s var(--ease-out)}.wp-block-button__link::after{content:"";width:calc(18 * var(--px,1px));height:calc(18 * var(--px,1px));background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11M11 5.5 15.5 10 11 14.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11M11 5.5 15.5 10 11 14.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .3s var(--ease-out)}.wp-block-button__link:hover::after{transform:translateX(3px)}.is-style-ok-ghost .wp-block-button__link::after{display:none}.night .wp-block-button__link,.site-header .wp-block-button__link{background:var(--signal);color:var(--night-950)}.night .wp-block-button__link:hover,.site-header .wp-block-button__link:hover{background:var(--signal-hi)}:is(.day,.mint) .wp-block-button__link{background:var(--teal-deep);color:var(--day-50)}:is(.day,.mint) .wp-block-button__link:hover{background:#083c45}.night .is-style-ok-ghost .wp-block-button__link{background:transparent;border-color:var(--night-line);color:var(--on-night)}.night .is-style-ok-ghost .wp-block-button__link:hover{border-color:var(--signal);color:var(--signal)}:is(.day,.mint) .is-style-ok-ghost .wp-block-button__link{background:transparent;border-color:var(--teal-deep);color:var(--teal-deep)}.wp-block-details.is-style-ok-detour{margin-top:1.5rem;max-width:var(--measure);border-top:1px solid var(--night-line)}:is(.day,.mint) .wp-block-details.is-style-ok-detour{border-top-color:var(--day-line)}.wp-block-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:calc(12 * var(--px,1px));min-height:calc(48 * var(--px,1px));padding:calc(8 * var(--px,1px)) calc(4 * var(--px,1px));font:700 1.02rem var(--font-display)}.wp-block-details summary::-webkit-details-marker{display:none}.wp-block-details summary::before{content:"";flex:none;width:calc(26 * var(--px,1px));height:calc(26 * var(--px,1px));border-radius:50%;border:2px solid currentColor;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cpath d='M13 8v10M8 13h10' fill='none' stroke='%233ccfc4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/100% no-repeat;transition:transform .35s var(--ease-out);box-sizing:border-box}:is(.day,.mint) .wp-block-details summary::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cpath d='M13 8v10M8 13h10' fill='none' stroke='%230b4f5a' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}.wp-block-details[open] summary::before{transform:rotate(45deg)}.night .wp-block-details summary{color:var(--signal)}:is(.day,.mint) .wp-block-details summary{color:var(--teal-deep)}.wp-block-details>:not(summary){padding-left:calc(38 * var(--px,1px))}.wp-block-details>:not(summary) + *{margin-top:0.75em}.wp-block-details ul{padding-left:1.1em}.night .wp-block-details>:not(summary){color:var(--on-night)}.faq .wp-block-details{margin:0;border-top:1px solid var(--night-line);max-width:none}.faq .wp-block-details summary{justify-content:space-between;flex-direction:row-reverse;padding:calc(18 * var(--px,1px)) 0;font-size:1.1rem;color:var(--on-night)}.faq .wp-block-details summary:hover{color:var(--signal)}.faq .wp-block-details>:not(summary){padding:0 calc(44 * var(--px,1px)) 0 0}.faq .wp-block-details>:last-child{padding-bottom:calc(20 * var(--px,1px))}.faq .wp-block-details>p:first-of-type{color:var(--on-night-dim)}.faq.wp-block-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 calc(40 * var(--px,1px))}.faq>.wp-block-group{margin:0}@media (max-width:899px){.faq.wp-block-group{grid-template-columns:1fr}}.band figure.wp-block-image{margin:0}.wp-block-image.plate img,.wp-block-image.plate-photo img{border-radius:var(--radius-media)}figure.wp-block-image.plate-illus{background:none;padding:0;border-radius:0}.wp-block-image.plate-illus img{background:#47704c;padding:clamp(calc(10 * var(--px,1px)),2vw,calc(18 * var(--px,1px)));border-radius:var(--radius-media);box-sizing:border-box}.wp-block-image figcaption,.wp-element-caption{margin-top:calc(12 * var(--px,1px));font-size:0.95rem;line-height:1.5;text-align:left}.night .wp-element-caption{color:var(--on-night-dim)}:is(.day,.mint) .wp-element-caption{color:var(--on-day-dim)}.wp-block-image.photo-43 img{aspect-ratio:4 / 3;object-fit:cover}.wp-block-image.photo-45 img{aspect-ratio:4 / 5;object-fit:cover}.wp-block-image:is(.photo-43,.photo-45) img{border-radius:calc(10 * var(--px,1px))}.wp-block-image.insurers{display:inline-block;padding:calc(18 * var(--px,1px)) calc(22 * var(--px,1px));border-radius:calc(10 * var(--px,1px));background:linear-gradient(180deg,#f7faf9,#eef4f2);border:1px solid var(--day-line)}.wp-block-image.insurers img{width:min(calc(600 * var(--px,1px)),100%);mix-blend-mode:multiply}.band .wp-block-columns.split{gap:clamp(2rem,1rem + 3vw,4rem);margin-block-start:0}.band .wp-block-columns.split.are-vertically-aligned-top{align-items:flex-start}.wp-block-columns.split,.wp-block-columns.split.reverse{display:flex}.band .band-inner>.wp-block-columns + *{margin-block-start:1rem}.alert.wp-block-group{display:block;position:relative;padding:calc(22 * var(--px,1px)) calc(24 * var(--px,1px)) calc(22 * var(--px,1px)) calc(68 * var(--px,1px))}.alert.wp-block-group::before{content:"";position:absolute;left:calc(24 * var(--px,1px));top:calc(24 * var(--px,1px));width:calc(28 * var(--px,1px));height:calc(28 * var(--px,1px));background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M14 3.5 26 24.5H2z' fill='none' stroke='%23b3261e' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M14 11v6.5' stroke='%23b3261e' stroke-width='2.2' stroke-linecap='round'/%3E%3Ccircle cx='14' cy='21' r='1.4' fill='%23b3261e'/%3E%3C/svg%3E") center/contain no-repeat}.alert h3{margin:0 0 calc(8 * var(--px,1px))}.alert ul{margin:0}.evidence.wp-block-group>.ev-row{display:grid;grid-template-columns:minmax(calc(170 * var(--px,1px)),0.9fr) minmax(0,2.4fr) minmax(0,1.1fr);gap:calc(20 * var(--px,1px)) calc(32 * var(--px,1px));margin:0}.ev-row>*{margin:0 !important}.ev-name strong{display:block;font:800 1.05rem/1.35 var(--font-display);color:var(--signal)}.ev-name{font:600 0.85rem var(--font-display);color:var(--on-night-dim)}.ev-figs.wp-block-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,auto);justify-content:start;gap:calc(4 * var(--px,1px)) calc(18 * var(--px,1px));font-family:var(--font-display)}.ev-figs li{font-size:0.78rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--on-night-dim)}.ev-figs li strong{display:block;font-size:1.35rem;font-weight:800;letter-spacing:0;text-transform:none;color:var(--on-night);font-variant-numeric:tabular-nums}@media (max-width:899px){.evidence.wp-block-group>.ev-row{grid-template-columns:1fr;gap:calc(10 * var(--px,1px))}}.wp-block-quote.quote{margin:2rem 0 0;padding:calc(22 * var(--px,1px)) 0 0;border:0;border-top:2px solid var(--signal);max-width:calc(820 * var(--px,1px))}:is(.day,.mint) .wp-block-quote.quote{border-top-color:var(--teal-deep)}.wp-block-quote.quote p{font:600 clamp(1.1rem,1.02rem + 0.4vw,1.3rem)/1.45 var(--font-display)}.wp-block-quote.quote p.context{font:400 1rem var(--font-body)}.night .wp-block-quote.quote p.context{color:var(--on-night-dim)}.wp-block-quote.quote cite{display:block;margin-top:calc(10 * var(--px,1px));font:400 1rem var(--font-body);font-style:normal}.night .wp-block-quote.quote p.context{font:400 1rem var(--font-body)}.night .wp-block-quote.quote p.context{color:var(--on-night-dim)}.wp-block-quote.quote cite{color:var(--on-night-dim)}.junction.wp-block-columns{gap:calc(20 * var(--px,1px));margin-top:2.5rem;position:relative;padding-bottom:calc(62 * var(--px,1px));align-items:stretch}.junction .wp-block-column{position:relative;padding:calc(22 * var(--px,1px)) clamp(calc(18 * var(--px,1px)),2vw,calc(28 * var(--px,1px))) calc(24 * var(--px,1px));background:var(--day-50);border:2px solid var(--teal-deep);border-radius:calc(12 * var(--px,1px));box-shadow:0 1px 0 rgba(11,79,90,0.08)}.junction .wp-block-column + .wp-block-column{border-left:2px solid var(--teal-deep)}.junction .letter{font:800 clamp(3.5rem,2.5rem + 3vw,5.5rem)/0.9 var(--font-display);color:var(--teal-deep);letter-spacing:-0.04em;margin:0}.junction h3{margin:calc(14 * var(--px,1px)) 0 calc(10 * var(--px,1px));font-size:1.35rem}.junction .wp-block-column::after{content:"";position:absolute;left:50%;bottom:calc(-24 * var(--px,1px));height:calc(22 * var(--px,1px));border-left:2px solid var(--teal-deep)}.junction::after{content:"";position:absolute;left:calc((100% - calc(40 * var(--px,1px))) / 6);right:calc((100% - calc(40 * var(--px,1px))) / 6);bottom:calc(20 * var(--px,1px));height:calc(20 * var(--px,1px));border:2px solid var(--teal-deep);border-top:0;border-radius:0 0 calc(6 * var(--px,1px)) calc(6 * var(--px,1px));background:linear-gradient(var(--teal-deep),var(--teal-deep)) center top / 2px 100% no-repeat}.junction::before{content:"";position:absolute;left:50%;bottom:0;height:calc(20 * var(--px,1px));border-left:2px solid var(--teal-deep)}.junction-node{text-align:center;margin:0 !important}.junction-node strong{display:inline-flex;align-items:center;gap:calc(10 * var(--px,1px));padding:calc(12 * var(--px,1px)) calc(20 * var(--px,1px));border-radius:calc(999 * var(--px,1px));background:var(--teal-deep);color:var(--day-50);font:700 1rem var(--font-display)}@media (max-width:781px){.junction.wp-block-columns{padding-bottom:calc(22 * var(--px,1px));gap:calc(26 * var(--px,1px))}.junction::after{display:none}.junction::before{bottom:0;height:calc(22 * var(--px,1px))}.junction .wp-block-column + .wp-block-column{border-left:2px solid var(--teal-deep);border-top:2px solid var(--teal-deep)}.junction .wp-block-column::after{bottom:calc(-28 * var(--px,1px));height:calc(26 * var(--px,1px))}.junction .wp-block-column:last-child::after{display:none}.junction-node{text-align:center}}.wp-block-cover.ok-hero{min-height:min(100svh,calc(1100 * var(--px,1px)));padding:0 0 clamp(3.5rem,2rem + 5vw,6.5rem);align-items:flex-start;color:var(--on-night);background:var(--night-900)}.wp-block-cover.ok-hero .wp-block-cover__image-background{height:min(100%,calc(940 * var(--px,1px)));bottom:auto;object-position:86% 40%;transform:scaleX(var(--ok-hero-flip,1))}.wp-block-cover.ok-hero.is-flipped{--ok-hero-flip:-1}.wp-block-cover.ok-hero .wp-block-cover__background{opacity:1 !important;background:linear-gradient(0deg,var(--night-900) 0%,rgba(17,24,26,0.88) 20%,rgba(17,24,26,0) 42%),linear-gradient(90deg,rgba(12,18,20,0.97) 0%,rgba(12,18,20,0.93) 36%,rgba(12,18,20,0.62) 50%,rgba(12,18,20,0.18) 66%,rgba(12,18,20,0) 80%) !important;height:min(100%,calc(940 * var(--px,1px)));bottom:auto}.wp-block-cover.ok-hero .wp-block-cover__inner-container{width:100%;color:var(--on-night)}.has-rail main .ok-hero .band-inner{padding-left:0}.ok-hero .subline{font-family:var(--font-display);font-weight:700;font-size:clamp(1.25rem,1.1rem + 0.7vw,1.6rem);line-height:1.3;color:var(--signal);max-width:30ch}.ok-hero .ticks{color:var(--on-night);font-size:1.0625rem;line-height:1.55;gap:0.5em}.ok-hero .ticks li:last-child{color:var(--on-night-dim)}.ok-hero .crumbs{font-family:var(--font-display);font-weight:600;font-size:0.95rem;color:var(--on-night-dim)}.ok-hero .hero-copy{max-width:calc(640 * var(--px,1px));padding-top:clamp(1.75rem,1rem + 2.5vw,3rem)}.ok-hero .hero-copy>* + *{margin-block-start:0}.ok-hero .crumbs{margin:0 0 calc(16 * var(--px,1px))}.ok-hero .crumbs a{color:var(--signal);text-decoration:none}.ok-hero h1{color:var(--on-night);max-width:17ch;text-wrap:pretty;margin:0}.ok-hero .subline{margin-top:calc(16 * var(--px,1px)) !important}.ok-hero .wp-block-buttons{margin-top:calc(24 * var(--px,1px)) !important}.ok-hero .ticks{margin-top:calc(28 * var(--px,1px)) !important}.ok-hero .consult{margin-top:calc(38 * var(--px,1px)) !important}.consult.wp-block-group{display:flex;align-items:center;gap:calc(16 * var(--px,1px));flex-wrap:wrap}.consult .wp-block-image{margin:0}.consult .wp-block-image img{width:calc(60 * var(--px,1px));height:calc(60 * var(--px,1px));border-radius:50%;object-fit:cover;object-position:50% 50%}.consult p{margin:0;color:var(--on-night-dim);font-size:0.98rem}.consult p strong{display:block;font-family:var(--font-display);color:var(--on-night);font-size:1.05rem}.consult .safety{flex-basis:100%;font-size:0.9rem;display:flex;align-items:center;gap:calc(8 * var(--px,1px))}.consult .safety::before{content:"";width:calc(8 * var(--px,1px));height:calc(8 * var(--px,1px));border-radius:50%;background:var(--signal)}.ok-hero .hero-credit{position:absolute;right:0;top:calc(860 * var(--px,1px));margin:0;font-size:0.78rem;color:rgba(233,241,239,0.72)}.ok-hero .hero-credit{padding:2px calc(9 * var(--px,1px));border-radius:calc(999 * var(--px,1px));background:rgba(12,18,20,0.62);color:#e9f1ef}@media (max-width:959px){.wp-block-cover.ok-hero{min-height:0}.wp-block-cover.ok-hero .wp-block-cover__image-background,.wp-block-cover.ok-hero .wp-block-cover__background{height:calc(420 * var(--px,1px))}.wp-block-cover.ok-hero .wp-block-cover__image-background{object-position:22% 30%}.wp-block-cover.ok-hero .wp-block-cover__background{background:linear-gradient(0deg,var(--night-900) 0%,rgba(17,24,26,0.9) 22%,rgba(17,24,26,0.25) 60%,rgba(12,18,20,0.6) 100%) !important}.ok-hero .hero-copy{padding-top:calc(290 * var(--px,1px))}.ok-hero .hero-credit{top:calc(12 * var(--px,1px));right:0;font-size:0.72rem}}.wp-block-cover.reflection{min-height:min(100svh,calc(920 * var(--px,1px)));align-items:flex-end;padding:clamp(5rem,3rem + 8vw,10rem) 0 var(--space-section)}.wp-block-cover.reflection .wp-block-cover__background{opacity:1 !important;background:linear-gradient(90deg,rgba(12,18,20,0.94) 0%,rgba(12,18,20,0.82) 38%,rgba(12,18,20,0.35) 70%,rgba(12,18,20,0.15) 100%),linear-gradient(0deg,rgba(12,18,20,0.9) 0%,rgba(12,18,20,0) 45%) !important}.wp-block-cover.reflection .wp-block-cover__inner-container{width:100%}.reflection h2{max-width:22ch;font-size:clamp(1.9rem,1.3rem + 2.4vw,3.2rem);line-height:1.1;color:var(--on-night)}.reflection h2 + p{margin-top:calc(18 * var(--px,1px)) !important;max-width:58ch;color:#d6e3e0;font-size:1.1rem}.reflection h2.q2{margin-top:2.75rem !important;font-size:clamp(1.4rem,1.1rem + 1.2vw,2rem);max-width:30ch}.reflection .credit{position:absolute;right:0;bottom:calc(-60 * var(--px,1px));font-size:0.78rem;color:rgba(233,241,239,0.6)}@media (max-width:767px){.wp-block-cover.reflection .wp-block-cover__background{background:linear-gradient(0deg,rgba(12,18,20,0.96) 0%,rgba(12,18,20,0.88) 60%,rgba(12,18,20,0.55) 100%) !important}}.ok-tab .tab-label,.ok-tab .tab-gist,.ok-tabs>.fork-origin{display:none}.js .ok-tabs>.ok-tab[hidden]{display:none}.ok-tab .tab-copy>* + *{margin-block-start:0.9rem}.step-panel .wp-block-image img{aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-media)}.ms-panel>.more,.ms-panel .more{margin-top:calc(14 * var(--px,1px));padding-top:calc(14 * var(--px,1px));border-top:1px dashed var(--night-line);color:var(--on-night-dim);font-size:1rem}.ok-tabs:not(.is-built)>.ok-tab{margin-top:1.25rem;padding:calc(18 * var(--px,1px)) calc(20 * var(--px,1px));border-radius:calc(12 * var(--px,1px));border:1px solid var(--night-line)}.ok-video>p.poster-by{font:600 1rem var(--font-display);color:var(--on-day-dim)}.ok-video .video-link a{font-weight:700;color:var(--teal-link)}.ok-video.is-built>:not(.video-frame):not(.video-meta){display:none}.prepare-grid.wp-block-columns{gap:clamp(2rem,1rem + 3vw,4rem)}.wp-block-image.portrait{position:relative;border-radius:calc(14 * var(--px,1px));overflow:hidden;background:linear-gradient(180deg,#e9eeed,#d7dfdd)}.wp-block-image.portrait img{width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:50% 12%}.wp-block-image.portrait figcaption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:calc(90 * var(--px,1px)) calc(20 * var(--px,1px)) calc(18 * var(--px,1px));background:linear-gradient(0deg,rgba(12,18,20,0.96) 0%,rgba(12,18,20,0.9) 45%,rgba(12,18,20,0) 100%);color:var(--on-night-dim);font-family:var(--font-body)}.wp-block-image.portrait figcaption strong{display:block;color:var(--on-night);font:700 1.15rem var(--font-display)}.questions.wp-block-list{list-style:none;padding:0;counter-reset:q;display:grid;gap:calc(10 * var(--px,1px))}.questions li{counter-increment:q;display:grid;grid-template-columns:calc(34 * var(--px,1px)) 1fr;gap:calc(10 * var(--px,1px))}.questions li::before{content:counter(q,decimal-leading-zero);font:800 0.85rem/2 var(--font-display);color:var(--signal);font-variant-numeric:tabular-nums}.locations.wp-block-columns{margin-top:2.5rem;gap:calc(16 * var(--px,1px))}.locations.wp-block-columns{align-items:stretch !important}.locations.wp-block-columns>.wp-block-column{display:flex;flex-direction:column;align-self:stretch}.locations.wp-block-columns>.wp-block-column>.loc{flex:1 1 auto;width:100%;box-sizing:border-box}.loc.wp-block-group{padding:calc(22 * var(--px,1px));border-radius:calc(12 * var(--px,1px));background:linear-gradient(180deg,var(--night-700),var(--night-800));border:1px solid var(--night-line)}.loc h3{font-size:1.1rem;margin:0}.loc h3::before{content:"";display:inline-block;width:calc(18 * var(--px,1px));height:calc(18 * var(--px,1px));margin-right:calc(10 * var(--px,1px));vertical-align:-3px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 18s6-5.6 6-10A6 6 0 0 0 4 8c0 4.4 6 10 6 10z' fill='none' stroke='%233ccfc4' stroke-width='1.8'/%3E%3Ccircle cx='10' cy='8' r='2.2' fill='none' stroke='%233ccfc4' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat}.loc p{margin-top:calc(10 * var(--px,1px)) !important;color:var(--on-night-dim);font-size:1rem}.loc a,.contact-line a{color:var(--signal)}.contact-line{color:var(--on-night-dim);font-size:1rem}.refs.wp-block-list{list-style:none;padding:0;counter-reset:ref;columns:2 calc(420 * var(--px,1px));column-gap:calc(48 * var(--px,1px))}.refs.wp-block-list li{counter-increment:ref;break-inside:avoid;display:grid;grid-template-columns:calc(34 * var(--px,1px)) 1fr;gap:calc(8 * var(--px,1px));padding:calc(12 * var(--px,1px)) 0;margin:0;border-top:1px solid var(--day-line);font-size:0.95rem;line-height:1.5;color:var(--on-day-dim);overflow-wrap:anywhere}.refs.wp-block-list li::before{content:counter(ref);font:800 0.9rem/1.6 var(--font-display);color:var(--teal-deep);font-variant-numeric:tabular-nums}.refs a{color:var(--teal-link)}.mapboard.wp-block-group>* + *{margin-block-start:0}.mapboard-head.wp-block-group{display:flex;flex-wrap:wrap;justify-content:space-between;gap:calc(12 * var(--px,1px)) calc(24 * var(--px,1px));align-items:baseline}.mapboard-head h2{color:var(--on-night);margin:0}.mapboard-head p{margin:0}.site-header.wp-block-group{background:rgba(12,18,20,0.94);position:relative;z-index:30}.site-header .header-top.wp-block-group{display:flex;align-items:center;justify-content:space-between;gap:calc(24 * var(--px,1px));padding-block:calc(16 * var(--px,1px)) calc(14 * var(--px,1px))}.site-header .wp-block-site-logo img,.site-header .brand img{width:calc(214 * var(--px,1px));height:auto}.brand.wp-block-image{margin:0}.brand-quiet a{display:inline-block;text-decoration:none;border:0;background:none;box-shadow:none}.site-header .header-actions.wp-block-group{display:flex;align-items:center;gap:calc(22 * var(--px,1px))}.site-header .header-actions p{margin:0;font:600 0.95rem var(--font-display)}.site-header .header-actions .util a{color:var(--on-night-dim);text-decoration:none}.site-header .header-actions .util a:hover{color:var(--on-night)}.site-header .header-actions .wp-block-buttons{margin:0}.site-header .header-actions .wp-block-button__link{min-height:calc(44 * var(--px,1px));padding:0 calc(18 * var(--px,1px))}.site-header .header-actions .wp-block-button__link::after{display:none}.site-header .header-nav.wp-block-group{border-top:1px solid var(--night-line)}.site-nav.wp-block-navigation{width:100%;font:700 1rem var(--font-display);color:var(--on-night)}.site-nav .wp-block-navigation__container{width:100%;justify-content:space-between;gap:calc(8 * var(--px,1px))}.site-nav .wp-block-navigation-item__content{padding:calc(14 * var(--px,1px)) 0;border-bottom:2px solid transparent}.site-nav>.wp-block-navigation__responsive-container .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content:hover,.site-nav .current-menu-item>.wp-block-navigation-item__content,.site-nav .current-menu-ancestor>.wp-block-navigation-item__content{border-color:var(--signal)}.site-nav .wp-block-navigation__submenu-icon{color:var(--on-night-dim)}.site-nav .wp-block-navigation__submenu-container{background:var(--night-800) !important;color:var(--on-night) !important;border:1px solid var(--night-line) !important;border-top:2px solid var(--signal) !important;border-radius:0 0 calc(10 * var(--px,1px)) calc(10 * var(--px,1px));padding:calc(10 * var(--px,1px)) !important;min-width:calc(260 * var(--px,1px)) !important;box-shadow:0 calc(16 * var(--px,1px)) calc(32 * var(--px,1px)) calc(-18 * var(--px,1px)) rgba(0,0,0,0.7)}.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{padding:calc(9 * var(--px,1px)) calc(12 * var(--px,1px));border:0;border-radius:calc(6 * var(--px,1px));font:400 0.95rem/1.35 var(--font-body)}.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:var(--night-700);color:var(--signal)}@media (min-width:1100px){.site-nav .wp-block-navigation-item:nth-child(2)>.wp-block-navigation__submenu-container{display:grid !important;grid-template-columns:repeat(2,minmax(calc(220 * var(--px,1px)),1fr));min-width:calc(520 * var(--px,1px)) !important}.site-nav .wp-block-navigation__container>.wp-block-navigation-item:nth-last-child(-n+3)>.wp-block-navigation__submenu-container{left:auto;right:0}}@media (max-width:1099px){.site-nav .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex !important}.site-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none !important}.site-header .header-actions .util{display:none}.site-header .wp-block-site-logo img,.site-header .brand img{width:calc(176 * var(--px,1px)) !important}.site-header .header-nav.wp-block-group{display:block;border-top:0;position:absolute;right:var(--gutter);top:calc(18 * var(--px,1px));width:auto}.site-nav .wp-block-navigation__responsive-container-open{width:calc(44 * var(--px,1px));height:calc(44 * var(--px,1px));justify-content:center;border:2px solid var(--night-line);border-radius:var(--radius-sign);color:var(--on-night)}.site-header .header-actions{margin-right:calc(60 * var(--px,1px))}}.site-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--night-900) !important;color:var(--on-night) !important;padding:calc(24 * var(--px,1px)) var(--gutter)}.site-nav .is-menu-open .wp-block-navigation__container{gap:0;justify-content:flex-start}.site-nav .is-menu-open .wp-block-navigation-item__content{font-size:1.1rem}.site-nav .is-menu-open .wp-block-navigation__submenu-container{border:0 !important;box-shadow:none;background:transparent !important;padding:0 0 calc(10 * var(--px,1px)) calc(12 * var(--px,1px)) !important}@media (max-width:599px){.site-header .header-actions .wp-block-buttons{display:none}.site-header .header-actions{margin-right:calc(60 * var(--px,1px))}}.site-footer.wp-block-group{background:linear-gradient(180deg,var(--night-900),var(--night-950));color:var(--on-night-dim);padding-block:4rem 2.5rem;font-size:0.98rem}.site-footer h3{font-size:1rem;color:var(--on-night);margin:0 0 calc(8 * var(--px,1px))}.site-footer .wp-block-site-logo img,.site-footer .brand img{width:calc(200 * var(--px,1px)) !important;height:auto}.site-footer a{color:var(--signal)}.site-footer .social{margin-top:calc(18 * var(--px,1px))}.site-footer .social-label{margin:0 0 calc(6 * var(--px,1px));color:var(--on-night);font-size:0.9rem}.site-footer .social-links{list-style:none;margin:0 0 0 calc(-8 * var(--px,1px));padding:0;display:flex;flex-wrap:wrap;gap:calc(4 * var(--px,1px))}.site-footer .social-links a{display:inline-flex;align-items:center;justify-content:center;width:calc(44 * var(--px,1px));height:calc(44 * var(--px,1px));border-radius:calc(10 * var(--px,1px));transition:background-color .2s}.site-footer .social-links a:hover{background:rgba(233,241,239,0.08)}.site-footer .social-links a:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.site-footer .social-links svg{display:block;width:calc(28 * var(--px,1px));height:calc(28 * var(--px,1px))}.site-footer .fine.wp-block-group{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--night-line);font-size:0.9rem}.site-footer .fine p{margin:0 0 calc(8 * var(--px,1px))}.ok-plain.wp-block-group{padding-block:var(--space-section)}.ok-plain .wp-block-post-title,.ok-archive-head h1{color:var(--on-day)}.ok-article .wp-block-post-content>*{max-width:var(--measure);margin-inline:auto}.ok-article .wp-block-post-content>.alignwide{max-width:var(--wrap)}.ok-article .wp-block-post-content>.alignfull{max-width:none}.ok-article .wp-block-post-content :where(h2){margin-top:2.5rem}.ok-article .wp-block-post-content a:not(.wp-block-button__link){color:var(--teal-link)}.ok-meta{font:600 0.95rem var(--font-display);color:var(--on-day-dim)}.ok-posts .wp-block-post-template{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(300 * var(--px,1px)),1fr));gap:calc(28 * var(--px,1px));padding:0;list-style:none}.ok-posts .wp-block-post{margin:0;display:flex;flex-direction:column;gap:calc(12 * var(--px,1px));padding-bottom:calc(20 * var(--px,1px));border-bottom:2px solid var(--day-line)}.ok-posts .wp-block-post-featured-image img{aspect-ratio:16 / 10;object-fit:cover;border-radius:var(--radius-media)}.ok-posts .wp-block-post-title{font-size:1.3rem;line-height:1.25;margin:0}.ok-posts .wp-block-post-title a{color:var(--on-day);text-decoration:none}.ok-posts .wp-block-post-title a:hover{color:var(--teal-deep)}.ok-posts .wp-block-post-excerpt{color:var(--on-day-dim);margin:0}.ok-posts .wp-block-query-pagination{margin-top:2.5rem;font-family:var(--font-display);font-weight:700}.ok-posts .wp-block-query-pagination a{color:var(--teal-deep)}.editor-styles-wrapper .route-label,.editor-styles-wrapper .route-stage{display:inline-block}.wp-block-cover.ok-hero .wp-block-cover__image-background{left:auto;right:0;width:min(100%,calc(1480 * var(--px,1px)));-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%);mask-image:linear-gradient(90deg,transparent 0,#000 22%)}.wp-block-cover.ok-hero.is-flipped .wp-block-cover__image-background{-webkit-mask-image:linear-gradient(270deg,transparent 0,#000 22%);mask-image:linear-gradient(270deg,transparent 0,#000 22%)}@media (max-width:959px){.wp-block-cover.ok-hero .wp-block-cover__image-background,.wp-block-cover.ok-hero.is-flipped .wp-block-cover__image-background{-webkit-mask-image:none;mask-image:none}}.video-frame.video-poster{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);aspect-ratio:16 / 10;color:var(--on-night);background:radial-gradient(90% 120% at 80% 30%,rgba(60,207,196,0.18),rgba(60,207,196,0) 60%),linear-gradient(135deg,var(--night-800),var(--night-950))}.video-poster .poster-copy{display:flex;flex-direction:column;gap:calc(18 * var(--px,1px));padding:clamp(calc(22 * var(--px,1px)),4%,calc(44 * var(--px,1px)));min-height:0}.video-poster .poster-points-title{margin:0;font:800 clamp(1.15rem,1rem + 0.6vw,1.45rem) var(--font-display);color:var(--signal);letter-spacing:-0.01em}.video-poster .poster-points{list-style:none;margin:0;padding:0;display:grid;gap:calc(10 * var(--px,1px))}.video-poster .poster-points li{position:relative;padding-left:calc(30 * var(--px,1px));font:600 clamp(1rem,0.92rem + 0.35vw,1.15rem)/1.35 var(--font-display);color:var(--on-night)}.video-poster .poster-points li::before{content:"";position:absolute;left:0;top:0.2em;width:calc(18 * var(--px,1px));height:calc(18 * var(--px,1px));border-radius:50%;background:rgba(60,207,196,0.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.3l2.6 2.6L13 6.4' fill='none' stroke='%233ccfc4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}.video-poster .poster-foot{margin-top:auto;display:flex;align-items:center;gap:calc(16 * var(--px,1px));flex-wrap:wrap}.video-poster .poster-by{font:700 1.05rem var(--font-display);color:var(--on-night)}.video-poster .play{display:inline-flex;align-items:center;gap:calc(10 * var(--px,1px));min-height:calc(52 * var(--px,1px));padding:0 calc(22 * var(--px,1px)) 0 calc(14 * var(--px,1px));border:0;border-radius:calc(999 * var(--px,1px));background:var(--signal);color:var(--night-950);font:800 1.05rem var(--font-display);cursor:pointer;box-shadow:0 calc(18 * var(--px,1px)) calc(40 * var(--px,1px)) calc(-16 * var(--px,1px)) rgba(0,0,0,0.6);transition:background-color .2s,transform .3s var(--ease-out)}.video-poster .play svg{width:calc(26 * var(--px,1px));height:calc(26 * var(--px,1px))}.video-poster .play:hover{background:var(--signal-hi);transform:translateY(-1px)}.video-poster .poster-img{position:relative;overflow:hidden;cursor:pointer}.video-poster .poster-img img{position:absolute;left:0;right:0;bottom:0;margin:0 auto;width:auto;height:auto;max-width:92%;max-height:94%;object-fit:contain;transition:transform .8s var(--ease-out)}.video-poster:hover .poster-img img{transform:translateY(calc(-4 * var(--px,1px)))}.video-frame.is-playing{aspect-ratio:16 / 9;display:block}.video-frame.is-playing iframe{position:absolute;inset:0;width:100%;height:100%;border:0}@media (max-width:719px){.video-frame.video-poster{grid-template-columns:1fr;aspect-ratio:auto}.video-poster .poster-img{order:-1;height:calc(240 * var(--px,1px))}.video-poster .poster-img img{max-height:100%}}.ok-video .video-points-title,.ok-video .video-points{display:none}.editor-styles-wrapper .ok-video .video-points-title,.editor-styles-wrapper .ok-video .video-points{display:block}.line-knee{--line:#3ccfc4}.line-shoulder{--line:#e0a54a}.line-footankle{--line:#6fa3e6}.line-hip{--line:#c58bd0}.line-dot{display:inline-block;flex:none;width:calc(10 * var(--px,1px));height:calc(10 * var(--px,1px));border-radius:50%;background:var(--line,var(--signal));box-shadow:0 0 0 3px color-mix(in srgb,var(--line,var(--signal)) 25%,transparent)}/* Hero "lines from this interchange" strip */ .ok-hero .lines-strip{display:flex;flex-wrap:wrap;align-items:center;gap:calc(10 * var(--px,1px));margin:calc(30 * var(--px,1px)) 0 0 !important;max-width:calc(640 * var(--px,1px))}.lines-strip .lines-title{flex-basis:100%;font:700 0.8rem/1 var(--font-display);letter-spacing:0.1em;text-transform:uppercase;color:var(--on-night-dim);margin-bottom:calc(4 * var(--px,1px))}.lines-strip .line{display:inline-flex;align-items:center;gap:calc(10 * var(--px,1px));padding:calc(9 * var(--px,1px)) calc(16 * var(--px,1px)) calc(9 * var(--px,1px)) calc(13 * var(--px,1px));border:1px solid var(--night-line);border-radius:calc(999 * var(--px,1px));background:rgba(12,18,20,0.6);color:var(--on-night);font:600 0.98rem/1.2 var(--font-display);text-decoration:none;transition:border-color 0.2s,transform 0.2s var(--ease-out)}.lines-strip .line:hover,.lines-strip .line:focus-visible{border-color:var(--line);transform:translateY(-1px)}.ok-hero h2.subline{margin-block-start:calc(16 * var(--px,1px)) !important;margin-bottom:0}.region-cards.wp-block-columns{margin-top:2.5rem;gap:calc(20 * var(--px,1px));flex-wrap:wrap !important}.region-cards>.wp-block-column{display:flex}.region.wp-block-group{display:flex;flex-direction:column;width:100%;border-radius:calc(12 * var(--px,1px));overflow:hidden;background:var(--day-50);border:1px solid var(--day-line);border-top:calc(6 * var(--px,1px)) solid var(--line);scroll-margin-top:calc(120 * var(--px,1px))}.night .region.wp-block-group{background:linear-gradient(180deg,var(--night-700),var(--night-800));border-color:var(--night-line);border-top-color:var(--line)}.region>*{margin-inline:calc(22 * var(--px,1px)) !important}.region>.wp-block-image{margin:0 !important}.wp-block-image.photo-32 img{width:100%;aspect-ratio:3 / 2;object-fit:cover;border-radius:0;display:block}.region .line-name{display:flex;align-items:center;gap:calc(10 * var(--px,1px));margin-top:calc(18 * var(--px,1px)) !important;font:700 0.78rem/1 var(--font-display);letter-spacing:0.1em;text-transform:uppercase;color:var(--on-day-dim)}.night .region .line-name{color:var(--on-night-dim)}.region h3{margin-top:calc(10 * var(--px,1px)) !important;font-size:1.35rem}.region .ticks{font-size:0.98rem;gap:0.6em}.region .wp-block-details{margin-top:calc(14 * var(--px,1px))}.region .wp-block-buttons{margin-top:auto !important;padding:calc(18 * var(--px,1px)) 0 calc(22 * var(--px,1px))}.region>:last-child:not(.wp-block-buttons){margin-bottom:calc(22 * var(--px,1px)) !important}.step-cards.wp-block-columns{margin-top:2.5rem;gap:calc(20 * var(--px,1px));flex-wrap:wrap !important}.step-cards>.wp-block-column{display:flex}.step.wp-block-group{position:relative;width:100%;border-radius:calc(12 * var(--px,1px));overflow:hidden;background:var(--day-50);border:1px solid var(--day-line);padding-bottom:calc(22 * var(--px,1px))}.night .step.wp-block-group{background:linear-gradient(180deg,var(--night-700),var(--night-800));border-color:var(--night-line)}.step>*{margin-inline:calc(22 * var(--px,1px)) !important}.step>.wp-block-image{margin:0 !important}.step .wp-block-image.photo-43 img{border-radius:0;width:100%}.step .step-no{width:calc(40 * var(--px,1px));height:calc(40 * var(--px,1px));margin-top:calc(-20 * var(--px,1px)) !important;position:relative;display:grid;place-items:center;border-radius:calc(8 * var(--px,1px));background:var(--teal-deep);color:#fff;font:800 1.05rem/1 var(--font-display);box-shadow:0 0 0 calc(4 * var(--px,1px)) var(--day-50)}.night .step .step-no{background:var(--signal);color:var(--night-950);box-shadow:0 0 0 calc(4 * var(--px,1px)) var(--night-700)}.step h3{margin-top:calc(14 * var(--px,1px)) !important;font-size:1.2rem}.step p:not(.step-no){margin-top:calc(8 * var(--px,1px)) !important;font-size:0.98rem}@media (max-width:1100px){.region-cards>.wp-block-column,.step-cards>.wp-block-column{flex-basis:calc(50% - calc(10 * var(--px,1px))) !important;flex-grow:0 !important}}@media (max-width:781px){.region-cards>.wp-block-column,.step-cards>.wp-block-column{flex-basis:100% !important}}.safety-line{position:relative;padding-left:calc(18 * var(--px,1px));font-size:0.95rem}.safety-line::before{content:"";position:absolute;left:0;top:0.58em;width:calc(8 * var(--px,1px));height:calc(8 * var(--px,1px));border-radius:50%;background:var(--alert)}.day .safety-line,.mint .safety-line{color:var(--on-day-dim)}.night .safety-line{color:var(--on-night-dim)}.night .safety-line::before{background:#f08a80}.fine{font-size:0.92rem;max-width:var(--measure)}.day .fine,.mint .fine{color:var(--on-day-dim)}sup.cite{font-size:0.68em;line-height:0;vertical-align:super;margin-left:1px;opacity:0.75;font-variant-numeric:tabular-nums}.routes-title{margin-top:2rem !important;font-size:1.05rem}.quick-actions{margin:0 !important}.qa-book{position:fixed;z-index:40;top:calc(22 * var(--px,1px));right:calc(28 * var(--px,1px));margin:0 !important;transition:top 0.35s var(--ease-out)}.qa-book a{display:inline-flex;align-items:center;gap:calc(10 * var(--px,1px));padding:calc(12 * var(--px,1px)) calc(20 * var(--px,1px));border-radius:calc(8 * var(--px,1px));background:var(--signal);color:var(--night-950);font:700 0.98rem/1 var(--font-display);text-decoration:none;box-shadow:0 calc(10 * var(--px,1px)) calc(24 * var(--px,1px)) calc(-12 * var(--px,1px)) rgba(12,18,20,0.7)}.qa-book a::after{content:"\2192";font-weight:400}.qa-book a:hover,.qa-book a:focus-visible{background:var(--signal-hi)}.site-header .wp-block-buttons{visibility:hidden}@media (max-width:1279px){body:has(.routebar.is-on) .qa-book{top:calc(68 * var(--px,1px))}}.qa-whatsapp{position:fixed;z-index:40;right:calc(18 * var(--px,1px));bottom:calc(18 * var(--px,1px));margin:0 !important}.qa-whatsapp a{display:grid;place-items:center;width:calc(58 * var(--px,1px));height:calc(58 * var(--px,1px));border-radius:50%;background:#25d366 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23fff' d='M16 3.2A12.7 12.7 0 0 0 5.2 22.6L3.5 28.7l6.3-1.6A12.7 12.7 0 1 0 16 3.2zm0 23.2a10.5 10.5 0 0 1-5.4-1.5l-.4-.2-3.7 1 1-3.6-.3-.4A10.5 10.5 0 1 1 16 26.4zm5.8-7.9c-.3-.2-1.9-.9-2.2-1s-.5-.2-.7.2-.8 1-1 1.2-.4.2-.7.1a8.6 8.6 0 0 1-2.5-1.6 9.5 9.5 0 0 1-1.8-2.2c-.2-.3 0-.5.1-.7l.5-.6.3-.5a.6.6 0 0 0 0-.5l-1-2.4c-.3-.6-.5-.5-.7-.5h-.6a1.2 1.2 0 0 0-.9.4 3.6 3.6 0 0 0-1.1 2.7 6.3 6.3 0 0 0 1.3 3.3 14.4 14.4 0 0 0 5.5 4.9c2 .9 2.8.9 3.8.8a3.3 3.3 0 0 0 2.1-1.5 2.7 2.7 0 0 0 .2-1.5c-.1-.2-.3-.3-.6-.4z'/%3E%3C/svg%3E") center / calc(30 * var(--px,1px)) no-repeat;box-shadow:0 calc(10 * var(--px,1px)) calc(24 * var(--px,1px)) calc(-10 * var(--px,1px)) rgba(12,18,20,0.6);transition:transform 0.2s var(--ease-out)}.qa-whatsapp a:hover,.qa-whatsapp a:focus-visible{transform:scale(1.06)}.qa-whatsapp span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.qa-whatsapp{transition:opacity .25s var(--ease-out),transform .25s var(--ease-out)}body.footer-in-view .qa-whatsapp{opacity:0;visibility:hidden;transform:translateY(calc(12 * var(--px,1px)));transition:opacity .25s,transform .25s,visibility 0s .25s}@media (max-width:781px){body.footer-in-view .qa-book{opacity:0;visibility:hidden;transform:translateY(calc(12 * var(--px,1px)));transition:opacity .25s,transform .25s,visibility 0s .25s}}@media (prefers-reduced-motion:reduce){body.footer-in-view .qa-whatsapp,body.footer-in-view .qa-book{transition:none;transform:none}}@media (max-width:781px){.js body .qa-book{transition:opacity .25s var(--ease-out),transform .25s var(--ease-out)}.js body:not(.is-scrolled) .qa-book,.js body:not(.is-scrolled) .qa-whatsapp{opacity:0;visibility:hidden;transform:translateY(calc(12 * var(--px,1px)));transition:opacity .25s,transform .25s,visibility 0s .25s}}@media (prefers-reduced-motion:reduce){.js body .qa-book,.js body .qa-whatsapp{transition:none;transform:none}}@media (max-width:781px){.qa-book{top:auto;bottom:calc(18 * var(--px,1px));right:calc(88 * var(--px,1px))}body:has(.routebar.is-on) .qa-book{top:auto}.qa-book a{padding:calc(12 * var(--px,1px)) calc(14 * var(--px,1px));font-size:0.88rem;box-shadow:0 calc(8 * var(--px,1px)) calc(22 * var(--px,1px)) calc(-8 * var(--px,1px)) rgba(12,18,20,0.75)}.site-footer{padding-bottom:calc(96 * var(--px,1px))}}.editor-styles-wrapper .qa-book,.editor-styles-wrapper .qa-whatsapp{position:static}.ok-hero .hero-eyebrow{margin:0 0 calc(16 * var(--px,1px));font:700 0.85rem/1.2 var(--font-display);letter-spacing:0.12em;word-spacing:0.2em;text-transform:uppercase;color:var(--signal)}@media (min-width:782px){.region-cards>.wp-block-column{flex-basis:calc(50% - calc(10 * var(--px,1px))) !important;flex-grow:0 !important}}.step .wp-block-image.photo-43 img{object-position:50% 22%}.ok-appointment{max-width:calc(560 * var(--px,1px))}.appointment-grid.wp-block-columns{margin-top:2.25rem !important}.ok-appointment form p{margin:0 0 calc(18 * var(--px,1px))}.ok-appointment label{display:block;margin-bottom:calc(6 * var(--px,1px));font:700 0.95rem/1.3 var(--font-display)}.ok-appointment input[type="text"],.ok-appointment input[type="email"],.ok-appointment input[type="tel"]{width:100%;box-sizing:border-box;padding:calc(13 * var(--px,1px)) calc(14 * var(--px,1px));border-radius:calc(8 * var(--px,1px));border:1px solid var(--day-line);background:#fff;color:var(--on-day);font:1.05rem/1.3 var(--font-body)}.night .ok-appointment input{border-color:var(--night-line);background:var(--night-800);color:var(--on-night)}.ok-appointment input:focus-visible{outline:3px solid var(--signal);outline-offset:1px}.ok-appointment .ok-hp{position:absolute;left:calc(-9999 * var(--px,1px));width:1px;height:1px;overflow:hidden}.ok-appointment-note{font-size:0.92rem}.day .ok-appointment-note,.mint .ok-appointment-note{color:var(--on-day-dim)}.night .ok-appointment-note{color:var(--on-night-dim)}.ok-appointment-send{display:inline-flex;align-items:center;gap:calc(10 * var(--px,1px));padding:calc(14 * var(--px,1px)) calc(24 * var(--px,1px));border:0;border-radius:calc(8 * var(--px,1px));background:var(--signal);color:var(--night-950);font:700 1.02rem/1 var(--font-display);cursor:pointer}.ok-appointment-send:hover,.ok-appointment-send:focus-visible{background:var(--signal-hi)}.ok-appointment-msg{padding:calc(14 * var(--px,1px)) calc(16 * var(--px,1px));border-radius:calc(8 * var(--px,1px));font-weight:600;margin-bottom:calc(20 * var(--px,1px))}.ok-appointment-msg.is-ok{background:#dff4ef;color:#0b4f5a}.ok-appointment-msg.is-error{background:var(--alert-wash);color:#7a1a14}:is(.day,.mint) .faq .wp-block-details summary{color:var(--on-day)}:is(.day,.mint) .faq .wp-block-details summary:hover,:is(.day,.mint) .faq .wp-block-details summary:focus-visible{color:var(--teal-deep)}:is(.day,.mint) .faq .wp-block-details>p:first-of-type{color:var(--on-day-dim)}:is(.day,.mint) .faq .wp-block-details{border-color:var(--day-line)}:is(.day,.mint) .ev-name strong{color:var(--teal-deep)}:is(.day,.mint) .ev-name,:is(.day,.mint) .ev-figs li{color:var(--on-day-dim)}:is(.day,.mint) .ev-figs li strong{color:var(--on-day)}:is(.day,.mint) .wp-block-quote.quote cite{color:var(--on-day-dim)}:is(.day,.mint) .ms-panel>.more,:is(.day,.mint) .ms-panel .more{color:var(--on-day-dim);border-top-color:var(--day-line)}:is(.day,.mint) .questions li::before{color:var(--teal-deep)}:is(.day,.mint) .contact-line{color:var(--on-day-dim)}.wp-block-image.focus-top img{object-position:50% 0% !important}.rail{top:calc(calc(24 * var(--px,1px)) + var(--wp-admin--admin-bar--height,0px))}.routebar{top:var(--wp-admin--admin-bar--height,0px)}.qa-book{top:calc(calc(22 * var(--px,1px)) + var(--wp-admin--admin-bar--height,0px))}@media (max-width:1279px){body:has(.routebar.is-on) .qa-book{top:calc(calc(68 * var(--px,1px)) + var(--wp-admin--admin-bar--height,0px))}}@media (max-width:781px){.qa-book,body:has(.routebar.is-on) .qa-book{top:auto}}@media (max-width:600px){.routebar{top:0}}.notice.wp-block-group{margin-top:1.75rem;max-width:calc(820 * var(--px,1px));padding:calc(18 * var(--px,1px)) calc(22 * var(--px,1px));border-radius:var(--radius-sign);border-left:calc(4 * var(--px,1px)) solid var(--teal-deep);background:var(--day-50);color:var(--on-day)}.notice.wp-block-group>*{margin:0}.notice ul{padding-left:1.1em;display:grid;gap:0.4em}.night .notice.wp-block-group{background:var(--night-700);color:var(--on-night);border-left-color:var(--signal)}.journey.wp-block-list{margin-top:1.75rem;max-width:calc(860 * var(--px,1px))}.journey li{padding-block:calc(4 * var(--px,1px))}.wp-block-image.needs-review{position:relative}.wp-block-image.needs-review img{outline:calc(5 * var(--px,1px)) solid #d0021b;outline-offset:calc(-5 * var(--px,1px))}.wp-block-image.needs-review .review-flag{position:absolute;left:0;top:0;z-index:2;max-width:calc(100% - calc(16 * var(--px,1px)));padding:calc(6 * var(--px,1px)) calc(10 * var(--px,1px));background:#d0021b;color:#fff;font:700 0.72rem/1.25 var(--font-display);letter-spacing:0.04em;text-transform:uppercase;border-bottom-right-radius:calc(6 * var(--px,1px))}/* ---------- Motion:"arriving at a stop". Only when the script confirms motion is welcome. ---------- */ @keyframes ok-pulse{0%{box-shadow:0 0 0 0 rgba(60,207,196,0.5)}100%{box-shadow:0 0 0 calc(14 * var(--px,1px)) rgba(60,207,196,0)}}@keyframes ok-reveal{from{opacity:0;transform:translateY(calc(-4 * var(--px,1px)))}to{opacity:1;transform:none}}@keyframes ok-panel{from{opacity:0;transform:translateY(calc(8 * var(--px,1px)))}to{opacity:1;transform:none}}.ok-motion .ok-hero .hero-copy>*{opacity:0;transform:translateY(calc(16 * var(--px,1px)));transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}.ok-motion.is-loaded .ok-hero .hero-copy>*{opacity:1;transform:none}.ok-motion .ok-hero .hero-copy>:nth-child(2){transition-delay:.05s}.ok-motion .ok-hero .hero-copy>:nth-child(3){transition-delay:.12s}.ok-motion .ok-hero .hero-copy>:nth-child(4){transition-delay:.2s}.ok-motion .ok-hero .hero-copy>:nth-child(5){transition-delay:.28s}.ok-motion .ok-hero .hero-copy>:nth-child(6){transition-delay:.36s}.ok-motion .ok-hero .hero-copy>:nth-child(7){transition-delay:.44s}.ok-motion .ok-hero .wp-block-cover__image-background{transform:scaleX(var(--ok-hero-flip,1)) scale(1.06);transition:transform 2.4s var(--ease-out)}.ok-motion.is-loaded .ok-hero .wp-block-cover__image-background{transform:scaleX(var(--ok-hero-flip,1)) scale(1)}.ok-motion .trailhead .stages li{opacity:0;transform:translateY(calc(10 * var(--px,1px)));transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}.ok-motion.is-loaded .trailhead .stages li{opacity:1;transform:none}.ok-motion .trailhead .stages li:nth-child(1){transition-delay:.55s}.ok-motion .trailhead .stages li:nth-child(2){transition-delay:.62s}.ok-motion .trailhead .stages li:nth-child(3){transition-delay:.69s}.ok-motion .trailhead .stages li:nth-child(4){transition-delay:.76s}.ok-motion .trailhead .stages li:nth-child(5){transition-delay:.83s}.ok-motion .trailhead .stages li:nth-child(6){transition-delay:.9s}.ok-motion .trailhead .stages li:nth-child(7){transition-delay:.97s}.ok-motion .section-head .marker::before,.ok-motion .reflection .marker::before{opacity:0;transform:scale(0.7);transition:opacity .5s var(--ease-out),transform .6s var(--ease-out)}.ok-motion .section-head.is-in .marker::before,.ok-motion .reflection .marker.is-in::before{opacity:1;transform:none;animation:ok-pulse 1.3s .35s ease-out 1}.ok-motion .section-head .place{opacity:0;transform:translateX(calc(-8 * var(--px,1px)));transition:opacity .6s .12s var(--ease-out),transform .6s .12s var(--ease-out)}.ok-motion .section-head.is-in .place{opacity:1;transform:none}.ok-motion .section-head h2{opacity:0;transform:translateY(calc(14 * var(--px,1px)));transition:opacity .9s .18s var(--ease-out),transform .9s .18s var(--ease-out)}.ok-motion .section-head.is-in h2{opacity:1;transform:none}.ok-motion .sign{opacity:0;transform:translateX(calc(-16 * var(--px,1px)));transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.ok-motion .sign.is-in{opacity:1;transform:none}.ok-motion .sign::before{transform:scale(0.6);transition:transform .5s .3s var(--ease-out)}.ok-motion .sign.is-in::before{transform:none}.ok-motion .band .wp-block-image img{opacity:0;transform:scale(1.03);transition:opacity 1.1s var(--ease-out),transform 1.4s var(--ease-out)}.ok-motion .band .wp-block-image.is-in img{opacity:1;transform:none}.ok-motion :is(.ev-row,.junction .wp-block-column,.map-stage,.loc){opacity:0;transform:translateY(calc(12 * var(--px,1px)));transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.ok-motion :is(.ev-row,.junction .wp-block-column,.map-stage,.loc).is-in{opacity:1;transform:none}.ok-motion :is(.ev-row,.junction .wp-block-column,.map-stage,.locations .wp-block-column):nth-child(2){transition-delay:.1s}.ok-motion :is(.ev-row,.junction .wp-block-column,.map-stage):nth-child(3){transition-delay:.2s}.ok-motion .map-stage:nth-child(4){transition-delay:.3s}.ok-motion .map-stage:nth-child(5){transition-delay:.4s}.ok-motion .map-stage:nth-child(6){transition-delay:.5s}.ok-motion .map-stage:nth-child(7){transition-delay:.6s}.ok-motion .panel:not([hidden]){animation:ok-panel .45s var(--ease-out)}.ok-motion .wp-block-details[open]>:not(summary){animation:ok-reveal .4s var(--ease-out)}.ok-motion .route a.is-current .dot{animation:ok-pulse 1.4s ease-out 1}.ok-motion .fork-tab,.ok-motion .step-tab .stop,.ok-motion .ms-tab .post{transition:border-color .3s,background-color .3s,transform .35s var(--ease-out)}.ok-motion .fork-tab:hover{transform:translateX(3px)}.ok-motion .step-tab:hover .stop,.ok-motion .ms-tab:hover .post{transform:translateY(-2px)}.ok-motion .ev-row{border-radius:calc(8 * var(--px,1px))}.ok-motion .evidence .ev-row:hover{background:rgba(60,207,196,0.05)}.ok-motion .map-stage li a{transition:color .2s,transform .3s var(--ease-out)}.ok-motion .map-stage li a:hover{transform:translateX(3px)}/* v0.2.4:the fork's route lines draw themselves in on arrival (dashed "later" link fades in last) */
.ok-motion .fork .fork-svg :is(.trunk, .lane) { stroke-dasharray: 420; stroke-dashoffset: 420; transition: stroke-dashoffset 1.3s var(--ease-out), stroke .35s; }
.ok-motion .fork .fork-svg .lane { transition-delay: .35s, 0s; }
.ok-motion .fork.is-in .fork-svg :is(.trunk, .lane) { stroke-dashoffset: 0; }
.ok-motion .fork .fork-svg .link, .ok-motion .fork .fork-svg .origin { opacity: 0; transition: opacity .6s 1.1s var(--ease-out); }
.ok-motion .fork.is-in .fork-svg .link, .ok-motion .fork.is-in .fork-svg .origin { opacity: 1; }

/* Breadcrumb trail (inc/breadcrumbs.php): a quiet strip that continues the header, on every page but the homepage. */
.ok-breadcrumb { background: rgba(12,18,20,0.94); border-top: 1px solid var(--night-line); position: relative; z-index: 29; }
.ok-breadcrumb ol { list-style: none; margin: 0 auto; padding-block: calc(10 * var(--px, 1px)); padding-inline-start: 0; display: flex; flex-wrap: wrap; align-items: center; gap: calc(4 * var(--px, 1px)) calc(10 * var(--px, 1px)); font: 600 0.9rem/1.4 var(--font-display); color: var(--on-night-dim); }
.ok-breadcrumb li { display: flex; align-items: center; gap: calc(10 * var(--px, 1px)); }
.ok-breadcrumb li + li::before { content: "/"; color: var(--on-night-dim); opacity: 0.6; }
.ok-breadcrumb a { color: var(--signal); text-decoration: none; }
.ok-breadcrumb a:hover, .ok-breadcrumb a:focus-visible { text-decoration: underline; }
.ok-breadcrumb [aria-current] { color: var(--on-night); }
@media (max-width: 599px) { .ok-breadcrumb ol { font-size: 0.85rem; padding-block: calc(8 * var(--px, 1px)); } }

/* ---- Articles (blog): single article, Articles page, category archives (theme 0.2.19) ---- */
.ok-post-head.band { padding-block: clamp(2.5rem, 2rem + 3vw, 4.5rem); }
.ok-post-head .band-inner > * { max-width: 52rem; }
.ok-post-title, .ok-post-head h1 { color: var(--on-night); font: 800 clamp(2rem, 1.4rem + 2.6vw, 3.25rem)/1.1 var(--font-display); letter-spacing: -0.01em; margin: 0.4rem 0 1rem; text-wrap: balance; }
.ok-post-cats, .ok-card-cats { font: 700 0.8rem/1.3 var(--font-display); letter-spacing: 0.06em; text-transform: uppercase; }
.ok-post-cats a { color: var(--signal); text-decoration: none; }
.ok-post-cats .wp-block-post-terms__separator, .ok-card-cats .wp-block-post-terms__separator { opacity: 0.6; }
.ok-post-meta.wp-block-group { gap: calc(6 * var(--px, 1px)) calc(20 * var(--px, 1px)); font: 600 0.95rem var(--font-display); color: var(--on-night-dim); }
.ok-post-meta > * { margin: 0; }
.ok-post-meta .wp-block-post-author-name::before { content: "By "; }
.ok-post-meta .wp-block-post-date:not(.ok-post-updated)::before { content: "Published "; }
.ok-post-meta .ok-post-updated::before { content: "Updated "; }
.ok-articles-intro { color: var(--on-night-dim); font-size: 1.1rem; }
.ok-articles-intro > * { margin: 0 0 1rem; }
.ok-index-intro { margin: 0.75rem 0 0; max-width: var(--measure); color: var(--on-night-dim); font-size: 1.1875rem; }
.ok-cat-chips.wp-block-categories { list-style: none; padding: 0; margin: 1.5rem 0 0; display: flex; flex-wrap: wrap; gap: calc(10 * var(--px, 1px)); }
.ok-cat-chips li { margin: 0; }
.ok-cat-chips a { display: inline-flex; align-items: center; min-height: calc(40 * var(--px, 1px)); padding: 0 calc(16 * var(--px, 1px)); border: 1px solid var(--night-line); border-radius: calc(999 * var(--px, 1px)); color: var(--on-night); text-decoration: none; font: 600 0.92rem var(--font-display); }
.ok-cat-chips a:hover, .ok-cat-chips a:focus-visible { border-color: var(--signal); color: var(--signal); }
.ok-cat-chips .current-cat a { background: var(--signal); border-color: var(--signal); color: var(--night-950); }
.ok-post-body.band { padding-top: clamp(2rem, 1.5rem + 2vw, 3.5rem); }
.ok-post-hero { max-width: var(--measure); margin: 0 auto 2.5rem; }
.ok-post-hero img { width: 100%; height: auto; max-height: calc(520 * var(--px, 1px)); object-fit: cover; border-radius: var(--radius-media); }
/* Migrated article content: images, tables, questions, quotes */
.ok-post .wp-block-post-content { font-size: 1.08rem; line-height: 1.7; color: var(--on-day); }
.ok-post .wp-block-post-content :where(h2, h3, h4) { color: var(--on-day); line-height: 1.25; text-wrap: balance; }
.ok-post .wp-block-post-content :where(h3) { margin-top: 2rem; }
.ok-post .wp-block-post-content .wp-block-image img { height: auto; border-radius: var(--radius-media); }
.ok-post .wp-block-post-content .wp-block-image { margin-block: 1.75rem; }
.ok-post .wp-block-post-content .wp-block-table { overflow-x: auto; margin-block: 1.75rem; }
.ok-post .wp-block-post-content .wp-block-table table { border-collapse: collapse; width: 100%; font-size: 0.98rem; }
.ok-post .wp-block-post-content .wp-block-table :where(th, td) { border: 1px solid var(--day-line); padding: calc(10 * var(--px, 1px)) calc(12 * var(--px, 1px)); text-align: left; vertical-align: top; }
.ok-post .wp-block-post-content .wp-block-table th { background: var(--day-100); font-family: var(--font-display); }
.ok-post .wp-block-post-content .wp-block-details { border-top: 1px solid var(--day-line); padding: calc(14 * var(--px, 1px)) 0; }
.ok-post .wp-block-post-content .wp-block-details:last-of-type { border-bottom: 1px solid var(--day-line); }
.ok-post .wp-block-post-content .wp-block-details summary { cursor: pointer; font: 700 1.05rem/1.4 var(--font-display); color: var(--teal-deep); }
.ok-post .wp-block-post-content .wp-block-details > :not(summary) { margin-top: 0.75rem; }
.ok-post .wp-block-post-content .wp-block-quote { border-left: calc(4 * var(--px, 1px)) solid var(--teal-deep); padding-left: 1.25rem; margin-inline: 0; }
.ok-post .wp-block-post-content .wp-block-embed { margin-block: 2rem; }
.ok-post-end.wp-block-group { max-width: var(--measure); margin: 3.5rem auto 0; padding-top: 1.75rem; border-top: 2px solid var(--day-line); }
.ok-post-note { color: var(--on-day-dim); font-size: 0.95rem; }
.ok-post-end .is-style-ok-ghost .wp-block-button__link { background: transparent; border: 2px solid var(--teal-deep); color: var(--teal-deep); }
/* Cards */
.ok-posts .ok-card-cats { margin: 0; color: var(--teal-deep); }
.ok-posts .ok-card-cats a { color: inherit; text-decoration: none; }
.ok-posts .ok-card-date { margin: 0; font: 600 0.88rem var(--font-display); color: var(--on-day-dim); }
.ok-posts .wp-block-post { background: var(--day-50); border: 1px solid var(--day-line); border-radius: calc(12 * var(--px, 1px)); overflow: hidden; padding: 0 0 calc(20 * var(--px, 1px)); border-bottom-width: 1px; }
.ok-posts .wp-block-post > :not(.wp-block-post-featured-image) { margin-inline: calc(20 * var(--px, 1px)); }
.ok-posts .wp-block-post-featured-image { margin: 0; }
.ok-posts .wp-block-post-featured-image img { border-radius: 0; }
.ok-posts .wp-block-query-pagination { justify-content: center; gap: calc(8 * var(--px, 1px)) calc(14 * var(--px, 1px)); }
@media (max-width: 599px) { .single-post .ok-breadcrumb li:last-child { display: none; } .single-post .ok-breadcrumb li:nth-last-child(2)::after { content: none; } }

/* ---- Phone pictures for backgrounds (inc/art-direction.php) ---- */
@media (max-width: 781px) {
  .wp-block-cover picture.ok-art img.wp-block-cover__image-background { object-position: 50% 35% !important; }
}

/* ---- Bright reflection (owner, 27 Sep 2026: bright, peaceful, optimistic). Dark text on a pale veil; the quote
   panel keeps its own teal background. ---- */
.wp-block-cover.reflection.is-bright .wp-block-cover__background { background: linear-gradient(90deg, rgba(244,248,247,0.9) 0%, rgba(244,248,247,0.72) 40%, rgba(244,248,247,0.2) 72%, rgba(244,248,247,0) 100%) !important; }
.reflection.is-bright h2 { color: var(--on-day); }
.reflection.is-bright h2 + p { color: var(--on-day-dim); }
.reflection.is-bright h2.q2 { color: var(--on-day); }
/* A package reflection's second question is an h3 (build-page reflectionPkg);without this it kept the night-band pale colour and vanished on the bright veil (PCL page,29 Sep 2026). */ .reflection.is-bright h3{color:var(--on-day);margin-top:2.75rem !important;font-size:clamp(1.4rem,1.1rem + 1.2vw,2rem);line-height:1.15;max-width:30ch}.reflection.is-bright .band-inner>p:not(.credit){max-width:58ch}@media (min-width:782px){.wp-block-cover.reflection.is-bright .wp-block-cover__background{background:linear-gradient(90deg,rgba(244,248,247,0.92) 0%,rgba(244,248,247,0.84) 50%,rgba(244,248,247,0.55) 78%,rgba(244,248,247,0.08) 100%) !important}}.reflection.is-bright .band-inner>p:not(.credit){color:var(--on-day-dim)}.reflection.is-bright .marker .place{color:var(--teal-deep)}.reflection.is-bright .marker .route-label{color:var(--teal-deep)}.reflection.is-bright .credit{color:rgba(18,33,36,0.82)}/* Phones:a reflection with a lot of text is far taller than any 9:16 picture,and "cover" would cut the picture's
   sides (the subject sits near an edge). Show the phone picture whole at the top and let it fade into a pale ground
   that carries the rest of the text (owner: mobile first; nothing cropped off). */
@media (max-width: 781px) {
  .wp-block-cover.reflection.is-bright { background: var(--day-100); }
  .wp-block-cover.reflection.is-bright img.wp-block-cover__image-background { inset: 0 0 auto 0 !important; height: auto !important; aspect-ratio: 9 / 16; object-position: 50% 0 !important;
    -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent 100%); mask-image: linear-gradient(180deg, #000 70%, transparent 100%); }
}
@media (max-width: 767px) {
  .wp-block-cover.reflection.is-bright .wp-block-cover__background { background: linear-gradient(0deg, rgba(244,248,247,0.9) 0%, rgba(244,248,247,0.78) 55%, rgba(244,248,247,0.25) 80%, rgba(244,248,247,0) 100%) !important; }
}

/* ---- Photo between sections (owner: pictures at regular intervals) ---- */
.photo-band.band { padding-block: clamp(1.5rem, 1rem + 2vw, 3rem); }
.photo-band .photo-break { max-width: calc(1040 * var(--px, 1px)); margin: 0 auto; }
.photo-band .photo-break img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius-media); }

/* ---- Package pages (Hermes build-ready content: theme/tools/convert-package.js) ---- */
.ok-hero .hero-lead { max-width: 60ch; color: var(--on-night); font-size: 1.05rem; line-height: 1.6; }
.answer.wp-block-group { max-width: var(--measure); padding: calc(16 * var(--px, 1px)) calc(20 * var(--px, 1px)); border-left: calc(4 * var(--px, 1px)) solid var(--teal-deep); background: var(--day-50); border-radius: 0 calc(10 * var(--px, 1px)) calc(10 * var(--px, 1px)) 0; }
.answer p { margin: 0; font-size: 1.05rem; color: var(--on-day); }
.night .answer.wp-block-group { background: rgba(233, 241, 239, 0.06); border-left-color: var(--signal); }
.night .answer p { color: var(--on-night); }
.steps-list.wp-block-list { max-width: var(--measure); padding-left: 1.4rem; display: grid; gap: 0.5rem; }
.steps-list li::marker { font-family: var(--font-display); font-weight: 800; color: var(--teal-deep); }
.night .steps-list li::marker { color: var(--signal); }
.ok-table.wp-block-table { margin: 1.5rem 0 0; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--day-line); border-radius: calc(10 * var(--px, 1px)); }
.ok-table table { width: 100%; min-width: calc(640 * var(--px, 1px)); border-collapse: collapse; font-size: 0.95rem; }
.ok-table th, .ok-table td { padding: calc(12 * var(--px, 1px)) calc(14 * var(--px, 1px)); text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--day-line); }
.ok-table thead th { font-family: var(--font-display); background: var(--mint-100); color: var(--on-day); }
.ok-table tbody td:first-child { font-weight: 700; font-family: var(--font-display); }
.ok-table tbody tr:last-child td { border-bottom: 0; }
.night .ok-table.wp-block-table { border-color: var(--night-line); }
.night .ok-table th, .night .ok-table td { border-bottom-color: var(--night-line); color: var(--on-night); }
.night .ok-table thead th { background: var(--night-700); color: var(--on-night); }
@media (max-width: 781px) {
  /* Phones: the first column stays in view while the comparison swipes sideways */
  .ok-table table { min-width: calc(560 * var(--px, 1px)); }
  .ok-table th:first-child, .ok-table td:first-child { position: sticky; left: 0; z-index: 1; background: var(--day-50); box-shadow: 1px 0 0 var(--day-line); max-width: calc(128 * var(--px, 1px)); }
  .ok-table thead th:first-child { background: var(--mint-100); }
  .night .ok-table th:first-child, .night .ok-table td:first-child { background: var(--night-800); box-shadow: 1px 0 0 var(--night-line); }
  .night .ok-table thead th:first-child { background: var(--night-700); }
  .ok-table.wp-block-table::before { content: "Swipe sideways to compare \2192"; display: block; padding: calc(8 * var(--px, 1px)) calc(14 * var(--px, 1px)); font: 600 0.82rem var(--font-display); color: var(--on-day-dim); border-bottom: 1px solid var(--day-line); position: sticky; left: 0; }
  .night .ok-table.wp-block-table::before { color: var(--on-night-dim); border-bottom-color: var(--night-line); }
}
/* Tablets (782-1199 px): tablet reflection pictures keep their subject in the top third, so anchor them to the top
   (a wide, short section on a landscape tablet would otherwise crop the subject off). */
@media (min-width: 782px) and (max-width: 1199px) {
  .wp-block-cover.reflection.is-bright img.wp-block-cover__image-background { object-position: 50% 8% !important; }
}
/* Cookie consent (assets/js/measure.js, Hermes H-037): a calm bar at the foot of the screen, above the quick actions.
   Only appears where the measurement container runs (the live site). Neutral wording, equal-weight buttons. */
.ok-consent { position: fixed; z-index: 1000; left: calc(12 * var(--px, 1px)); right: calc(12 * var(--px, 1px)); bottom: calc(12 * var(--px, 1px)); max-width: calc(560 * var(--px, 1px)); padding: calc(18 * var(--px, 1px)) calc(18 * var(--px, 1px)) calc(16 * var(--px, 1px));
  border-radius: calc(14 * var(--px, 1px)); background: var(--night-900); color: var(--on-night); border: 1px solid var(--night-line);
  box-shadow: 0 calc(24 * var(--px, 1px)) calc(60 * var(--px, 1px)) calc(-20 * var(--px, 1px)) rgba(0,0,0,0.6); font-size: 0.95rem; line-height: 1.5; max-height: calc(100vh - calc(24 * var(--px, 1px))); overflow-y: auto; }
.ok-consent-title { margin: 0 0 calc(6 * var(--px, 1px)); font: 800 1.05rem/1.2 var(--font-display); color: var(--on-night); }
.ok-consent-text { margin: 0 0 calc(12 * var(--px, 1px)); color: var(--on-night-dim); }
.ok-consent-text a { color: var(--on-night); text-decoration: underline; }
.ok-consent-actions { display: flex; flex-wrap: wrap; gap: calc(8 * var(--px, 1px)); }
.ok-consent button { flex: 1 1 auto; min-height: calc(44 * var(--px, 1px)); padding: calc(10 * var(--px, 1px)) calc(16 * var(--px, 1px)); border-radius: calc(999 * var(--px, 1px)); cursor: pointer;
  font: 700 0.92rem var(--font-display); background: transparent; color: var(--on-night); border: 1px solid var(--on-night-dim); }
.ok-consent button:hover { border-color: var(--signal); }
.ok-consent button:focus-visible { outline: 3px solid var(--signal); outline-offset: 2px; }
.ok-consent-prefs { display: grid; gap: calc(8 * var(--px, 1px)); margin: 0 0 calc(12 * var(--px, 1px)); padding: calc(12 * var(--px, 1px)); border-radius: calc(10 * var(--px, 1px)); border: 1px solid var(--night-line); }
.ok-consent-prefs[hidden] { display: none; }
.ok-consent-prefs label { display: flex; align-items: center; gap: calc(10 * var(--px, 1px)); min-height: calc(32 * var(--px, 1px)); color: var(--on-night); }
.ok-consent-prefs input { width: calc(20 * var(--px, 1px)); height: calc(20 * var(--px, 1px)); accent-color: var(--signal); }
@media (min-width: 782px) { .ok-consent { left: calc(24 * var(--px, 1px)); right: auto; bottom: calc(24 * var(--px, 1px)); } }

/* ---------- Ad landing pages, /consult/ (theme 0.2.58; owner Q19, skill ok2-ad-landing-pages) ---------- */
.ok-consult-page .site-header { background: var(--night-950); border-bottom: 1px solid var(--night-line); }
.consult-header .header-top.wp-block-group { padding-block: calc(12 * var(--px, 1px)); }
.consult-actions { display: flex; align-items: center; gap: calc(22 * var(--px, 1px)); }
.consult-actions .util a { color: var(--on-night); }
.consult-actions .wp-block-button__link { min-height: calc(44 * var(--px, 1px)); padding: 0 calc(18 * var(--px, 1px)); }
.consult-actions .wp-block-button__link::after { display: none; }
@media (max-width: 781px) { .consult-actions { display: none; } }

.ok-consult-hero { padding-block: clamp(2rem, 1rem + 3vw, 4rem) 0; overflow: hidden; }
.consult-hero-grid.wp-block-columns { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr); gap: clamp(1.5rem, 1rem + 3vw, 4rem); align-items: end; margin: 0; }
.consult-hero-grid > .wp-block-column { margin: 0 !important; flex-basis: auto !important; min-width: 0; }
.consult-hero-grid > .wp-block-column:first-child { padding-bottom: clamp(2.5rem, 1.5rem + 3vw, 4.5rem); }
.consult-hero-grid > .wp-block-column:last-child { align-self: stretch; display: flex; align-items: flex-end; justify-content: center; background: radial-gradient(closest-side at 50% 62%, rgba(60, 207, 196, 0.2), rgba(60, 207, 196, 0) 100%); }
.ok-consult-hero .hero-eyebrow { margin: 0 0 calc(14 * var(--px, 1px)); font: 700 0.85rem/1.3 var(--font-display); letter-spacing: 0.1em; word-spacing: 0.15em; text-transform: uppercase; color: var(--signal); }
.ok-consult-hero h1 { max-width: 19ch; color: var(--on-night); text-wrap: pretty; }
.ok-consult-hero .hero-lead { margin-top: calc(18 * var(--px, 1px)); max-width: 34ch; font: 600 clamp(1.2rem, 1.05rem + 0.6vw, 1.5rem)/1.4 var(--font-display); color: var(--on-night); }
.ok-consult-hero .wp-block-buttons { margin-top: calc(26 * var(--px, 1px)); gap: calc(12 * var(--px, 1px)); }
.consult-calls { margin-top: calc(16 * var(--px, 1px)); font: 600 1rem/1.6 var(--font-display); color: var(--on-night-dim); }
.consult-calls a { color: var(--on-night); text-decoration: underline; text-decoration-color: var(--signal); text-underline-offset: 0.28em; }
.consult-calls a:hover { color: var(--signal); }
.consult-cred.wp-block-group { margin-top: calc(28 * var(--px, 1px)); padding-top: calc(20 * var(--px, 1px)); border-top: 1px solid var(--night-line); display: grid; grid-template-columns: auto 1fr; gap: calc(4 * var(--px, 1px)) calc(16 * var(--px, 1px)); align-items: center; max-width: calc(620 * var(--px, 1px)); }
.consult-cred .wp-block-image { margin: 0; grid-row: span 2; }
.consult-cred .consult-avatar img { width: calc(56 * var(--px, 1px)); height: calc(56 * var(--px, 1px)); border-radius: 50%; object-fit: cover; object-position: 50% 50%; }
.consult-cred p { margin: 0; color: var(--on-night-dim); font-size: 0.98rem; line-height: 1.5; }
.consult-cred .consult-clinics { color: var(--on-night); }
.consult-portrait.wp-block-image { margin: 0; width: 100%; }
.consult-portrait img { display: block; width: 100%; max-width: calc(440 * var(--px, 1px)); height: auto; max-height: calc(560 * var(--px, 1px)); margin-inline: auto; object-fit: contain; object-position: 50% 100%; }
@media (min-width: 782px) { .consult-cred .wp-block-image { display: none; } .consult-cred.wp-block-group { grid-template-columns: 1fr; } }
@media (max-width: 781px) {
  .ok-consult-hero { padding-block: 1.75rem 2.5rem; }
  .consult-hero-grid.wp-block-columns { grid-template-columns: 1fr; }
  .consult-hero-grid > .wp-block-column:first-child { padding-bottom: 0; }
  .consult-hero-grid > .wp-block-column:last-child { display: none; }
  .ok-consult-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
  .ok-consult-hero .wp-block-button__link { width: 100%; justify-content: center; }
}

.consult-book > .band-inner > .wp-block-buttons { margin: 0 0 calc(28 * var(--px, 1px)); }
.ok-urgent.wp-block-group { max-width: calc(880 * var(--px, 1px)); margin: 0 0 clamp(2rem, 1.5rem + 2vw, 3rem); padding: clamp(calc(20 * var(--px, 1px)), 3vw, calc(32 * var(--px, 1px))); border-radius: var(--radius-media); background: var(--alert-wash); color: #3b0f0b; border: 1px solid #e5b9b3; border-left: calc(6 * var(--px, 1px)) solid var(--alert); }
.ok-urgent .urgent-title { font-size: clamp(1.35rem, 1.2rem + 0.6vw, 1.75rem); color: #7a1a14; }
.ok-urgent h3 { margin: calc(22 * var(--px, 1px)) 0 calc(10 * var(--px, 1px)); font-size: 1.05rem; color: #7a1a14; }
.ok-urgent p { margin-top: calc(10 * var(--px, 1px)); max-width: var(--measure); }
.ok-urgent .urgent-list { margin: 0; padding-left: 1.2em; display: grid; gap: 0.55em; max-width: var(--measure); }
.ok-urgent .urgent-list li::marker { color: var(--alert); }
.consult-safety { margin-top: calc(24 * var(--px, 1px)) !important; max-width: var(--measure); color: var(--on-night-dim); font-size: 0.95rem; }

/* ---------- Shared appointment section (D16; Hermes shared-appointment-cta.pkg-v1.1) ---------- */
.ok-book { padding: clamp(calc(22 * var(--px, 1px)), 3vw, calc(40 * var(--px, 1px))); border-radius: var(--radius-media); background: var(--night-900); color: var(--on-night); border: 1px solid var(--night-line); scroll-margin-top: calc(16 * var(--px, 1px)); }
.ok-book-title { color: var(--on-night); }
.ok-book-lead { margin-top: calc(12 * var(--px, 1px)); max-width: 60ch; color: var(--on-night-dim); font-size: 1.08rem; }
.ok-book-grid { margin-top: calc(28 * var(--px, 1px)); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(calc(24 * var(--px, 1px)), 4vw, calc(56 * var(--px, 1px))); align-items: start; }
@media (max-width: 859px) { .ok-book-grid { grid-template-columns: 1fr; } }
.ok-book-intro { margin-bottom: calc(18 * var(--px, 1px)); color: var(--on-night); }
.ok-book .ok-appointment input { border-color: var(--night-line); background: var(--night-800); color: var(--on-night); }
.ok-book .ok-appointment-note { color: var(--on-night-dim); }
.ok-book .ok-appointment-send { width: 100%; justify-content: center; min-height: calc(52 * var(--px, 1px)); }
.ok-book-wa { margin: 0 0 calc(18 * var(--px, 1px)); }
.ok-book-wa a { display: flex; align-items: center; justify-content: center; min-height: calc(52 * var(--px, 1px)); padding: 0 calc(20 * var(--px, 1px)); border: 2px solid var(--signal); border-radius: var(--radius-sign); color: var(--on-night); font: 700 1rem var(--font-display); text-decoration: none; text-align: center; }
.ok-book-wa a:hover, .ok-book-wa a:focus-visible { background: rgba(60, 207, 196, 0.12); }
.ok-book-clinics { list-style: none; margin: 0; padding: 0; display: grid; gap: calc(14 * var(--px, 1px)); }
.ok-book-clinics li { padding: calc(14 * var(--px, 1px)) calc(18 * var(--px, 1px)) calc(16 * var(--px, 1px)); border-radius: var(--radius-sign); background: var(--night-800); border: 1px solid var(--night-line); }
.ok-book-call { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2px calc(12 * var(--px, 1px)); }
.ok-book-call a { display: inline-flex; align-items: center; min-height: calc(44 * var(--px, 1px)); font: 700 1.05rem/1.3 var(--font-display); color: var(--signal); text-decoration: none; }
.ok-book-call a:hover, .ok-book-call a:focus-visible { text-decoration: underline; }
.ok-book-num { font-family: var(--font-display); font-variant-numeric: tabular-nums; color: var(--on-night); }
.ok-book-addr { margin-top: calc(4 * var(--px, 1px)); color: var(--on-night-dim); font-size: 0.95rem; line-height: 1.5; }
.ok-book-map { color: var(--on-night); margin-left: calc(4 * var(--px, 1px)); }
.ok-book-page { margin-top: calc(4 * var(--px, 1px)); font-size: 0.95rem; }
.ok-book-page a { color: var(--on-night); }   /* clinic page link (H-199 item 5, 12 Oct 2026) */
.ok-book-safety { margin-top: calc(28 * var(--px, 1px)); padding-top: calc(18 * var(--px, 1px)); border-top: 1px solid var(--night-line); color: var(--on-night-dim); font-size: 0.92rem; max-width: 80ch; }

/* ---------- Insurance panels before the C5 paragraph (H-077) ---------- */
.ok-panels { max-width: var(--measure); margin: 1.25rem 0 1rem; display: grid; gap: 0.7em; }
.ok-panels strong { font-weight: 700; }

/* ---------- Phone booking bar on /consult/ pages (replaces the floating buttons) ---------- */
.consult-bar { display: none; }
@media (max-width: 781px) {
  .consult-bar { position: fixed; z-index: 45; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(8 * var(--px, 1px)); padding: calc(10 * var(--px, 1px)) calc(12 * var(--px, 1px)) calc(calc(10 * var(--px, 1px)) + env(safe-area-inset-bottom, 0px)); background: rgba(12, 18, 20, 0.96); border-top: 1px solid var(--night-line); box-shadow: 0 calc(-12 * var(--px, 1px)) calc(30 * var(--px, 1px)) calc(-18 * var(--px, 1px)) rgba(0, 0, 0, 0.7); transition: transform 0.3s var(--ease-out), opacity 0.3s var(--ease-out); }
  .consult-bar > a, .consult-bar summary { display: flex; align-items: center; justify-content: center; min-height: calc(48 * var(--px, 1px)); border-radius: var(--radius-sign); font: 700 1rem var(--font-display); text-decoration: none; cursor: pointer; list-style: none; }
  .consult-bar summary::-webkit-details-marker { display: none; }
  .cb-wa, .cb-call summary { border: 2px solid var(--night-line); color: var(--on-night); }
  .cb-call[open] summary { border-color: var(--signal); }
  .cb-book { background: var(--signal); color: var(--night-950); }
  .cb-call { position: relative; }
  .cb-call-list { position: absolute; bottom: calc(100% + calc(10 * var(--px, 1px))); left: 50%; transform: translateX(-50%); width: min(calc(310 * var(--px, 1px)), calc(100vw - calc(24 * var(--px, 1px)))); display: grid; gap: calc(6 * var(--px, 1px)); padding: calc(10 * var(--px, 1px)); border-radius: calc(10 * var(--px, 1px)); background: var(--night-900); border: 1px solid var(--night-line); box-shadow: 0 calc(20 * var(--px, 1px)) calc(40 * var(--px, 1px)) calc(-16 * var(--px, 1px)) rgba(0, 0, 0, 0.7); }
  .cb-call-list a { display: flex; justify-content: space-between; align-items: center; gap: calc(10 * var(--px, 1px)); min-height: calc(48 * var(--px, 1px)); padding: 0 calc(12 * var(--px, 1px)); border-radius: calc(8 * var(--px, 1px)); background: var(--night-800); color: var(--on-night); font: 700 0.98rem var(--font-display); text-decoration: none; }
  .cb-call-list a span { color: var(--signal); font-variant-numeric: tabular-nums; }
  body.booking-in-view .consult-bar { transform: translateY(110%); opacity: 0; pointer-events: none; }
  body.ok-consult-page { padding-bottom: calc(76 * var(--px, 1px)); }
}
@media (prefers-reduced-motion: reduce) { .consult-bar { transition: none; } }
/* consult fixes (0.2.58): contained header keeps its own button (no floating one here); sections sit edge to edge;
   the cut-out portrait fades out below the hands; phone call links stack. */
.consult-actions .wp-block-buttons { visibility: visible; }
.ok-consult .wp-block-post-content > * { margin-block-start: 0; }
.consult-portrait img { -webkit-mask-image: linear-gradient(180deg, #000 82%, transparent 99%); mask-image: linear-gradient(180deg, #000 82%, transparent 99%); }
.consult-calls .sep { padding-inline: 0.35em; }
@media (max-width: 781px) {
  .consult-calls { display: grid; gap: calc(6 * var(--px, 1px)); }
  .consult-calls .sep { display: none; }
  .consult-calls a { display: inline-flex; align-items: center; min-height: calc(44 * var(--px, 1px)); }
}.ok-consult .band-inner > p { max-width: var(--measure); }
.ticks.option-cards { max-width: none; grid-template-columns: repeat(auto-fit, minmax(calc(260 * var(--px, 1px)), 1fr)); gap: calc(16 * var(--px, 1px)); margin: 1.5rem 0 2rem; }
.ticks.option-cards li { padding: calc(22 * var(--px, 1px)) calc(22 * var(--px, 1px)) calc(22 * var(--px, 1px)) calc(22 * var(--px, 1px)); border-radius: var(--radius-media); background: #fff; border: 1px solid var(--day-line); border-top: calc(4 * var(--px, 1px)) solid var(--teal-deep); line-height: 1.55; }
.ticks.option-cards li::before { display: none; }
.ticks.option-cards li strong { display: block; margin-bottom: calc(8 * var(--px, 1px)); font: 700 1.1rem/1.3 var(--font-display); color: var(--teal-deep); }
.ok-panels { padding: calc(18 * var(--px, 1px)) calc(20 * var(--px, 1px)); border-radius: var(--radius-sign); background: rgba(255, 255, 255, 0.7); border: 1px solid var(--day-line); border-left: calc(4 * var(--px, 1px)) solid var(--teal-deep); font-size: 0.98rem; }
/* Portrait hero (About page, 0.2.58): reuses the consult hero; on phones the portrait shows above the words. */
.has-rail main .ok-portrait-hero .band-inner { padding-left: 0; }
@media (max-width: 781px) {
  .ok-portrait-hero .consult-hero-grid > .wp-block-column:last-child { display: flex; order: -1; }
  .ok-portrait-hero .consult-portrait img { max-height: calc(300 * var(--px, 1px)); width: auto; }
}/* glow behind the portrait drawn on the band, not the column (the column edges showed as faint lines) */
.consult-hero-grid > .wp-block-column:last-child { background: none; }
.ok-consult-hero.night-1 { background: radial-gradient(ellipse 30% 55% at 79% 64%, rgba(60, 207, 196, 0.17), rgba(60, 207, 196, 0) 100%), linear-gradient(180deg, var(--night-900) 0%, var(--night-800) 100%); }
/* Owner, 10 Oct 2026: the About page top shows a real photograph in a frame (a cut-out looked as if it floated on the
   dark ground). The whole photograph is shown, so his head is never cropped. */
.consult-portrait.is-framed img { width: auto; max-width: min(100%, calc(400 * var(--px, 1px))); max-height: calc(540 * var(--px, 1px)); object-fit: contain; border-radius: calc(20 * var(--px, 1px)); box-shadow: 0 calc(24 * var(--px, 1px)) calc(60 * var(--px, 1px)) rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.08); -webkit-mask-image: none; mask-image: none; }
/* Light page top for a framed portrait (owner, 10 Oct 2026): the photograph has a white studio ground, so the page top is
   the same pale shade and the picture's edges fade into it instead of sitting as a white card on a dark band. */ .ok-portrait-hero.is-light{background:linear-gradient(90deg,#fcfcfa 0%,#fcfcfa 56%,#eceae7 100%)}.ok-portrait-hero.is-light h1,.ok-portrait-hero.is-light .hero-lead{color:var(--on-day)}.ok-portrait-hero.is-light .hero-eyebrow{color:var(--teal-deep)}.ok-portrait-hero.is-light .consult-portrait.is-framed img{max-width:min(100%,calc(460 * var(--px,1px)));max-height:calc(600 * var(--px,1px));border-radius:0;box-shadow:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 86%,transparent 100%),linear-gradient(180deg,#000 86%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 86%,transparent 100%),linear-gradient(180deg,#000 86%,transparent 100%);mask-composite:intersect}@media (max-width:781px){.ok-portrait-hero.night-1{background:radial-gradient(ellipse 60% 22% at 50% 22%,rgba(60,207,196,0.17),rgba(60,207,196,0) 100%),linear-gradient(180deg,var(--night-900) 0%,var(--night-800) 100%)}}.ok-ivideo-band.band{padding-block:clamp(2.5rem,2rem + 2vw,4rem)}.ok-ivideo{margin:0;max-width:calc(760 * var(--px,1px));display:grid;gap:calc(14 * var(--px,1px));padding:clamp(calc(18 * var(--px,1px)),2.5vw,calc(28 * var(--px,1px)));border-radius:var(--radius-media);background:#fff;border:1px solid var(--day-line);box-shadow:0 calc(18 * var(--px,1px)) calc(40 * var(--px,1px)) calc(-30 * var(--px,1px)) rgba(12,18,20,0.45)}.ok-ivideo-kicker{margin:0;display:inline-flex;align-items:center;gap:calc(8 * var(--px,1px));font:700 0.8rem/1.2 var(--font-display);letter-spacing:0.1em;text-transform:uppercase;color:var(--teal-deep)}.ok-ivideo-kicker::before{content:"";width:0;height:0;border-style:solid;border-width:calc(5 * var(--px,1px)) 0 calc(5 * var(--px,1px)) calc(8 * var(--px,1px));border-color:transparent transparent transparent currentColor}.ok-ivideo-title{margin:0;font-size:clamp(1.15rem,1.05rem + 0.4vw,1.35rem);color:var(--on-day)}.ok-ivideo-points{margin:0;padding:0;list-style:none;display:grid;gap:calc(6 * var(--px,1px));color:var(--on-day-dim)}.ok-ivideo-points li{position:relative;padding-left:calc(20 * var(--px,1px))}.ok-ivideo-points li::before{content:"";position:absolute;left:2px;top:0.6em;width:calc(8 * var(--px,1px));height:calc(8 * var(--px,1px));border-radius:2px;background:var(--signal)}.ok-ivideo .ok-vplay{border-radius:calc(8 * var(--px,1px));overflow:hidden}.ok-ivideo.is-vertical .ok-vplay{max-width:calc(300 * var(--px,1px))}.ok-ivideo-meta{font-size:0.92rem;color:var(--on-day-dim)}.ok-ivideo-meta a{color:var(--teal-link)}/* ---------- Phone hero:the photo fills the whole hero behind the words (owner,3 Oct 2026;replaces the 25 Sep "top
   photo band fading into the copy" on phones). A graded dark veil keeps the words readable (AA on the darkest part). */ @media (max-width:781px){.wp-block-cover.ok-hero{min-height:min(100svh,calc(860 * var(--px,1px)));padding-bottom:2.25rem}.wp-block-cover.ok-hero .wp-block-cover__image-background,.wp-block-cover.ok-hero .wp-block-cover__background{height:100%}.wp-block-cover.ok-hero .wp-block-cover__background{background:linear-gradient(180deg,rgba(12,18,20,0.38) 0%,rgba(12,18,20,0.5) 22%,rgba(12,18,20,0.74) 48%,rgba(12,18,20,0.86) 100%) !important}.ok-hero .hero-copy{padding-top:clamp(5.5rem,24svh,12.5rem)}.ok-hero h1,.ok-hero .hero-eyebrow,.ok-hero .hero-lead,.ok-hero .hero-cred,.ok-hero .subline{text-shadow:0 1px calc(14 * var(--px,1px)) rgba(12,18,20,0.55)}.ok-hero .consult{border-top-color:rgba(233,241,239,0.28)}.ok-hero .consult p{color:var(--on-night)}}.consult-hero-bg{display:none}@media (max-width:781px){.ok-consult-hero.has-phone-photo{position:relative;isolation:isolate;padding-top:clamp(4rem,16svh,8rem)}.consult-hero-bg.wp-block-image{display:block;position:absolute;inset:0;margin:0;z-index:-1}.consult-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:64% 50%;border-radius:0}.consult-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,18,20,0.42) 0%,rgba(12,18,20,0.55) 20%,rgba(12,18,20,0.78) 46%,rgba(12,18,20,0.9) 100%)}.ok-consult-hero.has-phone-photo h1,.ok-consult-hero.has-phone-photo .hero-eyebrow,.ok-consult-hero.has-phone-photo .hero-lead{text-shadow:0 1px calc(14 * var(--px,1px)) rgba(12,18,20,0.55)}.ok-consult-hero.has-phone-photo .is-style-ok-ghost .wp-block-button__link{background:rgba(12,18,20,0.45);border-color:rgba(233,241,239,0.45)}.photo-band.phone-hide{display:none}}/* ad page phone hero,recomposed:Dr Leo's face stays in the clear zone above the words (never behind text); the photo
   covers the upper part and melts into the band colour under the copy. */
@media (max-width: 781px) {
  .ok-consult-hero.has-phone-photo { padding-top: clamp(14.5rem, 31svh, 16.5rem); }
  .consult-hero-bg.wp-block-image { inset: 0 0 auto 0; height: min(62%, calc(600 * var(--px, 1px))); }
  .consult-hero-bg img { object-position: 67% 0; }
  .consult-hero-bg::after { background: linear-gradient(180deg, rgba(12,18,20,0.18) 0%, rgba(12,18,20,0.12) 34%, rgba(17,24,26,0.62) 58%, rgba(17,24,26,0.92) 84%, var(--night-900) 100%); }
}/* ad page phone hero, fixed geometry (owner's phone,3 Oct 12:03:the eyebrow sat across his face):the photo area and the start of the words use fixed sizes,so his face (upper ~45% of the photo) is always above the first line. */ @media (max-width:781px){.ok-consult-hero.has-phone-photo{padding-top:14.25rem}.consult-hero-bg.wp-block-image{inset:0 0 auto 0;height:23rem}.consult-hero-bg img{object-position:67% 0}.consult-hero-bg::after{background:linear-gradient(180deg,rgba(12,18,20,0.16) 0%,rgba(12,18,20,0.1) 44%,rgba(17,24,26,0.7) 66%,rgba(17,24,26,0.94) 88%,var(--night-900) 100%)}}.wp-block-cover.bg-photo{min-height:0;padding:var(--space-section) 0;align-items:flex-start;color:var(--on-night);background:var(--night-900)}.wp-block-cover.bg-photo .wp-block-cover__inner-container{width:100%;color:var(--on-night)}.wp-block-cover.bg-photo .wp-block-cover__background{opacity:1 !important;background:linear-gradient(90deg,rgba(12,18,20,0.93) 0%,rgba(12,18,20,0.86) 42%,rgba(12,18,20,0.62) 72%,rgba(12,18,20,0.42) 100%) !important}.bg-photo h2,.bg-photo h3{color:var(--on-night)}.bg-photo .band-inner>p{color:#dfe9e6}.bg-photo .ticks.option-cards li{color:var(--on-day);box-shadow:0 calc(18 * var(--px,1px)) calc(40 * var(--px,1px)) calc(-26 * var(--px,1px)) rgba(0,0,0,0.7)}.bg-photo .faq details{border-color:rgba(233,241,239,0.28)}@media (max-width:781px){.wp-block-cover.bg-photo .wp-block-cover__background{background:linear-gradient(180deg,rgba(12,18,20,0.8) 0%,rgba(12,18,20,0.86) 55%,rgba(12,18,20,0.92) 100%) !important}}@media (max-width:781px){.wp-block-cover.bg-photo .wp-block-cover__image-background{height:34rem;bottom:auto}.wp-block-cover.bg-photo .wp-block-cover__background{background:linear-gradient(180deg,rgba(12,18,20,0.5) 0,rgba(12,18,20,0.62) 9rem,rgba(14,21,23,0.86) 22rem,var(--night-900) 34rem) !important}.bg-photo h2,.bg-photo .band-inner>p{text-shadow:0 1px calc(12 * var(--px,1px)) rgba(12,18,20,0.6)}}/* Photo-backed sections,bespoke phone and tablet pictures (owner,3 Oct 13:00):each screen size has a fixed "photo
   window" at the top of the section,so a picture composed for that screen shows its focal point clear of the words. Phone (<= 781 px):window 26rem tall (about 1:1);the words start at 15rem;focal point in the upper half. Tablet (782-1199):window 30rem tall (about 2:1);the words start at 17rem;focal point in the upper half. Desktop (>= 1200):the photo fills the section;words on the left two-thirds;focal point in the right third. */ @media (max-width:781px){.wp-block-cover.bg-photo{padding-top:15rem}.wp-block-cover.bg-photo .wp-block-cover__image-background{height:26rem;bottom:auto;object-position:50% 0 !important}.wp-block-cover.bg-photo .wp-block-cover__background{background:linear-gradient(180deg,rgba(12,18,20,0.14) 0,rgba(12,18,20,0.1) 9rem,rgba(14,21,23,0.72) 16.5rem,rgba(14,21,23,0.94) 22rem,var(--night-900) 26rem) !important}}@media (min-width:782px) and (max-width:1199px){.wp-block-cover.bg-photo{padding-top:17rem}.wp-block-cover.bg-photo .wp-block-cover__image-background{height:30rem;bottom:auto;object-position:50% 0 !important}.wp-block-cover.bg-photo .wp-block-cover__background{background:linear-gradient(180deg,rgba(12,18,20,0.14) 0,rgba(12,18,20,0.1) 10rem,rgba(14,21,23,0.72) 18.5rem,rgba(14,21,23,0.94) 25rem,var(--night-900) 30rem) !important}}@media (min-width:1200px){.wp-block-cover.bg-photo .wp-block-cover__background{background:linear-gradient(90deg,rgba(12,18,20,0.93) 0%,rgba(12,18,20,0.86) 40%,rgba(12,18,20,0.5) 68%,rgba(12,18,20,0.22) 100%) !important}}body.booking-in-view .qa-book,body.booking-in-view .qa-whatsapp{opacity:0;visibility:hidden;transform:translateY(calc(12 * var(--px,1px)));transition:opacity .25s,transform .25s,visibility 0s .25s}.band .ok-book{margin-top:clamp(1.5rem,1rem + 2vw,2.5rem);max-width:calc(1100 * var(--px,1px))}.slim-book{font-weight:600}/* Lead photograph inside a steps section (owner,3 Oct 2026:the consultation-desk photo sits in "Your appointment"). */ .step-lead{max-width:calc(1040 * var(--px,1px));margin:clamp(1.25rem,1rem + 1.5vw,2.25rem) auto clamp(1.5rem,1rem + 2vw,2.75rem)}.step-lead img{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;border-radius:var(--radius-media)}.split.on-photo .photo-space{margin:0;min-height:1px}@media (max-width:1199px){.split.on-photo>.wp-block-column:last-child{display:none}}.ok-book-auto.band{padding-block:var(--space-section)}@media (min-width:1280px){.has-rail .ok-book-auto .band-inner{padding-left:calc(var(--rail-w) + var(--rail-gap))}}/* Full-width photographs (owner,3 Oct 2026):edge to edge,no bare columns beside them. Wide and shallow on large screens;the natural 3:2 on phones. object-position keeps heads in frame (Dr Leo's head is never cropped). */
.band.has-full-photo > .step-lead { max-width: none; margin-inline: 0; }
.band.has-full-photo > .step-lead img, .photo-band.is-full .photo-break img { border-radius: 0; }
.photo-band.is-full.band { padding-block: 0; }
.photo-band.is-full .photo-break { max-width: none; margin: 0; }
@media (min-width: 782px) {
  .band.has-full-photo > .step-lead img, .photo-band.is-full .photo-break img { aspect-ratio: 2 / 1; object-position: 50% 38%; }
}
@media (min-width: 1600px) {
  .band.has-full-photo > .step-lead img, .photo-band.is-full .photo-break img { aspect-ratio: 2.3 / 1; }
}
.band.has-full-photo > figure.step-lead { margin-block: clamp(1.75rem, 1rem + 2.5vw, 3rem) !important; }

/* Scene background (owner, 3 Oct 2026): a full-width 2:1 photograph with its people on the right. On desktop it keeps
   its natural height at the top of the section (50vw) so a tall section never blows the people up; the left is veiled
   for the words and the route map, the right stays clear, and the picture fades into the night ground below. */
@media (min-width: 1200px) {
  .wp-block-cover.bg-photo.scene .wp-block-cover__image-background { height: auto; aspect-ratio: 2 / 1; bottom: auto; object-position: 50% 50% !important; }
  .wp-block-cover.bg-photo.scene .wp-block-cover__background { background:
    linear-gradient(180deg, rgba(14,21,23,0) 0, rgba(14,21,23,0) calc(50vw - 16rem), var(--night-900) calc(50vw - 1px), var(--night-900) 100%),
    linear-gradient(90deg, rgba(12,18,20,0.94) 0%, rgba(12,18,20,0.88) 40%, rgba(12,18,20,0.45) 58%, rgba(12,18,20,0.06) 74%, rgba(12,18,20,0) 100%) !important; }
}
/* An alert card keeps its own dark-red heading on a photo-backed section. */
.bg-photo .alert h3 { color: #7a1a14; }

/* Library section backgrounds (owner, 3 Oct 2026): full width, the words over them. On desktop the picture keeps its
   natural height at the top of the section (never blown up by a tall section) and fades into the section's ground. */ @media (min-width:1200px){.wp-block-cover.bg-photo.lib{--bg-h:66.667vw}.wp-block-cover.bg-photo.lib.ar-21{--bg-h:50vw}.wp-block-cover.bg-photo.lib .wp-block-cover__image-background{height:var(--bg-h);bottom:auto;object-position:50% 50% !important}.wp-block-cover.bg-photo.lib:not(.is-day) .wp-block-cover__background{background:linear-gradient(180deg,rgba(14,21,23,0) 0,rgba(14,21,23,0) calc(var(--bg-h) - 18rem),var(--night-900) calc(var(--bg-h) - 1px),var(--night-900) 100%),linear-gradient(90deg,rgba(12,18,20,0.93) 0%,rgba(12,18,20,0.86) 42%,rgba(12,18,20,0.5) 66%,rgba(12,18,20,0.16) 100%) !important}}@media (min-width:1200px){.wp-block-cover.bg-photo.lib .band-inner>:not(.wp-block-table):not(figure){max-width:39rem}.wp-block-cover.bg-photo.lib:not(.is-day) .wp-block-cover__background{background:linear-gradient(180deg,rgba(14,21,23,0) 0,rgba(14,21,23,0) calc(var(--bg-h) - 18rem),var(--night-900) calc(var(--bg-h) - 1px),var(--night-900) 100%),linear-gradient(90deg,rgba(12,18,20,0.94) 0%,rgba(12,18,20,0.9) 46%,rgba(12,18,20,0.55) 62%,rgba(12,18,20,0.12) 78%,rgba(12,18,20,0) 100%) !important}}@media (min-width:1200px) and (min-height:600px){.photo-pin>.photo-band.is-full{position:sticky;top:0;height:100vh;z-index:0}.photo-pin>.photo-band.is-full .photo-break{height:100%}.photo-pin>.photo-band.is-full .photo-break img{height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 24%}.photo-pin>.band.over-photo{position:relative;z-index:1;background:linear-gradient(180deg,rgba(12,18,20,0.62) 0,rgba(12,18,20,0.82) 9rem,rgba(12,18,20,0.84) 100%)}.photo-pin>.band.over-photo::before{display:none}}@media (min-width:782px){.photo-band.is-full .photo-break img{aspect-ratio:16 / 9;object-position:50% 20%}}@media (min-width:1200px) and (min-height:600px){.photo-pin>.photo-band.is-full .photo-break img{aspect-ratio:auto;object-position:50% 24%}}/* Appointment section:each clinic's numbers sit on their own line under its name (owner, 3 Oct 2026). */
.ok-book-call { display: block; }
.ok-book-nums { margin: 0 0 calc(6 * var(--px, 1px)); font: 700 1.2rem/1.3 var(--font-display); font-variant-numeric: tabular-nums; color: var(--on-night); }
.ok-book-nums a { display: inline-flex; align-items: center; min-height: calc(44 * var(--px, 1px)); color: inherit; text-decoration: none; }
.ok-book-nums a:hover, .ok-book-nums a:focus-visible { text-decoration: underline; }
.ok-book-nums span { margin: 0 0.35em; opacity: 0.6; }
@media (min-width: 1200px) and (max-width: 1599px) { .wp-block-cover.bg-photo.lib .band-inner > :not(.wp-block-table):not(figure) { max-width: 33rem; } }

/* ---------- Bright-key photo-backed sections (owner, 3-4 Oct 2026): dark words on a pale wash over a bright landscape,
   as the Recovery Reflections do. Class .is-day on a .bg-photo cover (maker: bgKey "day"). ---------- */
.wp-block-cover.bg-photo.is-day { color: var(--on-day); background: var(--day-100); }
.wp-block-cover.bg-photo.is-day .wp-block-cover__inner-container { color: var(--on-day); }
.bg-photo.is-day h2, .bg-photo.is-day h3 { color: var(--on-day); text-shadow: none; }
.bg-photo.is-day .band-inner > p, .bg-photo.is-day .band-inner > ul, .bg-photo.is-day .band-inner > ol { color: var(--on-day-dim); text-shadow: none; }
.bg-photo.is-day .faq details { border-color: rgba(18, 33, 36, 0.18); }
.bg-photo.is-day .loc h3 { color: var(--on-night); }   /* 9 Oct 2026: the clinic cards stay dark on a bright picture, so their names stay light */
@media (max-width: 781px) {
  .wp-block-cover.bg-photo.is-day .wp-block-cover__background { background: linear-gradient(180deg, rgba(242,247,245,0.08) 0, rgba(242,247,245,0.06) 9rem, rgba(242,247,245,0.78) 16.5rem, rgba(238,245,242,0.96) 22rem, var(--day-100) 26rem) !important; }
}
@media (min-width: 782px) and (max-width: 1199px) {
  .wp-block-cover.bg-photo.is-day .wp-block-cover__background { background: linear-gradient(180deg, rgba(242,247,245,0.08) 0, rgba(242,247,245,0.06) 10rem, rgba(242,247,245,0.78) 18.5rem, rgba(238,245,242,0.96) 25rem, var(--day-100) 30rem) !important; }
}
@media (min-width: 1200px) {
  .wp-block-cover.bg-photo.lib.is-day .wp-block-cover__background { background:
    linear-gradient(180deg, rgba(234,242,239,0) 0, rgba(234,242,239,0) calc(var(--bg-h) - 18rem), var(--day-100) calc(var(--bg-h) - 1px), var(--day-100) 100%),
    linear-gradient(90deg, rgba(244,248,247,0.94) 0%, rgba(244,248,247,0.92) calc(50% + var(--txt-end)), rgba(244,248,247,0.5) calc(50% + var(--txt-end) + 5rem), rgba(244,248,247,0.08) calc(50% + var(--txt-end) + 11rem), rgba(244,248,247,0) calc(50% + var(--txt-end) + 16rem)) !important; }
  .wp-block-cover.bg-photo.lib.is-day { --txt-end: 13.5rem; }   /* measured 10 Oct: the text column ends 196px right of centre at 1366 to 1599, 292px from 1600 up */
  /* Owner, 10 Oct 2026: the words must not run over the picture's foliage. The pale wash now holds to the end of the text column at every desktop width (the column ends about 18.5rem right of centre),and the picture sits 7% further right so its subject stays in the clear part. */ .wp-block-cover.bg-photo.lib.is-day .wp-block-cover__image-background{left:7% !important}}@media (min-width:1600px){.wp-block-cover.bg-photo.lib.is-day{--txt-end:20rem}/* 9 Oct 2026:the pale wash holds to the END of the text column (about 64% at 1440),so line ends never run over the picture's subject */
}

/* ---------- Seasons section break (owner, 4 Oct 2026): seasonal landscape, brand mark fading in at the centre ---------- */
.season-fig { position: relative; margin: 0; }
.season-fig picture { display: block; height: 100%; }
.season-fig picture img { display: block; width: 100%; }
.season-mark { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 0.5rem; padding: 1.5rem; text-align: center; color: #fff;
  background: radial-gradient(ellipse 52% 46% at 50% 50%, rgba(12,18,20,0.62) 0%, rgba(12,18,20,0.36) 55%, rgba(12,18,20,0) 100%); }
.season-mark .season-logo { width: clamp(13rem, 9rem + 20vw, 27rem); height: auto !important; aspect-ratio: auto !important; border-radius: 0 !important; object-fit: contain !important; }
.season-by { font: 600 clamp(0.95rem, 0.8rem + 0.6vw, 1.35rem)/1.2 var(--font-display); letter-spacing: 0.06em; color: #e6f1ee; }
.season-line { margin-top: 0.6rem; font: 700 clamp(1.25rem, 0.9rem + 1.7vw, 2.4rem)/1.15 var(--font-display); color: #fff; text-shadow: 0 2px calc(18 * var(--px, 1px)) rgba(12,18,20,0.55); }
@media (max-width: 781px) { .season-fig picture img { aspect-ratio: 1 / 1; object-fit: cover; } }
.ok-motion .season-fig .season-mark > * { opacity: 0; transform: translateY(calc(14 * var(--px, 1px))); transition: opacity 1.9s ease, transform 1.9s ease; }
.ok-motion .season-fig .season-mark > :nth-child(1) { transition-delay: 0.35s; }
.ok-motion .season-fig .season-mark > :nth-child(2) { transition-delay: 0.9s; }
.ok-motion .season-fig .season-mark > :nth-child(3) { transition-delay: 1.5s; }
.ok-motion .season-fig.is-in .season-mark > * { opacity: 1; transform: none; }
@media (min-width: 1200px) and (min-height: 600px) { .photo-pin > .season-break .season-fig picture img { object-position: 50% 50%; } }
.season-fig .season-mark { max-width: none !important; width: 100%; margin: 0 !important; font-size: inherit; }
.ok-motion .season-fig .season-mark > :nth-child(2) { transition-delay: 1.1s; }
.season-fig .season-mark .season-logo { width: clamp(13rem, 9rem + 20vw, 27rem) !important; max-width: 80% !important; height: auto !important; object-fit: contain !important; aspect-ratio: auto !important; border-radius: 0 !important; }

/* A seasons break above the shared "Meet Dr Sean Leo" section: that section keeps its own solid ground and glides over the held picture. */
.photo-pin > .season-break + :not(.over-photo) { position: relative; z-index: 1; }

/* The section that glides over a seasons break needs a denser veil: the bright brand mark must not ghost through the words. */
@media (min-width: 1200px) and (min-height: 600px) {
  .photo-pin > .season-break + .band.over-photo { background: linear-gradient(180deg, rgba(12,18,20,0.8) 0, rgba(12,18,20,0.95) 7rem, rgba(12,18,20,0.96) 100%); }
}

/* Warning box across the full width under a photo-backed split section (owner, 4 Oct 2026); two columns of points on desktop. */
.wide-after { margin-top: clamp(1.5rem, 1rem + 2vw, 2.5rem); }
.wide-after .alert { max-width: none; }
/* (owner, 4 Oct: the points stay one below the other; the words run across the full width) */

/* Insurance panels box on a dark or photo-backed section (owner, 4 Oct 2026: the words were pale on a pale box).
   The box is always a light card with dark words, whatever the section behind it. */
.night .ok-panels, .wp-block-cover.bg-photo .ok-panels, .band.over-photo .ok-panels { background: rgba(246, 250, 249, 0.96); color: var(--on-day); border-color: rgba(18, 33, 36, 0.14); border-left-color: var(--signal); text-shadow: none; }
.night .ok-panels p, .wp-block-cover.bg-photo .ok-panels p, .band.over-photo .ok-panels p,
.night .ok-panels strong, .wp-block-cover.bg-photo .ok-panels strong, .band.over-photo .ok-panels strong { color: var(--on-day); text-shadow: none; }
/* Route map: "Back to the top" (owner, 4 Oct 2026), to return to the page's route overview and choose another stop. */ .rail-top{display:flex;align-items:center;justify-content:center;gap:0.4em;width:100%;min-height:calc(40 * var(--px,1px));margin-bottom:calc(8 * var(--px,1px));padding:0 calc(10 * var(--px,1px));border:1px solid var(--night-line);border-radius:calc(999 * var(--px,1px));background:transparent;color:var(--on-night);font:700 0.84rem/1 var(--font-display);text-decoration:none;cursor:pointer}.rail-top:hover,.rail-top:focus-visible{border-color:var(--signal);color:var(--signal)}/* Words stay clear of the floating 'Arrange a consultation' and WhatsApp buttons (owner,4 Oct 2026):on desktop the content column ends before the buttons' strip at the right edge. Heroes keep their own layout. */
@media (min-width: 1280px) {
  main .band-inner, .ok-book-auto .band-inner { padding-right: max(0px, calc(17.5rem - (100vw - min(100vw - 2 * var(--gutter), var(--wrap))) / 2)); }
  main .ok-hero .band-inner, main .ok-consult-hero .band-inner, main .ok-portrait-hero .band-inner { padding-right: 0; }
}
@media (min-width: 1280px) { .split.on-photo > .wp-block-column:first-child { flex-basis: 64% !important; } .split.on-photo > .wp-block-column:last-child { flex-basis: 36% !important; } }
/* Wide version of a standalone photograph from 782 px (class w-img-<file>, inc/art-direction.php; owner, 3 Oct 2026). */
.photo-break picture { display: block; height: 100%; }
@media (min-width: 782px) { .photo-band.is-full .photo-break[class*="w-img-"] img { aspect-ratio: 2.3 / 1; object-position: 50% 50%; } }
@media (min-width: 1200px) and (min-height: 600px) { .photo-pin > .photo-band.is-full .photo-break[class*="w-img-"] img { aspect-ratio: auto; object-position: 50% 50%; } }
/* Consent banner wording v1.1 (Hermes H-090): policy links on their own line, each choice with a short explanation,
   the always-on note inside Preferences. Accept and Reject share one button style (equal prominence). */
.ok-consent-links { display: flex; flex-wrap: wrap; gap: calc(4 * var(--px, 1px)) calc(18 * var(--px, 1px)); margin: calc(-4 * var(--px, 1px)) 0 calc(12 * var(--px, 1px)); }
.ok-consent-links a { display: inline-flex; align-items: center; min-height: calc(32 * var(--px, 1px)); color: var(--on-night); text-decoration: underline; }
.ok-consent-prefs label { align-items: flex-start; }
.ok-consent-prefs label input { flex: none; margin-top: 2px; }
.ok-consent-prefs label strong { display: block; }
.ok-consent-prefs label span { color: var(--on-night-dim); }
.ok-consent-prefs label span strong { color: var(--on-night); }
.ok-consent-note { margin: 0; color: var(--on-night-dim); font-size: 0.92em; }
.ok-consent { max-height: calc(100vh - calc(24 * var(--px, 1px))); overflow-y: auto; }
/* Plain utility pages (privacy policy): the "in short" call-out. */
.ok-plain .ok-note { margin-block: 1.25rem; padding: 1rem 1.25rem; border-left: calc(4 * var(--px, 1px)) solid var(--signal); border-radius: calc(10 * var(--px, 1px)); background: rgba(255,255,255,0.7); }
.ok-plain .ok-note > :first-child { margin-top: 0; } .ok-plain .ok-note > :last-child { margin-bottom: 0; }
.ok-article .wp-block-post-content > .ok-legal { max-width: 46rem; margin-inline: 0; }
.ok-legal :where(h2) { margin-top: 2.5rem; font-size: clamp(1.35rem, 1.2rem + 0.8vw, 1.75rem); }
.ok-consent:focus { outline: none; }
/* ---------- Soft mint cards instead of white boxes (owner, 4 Oct 2026: no pure white; R2 no flat white).
   One tint for the insurance panels box wherever it appears, the option cards, the inline video card and the
   plain-page call-out. ---------- */
:root { --card-mint: linear-gradient(180deg, #dbefea 0%, #cee8e2 100%); --card-mint-line: rgba(11, 110, 114, 0.22); }
.ok-panels, .night .ok-panels, .wp-block-cover.bg-photo .ok-panels, .band.over-photo .ok-panels,
.ticks.option-cards li, .ok-ivideo, .ok-plain .ok-note { background: var(--card-mint); border-color: var(--card-mint-line); }
.ok-panels, .night .ok-panels, .wp-block-cover.bg-photo .ok-panels, .band.over-photo .ok-panels { border-left-color: var(--teal-deep); }
.ok-plain .ok-note { border-left-color: var(--teal-deep); }
/* Pathway cards on the hub pages: sub-sections that are not cards (tables, "where is the pain") keep the text measure. */
.cards-extra { margin-top: 2.5rem; }
/* Reference marks as small numbered links (owner, 5 Oct 2026). */
sup.cite a { color: inherit; text-decoration: none; padding: 0 1px; }
sup.cite a:hover, sup.cite a:focus-visible { text-decoration: underline; opacity: 1; }
sup.cite:has(a) { opacity: 0.9; }
.refs.wp-block-list li { scroll-margin-top: 6rem; }
.refs.wp-block-list li:target { background: rgba(60, 207, 196, 0.16); outline: 2px solid var(--signal); outline-offset: calc(4 * var(--px, 1px)); border-radius: calc(6 * var(--px, 1px)); }

/* Privacy policy link at the point of collection, beside the appointment form button (H-105, PDPA). */
.ok-appointment-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1.2rem; }
.ok-appointment-privacy { color: inherit; font-size: 0.95em; text-decoration: underline; text-underline-offset: 0.2em; }
.ok-appointment-privacy:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; border-radius: 2px; }

/* The hero portrait (About page, ad pages) is the first thing a phone draws: it never waits for the scroll-in fade
   (Core Web Vitals gate, 5 Oct 2026: the fade held the largest paint back by about 1.5 s). */
.ok-motion .ok-portrait-hero .consult-portrait img, .ok-motion .ok-consult-hero .consult-portrait img { opacity: 1; transform: none; transition: none; }
/* The same for the ad pages' phone hero photograph behind the words (7 Oct 2026:largest paint at about 3.0 s on a phone). */ .ok-motion .band .consult-hero-bg.wp-block-image img{opacity:1;transform:none;transition:none}/* ---------- Wave-2 article components (Hermes H-106,6 Oct 2026):author line,jump links,take-home,urgent signs,closing buttons and a reference list with links,all held to the article's reading column. ---------- */
.ok-article .ok-author-line { font-size: 0.98rem; color: var(--on-day-dim); }
.ok-article .ok-jump.wp-block-list { list-style: none; padding: 0.25rem 0 0.25rem 1.1rem; border-left: 3px solid var(--signal); display: grid; gap: 0.4em; }
.ok-article .wp-block-post-content > .sign { max-width: 39.5rem; grid-template-columns: 1fr; }   /* the reading column: the box has larger type, so the ch-based measure would run wide */
.ok-article .wp-block-post-content > .sign::before { display: none; }
.ok-article .wp-block-post-content > .ok-urgent.wp-block-group { max-width: var(--measure); margin: 1.5rem auto 2rem; }
.ok-article .ok-urgent .urgent-title { margin-top: 0; }
.ok-article .ok-article-cta { margin-block: 1.5rem; gap: calc(12 * var(--px, 1px)); }
/* "Was this page helpful? Yes / No" (owner, 6 Oct 2026; H-108): understated, one line, fixed height so the thank-you
   replaces the buttons without moving the page; 44px targets. */
.ok-helpful { display: flex; flex-wrap: wrap; align-items: center; gap: calc(6 * var(--px, 1px)) calc(14 * var(--px, 1px)); max-width: var(--measure); min-height: calc(60 * var(--px, 1px)); margin: 2rem auto; padding: calc(8 * var(--px, 1px)) 0; border-top: 1px solid rgba(12, 18, 20, 0.14); color: var(--on-day-dim); font-size: 0.98rem; }
.ok-helpful[hidden] { display: none; }
.ok-helpful p { margin: 0; }
.ok-helpful-actions { display: flex; gap: calc(8 * var(--px, 1px)); }
.ok-helpful-actions[hidden] { display: none; }
.ok-helpful button { min-width: calc(64 * var(--px, 1px)); min-height: calc(44 * var(--px, 1px)); padding: 0 calc(16 * var(--px, 1px)); border: 1px solid currentColor; border-radius: calc(8 * var(--px, 1px)); background: transparent; color: inherit; font: 600 0.95rem/1 var(--font-display); cursor: pointer; }
.ok-helpful button:hover, .ok-helpful button:focus-visible { color: var(--night-950); border-color: var(--signal); background: var(--card-mint); }
.night .ok-helpful { color: var(--on-night-dim, rgba(255, 255, 255, 0.78)); border-top-color: rgba(255, 255, 255, 0.2); }
.band > .ok-helpful, .wp-block-post-content > .ok-helpful { padding-inline: 0; }
main > .ok-helpful, .entry-content > .ok-helpful { padding-inline: var(--gutter, calc(18 * var(--px, 1px))); }
/* safety notice in an article (wave-2 C6-07): a caution, not an emergency: mint card with a signal edge */
.ok-article .wp-block-post-content > .ok-notice.wp-block-group { max-width: var(--measure); margin: 1.5rem auto 2rem; padding: clamp(calc(18 * var(--px, 1px)), 3vw, calc(28 * var(--px, 1px))); border-radius: var(--radius-media); background: var(--card-mint); border-left: calc(6 * var(--px, 1px)) solid var(--signal); }
.ok-article .ok-notice .notice-title { margin: 0 0 calc(10 * var(--px, 1px)); font-size: 1.15rem; }
.ok-article .ok-notice .notice-list { margin: 0; padding-left: 1.2em; display: grid; gap: 0.5em; }
/* comparison tables in articles (wave-2 C2-06): soft mint card, never pure white; scrolls sideways on a narrow phone */
.ok-article .wp-block-post-content > .ok-table { max-width: var(--measure); margin: 1.5rem auto 2rem; overflow-x: auto; }
.ok-article .ok-table table { width: 100%; min-width: 30rem; border-collapse: collapse; background: var(--card-mint); border-radius: calc(12 * var(--px, 1px)); overflow: hidden; font-size: 0.98rem; line-height: 1.45; }
.ok-article .ok-table th, .ok-article .ok-table td { padding: 0.7rem 0.85rem; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid rgba(12, 18, 20, 0.12); }
.ok-article .ok-table thead th { font-family: var(--font-display); font-weight: 700; border-bottom: 2px solid var(--signal); }
.ok-article .ok-table tbody td:first-child { font-weight: 600; }
.ok-article .ok-table tbody tr:last-child td { border-bottom: 0; }
.ok-article .refs.wp-block-list { columns: auto; }
.ok-article .refs.wp-block-list li { display: block; position: relative; padding-left: calc(42 * var(--px, 1px)); }
.ok-article .refs.wp-block-list li::before { position: absolute; left: 0; top: calc(12 * var(--px, 1px)); }

/* Owner, 10 Oct 2026 (Q41): on phones the "What's covered" card starts folded to its stage headings; the button
   (added by route.js, so without scripts the card stays open) shows or hides the stops. Desktop unchanged. */
.map-more { display: none; }
@media (max-width: 599px) {
  .mapboard.has-more:not(.is-open) .map-stage ol { display: none; }
  .mapboard.has-more:not(.is-open) .map-stages { gap: calc(6 * var(--px, 1px)); margin-top: calc(18 * var(--px, 1px)); }
  .mapboard.has-more:not(.is-open) .map-stage h3 { padding-bottom: calc(4 * var(--px, 1px)); }
  .map-more { display: block; width: 100%; margin-top: calc(18 * var(--px, 1px)); padding: calc(12 * var(--px, 1px)) calc(16 * var(--px, 1px)); border-radius: calc(999 * var(--px, 1px)); border: 1px solid var(--night-line); background: transparent; color: var(--on-night); font: 700 1rem var(--font-display); cursor: pointer; }
  .map-more:hover, .map-more:focus-visible { border-color: var(--signal); color: var(--signal); }
}

/* Owner, 10 Oct 2026 (Q42): embedded Google map on the clinic pages ([ok2_clinic_map], inc/booking.php). */
.clinic-maps { display: grid; gap: 1.5rem; margin-top: 2.5rem; }
.clinic-map { margin: 0; background: var(--card-mint); border-radius: var(--radius-media); overflow: hidden; }
.clinic-map iframe { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; min-height: calc(300 * var(--px, 1px)); border: 0; }
.clinic-map figcaption { display: grid; gap: 0.25rem; margin: 0; max-width: none; padding: 0.9rem 1.1rem 1.1rem; font-size: 0.95rem; color: #1c2a2c; }
.clinic-map figcaption a { justify-self: start; font-weight: 700; }
@media (min-width: 782px) {
  .clinic-maps-2 { grid-template-columns: 1fr 1fr; }
  .clinic-maps-1 .clinic-map iframe { aspect-ratio: 21 / 9; min-height: calc(380 * var(--px, 1px)); }
}

/* Post-surgery page top on phones (10 Oct 2026): the phone picture keeps the baker small at the top right so the headline
   has a clear bench under it; the window therefore shows the RIGHT part of the square picture, or he is cut off. */
@media (max-width: 781px) {
  .wp-block-cover.m-img-ok2-post-surgery-hero-phone-ai-v2 picture.ok-art img.wp-block-cover__image-background { object-position: 100% 35% !important; }
}

/* ---------- POLISH STAGE 2 (11 Oct 2026): buttons and focus states, one grammar site-wide ----------
   Owner, 3 Oct: premium buttons with a gentle border glow on hover and focus. The glow is the design system's "stop halo"
   (a soft ring in the route colour) with a short drop under it: signal on night grounds, deep teal on day and mint.
   Hover lifts only where a pointer can hover; a press settles the button back; keyboard focus always shows a ring. */
:root {
  --teal-deeper: #083c45;
  --glow-night: 0 0 0 calc(4 * var(--px, 1px)) rgba(60, 207, 196, 0.2), 0 calc(12 * var(--px, 1px)) calc(26 * var(--px, 1px)) calc(-12 * var(--px, 1px)) rgba(60, 207, 196, 0.7);
  --glow-day: 0 0 0 calc(4 * var(--px, 1px)) rgba(11, 79, 90, 0.16), 0 calc(12 * var(--px, 1px)) calc(24 * var(--px, 1px)) calc(-12 * var(--px, 1px)) rgba(11, 79, 90, 0.55);
  --glow-press-night: 0 0 0 2px rgba(60, 207, 196, 0.28);
  --glow-press-day: 0 0 0 2px rgba(11, 79, 90, 0.22);
}
/* focus ring: the route colour of the ground it sits on (mint was missing: signal on mint is too faint) */
:is(.day, .mint, .ok-article, .ok-post) :focus-visible { outline-color: var(--teal-deep); }
:is(.night, .site-header, .site-footer, .ok-consent, .ok-book, .rail, .routebar) :focus-visible { outline-color: var(--signal); }
/* a control over a photograph, or floating over any ground, gets a two-tone ring that shows on pale and dark alike */
:is(.wp-block-cover, .over-photo, .ok-hero, .ok-consult-hero.has-phone-photo) :is(a, button, summary):focus-visible,
.qa-book a:focus-visible, .qa-whatsapp a:focus-visible { outline: 3px solid var(--night-950); outline-offset: 2px; box-shadow: 0 0 0 calc(7 * var(--px, 1px)) var(--signal-hi); }

/* an outline button over a page-top photograph keeps a visible edge (the hairline colour was lost on the picture) */
.ok-hero .is-style-ok-ghost .wp-block-button__link { border-color: rgba(233, 241, 239, 0.5); background: rgba(12, 18, 20, 0.35); }

/* every button-like control moves with the same timing */
:is(.wp-block-button__link, .btn, .qa-book a, .qa-whatsapp a, .ok-appointment-send, .ok-book-wa a, .ok-consent button, .ok-helpful button, .rail-top, .map-more, .routebar button) {
  transition: background-color .25s var(--ease-out), color .25s var(--ease-out), border-color .25s var(--ease-out), box-shadow .35s var(--ease-out), transform .35s var(--ease-out);
  -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
/* the main actions share one shape */
.qa-book a, .ok-appointment-send { border-radius: var(--radius-sign); }
.ok-appointment-send { min-height: calc(52 * var(--px, 1px)); padding-block: 0; }
.qa-book a::after { content: ""; width: calc(16 * var(--px, 1px)); height: calc(16 * var(--px, 1px)); background: currentColor; transition: transform .3s var(--ease-out);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11M11 5.5 15.5 10 11 14.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11M11 5.5 15.5 10 11 14.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.wp-block-button__link:focus-visible::after, .qa-book a:focus-visible::after { transform: translateX(3px); }

/* glow: keyboard focus on every ground */
:is(.night, .site-header) .wp-block-button__link:focus-visible, .night .btn:focus-visible, .ok-appointment-send:focus-visible, .ok-book-wa a:focus-visible,
.ok-consent button:focus-visible, .rail-top:focus-visible, .map-more:focus-visible, .routebar button:focus-visible { box-shadow: var(--glow-night); }
:is(.day, .mint) .wp-block-button__link:focus-visible, :is(.day, .mint) .btn:focus-visible, .ok-post-end .wp-block-button__link:focus-visible, .ok-helpful button:focus-visible { box-shadow: var(--glow-day); }
:is(.day, .mint) .wp-block-button__link:focus-visible, .ok-post-end .wp-block-button__link:focus-visible { background: var(--teal-deeper); }
:is(.night, .site-header) .wp-block-button__link:focus-visible { background: var(--signal-hi); }
:is(.night, .day, .mint, .ok-post-end) .is-style-ok-ghost .wp-block-button__link:focus-visible { background: transparent; }
/* glow and lift: pointer hover only (a phone tap never leaves a button stuck in its hover look) */
@media (hover: hover) {
  :is(.night, .site-header) .wp-block-button__link:hover, .night .btn:hover, .qa-book a:hover, .ok-appointment-send:hover, .ok-book-wa a:hover,
  .ok-consent button:hover, .rail-top:hover, .map-more:hover, .routebar button:hover { box-shadow: var(--glow-night); }
  :is(.day, .mint) .wp-block-button__link:hover, :is(.day, .mint) .btn:hover, .ok-post-end .wp-block-button__link:hover, .ok-helpful button:hover { box-shadow: var(--glow-day); }
  .ok-motion :is(.wp-block-button__link, .btn, .qa-book a, .ok-appointment-send, .ok-book-wa a):hover { transform: translateY(-1px); }
  .qa-book a:hover::after { transform: translateX(3px); }
  :is(.day, .mint) .ok-appointment:not(.ok-book *) .ok-appointment-send:hover { box-shadow: var(--glow-day); }
  .qa-whatsapp a:hover { box-shadow: 0 0 0 calc(5 * var(--px, 1px)) rgba(37, 211, 102, 0.22), 0 calc(14 * var(--px, 1px)) calc(26 * var(--px, 1px)) calc(-12 * var(--px, 1px)) rgba(12, 18, 20, 0.6); }
  :is(.day, .mint) .is-style-ok-ghost .wp-block-button__link:hover, .ok-post-end .is-style-ok-ghost .wp-block-button__link:hover { background: rgba(11, 79, 90, 0.07); border-color: var(--teal-deeper); color: var(--teal-deeper); }
  .night .is-style-ok-ghost .wp-block-button__link:hover { background: rgba(60, 207, 196, 0.08); }
  .routebar button:hover { border-color: var(--signal); color: var(--signal); }
}
:is(.day, .mint) .ok-appointment:not(.ok-book *) .ok-appointment-send:focus-visible { box-shadow: var(--glow-day); }
/* press: the button settles and the glow tightens */
:is(.night, .site-header) .wp-block-button__link:active, .night .btn:active, .qa-book a:active, .ok-appointment-send:active, .ok-book-wa a:active,
.ok-consent button:active, .rail-top:active, .map-more:active, .routebar button:active { transform: translateY(0) scale(0.985); box-shadow: var(--glow-press-night); transition-duration: .08s; }
:is(.day, .mint) .wp-block-button__link:active, :is(.day, .mint) .btn:active, .ok-post-end .wp-block-button__link:active, .ok-helpful button:active { transform: translateY(0) scale(0.985); box-shadow: var(--glow-press-day); transition-duration: .08s; }
.qa-whatsapp a:active { transform: scale(0.96); transition-duration: .08s; }
/* controls that are switched off (the helpful buttons after an answer, a form while it sends) */
:is(.ok-appointment-send, .ok-helpful button, .ok-consent button):disabled { opacity: 0.55; cursor: default; box-shadow: none; transform: none; }

/* form fields: the border takes the route colour and a soft ring instead of a hard outline alone */
.ok-appointment input[type="text"], .ok-appointment input[type="email"], .ok-appointment input[type="tel"] { transition: border-color .25s var(--ease-out), box-shadow .3s var(--ease-out); }
@media (hover: hover) { .ok-appointment input:hover { border-color: var(--teal-deep); } :is(.night, .ok-book) .ok-appointment input:hover { border-color: var(--signal); } }
.ok-appointment input:focus-visible { outline: 2px solid var(--teal-deep); outline-offset: 0; border-color: var(--teal-deep); box-shadow: 0 0 0 calc(5 * var(--px, 1px)) rgba(11, 79, 90, 0.16); }
:is(.night, .ok-book) .ok-appointment input:focus-visible { outline-color: var(--signal); border-color: var(--signal); box-shadow: 0 0 0 calc(5 * var(--px, 1px)) rgba(60, 207, 196, 0.2); }
/* text links: the underline sits clear of the letters everywhere */
:where(.band, .ok-post, .ok-article, .site-footer) a { text-underline-offset: 0.18em; }

/* About page top on desktop (layout shift 0.015): the page top already fills the first screen before the script adds the
   route overview to it, so the section below never moves in view; the framed portrait also keeps its box before it loads. */
@media (min-width: 782px) { .ok-portrait-hero.is-light { min-height: min(calc(100vh - calc(190 * var(--px, 1px))), calc(760 * var(--px, 1px))); } }
@media (min-width: 782px) { .ok-portrait-hero.is-light .consult-portrait.is-framed img { width: min(100%, calc(450 * var(--px, 1px))); height: auto; max-height: none; } }

/* ---------- POLISH STAGE 3 (11 Oct 2026): motion in the words ----------
   Owner, 3 Oct: elegant motion in the words. In the "arriving at a stop" grammar the marker lands, the place name slides
   in and the statement rises; now the WORDS of that stretch follow the statement in: the sub-headings, paragraphs,
   lists and detours settle up 10 px one beat after another (no more than .6 s between the first and the last), and the
   points of a tick list land one at a time. Whatever lies below the first screen of a long stretch is simply there when
   the reader reaches it: the motion marks the arrival at a stop, never every line of the reading. Grouped cards on the
   hub pages step in; an article's headings arrive the same way. All of it is opacity and transform only, under
   html.ok-motion (reduced motion: nothing is hidden), fired once by the observers route.js already runs after the
   first paint (a stop the page opened below counts as arrived). */
.ok-motion .band-inner > :is(.section-head, .marker) ~ :where(h2, h3, h4, p, ul:not(.ticks), ol, .wp-block-details, .wp-block-buttons, .wp-block-table, .ok-panels, .ok-ivideo, .alert, .faq, .ok-helpful, .wp-block-columns:not(.junction, .region-cards, .step-cards, .locations)) {
  --arrive: .6s; opacity: 0; transform: translateY(calc(10 * var(--px, 1px))); transition: opacity .7s var(--ease-out), transform .7s var(--ease-out); transition-delay: var(--arrive); }
.ok-motion .band-inner > :is(.section-head, .marker).is-in ~ :where(h2, h3, h4, p, ul:not(.ticks), ol, .wp-block-details, .wp-block-buttons, .wp-block-table, .ok-panels, .ok-ivideo, .alert, .faq, .ok-helpful, .wp-block-columns:not(.junction, .region-cards, .step-cards, .locations)) { opacity: 1; transform: none; }
/* each beat is 80 ms after the last; from the sixth block on, all together */
.ok-motion .band-inner > :is(.section-head, .marker) ~ :nth-child(2) { --arrive: .26s; }
.ok-motion .band-inner > :is(.section-head, .marker) ~ :nth-child(3) { --arrive: .34s; }
.ok-motion .band-inner > :is(.section-head, .marker) ~ :nth-child(4) { --arrive: .42s; }
.ok-motion .band-inner > :is(.section-head, .marker) ~ :nth-child(5) { --arrive: .5s; }
.ok-motion .band-inner > :is(.section-head, .marker) ~ :nth-child(6) { --arrive: .58s; }
/* a tick list: the points land one at a time on their beat */
.ok-motion .band-inner > :is(.section-head, .marker) ~ .ticks > li { --i: 5; opacity: 0; transform: translateY(calc(8 * var(--px, 1px))); transition: opacity .6s var(--ease-out), transform .6s var(--ease-out); transition-delay: calc(var(--arrive, .6s) + .07s * var(--i)); }
.ok-motion .band-inner > :is(.section-head, .marker).is-in ~ .ticks > li { opacity: 1; transform: none; }
.ok-motion .band-inner > :is(.section-head, .marker) ~ .ticks > li:nth-child(1) { --i: 0; } .ok-motion .band-inner > :is(.section-head, .marker) ~ .ticks > li:nth-child(2) { --i: 1; }
.ok-motion .band-inner > :is(.section-head, .marker) ~ .ticks > li:nth-child(3) { --i: 2; } .ok-motion .band-inner > :is(.section-head, .marker) ~ .ticks > li:nth-child(4) { --i: 3; }
.ok-motion .band-inner > :is(.section-head, .marker) ~ .ticks > li:nth-child(5) { --i: 4; }
/* the Structure / Patient / Goal cards come after the lead sentence, then join into the plan */
.ok-motion .junction .wp-block-column { transition-delay: .3s; } .ok-motion .junction .wp-block-column:nth-child(2) { transition-delay: .4s; } .ok-motion .junction .wp-block-column:nth-child(3) { transition-delay: .5s; }
/* hub pages: the region cards and the appointment steps step in one after another; the route overview's head rises */
.ok-motion :is(.region-cards, .step-cards) > .wp-block-column, .ok-motion .mapboard-head { opacity: 0; transform: translateY(calc(14 * var(--px, 1px))); transition: opacity .7s var(--ease-out), transform .7s var(--ease-out); }
.ok-motion :is(.region-cards, .step-cards) > .wp-block-column.is-in, .ok-motion .mapboard-head.is-in { opacity: 1; transform: none; }
.ok-motion :is(.region-cards, .step-cards) > .wp-block-column:nth-child(2) { transition-delay: .1s; } .ok-motion :is(.region-cards, .step-cards) > .wp-block-column:nth-child(3) { transition-delay: .2s; }
.ok-motion :is(.region-cards, .step-cards) > .wp-block-column:nth-child(4) { transition-delay: .3s; }
/* articles: the title block settles in on load (the picture is the first thing painted, so nothing waits for this); each heading rises as the reader reaches it */
.ok-motion .ok-post .ok-post-head .band-inner > * { opacity: 0; transform: translateY(calc(12 * var(--px, 1px))); transition: opacity .8s var(--ease-out), transform .8s var(--ease-out); }
.ok-motion.is-loaded .ok-post .ok-post-head .band-inner > * { opacity: 1; transform: none; }
.ok-motion .ok-post .ok-post-head .band-inner > :nth-child(2) { transition-delay: .06s; } .ok-motion .ok-post .ok-post-head .band-inner > :nth-child(3) { transition-delay: .14s; }
.ok-motion .ok-article .wp-block-post-content > h2 { opacity: 0; transform: translateY(calc(10 * var(--px, 1px))); transition: opacity .8s var(--ease-out), transform .8s var(--ease-out); }
.ok-motion .ok-article .wp-block-post-content > h2.is-in { opacity: 1; transform: none; }

/* ---------- POLISH STAGE 4 (11 Oct 2026): cards ----------
   A card is a signpost to a place. At rest it lies flat on its line; under the pointer, or with a focused control inside
   it, a card that leads somewhere lifts on a soft offset shadow, its photograph eases a little closer, its edge takes
   the route colour and its arrow moves on. Cards that lead nowhere (the appointment steps, Structure / Patient / Goal,
   the option cards) do not pretend to: they stay still. The whole of a linked card answers a click (route.js adds
   is-linked and sends the click to the card's own link; the link itself keeps its place in the keyboard order).
   Pointer effects sit in @media (hover: hover); focus-within gives the keyboard the same lift. The coloured left
   stripes of the insurance panel and the article notice become the route's top rule, the device every card uses. */
:root { --card-lift: 0 calc(18 * var(--px, 1px)) calc(36 * var(--px, 1px)) calc(-20 * var(--px, 1px)) rgba(12, 18, 20, 0.45), 0 2px calc(6 * var(--px, 1px)) -3px rgba(12, 18, 20, 0.16);
        --card-lift-night: 0 calc(22 * var(--px, 1px)) calc(40 * var(--px, 1px)) calc(-20 * var(--px, 1px)) rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(60, 207, 196, 0.25); }
.region.wp-block-group, .ok-posts .wp-block-post, .ok-vcard-thumb { transition: transform .45s var(--ease-out), box-shadow .45s var(--ease-out), border-color .3s var(--ease-out); }
.region > .wp-block-image img, .ok-posts .wp-block-post-featured-image img { transition: transform .9s var(--ease-out); }
.ok-posts .wp-block-post-featured-image { overflow: hidden; }
.ok-vcard-play { transition: transform .3s var(--ease-out), background-color .3s var(--ease-out); }
.is-linked { cursor: pointer; }
/* the lifted state: pointer over the card, or a focused control inside it */
@media (hover: hover) {
  .region.wp-block-group:hover, .ok-posts .wp-block-post:hover { transform: translateY(-3px); box-shadow: var(--card-lift); border-color: var(--line, var(--teal-deep)); border-top-color: var(--line, var(--teal-deep)); }
  .night .region.wp-block-group:hover { box-shadow: var(--card-lift-night); }
  .region.wp-block-group:hover > .wp-block-image img, .ok-posts .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.04); }
  .ok-vcard-link:hover .ok-vcard-thumb { transform: translateY(-3px); box-shadow: var(--card-lift); }
  .ok-vcard-link:hover .ok-vcard-play { transform: scale(1.1); background: var(--signal-hi); }
  .region:hover p > a:only-child::after { transform: translateX(calc(4 * var(--px, 1px))); }
}
.region.wp-block-group:focus-within, .ok-posts .wp-block-post:focus-within { transform: translateY(-3px); box-shadow: var(--card-lift); border-color: var(--line, var(--teal-deep)); }
.night .region.wp-block-group:focus-within { box-shadow: var(--card-lift-night); }
.ok-vcard-link:focus-visible .ok-vcard-thumb { transform: translateY(-3px); box-shadow: var(--card-lift); }
.region p > a:only-child:focus-visible::after { transform: translateX(calc(4 * var(--px, 1px))); }
/* the pathway link at the foot of a hub card: a signpost arrow, not a bare underline */
.region p > a:only-child { font-family: var(--font-display); font-weight: 700; color: var(--teal-deep); text-decoration: none; }   /* inline, so the arrow follows the last word of the link, not the edge of the card */
.night .region p > a:only-child { color: var(--signal); }
.region p > a:only-child::after { content: ""; display: inline-block; vertical-align: -3px; width: calc(16 * var(--px, 1px)); height: calc(16 * var(--px, 1px)); margin-left: calc(6 * var(--px, 1px)); background: currentColor; transition: transform .3s var(--ease-out);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11M11 5.5 15.5 10 11 14.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11M11 5.5 15.5 10 11 14.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.region p > a:only-child:hover, .region p > a:only-child:focus-visible { text-decoration: underline; text-underline-offset: 0.2em; }
/* article cards: the title is the destination; the whole card says so */
.ok-posts .wp-block-post:hover .wp-block-post-title a, .ok-posts .wp-block-post:focus-within .wp-block-post-title a { color: var(--teal-deep); }
/* the route's top rule in place of a coloured left stripe (insurance panel, article notice, plain-page note) */
.ok-panels, .night .ok-panels, .wp-block-cover.bg-photo .ok-panels, .band.over-photo .ok-panels, .ok-plain .ok-note { border-left-width: 1px; border-left-color: var(--card-mint-line); border-top: 3px solid var(--teal-deep); }
.ok-article .wp-block-post-content > .ok-notice.wp-block-group { border-left-width: 1px; border-left-color: var(--card-mint-line); border-top: 3px solid var(--signal); }

/* ---------- POLISH STAGE 5 (11 Oct 2026): icons ----------
   One drawn set at one stroke weight (1.8, round caps and joins) in the sprite route.js prints: chevron, up arrow, route,
   fork, flag, play; the booking arrow and the pathway arrow are drawn masks of the same family. No typed characters
   stand in for icons. Pictorial icons (regions, steps, contact lines) wait for the owner's decision (section 10). */
.rail-top svg { width: calc(14 * var(--px, 1px)); height: calc(14 * var(--px, 1px)); flex: none; transition: transform .3s var(--ease-out); }
@media (hover: hover) { .rail-top:hover svg { transform: translateY(-2px); } }
.rail-top:focus-visible svg { transform: translateY(-2px); }

/* ---------- POLISH STAGE 6 (11 Oct 2026): page-type passes ----------
   What the look at every section of each page type (390 and 1440; then 820 and 2000) turned up, fixed by kind so every
   page that shares the component gets it. */
/* The "Illustrative image" credit on page tops and Recovery Reflections sat hard against the floating WhatsApp button
   at the bottom right of a desktop screen (homepage, knee hub, ACL): it now keeps clear of the button. */
@media (min-width: 960px) { .ok-hero .hero-credit, .reflection .credit { right: calc(104 * var(--px, 1px)); } }   /* the credit sits against the full-width band, so 104 px clears the 56 px button and its 18 px margin with room to spare */

/* WIDE SCREENS (owner, 10 Oct 2026): "squeezed into the centre" on a large desktop. From 1600 px the whole layout grows
   in proportion to the screen (up to 2400 px), so a wide desktop shows the laptop view, larger. The root font size
   follows the width, and the build (theme/tools/scale-px.js) ties every pixel length to --px. */
:root { --px: 1px; }
@media (min-width: 1600px) {
  html { font-size: clamp(100%, 1vw, 150%); }
  :root { --px: 0.0625rem; --wp--style--global--content-size: 47.5rem; --wp--style--global--wide-size: 77.5rem; }
}

/* ---------- POLISH STAGE 8 (12 Oct 2026): the owner's answers ----------
   (1) Clinic contact lines carry small drawn icons (place mark, handset, clock) from the sprite route.js prints;
   the words are unchanged. (2) A "What's covered" stage with many more stops than the others (the ACL page) takes a full
   row of the board and shows its stops as three lists side by side, each with its own route line; the other stages keep
   their order around it. Phones keep one column and the folded board. */
.contact-line-ic { display: flex; align-items: flex-start; gap: calc(10 * var(--px, 1px)); }
.contact-line-ic + .contact-line-ic { margin-top: calc(6 * var(--px, 1px)); }
.contact-line-ic.no-ic { padding-left: calc(26 * var(--px, 1px)); }
.contact-line-ic > svg { width: calc(16 * var(--px, 1px)); height: calc(16 * var(--px, 1px)); flex: none; margin-top: 0.3em; color: var(--signal); }
.map-stage.is-long { grid-column: 1 / -1; }
.map-stage.is-long .map-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 calc(34 * var(--px, 1px)); }
@media (max-width: 599px) { .map-stage.is-long { grid-column: auto; } .map-stage.is-long .map-cols { grid-template-columns: 1fr; } }
/* ---------- About page hero quotation (Hermes H-195, owner's own words,12 Oct 2026;theme 0.2.151) ---------- A quiet,secondary statement between the credentials line and the buttons:italic body type on a thin teal rule,the attribution in small display capitals. It never competes with the H1 or the buttons;no heading,no schema. */ .ok-portrait-hero .ok-hero-quote{margin:calc(22 * var(--px,1px)) 0 0;padding:2px 0 2px calc(18 * var(--px,1px));border-left:3px solid var(--signal);max-width:46ch}.ok-portrait-hero .ok-hero-quote blockquote{margin:0;padding:0;border:0;background:none}.ok-portrait-hero .ok-hero-quote p{margin:0;font:italic 400 1.04rem/1.55 var(--font-body);color:var(--on-night);text-wrap:pretty}.ok-portrait-hero .ok-hero-quote figcaption{margin-top:calc(8 * var(--px,1px));font:700 0.78rem/1.3 var(--font-display);letter-spacing:0.1em;text-transform:uppercase;color:var(--signal)}.ok-portrait-hero.is-light .ok-hero-quote{border-left-color:var(--teal-deep)}.ok-portrait-hero.is-light .ok-hero-quote p{color:var(--on-day-dim)}.ok-hero .hero-cred,.ok-portrait-hero .hero-cred{margin:calc(10 * var(--px,1px)) 0 0;max-width:62ch;font:600 0.95rem/1.5 var(--font-display);color:var(--on-night);text-wrap:pretty}.hero-cred .quals{display:block;margin-top:2px;font:400 0.9rem/1.5 var(--font-body);color:var(--on-night-dim)}.ok-portrait-hero.is-light .hero-cred{color:var(--on-day)}.ok-portrait-hero.is-light .hero-cred .quals{color:var(--on-day-dim)}.ok-portrait-hero.is-light .ok-hero-quote figcaption{color:var(--teal-deep)}.ok-portrait-hero .ok-hero-quote + .wp-block-buttons{margin-top:calc(28 * var(--px,1px))}@media (max-width:781px){.ok-portrait-hero .ok-hero-quote{margin-top:calc(18 * var(--px,1px));max-width:none}.ok-portrait-hero .ok-hero-quote p{font-size:1rem}}@media (max-width:781px){.wp-block-cover.ok-hero.own-photo .wp-block-cover__image-background{height:24rem;bottom:auto;object-position:50% 0 !important}.wp-block-cover.ok-hero.own-photo .wp-block-cover__background{height:24rem;background:linear-gradient(180deg,rgba(12,18,20,0.16) 0%,rgba(12,18,20,0.1) 44%,rgba(17,24,26,0.7) 66%,rgba(17,24,26,0.94) 88%,var(--night-900) 100%) !important}.ok-hero.own-photo .hero-copy{padding-top:15rem}}.ok-main{overflow-x:clip}.screen-reader-text{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ok-kicker{margin:0;font:700 0.8rem/1 var(--font-display);letter-spacing:0.14em;text-transform:uppercase;color:var(--signal)}.day .ok-kicker,.mint .ok-kicker{color:var(--teal-deep)}.ok-vplay{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius-media);overflow:hidden;background:var(--night-950);cursor:pointer}.ok-vplay.is-vertical{aspect-ratio:9 / 16}.ok-vplay img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ok-vplay iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.ok-vplay-btn{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-start;padding:calc(14 * var(--px,1px));text-decoration:none;color:var(--on-night);background:linear-gradient(180deg,rgba(12,18,20,0) 45%,rgba(12,18,20,0.72) 100%)}.ok-vplay-icon{width:calc(56 * var(--px,1px));height:calc(56 * var(--px,1px));border-radius:50%;background:var(--signal);display:grid;place-items:center;flex:none;box-shadow:0 calc(6 * var(--px,1px)) calc(20 * var(--px,1px)) rgba(0,0,0,0.35);transition:transform .25s var(--ease-out),background-color .25s var(--ease-out)}.ok-vplay-icon::before{content:"";margin-left:calc(4 * var(--px,1px));border-style:solid;border-width:calc(10 * var(--px,1px)) 0 calc(10 * var(--px,1px)) calc(16 * var(--px,1px));border-color:transparent transparent transparent var(--night-950)}.ok-vplay-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ok-vplay:hover .ok-vplay-icon,.ok-vplay-btn:focus-visible .ok-vplay-icon{transform:scale(1.06);background:var(--signal-hi)}.ok-vplay-btn:focus-visible{outline:3px solid var(--signal-hi);outline-offset:-3px}.ok-vplay.is-vertical .ok-vplay-icon{width:calc(44 * var(--px,1px));height:calc(44 * var(--px,1px))}.ok-vplay.is-vertical .ok-vplay-icon::before{border-width:calc(8 * var(--px,1px)) 0 calc(8 * var(--px,1px)) calc(13 * var(--px,1px))}.ok-vlatest.band{padding-block:clamp(2.25rem,1.5rem + 3vw,4.5rem)}.ok-vfeature{display:grid;gap:1.25rem;margin-top:0.9rem}.ok-vfeature-text h2{margin:0;font-size:clamp(1.45rem,1.1rem + 1.4vw,2.1rem);line-height:1.15}.ok-vfeature-text h2 a{color:var(--on-night);text-decoration:none}.ok-vfeature-text h2 a:hover{color:var(--signal-hi)}.ok-vmeta{margin:0.6rem 0 0;font:600 0.92rem var(--font-display);color:var(--on-night-dim)}.ok-vmeta a{color:var(--signal)}.day .ok-vmeta,.mint .ok-vmeta{color:var(--on-day-dim)}.day .ok-vmeta a,.mint .ok-vmeta a{color:var(--teal-link)}.ok-vpoints-title{margin:1.1rem 0 0.4rem;font:700 0.8rem var(--font-display);letter-spacing:0.12em;text-transform:uppercase;color:var(--signal)}.ok-vpoints{margin:0;padding-left:1.2rem;color:var(--on-night);display:grid;gap:0.35rem}.ok-vmore{margin:1.1rem 0 0;font:700 1rem var(--font-display)}.ok-vmore a{color:var(--signal)}.day .ok-vmore a,.mint .ok-vmore a{color:var(--teal-deep)}.ok-vchips{margin:0 0 2.25rem;padding-bottom:1.75rem;border-bottom:1px solid var(--night-line)}.ok-sep{margin-inline:0.45em}.ok-vchips-title{margin:0 0 0.75rem;font:700 0.8rem var(--font-display);letter-spacing:0.12em;text-transform:uppercase;color:var(--on-night-dim)}.ok-vchips ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:calc(8 * var(--px,1px))}.ok-vchips a{display:inline-flex;align-items:center;gap:calc(8 * var(--px,1px));min-height:calc(44 * var(--px,1px));padding:0 calc(14 * var(--px,1px));border:1px solid var(--night-line);border-radius:calc(999 * var(--px,1px));color:var(--on-night);text-decoration:none;font:600 0.9rem var(--font-display)}.ok-vchips a:hover,.ok-vchips a:focus-visible{border-color:var(--signal);color:var(--signal)}.ok-chip-n{font-size:0.78rem;color:var(--on-night-dim)}@media (max-width:599px){.ok-vchips ul{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:calc(8 * var(--px,1px));margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scrollbar-width:none}.ok-vchips ul::-webkit-scrollbar{display:none}.ok-vchips li{flex:none;scroll-snap-align:start}.ok-vchips a{min-height:calc(44 * var(--px,1px));white-space:nowrap;font-size:0.88rem}}.ok-vtopic.band{padding-block:clamp(2.5rem,2rem + 2vw,4rem);scroll-margin-top:calc(calc(76 * var(--px,1px)) + var(--wp-admin--admin-bar--height,0px))}.ok-vtopic-h{margin:0;font-size:clamp(1.4rem,1.15rem + 1vw,1.9rem);line-height:1.2}.band .band-inner>.ok-vtopic-line{margin-top:0.4rem;color:var(--on-day-dim);max-width:var(--measure)}.ok-vgrid{display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:calc(14 * var(--px,1px));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:calc(10 * var(--px,1px));margin-top:1.25rem;scrollbar-width:thin}.ok-vcard{scroll-snap-align:start}.ok-vcard-link{display:flex;flex-direction:column;gap:calc(8 * var(--px,1px));height:100%;color:var(--on-day);text-decoration:none}.ok-vcard-thumb{position:relative;display:block;aspect-ratio:16 / 9;border-radius:var(--radius-media);overflow:hidden;background:var(--night-900)}.ok-vcard-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease-out)}.ok-vcard-link:hover .ok-vcard-thumb img{transform:scale(1.03)}.ok-vcard-len{position:absolute;right:calc(8 * var(--px,1px));bottom:calc(8 * var(--px,1px));padding:2px calc(7 * var(--px,1px));border-radius:calc(4 * var(--px,1px));background:rgba(12,18,20,0.85);color:#fff;font:700 0.78rem/1.4 var(--font-display)}.ok-vcard-play{position:absolute;left:calc(10 * var(--px,1px));bottom:calc(10 * var(--px,1px));width:calc(36 * var(--px,1px));height:calc(36 * var(--px,1px));border-radius:50%;background:var(--signal);display:grid;place-items:center}.ok-vcard-play::before{content:"";margin-left:3px;border-style:solid;border-width:calc(7 * var(--px,1px)) 0 calc(7 * var(--px,1px)) calc(11 * var(--px,1px));border-color:transparent transparent transparent var(--night-950)}.ok-vcard-title{margin:0;font:700 1.05rem/1.3 var(--font-display)}.ok-vcard-link:hover .ok-vcard-title{color:var(--teal-deep)}.ok-vcard-link:focus-visible{outline:3px solid var(--teal-deep);outline-offset:calc(4 * var(--px,1px));border-radius:calc(4 * var(--px,1px))}.ok-vcard-date{font:600 0.84rem var(--font-display);color:var(--on-day-dim)}.ok-vall{margin-top:1rem}.ok-vall summary{cursor:pointer;display:inline-flex;align-items:center;min-height:calc(44 * var(--px,1px));font:700 1rem var(--font-display);color:var(--teal-deep)}.ok-vall[open] summary{margin-bottom:0.25rem}.ok-shorts{margin-top:1.75rem}.ok-shorts-h{margin:0;font:700 1.05rem var(--font-display)}.ok-shorts-h span{font-weight:600;color:var(--on-day-dim)}.ok-shorts-row{list-style:none;margin:0.9rem 0 0;padding:0 0 calc(10 * var(--px,1px));display:grid;grid-auto-flow:column;grid-auto-columns:42%;gap:calc(12 * var(--px,1px));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}.ok-short{scroll-snap-align:start;margin:0}.ok-short-title{margin:0.5rem 0 0;font:600 0.9rem/1.3 var(--font-display);color:var(--on-day)}.ok-vread{margin:1.5rem 0 0;font-weight:600}.ok-vread span{color:var(--on-day-dim)}.ok-vread a{color:var(--teal-link)}.ok-vnext.band{padding-block:clamp(2rem,1.5rem + 2vw,3rem)}.ok-vnext-text{margin:0;max-width:var(--measure);font-size:1.05rem;line-height:1.6;color:var(--on-day)}.ok-vnext-text a{color:var(--teal-link);font-weight:700}.ok-vchannel.band{padding-block:clamp(2rem,1.5rem + 2vw,3rem)}.ok-vchannel .band-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.ok-vchannel .band-inner>* + *{margin-block-start:0}.ok-vchannel-text{margin:0;font:700 1.1rem var(--font-display);color:var(--on-day)}.ok-vchannel-link{margin:0}.ok-watch-head .ok-kicker + .ok-post-title{margin-top:0.5rem}.ok-vwatch{margin-top:1.5rem;max-width:calc(960 * var(--px,1px))}.ok-vchapters{list-style:none;margin:0;padding:0;display:grid;gap:calc(4 * var(--px,1px))}.ok-vchapters a{display:flex;gap:calc(12 * var(--px,1px));min-height:calc(40 * var(--px,1px));align-items:center;color:var(--on-night);text-decoration:none}.ok-vchapters a span{font:700 0.9rem var(--font-display);color:var(--signal);min-width:3.2em}.ok-vchapters a:hover{color:var(--signal-hi)}.ok-watch .ok-freshness{color:var(--on-day-dim);margin-bottom:0.4rem}.ok-watch .ok-answer-summary,.ok-watch .ok-vsummary{font-size:1.12rem;line-height:1.6;max-width:calc(var(--measure) * 0.971)}.ok-watch .ok-vkeypoints{display:grid;gap:0.55rem;padding-left:1.2rem}.ok-watch h3.ok-vq{margin:1.6rem 0 0.4rem;font-size:1.12rem;line-height:1.35}.ok-watch .ok-vrelated-links{list-style:none;padding:0;display:grid;gap:2px}.ok-watch .ok-vrelated-links a{display:inline-flex;align-items:center;min-height:calc(44 * var(--px,1px));font-weight:600;color:var(--teal-link)}.ok-watch .ok-watch-about{margin-top:0;max-width:var(--measure);margin-inline:auto}.ok-vrelated h2{font-size:clamp(1.3rem,1.1rem + 0.8vw,1.7rem);margin:0}.ok-vrelated h2 + .ok-vread{margin-top:0.6rem}.ok-vrelated .ok-vread + h2{margin-top:2.25rem}.ok-vrow{margin-block:2.5rem}.ok-vrow h2{margin:0}@media (min-width:600px){.ok-vgrid{grid-auto-columns:46%}.ok-shorts-row{grid-auto-columns:26%}}@media (min-width:782px){.ok-vgrid{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);grid-auto-columns:auto;overflow:visible;gap:calc(28 * var(--px,1px)) calc(24 * var(--px,1px));padding-bottom:0}.ok-shorts-row{grid-auto-columns:calc(180 * var(--px,1px))}.ok-vfeature{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:2.5rem;align-items:center}}@media (min-width:1100px){.ok-shorts-row{grid-auto-columns:calc(200 * var(--px,1px))}}@media (prefers-reduced-motion:reduce){.ok-vcard-thumb img,.ok-vplay-icon{transition:none}}