/* VMS Suite v2 — public website (homepage) styles. Needs vms-v2.css first. */
/* ===== Public website ===== */
.web{--wpad:clamp(18px,5vw,64px)}
.wnav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:18px;padding:12px var(--wpad);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.wnav img{height:32px;width:auto}
.wnav nav{display:none;gap:4px;margin-left:auto}
.wnav nav a{text-decoration:none;font-weight:600;font-size:14.5px;color:var(--ink2);padding:10px 12px;border-radius:10px}
.wnav nav a:hover{background:var(--surface2)}
.wnav .btn{margin-left:auto}
@media(min-width:960px){.wnav nav{display:flex}.wnav .btn{margin-left:8px}}
.sec{padding:clamp(56px,9vw,110px) var(--wpad);position:relative}
.sec.alt{background:var(--bg2)}
.sec.navy{background:#003049;color:#FDF0D5}
:root[data-theme="dark"] .sec.navy{background:#001B29}
.wrap{max-width:1180px;margin:0 auto}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor}
.h-xl{font-family:var(--display);font-weight:800;font-size:clamp(2.3rem,7.4vw,5rem);letter-spacing:-.05em;line-height:.98}
.h-lg{font-family:var(--display);font-weight:700;font-size:clamp(1.7rem,4.6vw,3rem);letter-spacing:-.04em;line-height:1.05}
.lead{font-size:clamp(1rem,1.6vw,1.15rem);color:var(--muted);max-width:56ch;line-height:1.6}
.sec.navy .lead{color:rgba(253,240,213,.8)}
/* viewfinder motif */
.vf{position:relative}
.vf::before,.vf::after{content:"";position:absolute;width:22px;height:22px;border:2.5px solid var(--acc);pointer-events:none}
.vf::before{top:-10px;left:-10px;border-right:0;border-bottom:0;border-radius:6px 0 0 0}
.vf::after{bottom:-10px;right:-10px;border-left:0;border-top:0;border-radius:0 0 6px 0}
.hero-w{display:grid;gap:40px;align-items:center;padding-top:clamp(36px,6vw,80px)}
.hero-w .h-xl em{font-style:normal;color:var(--acc);position:relative;white-space:nowrap}
.hero-w .cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.hero-w .trust{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px;font-size:13.5px;color:var(--muted);font-weight:500}
.hero-w .trust span{display:inline-flex;align-items:center;gap:6px}
.hero-w .trust .ico{width:16px;height:16px;color:var(--ok)}
@media(min-width:960px){.hero-w{grid-template-columns:1.1fr .9fr;gap:56px}}
/* score widget */
.score{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:20px;box-shadow:var(--shadow-lg)}
.score h3{font-size:16px;font-weight:700}
.score .gauge{position:relative;width:min(260px,70vw);aspect-ratio:1;margin:14px auto 6px}
.score .gauge svg{width:100%;height:100%;transform:rotate(-90deg)}
.score .gauge circle{fill:none;stroke-width:14}
.score .gauge .bg{stroke:var(--surface3)}
.score .gauge .fg{stroke:url(#gg);stroke-linecap:round;transition:stroke-dashoffset .8s cubic-bezier(.2,.8,.2,1)}
.score .gauge .n{position:absolute;inset:0;display:grid;place-items:center;align-content:center;text-align:center}
.score .gauge .n b{font-family:var(--display);font-size:3.6rem;letter-spacing:-.06em;line-height:1}
.score .gauge .n span{font-size:13px;color:var(--muted)}
.score .opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.score .opts button{display:grid;gap:2px;text-align:left;padding:11px 12px;border-radius:13px;border:1px solid var(--line2);background:var(--surface);min-height:58px;transition:all .2s;color:var(--ink)}
.score .opts button b{font-size:14px;display:flex;align-items:center;gap:7px}
.score .opts button b i{width:9px;height:9px;border-radius:50%;background:var(--orange)}
.score .opts button span{font-size:12.5px;color:var(--muted)}
.score .opts button[aria-pressed="true"]{border-color:var(--ok);background:var(--okbg)}
.score .opts button[aria-pressed="true"] b i{background:var(--ok)}
.score .gap{margin-top:12px;padding:11px 13px;border-radius:13px;background:var(--warnbg);color:var(--warn);font-size:13.5px;font-weight:600}
/* services interactive */
.svcs-w{display:grid;gap:14px;margin-top:34px}
@media(min-width:760px){.svcs-w{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.svcs-w{grid-template-columns:repeat(3,1fr)}}
.sc{position:relative;display:grid;gap:12px;align-content:start;padding:22px;border-radius:22px;background:var(--surface);border:1px solid var(--line);text-align:left;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .3s;color:var(--ink);min-height:220px}
.sc:hover,.sc[aria-expanded="true"]{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--line2)}
.sc .ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--surface2);transition:transform .4s cubic-bezier(.2,.8,.2,1),background-color .3s,color .3s}
.sc .ic .ico{width:26px;height:26px}
.sc:hover .ic,.sc[aria-expanded="true"] .ic{transform:rotate(-8deg) scale(1.08);background:var(--acc);color:#fff}
.sc h3{font-family:var(--display);font-size:1.12rem;letter-spacing:-.025em}
.sc p{color:var(--muted);font-size:14.5px}
.sc .price{font-weight:700;font-size:14px}
.sc .more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.2,.8,.2,1)}
.sc[aria-expanded="true"] .more{grid-template-rows:1fr}
.sc .more>div{overflow:hidden}
.sc ul{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:7px;font-size:14px}
.sc li{display:flex;gap:8px;align-items:flex-start}
.sc li .ico{width:17px;height:17px;color:var(--ok);margin-top:2px}
.sc .glow{position:absolute;inset:auto -40% -60% auto;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--acc) 22%,transparent),transparent 70%);opacity:0;transition:opacity .4s;pointer-events:none}
.sc:hover .glow,.sc[aria-expanded="true"] .glow{opacity:1}
.sc .tgl{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:13.5px;color:var(--acc)}
.sc .tgl .ico{width:16px;height:16px;transition:transform .3s}
.sc[aria-expanded="true"] .tgl .ico{transform:rotate(180deg)}
/* media / 3D */
.media-tabs{margin-top:26px}
.stage-wrap{display:grid;gap:16px;margin-top:18px}
@media(min-width:1000px){.stage-wrap{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start}}
.stage{position:relative;border-radius:24px;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,#0E4A6B 0%,#003049 55%,#001B29 100%);aspect-ratio:4/3;min-height:300px;touch-action:none;box-shadow:var(--shadow-lg);user-select:none;-webkit-user-select:none}
.stage.warm{background:radial-gradient(120% 90% at 50% 10%,#5A3420 0%,#2C1810 60%,#160C07 100%)}
.stage.day{background:radial-gradient(120% 90% at 50% 10%,#DCE9F1 0%,#A9C6D8 60%,#7FA6BE 100%)}
.stage canvas{width:100%;height:100%;cursor:grab}
.stage canvas:active{cursor:grabbing}
.stage .hud{position:absolute;left:12px;right:12px;bottom:12px;display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.stage .hud button{min-height:40px;padding:0 13px;border-radius:11px;background:rgba(0,27,41,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#FDF0D5;font-weight:600;font-size:13.5px;border:1px solid rgba(253,240,213,.18);display:inline-flex;align-items:center;gap:6px}
.stage .hud button[aria-pressed="true"]{background:#FDF0D5;color:#003049}
.stage .tip{position:absolute;top:12px;left:12px;padding:7px 11px;border-radius:10px;background:rgba(0,27,41,.6);color:#FDF0D5;font-size:12.5px;font-weight:600;backdrop-filter:blur(8px);display:flex;gap:6px;align-items:center}
.stage .tip .ico{width:15px;height:15px}
.stage .room{position:absolute;top:12px;right:12px;max-width:min(260px,60%);padding:12px 14px;border-radius:14px;background:rgba(253,240,213,.95);color:#003049;font-size:13px;box-shadow:0 10px 30px rgba(0,0,0,.3);display:none}
.stage .room.on{display:block;animation:vin .3s ease both}
.stage .room b{display:block;font-size:14.5px;margin-bottom:3px}
.vfc{position:absolute;inset:14px;pointer-events:none}
.vfc i{position:absolute;width:20px;height:20px;border:2px solid rgba(253,240,213,.6)}
.vfc i:nth-child(1){top:0;left:0;border-right:0;border-bottom:0}.vfc i:nth-child(2){top:0;right:0;border-left:0;border-bottom:0}
.vfc i:nth-child(3){bottom:52px;left:0;border-right:0;border-top:0}.vfc i:nth-child(4){bottom:52px;right:0;border-left:0;border-top:0}
.rec{position:absolute;top:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;color:#FDF0D5;font:700 11px/1 var(--body);letter-spacing:.12em}
.rec i{width:8px;height:8px;border-radius:50%;background:#E0313E;animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.25}}
.pkg{display:grid;gap:10px}
.pk{padding:16px;border-radius:18px;background:var(--surface);border:1px solid var(--line);display:grid;gap:6px}
.pk .row b{font-family:var(--display);font-size:1.25rem;letter-spacing:-.03em}
.pk ul{margin:2px 0 0;padding-left:18px;color:var(--muted);font-size:14px}
.pk.feat{border:2px solid var(--acc)}
/* pricing */
.prices{display:grid;gap:14px;margin-top:30px}
@media(min-width:900px){.prices{grid-template-columns:repeat(3,1fr)}}
.pr{padding:24px;border-radius:24px;background:var(--surface);border:1px solid var(--line);display:grid;gap:12px;align-content:start}
.pr.feat{background:#003049;color:#FDF0D5;border-color:#003049;box-shadow:var(--shadow-lg)}
:root[data-theme="dark"] .pr.feat{background:#FDF0D5;color:#003049}
.pr .amt{font-family:var(--display);font-size:2.4rem;letter-spacing:-.05em;line-height:1}
.pr .amt small{font:500 14px var(--body);letter-spacing:0;opacity:.75}
.pr ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:14.5px}
.pr li{display:flex;gap:8px}.pr li .ico{width:17px;height:17px;margin-top:3px;color:var(--ok)}
.pr.feat li .ico{color:#7BDDB4}
:root[data-theme="dark"] .pr.feat li .ico{color:#1C6E4F}
.pr.feat .btn{background:var(--acc);color:#fff}
.steps-w{display:grid;gap:14px;margin-top:30px;counter-reset:s}
@media(min-width:900px){.steps-w{grid-template-columns:repeat(4,1fr)}}
.sw{padding:20px;border-radius:20px;border:1px solid rgba(253,240,213,.16);background:rgba(253,240,213,.04)}
.sw::before{counter-increment:s;content:"0" counter(s);font-family:var(--display);font-size:2rem;letter-spacing:-.05em;color:var(--orange);display:block;margin-bottom:8px}
.sw b{font-size:16px;display:block;margin-bottom:4px}.sw p{color:rgba(253,240,213,.75);font-size:14.5px}
.faq{display:grid;gap:10px;margin-top:26px;max-width:820px}
.faq details{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:0 18px}
.faq summary{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ico{transition:transform .25s}
.faq details[open] summary .ico{transform:rotate(45deg)}
.faq details p{padding:0 0 16px;color:var(--muted)}
.chk{display:grid;gap:18px;align-items:start}
@media(min-width:900px){.chk{grid-template-columns:1fr 1fr;gap:40px}}
.wfoot{padding:40px var(--wpad) 110px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
.wfoot .wrap{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;align-items:center}
.wfoot img{height:30px}

/* hero spotlight + trust */
.hsec{overflow:hidden;--mx:70%;--my:30%}
.spot{position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px circle at var(--mx) var(--my),color-mix(in srgb,var(--acc) 14%,transparent),transparent 60%),radial-gradient(color-mix(in srgb,var(--ink) 9%,transparent) 1px,transparent 1.4px) 0 0/22px 22px;mask-image:linear-gradient(180deg,#000 60%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent)}
.trust2{display:flex;align-items:center;gap:12px;margin-top:24px}
.avs{display:flex}.avs span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#FDF0D5;background:linear-gradient(140deg,#003049,#2F6F96);border:2.5px solid var(--bg);margin-left:-10px;position:relative}.avs span:first-child{margin-left:0}
.avs span:nth-child(2){background:linear-gradient(140deg,#C1121F,#EB5E28)}.avs span:nth-child(4){background:linear-gradient(140deg,#1C6E4F,#669BBC)}
.stars{display:flex;gap:2px;color:#F2B01E}.stars svg{width:15px;height:15px;fill:currentColor;stroke:none}
.trust2 span{font-size:13.5px;color:var(--muted);font-weight:500}
/* marquee */
.marq{overflow:hidden;border-block:1px solid var(--line);background:var(--surface);padding:16px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mtrack{display:flex;width:max-content;animation:mq 38s linear infinite}.marq:hover .mtrack{animation-play-state:paused}
.mgroup{display:flex;gap:34px;padding-right:34px}.mgroup span{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:600;font-size:1.05rem;letter-spacing:-.02em;white-space:nowrap;color:var(--ink2)}
.mgroup .ico{color:var(--acc)}
@keyframes mq{to{transform:translateX(-50%)}}
/* before / after */
.ba-wrap{display:grid;gap:30px;align-items:center}@media(min-width:960px){.ba-wrap{grid-template-columns:.85fr 1.15fr;gap:56px}}
.ba-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:9px}.ba-list li{display:flex;gap:9px;align-items:center;font-weight:500}.ba-list .ico{color:var(--ok)}
.ba{position:relative;aspect-ratio:4/3;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--line);user-select:none}
.ba-pane{position:absolute;inset:0;padding:18px;display:grid;gap:10px;align-content:start}
.ba-pane.old{background:#E9E4F7;font-family:"Times New Roman",serif;color:#5B2A86}
.ba-pane.new{background:#F6F3EC;clip-path:inset(0 0 0 var(--x));color:#0B2233}
.m-nav{display:flex;gap:8px;align-items:center}.old .m-nav i{width:54px;height:12px;background:#B79CDA;border-radius:2px}
.m-h{font-size:clamp(14px,2.4vw,22px);font-weight:700;color:#C21E8B;text-align:center;text-decoration:underline}
.m-t{height:9px;background:#C9B8E8;border-radius:2px}.m-t.s{width:60%}
.m-img{height:30%;background:repeating-linear-gradient(45deg,#D5C8EE 0 10px,#C9B8E8 10px 20px)}
.new .m-nav{justify-content:space-between;font-family:var(--display);font-size:14px}.new .m-nav em,.m-btns em{font-style:normal;font-size:12px;font-weight:700;padding:7px 12px;border-radius:9px;background:#C1121F;color:#fff;font-family:var(--body)}
.m-hero{border-radius:16px;padding:18px;min-height:42%;background:linear-gradient(135deg,#003049,#2F6F96);color:#FDF0D5;display:grid;align-content:end;gap:12px}.m-hero b{font-family:var(--display);font-size:clamp(16px,3vw,26px);letter-spacing:-.03em;line-height:1.05}
.m-btns{display:flex;gap:8px}.m-btns em.g{background:#FDF0D5;color:#003049}
.m-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.m-cards i{aspect-ratio:1;border-radius:12px;background:linear-gradient(140deg,#F2C14E,#EB5E28)}.m-cards i:nth-child(2){background:linear-gradient(140deg,#D99A4E,#6B3E26)}.m-cards i:nth-child(3){background:linear-gradient(140deg,#FDF0D5,#E8C77E)}
.ba-tag{position:absolute;bottom:14px;left:14px;padding:5px 10px;border-radius:8px;background:rgba(0,0,0,.6);color:#fff;font:700 12px var(--body);letter-spacing:.06em;text-transform:uppercase}.ba-tag.new{left:auto;right:14px;background:#C1121F}
.ba::after{content:"";position:absolute;top:0;bottom:0;left:var(--x);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.15);pointer-events:none}
.ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;z-index:3}
.ba-handle{position:absolute;top:50%;left:var(--x);transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#fff;color:#003049;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.3);z-index:2;pointer-events:none}
.ba:has(.ba-range:focus-visible) .ba-handle{outline:3px solid var(--blue);outline-offset:3px}
/* footer + sticky cta */
.fcols{display:grid!important;gap:26px;grid-template-columns:1fr 1fr}@media(min-width:900px){.fcols{grid-template-columns:1.6fr 1fr 1fr 1.2fr}}
.fcols .fbrand{grid-column:1/-1}@media(min-width:900px){.fcols .fbrand{grid-column:auto}}
.fcols>div{display:grid;gap:8px;align-content:start}.fcols b{color:var(--ink);font-size:14px}.fcols a{text-decoration:none;color:var(--muted)}.fcols a:hover{color:var(--ink)}.fbrand p{max-width:34ch;margin-top:10px}
.fbot{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:13px}
.mcta{position:fixed;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:70;min-height:52px;box-shadow:0 14px 34px rgba(193,18,31,.35);transform:translateY(140%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.mcta.on{transform:none}@media(min-width:960px){.mcta{display:none}}
@media (prefers-reduced-motion:reduce){.mtrack{animation:none}}

@media(max-width:700px){.stage .room{top:50px;bottom:auto}.hero-w{padding-top:52px!important}}
.m-cards i{aspect-ratio:4/3}.m-hero{min-height:0;padding:16px}

/* ===== Live site additions (real features wired into the v2 design) ===== */
html{scroll-behavior:smooth;scroll-padding-top:calc(76px + env(safe-area-inset-top,0px))}
body.site{padding-top:0;--wpad:clamp(18px,5vw,64px)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wnav{padding-top:calc(12px + env(safe-area-inset-top,0px))}
.wnav .brand{display:flex;align-items:center;flex:none;min-height:44px}
.wnav .brand img{height:32px;width:auto}
.wnav .acts{display:flex;align-items:center;gap:8px;margin-left:auto}
.wnav .acts .btn{margin-left:0}
.wnav .ib .ico{width:20px;height:20px}
.wnav .mbtn{display:grid}
@media(min-width:960px){.wnav .mbtn{display:none}.wnav .acts{margin-left:8px}}
@media(max-width:400px){.wnav .acts .btn.acc{padding:0 12px}.wnav .thm{display:none}}
.mlinks{display:grid;gap:4px}
.mlinks a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 6px;border-bottom:1px solid var(--line);text-decoration:none;font-weight:600;font-size:16px;color:var(--ink)}
.mlinks a .ico{width:18px;height:18px;color:var(--muted)}
.mfoot{display:grid;gap:10px;margin-top:18px}
/* hero */
.hero-w .cta .btn{min-height:50px}
.score .row .chip{font-size:12px}
.score .note{font-size:12.5px;color:var(--muted);margin-top:10px}
.score .recbox{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;margin-top:10px;padding:12px 13px;border-radius:13px;background:var(--surface2);border:1px solid var(--line)}
.score .recbox small{grid-column:1/-1;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.score .recbox b{font-size:14.5px;line-height:1.3}
.score .recbox em{font-style:normal;font-weight:700;font-size:14px;white-space:nowrap}
.score .recbox span{grid-column:1/-1;font-size:13px;color:var(--muted)}
.score .sacts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.score .sacts .btn{white-space:normal;text-align:center;min-height:46px;line-height:1.2}
.gap.ok{background:var(--okbg)!important;color:var(--ok)!important}
/* services: card is an article; the Details button toggles it */
.svc-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.sc{cursor:pointer}
.sc:hover,.sc[data-open="true"]{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--line2)}
.sc:hover .ic,.sc[data-open="true"] .ic{transform:rotate(-8deg) scale(1.08);background:var(--acc);color:#fff}
.sc[data-open="true"] .more{grid-template-rows:1fr}
.sc:not([data-open="true"]) .more>div{visibility:hidden}
.sc .more>div{transition:visibility .4s}
.sc:hover .glow,.sc[data-open="true"] .glow{opacity:1}
.sc[data-open="true"] .tgl .ico{transform:rotate(180deg)}
.sc .tgl{min-height:40px;padding:0 4px}
.sc .acts2{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.sc .price{font-size:14.5px}
/* pricing */
.ptabs{margin-top:26px}
.prices.n1{grid-template-columns:minmax(0,560px)}
@media(min-width:900px){.prices.n2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:880px}}
.pr .pr-n{font-size:16.5px}
.pr .pr-d{color:var(--muted);font-size:14.5px}
.pr.feat .pr-d{color:inherit;opacity:.8}
.pr .chip{justify-self:start}
.pr .btn{margin-top:auto}
.pr.feat .btn{background:var(--acc);color:#fff}
.pr[data-flash]{animation:flash 1.6s ease}
@keyframes flash{0%,60%{box-shadow:0 0 0 4px var(--blue),var(--shadow-lg)}}
.fine{font-size:13.5px;color:var(--muted);margin-top:18px}
.sec.navy .fine{color:rgba(253,240,213,.7)}
/* media column */
.mcol{display:grid;gap:10px;align-content:start}
.msub{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:8px 0 0}
.pk .row b{white-space:nowrap}
.pk p{color:var(--muted);font-size:14px}
.pk .btn{margin-top:6px}
.mrows{display:grid;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:4px 14px}
.mrow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}
.mrow:last-child{border-bottom:0}
.mrow b{display:block;font-weight:600;font-size:14.5px;line-height:1.3}
.mrow span{display:block;color:var(--muted);font-size:13px;line-height:1.35}
.mrow em{font-style:normal;font-weight:700;font-size:14px;white-space:nowrap}
.mrow .btn{min-height:38px}
.mnote{font-size:13px;color:var(--muted)}
.mcol-only{max-width:760px;margin-top:18px}
/* checkup form */
.chk .faq{margin-top:22px}
.faq details a{color:var(--ink)}
.form{display:grid;gap:16px}
.fgrid{display:grid;gap:14px}
@media(min-width:620px){.fgrid{grid-template-columns:1fr 1fr}}
.fld .l{font-size:13px;font-weight:600;color:var(--ink2)}
.inp.bad{border-color:var(--bad);box-shadow:0 0 0 4px color-mix(in srgb,var(--bad) 22%,transparent)}
.pills.wrap{flex-wrap:wrap;overflow:visible}
.handoff{display:none;padding:11px 13px;border-radius:13px;background:var(--infobg);color:var(--info);font-size:13.5px;font-weight:600}
.handoff.show{display:block}
.ferr{color:var(--bad);font-size:14px;font-weight:600;min-height:1em}
.ferr:empty{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.done{display:none;text-align:center;padding:26px 8px;gap:10px;justify-items:center}
.done.show{display:grid}
.done .okc{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--okbg);color:var(--ok)}
.done .okc .ico{width:28px;height:28px}
.done h3{font-family:var(--display);font-size:1.3rem;letter-spacing:-.03em}
.done p{color:var(--muted);max-width:40ch}
.shoot{display:grid;gap:12px;padding:14px;border-radius:14px;background:var(--surface2);border:1px solid var(--line)}
.shoot[hidden]{display:none}
.shoot .note{font-size:13px;color:var(--muted)}
/* footer */
.fcols span{color:var(--muted)}
.fbot{display:flex;gap:10px 18px;flex-wrap:wrap;justify-content:space-between}
.fbot a{color:var(--muted);text-decoration:none}.fbot a:hover{color:var(--ink)}
.wfoot .fcols a,.fbot a{min-height:32px;display:inline-flex;align-items:center}
.wfoot img{height:30px;width:auto}
/* sign-in sheet */
.shc .lead2{color:var(--muted);font-size:14.5px}
.shc form{display:grid;gap:12px;margin-top:16px}
.shc .stat{font-size:14px;font-weight:600;color:var(--ink2);min-height:1.2em}
.shc .small{font-size:13px;color:var(--muted);margin-top:14px}
.stage-wrap>*,.chk>*,.ba-wrap>*,.hero-w>*,.svcs-w>*,.prices>*{min-width:0}
.mrow>div{min-width:0}
.stage{width:100%}
.stage canvas{position:absolute;inset:0;width:100%;height:100%}
@media(max-width:420px){.ptabs button,.media-tabs button{padding:0 11px;font-size:13.5px}}
.wfoot .fcols{align-items:start!important}
/* Restaurant photo stage: before/after edit compare (real photos, no 3D) */
.stage.photo{background:#140C08;touch-action:pan-y;cursor:ew-resize}
.stage.photo .fx,.stage.photo .ph-before{position:absolute;inset:0;overflow:hidden}
.stage.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none;transition:opacity .35s ease,filter .5s ease}
.stage.photo .ph-after{filter:saturate(1.12) contrast(1.06) brightness(1.03) sepia(.12)}
.stage.photo.cool .ph-after{filter:saturate(1.05) contrast(1.04) brightness(1.07)}
.stage.photo .ph-before{clip-path:inset(0 calc(100% - var(--x)) 0 0)}
.stage.photo .ph-before img{filter:saturate(.62) contrast(.84) brightness(.8) sepia(.06)}
.stage.photo.swap img{opacity:0}
.stage.photo .ph-line{position:absolute;top:0;bottom:0;left:var(--x);width:2px;margin-left:-1px;background:#FDF0D5;box-shadow:0 0 12px rgba(0,0,0,.35);pointer-events:none}
.stage.photo .ph-line i{position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:#FDF0D5;color:#003049;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.stage.photo .ph-line .ico{width:18px;height:18px}
.stage.photo .ph-tag{position:absolute;top:56px;padding:5px 10px;border-radius:8px;background:rgba(0,27,41,.66);color:#FDF0D5;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.stage.photo .ph-tag.b{left:14px}.stage.photo .ph-tag.a{right:14px}
.stage.photo .ph-range{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.stage.photo .ph-range:focus-visible~.hud{outline:2px solid #FDF0D5;outline-offset:4px;border-radius:12px}
/* ===== Fix batch 7: live mini scenes on the six service cards ===== */
.sv{position:relative;height:104px;margin:-6px -6px 2px;border-radius:16px;background:var(--surface2);overflow:hidden;--sp:1}
.sc:hover .sv,.sc[data-open="true"] .sv{--sp:.6}
.sv *{box-sizing:border-box}
/* website */
.sv-web .sv-br{position:absolute;left:14px;right:14px;top:12px;height:18px;border-radius:8px 8px 0 0;background:var(--surface3,rgba(0,48,73,.1));display:flex;align-items:center;gap:4px;padding:0 8px}
.sv-web .sv-br i{width:6px;height:6px;border-radius:50%;background:var(--line2)}
.sv-web .sv-br span{margin-left:8px;font-size:9.5px;color:var(--muted);font-weight:600}
.sv-web .sv-pg{position:absolute;left:14px;right:14px;top:30px;bottom:-4px;background:var(--surface);border-radius:0 0 10px 10px;padding:10px 12px;display:grid;gap:6px;align-content:start}
.sv-web .sv-pg b{height:9px;width:62%;border-radius:4px;background:var(--ink);opacity:.85}
.sv-web .sv-pg em{height:6px;width:86%;border-radius:4px;background:var(--line2)}.sv-web .sv-pg em.s{width:54%}
.sv-web .sv-cta{position:absolute;right:12px;top:10px;font-size:10px;font-weight:700;color:#fff;background:var(--acc);padding:5px 9px;border-radius:99px;animation:svPress calc(3.2s*var(--sp)) infinite}
.sv-web .sv-cur{position:absolute;width:12px;height:12px;border-left:2px solid var(--ink);border-top:2px solid var(--ink);transform:rotate(-20deg);right:40px;top:78px;animation:svCur calc(3.2s*var(--sp)) infinite}
.sv-web .sv-tap{position:absolute;right:14px;top:4px;font-size:10px;font-weight:700;color:var(--ok);opacity:0;animation:svTap calc(3.2s*var(--sp)) infinite}
@keyframes svCur{0%,15%{transform:translate(-60px,10px) rotate(-20deg)}45%,60%{transform:translate(0,-18px) rotate(-20deg)}100%{transform:translate(-60px,10px) rotate(-20deg)}}
@keyframes svPress{0%,48%{transform:none}52%{transform:scale(.9)}58%,100%{transform:none}}
@keyframes svTap{0%,52%{opacity:0;transform:translateY(6px)}62%{opacity:1;transform:none}85%{opacity:1}100%{opacity:0;transform:translateY(-6px)}}
/* local */
.sv-local .sv-map{position:absolute;inset:0;background:linear-gradient(90deg,transparent 48%,var(--line) 48% 52%,transparent 52%),linear-gradient(0deg,transparent 46%,var(--line) 46% 54%,transparent 54%),var(--surface2)}
.sv-local .sv-map i{position:absolute;border-radius:6px;background:var(--line)}
.sv-local .r1{left:8%;top:12%;width:26%;height:24%}.sv-local .r2{right:10%;top:60%;width:22%;height:26%}.sv-local .r3{left:62%;top:10%;width:18%;height:22%}
.sv-local .sv-pin{position:absolute;left:44%;top:22px;width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--acc);box-shadow:0 6px 14px rgba(193,18,31,.35);animation:svPin calc(1.6s*var(--sp)) ease-in-out infinite}
.sv-local .sv-pin::after{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}
.sv-local .sv-pin2{position:absolute;left:44%;top:60px;width:26px;height:8px;border-radius:50%;background:rgba(0,0,0,.18);animation:svShadow calc(1.6s*var(--sp)) ease-in-out infinite}
.sv-local .sv-rank{position:absolute;right:12px;bottom:12px;font-size:11px;font-weight:700;padding:5px 9px;border-radius:99px;background:var(--okbg);color:var(--ok);animation:svRank calc(3.2s*var(--sp)) infinite}
@keyframes svPin{0%,100%{transform:rotate(-45deg) translate(0,0)}50%{transform:rotate(-45deg) translate(7px,-7px)}}
@keyframes svShadow{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.7);opacity:.5}}
@keyframes svRank{0%{transform:translateY(16px);opacity:0}20%,80%{transform:none;opacity:1}100%{transform:translateY(-6px);opacity:0}}
/* reviews */
.sv-rev{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:0 12px}
.sv-rev .sv-stars{display:flex;gap:4px}
.sv-rev .sv-stars i{width:22px;height:22px;background:#F5B301;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);animation:svStar calc(1.8s*var(--sp)) ease-in-out infinite}
.sv-rev .sv-stars i:nth-child(2){animation-delay:.12s}.sv-rev .sv-stars i:nth-child(3){animation-delay:.24s}.sv-rev .sv-stars i:nth-child(4){animation-delay:.36s}.sv-rev .sv-stars i:nth-child(5){animation-delay:.48s}
.sv-rev .sv-rate{display:grid;line-height:1.1}.sv-rev .sv-rate b{font-family:var(--display);font-size:1.4rem}.sv-rev .sv-rate span{font-size:10.5px;color:var(--muted)}
.sv-rev .sv-bub{position:absolute;left:14px;bottom:8px;font-size:10.5px;font-weight:600;padding:4px 9px;border-radius:10px 10px 10px 2px;background:var(--surface);border:1px solid var(--line);animation:svBub calc(4s*var(--sp)) infinite}
@keyframes svStar{0%,100%{transform:translateY(0) scale(1)}40%{transform:translateY(-9px) scale(1.15)}60%{transform:translateY(0) scale(1)}}
@keyframes svBub{0%,10%{opacity:0;transform:translateY(8px)}20%,85%{opacity:1;transform:none}100%{opacity:0}}
/* qr */
.sv-qr{display:flex;align-items:center;justify-content:center;gap:18px}
.sv-qr .sv-code{position:relative;width:70px;height:70px;padding:6px;border-radius:12px;background:#fff;display:grid;grid-template-columns:repeat(5,1fr);gap:3px;box-shadow:0 6px 18px rgba(0,0,0,.12);overflow:hidden}
.sv-qr .sv-code i{border-radius:2px;background:#003049}
.sv-qr .sv-code i:nth-child(3n+2),.sv-qr .sv-code i:nth-child(7n+1){background:transparent}
.sv-qr .sv-code i:nth-child(1),.sv-qr .sv-code i:nth-child(5),.sv-qr .sv-code i:nth-child(21){background:#C1121F}
.sv-qr .sv-scan{position:absolute;left:0;right:0;height:3px;top:0;background:linear-gradient(90deg,transparent,#2BD47D,transparent);box-shadow:0 0 12px #2BD47D;animation:svScan calc(1.8s*var(--sp)) ease-in-out infinite alternate}
.sv-qr .sv-qrt{display:grid;line-height:1.1}.sv-qr .sv-qrt b{font-family:var(--display);font-size:1.4rem}.sv-qr .sv-qrt span{font-size:10.5px;color:var(--muted)}
@keyframes svScan{from{top:2px}to{top:66px}}
/* linkhub */
.sv-hub{display:flex;align-items:center;justify-content:center;gap:16px}
.sv-hub .sv-ph{width:62px;height:92px;margin-top:20px;border-radius:14px 14px 0 0;background:#003049;padding:8px 7px;display:grid;gap:5px;align-content:start;justify-items:center}
.sv-hub .sv-av{width:18px;height:18px;border-radius:7px;background:#FDF0D5}
.sv-hub .sv-ph em{width:100%;height:9px;border-radius:5px;background:#FDF0D5;opacity:0;animation:svLink calc(2.8s*var(--sp)) infinite}
.sv-hub .sv-ph em:nth-of-type(2){animation-delay:.25s}.sv-hub .sv-ph em:nth-of-type(3){animation-delay:.5s}
.sv-hub .sv-hubt{display:grid;gap:5px}.sv-hub .sv-hubt span{font-size:10.5px;font-weight:700;padding:4px 10px;border-radius:99px;background:var(--surface);border:1px solid var(--line);animation:svChip calc(2.8s*var(--sp)) infinite}
.sv-hub .sv-hubt span:nth-child(2){animation-delay:.3s}.sv-hub .sv-hubt span:nth-child(3){animation-delay:.6s}
@keyframes svLink{0%{opacity:0;transform:translateX(-8px)}15%,80%{opacity:1;transform:none}100%{opacity:0}}
@keyframes svChip{0%,100%{transform:none}20%{transform:translateX(4px)}40%{transform:none}}
/* media */
.sv-med .sv-vf{position:absolute;inset:10px 14px;border-radius:10px;background:linear-gradient(180deg,#8FB5CF 0 55%,#6E8F52 55%);overflow:hidden}
.sv-med .sv-vf>i{position:absolute;width:14px;height:14px;border:2px solid #fff}
.sv-med .sv-vf>i:nth-child(1){left:8px;top:8px;border-right:0;border-bottom:0}.sv-med .sv-vf>i:nth-child(2){right:8px;top:8px;border-left:0;border-bottom:0}
.sv-med .sv-vf>i:nth-child(3){left:8px;bottom:8px;border-right:0;border-top:0}.sv-med .sv-vf>i:nth-child(4){right:8px;bottom:8px;border-left:0;border-top:0}
.sv-med .sv-rec{position:absolute;left:28px;top:8px;font-size:9px;font-weight:800;color:#fff;letter-spacing:.08em;padding-left:11px}
.sv-med .sv-rec::before{content:"";position:absolute;left:0;top:2px;width:7px;height:7px;border-radius:50%;background:#E0313E;animation:svBlink 1s steps(2) infinite}
.sv-med .sv-house{position:absolute;left:50%;bottom:22%;width:58px;height:34px;margin-left:-29px;background:#F6F3EC;animation:svZoom calc(5s*var(--sp)) ease-in-out infinite}
.sv-med .sv-house::before{content:"";position:absolute;left:-6px;right:-6px;top:-20px;height:22px;background:#3C4A55;clip-path:polygon(50% 0,100% 100%,0 100%)}
.sv-med .sv-house::after{content:"";position:absolute;left:22px;bottom:0;width:14px;height:18px;background:#7A4A2B}
.sv-med .sv-flash{position:absolute;inset:0;background:#fff;opacity:0;animation:svFlash calc(5s*var(--sp)) infinite}
@keyframes svBlink{50%{opacity:0}}
@keyframes svZoom{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
@keyframes svFlash{0%,47%{opacity:0}49%{opacity:.85}56%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.sv *,.sv *::before,.sv *::after{animation:none!important}}
/* Photo & Video: packages beside the 3D stage, add-ons and monthly plans in a full-width row below (no empty space under the stage) */
.mextra{display:grid;gap:10px;margin-top:18px}
.mextra .mx{display:grid;gap:10px;align-content:start}
@media(min-width:1000px){.mextra.two{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px}.mextra.two .mx:first-child .mrows{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}.mextra.two .mx:first-child .mrow:nth-last-child(2):nth-child(odd){border-bottom:0}}
.mextra+.mnote{margin-top:10px}
/* ===== Tap & Scan products: real product photos, gentle 3D tilt ===== */
.stand-w{display:grid;gap:28px;align-items:center}
@media(min-width:1000px){.stand-w{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}}
.stand-w>*{min-width:0}
.stand-stage{position:relative;height:500px;border-radius:28px;background:radial-gradient(120% 90% at 50% 10%,var(--surface2),var(--bg) 72%);border:1px solid var(--line);overflow:hidden;perspective:1200px;touch-action:pan-y;user-select:none}
.st-glow{position:absolute;left:50%;top:44%;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--acc) 22%,transparent),transparent 68%);filter:blur(10px);pointer-events:none}
.st-tilt{position:absolute;inset:34px 30px 92px;transform-style:preserve-3d;will-change:transform}
.st-img{position:absolute;left:50%;top:50%;height:100%;width:auto;max-width:92%;object-fit:contain;transform:translate(-50%,-50%) translateZ(0);transition:opacity .45s ease,transform .45s ease;filter:drop-shadow(0 26px 30px rgba(0,0,0,.28))}
.stand-stage[data-color="black"] .st-white,.stand-stage[data-color="white"] .st-black{opacity:0;transform:translate(-50%,-50%) scale(.96)}
.st-card{position:absolute;right:2%;bottom:-4%;height:48%;width:auto;transform:translateZ(60px) rotate(8deg);filter:drop-shadow(0 18px 22px rgba(0,0,0,.3));animation:stFloat 5s ease-in-out infinite}
.st-card[hidden]{display:none}
@keyframes stFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}
.st-shadow{position:absolute;left:50%;bottom:78px;width:62%;height:34px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.3),transparent);filter:blur(5px);pointer-events:none}
.stand-stage .tip{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:7px 11px;border-radius:12px;background:var(--surface);border:1px solid var(--line);color:var(--ink)}
.stand-stage .tip .ico{width:16px;height:16px}
.st-colors{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:6px;padding:5px;border-radius:99px;background:var(--surface);border:1px solid var(--line)}
.st-colors button,.st-pick button{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border-radius:99px;font-weight:600;font-size:14px;color:var(--muted)}
.st-colors i,.st-pick i,.st-only i{width:14px;height:14px;border-radius:50%;background:#F7F5F0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);display:inline-block}
.st-colors [data-stc="black"] i,.st-pick i.sw-black{background:#16191B}
.st-colors button[aria-pressed="true"],.st-pick button[aria-pressed="true"]{background:var(--pri);color:var(--prifg)}
.st-pick{display:flex;gap:6px;flex-wrap:wrap}
.st-pick button{border:1px solid var(--line2)}
.st-only{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--muted)}
.stand-info{display:grid;gap:14px;align-content:start}
.stand-card{display:grid;gap:10px;padding:20px;border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.stand-card .row{display:flex;align-items:baseline;gap:10px}
.stand-card .pr-n{font-family:var(--display);font-size:1.05rem}
.stand-card .amt{font-family:var(--display);font-size:1.4rem;font-weight:700;white-space:nowrap}
.stand-card .pr-d{color:var(--muted);font-size:14.5px}
.stand-card ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:14px}
.stand-card li{display:flex;gap:8px}.stand-card li .ico{width:17px;height:17px;color:var(--ok);margin-top:2px;flex:none}
@media(max-width:600px){.stand-stage{height:420px}.st-tilt{inset:40px 16px 84px}.st-card{height:34%;right:-3%;bottom:-2%}}
@media (prefers-reduced-motion:reduce){.st-card{animation:none}}
.fareas{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.5}
