/* ---- industry-page additions ---- */
.hero-copy .hero-kicker{margin:0 0 16px;color:var(--accent);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
html.js .hero-copy .hero-kicker{animation:hero-in .68s .04s both}
/* offset the kicker's height so the CTA row keeps clear of the hero cards */
@media(max-width:700px){.hero-copy{padding-top:150px}.hero-copy .hero-kicker{margin-bottom:12px;font-size:11px}}

/* ---- draft-f additions ---- */
.vid{position:relative;border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.vid video,.vid .vposter{display:block;width:100%;height:auto}
.vid .vposter{display:none}
@media (prefers-reduced-motion:reduce){.vid video{display:none}.vid .vposter{display:block}}

/* two loops flanking the docked report; SQ loops zoomed to fill the card
   but with breathing room, and a shorter box than the raw 4:3 */
.report-flank{position:absolute;z-index:3;top:170px;width:min(320px,24vw);aspect-ratio:1.42;box-shadow:var(--shadow-deep)}
.report-flank.fl{left:calc(50% - 192px - min(320px,24vw) - 56px)}
.report-flank.fr{right:calc(50% - 192px - min(320px,24vw) - 56px)}
.report-flank video,.report-flank .vposter{width:100%;height:100%;object-fit:cover;transform-origin:center}
.report-flank.fl video,.report-flank.fl .vposter{transform:scale(1.18)}
.report-flank.fr video,.report-flank.fr .vposter{transform:scale(1.04)}
@media(max-width:1180px){.report-flank{display:none}}

/* textured section backdrops below the hero */
.below{position:relative;background:#faf9f6}
.tex{position:relative;isolation:isolate;overflow:clip}
.tex::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.55;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='.045'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.tex-a::before{content:"";position:absolute;inset:0;z-index:-2;background:
 linear-gradient(180deg,#fff 0,rgba(255,255,255,0) 140px),
 radial-gradient(60% 48% at 8% 6%,rgba(183,217,192,.28),transparent 60%),
 radial-gradient(50% 40% at 96% 90%,rgba(46,107,68,.07),transparent 62%)}
.tex-b::before{content:"";position:absolute;inset:0;z-index:-2;background:
 linear-gradient(178deg,#f4f2ed 0%,#f0f3ee 55%,#faf9f6 100%),
 radial-gradient(48% 40% at 88% 8%,rgba(183,217,192,.2),transparent 60%)}
.tex-c::before{content:"";position:absolute;inset:0;z-index:-2;background:
 radial-gradient(56% 44% at 92% 10%,rgba(183,217,192,.24),transparent 58%),
 radial-gradient(44% 38% at 4% 92%,rgba(46,107,68,.06),transparent 60%)}
.tex-d::before{content:"";position:absolute;inset:0;z-index:-2;background:
 linear-gradient(184deg,#faf9f6 0%,#f2f4ef 48%,#f6f4ef 100%),
 radial-gradient(52% 42% at 50% 0%,rgba(183,217,192,.18),transparent 62%)}

/* scroll reveal */
html.js .rv{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1)}
html.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html.js .rv{opacity:1;transform:none;transition:none}}

/* accordion showcase */
.acc{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:clamp(28px,3.5vw,56px);margin-top:44px;align-items:stretch}
.items{display:flex;flex-direction:column;justify-content:center}
.item{border-top:1px solid var(--line);cursor:pointer}
.item:last-child{border-bottom:1px solid var(--line)}
.item .head{display:block;width:100%;text-align:left;background:none;border:0;padding:16px 2px;font-family:var(--serif);font-weight:500;font-size:19.5px;color:var(--muted);cursor:pointer}
.item.on .head{color:var(--ink)}
.item .body{max-height:0;overflow:hidden;transition:max-height .45s ease}
.item.on .body{max-height:90px}
.item .body p{margin:0;padding:0 2px 14px;color:var(--muted);font-size:15px;line-height:1.5}
.item .prog{height:2px;background:var(--line);border-radius:2px;margin:0 2px 16px;overflow:hidden;display:none}
.item.on .prog{display:block}
.item .prog i{display:block;height:100%;width:0;background:var(--accent)}
html.js .item.on .prog i{animation:pfill var(--dur,5s) linear forwards}
@keyframes pfill{to{width:100%}}
.accstage{position:relative;border-radius:22px;overflow:hidden;background:
 radial-gradient(110% 85% at 18% 10%,rgba(183,217,192,.55),transparent 55%),
 linear-gradient(165deg,#eef3ec,#dbe8de);min-height:460px}
.accstage .slide{position:absolute;inset:0;display:grid;place-items:center;padding:clamp(20px,3vw,44px);opacity:0;transition:opacity .5s ease}
.accstage .slide.on{opacity:1}
.accstage .slide .vid{box-shadow:var(--shadow-deep);width:100%;max-width:640px}
.accstage .slide.sq .vid{max-width:400px}
html:not(.js) .accstage{min-height:0;position:static;display:grid;gap:18px;background:none}
html:not(.js) .accstage .slide{position:static;opacity:1;padding:0}
@media (prefers-reduced-motion:reduce){
 .accstage .slide:first-child{opacity:1}
 html.js .item.on .prog i{animation:none;width:100%}}

/* marquee band */
.band{padding:clamp(56px,8vh,90px) 0;text-align:center}
.band h2{margin:0 auto}
.mqwrap{max-width:1180px;margin:34px auto 0;display:grid;gap:16px;overflow:hidden;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
 mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.mq{display:flex;white-space:nowrap;width:max-content}
.mq .grp{display:flex;gap:12px;padding-right:12px}
html.js .mq{animation:mslide 34s linear infinite}
html.js .mq.rev{animation-direction:reverse}
@keyframes mslide{to{transform:translateX(calc(-100% / 3))}}
.chip{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-size:14.5px;font-weight:500;color:var(--muted);background:#fff;transition:color .18s ease,border-color .18s ease}
.chip svg{width:17px;height:17px;display:block;stroke:currentColor}
.chip img{width:17px;height:17px;display:block;filter:grayscale(1) opacity(.55);transition:filter .18s ease}
.chip:hover{color:var(--accent);border-color:var(--line-accent)}
.chip:hover img{filter:none}
@media (prefers-reduced-motion:reduce){html.js .mq{animation:none}}

/* bento */
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.bento .card{display:flex;flex-direction:column}
.bento .card .vid{border:0;border-radius:0}
.bento .lg{grid-column:span 2}
.bento .t{padding:16px 20px;font-family:var(--serif);font-weight:500;font-size:19px}

/* what you get: bigger interactive dashboard */
.frame{position:relative;max-width:1060px;margin:40px auto 0;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-deep);text-align:left}
.frame .bar{display:flex;align-items:center;gap:8px;padding:13px 18px;border-bottom:1px solid var(--line)}
.frame .dot{width:9px;height:9px;border-radius:50%;background:var(--line)}
.frame .url{margin-left:10px;font-size:12.5px;color:var(--muted);background:var(--bg-soft);border-radius:8px;padding:4px 14px}
.frame .tabs{display:flex;gap:4px;padding:14px 18px 0}
.frame .tab{padding:8px 18px;border-radius:10px 10px 0 0;font-size:14px;font-weight:600;color:var(--muted);background:none;border:0;font-family:inherit;cursor:pointer}
.frame .tab.on{color:var(--accent);background:var(--accent-soft)}
.frame .tab[disabled]{opacity:.45;cursor:default}
.frame .view{display:none;border-top:1px solid var(--line);padding:28px 32px 32px;min-height:340px}
.frame .view.on{display:block}
.rgrid{display:grid;grid-template-columns:1.15fr 1fr;gap:32px}
.report .rh{font-family:var(--serif);font-weight:500;font-size:23px;margin:0 0 3px}
.report .rs{color:var(--muted);font-size:13.5px;margin:0 0 20px}
.report .row{display:grid;gap:6px;margin-bottom:14px}
.report .row .lab{display:flex;justify-content:space-between;font-size:14.5px;font-weight:500}
.report .row .lab span:last-child{color:var(--muted);font-weight:400}
.report .row .track{height:8px;border-radius:99px;background:var(--accent-soft)}
.report .row .fillb{height:100%;border-radius:99px;background:var(--accent)}
.rside{display:grid;gap:14px;align-content:start}
.quote{border-left:2.5px solid #b7d9c0;padding:2px 0 2px 14px;font-family:var(--serif);font-style:italic;font-size:15px;margin:0}
.quote small{display:block;margin-top:5px;font-family:var(--sans);font-style:normal;color:var(--muted);font-size:12.5px}
.rec{background:var(--accent-soft);border-radius:12px;padding:13px 15px;font-size:14px}
.rec b{color:var(--accent)}
.callrow{display:grid;grid-template-columns:44px 1fr auto auto;align-items:center;gap:14px;padding:12px 4px;border-top:1px solid var(--line)}
.callrow:first-child{border-top:0}
.callrow img{width:40px;height:40px;border-radius:50%;object-fit:cover;filter:saturate(.72)}
.callrow .who b{display:block;font-size:14.5px}
.callrow .who span{color:var(--muted);font-size:12.5px}
.callrow .theme{font-size:12px;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:5px 12px}
.callrow .dur{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}
.insgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.inscard{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:var(--paper)}
.inscard .il{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0 0 6px}
.inscard p{margin:0;font-size:14.5px;line-height:1.5}
.frame .over{position:absolute;width:26%;right:-36px;bottom:-40px;box-shadow:var(--shadow-deep)}
@media (max-width:1023px){.acc{grid-template-columns:1fr}.accstage{min-height:380px}}
@media (max-width:900px){.bento{grid-template-columns:1fr 1fr}.rgrid,.insgrid{grid-template-columns:1fr}.frame .over{right:10px;bottom:-30px;width:40%}.callrow{grid-template-columns:44px 1fr auto}.callrow .dur{display:none}}
/* ---- mobile pass: accordion video-in-item, full-width bento, tighter frame ---- */
@media(max-width:700px){
.acc{display:block;margin-top:30px}
html.js .acc>.accstage{display:none}
.item .accstage{position:static;min-height:0;margin:2px 2px 16px;border-radius:14px}
.item .accstage .slide{display:none;position:static;opacity:1;padding:12px;transition:none}
.item .accstage .slide.on{display:grid}
.item .accstage .slide .vid,.item .accstage .slide.sq .vid{max-width:none;box-shadow:var(--shadow-card)}
.bento{grid-template-columns:1fr;gap:14px}
.bento .lg{grid-column:auto}
.frame .tabs{padding:12px 12px 0}
.frame .tab{padding:8px 13px;font-size:13px}
.frame .tab[disabled]{display:none}
.frame .view{padding:20px 16px 24px;min-height:0}
.rgrid{gap:22px}
.rside .quote:nth-of-type(2){display:none}
}
@media(max-width:900px){
.rgrid .rec{margin-right:0!important}
.frame .over{position:static;width:min(460px,calc(100% - 36px));margin:4px auto 22px;border-radius:14px;overflow:hidden}
}
.faq-section{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:92px 0}.faq-section h2{margin:0 0 30px;font-family:var(--serif);font-size:clamp(34px,4vw,50px);font-weight:500;letter-spacing:-.035em;text-align:center}.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.faq-column{display:grid;gap:10px;align-content:start}.faq-item{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper)}.faq-item summary{position:relative;display:block;cursor:pointer;padding:20px 52px 20px 22px;font-size:15px;font-weight:650;line-height:1.42;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";position:absolute;right:16px;top:15px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:var(--accent);font-size:24px;font-weight:400;line-height:1}.faq-item[open] summary::after{content:"-"}.faq-item p{margin:0;padding:0 52px 21px 22px;color:var(--muted);font-size:14.5px;line-height:1.58}.faq-item summary:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}@media(hover:hover) and (pointer:fine){.faq-item:hover{border-color:var(--accent);box-shadow:0 10px 24px rgba(46,107,68,.12);transform:translateY(-2px)}.faq-item:hover summary::after{background:var(--accent);color:#fff}}@media(prefers-reduced-motion:no-preference){.faq-item{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.faq-item summary::after{transition:background-color .18s ease,color .18s ease}}@media(prefers-reduced-motion:reduce){.faq-item{transition:none}.faq-item summary::after{transition:none}}@media(max-width:700px){.faq-grid{grid-template-columns:1fr;gap:10px}.faq-section{width:calc(100% - 36px);padding:64px 0}.faq-item summary{padding:18px 48px 18px 18px}.faq-item p{padding:0 26px 19px 18px}.faq-item summary::after{right:14px;top:14px}}
@media(prefers-reduced-motion:reduce){.faq-item:hover{transform:none}}

/* ==== restaurants additions (shared by fnb.html + fnb-ar.html) ==== */
/* no-JS marquee: the chip groups are cloned by fnb.js, so without
   JS the single group wraps instead of scrolling */
html:not(.js) .mq{width:auto;white-space:normal;justify-content:center}
html:not(.js) .mq .grp{flex-wrap:wrap;justify-content:center;padding:0}

/* language link in the header */
.nav-lang{font-size:14px;font-weight:600;color:var(--muted);text-decoration:none;padding:6px 8px;border-radius:8px}
.nav-lang:hover{color:var(--accent)}
@media(max-width:700px){.nav-lang{font-size:13px;padding:6px 4px}}

/* demo card: the table card a guest scans, instead of the phone modal */
.wh-scope .uh-demo__stage--qr{gap:22px}
.wh-scope .uh-tcard{display:grid;justify-items:center;gap:10px;width:244px;padding:22px 22px 18px;border-radius:18px;background:#fff;border:1px solid #e3e6e2;box-shadow:0 24px 60px rgba(46,107,68,.18),0 4px 16px rgba(17,20,24,.07);text-align:center;transform:rotate(-2deg)}
.wh-scope .uh-tcard__k{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#2e6b44}
.wh-scope .uh-tcard__h{font-family:"Fraunces",Georgia,serif;font-size:22px;font-weight:500;line-height:1.15;letter-spacing:-.02em;color:#111418}
.wh-scope .uh-tcard img{display:block;width:148px;height:148px;image-rendering:pixelated}
.wh-scope .uh-tcard__s{font-size:12.5px;line-height:1.4;color:#79837c}
.wh-scope a.uh-demo__cta{display:inline-block;text-decoration:none}
.wh-scope .uh-demo__hint{font-size:13px;color:#79837c;margin-top:-8px}
@media(max-width:768px){.wh-scope .uh-tcard{width:210px;padding:18px 18px 14px}.wh-scope .uh-tcard img{width:120px;height:120px}.wh-scope .uh-demo__hint{display:none}}

/* HTML mocks that stand in for the sector video loops. Interiors stay
   English and left-to-right on every language version (owner rule). */
.vid.mk{display:grid;place-items:center;aspect-ratio:16/9;padding:clamp(14px,2.4vw,30px);background:#f7f6f2;direction:ltr;text-align:left;container-type:inline-size}
.vid.mk.mk-sq{aspect-ratio:1}
.mk-card{width:min(100%,520px);background:#fff;border-radius:16px;box-shadow:0 18px 44px rgba(17,20,24,.09);padding:clamp(14px,4cqw,26px)}
.vid.mk .mk-h{margin:0 0 12px;font-family:"Fraunces",Georgia,serif;font-weight:500;font-size:clamp(15px,4.4cqw,23px);letter-spacing:-.02em;color:var(--ink)}
.mk-row{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:clamp(12px,3.1cqw,16px);font-weight:500}
.mk-row:first-of-type{border-top:0}
.mk-n{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid #b7d9c0;color:var(--accent);font-size:11px;font-weight:700}
.mk-row.top .mk-n{background:var(--accent);border-color:var(--accent);color:#fff}
.mk-c{color:var(--muted);font-weight:400;font-size:.88em;font-variant-numeric:tabular-nums}
.vid.mk .mk-q{grid-column:2 / -1;margin:-2px 0 2px;font-family:"Fraunces",Georgia,serif;font-style:italic;font-weight:500;color:var(--accent);font-size:.92em}
.vid.mk .mk-rec{margin:12px 0 0;padding:10px 13px;border:1.5px solid var(--accent);border-radius:11px;background:var(--accent-soft);color:var(--accent);font-size:clamp(11.5px,2.9cqw,15px);transform:rotate(-1.2deg)}
.mk-bar{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:4px 9px;padding:7px 0;font-size:clamp(12px,3.1cqw,16px);font-weight:600}
.mk-bar .mk-track{grid-column:2 / -1}
.mk-bar .mk-n{grid-row:span 2}
.mk-track{height:8px;border-radius:99px;background:var(--accent-soft);overflow:hidden}
.mk-fill{display:block;height:100%;border-radius:99px;background:var(--accent)}
.vid.mk .mk-note{margin:10px 0 0;color:var(--muted);font-size:clamp(10.5px,2.6cqw,13px)}
/* waveform + transcript */
.mk-audio{width:min(100%,560px);display:grid;gap:clamp(12px,3.4cqw,22px)}
.mk-pill{display:flex;align-items:center;gap:14px;padding:12px 18px;border-radius:999px;background:#fff;box-shadow:0 14px 36px rgba(17,20,24,.08)}
.mk-pause{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--accent)}
.mk-pause::before{content:"";width:10px;height:12px;border-left:3.5px solid #fff;border-right:3.5px solid #fff;box-sizing:border-box}
.mk-wave{flex:1;display:flex;align-items:center;gap:3px;height:34px;overflow:hidden;background:repeating-linear-gradient(90deg,var(--accent) 0 4px,transparent 4px 8px) center/100% 40% no-repeat}
html.js .mk-wave{background:none}
.mk-wave i{flex:1 1 0;min-width:2px;height:var(--h,50%);border-radius:2px;background:var(--accent);transform-origin:center}
.vid.mk .mk-lab{margin:0;font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.vid.mk .mk-line{margin:-6px 0 0;font-size:clamp(14px,4.2cqw,23px);line-height:1.3;color:var(--ink)}
.mk-line mark{background:var(--accent-soft);color:var(--accent);border-radius:5px;padding:1px 5px}
.mk-theme{justify-self:start;display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:clamp(11px,2.8cqw,14px);font-weight:600}
.mk-theme::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
/* ask-insight */
.mk-ask{width:min(100%,560px);display:grid;gap:clamp(10px,3cqw,18px)}
.mk-search{display:flex;align-items:center;gap:10px;padding:11px 12px 11px 18px;border-radius:999px;background:#fff;box-shadow:0 14px 36px rgba(17,20,24,.08);font-size:clamp(12.5px,3.4cqw,18px);color:var(--ink)}
.mk-search span{flex:1}
.mk-search b{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;font-weight:600}
.mk-ins{margin-inline:clamp(0px,3cqw,22px);background:#fff;border-radius:14px;box-shadow:0 18px 44px rgba(17,20,24,.09);padding:clamp(13px,3.6cqw,22px)}
.vid.mk .mk-tag{display:inline-block;margin:0 0 8px;padding:4px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:10.5px;font-weight:700;letter-spacing:.12em}
.vid.mk .mk-ins .mk-h{margin-bottom:10px}
.mk-raised{display:inline-flex;align-items:center;gap:7px;padding:4px 12px;border-radius:999px;border:1px solid #b7d9c0;background:var(--accent-soft);color:var(--accent);font-size:12.5px;font-weight:500}
.mk-raised::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
/* the table card inside the first accordion slide */
.mk-table{display:grid;justify-items:center;gap:9px;width:min(78%,250px);padding:22px 20px 18px;background:#fff;border-radius:16px;box-shadow:0 18px 44px rgba(17,20,24,.1);text-align:center;transform:rotate(-2.5deg)}
.mk-table .k{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}
.mk-table .h{font-family:"Fraunces",Georgia,serif;font-weight:500;font-size:21px;line-height:1.15;letter-spacing:-.02em}
.mk-table img{display:block;width:62%;height:auto;image-rendering:pixelated}
.mk-table .s{font-size:12px;color:var(--muted);line-height:1.4}
/* mock motion: runs once when the mock scrolls in or its slide turns on */
@keyframes mkgrow{from{width:0}}
@keyframes mkwave{to{transform:scaleY(.45)}}
html.js .mk.in .mk-fill,html.js .slide.on .mk .mk-fill{animation:mkgrow 1.1s cubic-bezier(.2,.8,.2,1) both}
html.js .mk.in .mk-wave i{animation:mkwave 1.1s ease-in-out infinite alternate;animation-delay:var(--d,0s)}
@media (prefers-reduced-motion:reduce){html.js .mk .mk-fill,html.js .mk .mk-wave i{animation:none!important}}

/* how the free pilot works */
.pilot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px}
.pstep{padding:26px 26px 28px;background:var(--card,#fff);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-card)}
.pstep .pn{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:14.5px}
.pstep h3{margin:18px 0 8px;font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:-.02em}
.pstep p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.55}
@media(max-width:900px){.pilot{grid-template-columns:1fr;gap:14px}}

/* signals mock (third accordion slide) */
.mk-sig{width:min(100%,600px);background:#fff;border-radius:16px;box-shadow:0 18px 44px rgba(17,20,24,.09);padding:clamp(14px,3.6cqw,26px)}
.mk-sig .top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}
.vid.mk .mk-sig .top .mk-h{margin:0}
.mk-sig .top small{color:var(--muted);font-size:clamp(10.5px,2.4cqw,13.5px);white-space:nowrap}
.mk-pills{display:flex;align-items:center;gap:7px;margin-bottom:12px;font-size:clamp(10.5px,2.5cqw,13.5px)}
.mk-pills b{font-size:10px;letter-spacing:.13em;color:var(--muted);margin-right:4px}
.mk-pills span{padding:4px 12px;border:1px solid var(--line);border-radius:999px;font-weight:500}
.mk-pills span.on{background:var(--accent);border-color:var(--accent);color:#fff}
.mk-srow{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:7px;padding:clamp(8px,2.2cqw,13px) 14px;border:1px solid var(--line);border-radius:10px;font-size:clamp(11.5px,2.8cqw,15.5px);color:#c4c8c5}
.mk-srow small{font-size:10px;font-weight:700;letter-spacing:.12em;color:#d5d8d5}
.mk-srow.hit{border-color:#b7d9c0;background:var(--accent-soft);color:var(--ink)}
.mk-srow.hit small{padding:5px 12px;border-radius:999px;background:var(--accent);color:#fff;font-size:clamp(9.5px,2.2cqw,12.5px);letter-spacing:0;font-weight:600;white-space:nowrap}
.mk-bar.top .mk-n{background:var(--accent);border-color:var(--accent);color:#fff}
.mk-bar .mk-n{grid-column:1;grid-row:1 / span 2}
.mk-bar>span:nth-child(2){grid-column:2;grid-row:1}
.mk-bar .mk-c{grid-column:3;grid-row:1;white-space:nowrap}
.mk-bar .mk-track{grid-column:2 / -1;grid-row:2}
.mk-row .mk-c{white-space:nowrap}
.bento .card:not(.lg) .vid.mk{padding:14px}
.bento .card:not(.lg) .vid.mk .mk-card{padding:14px 16px}
.bento .card:not(.lg) .vid.mk .mk-h{font-size:14.5px;margin-bottom:6px}
@media(max-width:900px){.bento .card:not(.lg) .vid.mk .mk-h{font-size:17px}}

/* live conversation in the demo card (fnb-live.js). data-phase on the stage:
   idle | connecting | listening | speaking | done */
.wh-scope .uh-live{display:none}
/* Safari drops the border-radius clip of an overflow:hidden element while it
   is transformed, and the blurred layers then spill out as a square. So the
   orb is clipped with clip-path as well, and the pulse runs on the wrapper,
   never on the clipped element itself. */
.wh-scope .uh-live__orb{cursor:default;width:200px;height:200px;-webkit-clip-path:circle(50%);clip-path:circle(50%);transform:translateZ(0)}
.wh-scope .uh-live{border-radius:50%;filter:drop-shadow(0 24px 40px rgba(46,107,68,.22))}
.wh-scope .uh-live__orb:hover{transform:translateZ(0)}
.wh-scope .uh-live__state{min-height:24px;max-width:300px;text-align:center;font-size:15px;line-height:1.5;color:#555c66}
.wh-scope .uh-live__state:empty{display:none}
.wh-scope .uh-live__state a{color:#2e6b44;font-weight:600}
.wh-scope .uh-live__end{display:none;padding:11px 26px;border-radius:999px;border:1px solid #d9dedb;background:#fff;color:#111418;font-size:15px;font-weight:600}
.wh-scope .uh-live__end:hover{border-color:#2e6b44;color:#2e6b44}
.wh-scope [data-phase="connecting"] .uh-tcard,.wh-scope [data-phase="listening"] .uh-tcard,.wh-scope [data-phase="speaking"] .uh-tcard,
.wh-scope [data-phase="connecting"] .uh-demo__cta,.wh-scope [data-phase="listening"] .uh-demo__cta,.wh-scope [data-phase="speaking"] .uh-demo__cta,
.wh-scope [data-phase="connecting"] .uh-demo__hint,.wh-scope [data-phase="listening"] .uh-demo__hint,.wh-scope [data-phase="speaking"] .uh-demo__hint{display:none}
.wh-scope [data-phase="connecting"] .uh-live,.wh-scope [data-phase="listening"] .uh-live,.wh-scope [data-phase="speaking"] .uh-live{display:block}
.wh-scope [data-phase="listening"] .uh-live__end,.wh-scope [data-phase="speaking"] .uh-live__end{display:inline-block}
.wh-scope [data-phase="connecting"] .uh-live__orb{opacity:.6}
.wh-scope .uh-live__orb{transition:opacity .3s ease}
.wh-scope [data-phase="speaking"] .uh-live{animation:uh-live-talk 1.5s ease-in-out infinite alternate}
@keyframes uh-live-talk{from{transform:scale(1)}to{transform:scale(1.07)}}
@media (prefers-reduced-motion:reduce){.wh-scope [data-phase="speaking"] .uh-live{animation:none}}

/* no single word alone on the last line of a heading or the hero subline */
.wh-scope .wh-hero__h1,.wh-scope .wh-hero__p,.wh-scope .uh-demo__title,.sec h2,.band h2,.faq-section h2,.close h2,.lede{text-wrap:balance}

/* the demo card holds the guest card and the info box, not a 16:9 video: let it
   size to its content so the inner grid sits centred instead of hanging low */
.wh-scope .uh-demo .wh-hero-video__card{aspect-ratio:auto}

/* a mock keeps its 16:9 box but may grow when its content is taller (narrow
   bento cards): overflow:hidden would clip it, visible lets the box expand */
.vid.mk{overflow:visible}

/* /tours hero art (owner 2026-09-22): the landmarks-and-safari illustration,
   the same artwork as og-tours.jpg, instead of the hero kit's clay city. The
   panorama is wider than the hero, so it spans the width (cover cut off the
   Eiffel Tower and the Golden Gate) and sits a little above the hero foot so
   the safari shows beside the demo card; the ground matches its white sky.
   Phones crop to Paris and London. */
[data-segment="tours"] .wh-scope .wh-hero__bg{background:#fefefe}
[data-segment="tours"] .wh-scope .wh-hero__bg::before{background-image:url(/industries/tours-hero.webp);background-size:100% auto;background-position:50% 40%}
@media (max-width:767px){[data-segment="tours"] .wh-scope .wh-hero__bg::before{background-size:230% auto;background-position:6% 62%}}
