
/* RexCore — design system (HSL tokens, editorial financial) */
:root{
  --navy:214 73% 16%;
  --navy-deep:214 76% 9%;
  --teal:175 78% 37%;
  --teal-soft:174 36% 93%;
  --gold:44 68% 47%;
  --gold-soft:48 78% 92%;
  --ink:220 13% 18%;
  --ink-mute:220 9% 46%;
  --bg:0 0% 100%;
  --bg-soft:220 20% 98%;
  --bg-warm:40 33% 97%;
  --line:220 13% 91%;
  --destructive:0 78% 52%;
  --radius:.5rem;
}
*,*::before,*::after{box-sizing:border-box;border-color:hsl(var(--line));}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;background:hsl(var(--bg));color:hsl(var(--ink));
  font-family:'Inter Tight',system-ui,sans-serif;
  font-feature-settings:'cv11','ss01';
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.5;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4,h5{
  font-family:'Fraunces',Georgia,serif;
  font-variation-settings:'opsz' 144,'SOFT' 30;
  color:hsl(var(--navy));letter-spacing:-.015em;line-height:1.08;margin:0;
}
p{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}
::selection{background:hsl(var(--teal)/.25);color:hsl(var(--navy-deep));}
*:focus-visible{outline:2px solid hsl(var(--teal));outline-offset:3px;border-radius:4px;}

/* layout */
.container{max-width:1280px;margin:0 auto;padding:0 1.5rem;}

/* Reveal */
.reveal{opacity:0;transform:translateY(14px);animation:rex-rise .7s cubic-bezier(.2,.7,.2,1) forwards;}
.reveal-1{animation-delay:.05s;}.reveal-2{animation-delay:.15s;}
.reveal-3{animation-delay:.25s;}.reveal-4{animation-delay:.35s;}
@keyframes rex-rise{to{opacity:1;transform:translateY(0);}}

.hero-atmosphere{
  background-image:
    radial-gradient(ellipse 60% 50% at 80% 20%, hsl(var(--teal)/.08), transparent 60%),
    radial-gradient(ellipse 50% 40% at 10% 90%, hsl(var(--gold)/.06), transparent 60%);
}
.navy-atmosphere{
  background-image:
    radial-gradient(ellipse 50% 45% at 80% 20%, hsl(var(--teal)/.18), transparent 60%),
    radial-gradient(ellipse 50% 45% at 10% 90%, hsl(var(--gold)/.10), transparent 60%);
}
.dot-grid{background-image:radial-gradient(hsl(0 0% 100%/.08) 1px,transparent 1px);background-size:18px 18px;}

.num-italic{
  font-family:'Fraunces',serif;font-style:italic;font-weight:500;
  color:hsl(var(--gold));font-variation-settings:'opsz' 144,'SOFT' 30;
}
.pull-quote{
  border-left:3px solid hsl(var(--gold));background:hsl(var(--navy));color:#fff;
  font-family:'Fraunces',serif;font-style:italic;font-variation-settings:'opsz' 144,'SOFT' 30;
  border-radius:0 .75rem .75rem 0;padding:2.5rem 2rem;font-size:1.5rem;line-height:1.35;
  max-width:64rem;
}
@media(min-width:768px){.pull-quote{padding:3.5rem 3rem;font-size:1.875rem;}}

.card-lift{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;}
.card-lift:hover{transform:translateY(-2px);box-shadow:0 12px 32px -16px hsl(var(--navy)/.18);border-color:hsl(var(--navy));}

.pill{
  display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;border-radius:999px;
  background:hsl(var(--teal-soft));color:hsl(var(--navy));font-size:.875rem;font-weight:500;
  border:1px solid hsl(var(--teal)/.3);
}
.sec-list{list-style:none;padding:0;margin:0;}
.sec-list li{position:relative;padding-left:1.5rem;margin-bottom:.75rem;color:hsl(var(--ink));line-height:1.55;}
.sec-list li::before{content:'';position:absolute;left:0;top:.55rem;width:8px;height:8px;background:hsl(var(--teal));transform:rotate(45deg);}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:hsl(var(--bg)/.6);backdrop-filter:blur(6px);transition:background .2s,border-color .2s;}
.site-header.scrolled{background:hsl(var(--bg)/.85);backdrop-filter:blur(12px);border-bottom:1px solid hsl(var(--line));}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px;}
@media(min-width:1024px){.header-inner{height:80px;}}
.logo{display:flex;align-items:center;gap:.5rem;}
.logo img{height:32px;width:auto;}
.logo .core{font-family:'Fraunces',serif;font-weight:600;letter-spacing:-.02em;font-size:1.25rem;line-height:1;color:hsl(var(--navy));font-variation-settings:'opsz' 144,'SOFT' 30;}
.logo.invert img{filter:brightness(0) invert(1);}
.logo.invert .core{color:#fff;}

.nav-desktop{display:none;align-items:center;gap:2rem;}
@media(min-width:880px){.nav-desktop{display:flex;}.nav-cta-desktop{display:block;}.menu-btn{display:none;}}
.nav-cta-desktop{display:none;}
.nav-link{position:relative;color:hsl(var(--navy));font-weight:500;padding:.5rem 0;transition:color .2s;}
.nav-link:hover{color:hsl(var(--teal));}
.nav-link.active::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:hsl(var(--teal));}
.menu-btn{background:none;border:none;padding:.5rem;margin-right:-.5rem;cursor:pointer;}

.mobile-nav{display:none;border-top:1px solid hsl(var(--line));background:#fff;}
.mobile-nav.open{display:block;}
@media(min-width:880px){.mobile-nav.open{display:none;}}
.mobile-nav nav{padding:1.5rem 0;display:flex;flex-direction:column;gap:.25rem;}
.mobile-nav a{padding:.75rem .5rem;font-size:1.125rem;font-weight:500;border-bottom:1px solid hsl(var(--line));color:hsl(var(--navy));}
.mobile-nav a.active{color:hsl(var(--teal));}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;font-weight:500;font-size:.95rem;border-radius:6px;transition:all .2s ease;cursor:pointer;border:1px solid transparent;line-height:1;font-family:inherit;}
.btn-primary{background:hsl(var(--navy));color:#fff;}
.btn-primary:hover{background:hsl(var(--navy-deep));transform:translateY(-1px);box-shadow:0 8px 20px -8px hsl(var(--navy)/.4);}
.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.btn-ghost{background:transparent;color:hsl(var(--navy));border-color:hsl(var(--line));}
.btn-ghost:hover{border-color:hsl(var(--navy));background:hsl(var(--bg-soft));}

/* Form */
.field-label{display:block;font-size:.875rem;font-weight:500;color:hsl(var(--navy));margin-bottom:.5rem;}
.field-input{width:100%;padding:.75rem .875rem;border:1px solid hsl(var(--line));border-radius:6px;background:#fff;color:hsl(var(--ink));font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s;}
.field-input:focus{outline:none;border-color:hsl(var(--teal));box-shadow:0 0 0 3px hsl(var(--teal)/.15);}
.check-card{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;border:1px solid hsl(var(--line));border-radius:8px;cursor:pointer;transition:all .2s;background:#fff;}
.check-card:hover{border-color:hsl(var(--teal));background:hsl(var(--teal-soft)/.4);}
.check-card.selected{border-color:hsl(var(--teal));background:hsl(var(--teal-soft));}
.check-card input{margin-top:2px;accent-color:hsl(var(--teal));}
.check-grid{display:grid;gap:.625rem;}
@media(min-width:640px){.check-grid{grid-template-columns:repeat(2,1fr);}}

.error-text{color:hsl(var(--destructive));font-size:.875rem;margin-top:.375rem;}

/* Footer */
.site-footer{margin-top:6rem;background:hsl(var(--navy));color:#fff;position:relative;}
.footer-bar{height:3px;width:100%;background:linear-gradient(90deg,hsl(var(--teal)),hsl(var(--gold)));}
.footer-grid{display:grid;gap:3rem;padding:4rem 0;}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.footer-grid{grid-template-columns:repeat(4,1fr);}}
.footer-col h4{font-family:'Inter Tight',sans-serif;font-size:.875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:1rem;}
.footer-col ul li{margin-bottom:.625rem;font-size:.875rem;}
.footer-col a{color:hsl(0 0% 100%/.7);transition:color .2s;}
.footer-col a:hover{color:hsl(var(--teal));}
.footer-bottom{padding:2rem 0;border-top:1px solid hsl(0 0% 100%/.1);display:flex;flex-direction:column;gap:1rem;justify-content:space-between;font-size:.75rem;color:hsl(0 0% 100%/.5);}
@media(min-width:768px){.footer-bottom{flex-direction:row;}}

/* Utility text */
.eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:600;color:hsl(var(--teal));text-transform:uppercase;}
.text-mute{color:hsl(var(--ink-mute));}
.text-navy{color:hsl(var(--navy));}
.text-teal{color:hsl(var(--teal));}
.text-white{color:#fff;}
.bg-soft{background:hsl(var(--bg-soft));}
.bg-warm{background:hsl(var(--bg-warm));}
.bg-navy{background:hsl(var(--navy));}
.border-line{border:1px solid hsl(var(--line));}
.border-y{border-top:1px solid hsl(var(--line));border-bottom:1px solid hsl(var(--line));}

/* Common spacing */
.section{padding:6rem 0;}
.section-sm{padding:5rem 0;}
.max-2xl{max-width:42rem;}.max-3xl{max-width:48rem;}.max-4xl{max-width:56rem;}.max-5xl{max-width:64rem;}
.mb-12{margin-bottom:3rem;}.mb-10{margin-bottom:2.5rem;}.mb-8{margin-bottom:2rem;}.mb-6{margin-bottom:1.5rem;}.mb-5{margin-bottom:1.25rem;}.mb-4{margin-bottom:1rem;}.mb-3{margin-bottom:.75rem;}.mb-2{margin-bottom:.5rem;}
.mt-2{margin-top:.5rem;}.mt-3{margin-top:.75rem;}.mt-4{margin-top:1rem;}.mt-5{margin-top:1.25rem;}.mt-6{margin-top:1.5rem;}.mt-7{margin-top:1.75rem;}.mt-9{margin-top:2.25rem;}.mt-10{margin-top:2.5rem;}.mt-12{margin-top:3rem;}.mt-16{margin-top:4rem;}

/* Headings sizing */
.h-display{font-size:3rem;}
@media(min-width:768px){.h-display{font-size:3.75rem;}}
@media(min-width:1024px){.h-display{font-size:4.5rem;}}
.h-2{font-size:2.25rem;line-height:1.1;}
@media(min-width:768px){.h-2{font-size:3rem;}}
.h-3{font-size:1.5rem;}
.h-3-md{font-size:1.875rem;}
@media(min-width:768px){.h-3-md{font-size:2.25rem;}}

.lead{font-size:1.125rem;color:hsl(var(--ink-mute));line-height:1.65;}
@media(min-width:768px){.lead{font-size:1.25rem;}}

/* Grids */
.grid{display:grid;gap:1.25rem;}
.grid-2{grid-template-columns:1fr;}
@media(min-width:768px){.grid-2{grid-template-columns:repeat(2,1fr);}}
.grid-3{grid-template-columns:1fr;}
@media(min-width:768px){.grid-3{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr);}}
.grid-4{grid-template-columns:1fr;}
@media(min-width:640px){.grid-4{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.grid-4{grid-template-columns:repeat(4,1fr);}}

.card{background:#fff;border:1px solid hsl(var(--line));border-radius:.75rem;padding:1.75rem;}
.card-lg{padding:2rem;}

/* Hero layout */
.hero-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;padding:4rem 0 5rem;}
@media(min-width:1024px){.hero-grid{grid-template-columns:1.3fr 1fr;gap:4rem;padding:6rem 0 7rem;}}
.hero-panel{aspect-ratio:4/5;border-radius:1rem;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;color:#fff;}
@media(min-width:768px){.hero-panel{padding:2.5rem;}}
.hero-panel .uptime{font-family:'Fraunces',serif;font-size:4.5rem;line-height:1;color:#fff;font-variation-settings:'opsz' 144,'SOFT' 30;}
@media(min-width:768px){.hero-panel .uptime{font-size:6rem;}}

/* Trust strip */
.trust-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 2rem;padding:1.25rem 0;}
.trust-strip span.item{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;}
.trust-dot{width:6px;height:6px;border-radius:999px;background:hsl(var(--teal));}

/* Pillars 3-up */
.pillars{border:1px solid hsl(var(--line));border-radius:1rem;background:#fff;display:grid;grid-template-columns:1fr;overflow:hidden;}
@media(min-width:768px){.pillars{grid-template-columns:repeat(3,1fr);}}
.pillars > div{padding:2rem;}
@media(min-width:768px){.pillars > div{padding:2.5rem;border-right:1px solid hsl(var(--line));}.pillars > div:last-child{border-right:none;}}
.pillars > div + div{border-top:1px solid hsl(var(--line));}
@media(min-width:768px){.pillars > div + div{border-top:none;}}

/* Channel band cards */
.ch-card{border:1px solid hsl(0 0% 100%/.1);background:hsl(0 0% 100%/.04);border-radius:.75rem;padding:1.5rem;transition:background .2s;}
.ch-card:hover{background:hsl(0 0% 100%/.08);}
.ch-card h3{color:#fff;font-size:1.25rem;margin-bottom:.5rem;}
.ch-card p{color:hsl(0 0% 100%/.65);font-size:.875rem;line-height:1.55;}

/* Page header */
.page-header{background:hsl(var(--bg-warm));position:relative;overflow:hidden;border-bottom:1px solid hsl(var(--line));}
.page-header::after{content:'';position:absolute;bottom:0;left:0;width:160px;height:3px;background:hsl(var(--gold));}
.page-header .inner{padding:5rem 0;max-width:56rem;}
@media(min-width:768px){.page-header .inner{padding:7rem 0;}}

/* Features rows */
.feat-section h2{padding-bottom:.75rem;display:inline-block;border-bottom:2px solid hsl(var(--gold));}
.feat-table{margin-top:2rem;border:1px solid hsl(var(--line));border-radius:.75rem;overflow:hidden;}
.feat-row{display:grid;grid-template-columns:1fr;gap:.5rem;padding:1.25rem 1.5rem;border-bottom:1px solid hsl(var(--line));}
@media(min-width:768px){.feat-row{grid-template-columns:1fr 1fr;gap:2rem;}}
.feat-row:last-child{border-bottom:none;}
.feat-row.alt{background:hsl(var(--bg-soft));}
.feat-row p:first-child{font-weight:500;color:hsl(var(--navy));}
.feat-row p:last-child{color:hsl(var(--ink-mute));}

/* WhyRexCore problems */
.problem-row{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;padding:2.5rem 0;border-bottom:1px solid hsl(var(--line));}
@media(min-width:768px){.problem-row{grid-template-columns:140px 1fr;gap:3rem;}}
.problem-row:last-child{border-bottom:none;}
.problem-num{font-family:'Fraunces',serif;font-style:italic;font-weight:500;color:hsl(var(--gold));font-size:3.75rem;line-height:1;font-variation-settings:'opsz' 144,'SOFT' 30;}
@media(min-width:768px){.problem-num{font-size:4.5rem;}}

.advantage{display:flex;gap:1.25rem;}
.advantage h3{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;margin-bottom:.5rem;}

/* Onboard form */
.onboard-section{background:hsl(var(--bg-warm));min-height:calc(100vh - 5rem);padding:3.5rem 0;}
@media(min-width:768px){.onboard-section{padding:5rem 0;}}
.onboard-shell{max-width:720px;margin:0 auto;}
.onboard-form{background:#fff;border:1px solid hsl(var(--navy)/.1);border-radius:1rem;box-shadow:0 18px 50px -30px hsl(var(--navy)/.4);padding:1.75rem;}
@media(min-width:768px){.onboard-form{padding:3rem;}}

.progress{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem;}
.progress-track{display:flex;align-items:center;flex:1;}
.step-dot{width:36px;height:36px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:500;border:2px solid hsl(var(--line));background:#fff;color:hsl(var(--ink-mute));transition:all .2s;flex-shrink:0;}
.step-dot.active{background:hsl(var(--navy));color:#fff;border-color:hsl(var(--navy));}
.step-dot.done{background:hsl(var(--teal));color:#fff;border-color:hsl(var(--teal));}
.step-bar{flex:1;height:2px;margin:0 .5rem;background:hsl(var(--line));}
.step-bar.done{background:hsl(var(--teal));}
.step-label{font-family:'Fraunces',serif;font-style:italic;color:hsl(var(--gold));margin-left:1rem;white-space:nowrap;}

.form-step{display:none;}.form-step.active{display:block;}
.form-actions{margin-top:2.5rem;padding-top:2rem;border-top:1px solid hsl(var(--line));display:flex;align-items:center;justify-content:space-between;gap:.75rem;}

.field-row{display:grid;gap:1.25rem;}
@media(min-width:640px){.field-row{grid-template-columns:repeat(2,1fr);}}
.field-stack > * + *{margin-top:1.5rem;}

/* Thank-you */
.thanks-icon{display:inline-flex;width:72px;height:72px;border-radius:999px;background:hsl(var(--teal-soft));align-items:center;justify-content:center;margin-bottom:2.5rem;}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .reveal{animation:none!important;opacity:1;transform:none;}
  *{transition:none!important;}
  html{scroll-behavior:auto;}
}
