:root{
  --atlantic:#0b2d3a;
  --deep:#061a22;
  --deep-2:#082632;
  --sea:#2f7075;
  --sea-light:#83c5bb;
  --foam:#edf5f1;
  --oyster:#f7f1e7;
  --sand:#dccbad;
  --gold:#d8b36c;
  --ink:#15343c;
  --muted:#657b7e;
  --white:#fff;
  --line:rgba(21,52,60,.13);
  --shadow:0 32px 90px rgba(4,28,36,.18);
  --radius-xl:34px;
  --radius-lg:24px;
  --radius-md:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 85% 2%,rgba(131,197,187,.28),transparent 25%),
    linear-gradient(180deg,#f8f4eb 0%,#eef4ef 55%,#f8f4eb 100%);
  font-family:"DM Sans",system-ui,sans-serif;
  overflow-x:hidden;
}
button,input,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
img,svg{display:block}
::selection{background:var(--sea-light);color:var(--deep)}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.hidden{display:none}
.skip-link{position:fixed;left:16px;top:-80px;padding:12px 18px;background:white;border-radius:12px;z-index:1000}
.skip-link:focus{top:16px}
.page-noise{position:fixed;inset:0;pointer-events:none;opacity:.03;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.ambient{position:fixed;border-radius:50%;filter:blur(125px);pointer-events:none;opacity:.33;z-index:-2}
.ambient-one{width:430px;height:430px;background:#7cb0a7;right:-180px;top:110px}
.ambient-two{width:360px;height:360px;background:#dfc493;left:-170px;top:600px}

.site-header{position:sticky;top:0;z-index:40;background:rgba(247,241,231,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(11,45,58,.07)}
.nav-shell{min-height:80px;display:flex;align-items:center;gap:36px}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.brand-copy strong,.brand-copy small{display:block;line-height:1.1}
.brand-copy strong{font-size:16px;letter-spacing:-.02em}
.brand-copy small{margin-top:5px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.16em}
.desktop-nav{display:flex;gap:28px}
.desktop-nav a,.mobile-nav a{text-decoration:none;font-size:14px;font-weight:600}
.desktop-nav a{position:relative}
.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--sea);transition:right .25s ease}
.desktop-nav a:hover:after{right:0}
.menu-button{display:none;border:0;background:transparent;padding:8px}
.menu-button span{width:24px;height:2px;display:block;margin:5px 0;background:var(--atlantic)}
.mobile-nav{padding:8px 20px 24px}
.mobile-nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}

.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:0;border-radius:999px;font-weight:700;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.button:hover{transform:translateY(-2px)}
.button-small{min-height:43px;padding-inline:20px;font-size:13px}
.button-light{background:var(--oyster);color:var(--atlantic);box-shadow:inset 0 0 0 1px rgba(11,45,58,.13)}
.button-gold{background:var(--gold);color:var(--deep);box-shadow:0 12px 28px rgba(216,179,108,.28)}
.button-full{width:100%}

.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 20px;color:var(--sea);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.18em}
.eyebrow span{width:28px;height:1px;background:currentColor}
.eyebrow-light{color:var(--sea-light)}

.hero{min-height:calc(100vh - 80px);padding-block:clamp(60px,8vw,110px);display:grid;grid-template-columns:.88fr 1.35fr;gap:clamp(46px,6vw,90px);align-items:center}
.hero h1,.section-heading h2,.pilot-copy h2{margin:0;font-family:"Playfair Display",Georgia,serif;font-weight:600;letter-spacing:-.045em}
.hero h1{max-width:640px;font-size:clamp(54px,6.4vw,92px);line-height:.96}
.hero h1 em{color:var(--sea)}
.hero-description{max-width:580px;margin:28px 0 30px;color:#526f72;line-height:1.75;font-size:17px}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.text-link{font-weight:700;text-decoration:none}
.text-link span{display:inline-block;transition:transform .2s ease}
.text-link:hover span{transform:translate(3px,-3px)}
.hero-outcomes{margin-top:46px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:24px;border-top:1px solid var(--line)}
.hero-outcomes strong,.hero-outcomes span{display:block}
.hero-outcomes strong{font-size:13px}
.hero-outcomes span{margin-top:4px;color:var(--muted);font-size:12px}

.product-stage{position:relative;padding:24px;color:#e8f3f0;background:radial-gradient(circle at 75% 12%,rgba(79,133,132,.36),transparent 32%),linear-gradient(145deg,#0b3442,#061b24 70%);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-xl);box-shadow:var(--shadow)}
.product-stage:after{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.stage-chrome,.location-bar,.panel-title,.caller-row,.thinking-row,.portfolio-header,.location-item,.profile-top,.visit-title{display:flex;align-items:center}
.stage-chrome{justify-content:space-between;padding-bottom:18px}
.stage-label{display:block;color:#8aa9ab;font-size:11px;text-transform:uppercase;letter-spacing:.14em}
.stage-chrome strong{display:block;margin-top:5px;font-size:19px}
.stage-controls{display:flex;align-items:center;gap:8px}
.live-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;color:#bce4d7;background:rgba(112,188,163,.12);border:1px solid rgba(139,216,190,.2);border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.live-chip i{width:7px;height:7px;border-radius:50%;background:#80ddb9;box-shadow:0 0 0 6px rgba(128,221,185,.1);animation:pulse 2s infinite}
.icon-button{width:34px;height:34px;border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#b8cbcb;background:rgba(255,255,255,.04)}
.location-bar{gap:12px;padding:15px;margin-bottom:14px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);border-radius:16px}
.location-emblem,.mini-emblem{display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:linear-gradient(145deg,#d7b779,#a97d3f);color:var(--deep);font-weight:800}
.location-emblem{width:42px;height:42px}
.location-bar strong,.location-bar span{display:block}
.location-bar strong{font-size:13px}
.location-bar span{margin-top:4px;color:#8ba7aa;font-size:11px}
.location-chevron{margin-left:auto;border:0;color:#b8cbcb;background:transparent;font-size:20px}

.dashboard-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:14px}
.panel{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md)}
.call-panel,.floor-panel{padding:17px}
.panel-title{justify-content:space-between;color:#92adaf;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.status-text{color:#f1c982}
.caller-row{gap:11px;margin:19px 0 12px}
.caller-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(214,178,110,.15);color:#f3c977}
.caller-row strong,.caller-row span{display:block}
.caller-row strong{font-size:13px}
.caller-row span{margin-top:4px;color:#78979a;font-size:10px}
.call-timer{margin-left:auto;color:#8ea7a9;font-variant-numeric:tabular-nums;font-size:11px}
.waveform{height:42px;display:flex;align-items:center;gap:3px;padding:0 6px;overflow:hidden}
.waveform span{width:3px;height:9px;border-radius:999px;background:linear-gradient(#8acbbb,#d6b26e);animation:wave 1.2s ease-in-out infinite}
.waveform span:nth-child(2n){animation-delay:-.2s}
.waveform span:nth-child(3n){animation-delay:-.45s}
.waveform span:nth-child(5n){animation-delay:-.7s}
.transcript{min-height:180px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}
.message{margin-bottom:14px}
.message span{display:block;color:#769497;font-size:9px;text-transform:uppercase;letter-spacing:.12em}
.message p{margin:6px 0 0;padding:10px 12px;border-radius:12px;line-height:1.45;font-size:11px}
.message-ai p{background:rgba(122,187,171,.1)}
.message-guest p{background:rgba(255,255,255,.07)}
.thinking-row{justify-content:space-between;padding-top:12px;border-top:1px solid rgba(255,255,255,.07);color:#779295;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.thinking-row>div{display:flex;align-items:center;gap:7px;color:#bdddd6}
.thinking-row i{width:6px;height:6px;border-radius:50%;background:#82d5b9;animation:pulse 1.4s infinite}
.floor-map{position:relative;height:270px;margin-top:18px;border-radius:14px;background:linear-gradient(rgba(255,255,255,.04),rgba(255,255,255,.015)),repeating-linear-gradient(0deg,transparent 0 31px,rgba(255,255,255,.018) 32px),repeating-linear-gradient(90deg,transparent 0 31px,rgba(255,255,255,.018) 32px);overflow:hidden}
.floor-map:after{content:"";position:absolute;left:0;right:0;bottom:0;height:34px;background:linear-gradient(90deg,rgba(75,135,151,.28),rgba(82,159,166,.08));border-top:1px solid rgba(128,202,207,.18)}
.water-edge{position:absolute;left:12px;bottom:10px;z-index:1;color:#77a8ad;font-size:9px;text-transform:uppercase;letter-spacing:.12em}
.table{position:absolute;left:var(--x);top:var(--y);width:43px;height:30px;display:grid;place-items:center;transform:translate(-50%,-50%);color:#b0c4c4;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:8px;font-size:9px;transition:.6s ease}
.table-round{width:34px;height:34px;border-radius:50%}
.table.reserved{color:#d9b978;border-color:rgba(217,185,120,.35);background:rgba(217,185,120,.12)}
.table.occupied{color:#7fa4a2;background:rgba(45,96,99,.38)}
.table.featured.confirmed{color:#061e25;background:#83d1b5;border-color:#9de8cf;transform:translate(-50%,-50%) scale(1.1);box-shadow:0 0 0 8px rgba(131,209,181,.08),0 0 30px rgba(131,209,181,.25)}
.legend{display:flex;justify-content:space-between;margin-top:13px;color:#718d90;font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.legend span{display:flex;align-items:center;gap:5px}
.dot{width:6px;height:6px;border-radius:50%;background:#718b8c}
.reserved-dot{background:#d6b26e}
.occupied-dot{background:#35696b}
.metrics-panel{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr)}
.metric{padding:15px 18px;border-right:1px solid rgba(255,255,255,.07)}
.metric:last-child{border:0}
.metric span,.metric small,.metric strong{display:block}
.metric span{color:#789698;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.metric strong{margin:5px 0;color:#f1f7f5;font-size:24px}
.metric small{color:#7aa996;font-size:9px}
.event-strip{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.04)}
.event-dot{width:8px;height:8px;border-radius:50%;background:var(--gold)}
.event-strip div{flex:1}
.event-strip small,.event-strip strong{display:block}
.event-strip small{color:#769397;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.event-strip strong{margin-top:3px;font-size:11px}
.event-strip>span:last-child{color:#7f999c;font-size:9px}
.reservation-toast,.sms-toast{position:absolute;z-index:5;opacity:0;pointer-events:none;transition:opacity .45s ease,transform .55s cubic-bezier(.2,.8,.2,1)}
.reservation-toast{left:-40px;bottom:75px;width:315px;display:flex;align-items:center;gap:12px;padding:14px 16px;color:var(--deep);background:rgba(244,241,231,.97);border-radius:16px;box-shadow:0 20px 60px rgba(3,18,24,.28);transform:translate(-25px,15px)}
.reservation-toast.show{opacity:1;transform:translate(0,0)}
.confirmation-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#c9e7dc;color:#235e50;font-weight:800}
.reservation-toast small,.reservation-toast strong,.reservation-toast div>span{display:block}
.reservation-toast small{color:#63807d;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.reservation-toast strong{margin:3px 0;font-size:12px}
.reservation-toast div>span{color:#607678;font-size:10px}
.sms-toast{right:-52px;top:140px;width:235px;padding:14px;color:var(--ink);background:rgba(246,247,242,.96);border-radius:20px;box-shadow:0 22px 70px rgba(3,18,24,.3);transform:translate(30px,10px) rotate(2deg)}
.sms-toast.show{opacity:1;transform:translate(0,0) rotate(0)}
.sms-toast>div{display:flex;justify-content:space-between;color:#657a7b;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.sms-toast p{margin:10px 0 7px;font-size:10px;line-height:1.5}
.sms-toast>span{color:#4a8a75;font-size:9px}
.demo-caption{margin:12px 0 0;color:#6f8d90;font-size:8px;text-align:right}

.hospitality-statement{position:relative;padding:120px 0;color:var(--oyster);background:var(--atlantic);overflow:hidden}
.hospitality-statement:after{content:"";position:absolute;right:-12%;top:-50%;width:640px;height:640px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 0 0 90px rgba(255,255,255,.015),inset 0 0 0 180px rgba(255,255,255,.015)}
.statement-inner{position:relative;z-index:1}
.statement-inner blockquote{max-width:940px;margin:0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(38px,5.8vw,78px);line-height:1.05;letter-spacing:-.035em}
.statement-inner>p:last-child{max-width:650px;margin:35px 0 0 auto;color:#a9c0bf;font-size:17px;line-height:1.75}

.journey-section,.standard-section{padding-block:120px}
.section-heading{max-width:680px}
.section-heading h2{font-size:clamp(42px,5vw,68px);line-height:1.02}
.section-heading>p:last-child{color:var(--muted);line-height:1.75}
.section-heading-light{color:var(--oyster)}
.section-heading-light>p:last-child{color:#a5bdbc}
.journey-grid{margin-top:65px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.journey-card{position:relative;padding:35px 28px 25px 0;border-right:1px solid var(--line)}
.journey-card:not(:first-child){padding-left:28px}
.journey-card:last-child{border-right:0}
.journey-number{color:#9cafae;font-size:10px;letter-spacing:.1em}
.journey-icon{width:52px;height:52px;margin:28px 0;display:grid;place-items:center;color:var(--sea);background:rgba(90,140,137,.1);border-radius:50%;font-size:20px}
.journey-card h3,.standard-card h3{font-family:"Playfair Display",Georgia,serif;font-size:22px}
.journey-card p,.standard-card p{color:var(--muted);line-height:1.65;font-size:14px}

.guest-profile-section{padding-block:120px;color:var(--oyster);background:linear-gradient(130deg,#0a303b,#071f29)}
.guest-profile-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:90px;align-items:center}
.feature-list{list-style:none;padding:0;margin:34px 0 0}
.feature-list li{display:flex;gap:12px;margin:15px 0;color:#cad8d5}
.feature-list span{color:var(--gold)}
.profile-card{padding:28px;color:var(--ink);background:var(--oyster);border-radius:28px;box-shadow:0 35px 100px rgba(0,0,0,.2)}
.profile-top{gap:14px}
.profile-avatar{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#d9bf8d,#aa7f42);color:var(--deep);font-weight:800}
.profile-top div:nth-child(2){flex:1}
.profile-top small,.profile-top strong,.profile-top span{display:block}
.profile-top small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.profile-top strong{margin-top:4px;font-family:"Playfair Display",Georgia,serif;font-size:22px}
.profile-top span{margin-top:3px;color:var(--muted);font-size:10px}
.vip-chip{padding:8px 10px;border-radius:999px;color:#7b5a24!important;background:rgba(216,179,108,.18);font-size:9px!important;text-transform:uppercase;letter-spacing:.1em}
.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:24px;border-block:1px solid var(--line)}
.profile-stats div{padding:18px 8px;border-right:1px solid var(--line)}
.profile-stats div:last-child{border:0}
.profile-stats span,.profile-stats strong{display:block}
.profile-stats span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.profile-stats strong{margin-top:6px;font-size:12px}
.profile-note{margin-top:20px;padding:16px;border-radius:14px;background:rgba(47,112,117,.08)}
.profile-note span{color:var(--sea);font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.profile-note p{margin:7px 0 0;font-size:12px;line-height:1.6}
.visit-history{margin-top:18px}
.visit-title{justify-content:space-between;margin-bottom:8px}
.visit-title span{font-weight:700;font-size:11px}
.visit-title small{color:var(--muted);font-size:9px}
.visit-row{display:grid;grid-template-columns:70px 1fr auto;gap:12px;padding:12px 0;border-top:1px solid var(--line);align-items:center}
.visit-row span,.visit-row small{color:var(--muted);font-size:9px}
.visit-row strong{font-size:11px}

.portfolio-section{padding-block:120px;color:var(--oyster);background:linear-gradient(130deg,#061a22,#0d3440)}
.portfolio-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}
.portfolio-card{padding:28px;color:var(--ink);background:var(--oyster);border-radius:28px;box-shadow:0 35px 100px rgba(0,0,0,.2)}
.portfolio-header{justify-content:space-between;padding-bottom:20px}
.portfolio-header small,.portfolio-header strong{display:block}
.portfolio-header small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.portfolio-header strong{margin-top:7px;font-family:"Playfair Display",Georgia,serif;font-size:24px}
.live-chip-light{color:#3e7868;background:rgba(89,152,129,.1);border-color:rgba(89,152,129,.18)}
.portfolio-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}
.portfolio-metrics div{padding:18px 8px;border-right:1px solid var(--line)}
.portfolio-metrics div:last-child{border:0}
.portfolio-metrics span,.portfolio-metrics strong{display:block}
.portfolio-metrics span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.portfolio-metrics strong{margin-top:7px;font-size:24px}
.location-list{padding-top:12px}
.location-item{width:100%;gap:12px;padding:12px;border:0;border-radius:14px;color:var(--ink);background:transparent;text-align:left}
.location-item.active{background:rgba(45,111,115,.08)}
.location-item>span:nth-child(2){flex:1}
.location-item strong,.location-item small{display:block}
.location-item strong{font-size:12px}
.location-item small{margin-top:3px;color:var(--muted);font-size:9px}
.location-item b{color:var(--sea);font-size:14px}
.mini-emblem{width:36px;height:36px;font-size:10px}
.portfolio-note{margin:13px 0 0;color:#8a9898;font-size:9px;text-align:right}

.standard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:60px}
.standard-card{min-height:260px;padding:28px;background:rgba(255,255,255,.5);border:1px solid var(--line);border-radius:22px}
.standard-card>strong{color:var(--gold);font-size:11px;letter-spacing:.12em}
.standard-card h3{margin-top:60px;font-size:24px;line-height:1.05}
.standard-card p{font-size:13px}

.pilot-section{padding-bottom:110px}
.pilot-card{display:grid;grid-template-columns:1fr .82fr;gap:70px;padding:clamp(38px,6vw,78px);color:var(--oyster);background:var(--atlantic);border-radius:34px;box-shadow:var(--shadow)}
.pilot-copy h2{font-size:clamp(40px,5vw,66px);line-height:1.02}
.pilot-copy>p:not(.eyebrow):not(.contact-line){color:#a9c0bf;line-height:1.7}
.pilot-steps{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}
.pilot-steps span{padding:9px 12px;color:#bcd0ce;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:999px;font-size:10px}
.contact-line{color:#9cb7b5;font-size:12px}
.contact-line a{color:var(--oyster)}
.pilot-form{padding:25px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:22px}
.pilot-form label{display:block;margin-bottom:14px;color:#b9cecc;font-size:11px}
.pilot-form input,.pilot-form textarea{width:100%;margin-top:7px;padding:13px 14px;color:white;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;outline:none}
.pilot-form input:focus,.pilot-form textarea:focus{border-color:var(--sea-light);box-shadow:0 0 0 3px rgba(155,198,190,.1)}
.pilot-form textarea{resize:vertical}
.pilot-form ::placeholder{color:#7e999b}
.form-note{color:#799496;font-size:9px;line-height:1.5}

.site-footer{padding:50px 0;background:#061820;color:#c6d5d2}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}
.footer-brand strong{color:var(--oyster)}
.footer-brand small{color:#719092}
.footer-grid>p{color:#749295}
.footer-links{display:flex;gap:24px;justify-content:flex-end}
.footer-links a{color:#9bb2b1;text-decoration:none;font-size:12px}
.footer-grid>small{color:#638082;font-size:10px}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes wave{0%,100%{height:8px;opacity:.45}50%{height:34px;opacity:1}}

@media (max-width:1050px){
  .hero{grid-template-columns:1fr;padding-top:70px}
  .hero-copy{max-width:790px}
  .product-stage{width:min(760px,100%);margin-inline:auto}
  .guest-profile-grid,.portfolio-grid{gap:50px}
}
@media (max-width:820px){
  .desktop-nav,.nav-shell>.button{display:none}
  .menu-button{display:block}
  .hero{padding-block:60px 90px}
  .hero h1{font-size:clamp(50px,13vw,74px)}
  .journey-grid,.standard-grid{grid-template-columns:repeat(2,1fr)}
  .journey-card:nth-child(2){border-right:0}
  .guest-profile-grid,.portfolio-grid,.pilot-card{grid-template-columns:1fr}
  .pilot-card{gap:45px}
}
@media (max-width:620px){
  .container{width:min(100% - 26px,1180px)}
  .nav-shell{min-height:70px}
  .hero{min-height:auto}
  .hero h1{font-size:48px}
  .hero-outcomes{grid-template-columns:1fr}
  .dashboard-grid{grid-template-columns:1fr}
  .metrics-panel{grid-column:auto;grid-template-columns:1fr}
  .metric{border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}
  .floor-map{height:230px}
  .reservation-toast{left:10px;bottom:15px;width:calc(100% - 20px)}
  .sms-toast{right:8px;top:185px}
  .hospitality-statement,.journey-section,.standard-section,.guest-profile-section,.portfolio-section{padding-block:85px}
  .journey-grid,.standard-grid{grid-template-columns:1fr}
  .journey-card,.journey-card:not(:first-child){padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}
  .journey-card:last-child{border-bottom:0}
  .standard-card{min-height:220px}
  .standard-card h3{margin-top:45px}
  .profile-stats{grid-template-columns:1fr}
  .profile-stats div{border-right:0;border-bottom:1px solid var(--line)}
  .visit-row{grid-template-columns:62px 1fr}
  .visit-row small{grid-column:2}
  .portfolio-card{padding:18px}
  .portfolio-metrics strong{font-size:19px}
  .pilot-card{padding:28px 18px;border-radius:24px}
  .footer-grid{grid-template-columns:1fr}
  .footer-links{justify-content:flex-start}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

.evening-service{padding:120px 0;color:var(--oyster);background:radial-gradient(circle at 85% 10%,rgba(216,179,108,.12),transparent 30%),linear-gradient(145deg,#061820,#0b313d)}
.evening-service .section-heading>p:last-child{color:#a6bebd}
.evening-simulator{margin-top:58px;padding:28px;border:1px solid rgba(255,255,255,.1);border-radius:30px;background:rgba(5,24,32,.67);box-shadow:0 38px 110px rgba(0,0,0,.3)}
.evening-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.08)}
.evening-header small,.evening-header strong{display:block}.evening-header small{color:#7e9b9e;font-size:10px;text-transform:uppercase;letter-spacing:.14em}.evening-header strong{margin-top:6px;font-family:"Playfair Display",Georgia,serif;font-size:30px}
.evening-live{display:flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid rgba(131,197,187,.16);border-radius:999px;color:#b9d9d3;background:rgba(131,197,187,.07);font-size:10px;text-transform:uppercase}.evening-live i{width:7px;height:7px;border-radius:50%;background:#83d1b5;box-shadow:0 0 0 6px rgba(131,209,181,.1);animation:pulse 1.8s infinite}
.evening-timeline{position:relative;display:grid;grid-template-columns:repeat(6,1fr);margin:28px 0 34px}.evening-timeline:before{content:"";position:absolute;left:8%;right:8%;top:32px;height:1px;background:rgba(255,255,255,.12)}
.evening-stop{position:relative;z-index:1;display:grid;justify-items:center;gap:8px;border:0;color:#718f92;background:transparent}.evening-stop span,.evening-stop b{font-size:9px;text-transform:uppercase}.evening-stop i{width:12px;height:12px;border:2px solid #56777a;border-radius:50%;background:#0a2731}.evening-stop.active{color:#f0d39a}.evening-stop.active i{border-color:#d8b36c;background:#d8b36c;box-shadow:0 0 0 7px rgba(216,179,108,.1)}
.evening-content{display:grid;grid-template-columns:.78fr 1.22fr;gap:42px}.evening-copy{padding:28px 8px}.evening-copy>p{margin:0 0 12px;color:#83c5bb;font-size:10px;font-weight:700;text-transform:uppercase}.evening-copy h3{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(34px,4vw,54px);line-height:1.03}.evening-copy>div:nth-of-type(1){margin-top:18px;color:#9db4b4;line-height:1.75}
.evening-highlight{display:flex;align-items:center;gap:13px;margin-top:28px;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.04)}.evening-highlight>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:#f0c978;background:rgba(216,179,108,.12)}.evening-highlight small,.evening-highlight strong{display:block}.evening-highlight small{color:#739194;font-size:9px;text-transform:uppercase}.evening-highlight strong{margin-top:4px;font-size:11px}
.evening-dashboard{padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:rgba(255,255,255,.045)}.evening-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid rgba(255,255,255,.08)}.evening-metrics div{padding:13px;border-right:1px solid rgba(255,255,255,.07)}.evening-metrics span,.evening-metrics strong{display:block}.evening-metrics span{color:#708f92;font-size:8px;text-transform:uppercase}.evening-metrics strong{margin-top:6px;font-size:20px}
.evening-feed{margin-top:16px;padding:18px;border-radius:16px;background:rgba(255,255,255,.025)}.evening-feed-title{display:flex;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.07);color:#718f92;font-size:9px;text-transform:uppercase}.evening-feed-item{display:flex;gap:11px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.06)}.evening-feed-item i{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#8fb9b2;background:rgba(131,197,187,.08);font-style:normal}.evening-feed-item small,.evening-feed-item strong{display:block}.evening-feed-item small{color:#68878a;font-size:8px;text-transform:uppercase}.evening-feed-item strong{margin-top:4px;font-size:11px}.evening-feed-item.primary{padding-inline:10px;border-radius:12px;background:rgba(216,179,108,.06)}
@media(max-width:850px){.evening-content{grid-template-columns:1fr}}@media(max-width:650px){.evening-service{padding-block:85px}.evening-simulator{padding:18px}.evening-timeline{overflow-x:auto;grid-template-columns:repeat(6,100px)}.evening-metrics{grid-template-columns:repeat(2,1fr)}}


/* V5.2 — Operator dashboard */
.operator-section{
  padding:120px 0;
  background:
    radial-gradient(circle at 8% 15%,rgba(131,197,187,.16),transparent 24%),
    linear-gradient(180deg,#f7f2e9,#edf4ef);
}
.operator-shell{
  display:grid;
  grid-template-columns:220px 1fr;
  margin-top:58px;
  min-height:760px;
  overflow:hidden;
  border:1px solid rgba(13,48,59,.12);
  border-radius:30px;
  background:#f7f5ef;
  box-shadow:0 35px 100px rgba(5,34,42,.16);
}
.operator-sidebar{
  display:flex;
  flex-direction:column;
  padding:22px 16px;
  color:#dce8e5;
  background:linear-gradient(180deg,#082b37,#061e27);
}
.operator-logo{
  display:flex;
  align-items:center;
  gap:11px;
  padding:4px 8px 22px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.operator-logo img{width:38px;height:38px}
.operator-logo strong,.operator-logo span{display:block}
.operator-logo strong{font-size:13px}
.operator-logo span{margin-top:3px;color:#759397;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.operator-nav{display:grid;gap:6px;margin-top:22px}
.operator-nav button{
  display:flex;
  align-items:center;
  gap:11px;
  padding:11px 12px;
  border:0;
  border-radius:11px;
  color:#8da7a9;
  background:transparent;
  text-align:left;
  font-size:11px;
}
.operator-nav button span{width:18px;text-align:center}
.operator-nav button.active{
  color:#eff7f4;
  background:rgba(131,197,187,.1);
}
.operator-user{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:auto;
  padding:15px 8px 2px;
  border-top:1px solid rgba(255,255,255,.08);
}
.operator-avatar{
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#0a2934;
  background:#d8b36c;
  font-size:10px;
  font-weight:800;
}
.operator-user strong,.operator-user span{display:block}
.operator-user strong{font-size:10px}
.operator-user span{margin-top:3px;color:#6f8d90;font-size:8px}
.operator-main{padding:26px;background:#f5f3ed}
.operator-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.operator-topbar small{color:#768b8d;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.operator-topbar h3{
  margin:4px 0 0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:30px;
  letter-spacing:-.03em;
}
.operator-actions{display:flex;gap:9px}
.operator-actions button{
  min-height:38px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--ink);
  background:white;
  font-size:9px;
  font-weight:700;
}
.operator-actions button.primary{
  color:white;
  background:var(--atlantic);
  border-color:var(--atlantic);
}
.operator-location-tabs{
  display:flex;
  gap:8px;
  margin:24px 0 18px;
  padding-bottom:16px;
  overflow-x:auto;
  border-bottom:1px solid var(--line);
}
.operator-location-tabs button{
  white-space:nowrap;
  padding:9px 12px;
  border:1px solid transparent;
  border-radius:999px;
  color:#718588;
  background:transparent;
  font-size:9px;
  font-weight:700;
}
.operator-location-tabs button.active{
  color:#15545c;
  border-color:rgba(47,112,117,.18);
  background:rgba(47,112,117,.08);
}
.operator-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.operator-summary article{
  padding:16px;
  border:1px solid var(--line);
  border-radius:15px;
  background:white;
}
.operator-summary span,.operator-summary strong,.operator-summary small{display:block}
.operator-summary span{color:#768b8d;font-size:8px;text-transform:uppercase;letter-spacing:.09em}
.operator-summary strong{margin:6px 0 4px;font-size:24px}
.operator-summary small{color:#59927f;font-size:8px}
.operator-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:12px;
  margin-top:12px;
}
.operator-card{
  padding:18px;
  border:1px solid var(--line);
  border-radius:17px;
  background:white;
}
.operator-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.operator-card-head small,.operator-card-head strong{display:block}
.operator-card-head small{color:#7b8e90;font-size:8px;text-transform:uppercase;letter-spacing:.1em}
.operator-card-head strong{margin-top:4px;font-size:12px}
.operator-card-head button{
  border:0;color:var(--sea);background:transparent;font-size:8px;font-weight:700;
}
.reservation-row{
  display:grid;
  grid-template-columns:46px 1fr auto auto;
  gap:10px;
  align-items:center;
  padding:12px 0;
  border-top:1px solid var(--line);
}
.reservation-row.highlighted{
  margin-inline:-8px;
  padding-inline:8px;
  border-radius:12px;
  background:rgba(216,179,108,.07);
}
.reservation-time{font-size:10px;font-weight:800}
.reservation-guest strong,.reservation-guest small{display:block}
.reservation-guest strong{font-size:10px}
.reservation-guest small{margin-top:3px;color:#819193;font-size:8px}
.reservation-tag{
  padding:6px 8px;
  border-radius:999px;
  color:#5d7778;
  background:#eef3ef;
  font-size:7px;
}
.reservation-status{
  padding:6px 8px;
  border-radius:999px;
  font-size:7px;
  font-weight:700;
}
.reservation-status.confirmed{color:#36745f;background:#e5f3ed}
.reservation-status.seated{color:#4c6270;background:#e8eef2}
.reservation-status.pending{color:#8a652a;background:#f5ebd8}
.operator-live{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#4a826f;
  font-size:8px;
  text-transform:uppercase;
}
.operator-live i{width:6px;height:6px;border-radius:50%;background:#66ba98;animation:pulse 1.8s infinite}
.call-activity-item,.alert-item{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px 0;
  border-top:1px solid var(--line);
}
.call-activity-icon,.alert-item i{
  width:27px;height:27px;
  display:grid;place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  color:#4f8174;
  background:#e9f2ee;
  font-style:normal;
  font-size:9px;
}
.call-activity-item strong,.call-activity-item small,.alert-item strong,.alert-item small{display:block}
.call-activity-item strong,.alert-item strong{font-size:9px}
.call-activity-item small,.alert-item small{margin-top:4px;color:#809092;font-size:8px;line-height:1.4}
.alert-count{
  min-width:22px;height:22px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#8a652a;
  background:#f5ebd8;
  font-size:8px;
  font-weight:800;
}
.alert-item.warning i{color:#90641d;background:#f6ead2}
.manager-summary-card p{color:#657a7d;font-size:10px;line-height:1.65}
.summary-points{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.summary-points span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:7px 9px;
  border-radius:999px;
  color:#577276;
  background:#eef3ef;
  font-size:7px;
}
.summary-points i{font-style:normal;color:#4a8a75}

/* V5.2 — Pilot rollout */
.rollout-section{
  padding:120px 0;
  color:var(--oyster);
  background:linear-gradient(140deg,#071d26,#0b3340);
}
.rollout-section .section-heading>p:last-child{color:#a7bcbb}
.rollout-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-top:58px;
}
.rollout-card{
  min-height:370px;
  padding:24px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:rgba(255,255,255,.045);
}
.rollout-week{
  color:#83c5bb;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.rollout-icon{
  width:48px;height:48px;
  display:grid;place-items:center;
  margin:24px 0 32px;
  border-radius:50%;
  color:#f0ca7c;
  background:rgba(216,179,108,.1);
  font-size:11px;
  font-weight:800;
}
.rollout-card h3{
  margin:0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:28px;
}
.rollout-card p{color:#9db4b4;font-size:12px;line-height:1.65}
.rollout-card ul{padding:0;list-style:none;margin:22px 0 0}
.rollout-card li{
  padding:9px 0;
  border-top:1px solid rgba(255,255,255,.07);
  color:#c4d3d1;
  font-size:9px;
}
.rollout-card li:before{content:"✓";margin-right:8px;color:#d8b36c}
.pilot-scorecard{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:34px;
  align-items:center;
  margin-top:18px;
  padding:26px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:rgba(255,255,255,.04);
}
.pilot-scorecard-copy small{
  color:#83c5bb;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.11em;
}
.pilot-scorecard-copy h3{
  margin:7px 0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:28px;
}
.pilot-scorecard-copy p{margin:0;color:#99b1b1;font-size:11px;line-height:1.6}
.pilot-scorecard-metrics{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.pilot-scorecard-metrics div{
  padding:12px 15px;
  border-left:1px solid rgba(255,255,255,.08);
}
.pilot-scorecard-metrics span,.pilot-scorecard-metrics strong{display:block}
.pilot-scorecard-metrics span{color:#789597;font-size:8px;text-transform:uppercase}
.pilot-scorecard-metrics strong{margin-top:6px;font-size:14px}

@media(max-width:1000px){
  .operator-shell{grid-template-columns:180px 1fr}
  .rollout-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:780px){
  .operator-shell{grid-template-columns:1fr}
  .operator-sidebar{display:none}
  .operator-summary{grid-template-columns:repeat(2,1fr)}
  .operator-grid{grid-template-columns:1fr}
  .pilot-scorecard{grid-template-columns:1fr}
}
@media(max-width:620px){
  .operator-section,.rollout-section{padding-block:85px}
  .operator-main{padding:16px}
  .operator-topbar{align-items:flex-start;flex-direction:column}
  .operator-actions{width:100%}
  .operator-actions button{flex:1}
  .reservation-row{grid-template-columns:42px 1fr}
  .reservation-tag,.reservation-status{grid-column:2;justify-self:start}
  .rollout-grid{grid-template-columns:1fr}
  .pilot-scorecard-metrics{grid-template-columns:repeat(2,1fr)}
}


/* V5.3 — Host Stand */
.host-stand-section{
  padding:120px 0;
  background:
    radial-gradient(circle at 88% 8%,rgba(216,179,108,.16),transparent 25%),
    linear-gradient(180deg,#f8f3e9,#edf4ef);
}
.host-device{
  position:relative;
  margin-top:58px;
  padding:18px;
  border:1px solid rgba(5,29,38,.18);
  border-radius:36px;
  background:#10191d;
  box-shadow:0 42px 120px rgba(5,31,39,.24);
}
.device-camera{
  position:absolute;
  left:50%;
  top:7px;
  width:58px;
  height:5px;
  transform:translateX(-50%);
  border-radius:999px;
  background:#273238;
}
.host-app{
  display:grid;
  grid-template-columns:190px 1fr;
  min-height:760px;
  overflow:hidden;
  border-radius:23px;
  background:#f5f3ed;
}
.host-sidebar{
  display:flex;
  flex-direction:column;
  padding:20px 15px;
  color:#dce8e5;
  background:linear-gradient(180deg,#082b37,#061e27);
}
.host-brand{
  display:flex;
  align-items:center;
  gap:10px;
  padding:3px 6px 18px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.host-brand img{width:36px;height:36px}
.host-brand strong,.host-brand span{display:block}
.host-brand strong{font-size:12px}
.host-brand span{margin-top:3px;color:#719092;font-size:8px;text-transform:uppercase;letter-spacing:.1em}
.host-service-card{
  padding:15px;
  margin:16px 0;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.045);
}
.host-service-card small,.host-service-card strong,.host-service-card span{display:block}
.host-service-card small{color:#779497;font-size:8px;text-transform:uppercase;letter-spacing:.1em}
.host-service-card strong{margin:5px 0;font-family:"Playfair Display",Georgia,serif;font-size:22px}
.host-service-card span{display:flex;align-items:center;gap:7px;color:#83c5bb;font-size:8px}
.host-service-card i{width:6px;height:6px;border-radius:50%;background:#78d2b0;animation:pulse 1.7s infinite}
.host-nav{display:grid;gap:5px}
.host-nav button{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 11px;
  border:0;
  border-radius:10px;
  color:#839fa1;
  background:transparent;
  text-align:left;
  font-size:10px;
}
.host-nav button.active{color:white;background:rgba(131,197,187,.1)}
.host-nav span{width:18px;text-align:center}
.host-quick-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
  margin-top:auto;
}
.host-quick-stats div{
  padding:9px 5px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:10px;
  text-align:center;
  background:rgba(255,255,255,.035);
}
.host-quick-stats span,.host-quick-stats strong{display:block}
.host-quick-stats span{color:#6e8b8e;font-size:7px;text-transform:uppercase}
.host-quick-stats strong{margin-top:4px;font-size:15px}
.host-add-button{
  margin-top:10px;
  min-height:40px;
  border:0;
  border-radius:12px;
  color:#092731;
  background:var(--gold);
  font-size:9px;
  font-weight:800;
}
.host-main{padding:22px}
.host-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.host-topbar small{color:#74898b;font-size:8px;text-transform:uppercase;letter-spacing:.1em}
.host-topbar h3{
  margin:4px 0 0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:30px;
}
.host-top-actions{display:flex;gap:8px}
.host-top-actions button{
  min-height:36px;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--ink);
  background:white;
  font-size:8px;
  font-weight:700;
}
.host-top-actions button.primary{color:white;background:var(--atlantic);border-color:var(--atlantic)}
.host-status-bar{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin:18px 0 12px;
}
.host-status-bar div{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:white;
}
.host-status-bar span{color:#718588;font-size:8px}
.host-status-bar strong{font-size:10px}
.status-dot{width:7px;height:7px;border-radius:50%}
.status-dot.available{background:#75b99d}
.status-dot.reserved{background:#d7ae62}
.status-dot.seated{background:#436f79}
.status-dot.cleaning{background:#a4adb0}
.host-workspace{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:12px;
}
.host-floor-panel,.host-queue-panel{
  border:1px solid var(--line);
  border-radius:17px;
  background:white;
}
.host-floor-panel{padding:15px}
.host-floor-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.host-floor-toolbar>div{display:flex;gap:6px}
.host-floor-toolbar button{
  padding:7px 9px;
  border:0;
  border-radius:999px;
  color:#718588;
  background:transparent;
  font-size:7px;
  font-weight:700;
}
.host-floor-toolbar button.active{color:#1e5e64;background:#e9f1ee}
.host-floor-toolbar>span{
  color:#547c77;
  font-size:7px;
}
.host-floor-map{
  position:relative;
  min-height:475px;
  overflow:hidden;
  border-radius:14px;
  background:
    repeating-linear-gradient(0deg,transparent 0 42px,rgba(19,55,63,.03) 43px),
    repeating-linear-gradient(90deg,transparent 0 42px,rgba(19,55,63,.03) 43px),
    #f4f2ec;
}
.host-floor-map:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:42px;
  background:linear-gradient(90deg,rgba(82,149,156,.16),rgba(82,149,156,.04));
  border-top:1px solid rgba(82,149,156,.13);
}
.host-water-line{
  position:absolute;
  left:14px;bottom:14px;z-index:1;
  color:#5d9297;
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.host-table{
  position:absolute;
  left:var(--x);top:var(--y);
  width:58px;height:42px;
  display:grid;
  place-items:center;
  transform:translate(-50%,-50%);
  border:2px solid transparent;
  border-radius:11px;
  box-shadow:0 7px 18px rgba(14,45,53,.08);
  transition:.35s ease;
  cursor:pointer;
}
.host-table.round{width:48px;height:48px;border-radius:50%}
.host-table span,.host-table small{display:block}
.host-table span{font-size:10px;font-weight:800}
.host-table small{font-size:6px}
.host-table.available{color:#2f705d;background:#dff0e8;border-color:#b8ddce}
.host-table.reserved{color:#785a23;background:#f3e6cb;border-color:#e4c78e}
.host-table.seated{color:#e8f1f0;background:#4c727a;border-color:#678b91}
.host-table.cleaning{color:#5e6c70;background:#e2e7e7;border-color:#c8d0d1}
.host-table.selected,.host-table:hover{
  transform:translate(-50%,-50%) scale(1.08);
  box-shadow:0 0 0 7px rgba(47,112,117,.08),0 14px 30px rgba(14,45,53,.16);
}
.host-table-detail{
  position:absolute;
  right:15px;
  bottom:58px;
  z-index:3;
  width:260px;
  padding:15px;
  border:1px solid rgba(20,58,66,.1);
  border-radius:15px;
  background:rgba(255,255,255,.96);
  box-shadow:0 20px 45px rgba(8,38,47,.16);
}
.host-table-detail-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.host-table-detail-head small,.host-table-detail-head strong{display:block}
.host-table-detail-head small{color:#788b8d;font-size:7px;text-transform:uppercase}
.host-table-detail-head strong{margin-top:3px;font-size:12px}
.cleaning-chip{padding:6px 8px;border-radius:999px;color:#66767a;background:#e7ebeb;font-size:7px}
.host-table-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:12px 0;
  border-block:1px solid var(--line);
}
.host-table-detail-grid div{padding:10px 6px;border-right:1px solid var(--line)}
.host-table-detail-grid div:last-child{border:0}
.host-table-detail-grid span,.host-table-detail-grid strong{display:block}
.host-table-detail-grid span{color:#7d8e90;font-size:6px;text-transform:uppercase}
.host-table-detail-grid strong{margin-top:4px;font-size:8px}
.host-table-detail p{color:#647a7d;font-size:8px;line-height:1.5}
.host-table-detail button{
  width:100%;
  min-height:34px;
  border:0;
  border-radius:9px;
  color:white;
  background:var(--atlantic);
  font-size:8px;
  font-weight:700;
}
.host-queue-panel{padding:14px}
.queue-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.queue-tabs button{
  padding:8px;
  border:0;
  border-radius:9px;
  color:#74888b;
  background:transparent;
  font-size:8px;
  font-weight:700;
}
.queue-tabs button.active{color:#1e5e64;background:#e9f1ee}
.queue-tabs span{
  display:inline-grid;
  place-items:center;
  min-width:18px;height:18px;
  margin-left:4px;
  border-radius:50%;
  color:#1e5e64;
  background:white;
  font-size:7px;
}
.queue-list{padding-top:6px}
.queue-item{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:9px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid var(--line);
}
.queue-item.priority{
  margin-inline:-6px;
  padding-inline:6px;
  border-radius:10px;
  background:rgba(216,179,108,.07);
}
.queue-time{
  width:32px;height:32px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#795c29;
  background:#f3e6cb;
  font-size:8px;
  font-weight:800;
}
.queue-item strong,.queue-item small{display:block}
.queue-item strong{font-size:8px}
.queue-item small{margin-top:3px;color:#7c8e90;font-size:7px}
.queue-item button{
  padding:6px 8px;
  border:1px solid var(--line);
  border-radius:8px;
  color:#2c666b;
  background:white;
  font-size:7px;
  font-weight:700;
}
.arrival-time{font-size:8px;font-weight:800}
.arrival-chip{
  padding:6px 7px;
  border-radius:999px;
  color:#427561;
  background:#e6f2ec;
  font-size:6px;
}
.arrival-chip.pending{color:#7f672f;background:#f4ead7}
.host-note-card{
  margin-top:14px;
  padding:12px;
  border-radius:13px;
  background:#f3f0e8;
}
.host-note-head{
  display:flex;
  justify-content:space-between;
  margin-bottom:4px;
}
.host-note-head span{font-size:8px;font-weight:800}
.host-note-head small{
  width:18px;height:18px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#765824;
  background:#ead7b2;
  font-size:7px;
}
.host-note-card>div:not(.host-note-head){
  display:flex;
  gap:8px;
  padding:9px 0;
  border-top:1px solid var(--line);
}
.host-note-card i{font-style:normal;color:#bf8f39}
.host-note-card p{margin:0}
.host-note-card strong,.host-note-card span{display:block}
.host-note-card strong{font-size:8px}
.host-note-card span{margin-top:2px;color:#7d8d8f;font-size:7px}
.host-bottom-feed{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:12px;
}
.host-feed-item{
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:white;
}
.host-feed-item>span{
  width:25px;height:25px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#46766e;
  background:#e8f1ed;
  font-size:8px;
}
.host-feed-item small,.host-feed-item strong{display:block}
.host-feed-item small{color:#7b8e90;font-size:6px}
.host-feed-item strong{margin-top:3px;font-size:7px}
.host-stand-note{
  margin:14px 0 0;
  color:#7c8f91;
  font-size:9px;
  text-align:right;
}

@media(max-width:1050px){
  .host-app{grid-template-columns:165px 1fr}
  .host-workspace{grid-template-columns:1fr}
  .host-queue-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .queue-tabs,.host-note-card{grid-column:1/-1}
}
@media(max-width:780px){
  .host-app{grid-template-columns:1fr}
  .host-sidebar{display:none}
  .host-status-bar{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .host-stand-section{padding-block:85px}
  .host-device{padding:10px;border-radius:24px}
  .host-main{padding:14px}
  .host-topbar{align-items:flex-start;flex-direction:column}
  .host-top-actions{width:100%}
  .host-top-actions button{flex:1}
  .host-floor-toolbar{align-items:flex-start;flex-direction:column}
  .host-floor-map{min-height:520px}
  .host-table-detail{left:12px;right:12px;bottom:55px;width:auto}
  .host-queue-panel{grid-template-columns:1fr}
  .queue-tabs,.host-note-card{grid-column:auto}
  .host-bottom-feed{grid-template-columns:1fr}
}

.guest-intelligence-section{padding:110px 0;background:#f7f4ee}
.guest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:50px}
.guest-card{background:#fff;border:1px solid #ddd;border-radius:18px;padding:22px;box-shadow:0 10px 24px rgba(0,0,0,.06)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.chips span{background:#eef4f2;padding:6px 10px;border-radius:999px;font-size:12px}
.meter{height:10px;background:#e8e8e8;border-radius:999px;overflow:hidden}
#loyaltyFill{height:100%;width:73%;background:#2f7075;transition:width .6s}
#guestSearch{width:100%;padding:10px;margin-top:10px}
#guestResults{margin-top:10px;line-height:1.8}


/* V5.5 — Executive Command Center */
.executive-section{
  padding:120px 0;
  color:#eaf2ef;
  background:
    radial-gradient(circle at 88% 10%,rgba(216,179,108,.13),transparent 24%),
    radial-gradient(circle at 5% 86%,rgba(76,138,143,.14),transparent 28%),
    linear-gradient(145deg,#051922,#0a2f3a 56%,#061f29);
}
.exec-shell{
  margin-top:58px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:30px;
  background:#071e27;
  box-shadow:0 40px 110px rgba(0,0,0,.3);
}
.exec-topbar,
.exec-toolbar,
.exec-panel-head,
.exec-topbar-actions,
.exec-brand,
.exec-live{
  display:flex;
  align-items:center;
}
.exec-topbar{
  justify-content:space-between;
  gap:20px;
  padding:18px 22px;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.025);
}
.exec-brand{gap:11px}
.exec-brand img{width:38px;height:38px}
.exec-brand strong,.exec-brand span{display:block}
.exec-brand strong{font-size:12px}
.exec-brand span{
  margin-top:3px;
  color:#728f92;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.11em;
}
.exec-topbar-actions{gap:8px}
.exec-live{
  gap:7px;
  margin-right:4px;
  color:#83c5bb;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.exec-live i{
  width:7px;height:7px;
  border-radius:50%;
  background:#77d2ae;
  animation:pulse 1.8s infinite;
}
.exec-topbar-actions button{
  min-height:36px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  color:#cbd8d6;
  background:rgba(255,255,255,.04);
  font-size:8px;
  font-weight:700;
}
.exec-topbar-actions button.primary{
  color:#09242d;
  background:#d8b36c;
  border-color:#d8b36c;
}
.exec-toolbar{
  justify-content:space-between;
  gap:20px;
  padding:26px 24px 12px;
}
.exec-toolbar small{
  color:#789598;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.11em;
}
.exec-toolbar h3{
  margin:5px 0 0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:28px;
}
.exec-range{
  display:flex;
  gap:6px;
  padding:4px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:999px;
  background:rgba(255,255,255,.025);
}
.exec-range button{
  padding:8px 11px;
  border:0;
  border-radius:999px;
  color:#789497;
  background:transparent;
  font-size:7px;
  font-weight:700;
}
.exec-range button.active{
  color:#eaf3f0;
  background:rgba(131,197,187,.12);
}
.exec-kpis{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  padding:12px 24px 14px;
}
.exec-kpis article,
.exec-panel{
  border:1px solid rgba(255,255,255,.075);
  background:rgba(255,255,255,.035);
}
.exec-kpis article{
  padding:17px;
  border-radius:15px;
}
.exec-kpis span,.exec-kpis strong,.exec-kpis small{display:block}
.exec-kpis span{
  color:#789497;
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.exec-kpis strong{
  margin:7px 0 4px;
  color:#f5f7f4;
  font-size:25px;
}
.exec-kpis small{color:#83b4a8;font-size:7px}
.exec-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:12px;
  padding:0 24px 24px;
}
.exec-panel{
  padding:18px;
  border-radius:17px;
}
.exec-panel-head{
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.exec-panel-head small,.exec-panel-head strong{display:block}
.exec-panel-head small{
  color:#718e91;
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.exec-panel-head strong{
  margin-top:4px;
  color:#eef4f2;
  font-size:11px;
}
.exec-panel-head>span,.exec-panel-head button{
  color:#8eb3b1;
  font-size:7px;
}
.exec-panel-head button{
  border:0;
  background:transparent;
}
.location-performance-list{display:grid;gap:8px}
.location-performance-row{
  display:grid;
  grid-template-columns:1.15fr .9fr 42px 72px;
  gap:10px;
  align-items:center;
  padding:11px;
  border:1px solid transparent;
  border-radius:11px;
  cursor:pointer;
  transition:.25s ease;
}
.location-performance-row:hover,
.location-performance-row.active{
  border-color:rgba(131,197,187,.12);
  background:rgba(131,197,187,.055);
}
.location-name{
  display:flex;
  align-items:center;
  gap:9px;
}
.location-name strong,.location-name small{display:block}
.location-name strong{font-size:8px}
.location-name small{margin-top:3px;color:#718d90;font-size:6px}
.location-status{
  width:7px;height:7px;
  flex:0 0 auto;
  border-radius:50%;
}
.location-status.healthy{background:#70c09e}
.location-status.watch{background:#e0ae57}
.location-bar{
  height:6px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.06);
}
.location-bar span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#3e8081,#83c5bb);
}
.location-percent{font-size:9px;text-align:right}
.location-wait{color:#759295;font-size:6px;text-align:right}
.exec-chart{
  position:relative;
  height:220px;
  display:flex;
  align-items:flex-end;
  gap:11px;
  padding:18px 8px 24px;
}
.exec-chart-grid{
  position:absolute;
  inset:12px 0 30px;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 44px);
}
.exec-bar{
  position:relative;
  z-index:1;
  flex:1;
  height:var(--h);
  min-width:14px;
  border-radius:8px 8px 3px 3px;
  background:linear-gradient(180deg,#4f8f91,#295f69);
}
.exec-bar.active{
  background:linear-gradient(180deg,#e4c07a,#a77b39);
  box-shadow:0 0 28px rgba(216,179,108,.18);
}
.exec-bar span{
  position:absolute;
  left:50%;
  bottom:-18px;
  transform:translateX(-50%);
  color:#6f8c8f;
  font-size:6px;
}
.exec-alert{
  display:grid;
  grid-template-columns:28px 1fr auto;
  gap:10px;
  align-items:start;
  padding:12px 0;
  border-top:1px solid rgba(255,255,255,.06);
}
.exec-alert>i{
  width:27px;height:27px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#8fb7b1;
  background:rgba(131,197,187,.09);
  font-style:normal;
  font-size:8px;
}
.exec-alert.warning>i{color:#e0b561;background:rgba(224,181,97,.1)}
.exec-alert.critical>i{color:#e18a78;background:rgba(225,138,120,.1)}
.exec-alert strong,.exec-alert small{display:block}
.exec-alert strong{font-size:8px}
.exec-alert small{margin-top:4px;color:#718c8f;font-size:7px;line-height:1.45}
.exec-alert>span{color:#6d898c;font-size:6px}
.exec-alert-count{
  min-width:22px;height:22px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#d9b66d!important;
  background:rgba(216,179,108,.1);
}
.guest-moment-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:9px;
}
.guest-moment-grid article{
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:12px;
  background:rgba(255,255,255,.025);
}
.guest-moment-grid article>span{
  width:32px;height:32px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(216,179,108,.08);
  font-size:12px;
}
.guest-moment-grid strong,.guest-moment-grid small{display:block}
.guest-moment-grid strong{font-size:8px}
.guest-moment-grid small{margin-top:3px;color:#708c8f;font-size:6px}
.exec-summary{grid-column:1/2}
.exec-detail{grid-column:2/3}
.exec-summary p,
.exec-detail p{
  color:#8fa7a7;
  font-size:9px;
  line-height:1.7;
}
.exec-summary-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:14px;
}
.exec-summary-actions span{
  padding:7px 9px;
  border-radius:999px;
  color:#8eaaa8;
  background:rgba(255,255,255,.04);
  font-size:6px;
}
.exec-summary-actions i{font-style:normal;color:#79b9a2}
.exec-generated b{color:#b9cbc8}
.exec-detail-metrics{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin:10px 0 12px;
  border-block:1px solid rgba(255,255,255,.06);
}
.exec-detail-metrics div{
  padding:11px 8px;
  border-right:1px solid rgba(255,255,255,.06);
}
.exec-detail-metrics div:last-child{border:0}
.exec-detail-metrics span,.exec-detail-metrics strong{display:block}
.exec-detail-metrics span{
  color:#6e898c;
  font-size:6px;
  text-transform:uppercase;
}
.exec-detail-metrics strong{
  margin-top:5px;
  font-size:12px;
}
.exec-disclaimer{
  margin:14px 0 0;
  color:#688487;
  font-size:8px;
  text-align:right;
}

@media(max-width:900px){
  .exec-kpis{grid-template-columns:repeat(2,1fr)}
  .exec-grid{grid-template-columns:1fr}
  .exec-summary,.exec-detail{grid-column:auto}
}
@media(max-width:650px){
  .executive-section{padding-block:85px}
  .exec-topbar,.exec-toolbar{align-items:flex-start;flex-direction:column}
  .exec-topbar-actions{width:100%;flex-wrap:wrap}
  .exec-live{width:100%}
  .exec-range{width:100%}
  .exec-range button{flex:1}
  .exec-kpis,.exec-grid{padding-inline:14px}
  .exec-kpis{grid-template-columns:1fr 1fr}
  .location-performance-row{
    grid-template-columns:1fr 44px;
  }
  .location-bar,.location-wait{grid-column:1/-1}
  .guest-moment-grid{grid-template-columns:1fr}
  .exec-detail-metrics{grid-template-columns:repeat(2,1fr)}
}


/* V5.6 — Hospitality Analytics */
.analytics-section{
  padding:120px 0;
  background:
    radial-gradient(circle at 12% 12%,rgba(131,197,187,.17),transparent 24%),
    radial-gradient(circle at 88% 84%,rgba(216,179,108,.13),transparent 25%),
    linear-gradient(180deg,#f7f3ea,#edf4ef);
}
.analytics-shell{
  margin-top:58px;
  padding:24px;
  border:1px solid rgba(13,48,59,.12);
  border-radius:30px;
  background:#f6f4ee;
  box-shadow:0 36px 100px rgba(5,34,42,.16);
}
.analytics-header,
.analytics-controls,
.analytics-period,
.analytics-panel-head{
  display:flex;
  align-items:center;
}
.analytics-header{
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.analytics-header small{
  color:#748a8c;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.analytics-header h3{
  margin:5px 0 0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:29px;
}
.analytics-controls{gap:9px}
.analytics-controls select{
  min-height:38px;
  padding:0 34px 0 13px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--ink);
  background:white;
  font-size:8px;
}
.analytics-period{
  gap:4px;
  padding:4px;
  border:1px solid var(--line);
  border-radius:999px;
  background:white;
}
.analytics-period button{
  padding:7px 10px;
  border:0;
  border-radius:999px;
  color:#74898b;
  background:transparent;
  font-size:7px;
  font-weight:700;
}
.analytics-period button.active{
  color:white;
  background:var(--atlantic);
}
.analytics-kpis{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:12px;
}
.analytics-kpis article,
.analytics-panel{
  border:1px solid var(--line);
  background:white;
}
.analytics-kpis article{
  padding:17px;
  border-radius:15px;
}
.analytics-kpis span,.analytics-kpis strong,.analytics-kpis small{display:block}
.analytics-kpis span{
  color:#73888a;
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.analytics-kpis strong{
  margin:7px 0 4px;
  font-size:24px;
}
.analytics-kpis small{
  color:#4f8b78;
  font-size:7px;
}
.analytics-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:12px;
}
.analytics-panel{
  padding:18px;
  border-radius:17px;
}
.analytics-panel-head{
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.analytics-panel-head small,.analytics-panel-head strong{display:block}
.analytics-panel-head small{
  color:#778a8d;
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.analytics-panel-head strong{
  margin-top:4px;
  font-size:11px;
}
.analytics-panel-head>span,
.analytics-panel-head button{
  color:#56827c;
  font-size:7px;
}
.analytics-panel-head button{
  border:0;
  background:transparent;
}
.analytics-trend-panel{min-height:330px}
.line-chart{padding-top:4px;color:#3f807f}
.line-chart svg{width:100%;height:230px;overflow:visible}
.chart-grid-lines line{
  stroke:rgba(22,63,70,.08);
  stroke-width:1;
}
.conversion-area{fill:url(#analyticsArea)}
.conversion-line{
  fill:none;
  stroke:currentColor;
  stroke-width:4;
  stroke-linecap:round;
}
.chart-points circle{
  fill:white;
  stroke:currentColor;
  stroke-width:3;
}
.line-chart-labels{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  color:#778b8d;
  font-size:7px;
  text-align:center;
}
.opportunity-list{display:grid;gap:8px}
.opportunity-list article{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#faf9f5;
}
.opportunity-list strong,.opportunity-list small{display:block}
.opportunity-list strong{font-size:8px}
.opportunity-list small{margin-top:4px;color:#7b8d8f;font-size:7px}
.opportunity-list article>span{
  color:#9b702e;
  font-size:13px;
  font-weight:800;
}
.analytics-heatmap{
  display:grid;
  grid-template-columns:48px repeat(5,1fr);
  gap:6px;
}
.heatmap-label{
  display:grid;
  place-items:center;
  min-height:26px;
  color:#76898c;
  font-size:7px;
}
.analytics-heatmap button{
  min-height:26px;
  border:0;
  border-radius:6px;
  background:rgba(47,112,117,var(--v));
}
.analytics-heatmap button:hover{
  outline:2px solid rgba(47,112,117,.18);
  transform:scale(1.04);
}
.channel-layout{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:24px;
  align-items:center;
}
.channel-donut{
  position:relative;
  width:140px;height:140px;
  border-radius:50%;
  background:conic-gradient(#2f7075 0 42%,#83bcb5 42% 73%,#d8b36c 73% 91%,#c9d1cf 91% 100%);
}
.channel-donut:after{
  content:"";
  position:absolute;
  inset:24px;
  border-radius:50%;
  background:white;
}
.channel-donut-center{
  position:absolute;
  inset:0;
  z-index:1;
  display:grid;
  place-content:center;
  text-align:center;
}
.channel-donut-center strong,.channel-donut-center span{display:block}
.channel-donut-center strong{font-size:23px}
.channel-donut-center span{color:#788b8d;font-size:7px;text-transform:uppercase}
.channel-legend{display:grid;gap:10px}
.channel-legend div{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:8px;
}
.channel-legend i{
  width:8px;height:8px;
  border-radius:50%;
}
.channel-legend i.phone{background:#2f7075}
.channel-legend i.web{background:#83bcb5}
.channel-legend i.walkin{background:#d8b36c}
.channel-legend i.other{background:#c9d1cf}
.channel-legend span{color:#718588;font-size:8px}
.channel-legend strong{font-size:8px}
.insight-list{display:grid;gap:9px}
.insight-list article{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:11px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#faf9f5;
}
.insight-list article>span{
  width:30px;height:30px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#875f22;
  background:#f0e2c5;
  font-size:8px;
  font-weight:800;
}
.insight-list strong{font-size:8px}
.insight-list p{
  margin:4px 0 0;
  color:#74888b;
  font-size:7px;
  line-height:1.55;
}
.repeat-guest-score{
  display:grid;
  grid-template-columns:145px 1fr;
  gap:22px;
  align-items:center;
}
.repeat-ring{
  width:138px;height:138px;
  display:grid;
  place-content:center;
  border-radius:50%;
  text-align:center;
  background:
    radial-gradient(circle closest-side,white 77%,transparent 78% 99%),
    conic-gradient(#2f7075 0 31%,#e8ece9 31% 100%);
}
.repeat-ring strong,.repeat-ring span{display:block}
.repeat-ring strong{font-size:24px}
.repeat-ring span{color:#788c8e;font-size:7px;text-transform:uppercase}
.repeat-copy>strong{font-size:10px}
.repeat-copy p{
  color:#73878a;
  font-size:8px;
  line-height:1.6;
}
.repeat-copy>div{
  display:flex;
  justify-content:space-between;
  padding:8px 0;
  border-top:1px solid var(--line);
}
.repeat-copy span{color:#718588;font-size:7px}
.repeat-copy b{font-size:8px}
.analytics-disclaimer{
  margin:14px 0 0;
  color:#7a8d8f;
  font-size:8px;
  text-align:right;
}

@media(max-width:900px){
  .analytics-kpis{grid-template-columns:repeat(2,1fr)}
  .analytics-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .analytics-section{padding-block:85px}
  .analytics-shell{padding:14px}
  .analytics-header{align-items:flex-start;flex-direction:column}
  .analytics-controls{width:100%;align-items:stretch;flex-direction:column}
  .analytics-controls select{width:100%}
  .analytics-period{width:100%}
  .analytics-period button{flex:1}
  .analytics-kpis{grid-template-columns:1fr 1fr}
  .channel-layout,.repeat-guest-score{grid-template-columns:1fr}
  .channel-donut,.repeat-ring{margin:auto}
}


/* V6 — AI Concierge */
.concierge-section{
  padding:120px 0;
  background:
    radial-gradient(circle at 80% 10%,rgba(216,179,108,.13),transparent 24%),
    radial-gradient(circle at 10% 85%,rgba(70,132,137,.13),transparent 30%),
    linear-gradient(180deg,#071c25,#0b3340);
  color:#edf5f2;
}
.concierge-section .section-heading p{color:#a8bebc}
.concierge-section .section-heading h2{color:#f7faf8}
.concierge-shell{
  margin-top:58px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:30px;
  background:#f6f4ee;
  color:#16363d;
  box-shadow:0 40px 110px rgba(0,0,0,.28);
}
.concierge-topbar,
.concierge-identity,
.concierge-actions,
.conversation-header,
.reservation-panel-head,
.availability-card{
  display:flex;
  align-items:center;
}
.concierge-topbar{
  justify-content:space-between;
  gap:18px;
  padding:18px 22px;
  border-bottom:1px solid rgba(13,48,59,.1);
  background:#fff;
}
.concierge-identity{gap:11px}
.concierge-avatar,
.message-avatar{
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,#2f7075,#1f4f59);
  font-weight:800;
}
.concierge-avatar{width:40px;height:40px;font-size:10px}
.concierge-identity strong,.concierge-identity span{display:block}
.concierge-identity strong{font-size:12px}
.concierge-identity span{
  margin-top:3px;
  color:#6e888a;
  font-size:8px;
}
.concierge-identity span i{
  display:inline-block;
  width:7px;height:7px;
  margin-right:5px;
  border-radius:50%;
  background:#67b793;
  animation:pulse 1.8s infinite;
}
.concierge-actions{gap:8px}
.concierge-actions button{
  min-height:36px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:999px;
  color:#34565c;
  background:#fff;
  font-size:8px;
  font-weight:700;
}
.concierge-actions button.primary{
  color:#fff;
  border-color:#2f7075;
  background:#2f7075;
}
.concierge-layout{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  min-height:660px;
}
.concierge-conversation{
  display:flex;
  flex-direction:column;
  padding:24px;
  border-right:1px solid rgba(13,48,59,.1);
  background:#f8f7f2;
}
.conversation-header{
  justify-content:space-between;
  gap:15px;
  padding-bottom:17px;
  border-bottom:1px solid rgba(13,48,59,.09);
}
.conversation-header small,.conversation-header strong{display:block}
.conversation-header small{
  color:#7b8f91;
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.conversation-header strong{margin-top:4px;font-size:11px}
.conversation-header>span{
  color:#4f7b79;
  font-size:7px;
}
.conversation-thread{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:13px;
  overflow-y:auto;
  padding:22px 3px;
  max-height:430px;
}
.message{
  display:flex;
  gap:9px;
  align-items:flex-end;
}
.message-avatar{
  width:28px;height:28px;
  flex:0 0 auto;
  font-size:7px;
}
.message.user-message{
  justify-content:flex-end;
}
.message.user-message .message-avatar{
  order:2;
  color:#304f55;
  background:#e7ece8;
}
.message-bubble{
  max-width:76%;
  padding:12px 14px;
  border-radius:14px 14px 14px 4px;
  background:#fff;
  box-shadow:0 5px 18px rgba(21,58,65,.06);
}
.user-message .message-bubble{
  color:#fff;
  border-radius:14px 14px 4px 14px;
  background:#2f7075;
}
.message-bubble p{
  margin:0;
  font-size:9px;
  line-height:1.55;
}
.message-bubble span{
  display:block;
  margin-top:6px;
  color:#829497;
  font-size:6px;
}
.user-message .message-bubble span{color:#c8dcda}
.conversation-quick-replies{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:12px;
}
.conversation-quick-replies button{
  padding:8px 10px;
  border:1px solid rgba(47,112,117,.18);
  border-radius:999px;
  color:#37666a;
  background:#eef4f1;
  font-size:7px;
}
.conversation-input{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  padding-top:12px;
  border-top:1px solid rgba(13,48,59,.09);
}
.conversation-input input{
  min-height:42px;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  font-size:9px;
}
.conversation-input button{
  min-width:70px;
  border:0;
  border-radius:12px;
  color:#fff;
  background:#2f7075;
  font-size:8px;
  font-weight:800;
}
.concierge-reservation-panel{
  padding:24px;
  background:#fff;
}
.reservation-panel-head{
  justify-content:space-between;
  gap:14px;
  margin-bottom:13px;
}
.reservation-panel-head small,.reservation-panel-head strong{display:block}
.reservation-panel-head small{
  color:#7b8f91;
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.reservation-panel-head strong{margin-top:4px;font-size:12px}
.reservation-status-dot{
  width:9px;height:9px;
  border-radius:50%;
  background:#d8b36c;
  box-shadow:0 0 0 6px rgba(216,179,108,.12);
}
.reservation-progress{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:5px;
  margin-bottom:20px;
}
.reservation-progress span{
  height:5px;
  border-radius:999px;
  background:#e5e8e4;
}
.reservation-progress span.active{background:#2f7075}
.reservation-details{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:9px;
}
.reservation-details>div{
  padding:12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#faf9f5;
}
.reservation-details span,.reservation-details strong{display:block}
.reservation-details span{
  color:#7b8f91;
  font-size:6px;
  text-transform:uppercase;
}
.reservation-details strong{
  margin-top:5px;
  font-size:9px;
}
.availability-card{
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
  padding:14px;
  border-radius:12px;
  color:#fff;
  background:#193f49;
}
.availability-card small,.availability-card strong{display:block}
.availability-card small{
  color:#9db9b6;
  font-size:6px;
  text-transform:uppercase;
}
.availability-card strong{margin-top:4px;font-size:9px}
.availability-card>span{
  font-size:9px;
  font-weight:800;
}
.guest-memory-card{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:11px;
  margin-top:12px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8f5ed;
}
.guest-memory-icon{
  width:32px;height:32px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#8b6428;
  background:#f0e2c5;
  font-size:12px;
}
.guest-memory-card small,.guest-memory-card strong{display:block}
.guest-memory-card small{
  color:#7b8f91;
  font-size:6px;
  text-transform:uppercase;
}
.guest-memory-card strong{margin-top:4px;font-size:9px}
.guest-memory-card p{
  margin:5px 0 0;
  color:#74888a;
  font-size:7px;
  line-height:1.5;
}
.confirm-reservation-button{
  width:100%;
  min-height:43px;
  margin-top:14px;
  border:0;
  border-radius:12px;
  color:#fff;
  background:#2f7075;
  font-size:8px;
  font-weight:800;
}
.confirm-reservation-button:disabled{
  cursor:not-allowed;
  color:#9ba7a5;
  background:#e4e7e3;
}
.concierge-impact-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  padding:0 24px 24px;
  background:#fff;
}
.concierge-impact-grid article{
  display:grid;
  grid-template-columns:32px 1fr;
  gap:10px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#faf9f5;
}
.concierge-impact-grid article>span{
  width:30px;height:30px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#fff;
  background:#2f7075;
  font-size:7px;
  font-weight:800;
}
.concierge-impact-grid strong{font-size:8px}
.concierge-impact-grid p{
  margin:4px 0 0;
  color:#74888b;
  font-size:7px;
  line-height:1.5;
}
.concierge-disclaimer{
  margin:14px 0 0;
  color:#829b9d;
  font-size:8px;
  text-align:right;
}

@media(max-width:900px){
  .concierge-layout{grid-template-columns:1fr}
  .concierge-conversation{border-right:0;border-bottom:1px solid var(--line)}
}
@media(max-width:650px){
  .concierge-section{padding-block:85px}
  .concierge-topbar{align-items:flex-start;flex-direction:column}
  .concierge-actions{width:100%}
  .concierge-actions button{flex:1}
  .concierge-conversation,.concierge-reservation-panel{padding:16px}
  .reservation-details{grid-template-columns:1fr 1fr}
  .concierge-impact-grid{grid-template-columns:1fr;padding-inline:16px}
  .message-bubble{max-width:84%}
}


/* V7.0 — Digital Twin */
.twin-section{
  position:relative;
  padding:120px 0;
  overflow:hidden;
  color:#edf5f2;
  background:
    radial-gradient(circle at 15% 10%,rgba(63,139,143,.20),transparent 28%),
    radial-gradient(circle at 88% 72%,rgba(216,179,108,.13),transparent 25%),
    linear-gradient(145deg,#061923,#082c38 58%,#0b3944);
}
.twin-section:before{
  content:"";
  position:absolute;inset:0;
  opacity:.22;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:38px 38px;
}
.twin-section .container{position:relative;z-index:1}
.twin-intro{
  display:flex;align-items:flex-end;justify-content:space-between;gap:30px;
}
.twin-intro>div:first-child{max-width:720px}
.twin-intro h2{
  margin:12px 0 18px;
  color:#fff;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(42px,6vw,74px);
  line-height:.98;
}
.twin-intro p{color:#a9c0be;line-height:1.7}
.twin-intro-actions{display:flex;gap:9px;flex:0 0 auto}
.twin-button{
  min-height:43px;padding:0 17px;border:1px solid #5a9a98;border-radius:999px;
  color:#082a34;background:#d9eee8;font-size:8px;font-weight:800;
  letter-spacing:.03em;
}
.twin-button.secondary{color:#dbe8e5;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.18)}
.portfolio-ribbon{
  display:grid;grid-template-columns:1.3fr repeat(5,1fr);gap:1px;
  margin-top:44px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:18px;
  background:rgba(255,255,255,.08);
}
.portfolio-ribbon article{padding:16px;background:rgba(3,23,31,.72)}
.portfolio-ribbon span,.portfolio-ribbon strong,.portfolio-ribbon small{display:block}
.portfolio-ribbon span{color:#7f9d9d;font-size:6px;letter-spacing:.1em;text-transform:uppercase}
.portfolio-ribbon strong{margin:6px 0 4px;color:#f5faf8;font-size:17px}
.portfolio-ribbon small{color:#8fb0ac;font-size:7px}
.portfolio-ribbon small i{display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:#73c59d}
.twin-app{
  margin-top:14px;overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:24px;
  color:#17383f;background:#eef1ed;box-shadow:0 44px 120px rgba(0,0,0,.34);
}
.twin-app-header{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;
  padding:14px 18px;color:#eaf5f1;background:#092b36;
}
.twin-clock small,.twin-clock strong{display:block}
.twin-clock small{color:#789b9c;font-size:6px;text-transform:uppercase;letter-spacing:.1em}
.twin-clock strong{margin-top:3px;font-size:15px}
.twin-health{display:flex;justify-content:center;gap:18px}
.twin-health span{color:#9db8b5;font-size:7px}
.twin-health i{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%}
.twin-health i.healthy{background:#6fc49b;box-shadow:0 0 0 4px rgba(111,196,155,.08)}
.twin-speed{display:flex;gap:4px}
.twin-speed button{
  width:30px;height:28px;border:1px solid rgba(255,255,255,.12);border-radius:8px;
  color:#8caaa7;background:transparent;font-size:7px;
}
.twin-speed button.active{color:#082a34;background:#d9eee8}
.twin-grid{display:grid;grid-template-columns:1.55fr .8fr;gap:10px;padding:10px}
.twin-panel{
  min-width:0;padding:16px;border:1px solid rgba(14,53,60,.1);border-radius:15px;background:#fff;
  box-shadow:0 8px 25px rgba(13,45,50,.05);
}
.twin-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}
.twin-panel-head small,.twin-panel-head strong{display:block}
.twin-panel-head small{color:#7d9192;font-size:6px;text-transform:uppercase;letter-spacing:.1em}
.twin-panel-head strong{margin-top:4px;font-size:10px}
.twin-panel-head>span,.twin-panel-head button{color:#668384;font-size:7px}
.twin-panel-head button{border:0;background:transparent}
.floor-panel{grid-row:span 2}
.floor-legend{display:flex;flex-wrap:wrap;gap:8px}
.floor-legend span{color:#768a8b;font-size:6px}
.floor-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:3px}
.floor-legend .available{background:#dfe8e1}.floor-legend .reserved{background:#d9b56e}.floor-legend .seated{background:#75aeb0}.floor-legend .dining{background:#2e6c70}.floor-legend .reset{background:#c9d1cf}
.restaurant-floor{
  position:relative;height:470px;overflow:hidden;border:1px solid #d9e2dc;border-radius:14px;
  background:
    linear-gradient(90deg,transparent 74%,rgba(92,153,157,.08) 74%),
    linear-gradient(#f8faf7,#edf2ed);
}
.restaurant-floor:before{
  content:"";position:absolute;left:5%;right:5%;top:34%;height:1px;background:rgba(26,78,83,.08);
  box-shadow:0 145px rgba(26,78,83,.08);
}
.floor-zone{position:absolute;color:#91a4a3;font-size:6px;text-transform:uppercase;letter-spacing:.12em}
.floor-zone.waterfront{top:10px;left:13px}.bar-zone{right:18px;top:37%}.patio-zone{right:18px;bottom:9px}
.floor-table{
  position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);
  width:63px;height:50px;border:2px solid transparent;color:#163a40;background:#e2e9e3;
  box-shadow:0 7px 16px rgba(20,57,61,.12);transition:.35s ease;
}
.floor-table:hover,.floor-table.selected{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 10px 24px rgba(20,57,61,.22)}
.floor-table.round{border-radius:50%}.floor-table.square{border-radius:12px}.floor-table.booth{width:79px;border-radius:10px}
.floor-table span,.floor-table small{display:block}
.floor-table span{font-size:10px;font-weight:800}.floor-table small{margin-top:2px;font-size:6px;opacity:.72}
.floor-table.available{background:#e4ece5;border-color:#cbd9ce}
.floor-table.reserved{background:#f0dfbc;border-color:#d7ae5c}
.floor-table.seated{color:#fff;background:#76aaad;border-color:#5d9498}
.floor-table.dining{color:#fff;background:#2d6970;border-color:#1f545a}
.floor-table.reset{background:#d5dcda;border-color:#b9c5c2}
.floor-table.vip:after{content:"✦";position:absolute;right:-7px;top:-9px;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;color:#7c561d;background:#f2d99e;font-size:8px}
.host-podium{
  position:absolute;left:3%;top:43%;width:46px;height:70px;display:grid;place-items:center;border-radius:7px;
  color:#a8bcba;background:#173f48;font-size:6px;writing-mode:vertical-rl;letter-spacing:.14em;
}
.floor-call-pulse{
  position:absolute;right:18px;top:44%;padding:7px 9px;border-radius:999px;color:#fff;background:#bd6d56;
  font-size:6px;opacity:0;transform:translateX(12px);transition:.35s;
}
.floor-call-pulse.show{opacity:1;transform:translateX(0);animation:twinPulse 1.2s infinite}
.floor-detail{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;
}
.floor-detail>div{padding:10px;border:1px solid #e0e6e1;border-radius:9px;background:#f8faf7}
.floor-detail small,.floor-detail strong{display:block}.floor-detail small{color:#839594;font-size:6px;text-transform:uppercase}.floor-detail strong{margin-top:4px;font-size:7px}
.event-feed{display:grid;gap:8px;max-height:360px;overflow:auto}
.event-feed article{display:grid;grid-template-columns:29px 9px 1fr;gap:8px;align-items:start;padding-bottom:8px;border-bottom:1px solid #edf0ed}
.event-feed time{color:#829492;font-size:6px}.event-feed i{width:8px;height:8px;margin-top:2px;border-radius:50%;background:#69999a}.event-feed i.alert{background:#d49a4d}.event-feed i.guest{background:#9274a4}.event-feed i.table{background:#4e8571}
.event-feed strong{display:block;font-size:7px}.event-feed p{margin:3px 0 0;color:#80908f;font-size:6px;line-height:1.45}
.journey-panel{grid-column:2}
.journey-flow{display:flex;align-items:center;justify-content:space-between}
.journey-flow article{display:grid;justify-items:center;gap:5px;min-width:43px;text-align:center}
.journey-flow article i{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:#83908d;background:#e9ece8;font-size:7px;font-style:normal;font-weight:800}
.journey-flow article.active i{color:#fff;background:#d09b49;box-shadow:0 0 0 5px rgba(208,155,73,.12)}
.journey-flow article.complete i{color:#fff;background:#3b7d72}
.journey-flow article strong{display:block;font-size:6px}.journey-flow article small{display:block;margin-top:2px;color:#859594;font-size:5px}
.journey-flow>span{flex:1;height:1px;margin:0 3px;background:#dde3dd}
.journey-brief{margin-top:12px;padding:10px;border-radius:9px;color:#46676a;background:#edf4f0;font-size:7px;line-height:1.5}
.decisions-panel{grid-column:1/-1}
.decision-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.decision-stack article{display:grid;grid-template-columns:auto 1fr;gap:9px;padding:11px;border:1px solid #e0e6e1;border-radius:10px;background:#f8faf7}
.decision-stack article>span{align-self:start;padding:4px 6px;border-radius:999px;color:#3c716e;background:#dfeee9;font-size:5px;font-weight:800;text-transform:uppercase}
.decision-stack article.priority>span{color:#7c571e;background:#f2dfb8}
.decision-stack strong{display:block;font-size:7px}.decision-stack p{margin:3px 0 0;color:#7c8f8e;font-size:6px;line-height:1.45}
.twin-timeline{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center;padding:16px 18px;border-top:1px solid #dce3de;background:#f7f9f6}
.timeline-copy small,.timeline-copy strong{display:block}.timeline-copy small{color:#829593;font-size:6px;text-transform:uppercase}.timeline-copy strong{margin-top:4px;font-size:8px}
.twin-timeline input{width:100%;accent-color:#2e7475}
.timeline-labels{grid-column:2;display:flex;justify-content:space-between;margin-top:-15px;color:#899998;font-size:5px}
.twin-story{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.twin-story article{padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(2,23,30,.48)}
.twin-story span{color:#d4b36f;font-size:6px;text-transform:uppercase;letter-spacing:.1em}.twin-story strong{display:block;margin:8px 0 5px;color:#f2f8f5;font-size:12px}.twin-story p{margin:0;color:#8eaaa7;font-size:7px;line-height:1.55}
.twin-disclaimer{margin:13px 0 0;color:#789492;font-size:7px;text-align:right}
.twin-toast-stack{position:fixed;right:18px;bottom:18px;z-index:60;display:grid;gap:8px;pointer-events:none}
.twin-toast{width:min(320px,calc(100vw - 36px));padding:13px;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#eaf5f2;background:#0c3540;box-shadow:0 16px 38px rgba(0,0,0,.28);animation:toastIn .3s ease}
.twin-toast strong{display:block;font-size:8px}.twin-toast span{display:block;margin-top:4px;color:#9bb8b4;font-size:7px;line-height:1.45}
@keyframes twinPulse{50%{box-shadow:0 0 0 9px rgba(189,109,86,.12)}}@keyframes toastIn{from{opacity:0;transform:translateY(12px)}}
@media(max-width:950px){
  .portfolio-ribbon{grid-template-columns:repeat(3,1fr)}
  .twin-grid{grid-template-columns:1fr}.floor-panel{grid-row:auto}.journey-panel,.decisions-panel{grid-column:auto}
  .twin-health{display:none}
}
@media(max-width:680px){
  .twin-section{padding-block:84px}.twin-intro{align-items:flex-start;flex-direction:column}.twin-intro-actions{width:100%}.twin-button{flex:1}
  .portfolio-ribbon{grid-template-columns:repeat(2,1fr)}
  .twin-app-header{grid-template-columns:1fr auto}.restaurant-floor{height:430px}.floor-table{width:54px;height:46px}.floor-table.booth{width:65px}
  .floor-detail{grid-template-columns:repeat(2,1fr)}.decision-stack,.twin-story{grid-template-columns:1fr}
  .twin-timeline{grid-template-columns:1fr}.timeline-labels{grid-column:1;margin-top:-12px}
}
