/* OVERVIEW v3 — THE DASHBOARD (10-21; SPEC: platform docs/ui-vision/overview-v3/SPEC.md). Scoped to .ov3 (the Overview door
   when showcase-overview3.js renders it) and #ov3Full (the full viewer console). Silver light only; house curve; content-sized
   modules; text blocks have fixed widths so the rail's slide (144 ↔ 316) never reflows a line. */
.ov3{--h:cubic-bezier(.16,1,.3,1);--x:cubic-bezier(.7,0,.84,0);--l:cubic-bezier(.4,0,.2,1);--acc:215,223,229;--soft:#eef2f6;--ink2:rgba(238,242,246,.72);--ink3:rgba(238,242,246,.5);--edge:rgba(255,255,255,.13);--lit:rgba(215,223,229,.45)}
.ov3 em{font-style:italic;color:var(--soft)}
:where(.ov3) :where(button){font:inherit;color:inherit;background:none;border:0;cursor:pointer;text-align:inherit;padding:0}
.ov3-serif{font-family:"Bodoni 72","Didot","Bodoni MT",Georgia,serif;font-weight:400}
.ov3-lbl{font:500 9.5px/1.3 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:rgba(215,223,229,.82)}
.ov3-lbl.dim{color:var(--ink3)}
.ov3-quiet{display:inline-flex;align-items:center;gap:6px;color:var(--ink2);font:500 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;transition:color .2s}
.ov3-quiet:hover{color:#fff}.ov3-arw{transition:transform .2s var(--h)}.ov3-quiet:hover .ov3-arw,.ov3-hov:hover .ov3-arw{transform:translateX(3px)}
.ov3-quiet.mail{text-transform:none;letter-spacing:0;font-size:14px;font-weight:400}
button.ov3-quiet{min-height:44px}
.ov3 .ov-bg i{transition:opacity .9s var(--h)}
.ov3 .ov-pager{top:18px;bottom:auto}
.ov3-stage{position:absolute;inset:70px 22px 22px;z-index:2}
.ov3-ch{position:absolute;inset:0;opacity:0;pointer-events:none;transform:scale(.985);filter:blur(6px);transition:opacity .36s var(--x),transform .36s var(--x),filter .36s var(--x)}
.ov3-ch.on{opacity:1;pointer-events:auto;transform:none;filter:none;transition:opacity .6s var(--h) .12s,transform .75s var(--h) .12s,filter .6s var(--h) .12s}

/* module grammar (SPEC §5) */
.ov3-m{position:relative;border-radius:14px;border:1px solid var(--edge);background:rgba(14,19,24,.6);cursor:pointer;-webkit-backdrop-filter:blur(22px) saturate(1.25);backdrop-filter:blur(22px) saturate(1.25);overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 20px 50px rgba(0,0,0,.28);transition:border-color .22s,transform .22s var(--h);color:#fff}
.ov3-hov:hover{border-color:var(--lit);transform:translateY(-2px)}
.ov3-hov:hover .ov3-zoom{transform:scale(1.03)}
.ov3-zoom{transition:transform .6s var(--h)}
.ov3-hov:active{transform:scale(.99);transition-duration:.11s}
.ov3-mat{opacity:0;transform:translateY(12px) scale(.985)}
.ov3-ch.on .ov3-mat{animation:ov3mat .75s var(--h) forwards;animation-delay:calc(var(--i,0) * 70ms + 120ms)}
@keyframes ov3mat{to{opacity:1;transform:none}}
.ov3-ticks::before,.ov3-ticks::after{content:"";position:absolute;width:16px;height:16px;border:1px solid rgba(var(--acc),.55);pointer-events:none;z-index:4}
.ov3-ticks::before{top:8px;left:8px;border-right:0;border-bottom:0;border-radius:6px 0 0 0}.ov3-ticks::after{bottom:8px;right:8px;border-left:0;border-top:0;border-radius:0 0 6px 0}
.ov3-w{display:inline-block;opacity:0;transform:translateY(14px)}
.ov3-ch.on .ov3-w{animation:ov3mat .7s var(--h) forwards;animation-delay:calc(160ms + var(--w,0) * 70ms)}
/* THE ONE SILVER SWEEP: a light band travelling through the letters (text-clipped), once */
.ov3-sweep,.ov3-sweep em,.ov3-sweep .ov3-w{background:linear-gradient(100deg,#eef2f6 0 42%,#fff 48%,#c9d2da 50%,#fff 52%,#eef2f6 58% 100%);background-size:260% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ov3-ch.on .ov3-sweep:not(:has(.ov3-w)),.ov3-ch.on .ov3-sweep:not(:has(.ov3-w)) em{animation:ov3sw 2.2s var(--l) 1.4s 1 forwards}
.ov3-ch.on .ov3-sweep .ov3-w{animation:ov3mat .7s var(--h) forwards,ov3sw 2.2s var(--l) 1.4s 1 forwards;animation-delay:calc(160ms + var(--w,0) * 70ms),1.4s}
@keyframes ov3sw{from{background-position:100% 0}to{background-position:0 0}}
.ov3-ring{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;color:var(--accent);flex:none;background:rgba(255,255,255,.03)}
.ov3-ring svg{width:17px;height:17px}
.ov3-cap{display:inline-flex;align-items:center;gap:12px;height:44px;padding:6px 22px 6px 6px!important;border-radius:999px;border:1px solid rgba(var(--acc),.45)!important;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.03))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 26px rgba(0,0,0,.3);font:500 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;transition:border-color .2s,transform .2s;white-space:nowrap}
.ov3-cap:hover{border-color:var(--accent)!important;transform:translateY(-1px)}
.ov3-cap .ov3-ring{width:32px;height:32px;background:rgba(var(--acc),.92);color:#14181c;border:0}
.ov3-cap .ov3-ring svg{width:15px;height:15px}

/* ═══ 01 · THE DASHBOARD ═══ */
.ov3-dash{height:100%;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:minmax(0,1fr) clamp(140px,26.6%,168px);gap:16px}
.ov3-H{grid-column:1/9;grid-row:1;display:grid;grid-template-columns:300px minmax(0,1fr);align-items:center;gap:24px;padding:0 32px}
.ov3-bd{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(18px) brightness(.5) saturate(.9);transform:scale(1.08);transition:background-image .6s}
.ov3-bd::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,13,16,.7),rgba(10,13,16,.2))}
.ov3-txt{position:relative;z-index:2;width:300px}
.ov3-H h2{font-size:36px;line-height:1.08;margin:14px 0 16px;color:#fff}
.ov3-rule{display:block;width:56px;height:1px;background:var(--accent);transform-origin:left;transform:scaleX(0)}
.ov3-ch.on .ov3-rule{animation:ov3draw .9s var(--h) 1.2s forwards}
@keyframes ov3draw{to{transform:scaleX(1)}}
.ov3-H p{font:300 15px/1.5 var(--sans);color:var(--ink2);margin:16px 0 22px;max-width:270px}
.ov3-H p.ov3-ph{display:none}
.ov3-tour{display:flex;align-items:center;gap:12px;margin-top:14px;color:var(--ink2);font:500 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;min-height:44px}
.ov3-tour .ov3-ring{width:36px;height:36px}
.ov3-cz{position:relative;z-index:2;justify-self:end;width:100%;max-width:451px}
.ov3-R{grid-column:9/13;grid-row:1;display:grid;grid-template-rows:1.58fr 1fr;gap:16px;min-height:0}
.ov3-B1{display:grid;grid-template-rows:minmax(0,1fr) auto;text-align:left}
.ov3-B1 .ov3-pic{overflow:hidden;min-height:0}.ov3-B1 .ov3-pic img{width:100%;height:100%;object-fit:cover;object-position:47% 28%;display:block}
.ov3-t{padding:12px 16px 14px;text-align:left}
.ov3-t h3{font-size:20px;line-height:1.15;margin:6px 0 8px;color:#fff}
.ov3-t p{font:300 13.5px/1.45 var(--sans);color:var(--ink2);margin:0}
.ov3-B2{display:grid;grid-template-columns:minmax(0,1fr) 240px}
.ov3-B2 .ov3-pic{overflow:hidden}.ov3-B2 .ov3-pic img{width:100%;height:100%;object-fit:cover;object-position:78% 22%;transform-origin:78% 22%;transform:scale(2.1);display:block}
.ov3-B2 .ov3-t{display:flex;flex-direction:column;justify-content:center}
.ov3-B2 p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ov3-S{grid-row:2;padding:16px 18px;display:flex;flex-direction:column;justify-content:space-between;text-align:left}
.ov3-S1{grid-column:1/5}.ov3-S2{grid-column:5/9}.ov3-S3{grid-column:9/13}
.ov3-fig{display:flex;align-items:baseline;gap:8px;margin-top:4px}
.ov3-fig b{position:relative;font:500 52px/1 var(--sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#fff}
.ov3-fig b::after{content:"";position:absolute;inset:-10px -16px;border-radius:50%;background:radial-gradient(rgba(var(--acc),.22),transparent 70%);opacity:.35;animation:ov3br 6s ease-in-out 2.4s infinite alternate;z-index:-1}
@keyframes ov3br{to{opacity:.7}}
.ov3-fig small{font-size:14px;color:var(--ink3)}
.ov3-bars{display:grid;gap:7px}
.ov3-bar{display:grid;grid-template-columns:72px 150px auto;align-items:center;gap:10px;font:500 11px/1 var(--sans);letter-spacing:.06em}
.ov3-bar .ov3-lbl{font-size:9px}
.ov3-bar i{height:4px;border-radius:4px;background:rgba(255,255,255,.1);position:relative;overflow:hidden}
.ov3-bar i::after{content:"";position:absolute;inset:0;width:var(--w);border-radius:4px;background:linear-gradient(90deg,rgba(var(--acc),.5),var(--accent));transform-origin:left;transform:scaleX(0)}
.ov3-ch.on .ov3-bar i::after{animation:ov3draw .7s var(--h) forwards;animation-delay:calc(1.9s + var(--k) * 70ms)}
.ov3-S2{display:grid;grid-template-columns:minmax(0,1fr) 196px;align-items:center;gap:16px}
.ov3-S2 .ov3-t{padding:0}
.ov3-fan{position:relative;height:100px;width:150px;justify-self:center}
.ov3-fan>*{position:absolute;left:43px;top:10px;width:64px;height:80px;border-radius:8px;border:1px solid rgba(var(--acc),.5);overflow:hidden;background:#111;box-shadow:0 8px 20px rgba(0,0,0,.4);transition:transform .7s var(--h)}
.ov3-fan img,.ov3-fan video{width:100%;height:100%;object-fit:cover;display:block}
.ov3-fan .plan{background:#eef1f3}.ov3-fan .plan img{object-fit:contain;padding:4px}
.ov3-ch.on .ov3-fan .f1{transform:translateX(-36px) rotate(-9deg)}.ov3-ch.on .ov3-fan .f3{transform:translateX(36px) rotate(9deg)}
.ov3-fan .f1{transition-delay:1.1s}.ov3-fan .f3{transition-delay:1.24s}
html.v3-open .ov3-fan>*{width:56px;height:70px;left:47px}
html.v3-open .ov3-ch.on .ov3-fan .f1{transform:translateX(-20px) rotate(-9deg)}html.v3-open .ov3-ch.on .ov3-fan .f3{transform:translateX(20px) rotate(9deg)}
.ov3-S3 h4{font:500 15px/1.2 var(--sans);margin:6px 0 2px;color:#fff}
.ov3-path{display:flex;align-items:center;margin:8px 0 6px}
.ov3-node{width:9px;height:9px;border-radius:50%;border:1px solid rgba(var(--acc),.6);flex:none;transition:background .3s,box-shadow .3s}
.ov3-node.lit{background:var(--accent);box-shadow:0 0 10px rgba(var(--acc),.7)}
.ov3-link{flex:1;height:1px;background:rgba(var(--acc),.45);transform-origin:left;transform:scaleX(0);transition:transform .3s var(--h)}
.ov3-link.lit{transform:scaleX(1)}
.ov3-plbl{display:flex;justify-content:space-between;font-size:10.5px;color:var(--ink3)}
.ov3-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.ov3-chips span{font-size:10.5px;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.12);color:var(--ink2);opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s var(--h)}
.ov3-chips span.in{opacity:1;transform:none}

/* ═══ THE VIEWER CONSOLE (SPEC §7) ═══ */
.ov3-vc{position:relative;padding:22px 10px 0;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(14,19,24,.72);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 24px 60px rgba(0,0,0,.45);transition:border-color .2s;color:#fff;font-family:var(--sans)}
:where(.ov3-vc) :where(button){font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
.ov3-vc.flipping{border-color:rgba(var(--acc),.6)}
.ov3-vc-tabs{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);z-index:5;display:flex;gap:2px;padding:3px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#0b0f12;width:max-content;max-width:calc(100% - 20px);overflow-x:auto;scrollbar-width:none}
.ov3-vc-tabs::-webkit-scrollbar{display:none}
.ov3-vc-tabs button{flex:0 0 auto;white-space:nowrap;height:26px;min-width:36px;padding:0 10px!important;border-radius:999px;font:500 10px/1 var(--mono);letter-spacing:.14em;color:var(--ink3);text-transform:uppercase;transition:background .3s,color .3s}
.ov3-vc-tabs button.on{background:rgba(var(--acc),.92);color:#14181c;font:500 11px/1 var(--sans);letter-spacing:.12em;padding:0 14px!important}
.ov3-vc.full .ov3-vc-tabs button{height:34px;padding:0 16px!important;font:500 11.5px/1 var(--sans)}
.ov3-vc-box{position:relative;perspective:1600px}
.ov3-vc-card{position:relative;aspect-ratio:1.6;transform-style:preserve-3d;transition:transform .62s var(--h)}
.ov3-vc-card.flip{transform:rotateY(180deg)}
.ov3-face{position:absolute;inset:0;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.18);background:#0a0c0e;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.ov3-back{transform:rotateY(180deg);visibility:hidden;transition:visibility 0s .31s}
.ov3-vc-card.flip .ov3-back{visibility:visible}.ov3-vc-card.flip .ov3-front{visibility:hidden;transition:visibility 0s .31s}
.ov3-front{cursor:pointer}
.ov3-shot{position:absolute;inset:0;opacity:0;transform:translateX(4%);transition:opacity .26s var(--x),transform .26s var(--x)}
.ov3-shot.on{opacity:1;transform:none;transition:opacity .6s var(--h),transform .6s var(--h)}
.ov3-shot.prev{transform:translateX(-4%)}
.ov3-shot>img{position:relative;width:100%;height:100%;object-fit:cover;display:block}
.ov3-vc.full .ov3-shot>img{object-fit:contain}
.ov3-blur{position:absolute;inset:-8%;background-size:cover;background-position:center;filter:blur(24px) brightness(.4)}
.ov3-scrim{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(4,6,8,.7));pointer-events:none}
.ov3-ex{position:absolute;z-index:3;left:12px;bottom:24px;padding:5px 9px;border-radius:999px;background:rgba(8,10,12,.62);border:1px solid rgba(255,255,255,.14);font:500 9.5px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink2)}
.ov3-nm{display:none}
.ov3-vc.full .ov3-nm{display:block;position:absolute;z-index:3;left:20px;bottom:30px;font:400 26px/1.1 "Bodoni 72","Didot",Georgia,serif;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.ov3-vc.full .ov3-ex{top:14px;bottom:auto;left:14px}
.ov3-fctl{position:absolute;z-index:4;top:10px;right:10px;display:flex;gap:8px}
.ov3-vc.full .ov3-fctl{top:14px;right:14px}
.ov3-fl{height:36px;padding:0 14px!important;border-radius:999px;border:1px solid rgba(255,255,255,.22)!important;background:rgba(8,10,12,.6)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:500 11px/1 var(--sans)!important;letter-spacing:.12em;text-transform:uppercase;transition:border-color .2s,transform .2s}
.ov3-fl:hover{border-color:var(--accent)!important;transform:translateY(-1px)}
.ov3-vc.full .ov3-fl{height:44px;padding:0 18px!important}
.ov3-fl.ic{width:36px;padding:0!important;display:grid;place-items:center}.ov3-vc.full .ov3-fl.ic{width:44px}
.ov3-segs{position:absolute;z-index:3;left:12px;right:12px;bottom:12px;display:flex;gap:4px}
.ov3-segs i{flex:1;height:2px;border-radius:2px;background:rgba(255,255,255,.14);position:relative;overflow:hidden}
.ov3-segs i::after{content:"";position:absolute;inset:0;background:var(--accent);transform-origin:left;transform:scaleX(var(--p,0))}
.ov3-arr{position:absolute;z-index:4;top:50%;width:40px;height:40px;margin-top:-20px;border-radius:50%;border:1px solid rgba(var(--acc),.35)!important;background:rgba(8,10,12,.62)!important;display:grid;place-items:center;transition:opacity .2s,border-color .2s,transform .2s}
.ov3-arr:hover{border-color:var(--accent)!important}.ov3-arr.l{left:10px}.ov3-arr.r{right:10px}
.ov3-vc-card.flip ~ .ov3-arr{opacity:0;pointer-events:none}
.ov3-vc.full .ov3-arr{width:56px;height:56px;margin-top:-28px}.ov3-vc.full .ov3-arr.l{left:-42px}.ov3-vc.full .ov3-arr.r{right:-42px}
.ov3-arr small{position:absolute;top:62px;font:500 9.5px/1 var(--mono);letter-spacing:.2em;color:var(--ink3)}
.ov3-vc-bot{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:34px;padding:0 4px}
.ov3-vc.full .ov3-vc-bot{height:48px}
.ov3-n{font:500 10px/1 var(--mono);letter-spacing:.14em;color:var(--ink2)}
.ov3-vc-bot button{display:inline-flex;align-items:center;gap:6px;font:500 11px/1 var(--sans)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)!important;height:34px;white-space:nowrap}
.ov3-vc-bot button:hover{color:#fff!important}.ov3-vc-bot .rt{justify-self:end}
.ov3-bl{position:absolute;inset:-10%;background-size:cover;background-position:center;filter:blur(24px) brightness(.35)}
.ov3-tb{position:absolute;top:10px;right:10px;z-index:3;height:36px;padding:0 16px!important;border-radius:999px;border:1px solid rgba(var(--acc),.6)!important;background:rgba(var(--acc),.92)!important;color:#14181c!important;font:600 11px/1 var(--sans)!important;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 8px 20px rgba(0,0,0,.35)}
.ov3-vc.full .ov3-tb{height:44px;padding:0 20px!important;top:14px;right:14px}
.ov3-in{position:relative;z-index:2;height:100%;padding:52px 20px 16px;display:flex;flex-direction:column;justify-content:flex-start;opacity:0;transition:opacity .18s}
.ov3-vc-card.flip .ov3-in{opacity:1;transition-delay:.31s}
.ov3-in h3{font:400 20px/1.15 "Bodoni 72","Didot",Georgia,serif;margin:6px 0;color:#fff}
.ov3-in p{font:300 13.5px/1.45 var(--sans);color:var(--ink2);margin:0}
.ov3-acts{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.ov3-ra{display:inline-flex!important;align-items:center;gap:8px;height:44px;padding:0 14px 0 4px!important;border-radius:999px;border:1px solid rgba(255,255,255,.14)!important;background:rgba(8,10,12,.5)!important;font:500 11px/1 var(--sans)!important;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.ov3-ra .ov3-ring{width:36px;height:36px}
.ov3-vc.full .ov3-in{display:grid;grid-template-columns:55% 1fr;gap:32px;align-items:center;padding:40px}
.ov3-vc.full .ov3-in h3{font-size:32px}
.ov3-thumb{border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.16);aspect-ratio:1.6}.ov3-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ov3-vc.full .ov3-acts{flex-direction:column}.ov3-vc.full .ov3-ra{height:52px}

/* the full console over the page; Full page = edge to edge with its own Return */
.ov3-full{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:56px 90px 40px;opacity:0;transition:opacity .36s cubic-bezier(.7,0,.84,0);--acc:215,223,229;--ink2:rgba(238,242,246,.72);--ink3:rgba(238,242,246,.5);--h:cubic-bezier(.16,1,.3,1);--x:cubic-bezier(.7,0,.84,0);--l:cubic-bezier(.4,0,.2,1)}
.ov3-full.open{opacity:1;transition:opacity .6s var(--h)}
.ov3-gbg{position:absolute;inset:-6%;background:#07090c center/cover no-repeat;filter:blur(24px) brightness(.4)}
.ov3-lines{position:absolute;inset:0;background:repeating-conic-gradient(from 0deg at 50% 50%,rgba(var(--acc),.035) 0deg .4deg,transparent .4deg 3deg);-webkit-mask:radial-gradient(circle at 50% 50%,transparent 30%,#000 55%,transparent 85%);mask:radial-gradient(circle at 50% 50%,transparent 30%,#000 55%,transparent 85%)}
.ov3-plate{position:relative;width:min(1075px,100%);transform:scale(.92);transition:transform .6s var(--h)}
.ov3-full.open .ov3-plate{transform:none}
.ov3-full .ov3-vc-card{aspect-ratio:16/9;max-height:calc(100vh - 230px);margin:0 auto}
.ov3-vc-x{position:absolute;right:24px;top:0;transform:translateY(-50%);z-index:5;height:40px;padding:0 16px!important;border-radius:999px;border:1px solid rgba(255,255,255,.18)!important;background:#0b0f12!important;font:500 11px/1 var(--sans)!important;letter-spacing:.14em;text-transform:uppercase}
.ov3-fpx{display:none!important}
.ov3-full.fp{padding:0}
.ov3-full.fp .ov3-plate{position:fixed;inset:0;width:auto;transform:none}
.ov3-full.fp .ov3-vc{position:fixed;inset:0;border:0;border-radius:0;padding:0;background:#000}
.ov3-full.fp :is(.ov3-vc-tabs,.ov3-vc-x,.ov3-vc-bot,.ov3-fctl,.ov3-arr small){display:none}
.ov3-full.fp .ov3-lines{display:none}
.ov3-full.fp .ov3-vc-card{width:100vw;height:100vh;max-height:none;aspect-ratio:auto}
.ov3-full.fp .ov3-face{border:0;border-radius:0}
.ov3-full.fp .ov3-arr{width:56px;height:56px;margin-top:-28px}.ov3-full.fp .ov3-arr.l{left:24px}.ov3-full.fp .ov3-arr.r{right:24px}
.ov3-full.fp .ov3-fpx{display:inline-flex!important;align-items:center;gap:8px;position:fixed;z-index:9010;top:20px;right:20px;height:46px;padding:0 22px!important;border-radius:999px;background:rgba(var(--acc),.92)!important;color:#14181c!important;font:600 11.5px/1 var(--sans)!important;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.ov3-full.fp .ov3-nm{bottom:40px;left:32px;font-size:30px}.ov3-full.fp .ov3-segs{left:32px;right:32px;bottom:24px}

/* ═══ 02 · THE STORY IN BEATS ═══ */
.ov3-beats{height:100%;display:grid;grid-template-columns:7fr 5fr;gap:16px}
.ov3-bpic{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--edge)}
.ov3-bshot{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .7s var(--h)}
.ov3-bshot.on{opacity:1}
.ov3-bb{position:absolute;inset:-8%;background-size:cover;background-position:center;filter:blur(24px) brightness(.4)}
.ov3-bshot img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:scale(1.04);transition:transform 1.2s var(--h)}
.ov3-bshot.on img{transform:none}
.ov3-bshot.crop img{object-fit:cover;object-position:76% 37%;transform-origin:76% 37%;transform:scale(2.2)}   /* the photo in the Show them around screenshot (10-21) */
.ov3-bshot.crop.on img{transform:scale(2.1)}
.ov3-bex{position:absolute;z-index:2;left:16px;bottom:16px;padding:6px 10px;border-radius:999px;background:rgba(8,10,12,.62);border:1px solid rgba(255,255,255,.14);font:500 9px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.ov3-btxt{align-self:center;justify-self:center;width:440px;max-width:100%}
.ov3-bprog{display:flex;align-items:center;gap:14px}
.ov3-seg{display:flex;gap:6px}.ov3-seg i{width:40px;height:2px;border-radius:2px;background:rgba(255,255,255,.14);position:relative;overflow:hidden}
.ov3-seg i::after{content:"";position:absolute;inset:0;background:var(--accent);transform-origin:left;transform:scaleX(var(--p,0));transition:transform .45s var(--h)}
.ov3-bh{font-size:30px;line-height:1.15;margin:22px 0 16px;min-height:2.3em;color:#fff}
.ov3-bh .ov3-w{animation:ov3mat .7s var(--h) forwards;animation-delay:calc(var(--w,0) * 70ms)}
.ov3-bp{font:300 15px/1.6 var(--sans);color:rgba(255,255,255,.75);min-height:6.4em;margin:0;transition:opacity .2s}
.ov3-bnav{display:flex;align-items:center;gap:10px;margin-top:22px}
.ov3-rb{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.18)!important;display:grid!important;place-items:center;transition:border-color .2s}
.ov3-rb:hover{border-color:var(--accent)!important}.ov3-rb svg{width:16px;height:16px}
.ov3-bnav .ov3-cap{margin-left:8px}

/* ═══ 03 · PLANS & PRICES ═══ */
.ov3-spec{height:100%;display:flex;flex-direction:column;justify-content:center;gap:14px}
.ov3-spec-h{display:flex;align-items:flex-end;justify-content:space-between}
.ov3-spec-h h2{font-size:30px;line-height:1;margin:8px 0 0}
.ov3-swwrap{text-align:right}.ov3-swwrap .ov3-lbl{display:block;margin-top:6px}
.ov3-sw{position:relative;display:inline-flex;padding:3px;border-radius:999px;border:1px solid var(--edge);background:rgba(14,19,24,.6)}
.ov3-sw button{position:relative;z-index:1;height:40px;padding:0 18px!important;border-radius:999px;color:var(--ink3);font:500 11.5px/1 var(--sans)!important;letter-spacing:.14em;text-transform:uppercase;transition:color .3s}
.ov3-sw button.on{color:#14181c}
.ov3-swi{position:absolute;top:3px;bottom:3px;border-radius:999px;background:rgba(var(--acc),.92);transition:left .4s var(--h),width .4s var(--h)}
.ov3-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ov3-pc{display:grid;grid-template-rows:150px auto}
.ov3-pc .ov3-pic{position:relative;overflow:hidden}.ov3-pc .ov3-pic img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block}
.ov3-pc .ov3-pic::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,19,24,0) 50%,rgba(14,19,24,.9))}
.ov3-pc .ov3-ex{top:10px;bottom:auto;left:10px;z-index:2;font-size:8.5px}
.ov3-badge{position:absolute;z-index:2;top:10px;right:10px;padding:5px 9px;border-radius:999px;background:rgba(var(--acc),.92);color:#14181c;font:600 10px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.ov3-b{padding:14px 18px 18px}
.ov3-num{display:flex;align-items:baseline;gap:8px;margin:6px 0}
.ov3-num b{font:500 44px/1 var(--sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#fff}
.ov3-num b.ov3-sum{font:400 28px/1.1 "Bodoni 72","Didot",Georgia,serif;letter-spacing:0}
.ov3-num small{font-size:13px;color:var(--ink3);transition:opacity .2s}
.ov3-b p{font:300 13.5px/1.45 var(--sans);color:var(--ink2);margin:0;max-width:300px}
.ov3-pc.hero{border-color:rgba(var(--acc),.4)}
.ov3-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ov3-svc{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;padding:16px 18px}
.ov3-svc b{display:block;font:500 28px/1 var(--sans);letter-spacing:-.02em;margin-top:4px;font-variant-numeric:tabular-nums;color:#fff}
.ov3-svc small{display:block;font-size:12.5px;color:var(--ink3);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:clip}
.ov3-svc b small.u{display:inline;font-size:14px;margin:0}
.ov3-actrow{display:flex;align-items:center;gap:22px}

/* ═══ 04 · CONTACT ═══ */
.ov3-desk{height:100%;display:grid;place-items:center}
.ov3-cpanel{width:min(960px,100%);display:grid;grid-template-columns:1fr 1px 1fr}
.ov3-div{background:rgba(255,255,255,.1)}
.ov3-who{padding:28px;display:grid;grid-template-columns:96px 1fr;gap:22px;align-items:center}
.ov3-av{position:relative;width:96px;height:96px;border-radius:50%;display:grid;place-items:center;font:400 34px/1 "Bodoni 72","Didot",Georgia,serif;color:#1b2025;background:linear-gradient(160deg,#eef2f6,#a9b2bc);transform:scale(.94);transition:transform .7s var(--h)}
.ov3-ch.on .ov3-av{transform:none;transition-delay:.3s}
.ov3-av::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(var(--acc),.35)}
.ov3-who h2{font-size:30px;line-height:1.1;margin:8px 0 4px}
.ov3-who p{font:300 15px/1.5 var(--sans);color:var(--ink2);margin:10px 0 16px}
.ov3-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.ov3-ways{padding:18px 18px 18px 22px;display:flex;flex-direction:column;justify-content:center}
.ov3-way{display:grid!important;grid-template-columns:40px 1fr auto;gap:14px;align-items:center;min-height:64px;padding:8px 6px!important;border-radius:12px;transition:background .2s;text-align:left}
.ov3-way:hover{background:rgba(255,255,255,.04)!important}.ov3-way+.ov3-way{border-top:1px solid rgba(255,255,255,.06)!important}
.ov3-way b{display:block;font:500 15px/1.2 var(--sans);color:#fff}.ov3-way small{font-size:12.5px;color:var(--ink3)}
.ov3-way .go{color:var(--ink3);transition:transform .2s}.ov3-way:hover .go{transform:translateX(3px);color:#fff}

/* compact screens (1024): the hero's text sits over the console */
@media (max-width:1180px) and (min-width:761px){
  .ov3-H{grid-template-columns:1fr;align-content:center;gap:14px;padding:20px 24px}
  .ov3-H h2{font-size:30px;margin:8px 0 10px}.ov3-H p{display:none}.ov3-rule{display:none}
  .ov3-cz{max-width:360px;justify-self:start}
  .ov3-B2{display:none}.ov3-R{grid-template-rows:1fr}
  .ov3-S2{display:none}.ov3-S1{grid-column:1/7}.ov3-S3{grid-column:7/13}
}
/* phones (SPEC §9): one column, the stage scrolls under the door's own menu */
@media (max-width:760px){
  .ov3-stage{inset:60px 0 0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 12px 110px}
  .ov3 .ov-pager{display:none}
  .ov3-ch{position:relative;inset:auto;display:none;filter:none;transform:none}
  .ov3-ch.on{display:block}
  .ov3-dash,.ov3-R,.ov3-beats,.ov3-spec,.ov3-desk{display:flex;flex-direction:column;gap:12px;height:auto}
  .ov3-H{display:block;padding:20px 18px 18px}.ov3-txt{width:auto}.ov3-H h2{font-size:28px}.ov3-H p.ov3-ph{display:block;margin:-6px 0 14px;color:#fff}
  .ov3-cz{margin-top:30px;max-width:none}
  .ov3-B1 .ov3-pic{height:170px}.ov3-B2{grid-template-columns:40% 1fr;min-height:150px}
  .ov3-S{min-height:140px}.ov3-S2{grid-template-columns:130px 1fr}.ov3-fan{width:130px}
  .ov3-bpic{aspect-ratio:4/5}.ov3-btxt{width:auto}.ov3-bh{font-size:26px;min-height:0}.ov3-bp{min-height:0}
  .ov3-spec-h{flex-wrap:wrap;gap:12px}.ov3-swwrap{text-align:left}
  .ov3-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -12px;padding:0 12px;scrollbar-width:none}
  .ov3-pc{flex:0 0 82%;scroll-snap-align:start}
  .ov3-strip{grid-template-columns:1fr;display:grid}.ov3-svc small{white-space:normal}.ov3-actrow{flex-wrap:wrap;gap:12px}
  .ov3-cpanel{grid-template-columns:1fr;width:100%}.ov3-div{height:1px}.ov3-who{grid-template-columns:72px 1fr;padding:20px}.ov3-av{width:72px;height:72px;font-size:26px}.ov3-who h2{font-size:24px}
  .ov3-vc-tabs button{height:34px;min-width:40px}
  .ov3-full{padding:56px 0 0}.ov3-full .ov3-vc{border-radius:0;padding:28px 0 0}.ov3-full .ov3-arr{display:none}
  .ov3-full .ov3-vc-card{width:100%;aspect-ratio:4/5;max-height:calc(100vh - 160px)}
  .ov3-full .ov3-in{display:block;padding:56px 20px 20px;overflow:auto}.ov3-full .ov3-thumb{display:none}
  .ov3-full .ov3-vc-x{right:12px}
  .ov3-full.fp .ov3-vc-card{width:100vw;height:100vh;max-height:none;aspect-ratio:auto}
}
@media (prefers-reduced-motion:reduce){
  .ov3 *,.ov3 *::before,.ov3 *::after,.ov3-full *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.15s!important}
}
