/* =========================================================
   KAIROS — design tokens. Tweak the look from here.
   ========================================================= */
:root{
  /* palette */
  --royal:        #6E1420;   /* primary royal blue */
  --royal-deep:   #561019;   /* dark sections */
  --royal-night:  #3A0A10;
  --gold:         #C9A24B;   /* classical gold */
  --gold-light:   #EAD49A;
  --bronze:       #9A7438;
  --parchment:    #F1E7D3;
  --parchment-2:  #E7DABF;
  --marble:       #FAF8F3;
  --ink:          #2A1517;   /* body text on light */
  --ink-soft:     #5E4A48;
  --line-light:   rgba(201,162,75,.35);

  /* type */
  --f-display: "Cormorant Garamond", Georgia, serif;
  --f-caps:    "Cinzel", Georgia, serif;
  --f-body:    "Inter", system-ui, -apple-system, Segoe UI, sans-serif;

  /* scale */
  --h1: clamp(2.6rem, 5.4vw, 5rem);
  --h2: clamp(2rem, 3.8vw, 3.3rem);
  --story-line: clamp(1.15rem, 1.9vw, 1.6rem);
  --story-big:  clamp(2.2rem, 5.2vw, 4.6rem);

  /* layout */
  --container: 1180px;
  --radius: 14px;
  --section-pad: clamp(72px, 10vw, 128px);
  --gold-grad: linear-gradient(135deg, var(--gold-light) 0%, var(--gold) 45%, var(--bronze) 100%);
  --ease: cubic-bezier(.2,.7,.2,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--f-body);color:var(--ink);background:var(--marble);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(var(--container),100% - 48px);margin-inline:auto}
.container.narrow{width:min(820px,100% - 48px)}

h1,h2,h3{font-family:var(--f-display);font-weight:500;line-height:1.08;letter-spacing:-.01em}
h1{font-size:var(--h1)}
h2{font-size:var(--h2)}
h3{font-size:1.5rem;font-weight:600}
.gold-text{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
em.gold-text{font-style:italic}

.eyebrow{font-family:var(--f-caps);font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-light);margin-bottom:18px}
.eyebrow.dark{color:var(--bronze)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--f-body);font-weight:500;font-size:.95rem;letter-spacing:.02em;padding:15px 28px;border-radius:999px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s,color .3s}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold-grad);color:var(--royal-night);box-shadow:0 10px 30px -10px rgba(201,162,75,.7)}
.btn-gold:hover{box-shadow:0 16px 40px -12px rgba(201,162,75,.9)}
.btn-ghost{border-color:rgba(234,212,154,.55);color:var(--marble);background:transparent}
.btn-ghost:hover{background:rgba(234,212,154,.1)}
.btn-dark{background:var(--royal);color:var(--marble)}
.btn-dark:hover{background:var(--royal-deep)}
.btn-outline-light{border-color:rgba(250,248,243,.6);color:var(--marble);padding:16px 34px}
.btn-outline-light:hover{background:var(--marble);color:var(--royal)}
.btn-sm{padding:10px 20px;font-size:.85rem}
.btn-block{width:100%}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .4s,backdrop-filter .4s,box-shadow .4s}
.nav.scrolled{background:rgba(58,10,16,.82);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line-light)}
.nav-inner{display:flex;align-items:center;gap:32px;height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{width:56px;height:42px}
.brand-name{font-family:var(--f-caps);font-weight:600;letter-spacing:.32em;color:var(--marble);font-size:1.05rem}
.nav-links{display:flex;gap:28px;margin-left:auto}
.nav-links a{color:rgba(250,248,243,.82);text-decoration:none;font-size:.88rem;letter-spacing:.04em;transition:color .2s}
.nav-links a:hover{color:var(--gold-light)}
.menu-toggle{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;margin-left:auto}
.menu-toggle span{display:block;height:1.5px;width:24px;background:var(--marble);margin:7px auto;transition:transform .3s}

/* ---------- split hero ---------- */
.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh;min-height:100svh;background:var(--royal)}
.hero-left{display:flex;align-items:center;padding:120px clamp(24px,6vw,96px) 72px;background:
  radial-gradient(120% 80% at 0% 100%, rgba(58,10,16,.65), transparent 60%), var(--royal);color:var(--marble);position:relative}
.hero-left::after{content:"";position:absolute;top:0;right:0;width:1px;height:100%;background:linear-gradient(transparent,var(--gold),transparent);opacity:.6}
.hero-copy{max-width:580px}
.hero h1{color:var(--marble);margin-bottom:26px}
.lead{font-size:1.08rem;color:rgba(250,248,243,.82);max-width:520px;margin-bottom:34px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px}
.hero-ctas.center{justify-content:center}
.hero-note{margin-top:28px;font-size:.85rem;color:rgba(250,248,243,.7);display:flex;align-items:center;gap:10px}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(201,162,75,.7);animation:pulse 2.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(201,162,75,0)}100%{box-shadow:0 0 0 0 rgba(201,162,75,0)}}
.hero-right{position:relative;overflow:hidden;background:var(--royal-night)}
.hero-img{width:100%;height:100%;object-fit:cover;object-position:58% 40%;animation:slowzoom 18s ease-in-out infinite alternate}
@keyframes slowzoom{from{transform:scale(1.02)}to{transform:scale(1.1)}}
.caption{position:absolute;left:28px;bottom:24px;font-family:var(--f-caps);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(250,248,243,.8)}

/* ---------- scroll story ---------- */
/* Default (no JS / reduced motion): scenes stack as full-screen panels */
.story{position:relative;background:var(--royal-night)}
.scene{position:relative;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center}
.scene-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scene-shade{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(58,10,16,.25),rgba(58,10,16,.7))}
.scene-shade.light{background:radial-gradient(ellipse at center,rgba(241,231,211,.2),rgba(241,231,211,.75))}
.scene-text{position:relative;z-index:2;text-align:center;color:var(--marble);padding:0 24px;max-width:900px;display:grid;gap:18px;text-shadow:0 2px 24px rgba(58,10,16,.55)}
.scene-text.dark{color:var(--royal-deep);text-shadow:0 1px 18px rgba(241,231,211,.9)}
.line{font-family:var(--f-display);font-size:var(--story-line);font-weight:500;line-height:1.35}
.story-progress{display:none}

/* Enhanced (GSAP loaded): one pinned stage, layered scenes */
.story-js .story-stage{position:relative;height:100vh;height:100svh;overflow:hidden}
.story-js .scene{position:absolute;inset:0;will-change:transform,opacity}
.story-js .scene-img{will-change:transform}
.story-js .story-progress{display:block;position:absolute;left:50%;bottom:28px;transform:translateX(-50%);width:120px;height:2px;background:rgba(250,248,243,.25);z-index:5;border-radius:2px;overflow:hidden}
.story-js .story-progress span{display:block;height:100%;width:100%;background:var(--gold);transform-origin:left;transform:scaleX(0)}
.line.big{font-size:var(--story-big);line-height:1.05;font-weight:500}

/* ---------- generic sections ---------- */
.section{padding:var(--section-pad) 0;position:relative}
.marble{background:var(--marble)}
.parchment,.faq-sec,.who{background:var(--parchment)}
.dark-sec{background:var(--royal-deep);color:var(--marble)}
.section-head{text-align:center;max-width:760px;margin:0 auto 64px}
.section-head h2{margin-bottom:18px}
.sub{color:var(--ink-soft);font-size:1.06rem}
.sub.light{color:rgba(250,248,243,.75)}
.sub.left{text-align:left}

/* meander border on top of key sections */
.marble::before,.who::before,.faq-sec::before,.dark-sec::before{content:"";position:absolute;left:0;right:0;top:0;height:14px;opacity:.55;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14' viewBox='0 0 28 14'%3E%3Cpath d='M0 13h26V1H4v8h14V5h-6' fill='none' stroke='%23C9A24B' stroke-width='1.4'/%3E%3C/svg%3E") repeat-x}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.card{background:#fff;border:1px solid rgba(154,116,56,.18);border-radius:var(--radius);padding:38px 32px;box-shadow:0 20px 50px -30px rgba(86,16,25,.35);transition:transform .4s var(--ease),box-shadow .4s}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(86,16,25,.45)}
.card h3{margin:20px 0 10px}
.card p{color:var(--ink-soft)}
.icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--royal);box-shadow:inset 0 0 0 1px var(--gold)}
.icon svg{width:24px;height:24px;fill:var(--gold-light);stroke:var(--gold-light)}

/* how it works */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-light)}
.step{padding:44px 36px 10px;border-right:1px solid var(--line-light)}
.step:last-child{border-right:0}
.numeral{font-family:var(--f-caps);font-size:3rem;line-height:1;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:22px}
.step h3{font-size:1.9rem;margin-bottom:12px;color:var(--marble)}
.step p{color:rgba(250,248,243,.72)}

/* features */
.feature{padding:34px 4px 0;border-top:1px solid var(--gold)}
.feature h3{margin-bottom:10px;color:var(--royal-deep)}
.feature p{color:var(--ink-soft)}

/* who */
.who-inner{display:grid;grid-template-columns:1fr 1.15fr;gap:72px;align-items:center}
.who-list{display:grid;gap:18px}
.who-item{display:flex;gap:22px;background:rgba(250,248,243,.7);border:1px solid rgba(154,116,56,.22);border-radius:var(--radius);padding:26px 28px}
.who-item h3{color:var(--royal-deep);margin-bottom:6px}
.who-item p{color:var(--ink-soft)}
.col-icon{flex:none;width:18px;height:56px;border-radius:2px;background:
  repeating-linear-gradient(90deg,var(--gold) 0 2px,transparent 2px 5px);position:relative;opacity:.85}
.col-icon::before,.col-icon::after{content:"";position:absolute;left:-4px;right:-4px;height:5px;background:var(--gold)}
.col-icon::before{top:-5px}.col-icon::after{bottom:-5px}

/* pricing */
.price-wrap{display:flex;justify-content:center}
.price-card{position:relative;width:min(560px,100%);background:linear-gradient(180deg,rgba(250,248,243,.06),rgba(250,248,243,.02));border:1px solid var(--line-light);border-radius:22px;padding:56px 48px 40px;text-align:center;box-shadow:0 40px 90px -40px rgba(0,0,0,.6)}
.ribbon{position:absolute;top:-15px;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--gold-grad);color:var(--royal-night);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:7px 18px;border-radius:999px}
.price-mark{width:72px;height:54px;margin:0 auto 14px}
.price-card h3{font-size:2rem;color:var(--marble);margin-bottom:26px}
.price-row{display:flex;justify-content:center;align-items:center;gap:22px}
.price-row>div{display:flex;flex-direction:column;align-items:center}
.amt{font-family:var(--f-display);font-size:3.6rem;font-weight:600;line-height:1;color:var(--gold-light)}
.per{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(250,248,243,.65);margin-top:8px}
.plus{font-family:var(--f-display);font-size:2rem;color:var(--gold)}
.cancel{margin:18px 0 28px;color:rgba(250,248,243,.85)}
.checks{list-style:none;text-align:left;display:grid;gap:12px;margin-bottom:32px;padding:26px 0;border-block:1px solid var(--line-light)}
.checks li{padding-left:28px;position:relative;color:rgba(250,248,243,.85)}
.checks li::before{content:"";position:absolute;left:4px;top:.5em;width:9px;height:9px;transform:rotate(45deg);background:var(--gold)}
.checks em{color:rgba(250,248,243,.55);font-style:normal;font-size:.9em}
.pilot{margin-top:28px;padding:20px;border-radius:12px;background:rgba(201,162,75,.1);border:1px dashed var(--line-light)}
.pilot strong{font-family:var(--f-display);font-size:1.3rem;color:var(--gold-light);font-weight:600}
.pilot p{font-size:.92rem;color:rgba(250,248,243,.75);margin-top:6px}

/* demo */
.demo-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.demo-copy h2{margin-bottom:18px}
.demo-copy .btn{margin-top:28px}
.small-note{margin-top:14px;font-size:.92rem;color:var(--ink-soft)}
.demo-frame{border-radius:18px;overflow:hidden;border:1px solid rgba(154,116,56,.3);background:#fff;box-shadow:0 40px 80px -40px rgba(86,16,25,.45)}
.frame-bar{display:flex;gap:7px;padding:14px 16px;background:var(--parchment);border-bottom:1px solid rgba(154,116,56,.2)}
.frame-bar span{width:11px;height:11px;border-radius:50%;background:rgba(154,116,56,.45)}
.frame-body{aspect-ratio:4/3;display:grid;place-content:center;justify-items:center;gap:10px;text-align:center;padding:24px;
  background:url(img/parchment-sketch.jpg) center/cover;position:relative}
.frame-body::before{content:"";position:absolute;inset:0;background:rgba(250,248,243,.78)}
.frame-body>*{position:relative}
.frame-mark{width:96px;height:64px}
.frame-body p{font-family:var(--f-display);font-size:1.7rem;color:var(--royal-deep)}
.frame-body small{color:var(--ink-soft);letter-spacing:.05em}

/* faq */
.faq{display:grid;gap:14px}
.faq details{background:var(--marble);border:1px solid rgba(154,116,56,.22);border-radius:12px;padding:0 26px}
.faq summary{cursor:pointer;list-style:none;padding:22px 34px 22px 0;font-family:var(--f-display);font-size:1.35rem;font-weight:600;color:var(--royal-deep);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:var(--f-body);font-weight:300;font-size:1.6rem;color:var(--gold);transition:transform .3s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{padding:0 0 22px;color:var(--ink-soft)}

/* final CTA — solid royal blue */
.cta-sec{background:var(--royal);color:var(--marble);padding:clamp(96px,14vw,170px) 0;text-align:center}
.cta-inner{display:flex;flex-direction:column;align-items:center}
.cta-mark{width:120px;height:90px;margin-bottom:26px}
.cta-sec h2{font-size:clamp(2.6rem,6vw,5rem);margin-bottom:16px}
.cta-sec p{color:rgba(250,248,243,.8);max-width:540px;margin-bottom:36px;font-size:1.08rem}
.cta-mail{margin:22px 0 0 !important}
.cta-mail a{color:var(--gold-light);text-decoration:none;border-bottom:1px solid rgba(234,212,154,.4)}
.placeholder-note{font-size:.78rem !important;color:rgba(250,248,243,.5) !important;margin:12px 0 0 !important}

/* footer */
.footer{background:var(--royal-night);color:rgba(250,248,243,.7);padding:40px 0}
.footer-inner{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.footer-links{display:flex;gap:24px;margin-left:auto}
.footer-links a{text-decoration:none;font-size:.88rem}
.footer-links a:hover{color:var(--gold-light)}
.copy{font-size:.85rem}

/* reveal (only hidden once JS confirms it's running) */
.reveal-ready .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal-ready .reveal.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .nav-links,.nav-cta{display:none}
  .menu-toggle{display:block}
  .nav.open{background:rgba(58,10,16,.96)}
  .nav.open .nav-links{display:flex;flex-direction:column;position:absolute;top:76px;left:0;right:0;background:rgba(58,10,16,.96);padding:12px 24px 28px;gap:18px;border-bottom:1px solid var(--line-light)}
  .nav.open .nav-cta{display:inline-flex;position:absolute;top:calc(76px + 250px);left:24px}
  .hero{grid-template-columns:1fr;grid-template-rows:auto 56vh}
  .hero-left{padding:120px 24px 56px;order:1}
  .hero-left::after{display:none}
  .hero-right{order:2}
  .grid-3,.steps{grid-template-columns:1fr}
  .step{border-right:0;border-bottom:1px solid var(--line-light);padding:32px 4px}
  .who-inner,.demo-inner{grid-template-columns:1fr;gap:40px}
}
@media (max-width:560px){
  .price-card{padding:48px 24px 28px}
  .amt{font-size:2.8rem}
  .price-row{gap:12px}
  .footer-links{margin-left:0;width:100%}
  .who-item{padding:22px}
  .brand-name{font-size:.95rem}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
  html{scroll-behavior:auto}
}

/* final story scene: tall fresco on royal blue */
.scene-final{background:var(--royal-deep)}
.scene-final .scene-img{object-fit:contain;object-position:85% 50%;left:auto;width:100%}
.scene-final .scene-shade{background:linear-gradient(90deg,rgba(86,16,25,.92) 0%,rgba(86,16,25,.6) 45%,rgba(86,16,25,.1) 100%)}
.scene-final .scene-text{justify-self:start;text-align:left;margin-left:clamp(24px,8vw,140px);max-width:640px}
.hero-img{object-position:50% 14%}
.credits{width:100%;font-size:.72rem;color:rgba(250,248,243,.45)}
@media (max-width:980px){
  .scene-final .scene-img{object-position:50% 50%;opacity:.55}
  .scene-final .scene-shade{background:rgba(86,16,25,.55)}
  .scene-final .scene-text{justify-self:center;text-align:center;margin:0}
}

/* --- fixes after visual review --- */
.hero{height:100vh;height:100svh;min-height:640px}
.hero-right{min-height:0}
.hero-img{position:absolute;inset:0;object-position:50% 8%}
.scene-shade.light{background:radial-gradient(ellipse 60% 55% at center,rgba(241,231,211,.94) 0%,rgba(241,231,211,.82) 55%,rgba(241,231,211,.55) 100%)}
.scene-text.dark .line{font-weight:600}
.scene-final .scene-img{object-fit:cover;object-position:50% 8%;left:50%;width:50%}
.scene-final .scene-shade{background:linear-gradient(90deg,var(--royal-deep) 0%,var(--royal-deep) 48%,rgba(86,16,25,.15) 62%,transparent 100%)}
.scene-final .scene-text{max-width:560px}
@media (max-width:980px){
  .hero{height:auto;min-height:0}
  .hero-right{height:56vh}
  .scene-final .scene-img{left:0;width:100%;opacity:.5}
  .scene-final .scene-shade{background:rgba(86,16,25,.5)}
}
section[id]{scroll-margin-top:72px}
.story{scroll-margin-top:0}
@media (max-width:980px){ .scene img[src*="segesta"]{object-position:28% 50%} }
/* strong Kairos hero image */
.hero-img{object-position:68% 30%}
.scene-final .scene-img{object-position:68% 30%}

/* refund note + policy */
.refund-note{margin:-18px 0 28px;font-size:.82rem;letter-spacing:.02em;color:rgba(250,248,243,.6)}
.refund-sec{background:var(--parchment);padding-block:clamp(72px,9vw,110px)}
.policy{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.policy li{background:var(--marble);border:1px solid rgba(154,116,56,.22);border-radius:12px;padding:24px 26px;border-top:2px solid var(--gold)}
.policy h3{font-size:1.35rem;font-weight:600;color:var(--royal-deep);margin-bottom:6px}
.policy p{color:var(--ink-soft)}
@media (max-width:640px){.policy{grid-template-columns:1fr}}

/* Booking widget container (Cal.com / Calendly inline embed goes here) */
.booking-widget{max-width:900px;margin:2rem auto 1rem;min-height:120px;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.06);border:1px solid rgba(212,175,55,.45)}
.booking-widget iframe{width:100%;min-height:640px;border:0;display:block}
.booking-placeholder{padding:2rem 1.5rem;text-align:center}
.booking-placeholder p{margin:.35rem 0}

/* =========================================================
   DEMO CHAT (demo-bot.js) — Kairos Demo Dental demo practice
   ========================================================= */
.demo-points{list-style:none;margin-top:22px;display:grid;gap:10px}
.demo-points li{position:relative;padding-left:26px;color:var(--ink-soft)}
.demo-points li::before{content:"";position:absolute;left:0;top:.62em;width:12px;height:12px;transform:rotate(45deg);background:var(--gold-grad);border-radius:2px}
.frame-bar{align-items:center}
.frame-bar em{margin-left:10px;font-style:normal;font-size:.78rem;color:var(--ink-soft);background:rgba(255,255,255,.7);padding:3px 12px;border-radius:20px;letter-spacing:.02em}
.kc{display:flex;flex-direction:column;background:var(--marble);font-family:var(--f-body);color:var(--ink);font-size:.95rem;line-height:1.5}
.kc-inline{height:560px}
.kc-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,var(--royal-deep),var(--royal));color:var(--marble);border-bottom:2px solid var(--gold)}
.kc-ava{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:1.25rem;background:var(--marble);box-shadow:0 0 0 2px var(--gold)}
.kc-id{display:flex;flex-direction:column;min-width:0;flex:1}
.kc-id strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--f-caps);font-weight:600;letter-spacing:.06em;font-size:.98rem}
.kc-id span{font-size:.78rem;color:var(--gold-light);display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kc-id span::before{flex:none;content:"";width:7px;height:7px;border-radius:50%;background:#4ade80}
.kc-id em{font-style:normal;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;border:1px solid rgba(234,212,154,.6);padding:1px 6px;border-radius:4px}
.kc-reset,.kc-close{background:none;border:1px solid rgba(234,212,154,.4);color:var(--gold-light);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.05rem;line-height:1;flex:none}
.kc-reset:hover,.kc-close:hover{background:rgba(234,212,154,.15)}
.kc-close{font-size:1.4rem}
.kc-log{flex:1;overflow-y:auto;padding:18px 14px 8px;display:flex;flex-direction:column;gap:10px;
  background:linear-gradient(rgba(250,248,243,.93),rgba(250,248,243,.93)),url(img/parchment-sketch.jpg) center/cover;overscroll-behavior:contain}
.kc-msg{max-width:84%;padding:10px 14px;border-radius:16px;word-wrap:break-word;animation:kcIn .25s var(--ease)}
.kc-bot{align-self:flex-start;background:#fff;border:1px solid rgba(154,116,56,.25);border-bottom-left-radius:4px;box-shadow:0 4px 14px -8px rgba(86,16,25,.25)}
.kc-user{align-self:flex-end;background:var(--royal);color:var(--marble);border-bottom-right-radius:4px}
.kc-alert{background:#FFF6E8;border-color:#D9822B;border-left:4px solid #C2410C}
.kc-ok{background:#F2F8EE;border-color:rgba(74,140,60,.4)}
.kc-tag{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;background:var(--parchment);color:var(--bronze);padding:1px 7px;border-radius:4px;border:1px solid rgba(154,116,56,.35);vertical-align:1px}
.kc-note{font-size:.82rem;color:var(--ink-soft);font-style:italic}
.kc-card{margin-top:8px;border:1px solid rgba(154,116,56,.3);border-radius:10px;overflow:hidden;background:var(--marble)}
.kc-card div{display:flex;gap:10px;padding:7px 10px;font-size:.88rem;border-top:1px solid rgba(154,116,56,.15)}
.kc-card div:first-child{border-top:0}
.kc-card span{flex:none;width:62px;color:var(--bronze);font-family:var(--f-caps);font-size:.72rem;letter-spacing:.06em;padding-top:2px}
.kc-typing{display:flex;gap:4px;padding:14px 16px}
.kc-typing i{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:kcDot 1s infinite}
.kc-typing i:nth-child(2){animation-delay:.15s}.kc-typing i:nth-child(3){animation-delay:.3s}
.kc-chips{display:flex;flex-wrap:wrap;gap:7px;padding:8px 14px 10px;background:rgba(250,248,243,.97);max-height:132px;overflow-y:auto}
.kc-chips:empty{display:none}
.kc-chip{font:500 .82rem var(--f-body);color:var(--royal-deep);background:#fff;border:1px solid var(--gold);border-radius:20px;padding:6px 12px;cursor:pointer;transition:background .2s,color .2s}
.kc-chip:hover,.kc-chip:focus-visible{background:var(--royal);color:var(--marble);border-color:var(--royal)}
.kc-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid rgba(154,116,56,.25);background:#fff}
.kc-input{flex:1;min-width:0;font:400 16px var(--f-body);padding:10px 14px;border:1px solid rgba(154,116,56,.35);border-radius:22px;background:var(--marble);color:var(--ink);outline:none}
.kc-input:focus{border-color:var(--royal);box-shadow:0 0 0 3px rgba(110,20,32,.12)}
.kc-send{width:42px;height:42px;flex:none;border:0;border-radius:50%;background:var(--gold-grad);color:var(--royal-night);font-size:1rem;cursor:pointer}
.kc-foot{text-align:center;font-size:.7rem;color:var(--ink-soft);padding:0 10px 8px;background:#fff;letter-spacing:.02em}
.kc-pulse{animation:kcPulse 1.4s var(--ease)}
@keyframes kcIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes kcDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@keyframes kcPulse{0%{box-shadow:0 0 0 0 rgba(201,162,75,.7)}100%{box-shadow:0 0 0 18px rgba(201,162,75,0)}}

/* floating bubble + panel */
.kc-fab{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;align-items:center;gap:9px;padding:13px 20px 13px 16px;border:0;border-radius:40px;cursor:pointer;
  background:var(--gold-grad);color:var(--royal-night);font:600 .9rem var(--f-body);letter-spacing:.02em;box-shadow:0 14px 34px -12px rgba(58,10,16,.6),0 0 0 3px rgba(250,248,243,.7);transition:transform .3s var(--ease),opacity .3s}
.kc-fab svg{width:22px;height:22px}
.kc-fab:hover{transform:translateY(-2px)}
.kc-fab.kc-hide{opacity:0;pointer-events:none;transform:translateY(20px)}
.kc-panel{position:fixed;right:22px;bottom:92px;z-index:95;width:380px;height:min(600px,calc(100vh - 120px));border-radius:18px;overflow:hidden;border:1px solid rgba(154,116,56,.4);box-shadow:0 30px 70px -20px rgba(58,10,16,.55)}
.kc-panel[hidden]{display:none}
@media (max-width:560px){
  .kc-inline{height:520px}
  .kc-fab{right:14px;bottom:14px;padding:12px 16px 12px 13px}
  .kc-panel{inset:0;width:auto;height:100%;height:100dvh;border-radius:0;border:0}
  body.kc-open{overflow:hidden}
  body.kc-open .kc-fab{display:none}
  .kc-msg{max-width:88%}
}
@media (prefers-reduced-motion:reduce){.kc-msg,.kc-typing i,.kc-pulse{animation:none}}

/* restructure 2026-10-19: pricing sits inside How It Works */
#how .price-wrap{margin-top:72px}
#pricing{scroll-margin-top:90px}
#book{padding:clamp(72px,9vw,120px) 0}
.contact-mail{margin-top:22px;font-family:var(--f-display);font-size:clamp(1.3rem,2.4vw,1.7rem)}
.contact-mail a{color:var(--royal);text-decoration:none;border-bottom:1px solid rgba(201,162,75,.6)}
.contact-mail a:hover{color:#9C7A24}

/* Red & Gold overrides: cream text on oxblood */
:root{--cream:#F5EBD8}
.hero-left,.hero h1,.dark-sec,.step h3,.price-card h3,.brand-name,.scene-text{color:var(--cream)}
.lead,.checks li,.cancel{color:rgba(245,235,216,.88)}
.hero-note,.step p,.sub.light,.pilot p{color:rgba(245,235,216,.8)}
.per,.refund-note{color:rgba(245,235,216,.72)}
.checks em{color:rgba(245,235,216,.62)}
.contact-mail a{color:#6E1420}
/* multilingual chat: Arabic/Chinese font fallbacks + RTL bubbles */
.kc{--f-chat:"Inter","Noto Naskh Arabic","Noto Sans SC",system-ui,-apple-system,Segoe UI,sans-serif}
.kc-msg,.kc-input{font-family:var(--f-chat)}
.kc-chip{font-family:var(--f-chat)}
.kc-msg[dir="rtl"]{text-align:right}
.kc-msg{text-align:start}
/* ===== Multilingual feature (pricing item, demo chat language chips) ===== */
:lang(ar){font-family:"Noto Naskh Arabic",serif}
:lang(zh-Hans){font-family:"Noto Sans SC",sans-serif}
.kc-id em.kc-ml{border-color:var(--gold);color:var(--gold-light)}
.kc-langs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-self:stretch;margin:-2px 0 2px}
.kc-lang{height:36px;padding:0 4px;display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;
  font:500 .82rem/1 var(--f-chat);color:var(--royal-deep);background:#fff;border:1px solid var(--gold);border-radius:20px;cursor:pointer;transition:background .2s,color .2s}
.kc-lang:lang(ar){font-family:"Noto Naskh Arabic",serif;font-size:1rem}
.kc-lang:lang(zh-Hans){font-family:"Noto Sans SC",sans-serif}
.kc-lang:hover,.kc-lang:focus-visible{background:var(--royal);color:var(--marble);border-color:var(--royal)}
.checks li.ml-li{padding-left:0;display:flex;align-items:flex-start;gap:6px}
.checks li.ml-li::before{display:none}
.ml-li img{width:20px;height:20px;flex:none;margin:2px 1px 0 1px}
.ml-li strong{color:var(--gold-light);font-weight:500}

/* header status line: let the Multilingual tag wrap instead of clipping */
.kc-id span{flex-wrap:wrap;white-space:normal;row-gap:3px;overflow:visible}
.kc-id span em.kc-ml{flex:none;white-space:nowrap;line-height:1.3}

/* ===================== NO-WHITE: red & gold only (Oct 20) =====================
   Surfaces are dark red / lacquer / marble-red, no gold outlines on cards or bubbles.
   Cream (#F5EBD8) is used for body text only. Buttons keep their current outline. */
:root{--nw-bg:#3A0A10;--nw-bg2:#561019;--nw-glow:#6E1420;--nw-gold:#C9A24B;--nw-goldtxt:#E2C27A;--nw-gold-l:#EAD49A;--nw-cream:#F5EBD8;
  --nw-marble:radial-gradient(120% 80% at 15% 0%,rgba(110,20,32,.55),transparent 60%),radial-gradient(90% 70% at 90% 100%,rgba(110,20,32,.35),transparent 60%),#3A0A10;
  --nw-card:linear-gradient(180deg,#5A121C 0%,#440C15 100%)}
body{background:var(--nw-bg);color:var(--nw-cream)}
.marble{background:var(--nw-marble);color:var(--nw-cream)}
.parchment,.faq-sec,.who,.refund-sec{background:radial-gradient(110% 80% at 85% 0%,rgba(110,20,32,.6),transparent 60%),var(--nw-bg2);color:var(--nw-cream)}
.marble h2,.marble h3,.faq-sec h2,.parchment h2,.who h2,.refund-sec h2{color:var(--nw-gold-l)}
.eyebrow.dark{color:var(--nw-goldtxt)}
.sub{color:rgba(245,235,216,.85)}
.small-note{color:rgba(245,235,216,.78)}
.demo-copy p,.demo-points li{color:rgba(245,235,216,.88)}
.contact-mail a,.contact-mail a:hover{color:var(--nw-goldtxt);border-bottom-color:rgba(226,194,122,.4)}
.card,.who-item,.policy li{background:var(--nw-card);border:0;color:var(--nw-cream);box-shadow:0 20px 50px -30px rgba(0,0,0,.6)}
.policy li{border-top:0}
.price-card{background:linear-gradient(180deg,#5E1420 0%,#470D16 100%);border:0;box-shadow:0 40px 90px -40px rgba(0,0,0,.75),0 0 60px -20px rgba(110,20,32,.9)}
.checks{border-block:0}
.pilot{background:rgba(20,3,6,.28);border:0}
.booking-widget{background:var(--nw-bg);border:0}
/* FAQ */
.faq details{background:var(--nw-card);border:0;box-shadow:0 14px 34px -24px rgba(0,0,0,.7)}
.faq summary{color:var(--nw-gold-l)}
.faq details p{color:rgba(245,235,216,.88)}
/* demo frame */
.demo-frame{background:#2C070D;border:0;box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
.frame-bar{background:var(--nw-bg2);border-bottom:0}
.frame-bar span{background:rgba(226,194,122,.4)}
.frame-bar em{background:rgba(20,3,6,.35);color:var(--nw-goldtxt)}
.frame-body::before{background:rgba(44,7,13,.9)}
/* chat */
.kc{background:#2C070D;color:var(--nw-cream)}
.kc-panel{border:0;box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
.kc-head{border-bottom:0;box-shadow:0 2px 10px -4px rgba(0,0,0,.6)}
.kc-ava{background:var(--nw-glow);box-shadow:none}
.kc-log{background:linear-gradient(rgba(44,7,13,.9),rgba(44,7,13,.9)),url(img/parchment-sketch.jpg) center/cover}
.kc-msg{color:var(--nw-gold-l)}
.kc-bot{background:linear-gradient(180deg,#6A1622 0%,#4C0E17 100%);border:0;box-shadow:0 6px 18px -10px rgba(0,0,0,.7)}
.kc-user{background:linear-gradient(180deg,#43101A 0%,#2C070D 100%);color:var(--nw-gold-l);box-shadow:0 6px 18px -10px rgba(0,0,0,.7)}
.kc-bot b,.kc-user b{color:var(--nw-gold-l)}
.kc-alert{background:linear-gradient(180deg,#6A1622 0%,#4C0E17 100%);border:0;border-left:4px solid #D9822B}
.kc-ok{background:linear-gradient(180deg,#6A1622 0%,#4C0E17 100%);border:0;border-left:4px solid #6FAE5C}
.kc-tag{background:rgba(20,3,6,.35);color:var(--nw-goldtxt);border:0}
.kc-card{background:rgba(20,3,6,.3);border:0}
.kc-card div{border-top-color:rgba(226,194,122,.12);color:var(--nw-cream)}
.kc-card span{color:var(--nw-goldtxt)}
.kc-note{color:rgba(245,235,216,.78)}
.kc-chips{background:#2C070D}
.kc-chip,.kc-lang{background:transparent;color:var(--nw-gold-l)}
.kc-chip:hover,.kc-chip:focus-visible,.kc-lang:hover,.kc-lang:focus-visible{background:var(--nw-glow);color:var(--nw-gold-l);border-color:var(--nw-gold)}
.kc-form{background:#2C070D;border-top:1px solid rgba(0,0,0,.35)}
.kc-input{background:#4C0E17;border:0;color:var(--nw-cream)}
.kc-input::placeholder{color:rgba(226,194,122,.75)}
.kc-input:focus{border:0;box-shadow:0 0 0 2px rgba(201,162,75,.55)}
.kc-foot{background:#2C070D;color:rgba(226,194,122,.8)}
.kc-typing{background:linear-gradient(180deg,#6A1622 0%,#4C0E17 100%)}
.kc-fab{box-shadow:0 14px 34px -12px rgba(0,0,0,.6),0 0 0 3px rgba(58,10,16,.7)}
/* Option A: deep red line (same 1px / 3px widths as today) */
:root{--nw-chatline:#7A1A27}
.kc-panel{border:1px solid var(--nw-chatline)}
.kc-bot,.kc-typing,.kc-alert,.kc-ok,.kc-user{border:1px solid var(--nw-chatline)}
.kc-alert{border-left:4px solid #D9822B}.kc-ok{border-left:4px solid #6FAE5C}
.kc-chip,.kc-lang{border:1px solid var(--nw-chatline)}
.kc-chip:hover,.kc-chip:focus-visible,.kc-lang:hover,.kc-lang:focus-visible{border-color:var(--nw-chatline)}
.kc-input{border:1px solid var(--nw-chatline)}
.kc-input:focus{border-color:var(--nw-chatline)}
.kc-reset,.kc-close{border-color:var(--nw-chatline)}
.kc-fab{box-shadow:0 14px 34px -12px rgba(0,0,0,.6),0 0 0 3px var(--nw-chatline)}
@media (max-width:560px){.kc-panel{border:0}}
.kc-input:focus{border:1px solid var(--nw-chatline)}
/* Pattern 1 · Olympus engraving (img/chat-olympus.svg) */
.kc{background:#1E0408}
.kc-log{background:radial-gradient(70% 55% at 50% 45%,rgba(20,3,6,.45),transparent 75%),url(img/chat-olympus.svg) center bottom/100% auto no-repeat,linear-gradient(180deg,#2A060C,#3E0A12);background-blend-mode:normal}
.kc-log::before{content:none}
.kc-chips,.kc-form,.kc-foot{background:#1E0408}
/* Apollo tweaks (Oct 20): solid language chips; engraving capped at 460px so the wide inline chat matches mobile scale */
.kc-lang{background:#4C0E17;border:1px solid var(--nw-chatline);color:var(--nw-gold-l)}
.kc-lang:hover,.kc-lang:focus-visible{background:var(--nw-glow);border-color:var(--nw-chatline)}
.kc-log{background-size:auto,min(100%,460px) auto,auto;background-position:center,center bottom,center;background-repeat:no-repeat}
