﻿/* /solutions/drive-thru — "The Lane". Page-only styles; no shared-shell selectors except the route's own main. */
.ph-dt { --dt-bg:rgb(10,10,8);--dt-gold:#d4af37;--dt-gold-2:#c9a84c;--dt-ivory:#eee8d9;--dt-muted:#c3bfaf;--dt-line:rgba(212,175,55,.32);--dt-nav:68px;--dt-gap:54vh;
  background:var(--dt-bg);color:var(--dt-ivory);font-family:var(--font-body,Inter,system-ui,sans-serif);position:relative;isolation:isolate;overflow:visible; }
.ph-dt * { box-sizing:border-box; }
.ph-dt h1,.ph-dt h2,.ph-dt h3,.ph-dt p,.ph-dt figure,.ph-dt ul,.ph-dt ol { margin:0;padding:0; }
.ph-dt h1,.ph-dt h2 { font-family:var(--font-heading,Lora,serif);font-weight:400;letter-spacing:-.035em;color:var(--dt-ivory); }
.ph-dt h1 { font-size:clamp(34px,min(4.4vw,7.4vh),76px);line-height:1.02; }
.ph-dt h2 { font-size:clamp(25px,min(3.1vw,5vh),54px);line-height:1.08; }
.ph-dt h3 { font:500 clamp(15px,min(1.3vw,2.4vh),22px)/1.3 var(--font-body,Inter,sans-serif);color:var(--dt-ivory); }
.ph-dt p,.ph-dt li { font-size:clamp(13.5px,min(1.12vw,2.2vh),17.5px);line-height:1.55;color:var(--dt-muted); }
.ph-dt .dt-kicker,.ph-dt .dt-index { font:12px/1.4 ui-monospace,Consolas,'Liberation Mono',monospace;letter-spacing:.14em;color:var(--dt-gold);text-transform:uppercase; }
.ph-dt a { color:inherit; }
.ph-dt a:focus-visible,.ph-dt summary:focus-visible { outline:1px solid #ead49d;outline-offset:5px; }
.ph-dt .dt-actions { display:flex;gap:18px;align-items:center;flex-wrap:wrap; }
.ph-dt .dt-button { display:inline-flex;align-items:center;gap:14px;min-height:44px;padding:12px 22px;background:#d1b574;color:#11120c;border-radius:50px;font-size:13px;font-weight:600;text-decoration:none;letter-spacing:.02em; }
.ph-dt .dt-button:hover { background:#e2c88a; }
.ph-dt .dt-text-link { font-size:13px;text-underline-offset:6px;color:var(--dt-ivory); }

/* ---------- the journey: one sticky 3D stage under every beat ---------- */
.ph-dt .dt-journey { position:relative; }
.ph-dt .dt-stage { position:sticky;top:0;height:100vh;width:100%;overflow:hidden;z-index:0;background:var(--dt-bg); }
.ph-dt .dt-poster { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%;opacity:calc(.55 * var(--dt-canvas,1));filter:saturate(.9);transition:opacity .9s ease; }
.ph-dt .dt-canvas { position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .9s ease; }
.ph-dt[data-dt3d="ready"] .dt-canvas { opacity:var(--dt-canvas,1); }
/* after its first fade-in the canvas follows the scroll directly, never a timed transition behind it */
.ph-dt[data-dt-settled] .dt-canvas,.ph-dt[data-dt-settled] .dt-poster { transition:none; }
.ph-dt[data-dt3d="ready"] .dt-poster { opacity:0; }
.ph-dt .dt-veil { position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(10,10,8,.94) 0%,rgba(10,10,8,.92) 38%,rgba(10,10,8,.74) 44%,rgba(10,10,8,0) 57%),linear-gradient(180deg,rgba(10,10,8,.55) 0%,rgba(10,10,8,0) 16%,rgba(10,10,8,0) 78%,rgb(10,10,8) 100%); }
/* beats sit over the stage (the first is pulled up by the stage's own height) and scroll natively; the gap under
   each beat is where the car drives and the camera travels */
.ph-dt .dt-journey > .dt-stage + .dt-beat { margin-top:-100vh; }
.ph-dt .dt-beat { position:relative;z-index:1;padding-bottom:var(--dt-gap);pointer-events:none; }
.ph-dt .dt-hero { min-height:calc(100vh + var(--dt-gap));padding-top:calc(138px + 4vh); }
/* the finale copy holds under the header while the franchise finishes, the 3D fades to dark and its stage leaves, and
   goes as sheet 1 rises; its tail is a spacer inside the beat (sticky does not hold through a parent's padding) */
.ph-dt .dt-finale .dt-beat { padding-bottom:0; }
.ph-dt .dt-finale .dt-beat::after { content:'';display:block;height:calc(62.5vh + 270px); }
.ph-dt .dt-finale .dt-copy { position:sticky;top:calc(var(--dt-nav) + 3vh); }
.ph-dt .dt-copy { position:relative;width:min(34vw,560px);margin-left:6vw;display:flex;flex-direction:column;gap:clamp(10px,1.9vh,18px);pointer-events:auto; }
.ph-dt .dt-hero .dt-copy { width:min(38vw,620px);gap:clamp(12px,2.4vh,24px); }
.ph-dt .dt-lead { font-size:clamp(14.5px,min(1.2vw,2.35vh),19px);color:#d8d2c2; }
.ph-dt .dt-note { font:11.5px/1.5 ui-monospace,Consolas,monospace;letter-spacing:.06em;color:#9e977f; }
.ph-dt .dt-list { list-style:none;display:grid;gap:clamp(6px,1.2vh,11px); }
.ph-dt .dt-list li { position:relative;padding-left:22px;color:var(--dt-ivory); }
.ph-dt .dt-list li::before { content:'';position:absolute;left:0;top:.62em;width:12px;height:1px;background:var(--dt-gold); }
.ph-dt .dt-plate { position:relative;width:100%;max-width:520px;aspect-ratio:16/9;max-height:clamp(110px,26vh,300px);border:1px solid var(--dt-line);border-radius:18px;overflow:hidden;background:#141310;flex:none; }
.ph-dt .dt-plate img { width:100%;height:100%;object-fit:cover;display:block; }
.ph-dt .dt-beat .dt-plate { width:auto;height:clamp(110px,25vh,290px);max-width:100%; }

/* ---------- the visitor timer ---------- */
.ph-dt .dt-timer { position:fixed;right:clamp(14px,2vw,28px);top:calc(var(--dt-nav) + 14px);z-index:20;width:212px;padding:10px 12px;border-radius:14px;background:linear-gradient(180deg,#14130f,#0c0b09);border:1px solid rgba(212,175,55,.38);box-shadow:0 18px 50px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,236,190,.06);
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .45s ease,transform .45s ease,visibility 0s linear .45s,top .4s ease,border-color .5s,box-shadow .5s; }
.ph-dt .dt-timer.is-on { opacity:1;visibility:visible;transform:none;transition:opacity .45s ease,transform .45s ease,visibility 0s,top .4s ease,border-color .5s,box-shadow .5s; }
/* under the full-height site header at the very top of the page */
.ph-dt .dt-timer.is-top { top:152px; }
.ph-dt .dt-timer-head { display:flex;justify-content:space-between;gap:10px;font:10.5px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.13em;color:var(--dt-gold);text-transform:uppercase; }
.ph-dt .dt-timer-status { color:#8f886f;letter-spacing:.04em;text-transform:none; }
.ph-dt .dt-st-run { display:none; }
.ph-dt .dt-timer[data-state="running"] .dt-st-idle,.ph-dt .dt-timer[data-state="done"] .dt-st-idle { display:none; }
.ph-dt .dt-timer[data-state="running"] .dt-st-run,.ph-dt .dt-timer[data-state="done"] .dt-st-run { display:inline; }
.ph-dt .dt-timer-clock { display:flex;align-items:center;gap:5px;margin:8px 0 7px;height:36px; }
.ph-dt .dt-seg { height:36px;width:auto; }
.ph-dt .dt-seg path { fill:var(--dt-gold);opacity:.08;transition:opacity .12s; }
.ph-dt .dt-seg path.on { opacity:1;filter:drop-shadow(0 0 4px rgba(212,175,55,.55)); }
.ph-dt .dt-colon { width:5px;height:19px;display:grid;align-content:space-between;margin:0 2px; }
.ph-dt .dt-colon::before,.ph-dt .dt-colon::after { content:'';width:5px;height:5px;border-radius:50%;background:var(--dt-gold);box-shadow:0 0 6px rgba(212,175,55,.6); }
.ph-dt .dt-timer-text { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.ph-dt .dt-splits { list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:4px 8px;font:10px/1.3 ui-monospace,Consolas,monospace;letter-spacing:.06em; }
.ph-dt .dt-splits li { display:flex;flex-direction:column;gap:1px;padding:4px 5px;border-radius:7px;background:rgba(255,255,255,.025);color:#7d7763;font-size:9px;transition:background .4s,color .4s; }
.ph-dt .dt-splits li b { font-weight:500;color:#6c675a;font-size:10.5px;letter-spacing:.04em; }
.ph-dt .dt-splits li.is-stamped { background:rgba(212,175,55,.1);color:var(--dt-gold); }
.ph-dt .dt-splits li.is-stamped b { color:var(--dt-ivory); }
.ph-dt .dt-timer.is-reveal { border-color:rgba(212,175,55,.8);box-shadow:0 0 0 1px rgba(212,175,55,.25),0 24px 70px rgba(0,0,0,.6),0 0 46px rgba(212,175,55,.2); }

/* ---------- below the lane ---------- */
.ph-dt .dt-section { position:relative;z-index:1;padding:clamp(70px,13vh,150px) 6vw;background:var(--dt-bg); }
.ph-dt .dt-section-head { display:grid;gap:16px;max-width:760px;margin-bottom:clamp(36px,7vh,70px); }
/* standards: one working drawing at a time in a sticky stage. Each callout scrolls in and holds beside its drawing
   while the drawing plays, holds finished, then hands over; drive-thru-motion.js works the timing out from these rows.
   The rows are a lead-in while the stage settles, one beat per callout, and a tail so the last callout and the stage
   leave together. An empty sheet frame stays on the stage, so a hand-over never shows a bare stage, and a callout is
   only bright while its own drawing is showing. */
.ph-dt .dt-standards { padding:0 6vw;--std-x:40vh;--std-p:940px;margin-top:calc(-1 * var(--std-inset, 0px)); }
.ph-dt .dt-std { display:grid;grid-template-columns:minmax(0,min(34vw,560px)) minmax(0,1fr);column-gap:4vw;
  grid-template-rows:calc(var(--std-x) - var(--dt-nav) + 100px) var(--std-p) var(--std-p) calc(var(--std-p) + 40px) calc(100vh - var(--std-x) - var(--std-hl,220px)); }
.ph-dt .dt-std-stage { grid-column:2;grid-row:1 / -1;position:sticky;top:var(--dt-nav);height:calc(100vh - var(--dt-nav));display:grid;place-items:center;padding:16px 0 84px; }
.ph-dt .dt-std-stage .dt-sheet,.ph-dt .dt-std-stage .dt-sheet-frame { grid-area:1 / 1;width:min(100%,760px,calc((100vh - var(--dt-nav) - 100px) * 1.5));height:auto; }
.ph-dt .dt-std-stage .dt-sheet { opacity:var(--vis,0); }
.ph-dt .dt-std-stage .dt-sheet,.ph-dt .dt-std-stage .dt-sheet-frame { translate:0 calc(-1 * var(--std-lift, 0px)); }
.ph-dt .dt-std-stage .dt-sheet[data-k="0"] { --vis:1; }
.ph-dt .dt-std-beat { grid-column:1;--vis:0;--cvis:0; }
.ph-dt .dt-std-beat[data-k="0"] { --vis:1;--cvis:1; }
.ph-dt .dt-std-beat .dt-callout { position:sticky;top:var(--std-x);opacity:calc(.3 + .7 * var(--cvis)); }
.ph-dt .dt-std-beat[data-k="0"] { grid-row:2; }
.ph-dt .dt-std-beat[data-k="1"] { grid-row:3; }
.ph-dt .dt-std-beat[data-k="2"] { grid-row:4; }
.ph-dt .dt-callout { position:relative;display:grid;gap:10px;padding-top:26px;border-top:1px solid var(--dt-line); }
.ph-dt .dt-tick { position:absolute;top:-1px;left:0;width:calc(46px + (100% - 46px) * var(--q,0));height:1px;background:var(--dt-gold);box-shadow:0 0 10px rgba(212,175,55,.6); }
.ph-dt .dt-hl { transition:color .35s ease; }
.ph-dt .dt-hl.is-lit { color:var(--dt-gold); }
@media (min-width:900px) and (min-aspect-ratio:1/1) { .ph-dt .dt-sheet .lbl { font-size:7.6px; } .ph-dt .dt-sheet .ttl { font-size:8.4px; } }
/* sectors */
.ph-dt .dt-sector-row { display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,36px); }
.ph-dt .dt-sector { display:grid;gap:12px;align-content:start;opacity:calc(.35 + .65 * clamp(0,calc(var(--p,0) * 3 - var(--i) * .5),1));transform:translateY(calc((1 - clamp(0,calc(var(--p,0) * 3 - var(--i) * .5),1)) * 26px)); }
.ph-dt .dt-sector .dt-plate { max-width:none;max-height:none; }
/* requirements: the survey plan and its list hold still, centred under the header and clear of the adviser button,
   while the plan's six markers draw in list order, about one and a half wheel steps each; each list number fills as
   its marker's drawing completes */
.ph-dt .dt-survey-track { position:relative; }
.ph-dt .dt-survey { display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;align-content:center;position:sticky;top:var(--dt-nav);min-height:calc(100vh - var(--dt-nav));padding-bottom:64px; }
.ph-dt .dt-survey-run { display:block;height:1200px; }
.ph-dt .dt-req-list { counter-reset:req;list-style:none;display:grid;gap:14px; }
.ph-dt .dt-req-list li { --m:clamp(0,(var(--p,0) - (.12 + var(--k) * .16)) / .03,1);counter-increment:req;position:relative;padding-left:38px; }
.ph-dt .dt-req-list li::before { content:counter(req);position:absolute;left:0;top:-1px;width:24px;height:24px;border:1px solid var(--dt-gold);border-radius:50%;display:grid;place-items:center;font:600 11px ui-monospace,Consolas,monospace;
  color:rgb(calc(212 - 202 * var(--m)),calc(175 - 165 * var(--m)),calc(55 - 47 * var(--m)));background:rgba(212,175,55,calc(.92 * var(--m))); }
.ph-dt .dt-req-list b { color:var(--dt-ivory);font-weight:500; }
/* ==== drawings:begin (generated by tools/build-drive-thru.mjs from tools/drive-thru-drawings.mjs; do not edit by hand) ==== */
.dt-sheet,.dt-sheet-frame{display:block;overflow:visible}
.dt-sheet .frame,.dt-sheet-frame .frame{fill:#0e0d0a;stroke:rgba(212,175,55,.3);stroke-width:1;vector-effect:non-scaling-stroke}
.dt-sheet text{font-family:ui-monospace,Consolas,'Liberation Mono',Menlo,monospace;font-weight:600;fill:#d4af37;letter-spacing:.04em}
.dt-sheet .ttl{font-size:9.6px;letter-spacing:.16em;fill:#c9a84c}
.dt-sheet .lbl{font-size:9.2px}
.dt-sheet .ic{fill:none;stroke:#e3c066;stroke-linecap:round;stroke-linejoin:round}
.dt-sheet .scr{fill:#0b0a07;stroke:rgba(212,175,55,.6);stroke-width:.7}
.dt-sheet .brz{fill:#6b5426;stroke:#c9a84c;stroke-width:.6}
.dt-sheet .hood{fill:#a8843a}
.dt-sheet .stone{fill:#22201a;stroke:rgba(212,175,55,.5);stroke-width:.6}
.dt-sheet .bay{fill:#070706}
.dt-sheet .glint{stroke:rgba(255,236,190,.18);stroke-width:1.3}
.dt-sheet .vent{stroke:#2b2311;stroke-width:1.3}
.dt-sheet .led{stroke:#ffd98a;stroke-width:1}
.dt-sheet .grille{fill:#3e3c38;stroke:#d4af37;stroke-width:.6}
.dt-sheet .arc{fill:none;stroke:#e3c066;stroke-width:.9;stroke-linecap:round}.dt-sheet .arc2{opacity:.55}
.dt-sheet .band{fill:none;stroke:#a8843a;stroke-width:2.4;stroke-linecap:round}
.dt-sheet .cup{fill:#2a2926;stroke:rgba(212,175,55,.6);stroke-width:.6}
.dt-sheet .boom{fill:none;stroke:#e3c066;stroke-width:1}
.dt-sheet .tip{fill:#ffd98a}
.dt-sheet .tmr{fill:#050504;stroke:rgba(212,175,55,.6);stroke-width:.7}
.dt-sheet .seg{fill:#f0c95c}.dt-sheet .seg-off{fill:rgba(212,175,55,.1)}
.dt-sheet .dot{fill:#f0c95c}

.s1 .grid{stroke:rgba(212,175,55,.12);stroke-width:.6;fill:none}
.s1 .dev{--on:clamp(0, (var(--q) - (.03 + var(--k) * .065)) / .05, 1);opacity:calc(.62 + .38 * var(--on))}
.s1 .dev .lit{opacity:var(--on)}
.s1 .col{--t:calc(.4 + var(--c) * .09)}
.s1 .col .ph{opacity:calc(.16 * (1 - clamp(0, (var(--q) - var(--t)) / .03, 1)))}
.s1 .col .gl{opacity:clamp(0, (var(--q) - var(--t) - .035) / .035, 1);transform:translateY(calc((1 - clamp(0, (var(--q) - var(--t) - .035) / .035, 1)) * -3px))}
.s1 .col .flash{fill:rgba(212,175,55,.13);opacity:calc(clamp(0, (var(--q) - var(--t) - .02) / .025, 1) * (1 - clamp(0, (var(--q) - var(--t) - .06) / .03, 1)))}
.s1 .colh{opacity:calc(.5 + .5 * clamp(0, (var(--q) - (.4 + var(--c) * .09) - .035) / .035, 1))}
.s1 .crate{fill:rgba(212,175,55,.04);stroke:rgba(212,175,55,.55);stroke-width:.8;stroke-dasharray:100px;stroke-dashoffset:calc(100px * (1 - clamp(0, (var(--q) - 0.8) / 0.06, 1)))}
.s1 .spares .gl{opacity:clamp(0, (var(--q) - 0.85) / 0.04, 1)}
.s1 .sph{opacity:calc(.5 + .5 * clamp(0, (var(--q) - 0.85) / 0.04, 1))}
.s1 .rules path{fill:none;stroke:rgba(212,175,55,.4);stroke-width:.8;stroke-dasharray:100px;stroke-dashoffset:calc(100px * (1 - clamp(0, (var(--q) - 0.89) / 0.08, 1)))}

.s2 .bezel{fill:#12110d;stroke:rgba(212,175,55,.45);stroke-width:.9}
.s2 .screen{fill:#0a0907;stroke:rgba(212,175,55,.22);stroke-width:.6}
.s2 .sep{stroke:rgba(212,175,55,.16);stroke-width:.6}
.s2 .h-menus{opacity:calc(.55 + .45 * clamp(0, (var(--q) - 0.02) / 0.04, 1))}
.s2 .h-promo{opacity:calc(.55 + .45 * clamp(0, (var(--q) - 0.46) / 0.04, 1))}
.s2 .h-rep{opacity:calc(.55 + .45 * clamp(0, (var(--q) - 0.77) / 0.04, 1))}
.s2 .segbox{fill:rgba(212,175,55,.04);stroke:rgba(212,175,55,.22);stroke-width:.6}
.s2 .now{fill:rgba(212,175,55,.14);stroke:#d4af37;stroke-width:.9;transform:translateX(calc(42px * clamp(0, (var(--q) - 0.06) / 0.08, 1)))}
.s2 .dp-b0{opacity:calc(1 - clamp(0, (var(--q) - 0.06) / 0.03, 1))}
.s2 .dp-l0{opacity:clamp(0, (var(--q) - 0.11) / 0.03, 1)}
.s2 .promo-tile{stroke:rgba(212,175,55,calc(.22 + .6 * clamp(0, (var(--q) - 0.46) / 0.04, 1)))}
.s2 .promo-art{opacity:calc(.5 + .5 * clamp(0, (var(--q) - 0.46) / 0.04, 1))}
.s2 .badge{fill:#e3c066}
.s2 .cell{fill:none;stroke:rgba(212,175,55,.3);stroke-width:.6;stroke-dasharray:2 2}
.s2 .doc path{fill:none;stroke:#e3c066;stroke-width:.8;stroke-linejoin:round;stroke-linecap:round}
.s2 .doc{opacity:clamp(0, (var(--q) - (0.93 + var(--k) * .015)) / .02, 1)}
.s2 .wire{fill:none;stroke:rgba(212,175,55,.42);stroke-width:.8}
.s2 .pulse{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:7px 300px;stroke-dashoffset:calc(7px - 107px * var(--a));opacity:calc(clamp(0, var(--a) * 14, 1) * clamp(0, (1 - var(--a)) * 14, 1))}
.s2 .pulse.dn{stroke:#ffd98a}
.s2 .pulse.dn.m{--a:clamp(0, (var(--q) - 0.14) / 0.2, 1)}
.s2 .pulse.dn.p{--a:clamp(0, (var(--q) - 0.5) / 0.2, 1)}
.s2 .pulse.up{stroke:#f3ecd9;--a:clamp(0, (var(--q) - (0.79 + var(--k) * .015)) / 0.16, 1)}
.s2 .led{stroke:#ffd98a;stroke-width:.8}
.s2 .pane{fill:#0b0a07;stroke:rgba(212,175,55,.5);stroke-width:.55}
.s2 .board{--s:clamp(0, (var(--q) - 0.33) / 0.1, 1)}
.s2 .board.local{--s:0}
.s2 .dp{--w:clamp(0, var(--s) * 1.5 - var(--j) * .25, 1)}
.s2 .dp.b{opacity:calc(1 - clamp(0, var(--w) / .45, 1))}
.s2 .dp.l{opacity:clamp(0, (var(--w) - .55) / .45, 1)}
.s2 .dp.l.l2{opacity:calc(clamp(0, (var(--w) - .55) / .45, 1) * (1 - clamp(0, (var(--q) - 0.68) / 0.03, 1)))}
.s2 .dp.pr{opacity:clamp(0, (var(--q) - 0.71) / 0.04, 1)}
.s2 .board.local .dp.b.b2{opacity:calc(1 - clamp(0, (var(--q) - 0.68) / 0.03, 1))}
.s2 .dpl.b{opacity:calc(1 - clamp(0, var(--s) / .3, 1))}
.s2 .dpl.l{opacity:clamp(0, (var(--s) - .7) / .3, 1)}
.s2 .ltag{opacity:calc(.5 + .5 * clamp(0, (var(--q) - 0.37) / 0.04, 1))}
.s2 .clock{fill:none;stroke:#d4af37;stroke-width:.8}
.s2 .hand{stroke:#d4af37;stroke-width:.8;stroke-linecap:round}
.s2 .brk{fill:none;stroke:rgba(212,175,55,.38);stroke-width:.7}
.s2 .brl{fill:#c9a84c}

.s3 .pole{stroke:#d4af37;stroke-width:.9}.s3 .flag{fill:#d4af37}
.s3 .strip{fill:none;stroke:rgba(212,175,55,.5);stroke-width:1.6;stroke-linecap:round}
.s3 .strip.fade{stroke-dasharray:2 4;opacity:.55}
.s3 .vc{fill:#12110d;stroke:rgba(212,175,55,.65);stroke-width:.7}
.s3 .wr{fill:none;stroke:#d4af37;stroke-width:1.2;stroke-linecap:round}
.s3 .visit{--d:clamp(0, (var(--q) - (0.29 + var(--v) * 0.55)) / .03, 1)}
.s3 .visit .vc{fill:rgba(212,175,55,calc(.9 * var(--d)));stroke:rgba(212,175,55,calc(.65 + .35 * var(--d)))}
.s3 .visit .wr{opacity:calc(1 - var(--d))}
.s3 .visit .wr.dk{stroke:#0a0a08;opacity:var(--d)}
.s3 .visit.later{--d:0;opacity:.4}
.s3 .tri{fill:#0a0a08;stroke:#eee8d9;stroke-width:.9;stroke-linejoin:round}
.s3 .bang{stroke:#eee8d9;stroke-width:.9;stroke-linecap:round}
.s3 .inset{opacity:clamp(0, (var(--q) - 0.36) / 0.04, 1)}
.s3 .inset .dmark{fill:none;stroke:#d4af37;stroke-width:.9;stroke-linejoin:round}
.s3 .inset .zoom{fill:none;stroke:rgba(212,175,55,.55);stroke-width:.8}
.s3 .inset .iframe{fill:#12110d;stroke:rgba(212,175,55,.55);stroke-width:.7}
.s3 .inset .hours{fill:rgba(212,175,55,.55)}
.s3 .ifault{opacity:clamp(0, (var(--q) - 0.39) / 0.02, 1)}
.s3 .ivan{opacity:clamp(0, (var(--q) - 0.42) / 0.08, 1)}
.s3 .ph3{transform:translateX(calc(22px + 128px * clamp(0, (var(--q) - 0.02) / 0.34, 1) + 10px * clamp(0, (var(--q) - 0.36) / 0.34, 1) + 128px * clamp(0, (var(--q) - 0.7) / 0.26, 1)))}
.s3 .ph3 path{fill:none;stroke:#ffd98a;stroke-width:1.1}.s3 .ph3 circle{fill:#ffd98a}
.s3 .road{fill:#16150f;stroke:rgba(212,175,55,.3);stroke-width:.6}
.s3 .ln-e{fill:none;stroke:rgba(212,175,55,.55);stroke-width:9.2;stroke-linejoin:round}
.s3 .ln{fill:none;stroke:#1d1b17;stroke-width:7.8;stroke-linejoin:round}
.s3 .bld{fill:#1c1a15;stroke:rgba(212,175,55,.45);stroke-width:.7}
.s3 .car3 rect{fill:#e6cf98}.s3 .car3 .w{fill:#2a2620}
.s3 .car3{offset-path:path('M27.6 33L27.6 21.8L27.2 20.7L26.8 19.1L26.4 17.5L26.2 15.8L26.1 14.2L26 12.5L26 10.8L25.9 9.2L25.9 7.5L25.9 5.8L25.8 4.2L25.8 2.5L25.8 0.8L25.8 -0.8L25.8 -2.5L25.8 -4.2L25.8 -5.8L25.7 -7.5L25.5 -9.1L25.2 -10.8L24.8 -12.4L24.5 -14L24.1 -15.6L23.5 -17.2L22.7 -18.7L21.7 -20L20.3 -20.9L18.7 -21.5L17.1 -21.8L15.4 -22L13.8 -22.2L12.1 -22.3L10.4 -22.3L8.8 -22.4L7.1 -22.6L5.4 -22.7L3.8 -22.7L2.1 -22.7L0.5 -22.7L-1.2 -22.7L-2.9 -22.7L-4.5 -22.7L-6.2 -22.7L-7.9 -22.6L-9.5 -22.6L-11.2 -22.4L-12.9 -22.3L-14.5 -22.2L-16.2 -22.1L-17.8 -21.8L-19.5 -21.4L-20.9 -20.6L-22.1 -19.5L-23 -18.1L-23.6 -16.5L-24.2 -14.9L-24.6 -13.3L-25 -11.7L-25.1 -10L-25.1 -8.4L-25 -6.7L-25 -5L-25 -3.4L-25 -1.7L-25 -0.1L-25 1.6L-25 3.3L-25 5L-25 6.6L-24.9 8.3L-24.8 9.9L-24.8 11.6L-24.9 13.3L-25.2 14.8L-25.4 15.4L-25.4 33');offset-rotate:auto;offset-distance:calc(100% * clamp(0, (var(--q) - var(--s)) / .36, 1));opacity:calc(clamp(0, (var(--q) - var(--s)) / .015, 1) * clamp(0, (var(--s) + .36 - var(--q)) / .015, 1))}
.s3 .cars{display:none;fill:none;stroke:#e6cf98;stroke-width:3.8;stroke-linecap:round;stroke-dasharray:3.6 10 3.6 19 3.6 14 3.6 24;stroke-dashoffset:calc(var(--o) * 1px - 150px * var(--q))}
@supports not (offset-path: path('M0 0H1')) { .s3 .car3{display:none} .s3 .cars{display:inline} }
.ph-dt.dt-no-mp .s3 .car3{display:none}.ph-dt.dt-no-mp .s3 .cars{display:inline}
.s3 .mb{fill:#6b5426;stroke:#c9a84c;stroke-width:.5}
.s3 .mb-lit{fill:#ffd98a}
.s3 .lamp{fill:#ffd98a}
.s3 .plot .lamp{transform:translate(0px, 2px) scale(calc(1 + .7 * calc(clamp(0, (var(--q) - 0.06) / 0.03, 1) * (1 - clamp(0, (var(--q) - 0.09) / 0.03, 1))))) translate(0px, -2px)}
.s3 .ring{fill:none;stroke:#ffd98a;stroke-width:1;opacity:calc(calc(clamp(0, (var(--q) - 0.29) / 0.03, 1) * (1 - clamp(0, (var(--q) - 0.32) / 0.03, 1))) + calc(clamp(0, (var(--q) - 0.84) / 0.03, 1) * (1 - clamp(0, (var(--q) - 0.87) / 0.03, 1))))}
.s3 .faulty{--f:calc(clamp(0, (var(--q) - 0.36) / 0.03, 1) * (1 - clamp(0, (var(--q) - 0.74) / 0.03, 1)))}
.s3 .faulty .mb-lit{opacity:calc(1 - .9 * var(--f))}
.s3 .faulty .ftri{opacity:var(--f)}
.s3 .route{fill:none;stroke:#d4af37;stroke-width:1.3;stroke-linejoin:round;stroke-dasharray:100px;stroke-dashoffset:calc(100px * (1 - clamp(0, (var(--q) - 0.42) / 0.08, 1)))}
.s3 .walk{fill:none;stroke:#ffd98a;stroke-width:1.2;stroke-dasharray:1.6 2.2;stroke-linecap:round;opacity:clamp(0, (var(--q) - 0.6) / 0.03, 1)}
.s3 .rl{opacity:clamp(0, (var(--q) - 0.44) / 0.06, 1)}
.s3 .van{transform:translate(calc(18px + 208px * clamp(0, (var(--q) - 0.5) / 0.1, 1)), 150px)}
.s3 .vbody{fill:#1f1c16;stroke:#d4af37;stroke-width:.8;stroke-linejoin:round}
.s3 .vglass{fill:#0b0c0e;stroke:rgba(212,175,55,.5);stroke-width:.5}
.s3 .vline{stroke:rgba(212,175,55,.6);stroke-width:.7}
.s3 .vhead{fill:#fff0cf}
.s3 .wh{fill:#0b0b0b;stroke:#d4af37;stroke-width:.7}

.dt-plan{width:100%;height:auto;display:block}
.dt-plan .sheet{fill:#0e0d0a;stroke:rgba(212,175,55,.28);stroke-width:1;vector-effect:non-scaling-stroke}
.dt-plan text{font-family:ui-monospace,Consolas,'Liberation Mono',Menlo,monospace;font-weight:600;fill:#d4af37;letter-spacing:.05em}
.dt-plan .ttl{font-size:9.6px;letter-spacing:.16em;fill:#c9a84c}
.dt-plan .pl{font-size:9.6px;fill:#c9a84c}
.dt-plan .v-phone{display:none}
.dt-plan .lane-e{fill:none;stroke:rgba(212,175,55,.62);stroke-width:52.4;stroke-linejoin:round}
.dt-plan .lane{fill:none;stroke:#1d1b17;stroke-width:50.4;stroke-linejoin:round}
.dt-plan .chev{fill:none;stroke:rgba(212,175,55,.35);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.dt-plan .loop{fill:none;stroke:rgba(212,175,55,.18);stroke-width:.8}
.dt-plan .bld{fill:#1c1a15;stroke:rgba(212,175,55,.5);stroke-width:1}
.dt-plan .tower{fill:#1c1a15;stroke:rgba(212,175,55,.5);stroke-width:1}
.dt-plan .kit{fill:rgba(212,175,55,.05);stroke:rgba(212,175,55,.35);stroke-width:.7;stroke-dasharray:3 2}
.dt-plan .rack rect{fill:#121110;stroke:rgba(212,175,55,.6);stroke-width:.8}.dt-plan .rack path{stroke:#ffd98a;stroke-width:1}
.dt-plan .win{fill:#ffd98a}
.dt-plan .canopy{fill:none;stroke:rgba(212,175,55,.35);stroke-width:.8;stroke-dasharray:3 2.5}
.dt-plan .post{fill:#27241d;stroke:rgba(212,175,55,.7);stroke-width:.8}.dt-plan .grille{fill:#3e3c38;stroke:#d4af37;stroke-width:.6}.dt-plan .cap{fill:#a8843a}
.dt-plan .scr{fill:#0b0a07;stroke:rgba(212,175,55,.6);stroke-width:.6}
.dt-plan .rows{stroke:#e3c066;stroke-width:1.1}
.dt-plan .frame-b{fill:#6b5426;stroke:#c9a84c;stroke-width:.8}
.dt-plan .ic{fill:none;stroke:#e3c066;stroke-linecap:round;stroke-linejoin:round}
.dt-plan .car rect:first-child{fill:#2a2927;stroke:rgba(212,175,55,.55);stroke-width:.8}.dt-plan .car.hero rect:first-child{fill:#d2b27a;stroke:#f3e0b0}
.dt-plan .car .ws{fill:#0b0c0e}.dt-plan .car .roof{fill:rgba(255,255,255,.06)}.dt-plan .car.hero .roof{fill:rgba(255,255,255,.22)}
.dt-plan .sun circle{fill:#ffd98a}.dt-plan .sun path{stroke:#ffd98a;stroke-width:1.6;stroke-linecap:round}
.dt-plan .gen rect{fill:#1c1a15;stroke:rgba(212,175,55,.55);stroke-width:.8}.dt-plan .gen circle{fill:none;stroke:#d4af37;stroke-width:.8}.dt-plan .gen path{stroke:rgba(212,175,55,.55);stroke-width:.8}
.dt-plan .wind{fill:none;stroke:rgba(238,232,217,.45);stroke-width:1.1;stroke-linecap:round}
.dt-plan .door{fill:#0e0d0a;stroke:#eee8d9;stroke-width:.7}
.dt-plan .ov{fill:none;stroke-dasharray:100px;stroke-dashoffset:calc(100px * (1 - var(--o)))}
.dt-plan .o0{--o:clamp(0, (var(--p) - 0.04) / 0.1, 1)}
.dt-plan .o1{--o:clamp(0, (var(--p) - 0.2) / 0.1, 1)}
.dt-plan .o2{--o:clamp(0, (var(--p) - 0.36) / 0.1, 1)}
.dt-plan .o3{--o:clamp(0, (var(--p) - 0.52) / 0.1, 1)}
.dt-plan .o4{--o:clamp(0, (var(--p) - 0.68) / 0.1, 1)}
.dt-plan .o5{--o:clamp(0, (var(--p) - 0.84) / 0.1, 1)}
.dt-plan .dim{stroke:#d4af37;stroke-width:.9}
.dt-plan .glare{fill:rgba(255,217,138,.06);stroke:rgba(255,217,138,.55);stroke-width:1.1;stroke-dasharray:none;opacity:var(--o)}
.dt-plan .dust{opacity:var(--o)}.dt-plan .vent{opacity:var(--o);stroke-dasharray:none}.dt-plan .vent path{fill:none;stroke-linecap:round}.dt-plan .vent .slot{stroke:#2b2311;stroke-width:1.3}.dt-plan .vent .air{stroke:rgba(238,232,217,.6);stroke-width:1}.dt-plan .dust circle{fill:rgba(238,232,217,.6)}
.dt-plan .ray{stroke:rgba(255,217,138,.75);stroke-width:1;stroke-dasharray:3 3;stroke-dashoffset:0;opacity:var(--o)}
.dt-plan .noise{stroke:rgba(238,232,217,.62);stroke-width:1.1;stroke-linecap:round}
.dt-plan .shield{stroke:#ffd98a;stroke-width:3.2;stroke-linecap:round}
.dt-plan .duct{stroke:rgba(255,217,138,.78);stroke-width:1;stroke-dasharray:3 2.4;stroke-dashoffset:0;opacity:var(--o)}
.dt-plan .ok{stroke-dasharray:none;opacity:var(--o)}.dt-plan .ok circle{fill:#d4af37}.dt-plan .ok path{fill:none;stroke:#0a0a08;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.dt-plan .svc-e{stroke:rgba(238,232,217,.5);stroke-width:6;stroke-linejoin:round}.dt-plan .svc{stroke:#2a2924;stroke-width:4.4;stroke-linejoin:round}
.dt-plan .swing{fill:rgba(238,232,217,.08);stroke:rgba(238,232,217,.7);stroke-width:.8;stroke-dasharray:none;opacity:var(--o)}
.dt-plan .rq-mk{--m:clamp(0, (var(--p) - (.04 + var(--k) * .16)) / .1, 1)}
.dt-plan .rq-mk circle{fill:#0f0e0b;stroke:rgba(212,175,55,calc(.4 + .6 * var(--m)));stroke-width:1.3}
.dt-plan .rq-mk text{font-size:10px;fill:#d4af37;letter-spacing:0;opacity:calc(.45 + .55 * var(--m))}
/* ==== drawings:end ==== */
/* process: the car icon drives the five steps */
.ph-dt .dt-route { position:relative; }
.ph-dt .dt-route-line { position:relative;height:2px;margin:0 0 34px;background:linear-gradient(90deg,var(--dt-gold) calc(var(--p,0) * 100%),rgba(212,175,55,.18) 0); }
.ph-dt .dt-route-car { position:absolute;top:50%;left:calc(var(--p,0) * 100%);width:30px;height:14px;margin:-7px 0 0 -15px;border-radius:6px 9px 4px 4px;background:#1b1914;border:1px solid var(--dt-gold);box-shadow:8px 0 14px rgba(212,175,55,.45); }
.ph-dt .dt-route-car::after { content:'';position:absolute;right:-2px;top:3px;width:4px;height:6px;border-radius:2px;background:#ffe4a3;box-shadow:0 0 8px #ffd77a; }
.ph-dt .dt-steps { list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,2vw,30px); }
.ph-dt .dt-steps li { display:grid;gap:8px;align-content:start;opacity:calc(.35 + .65 * clamp(0,calc(var(--p,0) * 5 - var(--i) * .95),1)); }
.ph-dt .dt-step-n { font:12px ui-monospace,Consolas,monospace;letter-spacing:.14em;color:var(--dt-gold); }
/* FAQ */
.ph-dt .dt-faq details { border-top:1px solid var(--dt-line);max-width:980px; }
.ph-dt .dt-faq details:last-of-type { border-bottom:1px solid var(--dt-line); }
.ph-dt .dt-faq summary { cursor:pointer;list-style:none;padding:20px 40px 20px 0;position:relative; }
.ph-dt .dt-faq summary::-webkit-details-marker { display:none; }
.ph-dt .dt-faq summary::after { content:'+';position:absolute;right:6px;top:16px;font:300 24px/1 var(--font-body,Inter,sans-serif);color:var(--dt-gold);transition:transform .3s; }
.ph-dt .dt-faq details[open] summary::after { transform:rotate(45deg); }
.ph-dt .dt-faq details p { padding:0 40px 22px 0;max-width:860px; }
/* closing */
.ph-dt .dt-contact { display:grid;gap:18px;justify-items:start;padding-bottom:clamp(90px,16vh,170px); }
.ph-dt .dt-contact h2 { font-size:clamp(32px,min(4.2vw,7vh),70px); }
.ph-dt .dt-contact > p { max-width:620px; }
.ph-dt .dt-address { margin-top:clamp(20px,4vh,40px);display:grid;gap:6px;padding-top:18px;border-top:1px solid var(--dt-line);min-width:min(420px,100%); }

/* ---------- phones and portrait windows: the stage is a band, copy flows beneath ---------- */
@media (max-width:899px), (max-aspect-ratio:1/1) {
  .ph-dt { --dt-nav:72px;--dt-gap:30vh; }
  .ph-dt .dt-stage { top:var(--dt-nav);height:44vh;z-index:3; }
  /* the band's bottom edge dims with the 3D, so a dark band never stays pinned as an empty box */
  .ph-dt .dt-stage::after { content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(212,175,55,.18);opacity:var(--dt-canvas,1); }
  .ph-dt .dt-veil { background:linear-gradient(180deg,rgba(10,10,8,.35) 0%,rgba(10,10,8,0) 25%,rgba(10,10,8,0) 75%,rgba(10,10,8,.85) 100%); }
  .ph-dt .dt-journey > .dt-stage + .dt-beat { margin-top:0; }
  .ph-dt .dt-beat { padding:28px 20px var(--dt-gap); }
  .ph-dt .dt-hero { min-height:auto;padding-top:26px; }
  /* no finale tail on phones: sheet 1 and its callout follow the copy directly, so something readable is always below
     the band as the copy slides under it */
  .ph-dt .dt-finale .dt-beat { padding-bottom:0; }
  .ph-dt .dt-finale .dt-beat::after { display:none; }
  .ph-dt .dt-finale .dt-copy { position:relative;top:auto; }
  .ph-dt .dt-copy { width:auto;margin:0; }
  .ph-dt .dt-hero .dt-copy { width:auto; }
  .ph-dt .dt-beat .dt-plate { width:100%;height:auto;max-height:none; }
  /* phones: a small card in the 3D band's top-right corner, clear of the copy and of the adviser button */
  .ph-dt .dt-timer,.ph-dt .dt-timer.is-top { top:calc(var(--dt-nav) + 8px);right:8px;width:172px;padding:7px 9px;border-radius:11px; }
  .ph-dt .dt-timer-head { font-size:8.5px; }
  .ph-dt .dt-timer-clock { margin:4px 0 5px;height:24px;gap:3px; }
  .ph-dt .dt-seg { height:24px; }
  .ph-dt .dt-colon { height:13px;width:4px; }
  .ph-dt .dt-colon::before,.ph-dt .dt-colon::after { width:4px;height:4px; }
  .ph-dt .dt-splits { gap:2px 3px; }
  .ph-dt .dt-splits li { padding:2px 3px;font-size:7.5px;letter-spacing:.02em; }
  .ph-dt .dt-splits li b { font-size:8.5px; }
  .ph-dt .dt-section { padding:64px 20px; }
  .ph-dt .dt-sector-row,.ph-dt .dt-survey { grid-template-columns:1fr; }
  /* phones: the drawing is a band under the header, the callouts scroll beneath it, as the 3D band does */
  /* phones: the drawing is a band under the header, never taller than about half the screen (landscape too); the
     band leaves as the last callout slides under it */
  /* the callouts hold centred in the space between the band and the adviser button (the tallest one sets it) */
  .ph-dt .dt-standards { padding:0 16px;--std-band:min(calc((100vw - 32px) / 1.5 + 16px), 46vh);--std-x:calc(var(--dt-nav) + var(--std-band) + max(20px, (100vh - var(--dt-nav) - var(--std-band) - 76px - var(--std-ch,240px)) / 2));--std-p:940px; }
  .ph-dt .dt-std { grid-template-columns:minmax(0,1fr);grid-template-rows:calc(var(--std-band) + 24px) calc(var(--std-p) + 180px) var(--std-p) calc(var(--std-p) + 40px) 0px; }
  .ph-dt .dt-std-stage { grid-column:1;align-self:start;height:var(--std-band);padding:8px 0;z-index:3;background:var(--dt-bg);border-bottom:1px solid rgba(212,175,55,.18);margin-bottom:calc(var(--std-x) - var(--dt-nav) - var(--std-band) + var(--std-hl,220px)); }
  .ph-dt .dt-std-stage .dt-sheet,.ph-dt .dt-std-stage .dt-sheet-frame { width:min(100%, calc((var(--std-band) - 16px) * 1.5)); }
  /* the strip between the site header and a pinned band is painted as well, so nothing scrolling away shows in it */
  .ph-dt .dt-std-stage,.ph-dt .dt-stage { box-shadow:0 calc(-1 * var(--dt-nav)) 0 0 var(--dt-bg); }
  /* phones: the survey plan holds as a band under the header while its list scrolls beneath; each marker draws as its
     own list item comes up to the line under the band (drive-thru-motion.js), about one and a half wheel steps each */
  .ph-dt .dt-survey { display:flow-root;position:static;min-height:0;padding-bottom:0; }
  .ph-dt .dt-plan-wrap { position:sticky;top:var(--dt-nav);z-index:2;padding:8px 0;background:var(--dt-bg);box-shadow:0 calc(-1 * var(--dt-nav)) 0 0 var(--dt-bg);border-bottom:1px solid rgba(212,175,55,.18); }
  .ph-dt .dt-survey-run { height:0; }
  .ph-dt .dt-req-list { margin-top:174px;gap:84px;margin-bottom:200px; }
  /* the band paints the strip above itself (for when it is pinned), so the intro ends clear of that strip */
  .ph-dt .dt-requirements .dt-section-head { margin-bottom:calc(var(--dt-nav) + 24px); }
  .ph-dt .dt-plan .v-wide { display:none; }
  .ph-dt .dt-plan .v-phone { display:inline; }
  .ph-dt .dt-plan .pl.keep { font-size:14.5px; }
  .ph-dt .dt-plan .mk-s { transform:scale(1.6); }
  .ph-dt .dt-steps { grid-template-columns:1fr;gap:22px;padding-left:26px; }
  .ph-dt .dt-route-line { position:absolute;left:6px;top:0;bottom:0;width:2px;height:auto;margin:0;background:linear-gradient(180deg,var(--dt-gold) calc(var(--p,0) * 100%),rgba(212,175,55,.18) 0); }
  .ph-dt .dt-route-car { top:calc(var(--p,0) * 100%);left:50%;width:14px;height:26px;margin:-13px 0 0 -7px;border-radius:5px 5px 7px 7px;box-shadow:0 8px 14px rgba(212,175,55,.45); }
  .ph-dt .dt-route-car::after { right:auto;left:3px;top:auto;bottom:-2px;width:6px;height:4px; }
}
/* landscape phones: too short for a drawing band, so the drawings sit beside their callouts as on a laptop, with
   phone-sized labels; the survey plan holds beside its list */
@media (max-width:899px) and (min-aspect-ratio:1/1) and (max-height:520px) {
  .ph-dt .dt-standards { padding:0 6vw;--std-x:30vh;--std-p:900px; }
  .ph-dt .dt-std { grid-template-columns:minmax(0,38vw) minmax(0,1fr);column-gap:4vw;grid-template-rows:calc(var(--std-x) - var(--dt-nav) + 100px) var(--std-p) var(--std-p) calc(var(--std-p) + 40px) calc(100vh - var(--std-x) - var(--std-hl,220px)); }
  .ph-dt .dt-std-stage { grid-column:2;height:calc(100vh - var(--dt-nav));padding:12px 0 84px;margin-bottom:0;border-bottom:0;box-shadow:none; }
  .ph-dt .dt-std-stage .dt-sheet,.ph-dt .dt-std-stage .dt-sheet-frame { width:min(100%,calc((100vh - var(--dt-nav) - 96px) * 1.5)); }
  .ph-dt .dt-sheet .lbl { font-size:10px; }
  .ph-dt .dt-sheet .ttl { font-size:10.4px; }
  /* the survey plan holds beside its list, which scrolls; each marker draws as its own item comes up to the line */
  .ph-dt .dt-survey { display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:4vw; }
  .ph-dt .dt-plan-wrap { box-shadow:none;border-bottom:0; }
  .ph-dt .dt-req-list { margin-top:calc(45vh + 118px);gap:70px;margin-bottom:220px; }
  .ph-dt .dt-plan .ttl { font-size:14.5px; }
}
/* narrow phones: the drawings are only a phone wide, so their labels grow to stay at the corner timer's size or more */
@media (max-width:520px) {
  .ph-dt .dt-sheet .lbl { font-size:10px; }
  .ph-dt .dt-sheet .ttl { font-size:10.4px; }
  .ph-dt .dt-plan .pl.keep,.ph-dt .dt-plan .ttl { font-size:16px; }
}
/* reduced motion: nothing flies; the stage shows each station's settled pose */
@media (prefers-reduced-motion:reduce) {
  .ph-dt .dt-canvas,.ph-dt .dt-poster,.ph-dt .dt-timer { transition:none; }
  .ph-dt .dt-sector,.ph-dt .dt-steps li { opacity:1;transform:none; }
}
/* the still page (reduced motion, and Google's tall render): nothing pinned, every drawing in its finished state
   beside its own callout */
@media (prefers-reduced-motion:reduce) {
  .ph-dt .dt-std { grid-template-rows:none;row-gap:clamp(40px,8vh,90px);padding:clamp(60px,10vh,120px) 0; }
  .ph-dt .dt-std-stage { display:contents; }
  .ph-dt .dt-std-stage .dt-sheet { --vis:1 !important;--q:1 !important;grid-area:auto;grid-column:2;align-self:center;width:100%;max-width:760px; }
  .ph-dt .dt-std-beat { --q:1 !important;--vis:1 !important;--cvis:1 !important;align-self:center; }
  .ph-dt .dt-std-beat .dt-callout { position:static; }
  .ph-dt .dt-std-stage .dt-sheet-frame { display:none; }
  .ph-dt .dt-std-stage .dt-sheet[data-k="0"],.ph-dt .dt-std-beat[data-k="0"] { grid-row:1; }
  .ph-dt .dt-std-stage .dt-sheet[data-k="1"],.ph-dt .dt-std-beat[data-k="1"] { grid-row:2; }
  .ph-dt .dt-std-stage .dt-sheet[data-k="2"],.ph-dt .dt-std-beat[data-k="2"] { grid-row:3; }
  .ph-dt .dt-survey { position:static;--p:1 !important;min-height:0;padding-bottom:0; }
  .ph-dt .dt-survey-run { height:0; }
  .ph-dt .dt-plan-wrap { position:static;box-shadow:none;border-bottom:0; }
  .ph-dt .dt-req-list { margin-bottom:0; }
}
@media (prefers-reduced-motion:reduce) and (max-aspect-ratio:1/1),(prefers-reduced-motion:reduce) and (max-width:899px) and (min-height:521px) {
  .ph-dt .dt-std { grid-template-columns:minmax(0,1fr); }
  .ph-dt .dt-std-stage .dt-sheet { grid-column:1; }
  .ph-dt .dt-std-stage .dt-sheet[data-k="0"] { grid-row:1; } .ph-dt .dt-std-beat[data-k="0"] { grid-row:2; }
  .ph-dt .dt-std-stage .dt-sheet[data-k="1"] { grid-row:3; } .ph-dt .dt-std-beat[data-k="1"] { grid-row:4; }
  .ph-dt .dt-std-stage .dt-sheet[data-k="2"] { grid-row:5; } .ph-dt .dt-std-beat[data-k="2"] { grid-row:6; }
  .ph-dt .dt-std { row-gap:24px; }
  .ph-dt .dt-req-list { gap:22px; }
}
@media (prefers-reduced-motion:reduce) and (max-width:899px) and (min-aspect-ratio:1/1) and (max-height:520px) {
  .ph-dt .dt-req-list { margin-top:0;gap:22px; }
}
/* the same still page for Google's tall render (html.ph-tall) and when the page engine never ran (no JavaScript, or an
   error before it started: the markup's data-dt-motion stays "static") */
:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std { grid-template-rows:none;row-gap:90px;padding:120px 0; }
:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-stage { display:contents; }
:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-stage .dt-sheet { --vis:1 !important;--q:1 !important;grid-area:auto;grid-column:2;align-self:center;width:100%;max-width:760px; }
:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-beat { --q:1 !important;--vis:1 !important;--cvis:1 !important;align-self:center; }
:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-beat .dt-callout { position:static; }
:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-stage .dt-sheet-frame { display:none; }
:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-stage .dt-sheet[data-k="0"],:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-beat[data-k="0"] { grid-row:1; }
:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-stage .dt-sheet[data-k="1"],:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-beat[data-k="1"] { grid-row:2; }
:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-stage .dt-sheet[data-k="2"],:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-beat[data-k="2"] { grid-row:3; }
:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-survey { position:static;--p:1 !important;min-height:0;padding-bottom:0; }
:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-survey-run { height:0; }
:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-plan-wrap { position:static;box-shadow:none;border-bottom:0; }
:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-req-list { margin-bottom:0; }
.ph-dt[data-dt-motion="static"] .dt-sector,.ph-dt[data-dt-motion="static"] .dt-steps li { opacity:1;transform:none; }
.ph-dt[data-dt-motion="static"] .dt-process { --p:1; }
@media (max-width:899px), (max-aspect-ratio:1/1) {
  :is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std { row-gap:24px; }
  :is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-stage .dt-sheet { grid-column:1; }
  :is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-stage .dt-sheet[data-k="0"] { grid-row:1; } :is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-beat[data-k="0"] { grid-row:2; }
  :is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-stage .dt-sheet[data-k="1"] { grid-row:3; } :is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-beat[data-k="1"] { grid-row:4; }
  :is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-stage .dt-sheet[data-k="2"] { grid-row:5; } :is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-beat[data-k="2"] { grid-row:6; }
  :is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-req-list { gap:22px; }
}
@media (max-width:899px) and (min-aspect-ratio:1/1) and (max-height:520px) {
  :is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std { grid-template-columns:minmax(0,38vw) minmax(0,1fr); }
  :is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-stage .dt-sheet { grid-column:2; }
  :is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-stage .dt-sheet[data-k="0"],:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-beat[data-k="0"] { grid-row:1; }
  :is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-stage .dt-sheet[data-k="1"],:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-beat[data-k="1"] { grid-row:2; }
  :is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-stage .dt-sheet[data-k="2"],:is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-std-beat[data-k="2"] { grid-row:3; }
  :is(html.ph-tall .ph-dt,.ph-dt[data-dt-motion="static"]) .dt-req-list { margin-top:0;gap:22px; }
}
