*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  /* Brighter, more vibrant palette: airier paper, luminous gold, richer living emerald. */
  --paper:#FCFAF5; --paper2:#F1EBDE; --paper3:#FFFFFF;
  --ink:#1A1610; --ink2:#544B40; --ink3:#897F71;
  --emerald:#114F3F; --emerald2:#176A55; --emerald3:#0C3B2F;
  --brass:#C89A47; --brass-l:#E6C57E; --brass-g:rgba(200,154,71,.32);
  --cream:#FCFAF5; --cream2:#DCD3C3;
  --line:rgba(28,24,19,.10); --line-d:rgba(244,238,227,.16);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',system-ui,sans-serif;
  --ease:cubic-bezier(.19,1,.22,1);
  --max:1240px; --pad:150px;
}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--sans);color:var(--ink2);background:var(--paper);line-height:1.7;font-weight:300;overflow-x:hidden;letter-spacing:.01em;position:relative}
::selection{background:var(--brass);color:var(--paper3)}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}

/* film grain for richness */
body::after{content:'';position:absolute;inset:0;z-index:9999;pointer-events:none;opacity:.04;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.container{max-width:var(--max);margin:0 auto;padding:0 56px}
.spad{padding:var(--pad) 0;position:relative}
@media(max-width:820px){:root{--pad:90px}.container{padding:0 28px}}

/* ── TYPE ── */
.eyebrow{font-family:var(--sans);font-size:11px;font-weight:400;letter-spacing:3.5px;text-transform:uppercase;color:var(--brass);margin-bottom:30px;display:flex;align-items:center;gap:15px}
.eyebrow::before{content:'';width:26px;height:1px;background:var(--brass)}
.eyebrow.center{justify-content:center}
.eyebrow.center::before{display:none}
.stitle{font-family:var(--serif);font-size:clamp(36px,5.2vw,62px);font-weight:400;line-height:1.06;letter-spacing:-.01em;color:var(--ink);max-width:900px;margin-bottom:30px}
.stitle em{font-style:italic;color:var(--brass)}
.stitle.center{margin-left:auto;margin-right:auto;text-align:center}
.sbody{font-size:18px;font-weight:300;line-height:1.85;color:var(--ink2);max-width:640px}
.sbody.center{margin-left:auto;margin-right:auto;text-align:center}
.dark{background:var(--emerald);color:var(--cream2)}
.dark .stitle{color:var(--cream)}
.dark .sbody{color:var(--cream2)}
.dark .eyebrow{color:var(--brass-l)}
.dark .eyebrow::before{background:var(--brass-l)}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:12px;padding:18px 36px;font-family:var(--sans);font-size:12px;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:all .5s var(--ease);position:relative;border:1px solid transparent}
.btn-p{background:var(--brass);color:var(--paper3)}
.btn-p:hover{background:var(--ink);color:var(--cream);transform:translateY(-2px)}
.btn-o{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-o:hover{border-color:var(--brass);color:var(--brass);transform:translateY(-2px)}
.btn-light{background:transparent;color:var(--cream);border-color:rgba(244,238,227,.3)}
.btn-light:hover{background:var(--cream);color:var(--emerald);transform:translateY(-2px)}
.btn .arrow{transition:transform .5s var(--ease)}
.btn:hover .arrow{transform:translateX(5px)}

/* ── LOGO MARK ── */
.logo-mark{width:34px;height:34px;flex-shrink:0}
.logo-mark path{stroke:var(--brass);fill:none;stroke-width:1.5}
.nav-logo{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:21px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.logo-text{display:flex;flex-direction:column;gap:3px;line-height:1}
.logo-tagline{font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:2.8px;text-transform:uppercase;color:rgba(244,238,227,.88);opacity:1}
.nav.scrolled .logo-tagline{color:var(--brass)}

/* ── NAV ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:26px 0;transition:all .6s var(--ease);color:var(--cream)}
.nav.scrolled{padding:14px 0;background:rgba(244,238,227,.92);backdrop-filter:blur(18px) saturate(1.3);border-bottom:1px solid var(--line);color:var(--ink)}
.nav-inner{max-width:var(--max);margin:0 auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.nav .nav-logo{color:inherit;text-shadow:0 1px 18px rgba(11,26,22,.5);flex-shrink:0}
.nav-links{display:flex;align-items:center;gap:2px;list-style:none}
.nav-links li{list-style:none;position:relative}
.nav-links li + li:not(:last-child)::before{content:'';position:absolute;left:-1px;top:50%;transform:translateY(-50%);width:1px;height:12px;background:currentColor;opacity:.28}
.nav-links a{font-size:11.5px;font-weight:400;letter-spacing:.6px;text-transform:uppercase;color:inherit;padding:9px 12px;opacity:.94;white-space:nowrap;text-shadow:0 1px 14px rgba(11,26,22,.55);transition:opacity .3s var(--ease)}
.nav-links a:hover{opacity:1}
.nav-cta{border:1px solid currentColor;margin-left:10px;opacity:1!important;border-radius:2px}
.nav-links a.nav-cta{transition:all .5s var(--ease)}
.nav.scrolled .nav-logo,.nav.scrolled .nav-links a{text-shadow:none}
.nav.scrolled .nav-links a{opacity:.78}
.nav.scrolled .nav-cta:hover,.nav-cta:hover{background:var(--brass);border-color:var(--brass);color:var(--paper3)!important}
/* Login dropdown (Hotel Group / Engineer) */
.nav-acct{position:relative}
.nav-acct-toggle{cursor:pointer}
.nav-caret{font-size:9px;opacity:.7;margin-left:1px;display:inline-block}
.nav-acct-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:214px;background:var(--paper3);border:1px solid var(--brass-g);border-radius:9px;padding:7px;display:none;flex-direction:column;box-shadow:0 22px 56px rgba(28,24,19,.26)}
.nav-acct:hover .nav-acct-menu,.nav-acct.open .nav-acct-menu{display:flex}
.nav-acct-menu a{display:block;padding:11px 15px;font-size:11px;font-weight:400;letter-spacing:1px;text-transform:uppercase;color:var(--ink2)!important;text-shadow:none!important;opacity:1;border-radius:5px;white-space:nowrap}
.nav-acct-menu a:hover{background:var(--paper2);color:var(--ink)!important;opacity:1}
.mobile-toggle{display:none;background:none;border:none;color:inherit;font-size:24px;cursor:pointer}
@media(max-width:1180px){
  .nav-inner{padding:0 28px}
  .nav.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none}
  .nav-links{position:fixed;inset:0;height:100vh;height:100dvh;z-index:1101;background:var(--emerald);flex-direction:column;justify-content:center;gap:8px;transform:translateX(100%);transition:transform .6s var(--ease);color:var(--cream)}
  .nav-links.open{transform:translateX(0)}
  .nav-links a{font-size:24px;font-family:var(--serif);text-transform:none;letter-spacing:.02em}
  .nav-links li + li::before{display:none}
  .mobile-toggle{display:block;z-index:1102}
  /* Login: show both options inline in the mobile overlay (no floating menu) */
  .nav-acct{width:100%;text-align:center}
  .nav-acct-toggle{display:none}
  .nav-acct-menu{position:static;display:flex;background:none;border:none;box-shadow:none;padding:0;min-width:0;align-items:center}
  .nav-acct-menu a{color:var(--cream)!important;font-size:24px;font-family:var(--serif);text-transform:none;letter-spacing:.02em;padding:8px}
}

/* ── HERO ── */
.hero{position:relative;height:100vh;min-height:680px;display:flex;align-items:center;overflow:hidden;background:var(--emerald)}
.hero-media{position:absolute;inset:-6%;z-index:1;will-change:transform}
.hero-media-inner{position:absolute;inset:0;background-image:url('https://d8j0ntlcm91z4.cloudfront.net/user_2wLTEkFbyS56kzO0CDuyWPtNvI7/hf_20260603_114200_621de300-a4d8-467e-8fff-ffb4a7d1625c.jpeg');background-size:cover;background-position:center;background-color:var(--emerald);filter:saturate(1.2) brightness(1.08) contrast(1.05);animation:kenburns 26s ease-in-out infinite alternate}
@keyframes kenburns{0%{transform:scale(1.05)}100%{transform:scale(1.16)}}
/* Lighter, directional wash: dark enough on the left/bottom for the headline + stats, but it
   lets the sunny right side (pool, arches, golden light) shine through so the hero pops. */
.hero-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(21,48,42,.34) 0%,rgba(21,48,42,.04) 36%,rgba(15,35,31,.18) 62%,rgba(15,35,31,.85) 100%)}
.hero-overlay-2{position:absolute;inset:0;z-index:2;background:linear-gradient(100deg,rgba(13,30,26,.74) 0%,rgba(14,32,28,.4) 38%,rgba(15,35,31,.08) 60%,transparent 76%)}
/* A soft warm-gold glow behind the headline adds richness and lifts the mood. */
.hero::after{content:'';position:absolute;top:6%;left:-4%;width:60%;height:70%;z-index:2;pointer-events:none;background:radial-gradient(ellipse at 30% 40%,rgba(230,197,126,.16),transparent 60%);filter:blur(40px)}
.hero-content{position:relative;z-index:5;width:100%;padding-top:96px;padding-bottom:96px;color:var(--cream)}
.hero-eyebrow{display:inline-flex;align-items:center;gap:13px;padding:10px 22px 10px 18px;background:rgba(15,35,31,.55);border:1px solid rgba(194,160,106,.35);border-radius:100px;backdrop-filter:blur(12px) saturate(1.2);font-size:11px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--brass-l);margin-bottom:36px;opacity:0}
.hero-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--brass-l);box-shadow:0 0 10px var(--brass-l);flex-shrink:0;animation:pulse 2.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.6)}}
.hero h1{font-family:var(--serif);font-size:clamp(46px,7.6vw,104px);font-weight:400;line-height:1;letter-spacing:-.02em;color:var(--cream);max-width:1000px;margin-bottom:34px;text-shadow:0 2px 34px rgba(11,26,22,.55),0 1px 4px rgba(11,26,22,.4)}
.hero h1 em{font-style:italic;color:var(--brass-l)}
.hero h1 .line{display:block;overflow:hidden;padding-bottom:8px}
.hero h1 .line-inner{display:block;transform:translateY(115%);will-change:transform}
.hero-sub{font-size:19px;font-weight:400;line-height:1.8;color:rgba(247,243,235,.96);max-width:560px;margin-bottom:46px;opacity:0;text-shadow:0 1px 22px rgba(11,26,22,.6)}
.hero-buttons{display:flex;gap:18px;flex-wrap:wrap;opacity:0}
.hero-bar{position:absolute;bottom:0;left:0;right:0;z-index:5;border-top:1px solid rgba(244,238,227,.16);background:rgba(15,35,31,.32);backdrop-filter:blur(6px)}
.hero-bar-inner{max-width:var(--max);margin:0 auto;padding:22px 56px;display:flex;gap:0;align-items:center}
.hstat{padding:0 48px;border-right:1px solid rgba(244,238,227,.14)}
.hstat:first-child{padding-left:0}.hstat:last-child{border-right:none}
.hstat .v{font-family:var(--serif);font-size:30px;color:var(--cream);line-height:1}
.hstat .l{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--cream2);margin-top:7px}
@media(max-width:900px){.hero-bar{display:none}.hero-content{padding-top:72px;padding-bottom:72px}.hero-eyebrow{font-size:10px;letter-spacing:2px;padding:9px 16px;margin-bottom:28px}}
/* Short viewports (small / short laptops): shrink so the centred content fits comfortably */
@media(min-width:901px) and (max-height:840px){
  .hero h1{font-size:clamp(40px,5vw,74px);margin-bottom:24px}
  .hero-sub{margin-bottom:32px}
  .hero-eyebrow{margin-bottom:24px}
  .hero-content{padding-top:64px;padding-bottom:64px}
}
@media(min-width:901px) and (max-height:720px){
  .hero h1{font-size:clamp(34px,4.2vw,56px)}
  .hero-sub{font-size:16px;line-height:1.6;margin-bottom:24px}
  .hero-eyebrow{margin-bottom:18px}
  .hero-content{padding-top:48px;padding-bottom:48px}
  .hero-bar-inner{padding:14px 56px}
  .hstat .v{font-size:26px}
}

/* ── MARQUEE ── */
.marquee{padding:30px 0;background:var(--paper2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap}
.marquee-track{display:inline-flex;align-items:center;animation:marquee 64s linear infinite;will-change:transform}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee span{font-family:var(--serif);font-size:22px;font-style:italic;color:var(--ink);opacity:.82;margin-right:50px}
.marquee .d{color:var(--brass);font-style:normal;opacity:1}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── STATEMENT ── */
.statement{text-align:center;padding:130px 0}
.statement .lead{font-family:var(--serif);font-size:clamp(28px,3.6vw,46px);font-weight:400;line-height:1.32;color:var(--ink);max-width:960px;margin:0 auto;letter-spacing:-.01em}
.statement .lead em{font-style:italic;color:var(--brass)}
.rule{width:1px;height:64px;background:linear-gradient(var(--brass),transparent);margin:0 auto 44px}

/* ── PROBLEM (dark) ── */
.prob-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;margin-top:60px;align-items:start}
.scenario{padding:20px 0;border-bottom:1px solid rgba(244,238,227,.12);transition:all .5s var(--ease)}
.scenario:hover{padding-left:14px;border-color:var(--brass-l)}
.scenario p{font-size:16px;font-weight:300;color:rgba(244,238,227,.82);line-height:1.6}
.scenario .arr{color:var(--brass-l);margin-right:12px}
.prob-r h3{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.28;color:var(--cream);margin-bottom:24px}
.prob-r p{font-size:16px;font-weight:300;line-height:1.78;margin-bottom:16px;color:rgba(244,238,227,.75)}
.prob-r .hl{color:var(--cream);font-weight:400}
.prob-r .acc{color:var(--brass-l);font-size:18px;font-family:var(--serif);font-style:italic}
@media(max-width:900px){.prob-grid{grid-template-columns:1fr;gap:48px}}

/* ── DEPARTMENTS ── */
.dept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:74px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.dept{padding:50px 44px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:all .5s var(--ease);position:relative;background:transparent}
.dept:hover{background:var(--paper3)}
.dept-ic{width:48px;height:48px;margin-bottom:26px;color:var(--brass)}
.dept-ic svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.2}
.dept h4{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--ink);margin-bottom:13px;letter-spacing:-.01em}
.dept p{font-size:14.5px;font-weight:300;line-height:1.72;color:var(--ink2)}
.dept .num{position:absolute;top:40px;right:42px;font-family:var(--serif);font-size:15px;font-style:italic;color:var(--brass);opacity:.55}
.dept::after{content:'';position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--brass);transition:width .5s var(--ease)}
.dept:hover::after{width:100%}
@media(max-width:980px){.dept-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.dept-grid{grid-template-columns:1fr}}

/* ── SPLIT / IMAGE ── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin-top:64px}
.split.rev .split-media{order:2}
.split-media{position:relative;overflow:hidden}
.split-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 1.6s var(--ease)}
.split-media.visible img{transform:scale(1)}
.split-media::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,transparent 60%,rgba(21,48,42,.25))}
.img-frame{position:relative;padding:14px}
.img-frame::before{content:'';position:absolute;inset:0;border:1px solid var(--brass-g);pointer-events:none}
.tag{font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:2.5px;text-transform:uppercase;color:var(--brass);margin-bottom:20px;display:block}
.split h3{font-family:var(--serif);font-size:clamp(30px,3.6vw,44px);font-weight:400;color:var(--ink);line-height:1.12;margin-bottom:24px;letter-spacing:-.01em}
.split>div>p{font-size:16px;font-weight:300;line-height:1.8;margin-bottom:28px;max-width:520px}
.feat-list{list-style:none;display:flex;flex-direction:column;gap:14px;margin-bottom:34px}
.feat-list li{font-size:14.5px;font-weight:300;color:var(--ink2);display:flex;gap:14px;line-height:1.5;align-items:flex-start}
.feat-list li::before{content:'';width:6px;height:6px;border:1px solid var(--brass);transform:rotate(45deg);margin-top:7px;flex-shrink:0}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:44px}.split.rev .split-media{order:0}}

/* order card */
.order-card{background:var(--emerald);color:var(--cream);padding:38px;position:relative;box-shadow:0 30px 70px -30px rgba(21,48,42,.6)}
.order-card .oc-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid rgba(244,238,227,.16);margin-bottom:22px}
.order-card .oc-room{font-family:var(--serif);font-size:24px}
.order-card .oc-live{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--brass-l);display:flex;align-items:center;gap:8px}
.order-card .oc-live .d{width:6px;height:6px;border-radius:50%;background:#86c79a;box-shadow:0 0 8px #86c79a;animation:pulse 2s infinite}
.order-row{display:flex;justify-content:space-between;font-size:14px;padding:9px 0;color:rgba(244,238,227,.82)}
.order-row .k{color:var(--cream2)}
.order-row .v{font-family:var(--serif);font-size:16px;color:var(--cream)}
.order-card .oc-status{margin-top:22px;padding-top:18px;border-top:1px solid rgba(244,238,227,.16);font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--brass-l);display:flex;align-items:center;gap:9px}

/* ── FLOW ── */
.flow{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;margin-top:70px;border:1px solid var(--line)}
.flow-step{padding:46px 38px;border-right:1px solid var(--line);position:relative;transition:background .5s var(--ease)}
.flow-step:last-child{border-right:none}
.flow-step:hover{background:var(--paper3)}
.flow-n{font-family:var(--serif);font-size:18px;font-style:italic;color:var(--brass);margin-bottom:24px}
.flow-step h4{font-family:var(--serif);font-size:25px;font-weight:500;color:var(--ink);margin-bottom:13px}
.flow-step p{font-size:14px;font-weight:300;line-height:1.7;color:var(--ink2)}
@media(max-width:900px){.flow{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:1fr}.flow-step{border-right:none;border-bottom:1px solid var(--line);padding:36px 32px}.flow-step:last-child{border-bottom:none}}

/* ── CALLOUT ── */
.callout{margin-top:50px;padding:48px 56px;background:var(--paper3);border:1px solid var(--line);position:relative}
.callout::before{content:'';position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--brass)}
.callout p{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--ink);line-height:1.55;font-style:italic}
.callout strong{color:var(--brass);font-weight:500;font-style:normal}
.legacy-item{display:flex;gap:16px;font-size:16px;font-weight:300;color:var(--ink2);margin-bottom:16px;line-height:1.6}
.legacy-item .la{color:var(--brass)}

/* ── TABLE ── */
.mod-table{width:100%;margin-top:64px;border-collapse:collapse}
.mod-table th{text-align:left;padding:20px 28px;font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:var(--brass);border-bottom:1px solid var(--brass-g)}
.mod-table td{padding:26px 28px;font-size:14.5px;font-weight:300;color:var(--ink2);border-bottom:1px solid var(--line);vertical-align:top;line-height:1.6;transition:all .35s var(--ease)}
.mod-table tr:hover td{background:var(--paper3);color:var(--ink)}
.mod-table td:first-child{font-family:var(--serif);font-size:19px;color:var(--ink);font-weight:500;white-space:nowrap}
@media(max-width:760px){.mod-table th:last-child,.mod-table td:last-child{display:none}}

/* ── PHASES ── */
.phases{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:64px;border-top:1px solid var(--line-d)}
.phase{padding:48px 44px;border-right:1px solid var(--line-d)}
.phase:first-child{padding-left:0}
.phase:last-child{border-right:none}
.phase-n{font-family:var(--serif);font-size:64px;font-weight:400;color:var(--brass);opacity:.4;line-height:1;margin-bottom:24px}
.phase h4{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--cream);margin-bottom:8px}
.phase .tl{font-size:10px;color:var(--brass-l);letter-spacing:2px;text-transform:uppercase;margin-bottom:18px;display:block}
.phase p{font-size:14px;font-weight:300;line-height:1.7;color:rgba(244,238,227,.72)}
@media(max-width:900px){.phases{grid-template-columns:1fr}.phase{border-right:none;border-bottom:1px solid var(--line-d);padding:34px 0}}

/* ── TWO COL ── */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.two-col h3{font-family:var(--serif);font-size:32px;font-weight:400;color:var(--ink);margin-bottom:24px;letter-spacing:-.01em}
.two-col p{font-size:15px;font-weight:300;line-height:1.8;margin-bottom:16px}
.sec-list{list-style:none;display:flex;flex-direction:column;gap:16px}
.sec-list li{font-size:15px;font-weight:300;color:var(--ink2);display:flex;gap:14px;line-height:1.6}
.sec-list li::before{content:'';width:6px;height:6px;border:1px solid var(--brass);transform:rotate(45deg);margin-top:7px;flex-shrink:0}
@media(max-width:900px){.two-col{grid-template-columns:1fr;gap:56px}}

/* ── CTA (full bleed) ── */
.cta{position:relative;overflow:hidden;text-align:center;padding:170px 0}
.cta-media{position:absolute;inset:-8%;z-index:1;background-image:url('https://d8j0ntlcm91z4.cloudfront.net/user_2wLTEkFbyS56kzO0CDuyWPtNvI7/hf_20260603_114205_b7e5d2d6-2316-4ee0-9c83-21a7a08e6594.jpeg');background-size:cover;background-position:center;background-color:var(--emerald)}
.cta-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(15,35,31,.86),rgba(15,35,31,.78))}
.cta-inner{position:relative;z-index:5}
.cta .stitle{color:var(--cream)}
.cta .sbody{color:rgba(244,238,227,.82)}
.cta .eyebrow{color:var(--brass-l);justify-content:center}
.cta .eyebrow::before{display:none}
.trust-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:90px;padding-top:56px;border-top:1px solid rgba(244,238,227,.16);position:relative;z-index:5}
.trust-item{text-align:center}
.trust-item .ti{width:44px;height:44px;border:1px solid var(--brass-g);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:var(--brass-l)}
.trust-item .ti svg{stroke:currentColor;fill:none;stroke-width:1.3}
.trust-item h4{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--cream);margin-bottom:4px}
.trust-item p{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--cream2)}
@media(max-width:760px){.trust-bar{grid-template-columns:1fr 1fr;gap:44px 20px}}

/* ── FOOTER ── */
.footer{padding:106px 0 46px;background:var(--emerald3);color:var(--cream2);position:relative}
.footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(230,197,126,.3),transparent)}
.footer .nav-logo{color:var(--cream)}
.footer-grid{display:grid;grid-template-columns:1.9fr 1fr 1.1fr 1.15fr;gap:60px;margin-bottom:62px}
.footer-brand p{font-size:14.5px;font-weight:300;line-height:1.8;max-width:340px;margin-top:24px;color:rgba(244,238,227,.6)}
.footer-cta{display:inline-flex;align-items:center;gap:9px;margin-top:26px;font-family:var(--sans);font-size:13px;font-weight:400;letter-spacing:.02em;color:var(--brass-l);text-decoration:none;transition:color .3s var(--ease)}
.footer-cta span{transition:transform .3s var(--ease)}
.footer-cta:hover{color:var(--cream)}
.footer-cta:hover span{transform:translateX(4px)}
.footer-col h4{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:2.4px;text-transform:uppercase;color:var(--brass-l);margin-bottom:26px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:15px}
.footer-col a{font-size:14px;font-weight:300;color:rgba(244,238,227,.6);transition:color .25s var(--ease)}
.footer-col a:hover{color:var(--cream)}
.footer-ent ul li{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:300;color:rgba(244,238,227,.5);line-height:1.45}
.fent-dot{width:5px;height:5px;border-radius:50%;background:var(--brass-l);box-shadow:0 0 7px rgba(230,197,126,.6);flex-shrink:0}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:34px;border-top:1px solid rgba(244,238,227,.1);font-size:12px;color:rgba(244,238,227,.42);font-weight:300;flex-wrap:wrap;gap:16px}
.footer-bottom strong{color:var(--brass-l);font-weight:600}
.footer-bottom em{font-style:normal;color:rgba(244,238,227,.3)}
.footer-bottom .fdot{display:inline-block;width:3px;height:3px;border-radius:50%;background:rgba(230,197,126,.55);margin:0 12px;vertical-align:middle}
.footer-legal{display:flex;gap:30px}
.footer-legal a{color:rgba(244,238,227,.42);transition:color .25s}
.footer-legal a:hover{color:var(--brass-l)}
@media(max-width:880px){.footer-grid{grid-template-columns:1fr 1fr;gap:44px 40px}.footer-brand{grid-column:1/-1}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:flex-start;gap:18px}}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(36px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.reveal.visible{opacity:1;transform:none}
.reveal.d1{transition-delay:.12s}.reveal.d2{transition-delay:.24s}.reveal.d3{transition-delay:.36s}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal,.hero-eyebrow,.hero-sub,.hero-buttons{opacity:1!important;transform:none!important}
  .hero h1 .line-inner{transform:none}
  .hero-media-inner{animation:none}
  /* keep the brand marquee gently scrolling (slow, horizontal, non-flashing) */
  .marquee-track{animation:marquee 64s linear infinite!important}
}

/* ── PAGE HERO (shared: pricing, standard, legal) ── */
.page-hero{position:relative;background:var(--emerald);color:var(--cream);padding:200px 0 100px;text-align:center;overflow:hidden}
.page-hero::before{content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:700px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,110,.1),transparent 70%);filter:blur(120px);pointer-events:none}
.page-hero .eyebrow{justify-content:center;color:var(--brass-l)}
.page-hero .eyebrow::before{display:none}
.page-hero h1{font-family:var(--serif);font-size:clamp(40px,5.6vw,72px);font-weight:400;line-height:1.05;letter-spacing:-.02em;color:var(--cream);max-width:880px;margin:0 auto 26px}
.page-hero h1 em{font-style:italic;color:var(--brass-l)}
.page-hero p{font-size:18px;font-weight:300;line-height:1.8;color:rgba(244,238,227,.82);max-width:600px;margin:0 auto}
.page-hero .meta{margin-top:26px;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(244,238,227,.55)}
.tbd-note{margin-top:34px;display:inline-flex;align-items:center;gap:10px;padding:10px 22px;border:1px solid rgba(244,238,227,.2);border-radius:100px;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--brass-l)}
.tbd-note .dot{width:6px;height:6px;border-radius:50%;background:var(--brass-l);animation:pulse 2.6s ease-in-out infinite}

/* ── FAQ (shared) ── */
.faq{margin-top:60px;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:30px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:var(--serif);font-size:23px;font-weight:500;color:var(--ink);transition:color .3s var(--ease)}
.faq-q:hover{color:var(--brass)}
.faq-q .ic{font-family:var(--sans);font-size:24px;font-weight:300;color:var(--brass);transition:transform .4s var(--ease);flex-shrink:0}
.faq-item.open .faq-q .ic{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.faq-a-inner{padding:0 0 30px;font-size:15.5px;font-weight:300;line-height:1.8;color:var(--ink2);max-width:820px}

/* ── LEGAL / PROSE (privacy, terms) ── */
.legal{max-width:800px;margin:0 auto}
.legal .intro{font-size:17px;font-weight:300;line-height:1.85;color:var(--ink2);margin-bottom:8px}
.legal h2{font-family:var(--serif);font-size:28px;font-weight:500;color:var(--ink);letter-spacing:-.01em;margin:56px 0 18px;padding-top:20px;border-top:1px solid var(--line)}
.legal h2:first-of-type{border-top:none;padding-top:0;margin-top:8px}
.legal h3{font-family:var(--serif);font-size:20px;font-weight:500;color:var(--ink);margin:30px 0 12px}
.legal p{font-size:15px;font-weight:300;line-height:1.85;color:var(--ink2);margin-bottom:16px}
.legal ul{list-style:none;margin:0 0 16px;display:flex;flex-direction:column;gap:11px}
.legal li{font-size:15px;font-weight:300;line-height:1.7;color:var(--ink2);display:flex;gap:13px;align-items:flex-start}
.legal li::before{content:'';width:6px;height:6px;border:1px solid var(--brass);transform:rotate(45deg);margin-top:8px;flex-shrink:0}
.legal a{color:var(--brass);border-bottom:1px solid var(--brass-g);transition:border-color .3s var(--ease)}
.legal a:hover{border-color:var(--brass)}
.legal strong{color:var(--ink);font-weight:500}

/* Homepage voice-cast portrait strip (The Brain section) */
.vcast-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:30px 34px;max-width:580px;margin:0 auto;justify-items:center}
.vcast{position:relative;display:inline-flex;line-height:0;cursor:pointer;outline:none;border-radius:50%}
.vcast-pf{width:74px;height:74px;border-radius:50%;object-fit:cover;object-position:center top;border:1px solid rgba(201,169,110,.32);transition:transform .4s cubic-bezier(.19,1,.22,1),border-color .4s,filter .4s,box-shadow .4s;filter:saturate(.92) brightness(.95)}
.vcast:hover .vcast-pf,.vcast:focus-visible .vcast-pf{transform:translateY(-5px) scale(1.06);border-color:var(--brass-l);filter:none;box-shadow:0 0 24px rgba(230,197,126,.32)}
/* Play button overlay + states (play / loading / playing). */
.vcast-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle,rgba(8,21,18,.6),rgba(8,21,18,.28));opacity:0;transition:opacity .3s var(--ease);pointer-events:none}
.vcast-play svg{width:24px;height:24px;fill:#F4EEE3;filter:drop-shadow(0 1px 4px rgba(0,0,0,.6))}
.vcast-play .ic-play{transform:translateX(1px)}
.vcast-play .ic-pause{display:none}
.vcast:hover .vcast-play,.vcast:focus-visible .vcast-play,.vcast.playing .vcast-play,.vcast.loading .vcast-play{opacity:1}
.vcast:focus-visible .vcast-pf{box-shadow:0 0 0 2px var(--brass-l),0 0 24px rgba(230,197,126,.32)}
.vcast.playing .ic-play{display:none}
.vcast.playing .ic-pause{display:block}
.vcast.playing .vcast-pf{border-color:var(--brass-l);filter:none;animation:vcastPulse 1.5s ease-in-out infinite}
@keyframes vcastPulse{0%,100%{box-shadow:0 0 0 2px var(--brass-l),0 0 20px rgba(230,197,126,.4)}50%{box-shadow:0 0 0 2px var(--brass-l),0 0 34px rgba(230,197,126,.72)}}
.vcast.loading .vcast-play svg{display:none}
.vcast.loading .vcast-play::after{content:'';width:20px;height:20px;border:2px solid rgba(244,238,227,.28);border-top-color:var(--brass-l);border-radius:50%;animation:vcastSpin .7s linear infinite}
@keyframes vcastSpin{to{transform:rotate(360deg)}}
/* Hover detail card: name + flag + language/region. */
.vcast-tip{position:absolute;bottom:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(6px);background:rgba(15,35,31,.95);border:1px solid rgba(230,197,126,.38);border-radius:11px;padding:9px 15px;white-space:nowrap;text-align:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s var(--ease),transform .28s var(--ease);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 14px 34px rgba(0,0,0,.45);z-index:20}
.vcast-tip b{display:block;font-family:var(--serif);font-size:17px;font-weight:500;color:#F4EEE3;line-height:1.05}
.vcast-tip span{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.05em;color:var(--brass-l);margin-top:4px}
.vcast-tip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:rgba(15,35,31,.95)}
.vcast:hover .vcast-tip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
@media(max-width:600px){.vcast-grid{gap:16px 14px;max-width:340px}.vcast-pf{width:54px;height:54px}.vcast-play svg{width:20px;height:20px}}

/* ── BRAIN HUB — the Brain at the centre, departments orbiting on spokes ── */
.brain-hub{position:relative;width:min(840px,92vw);aspect-ratio:1;margin:48px auto 6px}
.brain-glow{position:absolute;top:50%;left:50%;width:56%;height:56%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(230,197,126,.22),transparent 64%);filter:blur(36px);z-index:1;pointer-events:none}
.brain-spokes{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.brain-spokes .bs{stroke:rgba(230,197,126,.26);stroke-width:1}
.brain-spokes .bs-ring{fill:none;stroke:rgba(230,197,126,.16);stroke-width:1;stroke-dasharray:1 7;stroke-linecap:round}
.brain-core{position:absolute;top:50%;left:50%;width:40%;transform:translate(-50%,-50%);mix-blend-mode:screen;filter:drop-shadow(0 0 56px rgba(230,197,126,.34));z-index:3}
.dept-node{position:absolute;transform:translate(-50%,-50%);z-index:4;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-family:var(--sans);font-size:12.5px;letter-spacing:.03em;color:#EDE7DA;background:rgba(15,40,34,.62);border:1px solid rgba(230,197,126,.3);border-radius:100px;padding:8px 15px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color .3s,color .3s,background .3s,box-shadow .3s,transform .3s var(--ease);cursor:default}
.dept-node:hover{border-color:var(--brass-l);color:#fff;background:rgba(17,48,40,.9);box-shadow:0 0 24px rgba(230,197,126,.3);transform:translate(-50%,-50%) scale(1.06)}
.dept-node .nd{width:5px;height:5px;border-radius:50%;background:var(--brass-l);box-shadow:0 0 9px var(--brass-l);flex-shrink:0}
.brain-depts-m{display:none}
@media(max-width:760px){
  /* Mobile: drop the orbit, show the brain plain + department chips below it. */
  .brain-hub{aspect-ratio:auto;width:min(300px,72vw);margin:36px auto 0}
  .brain-glow,.brain-spokes,.dept-node{display:none}
  .brain-core{position:relative;top:auto;left:auto;transform:none;width:100%}
  .brain-depts-m{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;max-width:430px;margin:28px auto 0}
  .brain-depts-m span{font-family:var(--sans);font-size:12px;letter-spacing:.02em;color:#EDE7DA;background:rgba(15,40,34,.6);border:1px solid rgba(230,197,126,.28);border-radius:100px;padding:7px 14px}
}
