/* Big Tex Hospitality Management Advisors
   One palette (navy ink + one ember accent), one gray family (cool, navy-tinted),
   one radius rule (8px controls, 14px containers), Geist + Geist Mono, self-hosted. */

@font-face{font-family:Geist;font-weight:400;font-display:swap;src:url(../fonts/geist-400.woff2) format('woff2')}
@font-face{font-family:Geist;font-weight:500;font-display:swap;src:url(../fonts/geist-500.woff2) format('woff2')}
@font-face{font-family:Geist;font-weight:600;font-display:swap;src:url(../fonts/geist-600.woff2) format('woff2')}
@font-face{font-family:Geist;font-weight:700;font-display:swap;src:url(../fonts/geist-700.woff2) format('woff2')}
@font-face{font-family:'Geist Mono';font-weight:500;font-display:swap;src:url(../fonts/geist-mono-500.woff2) format('woff2')}

:root{
  color-scheme:light;
  --ink-950:#050D17; --ink-900:#0A2039; --ink-800:#102B48; --ink-700:#19395B;
  --accent:#B9521D; --accent-hover:#9E4419; --accent-soft:rgba(185,82,29,.10);
  --bg:#F4F6F8; --surface:#FFFFFF; --surface-2:#EDF0F4; --line:rgba(10,32,57,.11); --line-soft:rgba(10,32,57,.07);
  --text:#0A1A2E; --text-2:#3E4A59; --muted:#66727F;
  --on-dark:#EEF2F6; --on-dark-2:#A9B4C1; --on-dark-line:rgba(238,242,246,.12);
  --shadow:0 1px 2px rgba(10,32,57,.05),0 18px 40px -24px rgba(10,32,57,.28);
  --r-ctl:8px; --r-box:14px;
  --nav-h:68px; --maxw:1200px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --z-nav:50; --z-drawer:60; --z-grain:70;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#08121D; --surface:#0E1B2A; --surface-2:#122236; --line:rgba(238,242,246,.12); --line-soft:rgba(238,242,246,.07);
    --text:#EEF2F6; --text-2:#B9C3CE; --muted:#8693A1;
    --accent:#D9692F; --accent-hover:#E57C45; --accent-soft:rgba(217,105,47,.14);
    --shadow:0 18px 40px -24px rgba(0,0,0,.7);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#08121D; --surface:#0E1B2A; --surface-2:#122236; --line:rgba(238,242,246,.12); --line-soft:rgba(238,242,246,.07);
  --text:#EEF2F6; --text-2:#B9C3CE; --muted:#8693A1;
  --accent:#D9692F; --accent-hover:#E57C45; --accent-soft:rgba(217,105,47,.14);
  --shadow:0 18px 40px -24px rgba(0,0,0,.7);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font:16px/1.6 Geist,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.025em;line-height:1.08;text-wrap:balance;color:var(--text)}
h1{font-size:clamp(38px,5vw,62px);letter-spacing:-.035em;line-height:1.02}
h2{font-size:clamp(28px,3.4vw,42px)}
h3{font-size:clamp(18px,1.6vw,21px);letter-spacing:-.015em;line-height:1.25}
p{text-wrap:pretty}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--accent);color:#fff;padding:10px 16px;border-radius:var(--r-ctl)}
.skip:focus{left:8px}

.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 32px}
@media(max-width:760px){.wrap{padding:0 20px}}
section{position:relative;padding:112px 0 120px}
@media(max-width:880px){section{padding:72px 0 80px}}
.tint{background:var(--surface-2)}
.white{background:var(--surface)}
.lede{font-size:clamp(17px,1.3vw,19px);line-height:1.65;color:var(--text-2);max-width:62ch;margin-top:18px}
.eyebrow{display:block;font-size:14px;font-weight:500;color:var(--accent);margin-bottom:14px}
.sec-head{max-width:720px;margin-bottom:56px}
.muted{color:var(--muted)}

/* ---------- reveal (only when JS is running) ---------- */
.js [data-reveal]{opacity:0;transform:translate3d(0,16px,0);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js [data-reveal].is-in{opacity:1;transform:none}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 24px;border-radius:var(--r-ctl);background:var(--accent);color:#fff;font-weight:600;font-size:15.5px;white-space:nowrap;transition:background .2s var(--ease),transform .15s var(--ease),box-shadow .2s var(--ease)}
.btn:hover{background:var(--accent-hover);box-shadow:0 12px 26px -14px rgba(185,82,29,.8)}
.btn:active{transform:translateY(1px) scale(.99)}
.btn .ar{transition:transform .25s var(--ease)}
.btn:hover .ar{transform:translateX(3px)}
.btn-sm{height:40px;padding:0 16px;font-size:14px}
.btn-ghost{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}
.btn-ghost:hover{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--text-2)}
.on-dark .btn-ghost{color:var(--on-dark);box-shadow:inset 0 0 0 1px rgba(238,242,246,.28)}
.on-dark .btn-ghost:hover{background:rgba(238,242,246,.08)}
.link{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--text);border-bottom:1px solid var(--line);padding-bottom:4px;transition:border-color .2s,color .2s}
.link:hover{color:var(--accent);border-color:var(--accent)}
.link .ar{transition:transform .25s var(--ease)}
.link:hover .ar{transform:translateX(3px)}
.on-dark .link{color:var(--on-dark);border-color:rgba(238,242,246,.25)}
.btn-row{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;margin-top:34px}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:var(--z-nav);background:var(--ink-950);border-bottom:1px solid var(--on-dark-line)}
.nav-inner{max-width:var(--maxw);margin:0 auto;padding:0 32px;height:var(--nav-h);display:flex;align-items:center;gap:28px}
@media(max-width:760px){.nav-inner{padding:0 20px}}
.brand img{height:30px;width:auto}
.nav-links{display:flex;align-items:center;gap:2px;margin-left:auto}
.nav-links a{padding:8px 12px;border-radius:var(--r-ctl);font-size:14.5px;font-weight:500;color:var(--on-dark-2);transition:color .2s,background .2s}
.nav-links a:hover{color:#fff;background:rgba(238,242,246,.06)}
.nav-links a[aria-current="page"]{color:#fff;box-shadow:inset 0 -2px 0 var(--accent);border-radius:0}
.nav-links .nav-portal{margin-left:6px;box-shadow:inset 0 0 0 1px rgba(238,242,246,.2)}
.nav-cta{margin-left:10px}
.burger{display:none;margin-left:auto;width:44px;height:44px;position:relative;color:#fff}
.burger span{position:absolute;left:11px;width:22px;height:1.5px;background:currentColor;transition:transform .3s var(--ease)}
.burger span:nth-child(1){top:18px}.burger span:nth-child(2){top:25px}
body.menu-open .burger span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
@media(max-width:1060px){.nav-links,.nav-cta{display:none}.burger{display:block}}
.drawer{position:fixed;inset:var(--nav-h) 0 0;z-index:var(--z-drawer);background:var(--ink-950);padding:24px 20px calc(32px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:4px;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .25s var(--ease),transform .25s var(--ease);overflow:auto}
body.menu-open .drawer{opacity:1;pointer-events:auto;transform:none}
.drawer a.dl{font-size:26px;font-weight:600;letter-spacing:-.02em;color:var(--on-dark);padding:12px 0;border-bottom:1px solid var(--on-dark-line)}
.drawer .btn{margin-top:24px;width:100%}
.drawer-foot{margin-top:auto;padding-top:24px;color:var(--on-dark-2);font-size:14px}

/* ---------- dark header bands (one theme switch per page) ---------- */
.on-dark{background:var(--ink-950);color:var(--on-dark);position:relative;overflow:hidden;isolation:isolate}
.on-dark h1,.on-dark h2,.on-dark h3{color:#fff}
.on-dark .lede{color:var(--on-dark-2)}
.ambient{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.ambient::before,.ambient::after{content:"";position:absolute;border-radius:50%;filter:blur(40px);will-change:transform}
.ambient::before{width:62vw;height:62vw;max-width:820px;max-height:820px;left:-18%;top:-55%;background:radial-gradient(circle,rgba(185,82,29,.30),transparent 65%);animation:drift 22s ease-in-out infinite alternate}
.ambient::after{width:52vw;height:52vw;max-width:700px;max-height:700px;right:-16%;bottom:-60%;background:radial-gradient(circle,rgba(36,72,110,.55),transparent 66%);animation:drift 28s ease-in-out infinite alternate-reverse}
@keyframes drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(6%,8%,0) scale(1.08)}}
.grain{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.hero{padding:88px 0 0}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:64px;align-items:end}
.hero h1{max-width:12ch;font-size:clamp(40px,5.2vw,68px)}
.hero .lede{max-width:44ch}
.hero-photo{align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end}
.hero-photo img{width:100%;max-width:380px;height:auto;margin-left:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;border-radius:var(--r-box) var(--r-box) 0 0;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.hero-photo figcaption{max-width:400px;margin-left:auto;width:100%;font-size:13.5px;color:var(--on-dark-2);padding:12px 0 0}
.hero-copy{padding-bottom:80px;align-self:center;padding-top:24px}
@media(max-width:900px){.hero{padding-top:56px}.hero-grid{grid-template-columns:1fr;gap:36px}.hero-copy{padding-bottom:0}.hero-photo img{max-width:none;margin:0;aspect-ratio:5/4;border-radius:var(--r-box)}.hero-photo figcaption{margin:0;padding-bottom:40px}}

.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--on-dark-line)}
.stat{padding:28px 24px 30px 0}
.stat+.stat{padding-left:24px;border-left:1px solid var(--on-dark-line)}
.stat .n{font-family:var(--mono);font-size:clamp(26px,2.6vw,34px);font-weight:500;color:#fff;letter-spacing:-.03em}
.stat .l{font-size:14px;color:var(--on-dark-2);margin-top:6px;max-width:26ch;line-height:1.5}
@media(max-width:820px){.stats{grid-template-columns:1fr 1fr}.stat:nth-child(3){border-left:0;padding-left:0}.stat:nth-child(n+3){border-top:1px solid var(--on-dark-line)}}

.marquee{background:var(--ink-900);overflow:hidden;padding:18px 0;border-top:1px solid var(--on-dark-line)}
.mq-track{display:flex;gap:56px;width:max-content;animation:mq 34s linear infinite}
.marquee:hover .mq-track{animation-play-state:paused}
@keyframes mq{to{transform:translate3d(-50%,0,0)}}
.mq-item{font-size:15px;font-weight:500;color:#8E9BAA;white-space:nowrap}

.page-head{padding:84px 0 88px}
.page-head h1{max-width:18ch;font-size:clamp(36px,4.6vw,56px)}
.crumbs{font-size:14px;color:var(--on-dark-2);margin-bottom:22px;display:flex;gap:8px}
.crumbs a:hover{color:#fff}

/* ---------- pricing ---------- */
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
@media(max-width:980px){.tiers{grid-template-columns:1fr;max-width:560px}}
.tier{background:var(--surface);border-radius:var(--r-box);padding:30px 28px 28px;display:flex;flex-direction:column;box-shadow:inset 0 0 0 1px var(--line)}
.tier.feat{background:var(--ink-950);color:var(--on-dark);box-shadow:var(--shadow)}
.tier.feat h3{color:#fff}
.t-tag{font-size:14px;font-weight:500;color:var(--muted);margin-bottom:10px}
.tier.feat .t-tag{color:#F0A57B}
.t-price{font-family:var(--mono);font-size:40px;font-weight:500;letter-spacing:-.04em;margin:18px 0 2px}
.t-price span{font-family:Geist,sans-serif;font-size:14px;font-weight:400;color:var(--muted);letter-spacing:0}
.tier.feat .t-price span,.tier.feat .t-setup,.tier.feat .t-desc,.tier.feat .ticks li{color:var(--on-dark-2)}
.t-setup{font-size:14px;color:var(--text-2);margin-bottom:18px}
.t-setup b{color:var(--text);font-weight:600}
.tier.feat .t-setup b{color:#fff}
.t-desc{font-size:15px;color:var(--text-2);line-height:1.55;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line-soft)}
.tier.feat .t-desc{border-color:var(--on-dark-line)}
.tier .ticks{flex:1;margin-bottom:26px}
.tier .btn{width:100%}
.tier.feat .btn-ghost{color:#fff}
.after-note{margin-top:22px;font-size:14.5px;color:var(--muted);max-width:70ch}
.after-note a{color:var(--text);text-decoration:underline;text-underline-offset:3px}

.ticks{list-style:none;display:flex;flex-direction:column;gap:10px}
.ticks li{position:relative;padding-left:24px;font-size:15px;color:var(--text-2);line-height:1.5}
.ticks li::before{content:"";position:absolute;left:2px;top:.5em;width:11px;height:6px;border-left:1.8px solid var(--accent);border-bottom:1.8px solid var(--accent);transform:rotate(-45deg)}

/* ---------- layout families ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:72px;align-items:start}
@media(max-width:940px){.split{grid-template-columns:1fr;gap:40px}}
.sticky-col{position:sticky;top:calc(var(--nav-h) + 32px)}
@media(max-width:940px){.sticky-col{position:static}}

.pairs{display:grid;grid-template-columns:1fr 1fr;gap:36px 40px}
.pairs h3{margin-bottom:8px}
.pairs p{font-size:15.5px;color:var(--text-2);line-height:1.6}
@media(max-width:640px){.pairs{grid-template-columns:1fr;gap:28px}}

.rows{border-top:1px solid var(--line)}
.rows>div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:24px;padding:22px 0;border-bottom:1px solid var(--line-soft)}
.rows h3{font-size:17px}
.rows p{font-size:15.5px;color:var(--text-2);line-height:1.6}
@media(max-width:640px){.rows>div{grid-template-columns:1fr;gap:6px}}

.steps{display:flex;flex-direction:column}
.step{padding:30px 0;border-top:1px solid var(--line)}
.step:first-child{border-top:0;padding-top:0}
.step h3{font-size:22px;margin-bottom:10px}
.step p{color:var(--text-2);font-size:16px;line-height:1.65;max-width:58ch}
.step .ticks{margin-top:16px;flex-direction:row;flex-wrap:wrap;gap:8px 22px}

.groups{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.group{border-radius:var(--r-box);padding:30px 28px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.group.alt{background:var(--ink-950);color:var(--on-dark)}
.group.alt h3{color:#fff}
.group>p.eyebrow{margin-bottom:6px}
.group.alt>p.eyebrow{color:#F0A57B}
.group h2{font-size:24px;margin-bottom:22px}
.group.alt h2{color:#fff}
.group dl{display:flex;flex-direction:column;gap:18px}
.group dt{font-weight:600;font-size:16px}
.group dd{font-size:15px;color:var(--text-2);line-height:1.55;margin-top:3px}
.group.alt dd{color:var(--on-dark-2)}
@media(max-width:860px){.groups{grid-template-columns:1fr}}

.bento{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:auto auto;gap:20px}
.bento .b-main{grid-row:span 2;background:var(--ink-950);color:var(--on-dark);border-radius:var(--r-box);padding:34px 32px;display:flex;flex-direction:column;justify-content:flex-end;min-height:320px;position:relative;overflow:hidden;isolation:isolate}
.bento .b-main h3{color:#fff;font-size:26px;margin-bottom:10px}
.bento .b-main p{color:var(--on-dark-2);max-width:42ch}
.bento .b-side{background:var(--surface);border-radius:var(--r-box);padding:28px;box-shadow:inset 0 0 0 1px var(--line)}
.bento .b-side h3{margin-bottom:8px}
.bento .b-side p{font-size:15px;color:var(--text-2)}
.bento .tag{display:inline-block;font-size:13px;font-weight:500;color:var(--muted);margin-bottom:12px}
.bento .b-main .tag{color:#F0A57B}
@media(max-width:860px){.bento{grid-template-columns:1fr}.bento .b-main{grid-row:auto;min-height:240px}}

.quote{font-size:clamp(26px,3.2vw,40px);font-weight:600;letter-spacing:-.03em;line-height:1.2;max-width:24ch;text-wrap:balance}
.quote em{font-style:normal;color:var(--accent)}
.quote-by{margin-top:18px;font-size:15px;color:var(--muted)}
.four{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:64px;padding-top:32px;border-top:1px solid var(--line)}
.four h3{font-size:17px;margin-bottom:8px}
.four p{font-size:14.5px;color:var(--text-2);line-height:1.55}
@media(max-width:900px){.four{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.four{grid-template-columns:1fr}}

.coverage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.coverage .big{font-family:var(--mono);font-size:clamp(64px,9vw,120px);font-weight:500;letter-spacing:-.06em;line-height:.9;color:var(--text)}
.coverage .big small{display:block;font-family:Geist,sans-serif;font-size:18px;letter-spacing:-.01em;color:var(--muted);font-weight:500;margin-top:14px}
.cov-list{margin-top:26px;border-top:1px solid var(--line)}
.cov-list div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line-soft);font-size:15.5px}
.cov-list span:last-child{color:var(--muted);text-align:right}
@media(max-width:900px){.coverage{grid-template-columns:1fr;gap:36px}}

.qa{border-top:1px solid var(--line)}
.qa>div{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:28px;padding:24px 0;border-bottom:1px solid var(--line-soft)}
.qa h3{font-size:17px;line-height:1.35}
.qa p{color:var(--text-2);font-size:15.5px;line-height:1.65}
@media(max-width:700px){.qa>div{grid-template-columns:1fr;gap:8px}}

.cmp-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r-box);box-shadow:inset 0 0 0 1px var(--line)}
.cmp{width:100%;border-collapse:collapse;font-size:15px;background:var(--surface);min-width:640px}
.cmp th,.cmp td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top}
.cmp thead th{font-size:14px;font-weight:600;color:var(--text);background:var(--surface-2)}
.cmp tbody th{font-weight:400;color:var(--text-2)}
.cmp td.y{color:var(--text);font-weight:500}
.cmp td.n{color:var(--muted)}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}

.timeline{border-left:1px solid var(--line);padding-left:28px;display:flex;flex-direction:column;gap:36px}
.tl-item{position:relative}
.tl-item::before{content:"";position:absolute;left:-33px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--bg)}
.tint .tl-item::before{box-shadow:0 0 0 4px var(--surface-2)}
.tl-yr{font-family:var(--mono);font-size:14px;color:var(--muted);margin-bottom:6px}
.tl-item h3{margin-bottom:4px}
.tl-org{font-size:14.5px;color:var(--muted);margin-bottom:10px}
.tl-item p{color:var(--text-2);font-size:15.5px;line-height:1.65}

.bio{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.bio figure img{width:100%;height:auto;border-radius:var(--r-box);aspect-ratio:4/5;object-fit:cover;object-position:50% 15%}
.bio figcaption{font-size:14px;color:var(--muted);margin-top:12px}
.bio p{color:var(--text-2);font-size:16.5px;line-height:1.75;margin-bottom:18px;max-width:62ch}
.bio p.first{font-size:20px;color:var(--text);line-height:1.5;font-weight:500;letter-spacing:-.01em}
@media(max-width:900px){.bio{grid-template-columns:1fr;gap:32px}.bio figure{max-width:420px}}
.statline{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.statline div{padding:26px 20px 26px 0}
.statline div+div{padding-left:20px;border-left:1px solid var(--line-soft)}
.statline .n{font-family:var(--mono);font-size:30px;font-weight:500;letter-spacing:-.03em}
.statline .l{font-size:14px;color:var(--muted);margin-top:4px;line-height:1.45}
@media(max-width:820px){.statline{grid-template-columns:1fr 1fr}.statline div:nth-child(3){border-left:0;padding-left:0}.statline div:nth-child(n+3){border-top:1px solid var(--line-soft)}}
.photo-band img{width:100%;height:clamp(320px,42vw,560px);object-fit:cover;object-position:center 32%}
.places{display:flex;flex-wrap:wrap;gap:10px}
.places span{padding:10px 14px;border-radius:var(--r-ctl);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:15px}
.places span em{font-style:normal;color:var(--muted)}

/* ---------- CTA band + footer ---------- */
.cta{padding:96px 0}
.cta-in{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.cta h2{max-width:16ch}
.cta p{color:var(--text-2);max-width:48ch;margin-top:14px;font-size:17px}
.cta-right{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.cta-note{font-size:14px;color:var(--muted)}

footer{background:var(--surface);border-top:1px solid var(--line);padding:64px 0 32px;color:var(--text-2)}
.f-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid var(--line-soft)}
.f-brand img{height:34px;width:auto;margin-bottom:18px}
.f-brand p{font-size:15px;max-width:34ch}
.f-col h4{font-size:14px;font-weight:600;color:var(--text);margin-bottom:12px;letter-spacing:0}
.f-col a,.f-col span{display:block;font-size:15px;padding:5px 0;color:var(--text-2)}
.f-col a:hover{color:var(--accent)}
.f-bot{margin-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:14px;color:var(--muted)}
@media(max-width:760px){.f-top{grid-template-columns:1fr 1fr}.f-brand{grid-column:1/-1}}
.logo-on-dark{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo-on-light{display:none}:root:not([data-theme="light"]) .logo-on-dark{display:block}}

/* ---------- contact form ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start}
@media(max-width:980px){.contact-grid{grid-template-columns:1fr;gap:44px}}
.next-steps{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-top:24px}
.next-steps div{padding:18px 0;border-bottom:1px solid var(--line-soft)}
.next-steps h3{font-size:17px;margin-bottom:4px}
.next-steps p{font-size:15px;color:var(--text-2)}
.direct{margin-top:28px;padding:22px 24px;border-radius:var(--r-box);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.direct a{font-size:19px;font-weight:600;color:var(--text);word-break:break-word}
.direct a:hover{color:var(--accent)}
.direct p{font-size:15px;color:var(--text-2);margin-top:6px}
.form-card{background:var(--surface);border-radius:var(--r-box);padding:34px 32px;box-shadow:var(--shadow),inset 0 0 0 1px var(--line)}
@media(max-width:600px){.form-card{padding:24px 20px}}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.f-row{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.field label{font-size:14px;font-weight:500;color:var(--text)}
.field label .req{color:var(--accent)}
.field input,.field select,.field textarea{width:100%;height:48px;padding:0 14px;font:inherit;font-size:16px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-ctl);transition:border-color .2s,box-shadow .2s}
.field textarea{height:auto;min-height:130px;padding:12px 14px;resize:vertical}
.field select{appearance:none;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2366727F' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px;padding-right:36px;cursor:pointer}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.field .msg{font-size:13.5px;color:#B3261E;display:none}
.field.err input,.field.err textarea,.field.err select{border-color:#B3261E}
.field.err .msg{display:block}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.form-actions{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:6px}
.form-note{font-size:14px;color:var(--muted);margin-top:18px}
.form-success{display:none;text-align:center;padding:24px 8px}
.form-success.show{display:block}
.form-success h3{font-size:24px;margin-bottom:10px}
.form-success p{color:var(--text-2);max-width:42ch;margin:0 auto}

/* ---------- portal ---------- */
.portal-wrap{min-height:calc(100dvh - var(--nav-h));display:grid;place-items:center;padding:56px 20px}
.portal-card{width:100%;max-width:420px;background:rgba(14,27,42,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--r-box);padding:40px 34px 32px;box-shadow:0 30px 60px -30px rgba(0,0,0,.7),inset 0 0 0 1px rgba(238,242,246,.12);color:var(--on-dark)}
.portal-card h1{font-size:30px;color:#fff;margin-bottom:10px}
.portal-card .sub{color:var(--on-dark-2);font-size:15px;margin-bottom:28px}
.portal-card .btn{width:100%}
.portal-card .btn+.btn{margin-top:10px}
.portal-note{margin-top:22px;padding-top:18px;border-top:1px solid var(--on-dark-line);color:var(--on-dark-2);font-size:14px}
.portal-note a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.dash{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100dvh - var(--nav-h))}
.dash-side{background:var(--surface);border-right:1px solid var(--line);padding:28px 20px}
.dash-side .nm{font-weight:600}
.dash-side .em{font-size:14px;color:var(--muted);word-break:break-word;margin-bottom:20px}
.dash-nav a{display:block;padding:9px 12px;border-radius:var(--r-ctl);font-size:15px;color:var(--text-2)}
.dash-nav a.active,.dash-nav a:hover{background:var(--surface-2);color:var(--text)}
.dash-main{padding:36px 32px 64px}
.sample{display:inline-block;font-size:13.5px;color:var(--accent);background:var(--accent-soft);padding:5px 10px;border-radius:var(--r-ctl);margin-bottom:16px}
.dash-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:24px 0 28px}
.dcard{background:var(--surface);border-radius:var(--r-box);padding:20px;box-shadow:inset 0 0 0 1px var(--line)}
.dcard .dl{font-size:14px;color:var(--muted)}
.dcard .dv{font-size:24px;font-weight:600;margin-top:8px}
.dash-panel{background:var(--surface);border-radius:var(--r-box);padding:24px;margin-bottom:20px;box-shadow:inset 0 0 0 1px var(--line)}
.dash-panel h3{margin-bottom:14px}
@media(max-width:860px){.dash{grid-template-columns:1fr}.dash-side{border-right:0;border-bottom:1px solid var(--line)}.dash-main{padding:28px 20px 56px}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js [data-reveal]{opacity:1;transform:none}
}

.fam-photo{margin:34px 0 0;max-width:360px}
.fam-photo img{width:100%;height:auto;display:block;border-radius:var(--r-box);box-shadow:0 30px 60px -30px rgba(5,13,23,.45)}

/* --- calculator --- */
.calc{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}
.calc-form{display:grid;gap:18px}
.calc-form label{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px}
.calc-form input[type=number]{width:100%;height:48px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);color:var(--text);font:inherit;font-size:16px}
.calc-form input[type=range]{width:100%;accent-color:var(--accent)}
.calc-form .hint{font-size:13px;color:var(--muted);margin-top:6px}
.calc-out{background:var(--ink-900);color:var(--on-dark);border-radius:var(--r-box);padding:32px;box-shadow:var(--shadow)}
.calc-out .row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--on-dark-line);font-size:15.5px}
.calc-out .row span:last-child{font-family:var(--mono);font-size:16px;white-space:nowrap}
.calc-out .big{margin-top:22px;padding-top:6px}
.calc-out .big small{display:block;color:var(--on-dark-2);font-size:13.5px;margin-bottom:4px}
.calc-out .big b{display:block;font-size:clamp(34px,4.4vw,48px);line-height:1.05;letter-spacing:-.02em;color:#fff}
.calc-out .fine{margin-top:16px;font-size:12.5px;line-height:1.55;color:var(--on-dark-2)}
@media(max-width:900px){.calc{grid-template-columns:1fr;gap:28px}.calc-out{padding:24px}}
/* --- sample report --- */
.sample{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-box);box-shadow:var(--shadow);overflow:hidden}
.sample-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 22px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.sample-bar b{color:var(--text)}
.badge{display:inline-block;padding:3px 10px;border-radius:99px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:600;letter-spacing:.02em}
.kpis{display:grid;grid-template-columns:repeat(4,1fr)}
.kpi{padding:22px;border-right:1px solid var(--line-soft)}
.kpi:last-child{border-right:0}
.kpi small{display:block;font-size:12.5px;color:var(--muted);margin-bottom:6px}
.kpi b{display:block;font-family:var(--mono);font-size:24px;color:var(--text)}
.kpi i{display:block;font-style:normal;font-size:12.5px;margin-top:4px;color:var(--muted)}
.kpi i.up{color:#1D7A4D}.kpi i.dn{color:var(--accent)}
.sample-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.sample-grid>div{padding:22px}
.sample-grid>div+div{border-left:1px solid var(--line-soft)}
.sample-grid h3{font-size:15px;margin-bottom:12px}
.sample-grid li{list-style:none;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:14.5px;color:var(--text-2);display:flex;gap:10px}
.sample-grid li:last-child{border-bottom:0}
.sample-grid li::before{content:'';flex:none;width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--accent)}
.sample-grid li.ok::before{background:#1D7A4D}
@media(max-width:800px){.kpis{grid-template-columns:1fr 1fr}.kpi:nth-child(2){border-right:0}.kpi:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}.sample-grid{grid-template-columns:1fr}.sample-grid>div+div{border-left:0;border-top:1px solid var(--line-soft)}}
/* --- mobile trial bar --- */
.mobile-cta{display:none}
@media(max-width:720px){
  .mobile-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(5,13,23,.94);backdrop-filter:blur(10px);border-top:1px solid var(--on-dark-line);transform:translateY(110%);transition:transform .3s var(--ease)}
  .mobile-cta.show{transform:none}
  .mobile-cta .btn{width:100%;height:46px}
  body.has-mcta{padding-bottom:72px}
}

.legal{max-width:760px}
.legal h2{font-size:20px;margin:34px 0 10px}
.legal p{color:var(--text-2);line-height:1.7;margin-bottom:12px}
.legal a{color:var(--text);text-decoration:underline;text-underline-offset:3px}

.quiz{max-width:760px}
.q-step h2{font-size:clamp(22px,2.6vw,30px);margin-bottom:22px}
.q-opts{display:grid;gap:12px}
.q-opts button{text-align:left;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);color:var(--text);font:inherit;font-size:16.5px;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.q-opts button:hover,.q-opts button:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:0}
.q-result{margin-top:8px;padding:28px;border-radius:var(--r-box);background:var(--ink-900);color:var(--on-dark)}
.q-result h2{color:#fff;font-size:clamp(24px,3vw,34px);margin-bottom:10px}
.q-result p{color:var(--on-dark-2);margin-bottom:18px;line-height:1.6}
.q-result .btn{margin-right:12px}
.rows h3 a{text-decoration:none;color:inherit}.rows h3 a:hover{color:var(--accent)}
