/* Om landing page and buyer flow. Builds on /assets/site.css tokens. */
:root{--ok:#7FB98A;--warn:#D8A84E;--bad:#E07A6E;--ink2:#101010}
.om-hero{position:relative;min-height:calc(100svh - 58px);display:flex;align-items:flex-end;padding:0;overflow:hidden;border-bottom:0}
.om-hero video,.om-hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.om-hero .shade{position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(12,12,12,.94) 0%,rgba(12,12,12,.55) 42%,rgba(12,12,12,.2) 75%,rgba(12,12,12,.45) 100%)}
.om-hero .wrap{position:relative;z-index:2;width:100%;padding-top:120px;padding-bottom:clamp(48px,7vw,96px)}
.om-hero h1{max-width:14ch;font-size:clamp(46px,7vw,104px)}
.om-hero .lede{color:#F7F7F7;max-width:640px}
.om-live{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#F7F7F7;margin-bottom:22px}
.om-live i{width:8px;height:8px;border-radius:50%;background:#8A0C03;box-shadow:0 0 0 0 rgba(138,12,3,.7);animation:omPulse 2s infinite}
@keyframes omPulse{0%{box-shadow:0 0 0 0 rgba(138,12,3,.7)}70%{box-shadow:0 0 0 10px rgba(138,12,3,0)}100%{box-shadow:0 0 0 0 rgba(138,12,3,0)}}
@media (prefers-reduced-motion:reduce){.om-live i{animation:none}}
.om-price{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-top:28px}
.om-price b{font-family:var(--head);font-weight:400;font-size:clamp(34px,4vw,54px);line-height:1;color:#F7F7F7}
.om-price span{font-size:14px;color:#D8D8D8}
.om-hero .btn.big{font-size:14px;padding:18px 28px}
.om-film{position:absolute;right:var(--gut);bottom:clamp(48px,7vw,96px);z-index:2;background:rgba(12,12,12,.5);border:1px solid rgba(247,247,247,.4);color:#F7F7F7;font:600 11px var(--body);letter-spacing:.16em;text-transform:uppercase;padding:10px 14px;cursor:pointer}
@media (max-width:760px){.om-film{position:static;margin-top:18px}}
/* hero actions: the ghost button stretches to the big button, centre its text (James, 11 Oct 2026) */
.om-hero .actions .btn{display:inline-flex;align-items:center;justify-content:center}
/* Ad Astra hero: muted film loop, click to play with sound */
.om-hero-film{cursor:pointer}
.om-hero-film .wrap{cursor:auto;pointer-events:none}
.om-hero-film .wrap>*{pointer-events:auto}
.om-hero video.loop{background:#0C0C0C}
.om-play{position:absolute;right:var(--gut);top:30%;transform:translateY(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:14px;background:none;border:0;color:#F7F7F7;cursor:pointer;padding:12px}
.om-play .ring{width:88px;height:88px;border-radius:50%;border:1px solid rgba(247,247,247,.75);background:rgba(12,12,12,.38);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:transform .2s ease,background .2s ease,border-color .2s ease}
.om-play .ring svg{margin-left:4px}
.om-play:hover .ring,.om-play:focus-visible .ring,.om-hero-film:hover .om-play .ring{transform:scale(1.06);background:rgba(110,9,2,.88);border-color:#F7F7F7}
.om-play .t{font:600 11px var(--body);letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.7)}
.om-play:focus-visible{outline:2px solid #F7F7F7;outline-offset:4px}
@media (max-width:760px){.om-play{right:12px;top:72px;transform:none;gap:10px;padding:8px}.om-play .ring{width:62px;height:62px}.om-play .t{font-size:10px}}
/* sticky buy bar */
.om-buybar{position:sticky;top:58px;z-index:40;background:var(--oxide);color:#F7F7F7;border-bottom:1px solid #8A0C03}
.om-buybar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.om-buybar p{font-size:15px;margin:0}
.om-buybar p b{font-weight:600}
.om-buybar .btn{background:#F7F7F7;border-color:#F7F7F7;color:#0C0C0C;padding:11px 18px;font-size:12px}
.om-buybar .btn:hover{background:#FFFFFF}
@media (max-width:640px){.om-buybar p .hide-s{display:none}}
/* content */
.om-triad{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:48px;border-top:1px solid var(--rule)}
.om-triad>div{padding:28px 28px 8px 0;border-right:1px solid var(--rule)}
.om-triad>div+div{padding-left:28px}
.om-triad>div:last-child{border-right:0}
.om-triad h3{display:flex;align-items:baseline;gap:14px}
.om-triad h3 span{font-size:.8em;color:var(--grey)}
.om-triad p{color:var(--grey);margin-top:12px}
@media (max-width:900px){.om-triad{grid-template-columns:1fr}.om-triad>div,.om-triad>div+div{padding:24px 0;border-right:0;border-bottom:1px solid var(--rule)}}
.om-quote{font-family:var(--head);font-size:clamp(24px,2.6vw,36px);line-height:1.25;max-width:30ch;margin-top:64px}
.om-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.om-cards article{background:var(--panel);border-top:2px solid var(--oxide)}
.om-cards img{width:100%;aspect-ratio:4/3;object-fit:cover}
.om-cards div{padding:22px 24px 26px}
.om-cards .code{font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--grey)}
.om-cards h3{margin:6px 0 10px}
.om-cards p{color:var(--grey);font-size:16px}
@media (max-width:900px){.om-cards{grid-template-columns:1fr}}
.om-spec{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:40px;border-top:1px solid var(--dgrey)}
.om-spec>div{padding:20px 22px 22px 0;border-bottom:1px solid var(--rule)}
.om-spec b{display:block;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#F7F7F7;margin-bottom:8px}
.om-spec span{color:var(--grey);font-size:15px}
@media (max-width:900px){.om-spec{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.om-spec{grid-template-columns:1fr}}
.om-band{position:relative;overflow:hidden;padding:clamp(96px,14vw,180px) 0}
.om-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.om-band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,12,.9),rgba(12,12,12,.45) 60%,rgba(12,12,12,.2));z-index:1}
.om-band .wrap{position:relative;z-index:2}
.om-band h2{max-width:16ch}
.om-band .lede{color:#F7F7F7}
/* configurator */
.om-config{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:clamp(24px,3vw,48px);align-items:start;margin-top:48px}
@media (max-width:1080px){.om-config{grid-template-columns:1fr}}
.om-step{margin-bottom:clamp(30px,3.4vw,44px)}
.om-step-h{display:flex;align-items:baseline;gap:12px;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#F7F7F7;margin-bottom:14px}
.om-step-h span{color:var(--oxide);background:#F7F7F7;padding:2px 6px;letter-spacing:.08em}
.om-formats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:640px){.om-formats{grid-template-columns:1fr}}
.om-opt{display:block;width:100%;text-align:left;border:1px solid var(--rule);background:var(--panel);color:var(--light);padding:18px;cursor:pointer;font:inherit;transition:border-color .15s,background .15s}
.om-opt:hover{border-color:var(--dgrey)}
.om-opt[aria-pressed=true]{border-color:var(--oxide);background:rgba(110,9,2,.22);box-shadow:inset 0 0 0 1px var(--oxide)}
.om-opt[disabled]{opacity:.55;cursor:not-allowed}
.om-opt .k{display:block;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--grey);margin-bottom:6px}
.om-opt .n{display:block;font-family:var(--head);font-size:24px;line-height:1.15}
.om-opt .d{display:block;font-size:14px;color:var(--grey);margin-top:8px;line-height:1.5}
.om-opt .p{display:block;margin-top:12px;font-weight:600}
.om-gallery{margin-top:12px}
.om-stage{position:relative;aspect-ratio:16/10;background:var(--panel);border:1px solid var(--rule);overflow:hidden;cursor:zoom-in;padding:0;width:100%;display:block}
.om-stage img{width:100%;height:100%;object-fit:cover}
.om-stage .cap{position:absolute;left:0;bottom:0;right:0;padding:10px 14px;font-size:13px;color:#F7F7F7;background:linear-gradient(0deg,rgba(12,12,12,.8),rgba(12,12,12,0));text-align:left}
.om-stage .nav-b{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;background:rgba(12,12,12,.55);color:#F7F7F7;font-size:20px;cursor:pointer}
.om-stage .nav-b.prev{left:8px}.om-stage .nav-b.next{right:8px}
.om-thumbs{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin-top:6px}
@media (max-width:640px){.om-thumbs{grid-template-columns:repeat(5,1fr)}}
.om-thumbs button{aspect-ratio:1;padding:0;border:1px solid transparent;background:var(--panel);cursor:pointer;overflow:hidden}
.om-thumbs button[aria-current=true]{border-color:#F7F7F7}
.om-thumbs img{width:100%;height:100%;object-fit:cover}
.om-extras{display:grid;gap:8px}
.om-extra{display:grid;grid-template-columns:22px 1fr auto;gap:14px;align-items:start;border:1px solid var(--rule);background:var(--panel);padding:14px 16px;cursor:pointer;margin:0;text-transform:none;letter-spacing:0;font-size:15px;font-weight:400;color:var(--grey)}
.om-extra input{accent-color:var(--oxide);width:18px;height:18px;margin-top:2px}
.om-extra b{display:block;color:var(--light);font-weight:600;font-size:15px}
.om-extra em{font-style:normal;color:var(--light);font-weight:600;white-space:nowrap}
.om-extra:has(input:checked){border-color:var(--oxide);background:rgba(110,9,2,.22)}
.om-siteplan{display:block;width:100%;padding:0;border:1px solid var(--rule);background:#fff;cursor:zoom-in;margin-top:12px}
.om-siteplan img{width:100%;aspect-ratio:.82;object-fit:contain}
/* summary panel */
.om-sum{background:var(--oxide);color:#F7F7F7;padding:clamp(22px,2.6vw,32px);position:sticky;top:130px;max-height:calc(100vh - 150px);overflow:auto;overscroll-behavior:contain}
@media (max-width:1080px){.om-sum{position:static;max-height:none}}
.om-sum .lbl{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(247,247,247,.8)}
.om-sum .tot{font-family:var(--head);font-size:clamp(36px,4vw,50px);line-height:1;margin:12px 0 8px}
.om-sum .sub{font-size:13px;color:rgba(247,247,247,.85)}
.om-sum hr{border:0;height:1px;background:rgba(247,247,247,.3);margin:18px 0}
.om-row{display:flex;justify-content:space-between;gap:14px;padding:6px 0;font-size:14px;color:rgba(247,247,247,.88)}
.om-row b{font-weight:400;color:#F7F7F7;font-variant-numeric:tabular-nums;text-align:right}
.om-row.big{font-size:16px;color:#F7F7F7}
.om-row.big b{font-weight:600}
.om-seg{display:flex;margin-top:10px}
.om-seg button{flex:1;padding:10px 8px;font:600 12px var(--body);letter-spacing:.06em;border:1px solid rgba(247,247,247,.35);background:transparent;color:rgba(247,247,247,.8);cursor:pointer}
.om-seg button[aria-pressed=true]{background:#F7F7F7;color:#0C0C0C;border-color:#F7F7F7}
.om-slider{margin-top:16px}
.om-slider .top{display:flex;justify-content:space-between;align-items:baseline}
.om-slider output{font-weight:600;font-variant-numeric:tabular-nums}
.om-slider input{width:100%;accent-color:#F7F7F7}
.om-sum .btn{display:block;width:100%;text-align:center;margin-top:18px;background:#F7F7F7;border-color:#F7F7F7;color:#0C0C0C;padding:17px 20px}
.om-sum .btn:hover{background:#FFFFFF}
.om-sum .btn.ghost{background:transparent;color:#F7F7F7;border-color:rgba(247,247,247,.5);margin-top:10px}
.om-sum .fine{font-size:12px;color:rgba(247,247,247,.8);margin-top:12px;text-align:center}
.om-fine{font-size:13px;color:var(--grey);max-width:86ch;margin-top:24px}
.om-howto{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--rule);margin-top:32px}
.om-howto>div{padding:20px 20px 22px 0;border-bottom:1px solid var(--rule)}
.om-howto .n{font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--oxide);background:#F7F7F7;display:inline-block;padding:2px 6px}
.om-howto b{display:block;margin:12px 0 6px;font-weight:600}
.om-howto span{font-size:14px;color:var(--grey)}
@media (max-width:1000px){.om-howto{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.om-howto{grid-template-columns:1fr}}
/* lightbox */
.om-lb{position:fixed;inset:0;z-index:9999;background:rgba(12,12,12,.94);display:flex;align-items:center;justify-content:center;padding:24px}
.om-lb[hidden]{display:none}
.om-lb .x{position:absolute;top:14px;right:18px;background:none;border:0;color:#F7F7F7;font-size:34px;line-height:1;cursor:pointer;z-index:3}
.om-lb .tools{position:absolute;top:14px;left:18px;display:flex;gap:6px;z-index:3}
.om-lb .tools button{background:var(--panel);border:1px solid var(--rule);color:#F7F7F7;min-width:40px;height:40px;cursor:pointer;font:600 14px var(--body)}
.om-lb .viewport{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}
.om-lb img,.om-lb video{max-width:92vw;max-height:86vh;user-select:none;-webkit-user-drag:none}
.om-lb img.plan{background:#fff}
body.om-lock{overflow:hidden}
/* film lightbox: labelled close, hint, 16:9 fit */
.om-lb.film .x{top:16px;right:18px;font:600 12px var(--body);letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(247,247,247,.55);background:rgba(12,12,12,.7);padding:10px 14px;display:flex;align-items:center;gap:8px}
.om-lb.film .x span{font-size:22px;line-height:1}
.om-lb.film .x:hover,.om-lb.film .x:focus-visible{background:var(--oxide);border-color:#F7F7F7}
.om-lb.film video{width:min(92vw,calc(86vh * 16 / 9));aspect-ratio:16/9;max-height:86vh;background:#000;outline:none}
.om-lb .hint{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:var(--grey);font:12px var(--body);letter-spacing:.04em;pointer-events:none;z-index:3}
@media (max-width:760px){.om-lb.film{padding:12px}.om-lb.film .x{top:10px;right:10px}.om-lb .hint{display:none}}
/* toast */
.om-toasts{position:fixed;right:16px;bottom:16px;z-index:10000;display:grid;gap:8px;max-width:min(420px,calc(100vw - 32px))}
.om-toast{background:var(--panel);border:1px solid var(--rule);border-left:3px solid var(--grey);padding:14px 16px;font-size:14px;color:#F7F7F7;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.om-toast.ok{border-left-color:var(--ok)}.om-toast.err{border-left-color:var(--bad)}.om-toast.info{border-left-color:#F7F7F7}
/* flow pages */
.om-page{padding:clamp(40px,6vw,72px) 0 clamp(64px,8vw,112px)}
.om-flow{display:grid;grid-template-columns:200px minmax(0,1fr) 360px;gap:32px;align-items:start;margin-top:36px}
@media (max-width:1080px){.om-flow{grid-template-columns:1fr}.om-flow .om-journey-v{display:none}}
.om-journey-h{display:none;margin-top:24px}
@media (max-width:1080px){.om-journey-h{display:block}}
.om-journey-v{position:sticky;top:90px}
.om-jstep{display:flex;gap:12px;align-items:flex-start;position:relative;padding-bottom:16px}
.om-jstep:not(:last-child)::before{content:"";position:absolute;left:10px;top:24px;bottom:0;width:1px;background:var(--rule)}
.om-jstep.done:not(:last-child)::before{background:rgba(127,185,138,.45)}
.om-jstep .g{flex:none;width:21px;height:21px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;border:1px solid var(--rule);color:var(--dgrey);background:var(--black)}
.om-jstep.done .g{border-color:rgba(127,185,138,.5);color:var(--ok);background:rgba(127,185,138,.12)}
.om-jstep.current .g{background:#F7F7F7;border-color:#F7F7F7;color:#0C0C0C}
.om-jstep .t{font-size:13px;line-height:1.35;color:var(--dgrey);padding-top:2px}
.om-jstep.done .t{color:var(--ok)}.om-jstep.current .t{color:#F7F7F7}
.om-jstep .now{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--grey);margin-top:2px}
.om-jbar{display:flex;align-items:center;gap:4px}
.om-jbar i{flex:1;height:3px;background:var(--rule)}
.om-jbar i.done{background:var(--ok)}.om-jbar i.current{background:#F7F7F7}
.om-jbar-l{font-size:13px;color:var(--grey);margin-top:8px}
.om-card{background:var(--panel);border:1px solid var(--rule);padding:22px}
.om-card+.om-card{margin-top:14px}
.om-card h3{font-size:20px;margin-bottom:10px}
.om-card p{color:var(--grey);font-size:15px}
.om-card .btn{margin-top:16px}
.om-alert{border:1px solid rgba(224,122,110,.5);background:rgba(224,122,110,.1);padding:14px 16px;margin-bottom:14px;font-size:14px}
.om-alert p{color:var(--grey);margin-top:4px;font-size:13px}
.om-sites-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.om-sites{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:6px}
.om-sites button{aspect-ratio:1;border:1px solid var(--rule);background:var(--panel);color:var(--grey);font:600 12px var(--body);cursor:pointer;position:relative;padding:0}
.om-sites button:hover:not([disabled]){border-color:var(--grey);color:#F7F7F7}
.om-sites button[aria-pressed=true]{background:#F7F7F7;color:#0C0C0C;border-color:#F7F7F7}
.om-sites button.sold{color:var(--dgrey);text-decoration:line-through;cursor:not-allowed}
.om-sites button.mine{border-color:rgba(127,185,138,.45);color:var(--ok);cursor:not-allowed}
.om-sites button.prog{border-color:rgba(216,168,78,.5);color:var(--warn);cursor:not-allowed}
.om-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;font-size:12px;color:var(--grey)}
.om-legend span{display:inline-flex;align-items:center;gap:6px}
.om-legend i{width:11px;height:11px;border:1px solid var(--rule);background:var(--panel)}
.om-legend i.sel{background:#F7F7F7;border-color:#F7F7F7}.om-legend i.prog{border-color:rgba(216,168,78,.5)}.om-legend i.mine{border-color:rgba(127,185,138,.45)}
.om-filter{display:flex;gap:6px}
.om-filter button{background:none;border:1px solid var(--rule);color:var(--grey);font:600 11px var(--body);letter-spacing:.14em;text-transform:uppercase;padding:8px 12px;cursor:pointer}
.om-filter button[aria-pressed=true]{color:#F7F7F7;border-color:#F7F7F7}
.om-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.om-form .row{grid-template-columns:1fr}}
.om-form .field{margin-bottom:12px}
.om-form input[type=password]{width:100%;background:var(--panel);border:1px solid var(--rule);color:var(--light);font:16px var(--body);padding:13px 14px;border-radius:0}
.om-form input:focus{outline:none;border-color:#F7F7F7}
.om-pw{list-style:none;margin-top:8px;display:grid;gap:3px}
.om-pw li{font-size:12px;color:var(--dgrey)}
.om-pw li::before{content:"\2715  "}
.om-pw li.ok{color:var(--ok)}.om-pw li.ok::before{content:"\2713  "}
.om-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.btn[disabled],.btn.is-busy{opacity:.45;pointer-events:none}
.om-badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px;border:1px solid var(--rule);color:var(--grey)}
.om-badge.ok{color:var(--ok);border-color:rgba(127,185,138,.45)}.om-badge.warn{color:var(--warn);border-color:rgba(216,168,78,.45)}.om-badge.bad{color:var(--bad);border-color:rgba(224,122,110,.45)}
.om-stage-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--rule)}
.om-stage-row:first-of-type{border-top:0}
.om-stage-row .l{min-width:0}
.om-stage-row .l a,.om-stage-row .l span{color:#F7F7F7;font-size:15px}
.om-stage-row small{display:block;font-size:12px;color:var(--grey);margin-top:2px}
.om-stage-row .r{text-align:right;flex:none}
.om-stage-row .r b{display:block;font-weight:600;margin-bottom:4px}
.om-signers{margin-top:12px;border-top:1px solid var(--rule);padding-top:10px}
.om-signers div{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:4px 0;color:var(--grey)}
.om-center{text-align:center;padding:72px 0}
.om-center h1{font-size:clamp(32px,4vw,52px)}
.om-center p{color:var(--grey);margin:14px auto 28px;max-width:52ch}
.om-spin{display:inline-block;width:22px;height:22px;border:2px solid var(--rule);border-top-color:#F7F7F7;border-radius:50%;animation:omSpin .8s linear infinite}
@keyframes omSpin{to{transform:rotate(360deg)}}
.om-auth{max-width:440px;margin:0 auto}
.om-auth h1{font-size:clamp(34px,4vw,52px);margin-bottom:28px}
.om-auth .btn{width:100%;text-align:center;margin-top:8px}
.om-auth p.small{color:var(--grey);margin-top:16px}
.om-auth p.small a{color:#F7F7F7}
.om-back{background:none;border:1px solid var(--rule);color:var(--grey);font:600 12px var(--body);letter-spacing:.12em;text-transform:uppercase;padding:11px 16px;cursor:pointer;margin-top:12px}
.om-back:hover{color:#F7F7F7;border-color:var(--grey)}
.om-hide{display:none!important}
