body{margin:0;background:var(--canvas);color:var(--text-primary);font-family:var(--font-core);letter-spacing:var(--ls-body)}
a{color:var(--text-primary);text-decoration:none}
a:hover{color:var(--ink-600)}
:is(a,button,[tabindex]):focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-2)}
.orx-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-core);font-weight:var(--fw-medium);letter-spacing:-.008em;line-height:1.2;border-radius:var(--radius-3);cursor:pointer;text-decoration:none;white-space:nowrap;background:var(--action-primary-bg);color:var(--action-primary-fg);border:1px solid var(--action-primary-bg);box-shadow:var(--shadow-1);transition:var(--transition-interactive),transform var(--dur-micro) var(--ease-standard);transform:none}
.orx-btn:hover{background:var(--action-primary-bg-hover);border-color:var(--action-primary-bg-hover);color:var(--action-primary-fg)}
.orx-btn:active{transform:translateY(1px)}
.orx-btn-md{padding:11px 20px;font-size:15px;gap:8px}
.orx-btn-lg{padding:15px 28px;font-size:16px;gap:10px}
.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--space-8)}
.wrap-wide{max-width:1416px;margin:0 auto;padding:0 var(--space-8)}
/* An inset surface rather than an edge-to-edge strip: the bar is placed on the canvas, not fused to it. */
.hdr{--hdr-inset:clamp(16px,2.2vw,32px);--hdr-cta-half:64px;--hdr-rail:var(--space-8);position:sticky;top:0;z-index:30;padding:var(--space-4) max(var(--hdr-inset),var(--hdr-cta-half)) 0 var(--hdr-inset);background:none;border:0}
.hdr-in{max-width:var(--container);margin-inline:auto;overflow:visible;height:64px;padding-inline:var(--hdr-rail);display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);border-radius:18px;background:rgba(251,250,248,.66);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid transparent;transition:background var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}
.hdr.lift .hdr-in{background:var(--surface-glass-strong);border-color:var(--hairline);box-shadow:0 1px 2px rgba(11,12,15,.04),0 8px 24px -12px rgba(11,12,15,.10)}
.hdr-in img{height:25px;width:auto;display:block}
.hdr-in>a:first-child{text-decoration:none;border-bottom:0;margin-left:calc(var(--space-2) * -1)}
.nav{display:flex;align-items:center;gap:var(--space-8)}
.nav>#nav-cta{margin-left:calc(var(--space-3) * -1)}
.nav a{font-family:var(--font-mono);font-size:12px;font-weight:var(--fw-medium);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-600);border-bottom:0;transition:color var(--dur-fast) var(--ease-standard)}
.nav a:hover{color:var(--violet-500)}
.nav a.is-active{color:var(--violet-500)}
#nav-cta{margin-right:calc(var(--hdr-rail) * -1);transform:translateX(50%)}
#nav-cta .orx-btn,#nav-cta button,#nav-cta a{height:44px;padding-inline:var(--space-7);border-radius:10px}
.nav-veil{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:0;background:var(--canvas);backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);transition:opacity 260ms var(--ease-standard),backdrop-filter 240ms var(--ease-standard),-webkit-backdrop-filter 240ms var(--ease-standard)}
.nav-veil.is-visible{opacity:1;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);transition-duration:200ms}
.hero{position:relative;padding:var(--space-11) 0 var(--space-10)}
.label{font:var(--type-label);letter-spacing:var(--ls-micro);text-transform:uppercase;color:var(--text-tertiary)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,376px);gap:var(--space-12);align-items:end}
.ac{color:var(--text-accent)}
h1.hl{margin:0;font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(2.5rem,4.6vw,4.125rem);line-height:1.04;letter-spacing:var(--ls-display);text-wrap:balance}
.hero-aside{display:flex;flex-direction:column;gap:var(--space-7);border-top:1px solid var(--hairline);padding-top:var(--space-7)}
.hero-aside p{margin:0;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-secondary);text-wrap:pretty}
.cta-row{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}

/* ---- the diary as a physical object ---- */
.stage{margin-top:0;position:relative;perspective:2200px;perspective-origin:50% -10%}
.stage::before{content:"";position:absolute;left:-4%;right:-4%;top:-88px;bottom:-56px;background:radial-gradient(52% 46% at 50% 30%,rgba(255,255,255,.98),rgba(255,255,255,0) 74%);pointer-events:none}
.obj{position:relative;transform-style:preserve-3d;transform:rotateX(1.1deg);transition:transform 560ms var(--ease-mass)}
/* second sheet: the diary has thickness */
.obj .plate{position:absolute;left:18px;right:18px;top:16px;bottom:0;border-radius:var(--radius-5);background:linear-gradient(180deg,var(--porcelain-200),var(--porcelain-300));border:1px solid var(--hairline);box-shadow:0 18px 36px -18px rgba(11,12,15,.16)}
.obj .pane{position:relative;border-radius:var(--radius-5);background:var(--material-glass);border:1px solid var(--border-glass);box-shadow:var(--shadow-4),var(--material-edge);padding:var(--space-8) var(--space-8) var(--space-7)}
/* soft contact shadow where the object meets the canvas */
.stage::after{content:"";position:absolute;left:8%;right:8%;bottom:-40px;height:44px;background:radial-gradient(50% 50% at 50% 50%,rgba(11,12,15,.16),rgba(11,12,15,0) 72%);filter:blur(6px);pointer-events:none}
.obj-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-7);flex-wrap:wrap;padding-bottom:var(--space-7)}
.obj-hd .obj-title{margin:0;font-size:var(--fs-title-2);font-weight:var(--fw-medium);letter-spacing:var(--ls-title);font-variant-numeric:tabular-nums}
.obj-hd .range{font-family:var(--font-mono);font-size:var(--fs-caption);font-variant-numeric:tabular-nums;color:var(--text-secondary);letter-spacing:.01em}
.obj-hd-l{display:flex;flex-direction:column;gap:7px}
.obj-hd-r{align-self:flex-end;font-size:var(--fs-body-sm)}
.grid-body{display:flex;gap:var(--space-5);border-top:1px solid var(--hairline);padding-top:var(--space-5);position:relative}
.qcol{flex:1;min-width:0;display:flex;flex-direction:column}
.qcol-hd{display:flex;flex-direction:column;gap:2px;height:44px;box-sizing:border-box;padding-bottom:8px;border-bottom:1px solid var(--border-soft);margin-bottom:8px;overflow:hidden}
.qcol-hd b{font-family:var(--font-core);font-size:13px;font-weight:var(--fw-medium);letter-spacing:-.004em;color:var(--text-primary)}
.qcol-hd i{font-style:normal;font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;color:var(--text-tertiary);font-variant-numeric:tabular-nums}
.qtrack{position:relative}
.qtrack .ln{position:absolute;left:0;right:0;height:1px;background:var(--hairline)}
.qtrack .ln.noon{background:rgba(11,12,15,.14)}
.qslat{position:absolute;left:0;right:5px;display:flex;flex-direction:column;justify-content:center;gap:1px;overflow:hidden;padding:6px 10px;background:rgba(255,255,255,.68);border:1px solid rgba(11,12,15,.055);border-radius:var(--radius-2)}
.qslat>*{flex:none}
.qslat em{font-style:normal;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--text-tertiary)}
.qslat b{font-size:13.5px;font-weight:var(--fw-regular);letter-spacing:-.004em;color:var(--ink-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qslat span{font-size:12.5px;line-height:1.2;font-weight:var(--fw-medium);color:var(--ink-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.gutter{flex:none;width:46px;position:relative;padding-top:48px;padding-bottom:22px}
.gutter span{position:absolute;right:0;font-family:var(--font-mono);font-size:10px;font-variant-numeric:tabular-nums;color:var(--text-tertiary);letter-spacing:.04em}
.cols{display:flex;gap:var(--space-5);flex:1;min-width:0}
/* The wider result: the same diary body, a fresh representative week stacked over it. */
#diary-fresh{position:absolute;top:var(--space-5);left:calc(46px + var(--space-5));right:0;bottom:0;opacity:0;pointer-events:none}
.range-stack{position:relative;display:block;line-height:17px}
.range-stack .range{display:block;line-height:17px}
.range-alt{position:absolute;right:0;top:0;opacity:0;white-space:nowrap}
.bens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6) var(--space-9);list-style:none;margin:var(--space-4) 0 0;padding:var(--space-7) 0 0;max-width:640px;border-top:1px solid rgba(11,12,15,.06)}
.bens li{display:grid;grid-template-columns:10px minmax(0,1fr);align-items:baseline;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:var(--fw-medium);letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary)}
.bens li::before{content:"";width:10px;height:1px;background:var(--violet-500);opacity:.85;transform:translateY(-3px)}
/* short appointments read on one line so 30-minute slats stay legible */
.qslat.sm{justify-content:center;padding-top:3px;padding-bottom:3px}
/* optical compensation: the object reduces, its operational type does not follow all the way down.
   Only absolutely-positioned or fixed-height text scales, so geometry is untouched. */
.obj.zoomed .qslat b{font-size:16.5px}
.obj.zoomed .qslat span{font-size:15.5px}
.obj.zoomed .gutter span{font-size:12.5px}
.obj.zoomed .qcol-hd b{font-size:15px}
.obj.zoomed .qcol-hd i{font-size:12px}

.scene{position:relative;height:1549vh;height:1549dvh}
.pin{position:sticky;top:0;min-height:100vh;min-height:100dvh;overflow:hidden;background:radial-gradient(78% 56% at 52% 8%,#FFFFFF 0%,rgba(255,255,255,.5) 46%,var(--canvas) 80%)}
#heroCopy{will-change:opacity,transform}
#stageWrap{transform-origin:top center;will-change:transform}
.leader{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity var(--dur-slow) var(--ease-standard)}
.leader.on{opacity:1}
.perim{position:absolute;inset:0;pointer-events:none;opacity:0}
.perim svg{position:absolute;inset:0;width:100%;height:100%}
.pill{position:absolute;font-family:var(--font-mono);font-size:calc(var(--fs-micro) * 1.18);font-weight:var(--fw-semibold);letter-spacing:var(--ls-micro);text-transform:uppercase;color:var(--text-secondary);white-space:nowrap}
.s3 .pillars{display:none}
.scene-static .perim{display:none}
.scene-static .s3{margin-top:var(--space-12)}
.scene-static .s3 .pillars{display:flex;flex-wrap:wrap;gap:var(--space-6) var(--space-9);margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--hairline)}
.scene-static .s3 .pillars span{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:var(--fw-medium);letter-spacing:var(--ls-micro);text-transform:uppercase;color:var(--text-tertiary)}
.obj.focus .qslat:not(.gap){opacity:.76}
.qslat{transition:opacity var(--dur-slow) var(--ease-standard)}
.s2{position:absolute;left:0;right:0;bottom:var(--space-10);opacity:0;transform:translateY(14px);will-change:opacity,transform;padding-top:var(--space-9);background:linear-gradient(180deg,rgba(245,244,241,0) 0,var(--canvas) 40px)}
.s2-hd{display:flex;flex-direction:column;gap:var(--space-5);max-width:720px}
/* the pinned narrative hangs off the container's left gutter, clear of Refill at stage centre */
html:not(.scene-static) .pin .s3 .s2-hd{padding-right:55%;max-width:var(--container)}
html:not(.scene-static) .pin .s3 .s2-hd h2{max-width:21ch}
html:not(.scene-static) .pin .s3 .s2-hd p{max-width:52ch}
@media (min-width:1280px) and (max-width:1599px){
html:not(.scene-static) .pin .s3 .s2-hd h2{width:26ch;max-width:26ch}
}
/* Very wide desktops: the measure stops shrinking as the viewport grows — a fixed editorial
   column replaces the percentage gutter, still clear of Refill at stage centre. */
@media (min-width:1600px){
html:not(.scene-static) .pin .s3 .s2-hd{padding-right:0;max-width:min(46rem,44vw)}
html:not(.scene-static) .pin .s3 .s2-hd h2{max-width:26ch}
html:not(.scene-static) .pin .s3 .s2-hd p{max-width:58ch}
}
.s2-hd h2{margin:0;font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(1.75rem,2.6vw,2.375rem);line-height:1.1;letter-spacing:var(--ls-display);max-width:24ch;text-wrap:balance}
.s2-hd p{margin:0;font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--text-secondary);max-width:62ch;text-wrap:pretty}
/* Short desktop: tighten stage spacing and the narrative headline step before anything else.
   Body copy keeps its size — spacing yields first. */
@media (min-width:1081px) and (max-height:820px){
.pin .s2-hd{gap:var(--space-4)}
.pin .s2-hd h2{font-size:clamp(1.5rem,2vw,1.9rem)}
.hero{padding:var(--space-10) 0 var(--space-9)}
.obj .pane{padding:var(--space-7) var(--space-7) var(--space-6)}
}
@media (min-width:1081px) and (max-height:700px){
.hero{padding:var(--space-9) 0 var(--space-8)}
.obj-hd{padding-bottom:var(--space-6)}
}
.scene-static .scene{height:auto}
.scene-static .pin{position:static;min-height:0;overflow:visible;padding-bottom:var(--space-11)}
.scene-static #stageWrap{transform:none!important}
.scene-static #heroCopy{opacity:1!important;transform:none!important}
.scene-static .leader{display:none}
.scene-static .s2{position:static;opacity:1!important;transform:none!important;margin-top:var(--space-11);padding-top:0;background:none}
.qslat .live{display:flex;flex-direction:column;gap:1px;min-width:0;transition:opacity var(--dur-slow) var(--ease-mass),transform var(--dur-slow) var(--ease-mass)}
.qslat.is-cancelled .live{visibility:hidden}
.qslat .gapmark{position:absolute;left:10px;right:10px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:2px;opacity:0;transition:opacity var(--dur-slow) var(--ease-standard) 260ms}
.qslat .gapmark b{font-family:var(--font-mono);font-size:10px;font-weight:var(--fw-semibold);letter-spacing:var(--ls-micro);text-transform:uppercase;color:var(--clay-600)}
.qslat .gapmark i{font-style:normal;font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--text-tertiary);font-variant-numeric:tabular-nums}
.qslat.gap{transition:background var(--dur-slow) var(--ease-mass),border-color var(--dur-slow) var(--ease-mass),box-shadow var(--dur-slow) var(--ease-mass)}
.qslat.gap.is-cancelled{background:rgba(11,12,15,.014);border:1px dashed var(--porcelain-400);box-shadow:inset 0 1px 3px rgba(11,12,15,.05)}
.qslat.gap.is-cancelled .live{opacity:0;transform:translateY(6px)}
.qslat.gap.is-cancelled .gapmark{opacity:1}
/* Missed: the appointment stays identifiable, but reads as spent time — hatched, drained of material. */
.qslat .st{display:none}
.qslat.miss{transition:background var(--dur-slow) var(--ease-mass),border-color var(--dur-slow) var(--ease-mass),box-shadow var(--dur-slow) var(--ease-mass),opacity var(--dur-slow) var(--ease-mass)}
.qslat.miss.is-missed{background:var(--canvas);background-image:repeating-linear-gradient(45deg,rgba(11,12,15,.05) 0 1px,rgba(11,12,15,0) 1px 7px);border:1px solid var(--hairline);box-shadow:none}
.qslat.miss.is-missed b,.qslat.miss.is-missed span{display:none}
.qslat.miss.is-missed .st{display:block;margin:0;font-style:normal;font-family:var(--font-mono);font-size:10px;font-weight:var(--fw-semibold);letter-spacing:var(--ls-micro);text-transform:uppercase;color:var(--clay-600);margin-top:3px}
.obj.zoomed .qslat .st{font-size:16.5px}
/* At risk: the appointment stays booked. Orryx marks it, quietly, in the accent. */
.qslat .rk{display:none}
.qslat.risk{transition:background var(--dur-slow) var(--ease-mass),border-color var(--dur-slow) var(--ease-mass),box-shadow var(--dur-slow) var(--ease-mass)}
.qslat.risk.is-risk{background:rgba(124,92,255,.055);border-color:rgba(124,92,255,.40);box-shadow:inset 2px 0 0 var(--violet-500)}
.qslat.risk.is-risk .rk{display:block}

/* Change requested: the uncertainty has become actionable. Same accent, firmer edge. */
.qslat .cq,.qslat .fu{display:none}
/* Katie D.'s slat reads as two zones: identity left, current Orryx state right. */
.qslat.risk{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-5)}
.qslat.risk .live{flex:1 1 auto;align-self:center;align-items:flex-start;min-width:0}
.qslat.risk .state{flex:0 0 auto;margin-left:auto;padding-right:2px;text-align:right}
.qslat.risk .state i{font-style:normal;font-family:var(--font-mono);font-size:12px;font-weight:var(--fw-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--violet-500);white-space:nowrap}
.obj.zoomed .qslat.risk .state i{font-size:18px;letter-spacing:.05em}
.qslat.risk.is-change{background:rgba(124,92,255,.085);border-color:rgba(124,92,255,.55);box-shadow:inset 3px 0 0 var(--violet-500)}
.qslat.risk.is-followed .rk{display:none}
.qslat.risk.is-followed .fu{display:block}
.qslat.risk.is-change .rk,.qslat.risk.is-change .fu{display:none}
.qslat.risk.is-change .cq{display:block}
/* Refill stages override every Prevent status: scoped to the slat twice so they outrank
   .qslat.risk.is-change, and placed after it. */
.qslat .live.alt,.qslat .state .av,.qslat .state .ct,.qslat .state .cf,.qslat .state .rf,.qslat .state .oc{display:none}
.qslat.risk[data-rf="outcome"].risk .oc{display:block;color:var(--text-tertiary);font-weight:var(--fw-regular)}
.qslat.risk[data-rf].risk .live:not(.alt),.qslat.risk[data-rf].risk .rk,.qslat.risk[data-rf].risk .fu,.qslat.risk[data-rf].risk .cq{display:none}
.qslat.risk[data-rf="open"].risk,.qslat.risk[data-rf="contact"].risk,.qslat.risk[data-rf="conf"].risk{background:rgba(11,12,15,.014);background-image:none;border:1px dashed var(--porcelain-400);box-shadow:none}
.qslat.risk[data-rf="open"].risk .av,.qslat.risk[data-rf="contact"].risk .ct,.qslat.risk[data-rf="conf"].risk .cf,.qslat.risk[data-rf="refilled"].risk .rf{display:block}
.qslat.risk[data-rf="open"].risk .av{color:var(--text-tertiary)}
.qslat.risk[data-rf="refilled"].risk,.qslat.risk[data-rf="filled"].risk,.qslat.risk[data-rf="outcome"].risk,.qslat.risk[data-rf="settled"].risk{background:rgba(124,92,255,.055);background-image:none;border-color:rgba(124,92,255,.40);box-shadow:inset 2px 0 0 var(--violet-500)}
.qslat.risk[data-rf="refilled"].risk .live.alt,.qslat.risk[data-rf="filled"].risk .live.alt,.qslat.risk[data-rf="outcome"].risk .live.alt,.qslat.risk[data-rf="settled"].risk .live.alt{display:flex}
.obj.zoomed .qslat.risk .state .ct{font-size:15px}
/* Prevent: a trace leaves the appointment, reaches the active edge, and a response returns. */

/* Predict active: the label and its own edge take the accent. Nothing else moves. */
.pill{transition:color var(--dur-slow) var(--ease-standard)}
.pill.on{color:var(--violet-500)}
.qcol{min-width:0;overflow:hidden}
.qcol-hd{position:relative;z-index:2;background:var(--porcelain-000)}
.grid-body{overflow:hidden}
.qcol,.cols{transition:none}
.scene-static .s4{margin-top:var(--space-12)}
.rise{animation:orx-rise var(--dur-base) var(--ease-standard) both}
.rise-2{animation-delay:80ms}
.settle{animation:orx-settle var(--dur-cinematic) var(--ease-mass) both;animation-delay:140ms}
@keyframes orx-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes orx-settle{from{opacity:0;transform:translateY(20px) scale(.988)}to{opacity:1;transform:none}}
.only-narrow{display:none!important}
.obj-hd .only-wide{display:block!important}
.obj-hd .only-narrow{display:none!important}
.mobile-menu-toggle,.mobile-menu,.mobile-week,.mobile-diary-meta,.mobile-protection{display:none}
@media (max-width:1080px){
.hero{padding:var(--space-10) 0 var(--space-9)}
.hero-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-9)}
.hero-aside{max-width:56ch}
.s2-hd{max-width:56ch}
.wrap,.wrap-wide{padding:0 var(--space-6)}
.nav{display:none}
.hdr{--hdr-inset:clamp(12px,3vw,20px);--hdr-rail:var(--space-6);padding:var(--space-3) max(var(--hdr-inset),var(--hdr-cta-half)) 0 var(--hdr-inset)}
.hdr-in{height:60px;border-radius:16px}
#nav-cta{margin-right:calc(var(--hdr-rail) * -1);transform:translateX(50%)}
.stage{margin-top:var(--space-10);perspective:none}
.stage::before,.stage::after{display:none}
.obj{transform:none!important}
.obj .plate{left:12px;right:12px;top:10px;bottom:0}
.obj .pane{padding:var(--space-6) var(--space-6) var(--space-5);box-shadow:var(--shadow-3),var(--material-edge)}
.only-wide{display:none!important}
.only-narrow{display:flex!important}
.obj-hd .only-wide{display:none!important}
.obj-hd .only-narrow{display:block!important}
}
/* Mobile opening — a dedicated compact navigation and readable weekly overview. */
@media (max-width:767px){
.wrap,.wrap-wide{padding-inline:var(--space-4)}
.hdr{--hdr-inset:12px;--hdr-rail:0;position:sticky;padding:10px 12px 0}
.hdr-in{height:54px;padding:0 9px 0 13px;gap:8px;border-radius:15px}
.hdr-in>a:first-child{margin-left:0}
.hdr-in img{height:21px}
#nav-cta{margin:0 0 0 auto;transform:none}
#nav-cta .orx-btn,#nav-cta button,#nav-cta a{height:36px;padding-inline:14px;border-radius:9px;font-size:13px}
.mobile-menu-toggle{position:relative;display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;padding:0;border:1px solid rgba(11,12,15,.07);border-radius:9px;background:rgba(255,255,255,.48);color:var(--ink-600);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}
.mobile-menu-toggle:hover{background:rgba(255,255,255,.78);border-color:rgba(11,12,15,.1)}
.mobile-menu-icon{position:relative;width:14px;height:10px}
.mobile-menu-icon::before,.mobile-menu-icon::after{content:"";position:absolute;left:0;width:14px;height:1.5px;border-radius:1px;background:currentColor;transition:transform var(--dur-base) var(--ease-standard),top var(--dur-base) var(--ease-standard)}
.mobile-menu-icon::before{top:2px}.mobile-menu-icon::after{top:7px}
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon::before{top:4.5px;transform:rotate(45deg)}
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon::after{top:4.5px;transform:rotate(-45deg)}
.mobile-menu{position:absolute;display:flex;top:72px;left:12px;right:12px;flex-direction:column;padding:9px 14px 12px;border:1px solid var(--hairline);border-radius:15px;background:rgba(251,250,248,.97);box-shadow:0 16px 34px -20px rgba(11,12,15,.2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard),visibility 0s linear var(--dur-base)}
.mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
.mobile-menu a{display:flex;align-items:center;min-height:43px;border-bottom:1px solid rgba(11,12,15,.055);font-family:var(--font-mono);font-size:11px;font-weight:var(--fw-medium);letter-spacing:.075em;text-transform:uppercase;color:var(--ink-600)}
.mobile-menu a:last-child{border-bottom:0}
.mobile-menu a:hover,.mobile-menu a.is-active{color:var(--violet-500)}
.hero{padding:38px 0 0}
.hero-grid{display:block}
.hero-grid>div:first-child{align-items:center;gap:10px!important;text-align:center}
.hero-grid>div:first-child>.label{display:flex;align-items:center;justify-content:center;width:100%;height:46.5px;max-width:100%;margin-inline:auto;font-size:8.5px;line-height:1.55;text-align:center}
h1.hl{font-size:clamp(2.2rem,9.35vw,2.4rem);line-height:1.04;letter-spacing:-.036em;text-align:center;text-wrap:initial}
.hero-aside{align-items:center;max-width:none;margin-top:26px;padding-top:0;gap:21px;border-top:0;text-align:center}
.hero-aside p{width:min(100%,308px);max-width:308px;margin-inline:auto;font-size:15.5px;line-height:1.58;text-align:center}
.hero-aside .cta-row{display:grid;grid-template-columns:max-content;justify-content:center;justify-items:center;gap:9px}
.hero-aside .cta-row>.label{font-size:9.5px}
html.scene-static .stage,html.mobile-cine .stage{margin-top:30px}
html.scene-static .obj .plate,html.mobile-cine .obj .plate{left:9px;right:9px;top:9px}
html.scene-static .obj .pane,html.mobile-cine .obj .pane{padding:18px 16px 14px;border-radius:14px}
html.scene-static .obj-hd,html.mobile-cine .obj-hd{padding-bottom:13px;gap:10px}
html.scene-static .obj-hd-l,html.mobile-cine .obj-hd-l{gap:5px}
html.scene-static .obj-hd-l,html.mobile-cine .obj-hd-l{width:100%;flex-direction:row;align-items:baseline;justify-content:space-between}
html.scene-static .obj-hd .only-narrow,html.mobile-cine .obj-hd .only-narrow,#diary-day{display:none!important}
#gutter-wide{display:none}
.mobile-diary-meta{display:block;font-family:var(--font-mono);font-size:10px;line-height:1.35;letter-spacing:.025em;color:var(--text-secondary)}
.grid-body{display:block;padding-top:3px}
.mobile-week{display:flex;flex-direction:column;width:100%}
.mobile-week-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.mobile-weekday{position:relative;padding:10px 0 9px;font-family:var(--font-mono);font-size:9px;font-weight:var(--fw-medium);letter-spacing:.08em;text-align:center;color:var(--text-tertiary);transition:color var(--dur-base) var(--ease-standard)}
.mobile-weekday::after{content:"";position:absolute;left:28%;right:28%;bottom:-1px;height:1.5px;background:var(--violet-500);opacity:0;transform:scaleX(.55);transition:opacity var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard)}
.mobile-weekday.is-active{color:var(--violet-500)}
.mobile-weekday.is-active::after{opacity:1;transform:scaleX(1)}
.mobile-day-view{display:flex;flex-direction:column;gap:8px;padding-top:11px;opacity:1;transform:none;transition:opacity var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard)}
.mobile-day-view.is-changing{opacity:.34;transform:translateY(3px)}
.mobile-day-title{display:flex;align-items:baseline;justify-content:space-between;padding:0 2px 2px}
.mobile-day-title b{font-size:12px;font-weight:var(--fw-medium);color:var(--text-primary)}
.mobile-day-title span{font-family:var(--font-mono);font-size:9px;color:var(--text-tertiary)}
.mobile-story-appts{display:flex;flex-direction:column;gap:5px}
.mobile-story-appt{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:40px;box-sizing:border-box;padding:5px 8px;border:1px solid rgba(11,12,15,.055);border-radius:7px;background:rgba(255,255,255,.68);transition:background var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}
.mobile-story-appt time{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.01em;color:var(--text-tertiary)}
.mobile-story-appt .mobile-appt-copy{display:flex;min-width:0;flex-direction:column;gap:1px}
.mobile-story-appt b{overflow:hidden;font-size:11.5px;font-weight:var(--fw-regular);line-height:1.2;color:var(--ink-600);text-overflow:ellipsis;white-space:nowrap}
.mobile-story-appt .treatment{overflow:hidden;font-size:10.5px;font-weight:var(--fw-medium);line-height:1.2;color:var(--ink-400);text-overflow:ellipsis;white-space:nowrap}
.mobile-story-appt .mobile-status{max-width:105px;font-family:var(--font-mono);font-size:8px;font-weight:var(--fw-semibold);line-height:1.25;letter-spacing:.055em;text-align:right;text-transform:uppercase;color:var(--violet-500)}
.mobile-story-appt.is-contacting .mobile-status{max-width:none;font-size:7.5px;letter-spacing:.025em;white-space:nowrap}
.mobile-story-appt.is-disruption{background:rgba(137,70,59,.045);border-color:rgba(137,70,59,.2);box-shadow:inset 2px 0 0 var(--clay-600)}
.mobile-story-appt.is-disruption .mobile-status{color:var(--clay-600)}
.mobile-story-appt.is-system{background:rgba(124,92,255,.055);border-color:rgba(124,92,255,.32);box-shadow:inset 2px 0 0 var(--violet-500)}
.mobile-story-appt.is-open{background:rgba(11,12,15,.012);border-style:dashed;border-color:var(--porcelain-400);box-shadow:none}
.mobile-protection{position:absolute;z-index:1;display:block;pointer-events:none;opacity:0;transition:opacity var(--dur-base) var(--ease-standard)}
.mobile-protection-frame{position:absolute;inset:0;border:1px solid rgba(11,12,15,.12);border-radius:18px}
.mobile-protection-edge{position:absolute;background:rgba(11,12,15,.12);transition:background var(--dur-base) var(--ease-standard)}
.mobile-protection-edge[data-edge="0"],.mobile-protection-edge[data-edge="2"]{left:14px;right:14px;height:1px}
.mobile-protection-edge[data-edge="0"]{top:0}.mobile-protection-edge[data-edge="2"]{bottom:0}
.mobile-protection-edge[data-edge="1"],.mobile-protection-edge[data-edge="3"]{top:14px;bottom:14px;width:1px}
.mobile-protection-edge[data-edge="1"]{right:0}.mobile-protection-edge[data-edge="3"]{left:0}
.mobile-protection-edge.is-active{background:var(--violet-500)}
.mobile-system-key{position:absolute;left:18px;right:18px;bottom:9px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 24px;padding:7px 10px;border-radius:10px;background:rgba(245,244,241,.92)}
.mobile-system-key span{font-family:var(--font-mono);font-size:8.5px;font-weight:var(--fw-medium);letter-spacing:.085em;text-transform:uppercase;color:var(--text-tertiary);transition:color var(--dur-base) var(--ease-standard)}
.mobile-system-key span:nth-child(even){text-align:right}
.mobile-system-key span.is-active{color:var(--violet-500)}
html.mobile-cine .scene{height:1000vh;height:1000dvh}
html.mobile-cine .pin{position:sticky;top:0;min-height:100vh;min-height:100dvh;overflow:hidden;padding-bottom:0}
html.mobile-cine #heroCopy{will-change:opacity,transform}
html.mobile-cine #stageWrap{transform-origin:top center;will-change:transform}
html.mobile-cine .s2{top:auto;bottom:auto;padding-top:22px;background:linear-gradient(180deg,rgba(245,244,241,0),var(--canvas) 24px)}
html.mobile-cine .s2-hd{max-width:none;gap:10px;padding-inline:20px}
html.mobile-cine .s2-hd h2{font-size:clamp(1.65rem,7.4vw,1.9rem);line-height:1.08;max-width:21ch;text-wrap:balance}
html.mobile-cine .s2-hd p{font-size:14px;line-height:1.55;max-width:42ch}
html.mobile-cine .pin .s3 .s2-hd{max-width:none;padding-right:20px}
html.mobile-cine .pin .s3 .s2-hd h2{max-width:22ch}
html.mobile-cine .pin .s3 .s2-hd p{max-width:42ch}
html.mobile-cine .bens{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:2px;padding-top:12px}
html.mobile-cine .bens li{font-size:8.5px}
}
/* Tablet cinema — a dedicated composition, not a reduced desktop. Desktop begins at 1100px. */
@media (min-width:768px) and (max-width:1099px){
.wrap{padding-inline:var(--space-7)}
.wrap-wide{padding-inline:var(--space-8)}
.hdr{--hdr-inset:14px;--hdr-cta-half:54px;--hdr-rail:18px;padding-top:var(--space-3)}
.hdr-in{height:58px;gap:18px;border-radius:16px}
.hdr-in img{height:23px}
.nav{display:flex;gap:clamp(12px,1.7vw,18px)}
.nav a{font-size:10.5px;letter-spacing:.055em}
#nav-cta{margin-right:calc(var(--hdr-rail) * -1);transform:translateX(38%)}
#nav-cta .orx-btn,#nav-cta button,#nav-cta a{height:40px;padding-inline:18px;border-radius:9px}
.hero{padding:var(--space-9) 0 var(--space-7)}
.hero-grid{grid-template-columns:minmax(0,59fr) minmax(0,41fr);gap:var(--space-8);align-items:end}
.hero-aside{display:flex;flex-direction:column;align-items:stretch;max-width:none;gap:var(--space-6);padding-top:var(--space-6)}
.hero-aside p{max-width:58ch}
.hero-aside .cta-row{justify-content:flex-start}
html:not(.scene-static) .only-wide{display:flex!important}
html:not(.scene-static) .only-narrow{display:none!important}
html:not(.scene-static) .obj-hd .only-wide{display:block!important}
html:not(.scene-static) .obj-hd .only-narrow{display:none!important}
html:not(.scene-static) .stage{margin-top:var(--space-7);perspective:2200px}
html:not(.scene-static) .stage::before,html:not(.scene-static) .stage::after{display:block}
html:not(.scene-static) .obj{transform:rotateX(1.1deg)!important}
html:not(.scene-static) .obj .pane{padding:var(--space-6) var(--space-6) var(--space-5)}
html:not(.scene-static) .qslat .gapmark{left:2px;right:2px}
html:not(.scene-static) .qslat .gapmark b{letter-spacing:.06em}
html:not(.scene-static) .s2-hd{max-width:min(720px,calc(100vw - 96px));gap:var(--space-4)}
html:not(.scene-static) .pin .s3 .s2-hd{padding-right:0;max-width:min(720px,calc(100vw - 96px))}
html:not(.scene-static) .pin .s3 .s2-hd h2{width:auto;max-width:26ch}
html:not(.scene-static) .pin .s3 .s2-hd p{max-width:58ch}
.pill{font-size:var(--fs-micro)}
.bens{max-width:620px;gap:var(--space-5) var(--space-7);padding-top:var(--space-6)}
.handoff .wrap{padding-inline:var(--space-8)}
.fit{padding-bottom:var(--space-10)}
.fit-top{gap:var(--space-7);padding-bottom:var(--space-7)}
.fit-vals{gap:var(--space-7);padding-top:var(--space-8)}
.trust{padding-bottom:var(--space-10)}
.trust-in{gap:var(--space-8)}
.faq-in{max-width:calc(100vw - 96px)}
.book{margin-top:var(--space-10)}
.ftr-top{gap:var(--space-8)}
}
@media (min-width:768px) and (max-width:1024px){
.hero-grid{grid-template-columns:minmax(0,57fr) minmax(0,43fr)}
.hero-aside{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-6)}
.hero-aside .cta-row{flex-direction:row;align-items:center;gap:var(--space-5);flex-wrap:nowrap}
}
@media (min-width:768px) and (max-width:900px){
.hero-aside{position:relative;top:8px}
}
/* Built to fit — editorial, scannable, no cards. The handoff absorbs the unused lower part of
   the final pinned viewport; it belongs to this section, never to the cinematic scene. */
.handoff{margin-top:calc(var(--handoff,0px) * -1);position:relative;z-index:3}
.fit{padding:0 0 var(--space-11)}
.fit-top{--fit-h2:clamp(1.85rem,2.55vw,2.5rem);display:grid;grid-template-columns:minmax(0,60fr) minmax(0,40fr);gap:var(--space-9) var(--space-9);align-items:end;padding-bottom:var(--space-8);border-bottom:1px solid var(--hairline)}
.fit-hd{display:flex;flex-direction:column;gap:var(--space-5)}
.fit-hd h2{font-size:var(--fit-h2);font-weight:var(--fw-medium);line-height:1.16;letter-spacing:-.028em;color:var(--text-primary);margin:0;text-wrap:balance}
.mobile-fit-break{display:none}
.fit-int{display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-end;text-align:right;margin-bottom:calc(.287 * var(--fit-h2))}
.marks{display:flex;align-items:flex-end;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-5) var(--space-8);list-style:none;margin:0;padding:0}
.marks li{display:flex;align-items:flex-end;line-height:0}
/* sized by perceived weight: matched cap heights, not matched widths */
.marks img{display:block;width:auto;height:clamp(21.5px,1.7vw,26px)}
.marks li:first-child img{transform:translateY(22%)}
.marks li:nth-child(2) img{height:clamp(15px,1.2vw,18px)}
.marks li:nth-child(3) img{height:clamp(15.5px,1.25vw,19.5px)}
.fit-vals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-10);padding-top:var(--space-9)}
.fit-val{display:flex;flex-direction:column;gap:var(--space-4)}
.fit-val p{margin:0;font-size:var(--fs-body);line-height:1.58;color:var(--text-secondary);max-width:30ch;text-wrap:pretty}
/* Trust — a quiet assurance ledger. Authority from hairlines and type, never security theatre. */
.trust{padding:var(--space-8) 0 var(--space-11);position:relative}
.trust::before{content:"";position:absolute;top:0;left:var(--space-8);right:var(--space-8);height:1px;background:rgba(11,12,15,.055)}
.trust-in{display:grid;grid-template-columns:minmax(0,44fr) minmax(0,56fr);gap:var(--space-9) var(--space-12);align-items:start}
.trust-hd{display:flex;flex-direction:column;gap:var(--space-5)}
.trust-hd h2{margin:0;font-size:clamp(1.7rem,2.2vw,2.15rem);font-weight:var(--fw-medium);line-height:1.18;letter-spacing:-.026em;color:var(--text-primary);max-width:22ch;text-wrap:balance}
.mobile-trust-break{display:none}
.trust-hd p{margin:0;font-size:var(--fs-body-sm);line-height:1.6;color:var(--text-secondary);max-width:44ch;text-wrap:pretty}
.ledger{display:flex;flex-direction:column;border-top:1px solid var(--hairline)}
.led{display:grid;grid-template-columns:14px 140px minmax(0,1fr);gap:var(--space-4) var(--space-6);align-items:baseline;padding:var(--space-5) 0 calc(var(--space-5) + 2px);border-bottom:1px solid var(--hairline)}
.led::before{content:"";width:10px;height:1.5px;background:var(--violet-500);opacity:.9;transform:translateY(-4px)}
.led .label{white-space:nowrap}
.led p{margin:0;font-size:var(--fs-body-sm);line-height:1.58;color:var(--text-secondary);text-wrap:pretty}
@media (max-width:1080px){
.trust-in{grid-template-columns:minmax(0,1fr);gap:var(--space-9)}
}
@media (max-width:900px){
.trust{padding:var(--space-6) 0 var(--space-11)}
.led{grid-template-columns:14px minmax(0,1fr);gap:var(--space-3) var(--space-5);padding:var(--space-5) 0}
.led .label{white-space:normal}
.led p{grid-column:2}
.trust-hd h2,.trust-hd p{max-width:56ch}
}
@media (min-width:768px) and (max-width:1099px){
.trust-in{gap:calc(var(--space-9) - 8px)}
.trust-hd{align-items:center;text-align:center;max-width:760px;margin-inline:auto}
.trust-hd h2{max-width:26ch}
.trust-hd p{max-width:760px}
.ledger{text-align:left}
}
/* FAQ — an editorial accordion: hairlines, one open at a time, a single accent cue. */
.faq{padding:var(--space-6) 0 var(--space-11)}
.faq-in{max-width:960px;margin-inline:auto}
.faq-hd{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:var(--space-6)}
.faq-hd h2{margin:0;font-size:clamp(1.7rem,2.2vw,2.15rem);font-weight:var(--fw-medium);line-height:1.18;letter-spacing:-.026em;color:var(--text-primary);text-wrap:pretty}
.mobile-faq-break{display:none}
.faq-list{border-top:1px solid var(--hairline)}
.qa{border-bottom:1px solid var(--hairline)}
.qa-m{flex:none;width:10px;height:1.5px;background:var(--violet-500);opacity:0;transition:opacity var(--dur-base) var(--ease-standard)}
.qa.open .qa-m{opacity:.9}
.qa-q{display:grid;grid-template-columns:10px minmax(0,1fr) 13px;align-items:center;gap:var(--space-3);width:100%;min-height:60px;padding:var(--space-6) 0;background:none;border:0;text-align:left;cursor:pointer;color:var(--text-primary)}
.qa-t{font-family:var(--font-core);font-size:var(--fs-body-lg);font-weight:var(--fw-regular);letter-spacing:-.008em;line-height:1.4;color:var(--text-primary);transition:color var(--dur-fast) var(--ease-standard)}
.qa-q:hover .qa-t{color:var(--ink-600)}
.qa-ic{position:relative;flex:none;width:13px;height:13px;transition:opacity var(--dur-fast) var(--ease-standard)}
.qa-ic::before,.qa-ic::after{content:"";position:absolute;left:0;top:6px;width:13px;height:1.5px;background:var(--ink-400);transition:transform var(--dur-base) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}
.qa-ic::after{transform:rotate(90deg)}
.qa.open .qa-ic::before,.qa.open .qa-ic::after{background:var(--violet-500)}
.qa.open .qa-ic::after{transform:rotate(0deg)}
.qa-a{overflow:hidden;height:0;opacity:0;transition:height var(--dur-base) var(--ease-standard),opacity var(--dur-fast) var(--ease-standard)}
.qa.open .qa-a{opacity:1}
.qa-a p{margin:0;max-width:700px;padding:0 var(--space-9) var(--space-6) calc(10px + var(--space-3));font-size:var(--fs-body-sm);line-height:1.62;color:var(--text-secondary);max-width:68ch;text-wrap:pretty}

@media (max-width:900px){
.faq{padding:var(--space-4) 0 var(--space-11)}
.qa-a p{padding-right:0}
}
/* Book a demo — the quiet final line: one deep graphite pause, contrast doing all the work. */
.book{margin-top:var(--space-11);padding:var(--space-8) 0 var(--space-10);background:#F1F0ED;border-top:1px solid rgba(11,12,15,.055)}
.book-in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-5)}
.book .label{color:var(--text-tertiary)}
.book-in>.label{position:relative;padding-top:var(--space-6)}
.book-in>.label::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:28px;height:1.5px;background:var(--violet-500);opacity:.85}
.book h2{margin:0;font-family:var(--font-display);font-size:clamp(2.1rem,3.6vw,3.25rem);font-weight:var(--fw-medium);line-height:1.12;letter-spacing:var(--ls-display);color:var(--text-primary);max-width:22ch;text-wrap:pretty}
.mobile-book-break,.mobile-book-narrow-break{display:none}
.book h2 .ac{color:var(--text-accent)}
.book p{margin:0;max-width:640px;font-size:var(--fs-body-lg);line-height:1.6;color:var(--text-secondary);text-wrap:pretty}
.book-cta{display:flex;flex-direction:row;align-items:center;gap:var(--space-5);margin-top:var(--space-6)}
.book-cta :is(a,button){padding-inline:var(--space-9)!important;height:50px!important;border-radius:var(--radius-3)!important;font-family:var(--font-core)!important;letter-spacing:-.004em}
.book-cta :is(a,button):hover{background:var(--ink-700)!important}
@media (max-width:900px){
.book{margin-top:var(--space-10);padding:var(--space-8) 0 var(--space-9)}
.book h2{max-width:30ch}
.book-cta{flex-direction:column;gap:var(--space-3)}
}
/* Footer — the final tonal layer of the same light environment, one step deeper than the CTA. */
.ftr{padding:28px 0 18px;background:#E8E7E3;border-top:1px solid rgba(11,12,15,.05)}
.ftr-top{display:grid;grid-template-columns:minmax(0,48fr) minmax(0,52fr);gap:var(--space-9) var(--space-12);align-items:start}
.ftr-brand{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.ftr-brand img{height:26px;width:auto;display:block}
.ftr-brand p{margin:0;font-size:var(--fs-body-sm);line-height:1.5;color:var(--text-secondary)}
.ftr-links{display:flex;flex-direction:column;gap:14px;align-items:flex-start;width:100%}
.ftr-nav,.ftr-util,.ftr-legal{display:grid;grid-template-columns:125px 102px 56px max-content;align-items:center;width:100%}
.ftr-nav-row{display:contents}
.ftr-legal{margin-top:4px}
.ftr a{font-family:var(--font-mono);font-weight:var(--fw-medium);text-transform:uppercase;text-decoration:none;border-bottom:0;transition:color var(--dur-fast) var(--ease-standard)}
.ftr-nav a{font-size:var(--fs-micro);letter-spacing:.1em;color:var(--text-primary)}
.ftr-util a,.ftr-legal a{font-size:10.5px;letter-spacing:.1em;color:var(--text-secondary)}
.ftr-login-arrow{display:inline}
.ftr a:hover{color:var(--text-accent)}
.ftr-rail{display:flex;flex-wrap:wrap;justify-content:center;text-align:center;gap:var(--space-3) var(--space-8);margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid rgba(11,12,15,.09)}
.ftr-rail p{margin:0;font-size:var(--fs-caption);color:var(--text-secondary)}
@media (max-width:900px){
.ftr{padding:28px 0 18px}
.ftr-top{grid-template-columns:minmax(0,1fr);gap:var(--space-8)}
.ftr-rail{margin-top:var(--space-8)}
}
@media (min-width:768px) and (max-width:1099px){
.ftr-top{grid-template-columns:minmax(230px,42fr) minmax(360px,58fr);gap:var(--space-10)}
.ftr-links,.ftr-nav,.ftr-util,.ftr-legal{align-items:flex-start;justify-content:flex-start;text-align:left}
}
@media (min-width:1100px){
.ftr{padding:22px 0 14px}
.ftr-top{align-items:stretch}
.ftr-brand{align-items:center;justify-content:center;text-align:center;transform:translateX(-75px)}
.ftr-brand img{height:24.5px}
.ftr-links{gap:var(--space-4)}
.ftr-login-arrow{display:none}
.ftr-legal{margin-top:var(--space-2)}
.ftr-rail{margin-top:26px;padding-top:14px}
}
.ac-lab{color:var(--ink-400)}
.rv{opacity:0;transform:translateY(12px);transition:opacity var(--dur-slow) var(--ease-standard),transform var(--dur-slow) var(--ease-standard)}
.rv.in{opacity:1;transform:none}
@media (max-width:900px){
.fit{padding:0 0 var(--space-10)}
.fit-top{grid-template-columns:minmax(0,1fr);gap:var(--space-8);padding-bottom:var(--space-8)}
.fit-int{align-items:flex-start;text-align:left;margin-bottom:0}
.marks{justify-content:flex-start}
.fit-val{position:relative}
.fit-val p{max-width:56ch}
.fit-val + .fit-val::before{content:"";position:absolute;left:0;right:0;top:-14px;height:1px;background:rgba(11,12,15,.055)}
.fit-vals{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:var(--space-8)}
.marks{gap:var(--space-6)}
}
@media (max-width:767px){
.handoff{margin-top:calc(-20px - clamp(0px,calc(131.25dvh - 1065.75px),42px) - clamp(0px,calc(125dvh - 1055px),110px))}
.fit-top{--fit-h2:1.55rem}
.fit-hd h2{width:calc(100% + 12px);max-width:calc(100vw - 12px);line-height:1.1}
.mobile-fit-break{display:none}
.fit-int{width:100%;align-items:center;text-align:center}
.marks{justify-content:center;flex-wrap:nowrap;gap:var(--space-6)}
.trust-in{gap:var(--space-8)}
.trust-hd{width:100%;align-items:center;text-align:center;margin-inline:auto}
.trust-hd h2{max-width:100%;text-wrap:initial;white-space:nowrap}
.mobile-trust-break{display:initial}
.trust-hd p{max-width:315px}
.ledger{width:100%;text-align:left}
.led{column-gap:var(--space-4);padding:14.5px 0}
.trust{padding-bottom:calc(var(--space-11) - 14px)}
.faq-hd h2{font-size:1.55rem;line-height:1.16;text-wrap:initial;white-space:nowrap}
.mobile-faq-break{display:initial}
.qa-q{grid-template-columns:minmax(0,1fr) 13px;gap:var(--space-4);min-height:56px;padding:18px 0}
.qa-m{display:none}
.qa.open .qa-ic::after{opacity:0;transform:rotate(0deg)}
.qa-a p{max-width:310px;padding:0 0 18px var(--space-4)}
.faq{padding-bottom:calc(var(--space-11) - 8px)}
.book{margin-top:0;border-top:0}
.book h2{font-size:1.93rem;max-width:100%;text-wrap:initial;white-space:nowrap}
.mobile-book-break{display:initial}
.book p{max-width:320px}
.ftr{padding:22px 0 14px}
.ftr-top{gap:var(--space-7)}
.ftr-brand{align-items:center;gap:10px;text-align:center}
.ftr-brand img{height:20.5px}
.ftr-links{align-items:center;gap:0}
.ftr-nav{display:flex;flex-direction:column;align-items:center;width:100%;margin-bottom:var(--space-5)}
.ftr-nav-row{display:flex;align-items:center;justify-content:center;gap:36px;width:100%}
.ftr-nav-row + .ftr-nav-row{margin-top:10px}
.ftr-util{display:flex;justify-content:center;gap:28px;width:100%;margin-bottom:10px}
.ftr-login-arrow{display:none}
.ftr-legal{display:flex;justify-content:center;flex-wrap:nowrap;gap:var(--space-6);width:100%;margin-top:0}
.ftr-rail{justify-content:center;text-align:center;margin-top:var(--space-5);padding-top:var(--space-4)}
}
@media (max-width:380px){.mobile-book-narrow-break{display:initial}}
@media (prefers-reduced-motion:reduce){.rise,.settle{animation:none}.obj{transition:none}.rv{opacity:1;transform:none;transition:none}.nav-veil{display:none;transition:none}.mobile-menu,.mobile-menu-icon::before,.mobile-menu-icon::after,.mobile-day-view,.mobile-weekday,.mobile-weekday::after,.mobile-story-appt,.mobile-protection,.mobile-protection-edge,.mobile-system-key span{transition:none}}
