/* Ravari AI — shared site skin */
/* ── Tokens ─────────────────────────────────────────────────────────────── */
:root{
  --abyss:#05070D; --midnight:#070D18; --hull:#0F1B33; --steel:#1B2A47;
  --mist:#94A8C7; --fog:#D6E1EE; --pearl:#F2F6FA;
  --cyan:#22D3EE; --cyan-bright:#67E8F9; --turquoise:#14B8A6;
  --line:rgba(255,255,255,.10); --line-strong:rgba(255,255,255,.16);
  --gradient-duotone:linear-gradient(120deg,var(--cyan-bright) 0%,var(--cyan) 40%,var(--turquoise) 100%);
  --sans:'Geist','Inter',system-ui,sans-serif; --mono:'Geist Mono',ui-monospace,monospace;
  --container:1280px; --gutter:24px; --pad:96px; --radius:10px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--midnight);color:var(--fog);font-family:var(--sans);font-size:17px;line-height:1.6;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased}
a{color:inherit}
.skip{position:absolute;left:-9999px;top:8px;z-index:50;background:var(--cyan);color:#06111A;padding:10px 14px;border-radius:8px;font-weight:500}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
h1,h2,h3,p,ul{margin:0}
ul{padding:0;list-style:none}
strong{color:var(--pearl);font-weight:600}

/* ── Layout ───────────────────────────────────────────────────────────────── */
.wrap{max-width:var(--container);margin:0 auto;padding:0 40px}
.grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);row-gap:32px}
.c1{grid-column:span 1}.c2{grid-column:span 2}.c3{grid-column:span 3}.c4{grid-column:span 4}.c5{grid-column:span 5}.c6{grid-column:span 6}.c7{grid-column:span 7}.c8{grid-column:span 8}.c10{grid-column:span 10}.c12{grid-column:span 12}
.off2{grid-column:3 / span 8}.off1{grid-column:2 / span 10}
section{padding:var(--pad) 0;border-top:1px solid var(--line)}
section.dark{background:var(--abyss)}
.band{padding:56px 0}

/* ── Type ─────────────────────────────────────────────────────────────────── */
.display{font-size:clamp(44px,5.4vw,80px);line-height:1.02;font-weight:600;letter-spacing:-.025em;color:var(--pearl)}
.h2{font-size:clamp(30px,3.1vw,44px);line-height:1.1;font-weight:600;letter-spacing:-.02em;color:var(--pearl)}
.h3{font-size:22px;line-height:1.3;font-weight:600;color:var(--pearl)}
.lede{font-size:20px;line-height:1.5;color:var(--fog);max-width:34em}
.body{max-width:62ch}
.small{font-size:15px;line-height:1.55;color:var(--mist)}
.kicker{display:block;font-size:13px;line-height:1;letter-spacing:.06em;text-transform:uppercase;color:var(--mist);margin-bottom:20px;font-weight:500}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;line-height:1.4}
.gradient-word{background:var(--gradient-duotone);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.tone{font-size:clamp(22px,2vw,28px);line-height:1.35;font-weight:500;letter-spacing:-.01em;max-width:70ch}
.tone .bright{color:var(--pearl)}.tone .dim{color:var(--mist)}
.num{font-variant-numeric:tabular-nums}
.live{color:var(--cyan)}

/* ── Chrome ───────────────────────────────────────────────────────────────── */
.nav{position:sticky;top:0;z-index:40;height:64px;background:rgba(7,13,24,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.lockup{display:flex;align-items:center;gap:10px;text-decoration:none;padding:8px 0}
.lockup svg{width:28px;height:28px}
.lockup span{font-size:17px;font-weight:600;letter-spacing:.12em;color:var(--cyan)}
@supports (-webkit-background-clip:text){.lockup span{background:linear-gradient(45deg,#1193B4,#22D3EE 48%,#B5F0FD);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}}
.navlinks{display:flex;gap:28px}
.navlinks a{font-size:15px;color:var(--mist);text-decoration:none}
.navlinks a:hover{color:var(--pearl)}
.navright{display:flex;justify-content:flex-end;align-items:center;gap:20px}
.navright .tel{font-size:15px;color:var(--fog);text-decoration:none;white-space:nowrap}
.navright .tel b{color:var(--pearl);font-weight:500}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:var(--radius);font-size:17px;font-weight:500;text-decoration:none;border:1px solid transparent;white-space:nowrap;cursor:pointer}
.btn-fill{background:var(--cyan);color:#06111A;border-color:var(--cyan)}
.btn-fill:hover{background:var(--cyan-bright);border-color:var(--cyan-bright)}
.btn-line{background:transparent;color:var(--pearl);border-color:var(--line-strong)}
.btn-line:hover{border-color:var(--pearl)}
.btn-sm{height:40px;padding:0 16px;font-size:15px}
.menu-btn{display:none;width:44px;height:44px;border:1px solid var(--line-strong);border-radius:var(--radius);background:none;color:var(--pearl);align-items:center;justify-content:center}
.drawer{display:none}
body.nav-open .drawer{display:block;position:fixed;inset:64px 0 0 0;background:var(--midnight);z-index:39;padding:24px 20px}
.drawer a{display:block;padding:16px 0;border-bottom:1px solid var(--line);font-size:20px;color:var(--pearl);text-decoration:none}

/* ── Components ───────────────────────────────────────────────────────────── */
.card{border:1px solid var(--line-strong);border-radius:12px;background:var(--hull)}
.rule{border-top:1px solid var(--line)}
.cells{display:grid;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cells>*{padding:24px;border-right:1px solid var(--line)}
.cells>*:last-child{border-right:0}
.tag{display:inline-block;white-space:nowrap;font-size:12px;line-height:1;letter-spacing:.06em;text-transform:uppercase;font-weight:500;padding:6px 8px;border:1px solid var(--line-strong);border-radius:6px;color:var(--mist)}
.tag.on{color:var(--cyan);border-color:rgba(34,211,238,.45)}
.arrow{color:var(--cyan);text-decoration:none;font-size:15px;font-weight:500;display:inline-block;padding:12px 0}
.arrow:hover{text-decoration:underline}

/* Hero */
#top{padding-top:72px;padding-bottom:80px;border-top:0}
.hero-copy .display{max-width:12ch}
.hero-copy .lede{margin-top:28px;max-width:30em}
.hero-cta{display:flex;gap:12px;margin-top:36px;flex-wrap:wrap}
.hero-note{margin-top:16px;font-size:15px;color:var(--mist)}
.callcard{padding:0;overflow:hidden}
.callcard-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line);color:var(--mist)}
.callcard-head .mono{color:var(--mist)}
.ticket{padding:8px 20px}
.ticket-row{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}
.ticket-row:last-child{border-bottom:0}
.ticket-row .k{color:var(--mist)}
.ticket-row .v{color:var(--fog)}
.ticket-row .v.pending{color:var(--mist);font-style:normal}
.callcard-foot{padding:20px;border-top:1px solid var(--line);background:rgba(255,255,255,.02)}
.callcard-foot .num{font-size:28px;font-weight:600;letter-spacing:-.01em;text-decoration:none;display:block;margin-top:6px}

/* Trade doors */
.doors{grid-template-columns:repeat(3,1fr)}
.doors .name{font-size:22px;font-weight:600;color:var(--pearl);margin-bottom:8px}
.doors .scene{font-size:15px;color:var(--mist);margin-bottom:4px;line-height:1.5}

/* Moments */
.moments{grid-template-columns:repeat(3,1fr);border-bottom:0}
.moments>*{padding:28px 24px 28px 0;border-right:0;border-bottom:1px solid var(--line)}
.moments>*:nth-child(3n+2){padding-left:24px;border-left:1px solid var(--line)}
.moments>*:nth-child(3n){padding-left:24px;border-left:1px solid var(--line)}
.moment .when{font-size:15px;color:var(--mist);margin-bottom:6px}
.moment .what{font-size:17px;color:var(--pearl);line-height:1.45;max-width:30ch}
.moment .how{font-size:13px;color:var(--mist);margin-top:14px}
.moment .how b{color:var(--fog);font-weight:500}
.closing{margin-top:32px;font-size:20px;color:var(--fog);max-width:40em}

/* Calculator */
.calc{padding:28px}
.calc-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 24px}
.calc-inputs label{display:block;font-size:13px;color:var(--mist);margin-bottom:6px}
.calc-inputs output{display:block;font-size:20px;font-weight:600;color:var(--pearl);margin-bottom:6px}
.calc-inputs input[type=range]{width:100%;accent-color:var(--cyan);height:44px;margin:0}
.calc-out{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.calc-label{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--mist);font-weight:500}
.calc-big{font-size:56px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-top:8px}
.calc-big small{font-size:20px;font-weight:500;color:var(--mist);letter-spacing:0;margin-left:6px}
.calc-math{font-size:13px;color:var(--mist);margin-top:10px}
.calc-anchor{font-size:15px;color:var(--fog);margin-top:16px;display:none}
.calc-anchor.show{display:block}
.calc-foot{margin-top:24px;font-size:15px;color:var(--mist);line-height:1.55}

/* Rail */
.rail{grid-template-columns:repeat(7,1fr);margin-top:48px}
.rail>*{padding:20px 16px;display:flex;flex-direction:column}
.rail .tag{margin-top:auto;align-self:flex-start}
.rail .stage{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--mist);font-weight:500}
.rail .job{font-size:17px;color:var(--pearl);margin:10px 0 14px;line-height:1.35}
.checklist{margin-top:40px}
.checklist li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:17px}
.checklist li span:first-child{color:var(--fog)}
.boundary{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:15px;color:var(--mist)}

/* Logs */
.log{padding:24px}
.log h3{margin-bottom:16px}
.log li{display:grid;grid-template-columns:76px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:17px}
.log li:last-child{border-bottom:0}
.log .t{font-family:var(--mono);font-size:13px;color:var(--mist);padding-top:3px}
.log.today li{color:var(--mist)}
.log.after li{color:var(--pearl)}

/* Call band */
.callband{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:64px 0}
.callband .num{font-size:clamp(40px,4.6vw,64px);font-weight:600;letter-spacing:-.02em;text-decoration:none;display:inline-block;line-height:1}
.facts li{padding:14px 0;border-bottom:1px solid var(--line);font-size:17px;color:var(--fog);display:grid;grid-template-columns:36px 1fr;gap:12px}
.facts li:first-child{border-top:1px solid var(--line)}
.facts .i{font-family:var(--mono);font-size:13px;color:var(--mist);padding-top:2px}

/* Questions */
.faq-panel{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;column-gap:48px}
.faq-panel details{border-bottom:1px solid var(--line)}
.faq-panel summary{cursor:pointer;list-style:none;padding:18px 32px 18px 0;font-size:20px;font-weight:500;color:var(--pearl);position:relative}
.faq-panel summary::-webkit-details-marker{display:none}
.faq-panel summary::after{content:"+";position:absolute;right:4px;top:16px;color:var(--mist);font-weight:400;font-size:22px}
.faq-panel details[open] summary::after{content:"–"}
.faq-panel .a{padding:0 0 20px;font-size:17px;line-height:1.6;color:var(--fog);max-width:62ch}
.wontdo{margin-top:40px}
.wontdo .cells{grid-template-columns:repeat(4,1fr)}
.wontdo .cells>*{font-size:17px;color:var(--fog)}

/* Pricing */
.lane{padding:32px}
.lane .name{font-size:22px;font-weight:600;color:var(--pearl)}
.lane .who{font-size:15px;color:var(--mist);margin-top:4px}
.lane .price{font-size:44px;font-weight:600;letter-spacing:-.02em;color:var(--pearl);margin-top:24px;line-height:1}
.lane .price small{font-size:17px;font-weight:500;color:var(--mist);letter-spacing:0;margin-left:4px}
.lane .terms{font-size:15px;color:var(--mist);margin-top:8px}
.lane ul{margin:24px 0 28px;border-top:1px solid var(--line)}
.lane li{padding:12px 0;border-bottom:1px solid var(--line);font-size:17px;color:var(--fog)}
.lane .btn{width:100%}
.custom{margin-top:24px;padding:24px 32px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.guarantee{margin-top:24px;padding:28px 32px;border:1px solid var(--line-strong);border-radius:12px}
.guarantee .g{font-size:22px;font-weight:600;color:var(--pearl);line-height:1.3}
.guarantee .fine{font-size:13px;color:var(--mist);margin-top:14px;line-height:1.55}
.pricing-notes{margin-top:24px;font-size:15px;color:var(--mist)}

/* Doors row */
.ladder{grid-template-columns:repeat(4,1fr)}
.ladder .n{font-family:var(--mono);font-size:13px;color:var(--mist)}
.ladder .h3{margin:10px 0 8px}
.ladder .small{margin-bottom:18px;max-width:28ch}
.ladder .primary{background:var(--hull)}

/* Founder */
.portrait{aspect-ratio:1/1;border:1px solid var(--line-strong);border-radius:12px;background:var(--hull);display:flex;align-items:center;justify-content:center}
.portrait svg{width:96px;height:96px;opacity:.9}
.steps li{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:17px;color:var(--fog)}
.steps li:first-child{border-top:1px solid var(--line)}
.steps .n{font-family:var(--mono);font-size:13px;color:var(--mist);padding-top:3px}

/* Final */
#final{padding:112px 0}
#final .display{max-width:12ch}
#final .lede{margin-top:24px}

/* Footer */
footer{padding:56px 0 32px;border-top:1px solid var(--line);background:var(--abyss)}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
footer h4{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--mist);margin:0 0 12px;font-weight:500}
footer li{margin:0}
footer a{font-size:15px;color:var(--fog);text-decoration:none;display:inline-block;padding:10px 0}
footer a:hover{color:var(--pearl)}
footer .legal{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--mist);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}

/* Sticky mobile bar */
.sticky{display:none}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media(max-width:1100px){
  .wrap{padding:0 28px}
  .rail{grid-template-columns:repeat(4,1fr)}
  .rail>*:nth-child(n+5){border-top:1px solid var(--line)}
  .calc-inputs{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  :root{--pad:64px}
  .wrap{padding:0 20px}
  .grid{row-gap:24px}
  .c1,.c2,.c3,.c4,.c5,.c6,.c7,.c8,.c10,.off2,.off1{grid-column:span 12}
  .navlinks,.navright .tel,.navright .btn{display:none}
  .menu-btn{display:inline-flex}
  .nav .wrap{grid-template-columns:1fr auto}
  .navright{justify-content:flex-end}
  .lockup span{font-size:15px}
  #top{padding-top:48px;padding-bottom:56px}
  .doors,.moments,.ladder,.wontdo .cells{grid-template-columns:1fr}
  .cells>*{border-right:0;border-bottom:1px solid var(--line)}
  .cells>*:last-child{border-bottom:0}
  .moments>*{padding:22px 0;border-left:0!important;padding-left:0!important}
  .rail{grid-template-columns:1fr 1fr}
  .rail>*:nth-child(n+3){border-top:1px solid var(--line)}
  .calc-inputs{grid-template-columns:1fr}
  .faq-panel{grid-template-columns:1fr;column-gap:0}
  .custom{grid-template-columns:1fr}
  footer .cols{grid-template-columns:1fr 1fr}
  .hero-cta .btn{width:100%}
  .calc-big small{display:block;margin:6px 0 0;font-size:15px}
  .btn{white-space:normal;text-align:center}
  .sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:38;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(7,13,24,.96);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .3s}
  body.scrolled .sticky{transform:none}
  .sticky .btn{flex:1;height:44px}
  body{padding-bottom:72px}
}
@media(max-width:480px){
  footer .cols{grid-template-columns:1fr}
  .ticket-row{grid-template-columns:90px 1fr}
}
