/* CityPulse Kiosks — site styles */
:root{
  /* CityPulse palette: city-night navy + pulse teal */
  --lamp:#22C7B6;--lamp-deep:#13A797;--lamp-soft:#DDF5F1;
  --forest:#0F1C2B;--forest-2:#1A2B3F;--forest-3:#0E6B63;
  --ink:#121B26;--paper:#F4F6F7;--stone:#E4E9EC;--white:#fff;
  --muted:#536170;--muted-dark:#B5C2CF;--line:#D5DCE2;
  --signal:#FF6B4A;
  --display:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif;
  --body:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
  --serif:"Fraunces",Georgia,serif;
  --max:1200px;--gutter:clamp(16px,4vw,40px);--head-h:76px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--body);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
section[id],article[id],div[id]{scroll-margin-top:calc(var(--head-h) + 12px)}
h1,h2,h3,h4{font-family:var(--display);line-height:1.05;margin:0;font-weight:800;letter-spacing:-.02em}
h1{font-size:clamp(44px,6.6vw,88px);letter-spacing:-.035em;line-height:.96}
h2{font-size:clamp(32px,4.6vw,56px)}
h3{font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.15}
p{margin:0}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:820px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--lamp);padding:8px 14px;z-index:200;border-radius:6px}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--lamp-deep);outline-offset:3px;border-radius:4px}
.fine{font-size:14px;color:var(--muted)}
.lede{font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:var(--muted);max-width:36em}
.dark{background:var(--forest);color:var(--paper)}
.dark .lede,.dark .fine{color:var(--muted-dark)}
.section{padding:clamp(64px,9vw,112px) 0}
.section-head{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:end;margin-bottom:clamp(32px,4vw,48px)}
.section-head p{color:var(--muted)}
.dark .section-head p{color:var(--muted-dark)}
.check-list{list-style:none;padding:0;margin:18px 0 0}
.check-list li{position:relative;padding:6px 0 6px 30px}
.check-list li::before{content:"";position:absolute;left:2px;top:13px;width:12px;height:7px;border-left:2.5px solid var(--forest-3);border-bottom:2.5px solid var(--forest-3);transform:rotate(-45deg)}
.dark .check-list li::before{border-color:var(--lamp)}
.text-link{font-weight:600;text-decoration:none;border-bottom:2px solid var(--lamp);padding-bottom:2px}
.text-link:hover{border-color:var(--ink)}
.dark .text-link:hover{border-color:var(--paper)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--lamp);color:var(--ink);border:2px solid var(--lamp);padding:13px 22px;border-radius:999px;font:600 16px/1 var(--body);text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}
.btn:hover{background:var(--lamp-deep);border-color:var(--lamp-deep)}
.btn-dark{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn-dark:hover{background:var(--forest-2);border-color:var(--forest-2)}
.btn-ghost{background:transparent;color:inherit;border-color:currentColor}
.btn-ghost:hover{background:rgba(127,127,127,.12);border-color:currentColor}
.btn-small{padding:9px 16px;font-size:15px}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* header */
.site-header{background:#fff;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--head-h);gap:24px}
.brand{display:block;flex:none}
.brand img{height:46px;width:auto}
.site-nav{display:flex;align-items:center;gap:4px}
.site-nav>a,.nav-btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font:500 15px/1 var(--body);padding:10px 12px;border-radius:8px;background:none;border:0;color:var(--ink);cursor:pointer}
.site-nav>a:hover,.nav-btn:hover,.nav-item.open .nav-btn{background:var(--paper)}
.site-nav>a[aria-current=page],.nav-item.current .nav-btn{color:var(--forest-3);box-shadow:inset 0 -2px 0 var(--lamp)}
.nav-btn svg{width:12px;height:12px;transition:transform .2s}
.nav-item{position:relative}
.nav-item.open .nav-btn svg{transform:rotate(180deg)}
.mega{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);width:min(620px,90vw);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(15,28,43,.16);padding:12px;display:none;grid-template-columns:1fr 1fr;gap:2px}
.nav-item.open .mega{display:grid}
.mega::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.mega a{display:block;padding:12px 14px;border-radius:10px;text-decoration:none}
.mega a:hover,.mega a:focus-visible{background:var(--paper)}
.mega b{display:block;font-weight:600;font-size:15px}
.mega span{display:block;font-size:14px;color:var(--muted);line-height:1.4;margin-top:2px}
.mega .mega-lead{grid-column:1/-1;background:var(--forest);color:var(--paper);margin-bottom:6px}
.mega .mega-lead:hover{background:var(--forest-2)}
.mega .mega-lead span{color:var(--muted-dark)}
.site-nav>a.btn{background:var(--lamp);border:2px solid var(--lamp);padding:11px 18px;border-radius:999px;font-weight:600}
.site-nav>a.btn:hover{background:var(--lamp-deep);border-color:var(--lamp-deep)}
.header-cta{margin-left:10px}
.nav-toggle{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;color:var(--ink);position:relative}
.nav-toggle i{position:absolute;left:10px;right:10px;height:2px;background:currentColor;transition:transform .2s}
.nav-toggle i:first-of-type{top:17px}.nav-toggle i:last-of-type{top:25px}
.nav-toggle[aria-expanded=true] i:first-of-type{transform:translateY(4px) rotate(45deg)}
.nav-toggle[aria-expanded=true] i:last-of-type{transform:translateY(-4px) rotate(-45deg)}

/* breadcrumbs + page hero */
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:14px;color:var(--muted);margin-bottom:22px;list-style:none;padding:0}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.5}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.dark .crumbs{color:var(--muted-dark)}
.page-hero{padding:clamp(48px,7vw,96px) 0 clamp(48px,6vw,80px);border-bottom:1px solid var(--line)}
.page-hero.dark{border:0}
.page-hero .hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(32px,5vw,64px);align-items:end}
.page-hero h1{max-width:12em}
.page-hero .hero-grid.solo{grid-template-columns:1fr}
.page-hero .hero-grid.solo h1{max-width:15em}
.page-hero .lede{margin-top:22px}
.page-hero .hero-aside{align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end}
.hero-photo{border-radius:20px;overflow:hidden;aspect-ratio:4/3}
.hero-photo img{width:100%;height:100%;object-fit:cover}

/* home hero */
.hero{background:var(--forest);color:var(--paper);padding-top:clamp(40px,7vw,88px)}
.hero-copy{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,5vw,72px);align-items:end;padding-bottom:clamp(32px,5vw,56px)}
.hero h1{font-size:clamp(48px,8.4vw,112px);line-height:.92}
.hero .lede{color:#D6DEE7}
.stage{position:relative;margin:0;overflow:hidden;background:#0A1420}
.stage img{width:100%;aspect-ratio:2/1;object-fit:cover}
.stage-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 20% 62% at 33% 50%,transparent 0 45%,rgba(10,20,32,.62) 100%)}
.stage-light::before{content:"";position:absolute;inset:0;background:#0A1420;opacity:0;animation:lights-up 1.6s .3s ease-out backwards}
.stage-light::after{content:"";position:absolute;inset:0;clip-path:polygon(29% 0,37% 0,48% 100%,18% 100%);background:linear-gradient(180deg,rgba(34,199,182,.38),rgba(34,199,182,.06) 70%,transparent);mix-blend-mode:screen;animation:beam 1.2s 1.1s ease-out backwards}
@keyframes lights-up{from{opacity:.88}to{opacity:0}}
@keyframes beam{from{opacity:0}to{opacity:1}}
.stage figcaption{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:space-between;gap:16px;font-size:14px;color:#D6DEE7;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.stage figcaption a{color:var(--lamp);font-weight:600}
.facts{display:grid;grid-template-columns:repeat(3,1fr);padding-top:32px;padding-bottom:48px}
.facts>div{padding:0 24px;border-left:1px solid rgba(255,255,255,.18)}
.facts>div:first-child{padding-left:0;border-left:0}
.facts strong{font:700 20px/1.2 var(--display);display:block;margin-bottom:6px;color:var(--lamp)}
.facts p{color:var(--muted-dark);font-size:16px}

/* jump cards */
.jump{background:#fff;border-bottom:1px solid var(--line)}
.jump-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.jump a{display:flex;gap:16px;align-items:flex-start;padding:28px 24px;text-decoration:none;border-left:1px solid var(--line);transition:background .15s}
.jump a:first-child{border-left:0}
.jump a:hover{background:var(--paper)}
.jump .ico{flex:none;width:44px;height:44px;border-radius:12px;background:var(--lamp-soft);display:grid;place-items:center}
.jump .ico svg{width:22px;height:22px;stroke:var(--ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.jump b{display:block;font:700 19px/1.2 var(--display)}
.jump span{display:block;color:var(--muted);font-size:15px;margin-top:4px}

/* demo */
.demo{padding:clamp(64px,9vw,112px) 0;background:var(--paper)}
.demo-head{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:end;margin-bottom:32px}
.demo-head h2{font-size:clamp(44px,7vw,84px);letter-spacing:-.035em}
.demo-head p{color:var(--muted);max-width:36em}
.venue-switch{display:inline-flex;flex-wrap:wrap;gap:6px;padding:6px;background:var(--stone);border-radius:999px;margin-bottom:40px}
.venue-switch button{border:0;background:transparent;padding:10px 18px;border-radius:999px;font:600 15px/1 var(--body);color:var(--ink);cursor:pointer}
.venue-switch button[aria-checked=true]{background:var(--forest);color:var(--paper)}
.demo-grid{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:start}
.device{width:100%;max-width:400px;margin:0 auto;display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 30px 40px rgba(15,28,43,.22))}
.device-head{width:100%;padding:14px;border-radius:22px;background:#1c1e20;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),inset 0 2px 0 rgba(255,255,255,.08)}
.device-pole{width:22%;height:110px;background:linear-gradient(90deg,#141516,#2a2c2f 45%,#151617);display:flex;justify-content:center}
.device-slot{display:none}
.device-base{width:62%;height:16px;border-radius:6px;background:linear-gradient(#26282b,#111213)}
.device[data-finish=silver] .device-head{background:linear-gradient(135deg,#f1f2f3,#c9ccd0 60%,#e4e6e8);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.device[data-finish=silver] .device-pole{width:30%;background:linear-gradient(90deg,#c2c5c9,#eef0f1 40%,#b5b8bc)}
.device[data-finish=silver] .device-slot{display:block;width:44%;height:5px;margin-top:22px;border-radius:2px;background:#33363a}
.screen{width:100%;aspect-ratio:9/16;border-radius:8px;overflow:hidden;position:relative;container-type:inline-size;background:#fff;user-select:none;-webkit-user-select:none}
.console{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}
.console h3{font-size:26px}
.console-note{color:var(--muted);font-size:15px;margin:6px 0 22px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0 0 24px}
.stats div{background:#fff;padding:14px 16px}
.stats dt{font-size:14px;color:var(--muted)}
.stats dd{margin:2px 0 0;font:800 34px/1.1 var(--display);font-variant-numeric:tabular-nums}
.stats dd.bump{animation:bump .5s}
@keyframes bump{30%{color:var(--lamp-deep)}}
.console h4{font:700 15px/1 var(--body);margin-bottom:10px}
.feed{list-style:none;margin:0 0 22px;padding:0;min-height:200px;max-height:250px;overflow:auto;border-top:1px solid var(--line)}
.feed li{display:grid;grid-template-columns:70px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--stone);font-size:15px}
.feed time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}
.feed .tag{display:inline-block;font-size:12px;font-weight:600;padding:1px 8px;border-radius:99px;background:var(--stone);margin-left:6px}
.feed .tag-sponsor{background:var(--lamp-soft)}
.feed .tag-open{background:var(--lamp)}
.feed .tag-scan{background:#D7EBDD}
.feed li.feed-empty{display:block;color:var(--muted)}
.feed li.new{animation:feedin .35s ease-out}
@keyframes feedin{from{background:var(--lamp-soft)}}
.ad-note{display:flex;gap:12px;align-items:flex-start;background:var(--lamp-soft);border-radius:12px;padding:14px 16px;margin-bottom:20px;font-size:15px}
.ad-note b{display:block}

/* two ways */
.paths{display:grid;gap:20px}
.path{display:grid;grid-template-columns:1.1fr 1fr;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#fff}
.path-main{padding:clamp(28px,4vw,48px)}
.path-main h3{font-size:clamp(30px,3.4vw,44px);font-weight:800;letter-spacing:-.02em;line-height:1.02;max-width:12em}
.path-main .who{font-weight:600;color:var(--forest-3);margin-bottom:12px;font-size:15px}
.path-main p.desc{margin:16px 0 26px;color:var(--muted);font-size:18px}
.path-main .btn-row{margin-top:0;align-items:center}
.path-panel{background:var(--forest);color:var(--paper);padding:clamp(28px,4vw,48px)}
.path-panel h4{font:600 16px/1.3 var(--body);color:var(--lamp);margin-bottom:12px}
.brief{margin:0}
.brief div{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:13px 0;border-top:1px solid rgba(255,255,255,.14)}
.brief dt{font-weight:600}
.brief dd{margin:0;color:var(--muted-dark)}
.path-panel .fine{color:#93A3B5;margin-top:16px}

/* tabs (venues) */
.tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--line);margin-bottom:36px}
.tabs button{background:none;border:0;padding:12px 16px;font:600 16px/1 var(--body);color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px}
.tabs button[aria-selected=true]{color:var(--ink);border-color:var(--lamp-deep)}
.tab-panel{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:center}
.tab-panel[hidden]{display:none}
.tab-panel h3{font-size:clamp(30px,3.6vw,44px);font-weight:800;letter-spacing:-.02em;line-height:1.02}
.tab-panel p{color:var(--muted);margin-top:14px;font-size:18px}
.tab-panel .text-link{display:inline-block;margin-top:22px}
.moment{background:var(--stone);border-radius:22px;padding:28px;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}
.moment .mini{width:160px}
.moment dl{margin:0}
.moment dt{font-size:14px;color:var(--muted)}
.moment dd{margin:0 0 14px;font:700 20px/1.25 var(--display)}
.moment dd:last-child{margin:0}

/* mini kiosk (static illustration) */
.mini{display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 14px 18px rgba(15,28,43,.18))}
.mini-head{width:100%;padding:6%;border-radius:12px;background:#1c1e20}
.mini[data-finish=silver] .mini-head{background:linear-gradient(135deg,#f1f2f3,#c9ccd0 60%,#e4e6e8)}
.mini-screen{aspect-ratio:9/16;border-radius:4px;overflow:hidden;container-type:inline-size;background:linear-gradient(180deg,#dbe6ef,#f5f6f4 40%);display:flex;flex-direction:column;padding:6% 5% 0}
.mini-screen b{font:400 13cqw/1 var(--serif);color:#1d2b45;text-align:center}
.mini-screen small{display:block;text-align:center;font-size:5.4cqw;color:#5a6578;margin:2cqw 0 4cqw}
.mini-tiles{display:grid;grid-template-columns:1fr 1fr;gap:3cqw}
.mini-tiles span{aspect-ratio:1.3;border-radius:3cqw;background:var(--g);color:#fff;font-size:5.6cqw;font-weight:600;display:flex;align-items:flex-end;justify-content:center;padding-bottom:3cqw}
.mini-ad{margin:auto -5cqw 0;height:25%;background:var(--forest);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4cqw}
.mini-ad i{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;border:.8cqw dashed var(--lamp);border-radius:3cqw;color:var(--lamp);font:800 8cqw/1 var(--display);font-style:normal;text-align:center}
.mini-ad i em{font:500 4.6cqw/1.2 var(--body);color:#D6DEE7;margin-top:2cqw;font-style:normal}
.mini-pole{width:20%;height:44px;background:linear-gradient(90deg,#141516,#2a2c2f 45%,#151617)}
.mini[data-finish=silver] .mini-pole{width:26%;background:linear-gradient(90deg,#c2c5c9,#eef0f1 40%,#b5b8bc)}
.mini-base{width:60%;height:8px;border-radius:4px;background:#1a1b1c}

/* concept cards */
.concepts{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.concept{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.creative{position:relative;overflow:hidden;padding:28px;min-height:230px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:var(--cbg,#1f4433)}
.creative::after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;border:34px solid rgba(255,255,255,.14)}
.creative.light{color:var(--ink)}
.creative.light::after{border-color:rgba(0,0,0,.08)}
.creative small{font-weight:600;font-size:14px;position:relative}
.creative strong{font:700 clamp(26px,2.8vw,34px)/1.08 var(--display);letter-spacing:-.02em;max-width:13em;position:relative;margin:18px 0}
.creative span{font-weight:600;font-size:15px;border-bottom:2px solid currentColor;align-self:flex-start;padding-bottom:2px;position:relative}
.creative em{position:absolute;right:16px;bottom:12px;font-style:normal;font-size:12px;opacity:.7}
.concept-body{padding:26px 28px 28px;display:flex;flex-direction:column;flex:1}
.concept-body .kind{font-size:14px;font-weight:600;color:var(--forest-3)}
.concept-body h3{font-size:24px;margin:6px 0 8px}
.concept-body>p{color:var(--muted)}
.concept-body dl{margin:16px 0 0}
.concept-body dl div{padding:12px 0;border-top:1px solid var(--line)}
.concept-body dt{font-size:14px;color:var(--muted)}
.concept-body dd{margin:2px 0 0}
.concept-links{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:auto;padding-top:20px}
.concept details{border-top:1px solid var(--line);margin-top:16px}
.concept summary{cursor:pointer;padding:14px 0 6px;font-weight:600;list-style:none}
.concept summary::-webkit-details-marker{display:none}
.concept summary::after{content:" +";color:var(--muted)}
.concept details[open] summary::after{content:" −"}

/* tools band */
.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tool{background:#fff;color:var(--ink);border-radius:20px;padding:28px;display:flex;flex-direction:column;text-decoration:none;min-height:280px;transition:transform .15s}
.tool:hover{transform:translateY(-3px)}
.tool.lamp{background:var(--lamp)}
.tool .ico{width:28px;height:28px;stroke:var(--ink);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:22px}
.tool h3{font-size:26px}
.tool p{color:var(--muted);margin-top:10px}
.tool.lamp p{color:#0B3F3A}
.tool .go{margin-top:auto;padding-top:20px;border-top:1px solid rgba(0,0,0,.12);font-weight:600;font-size:15px}

/* steps */
.step-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s}
.step-list.five{grid-template-columns:repeat(5,1fr);gap:14px}
.step-list li{counter-increment:s;padding:28px;border-radius:20px;background:#fff;border:1px solid var(--line)}
.dark .step-list li{background:var(--forest-2);border-color:var(--forest-2)}
.step-list li::before{content:counter(s);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--lamp);color:var(--ink);font:800 20px/1 var(--display);margin-bottom:22px}
.step-list.five li{padding:22px}
.step-list.five h3{font-size:19px}
.step-list p{color:var(--muted);margin-top:10px;font-size:16px}
.dark .step-list p{color:var(--muted-dark)}

/* faq */
.faq-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(32px,6vw,80px)}
.faq-grid>div:first-child{position:sticky;top:calc(var(--head-h) + 30px);align-self:start}
.faq-grid>div:first-child .text-link{display:inline-block;margin-top:22px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font:700 19px/1.3 var(--display);position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";position:absolute;right:6px;top:50%;width:11px;height:11px;border-right:2px solid;border-bottom:2px solid;transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq-list details[open] summary::after{transform:translateY(-20%) rotate(-135deg)}
.faq-list details>div{padding:0 0 22px;color:var(--muted);max-width:44em}
.faq-list details>div p+p{margin-top:10px}
.faq-list .tag{display:inline-block;font:600 12px/1 var(--body);padding:4px 8px;border-radius:99px;background:var(--stone);margin-left:8px;vertical-align:middle}

/* pricing */
.price-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.price-cards.three{grid-template-columns:repeat(3,1fr)}
.price-cards.three .price span{font-size:clamp(48px,5vw,68px)}
.pkg-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}
.pkg-notes p{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.pkg-notes b{display:block}
.num-in{width:90px;font:800 22px/1 var(--display);border:1.5px solid var(--line);border-radius:8px;padding:4px 8px;text-align:right}
.tier-list{list-style:none;margin:8px 0 0;padding:0}
.tier-list li{display:flex;justify-content:space-between;padding:10px 12px;border-radius:10px;border-bottom:1px solid var(--line)}
.tier-list li.on{background:var(--lamp-soft);border-color:transparent;font-weight:600}
.price-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(28px,4vw,40px);display:flex;flex-direction:column}
.price-card.lamp{background:var(--lamp);border-color:var(--lamp)}
.price-card .label{font-weight:600;color:var(--forest-3)}
.price-card.lamp .label{color:#0B3F3A}
.price-card h3{font-size:28px;margin-top:6px}
.price{font:600 18px/1 var(--body);margin:18px 0 8px}
.price span{font:800 clamp(60px,7vw,88px)/1 var(--display);letter-spacing:-.04em;margin-right:6px}
.price-card>p{color:var(--muted)}
.price-card.lamp>p{color:#0B3F3A}
.price-card ul{margin:18px 0 26px;padding:0 0 0 20px}
.price-card li{margin:5px 0}
.price-card .btn{margin-top:auto;align-self:flex-start}
.price-card .fine{margin-top:14px}
.price-card.lamp .fine{color:#0B3F3A}
.price-card.lamp .btn{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.teaser{display:grid;grid-template-columns:1.2fr auto auto;gap:32px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(28px,4vw,44px)}
.teaser .price{margin:0}
.calc{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}
.calc-in,.calc-out{border-radius:22px;padding:clamp(24px,3.5vw,36px)}
.calc-in{background:#fff;border:1px solid var(--line)}
.calc-out{background:var(--forest);color:var(--paper)}
.presets{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 24px}
.presets button,.chip{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:8px 14px;font:600 14px/1 var(--body);cursor:pointer;color:var(--ink)}
.presets button[aria-pressed=true],.chip[aria-pressed=true]{background:var(--forest);border-color:var(--forest);color:var(--paper)}
.range-row{margin-bottom:22px}
.range-row label{display:flex;justify-content:space-between;font-weight:600;margin-bottom:8px}
.range-row output{font:800 22px/1 var(--display)}
.range-row input[type=range]{width:100%;accent-color:var(--forest-3)}
.range-row small{color:var(--muted);font-size:14px}
.calc-out .big{font:800 clamp(48px,6vw,72px)/1 var(--display);letter-spacing:-.03em;margin:10px 0 6px}
.calc-out .big small{font:600 18px/1 var(--body);margin-left:4px}
.calc-out dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}
.calc-out dl div{background:var(--forest-2);border-radius:12px;padding:12px 14px}
.calc-out dt{font-size:14px;color:var(--muted-dark)}
.calc-out dd{margin:2px 0 0;font:800 24px/1.1 var(--display)}

/* cta band */
.cta-band{background:var(--forest);color:var(--paper);padding:clamp(56px,8vw,96px) 0;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;opacity:.8;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0 70 H760 L790 30 L830 110 L870 10 L900 70 H1200' fill='none' stroke='%2322C7B6' stroke-width='3' stroke-linejoin='round' opacity='.35'/%3E%3C/svg%3E") no-repeat center/100% 100%;pointer-events:none}
.cta-inner{position:relative;display:grid;grid-template-columns:1.4fr auto;gap:32px;align-items:end}
.cta-band h2{max-width:13em}
.cta-band p{color:var(--muted-dark);margin-top:16px;font-size:19px}
.cta-band .btn-row{margin:0}

/* cards (generic) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.cards.four{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;display:flex;flex-direction:column}
.dark .card{background:var(--forest-2);border-color:var(--forest-2)}
.card h3{margin-bottom:10px}
.card p{color:var(--muted)}
.dark .card p{color:var(--muted-dark)}
.card .text-link{margin-top:auto;padding-top:0;align-self:flex-start}
.card .text-link:first-of-type{margin-top:22px}
a.card{text-decoration:none;transition:border-color .15s}
a.card:hover{border-color:var(--ink)}
.card .kind{font-size:14px;font-weight:600;color:var(--forest-3);margin-bottom:8px}
.card .meta{margin-top:auto;padding-top:18px;font-size:14px;color:var(--muted)}
.card[hidden]{display:none}

/* filters */
.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:28px}
.filters .chips{display:flex;flex-wrap:wrap;gap:8px}
.search{position:relative;min-width:min(320px,100%)}
.search input{width:100%;font:inherit;padding:11px 14px 11px 40px;border-radius:99px;border:1.5px solid var(--line);background:#fff}
.search input:focus{outline:none;border-color:var(--forest-3)}
.search svg{position:absolute;left:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);stroke:var(--muted);fill:none;stroke-width:2}
.result-count{font-size:15px;color:var(--muted);margin-bottom:16px}
.empty-state{background:#fff;border:1px dashed var(--line);border-radius:18px;padding:32px;text-align:center}
.empty-state[hidden]{display:none}
.empty-state p{color:var(--muted);margin:6px 0 16px}

/* hardware */
.hw-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:20px}
.hw{margin:0;background:#fff;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--line)}
.hw img{width:100%;aspect-ratio:16/10;object-fit:cover}
.hw:first-child img{object-position:25% 50%}
.hw:last-child img{object-position:70% 50%}
.hw figcaption{padding:26px 28px 30px}
.hw h3{font-size:26px;margin-bottom:8px}
.hw p{color:var(--muted)}
.pills{margin:16px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.pills li{font-size:14px;padding:5px 12px;border-radius:99px;background:var(--paper);border:1px solid var(--line)}

/* placements */
.placements{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.placement{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;display:flex;flex-direction:column}
.placement .mini{width:120px;margin:0 auto 22px}
.placement h3{font-size:22px}
.placement p{color:var(--muted);margin:8px 0 18px}
.placement .text-link{margin-top:auto;align-self:flex-start}
.mini-screen.ph-banner .mini-ad,.mini-screen.ph-panel .mini-ad,.mini-screen.ph-qr .mini-ad{display:none}
.ph{margin-top:auto;margin-bottom:5cqw;border-radius:3cqw;background:var(--lamp);color:var(--ink);font:800 7cqw/1.05 var(--display);display:flex;align-items:center;justify-content:center;text-align:center;padding:4cqw}
.ph-banner .ph{order:-1;margin:0 0 4cqw;height:22%}
.ph-panel .ph{height:42%;margin:4cqw -5cqw 0;border-radius:0;background:var(--forest);color:var(--lamp);border:.8cqw dashed var(--lamp)}
.ph-qr .ph{height:30%;gap:3cqw}
.ph-qr .ph i{width:16cqw;height:16cqw;background:#fff;border-radius:2cqw;flex:none;background-image:repeating-linear-gradient(90deg,#111 0 2cqw,transparent 2cqw 4cqw),repeating-linear-gradient(0deg,#111 0 2cqw,transparent 2cqw 4cqw);background-blend-mode:multiply}

/* forms */
.form-wrap{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(32px,6vw,72px)}
.form-wrap .steps-mini{list-style:none;padding:0;margin:24px 0}
.form-wrap .steps-mini li{display:flex;gap:12px;align-items:center;padding:8px 0;font-weight:500}
.form-wrap .steps-mini li span{width:30px;height:30px;border-radius:50%;background:var(--lamp);display:grid;place-items:center;font:800 14px/1 var(--display);color:var(--ink)}
.talk{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.dark .talk{border-color:rgba(255,255,255,.15)}
.talk a{display:block;font-weight:600;font-size:19px;text-decoration:none}
.dark .talk a{color:var(--lamp)}
.draft-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(22px,3vw,34px);color:var(--ink)}
.draft-form fieldset{border:0;padding:0;margin:0 0 22px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.draft-form legend{font:700 18px/1.2 var(--display);margin-bottom:14px;padding:0}
.field{display:flex;flex-direction:column;gap:6px;font-size:15px;font-weight:500}
.field.full{grid-column:1/-1}
.field .opt{font-weight:400;color:var(--muted)}
.field small{font-weight:400;color:var(--muted);font-size:13px}
.field input,.field select,.field textarea{font:inherit;font-weight:400;color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:10px;padding:11px 13px;width:100%}
.field textarea{resize:vertical;min-height:110px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--forest-3);outline:none;box-shadow:0 0 0 3px rgba(34,199,182,.5)}
.field [aria-invalid=true]{border-color:#b3261e}
.ack{display:flex;gap:10px;align-items:flex-start;font-size:15px;margin:4px 0 18px}
.ack input{margin-top:4px;width:18px;height:18px;accent-color:var(--forest-3);flex:none}
.form-error{color:#b3261e;font-weight:500;margin-bottom:14px}
.form-error[hidden]{display:none}
.form-foot{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.draft-review{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(22px,3vw,34px);color:var(--ink)}
.draft-review[hidden]{display:none}
.draft-form .fine,.draft-review .fine{color:var(--muted)}
.field>span{display:block}
.field .count{float:right}
.draft-review h3{font-size:26px}
.draft-review>p{color:var(--muted);margin:6px 0 18px}
.draft-review pre{white-space:pre-wrap;font:15px/1.6 var(--body);background:var(--paper);border-radius:12px;padding:18px;margin:0 0 18px;max-height:360px;overflow:auto}
.draft-review .btn-row{margin-top:0}
.copied{font-size:14px;color:var(--forest-3);font-weight:600}

/* planner */
.planner{display:grid;grid-template-columns:260px 1fr;gap:clamp(24px,4vw,48px)}
.planner-steps{list-style:none;padding:0;margin:0;position:sticky;top:calc(var(--head-h) + 24px);align-self:start}
.planner-steps li{display:flex;gap:12px;align-items:center;padding:12px 0;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line)}
.planner-steps li span{width:32px;height:32px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font:800 14px/1 var(--display);flex:none}
.planner-steps li.on{color:var(--ink)}
.planner-steps li.on span{background:var(--lamp);border-color:var(--lamp)}
.planner-steps li.done span{background:var(--forest);border-color:var(--forest);color:var(--paper)}
.pstep{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(22px,3vw,36px)}
.pstep[hidden]{display:none}
.pstep h2{font-size:clamp(28px,3vw,38px)}
.pstep>p{color:var(--muted);margin:8px 0 22px}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
.choice{position:relative;display:block;border:1.5px solid var(--line);border-radius:14px;padding:16px 16px 16px 46px;cursor:pointer}
.choice input{position:absolute;left:16px;top:19px;width:18px;height:18px;accent-color:var(--forest-3)}
.choice b{display:block}
.choice span{color:var(--muted);font-size:14px}
.choice:has(input:checked){border-color:var(--forest-3);background:#E8F6F4}
.pstep .grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.planner-nav{display:flex;justify-content:space-between;align-items:center;margin-top:20px}
.brief-out{background:var(--paper);border-radius:14px;padding:6px 20px;margin-bottom:22px}
.brief-out div{display:grid;grid-template-columns:170px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.brief-out div:last-child{border:0}
.brief-out dt{font-weight:600}
.brief-out dd{margin:0;color:var(--muted)}

/* studio */
.studio{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(24px,4vw,56px);align-items:start}
.studio-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(22px,3vw,34px);display:grid;gap:16px}
.swatches{display:flex;flex-wrap:wrap;gap:10px}
.swatches label{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:99px;padding:6px 14px 6px 6px;cursor:pointer;font-weight:600;font-size:14px}
.swatches label i{width:22px;height:22px;border-radius:50%;background:var(--sw)}
.swatches input{position:absolute;opacity:0}
.swatches label:has(input:checked){border-color:var(--forest-3);background:#E8F6F4}
.swatches label:has(input:focus-visible){outline:3px solid var(--lamp-deep)}
.studio-preview{position:sticky;top:calc(var(--head-h) + 24px);background:var(--stone);border-radius:22px;padding:28px;display:flex;flex-direction:column;align-items:center;gap:18px}
.studio-preview .lbl{align-self:stretch;display:flex;justify-content:space-between;font-size:14px;color:var(--muted);font-weight:600}
.studio-kiosk{width:min(260px,70%)}
.studio-kiosk .mini-screen{padding-bottom:0}
.studio-ad{margin:auto -5cqw 0;height:25%;display:flex;flex-direction:column;justify-content:space-between;padding:3.4cqw 5cqw;color:#fff;background:var(--sbg);position:relative;overflow:hidden}
.studio-ad::after{content:"";position:absolute;right:-12cqw;top:-12cqw;width:40cqw;height:40cqw;border-radius:50%;border:7cqw solid rgba(255,255,255,.14)}
.studio-ad.light{color:var(--ink)}
.studio-ad .sa-brand{font-size:3.6cqw;font-weight:600;position:relative}
.studio-ad .sa-head{font:700 6.4cqw/1.05 var(--display);letter-spacing:-.02em;position:relative;overflow-wrap:anywhere}
.studio-ad .sa-cta{font-size:3.6cqw;font-weight:600;border-bottom:.5cqw solid currentColor;align-self:flex-start;position:relative}
.studio-wide{width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;container-type:inline-size}
.studio-wide .studio-ad{height:100%;margin:0;padding:6cqw 7cqw}
.studio-wide .studio-ad .sa-brand{font-size:2.6cqw}
.studio-wide .studio-ad .sa-head{font-size:5.6cqw;max-width:75%}
.studio-wide .studio-ad .sa-cta{font-size:2.6cqw}
.studio-wide .studio-ad::after{width:30cqw;height:30cqw;border-width:5cqw}
.count{font-size:13px;color:var(--muted);font-weight:400}
.count.over{color:#b3261e}

/* article (guides) */
.article{display:grid;grid-template-columns:240px 1fr;gap:clamp(32px,5vw,72px)}
.toc{position:sticky;top:calc(var(--head-h) + 24px);align-self:start;font-size:15px}
.toc b{display:block;margin-bottom:10px}
.toc ol{margin:0;padding:0;list-style:none;counter-reset:t}
.toc li{counter-increment:t;padding:7px 0;border-bottom:1px solid var(--line)}
.toc a{text-decoration:none;color:var(--muted)}
.toc a:hover{color:var(--ink)}
.toc .meta{margin-top:16px;color:var(--muted);font-size:14px}
.prose{max-width:720px}
.prose h2{font-size:clamp(26px,3vw,34px);margin:44px 0 14px}
.prose h2:first-child{margin-top:0}
.prose h3{margin:28px 0 10px}
.prose p,.prose ul,.prose ol{margin:0 0 16px;color:#2E3A47}
.prose ul,.prose ol{padding-left:22px}
.prose li{margin:6px 0}
.prose a{color:var(--forest-3);font-weight:600}
.callout{background:var(--lamp-soft);border-radius:16px;padding:22px 24px;margin:28px 0}
.callout b{display:block;font:700 19px/1.3 var(--display);margin-bottom:6px}
.checklist{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;margin-top:36px}
.checklist h2{margin-top:0}
.checklist label{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer}
.checklist input{width:20px;height:20px;accent-color:var(--forest-3)}
.checklist .progress{margin-top:14px;font-weight:600}

/* venue + location lists */
.loc-group{margin-bottom:34px}
.loc-group h3{font-size:20px;padding-bottom:10px;border-bottom:2px solid var(--ink);margin-bottom:6px}
.loc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 24px}
.loc-list li{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.loc-list li[hidden],.loc-group[hidden]{display:none}
.loc-list a{font-size:14px;font-weight:600;color:var(--forest-3)}
.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--lamp);padding-left:28px}
.timeline li{position:relative;padding-bottom:30px}
.timeline li::before{content:"";position:absolute;left:-36px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--lamp);border:3px solid var(--paper)}
.timeline b{font:800 15px/1 var(--display);color:var(--forest-3)}
.timeline h3{margin:6px 0}
.timeline p{color:var(--muted)}
.overview{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px}
.overview div{padding:20px 0;border-top:1px solid var(--line)}
.overview dt{font:700 19px/1.2 var(--display);margin-bottom:6px}
.overview dd{margin:0;color:var(--muted)}
.metric-list{counter-reset:m;display:grid;gap:12px;list-style:none;padding:0;margin:0}
.metric-list li{display:grid;grid-template-columns:56px 1fr 1.2fr;gap:20px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.metric-list li::before{counter-increment:m;content:counter(m);width:40px;height:40px;border-radius:50%;background:var(--lamp);display:grid;place-items:center;font:800 18px/1 var(--display)}
.metric-list p{color:var(--muted)}
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

/* legal */
.legal{display:grid;grid-template-columns:240px 1fr;gap:clamp(32px,5vw,72px)}
.legal .prose h2{font-size:24px;margin-top:40px}
.legal .prose{max-width:760px}
.updated{font-size:15px;color:var(--muted);margin-top:14px}

/* footer */
.site-footer{background:#0A1420;color:var(--muted-dark);padding:64px 0 28px;font-size:15px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.1fr;gap:32px}
.footer-brand img{height:52px;width:auto;margin-bottom:16px}
.footer-brand p{max-width:22em}
.site-footer h2{font:700 15px/1 var(--body);color:var(--paper);margin-bottom:14px;letter-spacing:0}
.site-footer nav{display:flex;flex-direction:column;gap:8px}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:var(--lamp)}
.footer-talk a{display:block;margin-bottom:6px}
.footer-talk .big{color:var(--paper);font-weight:600}
.socials{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px}
.footer-base{margin-top:48px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:14px;color:#7F8FA1;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between}
.footer-base nav{flex-direction:row;gap:20px}

/* responsive */
@media (max-width:1100px){
  .site-nav{gap:0}
  .site-nav>a,.nav-btn{padding:10px 8px;font-size:14.5px}
  .footer-grid{grid-template-columns:1fr 1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .step-list.five{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:980px){
  .nav-toggle{display:block}
  .site-nav{position:fixed;inset:var(--head-h) 0 0 0;background:#fff;flex-direction:column;align-items:stretch;padding:12px var(--gutter) 40px;gap:0;overflow-y:auto;transform:translateX(100%);transition:transform .25s;visibility:hidden}
  .site-nav.open{transform:none;visibility:visible}
  .site-nav>a,.nav-btn{width:100%;justify-content:space-between;font-size:18px;padding:16px 4px;border-radius:0;border-bottom:1px solid var(--line)}
  .site-nav>a[aria-current=page],.nav-item.current .nav-btn{box-shadow:none}
  .mega{position:static;transform:none;width:auto;box-shadow:none;border:0;padding:4px 0 10px;grid-template-columns:1fr;border-radius:0}
  .mega::before{display:none}
  .header-cta{margin:20px 0 0;align-self:flex-start}
  .hero-copy,.demo-head,.section-head,.page-hero .hero-grid,.path,.tab-panel,.faq-grid,.form-wrap,.studio,.calc,.hw-grid,.article,.legal,.planner,.cta-inner{grid-template-columns:1fr}
  .faq-grid>div:first-child,.studio-preview,.toc,.planner-steps{position:static}
  .planner-steps{display:flex;gap:8px;overflow-x:auto}
  .planner-steps li{border:0;white-space:nowrap}
  .demo-grid{grid-template-columns:1fr}
  .cards,.tools,.placements,.contact-cards{grid-template-columns:1fr 1fr}
  .cards.four{grid-template-columns:1fr 1fr}
  .step-list,.step-list.five{grid-template-columns:1fr 1fr}
  .concepts,.price-cards,.price-cards.three,.pkg-notes{grid-template-columns:1fr}
  .loc-list{grid-template-columns:1fr 1fr}
  .teaser{grid-template-columns:1fr}
  .metric-list li{grid-template-columns:48px 1fr}
  .metric-list li p{grid-column:2}
}
@media (max-width:640px){
  body{font-size:16px}
  .brand img{height:38px}
  .stage img{aspect-ratio:4/3;object-position:30% 50%}
  .stage-light{background:radial-gradient(ellipse 34% 62% at 40% 50%,transparent 0 45%,rgba(10,20,32,.6) 100%)}
  .stage-light::after{clip-path:polygon(35% 0,45% 0,62% 100%,18% 100%)}
  .stage figcaption span{display:none}
  .facts{grid-template-columns:1fr;gap:18px}
  .facts>div{padding:0;border:0}
  .jump-grid{grid-template-columns:1fr}
  .jump a{border-left:0;border-top:1px solid var(--line);padding:20px 4px}
  .jump a:first-child{border-top:0}
  .venue-switch{border-radius:16px;display:flex}
  .venue-switch button{flex:1 1 40%;padding:10px 8px}
  .cards,.cards.two,.cards.four,.tools,.placements,.contact-cards,.step-list,.step-list.five,.overview,.loc-list,.choice-grid,.pstep .grid2{grid-template-columns:1fr}
  .brief div,.brief-out div{grid-template-columns:1fr;gap:2px}
  .draft-form fieldset{grid-template-columns:1fr}
  .moment{grid-template-columns:1fr}
  .moment .mini{width:130px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .device-pole{height:80px}
  .console{padding:20px}
  .tabs{flex-wrap:nowrap;overflow-x:auto}
  .tabs button{white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ================= KIOSK SCREEN ================= */
.k{position:absolute;inset:0;display:flex;flex-direction:column;font:400 3.9cqw/1.35 var(--body);color:var(--k-fg);background:var(--k-bg);--k-fg:#1d2b45;--k-sub:#5a6578;--k-bg:#f4f4f2;--k-accent:#1d2b45;--k-card:#fff}
.k.large{font-size:4.5cqw}
:where(.k) button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}
:where(.k) button:focus-visible,:where(.k) a:focus-visible{outline:.8cqw solid var(--lamp);outline-offset:.3cqw}
.k-status{display:flex;justify-content:space-between;align-items:center;padding:2.6cqw 5cqw 1.4cqw;font-size:2.8cqw;letter-spacing:.06em;color:var(--k-sub);flex:none}
.k-status b{font-weight:600}
.k-view{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 5cqw 3cqw;scrollbar-width:none;position:relative}
.k-view::-webkit-scrollbar{display:none}
.k-view.enter{animation:kin .28s ease-out}
@keyframes kin{from{opacity:0;transform:translateX(4cqw)}}
.k-view.back{animation:kback .28s ease-out}
@keyframes kback{from{opacity:0;transform:translateX(-4cqw)}}
.k-welcome{font:400 9cqw/1 var(--serif);text-align:center;margin:.5cqw 0 .6cqw;color:var(--k-fg)}
.k-venue{text-align:center;color:var(--k-sub);font-size:3.1cqw;margin-bottom:3cqw}
.k-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:2cqw}
.k-tile{position:relative;aspect-ratio:1.18;border-radius:2.2cqw;overflow:hidden;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:1.8cqw;text-align:center!important;background:var(--g);box-shadow:0 .8cqw 2cqw rgba(20,30,50,.16);transition:transform .12s}
.k-tile:active{transform:scale(.97)}
.k-tile::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.42))}
.k-tile svg{position:relative;width:6.6cqw;height:6.6cqw;margin-bottom:1.2cqw;stroke:#fff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.k-tile span{position:relative;font-weight:600;font-size:3cqw;line-height:1.15;text-shadow:0 .3cqw .8cqw rgba(0,0,0,.5)}
.k.large .k-tile span{font-size:3.5cqw}
.k-tile.wide{grid-column:1/-1;aspect-ratio:3.6;align-items:flex-start;justify-content:center;padding:3cqw 4.4cqw;text-align:left!important}
.k-tile.wide span{font:400 5.2cqw/1.1 var(--serif)}
.k-tile.wide small{position:relative;font-size:2.8cqw;opacity:.9;margin-top:.8cqw}

/* ad slider (bottom quarter) */
.k-ads{flex:none;height:44.5cqw;position:relative;overflow:hidden;background:#0A1420;touch-action:pan-y}
.k-track{display:flex;height:100%;transition:transform .5s cubic-bezier(.3,.7,.2,1)}
.ad{flex:0 0 100%;height:100%;position:relative;display:flex!important;color:#fff!important;overflow:hidden;text-align:left}
.ad-open{background:radial-gradient(ellipse 60% 80% at 15% 0%,rgba(34,199,182,.2),transparent 70%),var(--forest)!important;padding:3cqw 3cqw 6cqw!important}
.ad-frame{flex:1;border:.6cqw dashed var(--lamp);border-radius:2.4cqw;display:flex;align-items:center;gap:2.6cqw;padding:2.4cqw 3.4cqw}
.ad-ico{flex:none;width:8cqw;height:8cqw;stroke:var(--lamp);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ad-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1cqw;align-items:flex-start}
.ad-big{font:800 8cqw/.95 var(--display);letter-spacing:-.02em;color:var(--lamp)}
.ad-sub{font-size:2.8cqw;line-height:1.3;color:#D6DEE7}
.ad-cta{flex:none;display:flex;flex-direction:column;align-items:center;gap:.4cqw;background:var(--lamp);color:var(--ink);font:800 3.4cqw/1 var(--display);padding:2.2cqw 3cqw;border-radius:2cqw;text-align:center}
.ad-cta small{font:600 2.2cqw/1.1 var(--body)}
.ad-pkg{background:var(--lamp)!important;color:var(--ink)!important;flex-direction:column;padding:2.6cqw 3.4cqw 6cqw!important;gap:1.6cqw}
.ad-pkg-head{display:flex;justify-content:space-between;align-items:baseline}
.ad-pkg-head b{font:800 4.4cqw/1 var(--display)}
.ad-pkg-head span{font-size:2.5cqw;font-weight:600}
.ad-pkgs{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6cqw}
.pk{background:#fff;border-radius:2cqw;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1cqw}
.pk small{font-size:2.5cqw;font-weight:600;color:#0B3F3A}
.pk b{font:800 5.6cqw/1.05 var(--display);letter-spacing:-.02em}
.pk em{font-style:normal;font-size:2.2cqw;color:#0B3F3A}
.pk.best{background:var(--forest);color:#fff}
.pk.best small,.pk.best em{color:#CFD8E1}
.ad-pkg-foot{font-size:2.4cqw;font-weight:600;text-align:center}
.ad-sp{background:var(--g)!important;padding:3.4cqw 4cqw 6cqw!important;align-items:center;gap:3cqw}
.ad-sp::before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,transparent 30%,rgba(0,0,0,.35))}
.ad-sp::after{content:"";position:absolute;right:-10cqw;top:-12cqw;width:34cqw;height:34cqw;border-radius:50%;border:6cqw solid rgba(255,255,255,.12)}
.ad-sp>*{position:relative;z-index:1}
.ad-chip{font-size:2.3cqw;font-weight:600;padding:.5cqw 1.8cqw;border-radius:99px;background:rgba(0,0,0,.3)}
.ad-head{font:400 6cqw/1.02 var(--serif)}
.ad-btn{font-size:2.8cqw;font-weight:600;background:#fff;color:#1d2b45;border-radius:99px;padding:1.3cqw 3cqw;margin-top:.6cqw}
.ad-qr{flex:none;width:16cqw;height:16cqw;background:#fff;border-radius:1.4cqw;padding:1cqw}
.ad-qr svg{width:100%;height:100%;display:block}
.k-dots{position:absolute;left:0;right:0;bottom:1.6cqw;display:flex;justify-content:center;gap:1.6cqw;z-index:2}
.k-dots button{width:1.8cqw;height:1.8cqw;border-radius:50%;background:rgba(255,255,255,.5)!important;box-shadow:0 0 0 .3cqw rgba(0,0,0,.18)}
.k-dots button[aria-selected=true]{background:#fff!important;width:5cqw;border-radius:99px}
.k-pk-list{display:grid;gap:1.6cqw;margin-bottom:2cqw}
.k-pk-list div{display:flex;justify-content:space-between;align-items:center;background:var(--k-card);border-radius:2.2cqw;padding:2.4cqw 3cqw}
.k-pk-list div.best{background:var(--forest);color:#fff}
.k-pk-list b{display:block;font-size:3.6cqw}
.k-pk-list small{display:block;font-size:2.6cqw;color:var(--k-sub)}
.k-pk-list .best small{color:#CFD8E1}
.k-pk-list strong{font:800 5.6cqw/1 var(--display)}
.k-pk-list strong small{display:inline;font:600 2.6cqw/1 var(--body)}
.k-pk-note{font-size:2.8cqw;color:var(--k-sub);margin-bottom:2.6cqw}

.k-nav{display:flex;justify-content:space-around;background:#fff;border-top:1px solid rgba(0,0,0,.08);padding:1.4cqw 0 1.8cqw;flex:none}
.k-nav button{display:flex;flex-direction:column;align-items:center;gap:.4cqw;font-size:2.5cqw;color:var(--k-sub);padding:.8cqw 4cqw;border-radius:2cqw;text-align:center}
.k-nav button[disabled]{opacity:.35;cursor:default}
.k-nav svg{width:5cqw;height:5cqw;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.k.attract .k-nav{display:none}
.k-timer{height:.6cqw;background:rgba(0,0,0,.06);flex:none}
.k-timer i{display:block;height:100%;background:var(--k-accent);opacity:.4;width:100%;transform-origin:left;transform:scaleX(0)}

.k-attract{width:100%;height:100%;display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center!important;gap:1cqw;color:var(--k-fg)}
.k-attract .a-welcome{font:400 14cqw/1 var(--serif)}
.k-attract .a-venue{font-size:3.6cqw;color:var(--k-sub);margin-bottom:5cqw}
.k-attract .a-touch{display:flex;align-items:center;gap:2.4cqw;font-size:3.6cqw;font-weight:600;background:var(--k-accent);color:#fff;padding:2.4cqw 5cqw 2.4cqw 3cqw;border-radius:99px}
.k-attract .ring{width:5cqw;height:5cqw;border-radius:50%;border:.6cqw solid #fff;animation:ring 1.8s ease-out infinite}
@keyframes ring{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.4);opacity:0}}

.k-head{display:flex;align-items:center;gap:2.6cqw;margin:1cqw 0 3cqw}
.k-head h2{font:400 6.6cqw/1.05 var(--serif);letter-spacing:-.01em;color:var(--k-fg)}
.k-head .ico{flex:none;width:9cqw;height:9cqw;border-radius:2.4cqw;background:var(--g);display:grid;place-items:center}
.k-head .ico svg{width:5.2cqw;height:5.2cqw;stroke:#fff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.k-intro{color:var(--k-sub);font-size:3.1cqw;margin:-1.4cqw 0 2.6cqw}
.k-list{display:flex;flex-direction:column;gap:2cqw}
.k-item{display:flex;gap:2.6cqw;align-items:center;background:var(--k-card)!important;border-radius:2.4cqw;padding:2.2cqw;box-shadow:0 .5cqw 1.6cqw rgba(20,30,50,.08);width:100%}
.k-item .thumb{flex:none;width:11cqw;height:11cqw;border-radius:2cqw;background:var(--g);display:grid;place-items:center;color:#fff;font:400 5.2cqw/1 var(--serif)}
.k-item .body{flex:1;min-width:0}
.k-item b{display:block;font-size:3.5cqw;font-weight:600}
.k-item small{display:block;color:var(--k-sub);font-size:2.8cqw}
.k-item .chev{width:3.6cqw;height:3.6cqw;stroke:var(--k-sub);fill:none;stroke-width:2;flex:none}
.k-chip{display:inline-block;font-size:2.3cqw;font-weight:600;padding:.2cqw 1.6cqw;border-radius:99px;background:#FFE58A;color:#4a3b00;margin-top:.6cqw}
.k-detail-hero{border-radius:2.6cqw;aspect-ratio:2.6;background:var(--g);display:flex;align-items:flex-end;padding:3.4cqw;color:#fff;position:relative;overflow:hidden;margin:.6cqw 0 3cqw}
.k-detail-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.5))}
.k-detail-hero div{position:relative}
.k-detail-hero h2{font:400 6.4cqw/1.02 var(--serif)}
.k-detail-hero p{font-size:2.9cqw;opacity:.92;margin-top:.8cqw}
.k-blurb{font-size:3.3cqw;margin-bottom:2.6cqw}
.k-facts{display:grid;grid-template-columns:1fr 1fr;gap:1.8cqw;margin-bottom:2.6cqw}
.k-facts div{background:var(--k-card);border-radius:2cqw;padding:1.8cqw 2.4cqw}
.k-facts small{display:block;color:var(--k-sub);font-size:2.5cqw}
.k-facts b{font-size:3.2cqw;font-weight:600}
.k-offer{background:#FFF4C7;border-radius:2.2cqw;padding:2.6cqw;margin-bottom:2.6cqw;color:#0B3F3A;font-size:3.2cqw}
.k-offer b{display:block;font-size:3.4cqw}
.k-take{display:flex;gap:3cqw;align-items:center;background:var(--k-card);border-radius:2.4cqw;padding:2.6cqw}
.k-take>div:last-child{flex:1;min-width:0}
.k-qr{flex:none;width:17cqw;height:17cqw;background:#fff;border-radius:1.2cqw;padding:1cqw;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.k-qr svg{width:100%;height:100%;display:block}
.k-take b{display:block;font-size:3.3cqw;margin-bottom:1.4cqw}
.k-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:1.4cqw;background:var(--k-accent)!important;color:#fff!important;font-weight:600!important;font-size:3cqw!important;padding:2cqw 3.4cqw!important;border-radius:99px!important;white-space:nowrap;text-decoration:none}
.k-btn svg{width:3.8cqw;height:3.8cqw;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.k-btn.done{background:#2f7a4a!important}
.k-map{background:var(--k-card);border-radius:2.6cqw;padding:2.4cqw;margin-bottom:2.4cqw}
.k-map svg{width:100%;height:auto;display:block}
.k-map .room{cursor:pointer}
.k-map .room.on rect{fill:var(--k-accent)}
.k-map .room.on text{fill:#fff}
.k-route{font-size:3.1cqw;background:var(--k-card);border-radius:2.2cqw;padding:2.6cqw}
.k-route b{display:block;font-size:3.4cqw}
.k-chips{display:flex;flex-wrap:wrap;align-items:center;gap:1.6cqw;margin-bottom:2.4cqw}
.k-chips button{padding:1.4cqw 3cqw;border-radius:99px;background:var(--k-card)!important;font-size:3cqw;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);text-align:center}
.k-chips button[aria-pressed=true]{background:var(--k-accent)!important;color:#fff;box-shadow:none}
.k-label{font-size:2.8cqw;color:var(--k-sub);margin-right:1cqw}
.k-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6cqw;margin-bottom:2.6cqw}
.k-slots button{background:var(--k-card)!important;border-radius:1.8cqw;padding:1.6cqw 0;text-align:center;font-size:3.2cqw;font-weight:600;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.k-slots button small{display:block;font-weight:400;font-size:2.3cqw;color:var(--k-sub)}
.k-slots button[aria-pressed=true]{background:var(--k-accent)!important;color:#fff}
.k-slots button[aria-pressed=true] small{color:#dfe6ef}
.k-slots button[disabled]{opacity:.35;text-decoration:line-through;cursor:default}
.k-confirm{background:#E3F2E8;border-radius:2.2cqw;padding:3cqw;color:#173d26;font-size:3.2cqw}
.k-confirm b{display:block;font-size:3.6cqw}
.k-progress{background:var(--k-card);border-radius:2.6cqw;padding:3.4cqw;margin-bottom:2.6cqw}
.k-eta{display:block;font-size:4.2cqw}
.k-progress .bar{height:2cqw;border-radius:99px;background:rgba(0,0,0,.08);overflow:hidden;margin:2.4cqw 0 1.6cqw}
.k-progress .bar i{display:block;height:100%;background:var(--k-accent);border-radius:99px;transition:width .6s}
.k-steps{list-style:none;margin:0;padding:0;font-size:3cqw}
.k-steps li{display:flex;gap:2cqw;align-items:center;padding:.9cqw 0;color:var(--k-sub)}
.k-steps li i{width:3cqw;height:3cqw;border-radius:50%;border:.5cqw solid currentColor;flex:none}
.k-steps li.done{color:var(--k-fg)}
.k-steps li.done i{background:#2f7a4a;border-color:#2f7a4a}
.k-steps li.now{color:var(--k-fg);font-weight:600}
.k-steps li.now i{border-color:var(--k-accent);background:radial-gradient(var(--k-accent) 40%,transparent 45%)}
.k-toast{position:absolute;left:5cqw;right:5cqw;bottom:64cqw;background:#1d2b45;color:#fff;border-radius:2.2cqw;padding:2.6cqw 3.4cqw;font-size:3.1cqw;animation:toast 2.6s ease forwards;pointer-events:none;z-index:5}
@keyframes toast{0%{opacity:0;transform:translateY(2cqw)}10%,85%{opacity:1;transform:none}100%{opacity:0}}

/* ================= HOME HERO (light) + SLIDER ================= */
.hero2{position:relative;overflow:hidden;background:radial-gradient(ellipse 50% 60% at 85% -10%,rgba(34,199,182,.28),transparent 70%),linear-gradient(180deg,#fff 0%,var(--paper) 100%);padding:clamp(40px,6vw,80px) 0 clamp(48px,6vw,88px);border-bottom:1px solid var(--line)}
.hero2-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(32px,5vw,64px);align-items:center}
.hero2 h1{font-size:clamp(46px,6.2vw,90px);line-height:.94}
.hero2 .lede{margin-top:22px}
.hero2-points{list-style:none;padding:22px 0 0;margin:30px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hero2-points b{display:block;font:800 22px/1.1 var(--display)}
.hero2-points span{font-size:14px;color:var(--muted)}
.slider{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:4/3;background:var(--forest);box-shadow:0 30px 60px -20px rgba(15,28,43,.35)}
.slides,.slide{position:absolute;inset:0;margin:0}
.slide{opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s linear .7s}
.slide.on{opacity:1;visibility:visible;transition:opacity .7s ease}
.slider:not(.ready) .slide:first-child{opacity:1;visibility:visible}
.slide-photo img{width:100%;height:100%;object-fit:cover}
.slide-photo::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(transparent,rgba(10,20,32,.75));pointer-events:none}
.slide-photo figcaption{position:absolute;left:24px;right:190px;bottom:22px;color:#fff;z-index:1}
.slide-photo figcaption b{display:block;font:700 22px/1.15 var(--display)}
.slide-photo figcaption span{font-size:15px;color:#D6DEE7}
.slide-beam{display:none;position:absolute;inset:0;clip-path:polygon(26% 0,36% 0,50% 100%,12% 100%);background:linear-gradient(180deg,rgba(34,199,182,.4),rgba(34,199,182,.05) 75%,transparent);mix-blend-mode:screen;pointer-events:none}
.slide.on .slide-beam{display:none;animation:beam 1.4s .2s ease-out backwards}
.slide-cycle{background:var(--lamp);color:var(--ink)}
.slide-cycle-in{height:100%;display:flex;flex-direction:column;align-items:center;padding:22px 24px 64px;text-align:center}
.slide-kicker{font-weight:600;font-size:15px}
.slide-cycle h2,.slide-ad h2{font-size:clamp(24px,2.4vw,32px);margin-top:2px}
.slide-ad{background:var(--stone)}
.slide-ad-in{height:100%;display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,3vw,32px);align-items:center;padding:24px clamp(20px,3vw,36px) 64px}
.slide-ad .mini{width:clamp(110px,12vw,160px)}
.slide-pkgs{list-style:none;padding:0;margin:16px 0 8px}
.slide-pkgs li{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:10px;background:#fff;margin-bottom:6px;font-size:15px}
.slide-pkgs li.best{background:var(--forest);color:var(--paper)}
.slide-pkgs b{font:800 17px/1.2 var(--display)}
.slide-note{font-size:14px;color:var(--muted);margin-bottom:12px}
.slider-ctrl{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:10px;z-index:3;background:rgba(255,255,255,.92);border-radius:99px;padding:5px;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.slider-ctrl>button{width:34px;height:34px;border-radius:50%;border:0;background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--ink)}
.slider-ctrl>button:hover{background:var(--paper)}
.slider-ctrl svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sl-dots{display:flex;gap:6px}
.sl-dots button{width:8px;height:8px;border-radius:99px;border:0;padding:0;background:#B5BEC7;cursor:pointer;transition:width .3s}
.sl-dots button[aria-selected=true]{width:22px;background:var(--forest)}

/* ad cycle graphic */
.cycle{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:1fr auto 1fr;grid-template-areas:"a r1 b" "r4 hub r2" "d r3 c";gap:6px;width:100%;max-width:560px;margin:0 auto;color:var(--ink)}
.cy-list{display:contents;list-style:none}
.cy-node{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;transition:border-color .35s,box-shadow .35s,transform .35s}
.cy-ico{position:relative;width:44px;height:44px;border-radius:50%;background:var(--paper);display:grid;place-items:center;transition:background .35s,color .35s;flex:none}
.cy-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cy-ico i{position:absolute;top:-4px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--ink);color:#fff;font:700 11px/20px var(--body);font-style:normal;text-align:center}
.cy-node b{display:block;font:700 17px/1.15 var(--display)}
.cy-d{display:none;font-size:14px;line-height:1.4;color:var(--muted);margin-top:4px}
.cy-node.on{border-color:var(--ink);box-shadow:0 10px 24px -12px rgba(15,28,43,.45);transform:translateY(-2px)}
.cy-node.on .cy-ico{background:var(--lamp)}
.cy-arr{display:grid;place-items:center;color:var(--forest-3)}
.cy-arr svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transform:rotate(var(--r))}
.cy-hub{grid-area:hub;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:64px;height:64px;border-radius:50%;background:var(--ink);color:var(--lamp);margin:auto}
.cy-hub svg{width:22px;height:22px}
.cy-hub span{font-size:9.5px;font-weight:600;color:#fff;text-align:center;line-height:1.1}
.cycle-big .cy-d{display:block}
.cycle-big{gap:10px}
.cycle-big .cy-node{padding:18px}
.cycle-big .cy-ico{width:52px;height:52px}
.cycle-big .cy-node b{font-size:19px}
.slide-cycle .cycle{flex:1;min-height:0;margin-top:14px;max-width:440px}
.slide-cycle .cy-node{border-color:transparent;padding:12px}
.slide-cycle .cy-node.on{border-color:var(--ink)}
.slide-cycle .cy-node.on .cy-ico{background:var(--ink);color:var(--lamp)}
.slide-cycle .cy-arr{color:var(--ink)}

/* explainer */
.explain{background:#fff;border-bottom:1px solid var(--line)}
.explain-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.explain h2{max-width:14em}
.roi{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}
.roi div{background:var(--lamp-soft);border-radius:16px;padding:16px}
.roi b{display:block;font:800 30px/1 var(--display);letter-spacing:-.02em}
.roi span{display:block;font-size:14px;color:#0B3F3A;margin-top:6px;line-height:1.35}

@media (max-width:980px){
  .hero2-grid,.explain-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .slider{aspect-ratio:4/5}
  .slide-photo figcaption{right:20px;bottom:70px}
  .slide-ad-in{grid-template-columns:1fr;justify-items:center;text-align:center;padding:20px 20px 64px;align-content:center}
  .slide-ad .mini{display:none}
  .slide-pkgs{text-align:left;width:100%}
  .slider-ctrl{left:50%;right:auto;transform:translateX(-50%)}
  .hero2-points{grid-template-columns:1fr 1fr 1fr;gap:10px}
  .hero2-points b{font-size:18px}
  .roi{grid-template-columns:1fr}
  .cycle-big .cy-node{padding:14px}
  .cy-node b{font-size:15px}
  .cycle-big .cy-node b{font-size:16px}
  .cycle-big .cy-d{font-size:13px}
  .slide-cycle .cy-node{padding:10px}
}
.price-card p.price{color:var(--ink)}

/* ================= SELF-SERVE CHECKOUT ================= */
.checkout{background:var(--forest);color:var(--paper)}
.checkout .section-head p{color:var(--muted-dark)}
.checkout .section-head .text-link{color:var(--lamp);border-color:var(--lamp)}
.co-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(20px,3vw,36px);align-items:start}
.co-grid[hidden]{display:none}
.co-form{background:#fff;color:var(--ink);border-radius:24px;padding:clamp(22px,3vw,36px)}
.co-steps{list-style:none;padding:0;margin:0 0 26px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.co-steps li{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--muted);padding-top:10px;border-top:3px solid var(--line)}
.co-steps li span{width:24px;height:24px;border-radius:50%;background:var(--stone);display:grid;place-items:center;font:800 12px/1 var(--display);flex:none}
.co-steps li.on{color:var(--ink);border-color:var(--lamp-deep)}
.co-steps li.on span{background:var(--lamp)}
.co-steps li.done{color:var(--ink);border-color:var(--forest-3);cursor:pointer}
.co-steps li.done span{background:var(--forest);color:#fff}
.co-step{border:0;padding:0;margin:0;display:grid;gap:16px}
.co-step[hidden]{display:none}
.co-step legend{font:800 26px/1.15 var(--display);letter-spacing:-.01em;margin-bottom:16px;padding:0}
.co-step legend:focus{outline:none}
.co-step .grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.co-step .grid2[hidden]{display:none}
.co-bill{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.co-opt{position:relative;display:block;cursor:pointer}
.co-opt input{position:absolute;opacity:0}
.co-opt>span{display:block;border:2px solid var(--line);border-radius:14px;padding:14px 16px 14px 44px;position:relative;height:100%}
.co-opt>span::before{content:"";position:absolute;left:16px;top:17px;width:16px;height:16px;border-radius:50%;border:2px solid var(--line);background:#fff}
.co-opt b{display:block;font-size:17px}
.co-opt small{color:var(--muted);font-size:14px}
.co-opt input:checked+span{border-color:var(--forest-3);background:#E8F6F4}
.co-opt input:checked+span::before{border-color:var(--forest-3);background:radial-gradient(var(--forest-3) 45%,#fff 50%)}
.co-opt input:focus-visible+span{outline:3px solid var(--lamp-deep);outline-offset:2px}
.drop{position:relative;border:2px dashed var(--line);border-radius:16px;padding:18px;background:var(--paper);transition:border-color .15s,background .15s}
.drop[hidden]{display:none}
.drop.over,.drop:focus-within{border-color:var(--forest-3);background:#E8F6F4}
.drop.has{border-style:solid;border-color:var(--forest-3)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.drop label{display:block;pointer-events:none}
.drop label b{display:block}
.drop label span{font-size:14px;color:var(--muted)}
.drop-file{position:relative;z-index:1;margin-top:8px;font-size:14px;font-weight:600;color:var(--forest-3)}
.drop-file.bad{color:#b3261e}
.drop-file .text-link{background:none;border:0;border-bottom:2px solid var(--lamp);font:inherit;cursor:pointer;margin-left:8px;padding:0}
.co-review{margin:0 0 6px;background:var(--paper);border-radius:14px;padding:4px 18px}
.co-review div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.co-review div:last-child{border:0}
.co-review dt{font-weight:600}
.co-review dd{margin:0;color:var(--muted);overflow-wrap:anywhere}
.co-total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 4px;border-bottom:2px solid var(--ink);margin-bottom:6px}
.co-total b{font:800 34px/1 var(--display)}
.co-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.co-nav [hidden]{display:none}
.co-form .form-error{margin:14px 0 0}
.co-side{position:sticky;top:calc(var(--head-h) + 20px);display:grid;gap:16px}
.co-preview{background:var(--forest-2);border-radius:22px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:10px}
.co-preview .fine{color:var(--muted-dark)}
.co-kiosk{width:min(230px,70%)}
.co-ad{margin:auto -5cqw 0;height:25%;background:var(--forest);color:#fff;display:flex;align-items:center;gap:3.5cqw;padding:3cqw 4cqw;overflow:hidden}
.co-ad.art{padding:0;background:#000}
.co-ad.art img{width:100%;height:100%;object-fit:cover}
.co-logo{flex:none;width:15cqw;height:15cqw;border-radius:2.5cqw;object-fit:contain;background:#fff;padding:1.2cqw}
.co-logo-ph{display:grid;place-items:center;background:var(--lamp);color:var(--ink);font:800 8cqw/1 var(--display);padding:0}
.co-ad-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:.6cqw}
.co-ad-txt small{font-size:3.2cqw;font-weight:600;color:var(--lamp);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.co-ad-txt b{font:700 5cqw/1.08 var(--display);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.co-ad-txt em{font-style:normal;font-size:3cqw;color:#CFD8E1}
.co-ad-txt i{font-style:normal;align-self:flex-start;font-size:3cqw;font-weight:600;background:#fff;color:var(--ink);border-radius:99px;padding:.8cqw 2.6cqw;margin-top:.4cqw}
.co-qr{flex:none;width:12cqw;height:12cqw;border-radius:1.4cqw;background:#fff repeating-conic-gradient(#111 0 25%,#fff 0 50%) 0 0/3cqw 3cqw;border:1cqw solid #fff}
.co-sum{margin:0;background:#fff;color:var(--ink);border-radius:18px;padding:6px 20px}
.co-sum div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.co-sum div:last-child{border:0}
.co-sum dt{color:var(--muted)}
.co-sum dd{margin:0;font-weight:600;text-align:right}
.co-incl{margin:0;color:var(--paper)}
.co-done{background:#fff;color:var(--ink);border-radius:24px;padding:clamp(28px,4vw,48px);max-width:760px}
.co-done[hidden]{display:none}
.co-done h3{font-size:34px}
.co-done p{margin-top:12px;font-size:18px;color:var(--muted)}
.co-done:focus{outline:none}
.co-order{margin-top:16px;display:inline-block;background:var(--lamp-soft);border-radius:99px;padding:8px 16px;font-weight:600}

/* ================= US MARKETS MAP ================= */
.markets{background:#fff;border-bottom:1px solid var(--line)}
.usmap{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:clamp(12px,2vw,28px)}
.usmap svg{width:100%;height:auto;display:block;overflow:visible}
.usmap .st{fill:#DCE3E9;stroke:#fff;stroke-width:1;transition:fill .2s;cursor:pointer}
.usmap .st:hover,.usmap .st.on{fill:#C9D3DC}
.usmap .pin{fill:var(--lamp-deep);stroke:var(--ink);stroke-width:1.6;cursor:pointer;transition:r .15s;outline:none}
.usmap .pin:hover,.usmap .pin.on,.usmap .pin:focus-visible{r:8;fill:var(--lamp)}
.usmap .pin:focus-visible{stroke-width:3}
.map-tip{position:absolute;z-index:5;background:var(--ink);color:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 10px 24px rgba(0,0,0,.25);white-space:nowrap}
.map-tip[hidden]{display:none}
.map-tip b{display:block;font:700 16px/1.2 var(--display)}
.map-tip a{display:block;color:var(--lamp);font-size:14px;font-weight:600;margin-top:3px}
.usmap .pin.multi{fill:var(--lamp)}
.usmap .pin.multi:hover,.usmap .pin.multi.on{r:10}
.map-tip::after{content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;background:var(--ink);transform:translateX(-50%) rotate(45deg)}

@media (max-width:980px){
  .co-grid{grid-template-columns:1fr}
  .co-side{position:static;order:-1;grid-template-columns:1fr 1fr}
  .co-incl{display:none}
}
@media (max-width:640px){
  .co-side{grid-template-columns:1fr}
  .co-preview{padding:16px}
  .co-kiosk{width:150px}
  .co-sum{display:none}
  .co-bill,.co-step .grid2{grid-template-columns:1fr}
  .co-steps li{font-size:0;gap:0}
  .co-steps li span{font-size:12px}
  .co-review div{grid-template-columns:1fr;gap:2px}
  .usmap .pin{stroke-width:1.2}
}

.field[hidden]{display:none}
.co-ad-big{width:100%;aspect-ratio:2.25;border-radius:14px;overflow:hidden;container-type:inline-size;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.co-ad-big .co-ad{margin:0;height:100%;padding:5cqw 6cqw;gap:5cqw}
.co-ad-big .co-ad.art{padding:0}
.co-ad-big .co-logo{width:18cqw;height:18cqw}
.co-ad-big .co-ad-txt small{font-size:3.6cqw}
.co-ad-big .co-ad-txt b{font-size:5.4cqw;-webkit-line-clamp:3}
.co-ad-big .co-ad-txt em{font-size:3.6cqw}
.co-ad-big .co-ad-txt i{font-size:3.4cqw;padding:1cqw 3cqw}
.co-ad-big .co-qr{width:15cqw;height:15cqw;background-size:3.75cqw 3.75cqw}
@media (max-width:640px){.co-kiosk{display:none}}
.draft-review.sent pre,.draft-review.sent .btn-row,.draft-review.sent .copied{display:none}
.draft-review.sent h3::before{content:"";display:inline-block;width:14px;height:8px;border-left:3px solid var(--forest-3);border-bottom:3px solid var(--forest-3);transform:rotate(-45deg) translateY(-6px);margin-right:12px}
.footer-addr{margin-top:10px;line-height:1.5}

/* ================= CUSTOMER JOURNEY (animated) ================= */
.journey-sec{background:#fff;border-bottom:1px solid var(--line)}
.journey{display:grid;grid-template-columns:1.55fr 1fr;gap:clamp(16px,2.5vw,28px);align-items:stretch}
.j-stage{position:relative;min-height:330px;background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden}
.js{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1.1fr;gap:20px;align-items:center;padding:28px 28px 34px;opacity:0;visibility:hidden;transition:opacity .45s,visibility 0s linear .45s}
.js.on{opacity:1;visibility:visible;transition:opacity .45s}
.js-step{font-size:13px;font-weight:600;color:var(--forest-3)}
.js h3{font-size:clamp(24px,2.4vw,32px);margin:6px 0 10px}
.js p{color:var(--muted)}
.j-prog{position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--stone)}
.j-prog i{display:block;height:100%;width:0;background:var(--lamp-deep)}
.journey.run .j-prog i{animation:jprog var(--jdur,3.2s) linear forwards}
@keyframes jprog{from{width:0}to{width:100%}}
.j-rail{list-style:none;margin:0;padding:0;display:grid;gap:6px;align-content:center}
.jr button{width:100%;display:flex;align-items:center;gap:12px;background:none;border:1.5px solid transparent;border-radius:12px;padding:9px 12px;font:600 15px/1.25 var(--body);color:var(--muted);cursor:pointer;text-align:left;transition:background .25s,color .25s,border-color .25s}
.jr button:hover{background:var(--paper)}
.jr-n{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--stone);color:var(--ink);font:800 13px/1 var(--display);transition:background .25s}
.jr.done .jr-n{background:var(--forest);color:#fff}
.jr.on button{background:var(--lamp-soft);border-color:var(--lamp-deep);color:var(--ink)}
.jr.on .jr-n{background:var(--lamp)}

/* scenes */
.sc{position:relative;height:230px;border-radius:16px;background:#fff;border:1px solid var(--line);overflow:hidden}
.sc svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sc-map{background:linear-gradient(135deg,#EDF1F4,#DFE6EC)}
.sc-map>i{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--lamp-deep);border:2px solid var(--ink);opacity:.55}
.sc-pin{position:absolute;left:50%;top:58%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center}
.sc-pin svg{width:46px;height:46px;color:var(--ink);fill:var(--lamp)}
.sc-pin em{font-style:normal;font-weight:700;font-size:14px;background:var(--ink);color:#fff;border-radius:99px;padding:4px 12px;margin-top:4px}
.js.on .sc-pin{animation:drop .7s cubic-bezier(.3,1.6,.5,1) .15s backwards}
@keyframes drop{from{transform:translate(-50%,-260%);opacity:0}}
.sc-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--paper)}
.sc-file{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:10px 16px;font-weight:600;box-shadow:0 8px 18px -10px rgba(0,0,0,.3)}
.sc-file svg{width:22px;height:22px;color:var(--forest-3)}
.sc-file em{font-style:normal}
.sc-strip{width:70%;height:46px;border:2px dashed var(--lamp-deep);border-radius:10px;display:grid;place-items:center;background:var(--forest);color:var(--lamp);font:800 15px/1 var(--display)}
.sc-bar{width:70%;height:8px;border-radius:99px;background:var(--stone);overflow:hidden}
.sc-bar i{display:block;height:100%;width:100%;background:var(--forest-3);transform-origin:left}
.js.on .sc-file{animation:slidein .7s ease-out backwards}
.js.on .sc-bar i{animation:fill 1.4s .4s ease-out backwards}
.js.on .sc-strip b{animation:pop .4s 1.7s ease-out backwards}
@keyframes slidein{from{transform:translateY(-30px);opacity:0}}
@keyframes fill{from{transform:scaleX(0)}}
@keyframes pop{from{transform:scale(.6);opacity:0}}
.sc-live{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--paper)}
.sc-days{display:flex;gap:10px}
.sc-days span{width:70px;border-radius:12px;background:#fff;border:1.5px solid var(--line);text-align:center;padding:8px 0}
.sc-days small{display:block;font-size:12px;color:var(--muted)}
.sc-days b{font:800 24px/1.1 var(--display)}
.sc-days .d2{border-color:var(--forest-3);background:#E3F2E8}
.sc-badge{font:800 18px/1 var(--display);background:#2f7a4a;color:#fff;border-radius:99px;padding:8px 18px}
.js.on .sc-days span{animation:pop .35s ease-out backwards}
.js.on .sc-days .d1{animation-delay:.3s}.js.on .sc-days .d2{animation-delay:.6s}
.js.on .sc-badge{animation:pop .45s 1s cubic-bezier(.3,1.6,.5,1) backwards}
.sc-eyes{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--forest);color:#fff}
.sc-ppl{display:flex;gap:10px}
.sc-ppl i{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center}
.sc-ppl svg{width:20px;height:20px;color:var(--lamp)}
.js.on .sc-ppl i{animation:pop .4s var(--d) ease-out backwards}
.sc-eyes p{font-size:15px;color:#CFD8E1}
.sc-eyes b{font:800 30px/1 var(--display);color:var(--lamp);margin-right:6px;font-variant-numeric:tabular-nums}
.sc-bars{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:22px}
.sc-bars div{display:grid;grid-template-columns:72px 1fr 52px;align-items:center;gap:10px;font-size:14px}
.sc-bars span{color:var(--muted);font-weight:600}
.sc-bars i{height:14px;border-radius:99px;background:var(--lamp-deep);width:var(--w)}
.sc-bars b{font:800 16px/1 var(--display);text-align:right}
.js.on .sc-bars i{animation:grow 1.1s ease-out backwards}
.js.on .sc-bars div:nth-child(2) i{animation-delay:.2s}.js.on .sc-bars div:nth-child(3) i{animation-delay:.4s}
@keyframes grow{from{width:0}}
.sc-dash{display:grid;place-items:center;background:var(--paper)}
.sc-win{width:86%;background:#fff;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 12px 26px -14px rgba(0,0,0,.35)}
.sc-top{display:flex;gap:5px;padding:8px 10px;border-bottom:1px solid var(--line)}
.sc-top i{width:8px;height:8px;border-radius:50%;background:var(--line)}
.sc-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px}
.sc-kpis b{font:800 18px/1 var(--display);background:var(--paper);border-radius:8px;padding:8px}
.sc-kpis small{display:block;font:500 11px/1.4 var(--body);color:var(--muted)}
.sc-win svg{display:block;width:100%;height:60px;padding:0 10px 10px;stroke:var(--forest-3);stroke-width:2.5;stroke-dasharray:300;stroke-dashoffset:0}
.js.on .sc-win svg path{animation:draw 1.6s .3s ease-out backwards}
@keyframes draw{from{stroke-dashoffset:300}}
.sc-win svg path{stroke-dasharray:300}
.sc-shop{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--lamp)}
.sc-door{order:2;width:84px;height:110px;border-radius:12px 12px 0 0;background:var(--ink);color:var(--lamp);display:grid;place-items:center;margin-left:12px}
.sc-door svg{width:36px;height:36px}
.sc-shop>i{width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center}
.sc-shop>i svg{width:24px;height:24px}
.sc-shop em{position:absolute;left:0;right:0;bottom:16px;text-align:center;font:800 18px/1 var(--display);font-style:normal}
.js.on .sc-shop>i{animation:walk 1.2s var(--d) ease-out backwards}
@keyframes walk{from{transform:translateX(-140px);opacity:0}}
.js.on .sc-shop em{animation:pop .4s 1.3s ease-out backwards}

/* ================= SPACING CLEANUP ================= */
.section{padding:clamp(48px,6.5vw,88px) 0}
.section-head{margin-bottom:clamp(22px,3vw,36px)}
.demo{padding:clamp(48px,6.5vw,88px) 0}
.demo-head{margin-bottom:22px}
.demo-head h2{font-size:clamp(40px,5.6vw,68px)}
.venue-switch{margin-bottom:26px}
.feed{min-height:0;max-height:220px}
.hero2{padding:clamp(32px,5vw,64px) 0 clamp(36px,5vw,64px)}
.page-hero{padding:clamp(40px,6vw,80px) 0 clamp(36px,5vw,64px)}
.cta-band{padding:clamp(48px,6vw,80px) 0}
.site-footer{padding:52px 0 24px}
.footer-base{margin-top:36px}
.roi{margin-top:22px}

@media (max-width:980px){
  .journey{grid-template-columns:1fr}
  .j-rail{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;order:-1}
  .jr button{padding:6px}
  .jr .jr-t{display:none}
  .jr.on .jr-t{display:inline}
  .jr.on button{padding:6px 12px 6px 6px;white-space:nowrap}
}
@media (max-width:640px){
  .j-stage{min-height:410px}
  .js{grid-template-columns:1fr;align-content:start;padding:20px 18px 28px;gap:14px}
  .sc{height:200px}
  .roi{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .roi div{padding:12px}
  .roi b{font-size:22px}
  .roi span{font-size:12px}
}
@media (prefers-reduced-motion:reduce){.journey .js{transition:none}}
/* compact checkout side column */
.co-preview{padding:18px;gap:12px}
.co-kiosk{width:min(170px,55%)}
.co-incl{display:none}
.co-side{gap:12px}
.co-sum div{padding:9px 0}
.console{align-self:start}
/* ---- responsive fixes (tablet / phone) ---- */
/* journey: stack steps in one grid cell so the box is exactly as tall as the tallest step */
.j-stage{display:grid;min-height:0}
.js{position:relative;inset:auto;grid-area:1/1}
@media (max-width:640px){.j-stage{min-height:0}}
@media (max-width:980px){
  .slider{aspect-ratio:16/10;max-width:720px;width:100%;justify-self:center}
  .device{max-width:330px}
  .co-ad-big{max-width:440px;margin:0 auto}
  .co-preview{padding:14px}
}
@media (max-width:640px){
  .slider{aspect-ratio:1/1}
  .slide-cycle-in{padding:16px 14px 58px}
  .slide-cycle h2{font-size:22px}
  .slide-cycle .cy-node{padding:8px}
  .slide-cycle .cy-ico{width:36px;height:36px}
  .slide-cycle .cy-node b{font-size:13px}
  .slide-cycle .cy-hub{width:50px;height:50px}
  .slide-ad-in{padding:16px 16px 58px}
  .slide-pkgs li{padding:7px 10px;font-size:14px}
  .slide-ad h2{font-size:22px}
  .slide-photo figcaption{bottom:64px}
  .device{max-width:300px}
}
@media (max-width:420px){.slider{aspect-ratio:4/5}}
.hw-alt{background:var(--stone);align-items:stretch}
.hw-alt .mini{width:150px;margin:28px auto 0}
/* QA contrast fixes */
.calc-out .fine{color:var(--muted-dark)}
.path-panel .text-link{color:var(--lamp);border-color:var(--lamp)}
.prose a.btn{color:var(--ink)}
.prose a.btn-dark{color:var(--paper)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* Kiosk: concierge handoff button and phone concierge page */
.k-cta { margin-top: 14px; width: 100%; justify-content: center; }
.cc-app { max-width: 560px; margin: 0 auto; padding: 0 16px; font-size: 16px; }
.cc-kicker { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #0E6B63; font-weight: 700; margin: 0 0 6px; }
.cc-h { font-size: 26px; line-height: 1.15; margin: 0 0 8px; color: #0F1C2B; }
.cc-lede { color: #536170; margin: 0 0 18px; }
.cc-list { display: grid; gap: 12px; }
.cc-card { background: #fff; border: 1px solid #D5DCE2; border-radius: 14px; padding: 16px; }
.cc-card h2 { font-size: 17px; margin: 0 0 4px; color: #0F1C2B; }
.cc-card p { margin: 0 0 8px; color: #2a3744; }
.cc-card small { color: #536170; }
.cc-sponsor { border-style: dashed; background: #F7FBFA; }
.cc-tip { margin: 22px 0 8px; padding: 16px; border-radius: 14px; background: #0F1C2B; color: #E6EEF4; }
.cc-tip h2 { font-size: 17px; margin: 0 0 8px; color: #fff; }
.cc-tip p { margin: 4px 0; }

/* Demo: team library gate (GitHub Pages preview) */
.ops-app { max-width: 760px; margin: 0 auto; padding: 0 16px; }
.ops-demo-tag { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .06em; color: #7A3A00; background: #FFF1D6; padding: 4px 10px; border-radius: 999px; margin: 0 0 10px; }
.ops-h { font-size: 28px; margin: 0 0 8px; color: #0F1C2B; }
.ops-lede { color: #536170; margin: 0 0 16px; }
.ops-form { display: grid; gap: 12px; max-width: 420px; padding: 18px; border: 1px solid #D5DCE2; border-radius: 12px; background: #fff; }
.ops-form label { display: grid; gap: 6px; font-weight: 600; }
.ops-form input { padding: 10px; border: 1px solid #B9C3CC; border-radius: 6px; font: inherit; }
.ops-note { color: #B42318; margin: 0; min-height: 1em; }
.ops-small { font-size: 13px; color: #536170; margin-top: 14px; }
.ops-table-wrap { overflow-x: auto; }
.ops-table { width: 100%; border-collapse: collapse; margin: 8px 0; }
.ops-table th, .ops-table td { border-bottom: 1px solid #D5DCE2; padding: 10px 8px; text-align: left; font-size: 15px; }
.ops-view { background: none; border: 1px solid #B9C3CC; border-radius: 6px; padding: 6px 10px; cursor: pointer; font: inherit; }

/* Host dashboard and kiosk test: motion. Turned off for people who ask for reduced motion. */
@keyframes cp-rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes cp-pulse { 0% { box-shadow: 0 0 0 0 rgba(34,199,182,.6); } 70% { box-shadow: 0 0 0 10px rgba(34,199,182,0); } 100% { box-shadow: 0 0 0 0 rgba(34,199,182,0); } }
@keyframes cp-ring { 0% { transform: scale(.6); opacity: .7; } 100% { transform: scale(1.8); opacity: 0; } }
.ops-table tbody tr { animation: cp-rise .5s ease both; }
.ops-table tbody tr:nth-child(2) { animation-delay: .08s; }
.ops-table tbody tr:nth-child(3) { animation-delay: .16s; }
.cp-dot { display: inline-block; width: .6em; height: .6em; border-radius: 50%; margin-right: .4em; vertical-align: middle; background: #8a96a3; }
.cp-dot.on { background: #22C7B6; animation: cp-pulse 1.8s infinite; }
.cp-dot.off { background: #FF6B4A; }
.ktest { text-align: center; padding: 2rem 0; }
.ktest-stage { position: relative; width: 220px; height: 220px; margin: 0 auto 1.5rem; display: grid; place-items: center; }
.ktest-stage i { position: absolute; inset: 0; border-radius: 50%; border: 3px solid #22C7B6; animation: cp-ring 2.4s ease-out infinite; }
.ktest-stage i:nth-child(2) { animation-delay: .8s; }
.ktest-stage i:nth-child(3) { animation-delay: 1.6s; }
.ktest-stage b { font-family: "Bricolage Grotesque", sans-serif; font-size: 2.2rem; color: #0F1C2B; position: relative; }
.ktest-clock { font-size: 2.6rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.ktest-grid { display: grid; gap: .75rem; max-width: 520px; margin: 1.5rem auto; text-align: left; }
.ktest-grid div { background: #f3f6f8; border-radius: 10px; padding: .75rem 1rem; }
.ktest-form { display: grid; gap: .6rem; max-width: 520px; margin: 0 auto; text-align: left; }
.ktest-form input { width: 100%; padding: .6rem; border: 1px solid #c9d3dc; border-radius: 8px; font: inherit; }
@media (prefers-reduced-motion: reduce) {
  .ops-table tbody tr, .cp-dot.on, .ktest-stage i { animation: none; }
}

/* Kiosk screens: bright, large and touch-friendly. Used by the player (pictures, videos, touch screens, setup). */
.kshow-wrap { position: fixed; inset: 0; background: #F4F8FA; color: #0F1C2B; z-index: 10000; display: grid; place-items: center; font-family: "Instrument Sans", system-ui, sans-serif; }
.kshow-stage { position: absolute; inset: 0; }
.kshow-stage img, .kshow-stage video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #F4F8FA; opacity: 0; transition: opacity .8s ease; }
.kshow-stage .on { opacity: 1; }
.kshow-tap { position: absolute; top: 0; bottom: 0; width: 30%; z-index: 2; background: none; border: 0; cursor: pointer; }
.kshow-tap.prev { left: 0; } .kshow-tap.next { right: 0; }
.kshow-dots { position: absolute; bottom: 1.4rem; left: 0; right: 0; display: flex; gap: .6rem; justify-content: center; z-index: 3; pointer-events: none; }
.kshow-dots span { width: 12px; height: 12px; border-radius: 50%; background: rgba(15,28,43,.25); }
.kshow-dots span.on { background: #22C7B6; width: 30px; border-radius: 999px; }
.kshow-bar { position: absolute; top: 1rem; right: 1rem; z-index: 4; display: flex; gap: .6rem; }
.kshow-bar button { background: #fff; color: #0F1C2B; border: 0; border-radius: 999px; padding: .7rem 1.2rem; font: inherit; font-weight: 600; font-size: 1rem; cursor: pointer; box-shadow: 0 6px 18px rgba(15,28,43,.15); }
.kshow-start { text-align: center; max-width: 620px; padding: 2rem; }
.kshow-start h1 { font-family: "Bricolage Grotesque", sans-serif; font-size: clamp(2.2rem, 6vw, 3.6rem); margin: 0 0 .6rem; color: #0F1C2B; }
.kshow-start p { color: #3d4f5f; font-size: 1.25rem; line-height: 1.5; }
.kshow-start label { display: inline-block; margin-top: 1.5rem; background: #22C7B6; color: #0F1C2B; font-weight: 700; padding: 1.1rem 2.2rem; border-radius: 999px; cursor: pointer; font-size: 1.2rem; box-shadow: 0 10px 24px rgba(34,199,182,.35); }
.kshow-start input[type=file] { display: none; }
.kshow-form { display: grid; gap: .8rem; margin-top: 1.4rem; }
.kshow-form input { padding: 1rem 1.1rem; border-radius: 14px; border: 2px solid #cfdde5; background: #fff; color: #0F1C2B; font: inherit; font-size: 1.2rem; }
.kshow-form input:focus { outline: none; border-color: #22C7B6; }
.kshow-form button { font-size: 1.2rem; padding: 1rem; border: 0; border-radius: 14px; background: #22C7B6; color: #0F1C2B; font-weight: 700; cursor: pointer; box-shadow: 0 10px 24px rgba(34,199,182,.35); }
.kshow-start a.btn { display: inline-block; margin-top: 1.2rem; background: #22C7B6; color: #0F1C2B; padding: 1rem 1.8rem; border-radius: 999px; font-weight: 700; text-decoration: none; }

/* Touch screens (interactive slides from the content folder). */
.kshow-stage > .kshow-interactive { position: absolute; inset: 0; overflow: auto; background: #F4F8FA; color: #0F1C2B; padding: 5.5rem 1.5rem 5rem; box-sizing: border-box; opacity: 0; pointer-events: none; transition: opacity .8s ease; font-family: "Instrument Sans", system-ui, sans-serif; }
.kshow-stage > .kshow-interactive.on { opacity: 1; pointer-events: auto; }
.ki-inner { max-width: 960px; margin: 0 auto; }
.ki-inner h2 { font-family: "Bricolage Grotesque", sans-serif; font-size: clamp(2.2rem, 5vw, 3.4rem); margin: 0 0 .4rem; color: #0F1C2B; }
.ki-inner > p { color: #3d4f5f; font-size: 1.3rem; margin: 0 0 1.6rem; }
.ki-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.ki-card { background: #fff; color: #0F1C2B; border: 0; border-top: 6px solid #22C7B6; border-radius: 22px; padding: 1.6rem; text-align: left; font: inherit; font-size: 1.35rem; min-height: 10rem; cursor: pointer; box-shadow: 0 12px 30px rgba(15,28,43,.12); transition: transform .15s ease, box-shadow .15s ease; }
.ki-card:nth-child(even) { border-top-color: #FF6B4A; }
.ki-card:active { transform: scale(.98); }
.ki-card strong { display: block; font-size: 1.4rem; }
.ki-card span { display: block; color: #4a5a6a; font-size: 1.05rem; margin-top: .5rem; }
.ki-detail { margin-top: 1.6rem; background: #fff; border-radius: 22px; padding: 1.8rem; font-size: 1.3rem; line-height: 1.5; box-shadow: 0 12px 30px rgba(15,28,43,.12); }
.ki-detail h3 { margin: 0 0 .5rem; color: #0F1C2B; font-size: 1.7rem; }
.ki-back { margin-top: 1.2rem; background: #22C7B6; border: 0; border-radius: 999px; padding: 1rem 2rem; font: inherit; font-weight: 700; font-size: 1.15rem; color: #0F1C2B; cursor: pointer; box-shadow: 0 10px 22px rgba(34,199,182,.35); }
@media (max-width: 560px) { .ki-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .kshow-stage img, .kshow-stage video, .kshow-stage > .kshow-interactive { transition: none; } }

/* Kiosk app: the demo screen full-screen on the device. The side panel and venue switch are hidden. */
.kapp { position: fixed; inset: 0; background: #E9EEF2; z-index: 10000; }
.kapp .demo-grid.kapp-grid { display: block; position: absolute; inset: 0; margin: 0; max-width: none; }
.kapp .device { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: none; }
.kapp .device-pole, .kapp .device-base { display: none; }
.kapp .device-head { position: absolute; inset: 0; padding: 0; background: none; box-shadow: none; }
.kapp .screen { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; border-radius: 0; }
.kapp .venue-switch[hidden], .kapp .console[hidden] { display: none; }

/* Kiosk app: full-screen control and staff password prompt. */
.kapp-fs { position: fixed; top: .5rem; right: .5rem; z-index: 20000; background: rgba(255,255,255,.85); border: 0; border-radius: 999px; padding: .45rem .9rem; font: inherit; font-size: .85rem; font-weight: 600; color: #0F1C2B; box-shadow: 0 4px 12px rgba(15,28,43,.18); cursor: pointer; }
.kapp-modal { position: fixed; inset: 0; background: rgba(15,28,43,.6); z-index: 20001; display: grid; place-items: center; }
.kapp-modal[hidden] { display: none; }
.kapp-box { background: #fff; color: #0F1C2B; border-radius: 20px; padding: 1.8rem; width: min(420px, 90vw); box-sizing: border-box; font-family: "Instrument Sans", system-ui, sans-serif; }
.kapp-box h2 { margin: 0 0 .4rem; font-size: 1.5rem; }
.kapp-box p { margin: 0 0 1rem; color: #4a5a6a; }
.kapp-box input { width: 100%; box-sizing: border-box; padding: .8rem; font: inherit; font-size: 1.1rem; border: 2px solid #cfdde5; border-radius: 12px; }
.kapp-msg { color: #c0392b !important; min-height: 1.2rem; margin: .5rem 0 0 !important; font-size: .95rem; }
.kapp-row { display: flex; gap: .6rem; justify-content: flex-end; margin-top: .8rem; }
.kapp-btn, .kapp-btn-ghost { border: 0; border-radius: 999px; padding: .7rem 1.2rem; font: inherit; font-weight: 700; cursor: pointer; }
.kapp-btn { background: #22C7B6; color: #0F1C2B; }
.kapp-btn-ghost { background: #eef3f6; color: #0F1C2B; }

/* Kiosk accessibility: high contrast, the options panel, and visible keyboard focus. */
.k-nav { position: relative; }
.k-access { position: absolute; bottom: 100%; right: 0; display: grid; gap: .5rem; padding: .8rem; background: #fff; border-radius: 16px; box-shadow: 0 12px 30px rgba(15,28,43,.25); margin-bottom: .6rem; z-index: 5; }
.k-access button { min-height: 56px; padding: .6rem 1rem; font: inherit; font-size: 1.05rem; font-weight: 600; border: 2px solid #0F1C2B; border-radius: 12px; background: #fff; color: #0F1C2B; cursor: pointer; text-align: left; }
.k-access button[aria-pressed="true"] { background: #0F1C2B; color: #fff; }
.k-hc, .k-hc .k-view, .k-hc .k-nav { background: #fff !important; color: #000 !important; }
.k-hc * { border-color: #000 !important; text-shadow: none !important; }
.k-hc .k-tile, .k-hc .k-item, .k-hc .k-card, .k-hc .k-tile.wide { background: #fff !important; background-image: none !important; color: #000 !important; border: 3px solid #000 !important; box-shadow: none !important; }
.k-hc .k-tile::before, .k-hc .k-tile::after, .k-hc .k-tile.wide::before, .k-hc .k-tile.wide::after { display: none !important; }
.k-hc .k-tile *, .k-hc .k-tile svg, .k-hc .k-tile span, .k-hc .k-tile small { color: #000 !important; stroke: #000 !important; fill: none !important; text-shadow: none !important; }
button:focus-visible, [tabindex]:focus-visible { outline: 3px solid #0F1C2B !important; outline-offset: 2px; }
.kapp-a11y { position: fixed; top: .5rem; left: .5rem; z-index: 20000; background: #0F1C2B; color: #fff; border: 0; border-radius: 999px; padding: .45rem .9rem; font: inherit; font-size: .85rem; font-weight: 600; box-shadow: 0 4px 12px rgba(15,28,43,.25); cursor: pointer; }

/* ===== Premium kiosk look (kiosk-app only). Palette and type match the website. ===== */
/* Background photo: replace kiosk-lobby.jpg with a North Hollywood photo by setting --venue-bg. */
.kapp{--serif:"Fraunces",Georgia,serif,"Helvetica Neue",Arial,sans-serif;--venue-bg:url("kiosk-lobby.jpg");background:#F4F8FA;color:#0F1C2B}
.kapp::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(244,248,250,.94) 0%,rgba(244,248,250,.86) 45%,rgba(244,248,250,.97) 100%),var(--venue-bg) center/cover no-repeat;z-index:0;pointer-events:none}
.kapp .screen{background:transparent;z-index:1}
.kapp .k{--k-bg:transparent;--k-card:#ffffff;--k-fg:#0F1C2B;--k-sub:#5b6b7b;--k-accent:#0F1C2B;font-family:"Inter",system-ui,sans-serif;background:transparent}
.kapp .k-status{padding-top:4.6cqw;color:#0F1C2B;font-family:"Fraunces",Georgia,serif;font-weight:700;letter-spacing:.14em}
.kapp .k-welcome{font-family:"Fraunces",Georgia,serif;font-weight:800;letter-spacing:-.035em;font-size:12cqw;line-height:.95;color:#0F1C2B}
.kapp .k-venue{color:#5b6b7b;font-size:3.4cqw;letter-spacing:.02em}
.kapp .k-tiles{gap:2.4cqw}
.kapp .k-tile{background:#fff!important;color:#0F1C2B;border:1px solid rgba(15,28,43,.07);border-radius:2.6cqw;box-shadow:0 1px 2px rgba(15,28,43,.05),0 12px 30px rgba(15,28,43,.09);transition:transform .15s,box-shadow .15s}
.kapp .k-tile::before{display:none}
.kapp .k-tile:active{transform:scale(.98)}
.kapp .k-tile svg{stroke:#22C7B6;width:7.4cqw;height:7.4cqw;margin-bottom:1.6cqw}
.kapp .k-tile span{color:#0F1C2B;text-shadow:none;font:700 3.3cqw/1.15 "Fraunces",Georgia,serif;letter-spacing:-.01em}
.kapp .k-tile.wide{background:radial-gradient(ellipse 70% 120% at 100% 0%,rgba(34,199,182,.35),transparent 60%),#0F1C2B!important;color:#fff;border-color:transparent}
.kapp .k-tile.wide span{color:#fff;font:800 6cqw/1.05 "Fraunces",Georgia,serif}
.kapp .k-tile.wide small{color:#b8c7d4;font-size:3cqw}
.kapp .k-ads{margin:2cqw 4cqw 2cqw;height:auto;min-height:40cqw;border-radius:4cqw;overflow:hidden;background:#0F1C2B;box-shadow:0 24px 60px rgba(15,28,43,.25)}
.kapp .ad-open{background:radial-gradient(ellipse 60% 90% at 0% 0%,rgba(34,199,182,.28),transparent 70%),#0F1C2B!important;padding:4.4cqw 4.4cqw 9cqw!important}
.kapp .ad-frame{border:0;border-radius:0;padding:0}
.kapp .ad-big{font:800 7.4cqw/1 "Fraunces",Georgia,serif;letter-spacing:-.03em;color:#fff}
.kapp .ad-big::before{content:"Sponsored  ";display:block;font:700 2.6cqw/1 "Inter",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#22C7B6;margin-bottom:2cqw}
.kapp .ad-sub{color:#c9d6e2;font-size:3.2cqw}
.kapp .ad-cta{background:#22C7B6;color:#0F1C2B;border-radius:3cqw;padding:2.6cqw 3.8cqw}
.kapp .ad-ico{stroke:#22C7B6}
.kapp .k-nav{background:rgba(255,255,255,.92);border-top:1px solid rgba(15,28,43,.08);backdrop-filter:blur(8px)}
.kapp .k-nav button{color:#0F1C2B;font-weight:600}
.kapp .k-nav svg{stroke:#0F1C2B}
.kapp .k-btn,.kapp .k-cta{background:#0F1C2B!important;color:#fff!important;border-radius:999px!important;box-shadow:0 10px 24px rgba(15,28,43,.2)}
.kapp .k-attract{background:transparent}
.kapp .k-attract .a-welcome{font:800 15cqw/.95 "Fraunces",Georgia,serif;letter-spacing:-.04em;color:#0F1C2B}
.kapp .k-attract .a-venue{color:#5b6b7b}
.kapp .k-attract .a-touch{background:#0F1C2B;color:#fff;box-shadow:0 14px 36px rgba(15,28,43,.25)}
.kapp .k-attract .ring{border-color:#22C7B6}
.kapp .k-detail-hero{background:#0F1C2B!important;color:#fff}
.kapp .k-item,.kapp .k-facts div,.kapp .k-take,.kapp .k-map,.kapp .k-pk-list div{background:#fff;border:1px solid rgba(15,28,43,.06);box-shadow:0 8px 24px rgba(15,28,43,.07)}
.kapp .k-item .thumb{background:#0F1C2B}
.kapp .k-head h2{font:800 9cqw/1 "Fraunces",Georgia,serif;letter-spacing:-.03em}
.kapp .k-head .ico{background:#22C7B6}
.kapp-a11y,.kapp-fs{top:1.4cqw;font-family:"Inter",sans-serif}

/* ===== Lexen hotel look: photo background, hotel logo, gold-accent luxury buttons ===== */
.kapp{--venue-bg:url("lexen/exterior.jpg");--gold:#C9A96E;--gold-deep:#8F6F3A}
.kapp::before{background:linear-gradient(180deg,rgba(244,248,250,.90) 0%,rgba(244,248,250,.80) 40%,rgba(244,248,250,.94) 100%),var(--venue-bg) center/cover no-repeat}
.kapp .k-status b{display:inline-flex;align-items:center;gap:2.2cqw;font-size:3.2cqw}
.kapp .k-status b::before{content:"";display:inline-block;width:19cqw;height:6.4cqw;background:#000 url("lexen/logo.jpg") center/contain no-repeat;border-radius:1.2cqw;box-shadow:inset 0 0 0 1px rgba(201,169,110,.55),0 4px 12px rgba(15,28,43,.25)}
.kapp .k-tile svg{stroke:var(--gold-deep)}
.kapp .k-tile{border-top:2px solid rgba(201,169,110,.55)}
.kapp .k-tile:hover,.kapp .k-tile:focus-visible{box-shadow:0 0 0 2px var(--gold),0 16px 36px rgba(15,28,43,.14)}
.kapp .k-btn,.kapp .k-cta,.kapp .a-touch,.kapp-btn{background:linear-gradient(180deg,#1f3550,#0F1C2B)!important;color:#fff!important;border:1px solid rgba(201,169,110,.65)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 16px 34px rgba(15,28,43,.30)!important;letter-spacing:.04em;transition:transform .15s,box-shadow .15s,background .2s}
.kapp .k-btn:hover,.kapp .k-cta:hover,.kapp .a-touch:hover,.kapp-btn:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 0 3px rgba(201,169,110,.35),0 16px 34px rgba(15,28,43,.30)!important}
.kapp .k-btn:active,.kapp .k-cta:active,.kapp .a-touch:active,.kapp .ad-cta:active,.kapp-btn:active{transform:scale(.97)}
.kapp .ad-cta{background:linear-gradient(180deg,#e0c68f,#C9A96E)!important;color:#0F1C2B!important;border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 14px 30px rgba(0,0,0,.35)}
.kapp .ad-sub,.kapp .ad-big::before{color:var(--gold)}
.kapp .ad-big::before{color:#C9A96E;content:"Sponsored"}
.kapp .k-nav button{transition:color .15s,background .15s;border-radius:1.6cqw}
.kapp .k-nav button:hover{background:rgba(201,169,110,.12)}
.kapp .k-nav svg{stroke:var(--gold-deep)}
.kapp .k-dots button[aria-selected=true]{background:var(--gold)!important}
.kapp .k-attract .ring{border-color:var(--gold)}
.kapp-fs,.kapp-a11y{background:linear-gradient(180deg,#1f3550,#0F1C2B)!important;color:#fff!important;border:1px solid rgba(201,169,110,.65)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 8px 20px rgba(15,28,43,.28)!important;letter-spacing:.04em;padding:.55rem 1.1rem!important}
.kapp-fs:hover,.kapp-a11y:hover{box-shadow:0 0 0 3px rgba(201,169,110,.35),0 8px 20px rgba(15,28,43,.28)!important}
.kapp .k-status{flex-wrap:nowrap;white-space:nowrap;gap:3cqw}
.kapp .k-status b{font-size:2.7cqw;letter-spacing:.14em}
.kapp .k-status b::before{width:13cqw;height:4.2cqw;border-radius:.9cqw}
.kapp::before{background:linear-gradient(180deg,rgba(244,248,250,.82) 0%,rgba(244,248,250,.70) 45%,rgba(244,248,250,.88) 100%),var(--venue-bg) center/cover no-repeat}
.kapp .k-tile.wide{background:radial-gradient(ellipse 70% 120% at 100% 0%,rgba(201,169,110,.35),transparent 60%),#0F1C2B!important}
.kapp .ad-ico{stroke:var(--gold)}
.kapp .k-ads{height:44cqw;min-height:0;margin:1.6cqw 4cqw 2.4cqw}
.kapp .k-tile{aspect-ratio:1.42}
.kapp .k-tile.wide{aspect-ratio:4.2}
/* Hotel logo: transparent PNG, no black box */
.kapp .k-status b{gap:2.6cqw}
.kapp .k-status b::before{width:19cqw;height:auto;aspect-ratio:1254/1254;max-height:11cqw;background:url("lexen/logo-transparent.png") center/contain no-repeat;border-radius:0;box-shadow:none;margin-right:0}
.kapp .k-status b{font-family:"Inter",sans-serif;font-weight:700}
.kapp .k-welcome{font-family:"Fraunces",Georgia,serif;font-weight:600;letter-spacing:-.02em}
.kapp .k-head h2,.kapp .ad-big,.kapp .k-tile.wide span,.kapp .k-tile span{font-family:"Inter",sans-serif}
.kapp .k-tile span{font-weight:600;letter-spacing:0}
.kapp .k-tile.wide span{font:600 6cqw/1.1 "Fraunces",Georgia,serif}
.kapp .k-head h2{font:600 8.4cqw/1.05 "Fraunces",Georgia,serif;letter-spacing:-.02em}
.kapp .ad-big{font-weight:700;letter-spacing:-.01em}
.kapp .k-status{gap:2cqw;padding-left:5cqw;padding-right:5cqw}
.kapp .k-status b{font-size:2.3cqw;letter-spacing:.12em}
.kapp .k-status b::before{width:auto;height:8.5cqw;max-height:none;aspect-ratio:auto;background-size:contain;margin-right:1cqw}
.kapp .k-status span{font-size:2.6cqw;white-space:nowrap}
.kapp::before{background:linear-gradient(180deg,rgba(244,248,250,.62) 0%,rgba(244,248,250,.48) 45%,rgba(244,248,250,.70) 100%),var(--venue-bg) center/cover no-repeat}
.kapp .k-status{gap:2cqw;padding-left:5cqw;padding-right:5cqw}
.kapp .k-status b{font-size:2.3cqw;letter-spacing:.12em}
.kapp .k-status b::before{width:auto;height:8.5cqw;max-height:none;aspect-ratio:auto;background-size:contain;margin-right:1cqw}
.kapp .k-status span{font-size:2.6cqw;white-space:nowrap}
.kapp .k-status b::before{width:15cqw;height:9.5cqw;background-size:contain}
.kapp::before{background:linear-gradient(180deg,rgba(244,248,250,.50) 0%,rgba(244,248,250,.34) 45%,rgba(244,248,250,.58) 100%),var(--venue-bg) center/cover no-repeat}

/* ===== Lexen kiosk: sliding hotel photos, readable overlay, ADA sizing ===== */
.kapp{--venue-bg:none}
.kapp-slides{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.kapp-slides span{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;animation:kslide 24s infinite,kzoom 24s infinite linear}
@keyframes kslide{0%{opacity:0}4%{opacity:1}30%{opacity:1}38%{opacity:0}100%{opacity:0}}
@keyframes kzoom{0%{transform:scale(1.02)}100%{transform:scale(1.10)}}
.kapp::before{background:linear-gradient(180deg,rgba(10,20,32,.78) 0%,rgba(10,20,32,.42) 38%,rgba(10,20,32,.30) 70%,rgba(10,20,32,.62) 100%)!important}
.kapp .k-status{color:#fff}
.kapp .k-status b{color:#fff}
.kapp .k-status span{color:#fff}
.kapp .k-welcome{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.kapp .k-venue{color:#e6edf3}
.kapp .k-attract .a-welcome{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.kapp .k-attract .a-venue{color:#e6edf3}
/* ADA sizing: every touch target at least 44 x 44 px */
.kapp .k-nav button,.kapp .k-btn,.kapp .k-cta,.kapp .a-touch,.kapp .ad-cta,.kapp-fs,.kapp-a11y,.kapp-btn,.kapp-btn-ghost{min-height:44px;min-width:44px}
.kapp .k-nav button{padding:1.2cqw 3.6cqw}
.kapp .k-btn,.kapp .k-cta,.kapp .a-touch{padding-top:2.4cqw!important;padding-bottom:2.4cqw!important}
.kapp-fs,.kapp-a11y{padding:.7rem 1.3rem!important;font-size:1rem!important}
.kapp .k-dots button{min-width:44px;min-height:44px;background-clip:content-box!important;padding:0!important}
.kapp .k-tile{min-height:44px}
.kapp button:focus-visible,.kapp .k-tile:focus-visible{outline:3px solid #C9A96E;outline-offset:3px}
.kapp .k-tile span{font-size:3.4cqw}
.kapp .device[data-finish] .device-head{background:none!important;box-shadow:none!important}
.kapp .device{background:none!important}
.kapp .k-attract .a-venue,.kapp .k-venue{text-shadow:0 1px 10px rgba(0,0,0,.45);font-weight:600}

/* ===== Kiosk typography: Apple-style system sans (SF Pro on Apple devices, Inter elsewhere) ===== */
.kapp{--apple:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif}
.kapp, .kapp .k, .kapp .k *, .kapp button, .kapp-box, .kapp-box *{font-family:var(--apple)!important}
.kapp .k-welcome,.kapp .k-attract .a-welcome{font-weight:700;letter-spacing:-.035em}
.kapp .k-head h2,.kapp .k-detail-hero h2,.kapp .ki-inner h2{font-weight:700;letter-spacing:-.03em}
.kapp .k-tile span{font-weight:600;letter-spacing:-.01em}
.kapp .k-tile.wide span{font-weight:700;letter-spacing:-.025em}
.kapp .ad-big{font-weight:700;letter-spacing:-.025em}
.kapp .k-status b{font-weight:600;letter-spacing:.08em}
.kapp .k-btn,.kapp .k-cta,.kapp .a-touch,.kapp-btn{font-weight:600;letter-spacing:-.005em}

/* ===== Phone guide for a live venue (concierge/?v=lexen) ===== */
.cg-body .cc-app{max-width:620px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter",system-ui,sans-serif}
.cg-head{text-align:center;padding:8px 0 18px}
.cg-head img{width:min(260px,70%);height:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.25));background:#0B1622;border-radius:18px;padding:14px 18px}
.cg-head p{color:#536170;margin:10px 0 14px}
.cg-quick,.cg-acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.cg-acts{justify-content:flex-start;margin-top:10px}
.cg-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:999px;background:#0F1C2B;color:#fff;font-weight:600;text-decoration:none}
.cg-btn.ghost{background:#fff;color:#0F1C2B;border:1.5px solid #0F1C2B}
.cg-nav{position:sticky;top:0;z-index:5;display:flex;gap:8px;overflow-x:auto;padding:10px 2px;background:var(--paper,#fff);scrollbar-width:none}
.cg-nav a{flex:none;padding:9px 14px;border-radius:999px;background:#EEF3F6;color:#0F1C2B;font-weight:600;text-decoration:none;font-size:15px;min-height:40px;display:inline-flex;align-items:center}
.cg-sec{padding-top:18px;scroll-margin-top:60px}
.cg-sec h2{font-size:24px;letter-spacing:-.02em;margin:0 0 4px}
.cg-intro{color:#536170;margin:0 0 12px}
.cg-item{background:#fff;border:1px solid #E3E8EE;border-radius:16px;margin-bottom:10px;box-shadow:0 4px 14px rgba(15,28,43,.05);scroll-margin-top:64px}
.cg-item summary{list-style:none;display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;min-height:56px}
.cg-item summary::-webkit-details-marker{display:none}
.cg-item summary span{flex:1;min-width:0;display:flex;flex-direction:column}
.cg-item summary b{font-size:17px}
.cg-item summary small{color:#536170;font-size:14px}
.cg-item summary em{font-style:normal;font-size:13px;font-weight:600;color:#7a5a1e;background:#F7EED9;padding:4px 10px;border-radius:999px;white-space:nowrap}
.cg-body-in{padding:0 16px 16px;color:#2c3a48}
.cg-body-in p{margin:0 0 8px}
.cg-addr{color:#536170;font-size:14px}
.cg-body-in dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
.cg-body-in dl div{background:#F4F8FA;border-radius:10px;padding:8px 10px}
.cg-body-in dt{font-size:12px;color:#536170}
.cg-body-in dd{margin:0;font-weight:600}
.cg-foot{color:#536170;font-size:13px;text-align:center;margin:24px 0}
