/* ===========================================================
   Gelezanathi — shared site stylesheet
   Used by: index.html, signin.html, signup.html,
            forgot-password.html, about.html, contact.html
   =========================================================== */
:root{
  --ink:#0b0b0c;
  --ink-soft:#3f3f46;
  --muted:#71717a;
  --muted-lt:#a1a1aa;
  --paper:#ffffff;
  --mist:#f6f6f4;
  --mist-2:#eef1f5;
  --line:#e6e4df;
  --sky-deep:#16324f;
  --sky-mid:#3f7cad;
  --sky-pale:#a9cbe6;
  --sky-horizon:#f2c98a;
  --blue:#2f5fd6;
  --gold:#c07a26;
  --green:#1f8a4c;
  --red:#c1442c;
  --radius-sm:6px;
  --radius-md:12px;
  --radius-lg:22px;
  --radius-pill:999px;
  --shadow-card:0 1px 2px rgba(10,10,10,.05), 0 14px 34px -18px rgba(10,10,10,.28);
  --shadow-soft:0 1px 2px rgba(10,10,10,.04), 0 6px 16px -10px rgba(10,10,10,.18);
  --font-display:'Fraunces', Georgia, serif;
  --font-body:'General Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; font-family:var(--font-body); color:var(--ink); background:var(--paper); -webkit-font-smoothing:antialiased;}
img,svg{display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none; margin:0; padding:0;}
h1,h2,h3,p{margin:0;}
button{font-family:inherit;}

.wrap{max-width:1180px; margin:0 auto; padding:0 40px;}
em{font-style:italic; font-family:var(--font-display);}

@keyframes fadeUp{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);} }
.reveal{animation:fadeUp .7s cubic-bezier(.2,.7,.2,1) both;}
.d1{animation-delay:.05s;} .d2{animation-delay:.15s;} .d3{animation-delay:.25s;}
.d4{animation-delay:.35s;} .d5{animation-delay:.45s;} .d6{animation-delay:.55s;}

/* ---------- Header / Nav ---------- */
header{position:relative; z-index:30; background:var(--paper); border-bottom:1px solid var(--line);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:16px 40px; max-width:1180px; margin:0 auto;}
.brand{display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:600; font-size:18px; letter-spacing:-.01em;}
.brand-mark{width:28px;height:28px; border-radius:50%; background:var(--ink); color:#fff; display:flex;align-items:center;justify-content:center; font-family:var(--font-display); font-size:14px;font-weight:600; flex-shrink:0;}
.nav-links{display:flex; gap:6px; background:var(--mist); padding:4px; border-radius:var(--radius-pill);}
.nav-links a{padding:8px 16px; border-radius:var(--radius-pill); font-size:13.5px; color:var(--ink-soft); transition:background .2s, color .2s;}
.nav-links a:hover{background:#fff; color:var(--ink); box-shadow:var(--shadow-soft);}
.nav-links a.active{background:#fff; color:var(--ink); box-shadow:var(--shadow-soft); font-weight:500;}
.nav-right{display:flex; align-items:center; gap:18px;}
.signin-link{font-size:13.5px; color:var(--muted); transition:color .2s;}
.signin-link:hover{color:var(--ink);}

.nav-toggle-checkbox{display:none;}
.hamburger-btn{display:none; width:36px;height:36px;border-radius:50%; background:var(--mist); align-items:center;justify-content:center; cursor:pointer; flex-shrink:0;}
.hamburger-btn svg{width:17px;height:17px;}
.mobile-nav-panel{display:none;}

.btn{display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border-radius:var(--radius-pill); font-size:13.5px; font-weight:500; border:1px solid transparent; cursor:pointer; transition:transform .15s ease, box-shadow .15s ease, background .15s ease; white-space:nowrap;}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--ink); color:#fff;}
.btn-primary:hover{box-shadow:0 10px 24px -10px rgba(10,10,10,.5);}
.btn-secondary{background:#fff; color:var(--ink); border-color:var(--line);}
.btn-secondary:hover{box-shadow:var(--shadow-soft);}
.btn-block{width:100%; justify-content:center;}
.btn svg{width:13px;height:13px;}

/* ---------- Hero (marketing home) ---------- */
.hero{position:relative; overflow:hidden; padding:96px 40px 220px; background:linear-gradient(180deg, var(--sky-deep) 0%, var(--sky-mid) 40%, var(--sky-pale) 76%, var(--sky-horizon) 100%); text-align:center;}
.hero::before, .hero::after{content:""; position:absolute; border-radius:50%; background:rgba(255,255,255,.55); filter:blur(50px);}
.hero::before{width:420px; height:180px; left:-80px; top:220px;}
.hero::after{width:520px; height:200px; right:-140px; top:60px; background:rgba(255,255,255,.4);}
.cloud{position:absolute; border-radius:50%; background:rgba(255,255,255,.5); filter:blur(46px);}
.c1{width:300px;height:140px; left:12%; top:80px;}
.c2{width:260px;height:120px; right:8%; top:340px; background:rgba(255,255,255,.35);}
.c3{width:200px;height:100px; left:38%; top:400px; background:rgba(255,255,255,.3);}

.hero-inner{position:relative; z-index:2; max-width:760px; margin:0 auto;}
.eyebrow{display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.3); color:#fff; font-size:12.5px; padding:6px 14px; border-radius:var(--radius-pill); margin-bottom:22px; backdrop-filter:blur(6px);}
.hero h1{font-family:var(--font-display); font-weight:600; font-size:54px; line-height:1.1; letter-spacing:-.01em; color:#0b0b0c; text-shadow:0 1px 0 rgba(255,255,255,.2);}
.hero p.sub{max-width:540px; margin:26px auto 0; font-size:16px; line-height:1.6; color:#1c2b3a;}
.hero-ctas{display:flex; gap:12px; justify-content:center; margin-top:34px;}
.hero-ctas .btn-primary{padding:12px 22px; font-size:14px;}
.hero-ctas .btn-secondary{padding:12px 22px; font-size:14px; background:rgba(255,255,255,.85);}
.trust-strip{margin-top:22px; font-size:11.5px; color:#274156; letter-spacing:.02em; display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap;}
.trust-strip .dot{width:3px;height:3px;border-radius:50%;background:#274156; opacity:.5;}

/* ---------- Small page hero (about / contact / auth utility pages) ---------- */
.page-hero{background:var(--mist); padding:76px 40px 64px; text-align:center;}
.page-hero .eyebrow-dark{display:inline-flex; align-items:center; gap:6px; background:#fff; border:1px solid var(--line); color:var(--ink-soft); font-size:12px; padding:6px 14px; border-radius:var(--radius-pill); margin-bottom:20px;}
.page-hero h1{font-family:var(--font-display); font-weight:600; font-size:42px; line-height:1.15; letter-spacing:-.01em; max-width:640px; margin:0 auto;}
.page-hero p{max-width:520px; margin:18px auto 0; font-size:15px; color:var(--muted); line-height:1.6;}

/* ---------- Dashboard mockup ---------- */
.mockup-wrap{position:relative; z-index:5; max-width:1000px; margin:-150px auto 0; padding:0 40px;}
.mockup{background:#fff; border-radius:var(--radius-lg); box-shadow:var(--shadow-card); border:1px solid var(--line); padding:18px;}
.mockup-tabs{display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; flex-wrap:wrap; gap:10px;}
.tabs{display:flex; gap:4px; background:var(--mist); padding:4px; border-radius:var(--radius-pill); flex-wrap:wrap;}
.tabs span{font-size:12px; color:var(--muted); padding:6px 12px; border-radius:var(--radius-pill); display:flex; align-items:center; gap:5px;}
.tabs span.active{background:#fff; color:var(--ink); box-shadow:var(--shadow-soft); font-weight:500;}
.tabs .count{background:var(--ink); color:#fff; font-size:10px; padding:1px 6px; border-radius:var(--radius-pill);}
.mockup-right{display:flex; align-items:center; gap:10px;}
.search-fake{display:flex; align-items:center; gap:6px; background:var(--mist); border-radius:var(--radius-pill); padding:7px 14px; font-size:12px; color:var(--muted-lt); width:220px;}
.icon-btn{width:30px;height:30px;border-radius:50%; background:var(--mist); display:flex;align-items:center;justify-content:center;}
.avatar{width:30px;height:30px;border-radius:50%; background:var(--ink); color:#fff; font-size:11px; font-weight:600; display:flex;align-items:center;justify-content:center; flex-shrink:0;}

.mockup-body{display:grid; grid-template-columns:44px 1fr 300px; gap:20px;}
.side-rail{display:flex; flex-direction:column; gap:14px; padding-top:6px;}
.side-rail .icon-circle{width:32px;height:32px;border-radius:10px; display:flex;align-items:center;justify-content:center; color:var(--muted);}
.side-rail .icon-circle.on{background:var(--mist); color:var(--ink);}

.panel-title{font-size:19px; font-weight:600; font-family:var(--font-display);}
.panel-sub{font-size:12.5px; color:var(--muted); margin-top:4px;}
.panel-head{display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:18px; flex-wrap:wrap; gap:10px;}
.panel-actions{display:flex; gap:8px;}
.chip-btn{font-size:11.5px; color:var(--ink-soft); border:1px solid var(--line); padding:6px 11px; border-radius:var(--radius-pill); display:flex; align-items:center; gap:5px;}
.chip-btn.dark{background:var(--ink); color:#fff; border-color:var(--ink);}

.metrics-row{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:18px;}
.metric-label{font-size:11.5px; color:var(--muted);}
.metric-value{font-size:22px; font-weight:600; margin-top:4px; font-family:var(--font-display);}
.metric-delta{font-size:11px; margin-top:4px; display:flex; align-items:center; gap:3px;}
.metric-delta.up{color:var(--green);}
.metric-delta.down{color:var(--red);}

.segbar{display:flex; height:6px; border-radius:var(--radius-pill); overflow:hidden; margin-bottom:22px;}
.segbar span{height:100%;}

.chart-card, .ai-card, .gauge-card{background:var(--mist); border-radius:var(--radius-md); padding:16px;}
.chart-legend{display:flex; gap:14px; margin-top:2px; font-size:11.5px; color:var(--muted); flex-wrap:wrap;}
.chart-legend .dot{width:7px;height:7px;border-radius:50%; display:inline-block; margin-right:5px;}

.bars{display:flex; align-items:flex-end; gap:10px; height:150px; margin-top:18px; position:relative;}
.bargroup{display:flex; flex-direction:column; align-items:center; gap:6px; flex:1;}
.bargroup .stack{display:flex; align-items:flex-end; gap:2px; height:120px;}
.bargroup .stack div{width:7px; border-radius:3px 3px 0 0;}
.bargroup .mo{font-size:10px; color:var(--muted-lt);}
.tooltip{position:absolute; top:-8px; left:44%; background:var(--ink); color:#fff; font-size:10.5px; padding:8px 10px; border-radius:8px; line-height:1.5; box-shadow:var(--shadow-card); white-space:nowrap;}
.tooltip b{font-weight:600;}

.right-col{display:flex; flex-direction:column; gap:16px;}
.ai-card .ai-title{font-size:13px; font-weight:600; margin-bottom:10px; display:flex; justify-content:space-between; align-items:center;}
.bubble{background:#fff; border:1px solid var(--line); border-radius:10px; padding:9px 12px; font-size:12px; margin-bottom:7px; max-width:88%;}
.bubble.me{background:#dbe7fb; border-color:#dbe7fb; margin-left:auto;}
.gen-pill{display:inline-flex; align-items:center; gap:6px; font-size:11px; color:var(--muted); margin:6px 0 10px;}
.pulse{width:6px;height:6px;border-radius:50%; background:var(--blue); animation:pulse 1.4s infinite;}
@keyframes pulse{0%,100%{opacity:.3;} 50%{opacity:1;}}
.ai-desc{font-size:11.5px; color:var(--muted); line-height:1.5;}

.gauge-card{display:flex; flex-direction:column; align-items:center; text-align:center;}
.gauge-top{width:100%; display:flex; justify-content:space-between; font-size:12px; font-weight:600; margin-bottom:6px;}
.gauge-num{font-family:var(--font-display); font-size:30px; font-weight:600; margin-top:-8px;}
.gauge-caption{font-size:11px; color:var(--muted); margin-top:2px;}

/* ---------- Section shells ---------- */
section{padding:96px 40px;}
.section-mist{background:var(--mist);}
.section-head{max-width:640px; margin:0 auto 56px; text-align:center;}
.section-head h2{font-family:var(--font-display); font-weight:600; font-size:36px; line-height:1.2; letter-spacing:-.01em;}
.section-head p{margin-top:14px; font-size:15px; color:var(--muted); line-height:1.6;}

/* ---------- Feature cards ---------- */
.features-grid{max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.feature-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:26px; box-shadow:var(--shadow-soft); transition:transform .2s ease, box-shadow .2s ease;}
.feature-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-card);}
.feature-icon{width:38px;height:38px;border-radius:11px; background:var(--ink); color:#fff; display:flex;align-items:center;justify-content:center; margin-bottom:18px;}
.feature-icon svg{width:18px;height:18px;}
.feature-card h3{font-size:16.5px; font-weight:600; font-family:var(--font-display);}
.feature-card p{font-size:13.5px; color:var(--muted); line-height:1.6; margin-top:8px;}
.mini-preview{margin-top:20px; background:var(--mist); border-radius:10px; padding:12px 14px;}
.mini-row{display:flex; align-items:center; justify-content:space-between; font-size:12px; padding:5px 0; color:var(--ink-soft); gap:8px;}
.mini-row .tag{font-size:10.5px; color:var(--green); display:flex; align-items:center; gap:4px; flex-shrink:0;}
.mini-row .tag.muted{color:var(--muted-lt);}
.mini-row .tag .dot{width:5px;height:5px;border-radius:50%;background:var(--green);}
.mini-bar-row{display:flex; align-items:center; justify-content:space-between; font-size:11.5px; color:var(--ink-soft); margin-bottom:8px;}
.mini-bar-track{background:#e9e9e6; border-radius:var(--radius-pill); height:5px; width:100%; margin-top:4px;}
.mini-bar-fill{height:100%; border-radius:var(--radius-pill);}

/* ---------- Split section ---------- */
.split{max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;}
.split h2{font-family:var(--font-display); font-weight:600; font-size:36px; line-height:1.18; letter-spacing:-.01em;}
.split > div:first-child p.lead{font-size:15px; color:var(--muted); line-height:1.6; margin-top:16px; max-width:440px;}
.checklist{margin-top:26px; display:flex; flex-direction:column; gap:16px;}
.checklist li{display:flex; gap:12px;}
.check-ico{width:20px;height:20px;border-radius:50%; background:var(--ink); color:#fff; display:flex;align-items:center;justify-content:center; flex-shrink:0; margin-top:2px;}
.check-ico svg{width:11px;height:11px;}
.checklist b{font-size:14px; font-weight:600; display:block;}
.checklist span{font-size:12.5px; color:var(--muted); line-height:1.5;}
.split-ctas{display:flex; align-items:center; gap:20px; margin-top:28px; flex-wrap:wrap;}
.link-arrow{font-size:13.5px; font-weight:500; display:inline-flex; align-items:center; gap:5px;}

.sessions-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-card); padding:18px;}
.sessions-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; flex-wrap:wrap; gap:8px;}
.sessions-head .title{display:flex; align-items:center; gap:8px; font-size:14px; font-weight:600;}
.sessions-head .badge-count{background:var(--mist); color:var(--ink-soft); font-size:11px; padding:2px 9px; border-radius:var(--radius-pill);}
.session-row{display:flex; align-items:flex-start; gap:12px; padding:12px 4px; border-top:1px solid var(--line);}
.session-row:first-of-type{border-top:none;}
.session-time{font-size:10.5px; color:var(--muted-lt); width:38px; padding-top:3px; flex-shrink:0;}
.session-row .avatar{width:32px;height:32px; font-size:11px;}
.session-body{flex:1; min-width:0;}
.session-top{display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap;}
.session-name{font-size:13px; font-weight:600;}
.badge{font-size:10.5px; padding:3px 9px; border-radius:var(--radius-pill); white-space:nowrap;}
.badge.dark{background:var(--ink); color:#fff;}
.badge.lt{background:var(--mist); color:var(--ink-soft);}
.badge.warn{background:#fbe7d8; color:var(--gold);}
.badge.green{background:#dcf0e3; color:var(--green);}
.session-snip{font-size:12px; color:var(--muted); margin-top:3px; line-height:1.4;}

/* ---------- Pricing ---------- */
.pricing-section{background:var(--mist-2);}
.pricing-grid{max-width:1000px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.price-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:28px 24px; display:flex; flex-direction:column;}
.price-card.hi{border-color:var(--ink); box-shadow:var(--shadow-card); position:relative;}
.price-tier{display:flex; align-items:center; gap:8px; font-size:14px; font-weight:600; flex-wrap:wrap;}
.rec-badge{background:var(--ink); color:#fff; font-size:9.5px; padding:2px 8px; border-radius:var(--radius-pill); text-transform:uppercase; letter-spacing:.04em;}
.price-desc{font-size:12.5px; color:var(--muted); margin-top:8px; line-height:1.5; min-height:34px;}
.price-amount{font-family:var(--font-display); font-size:30px; font-weight:600; margin-top:20px; display:flex; align-items:baseline; gap:6px;}
.price-amount .unit{font-size:13px; font-weight:400; color:var(--muted); font-family:var(--font-body);}
.price-note{font-size:11px; color:var(--muted-lt); margin-top:4px;}
.price-list{margin-top:22px; display:flex; flex-direction:column; gap:11px; flex:1;}
.price-list li{display:flex; align-items:flex-start; gap:9px; font-size:12.5px; color:var(--ink-soft); line-height:1.5;}
.price-list li svg{width:14px;height:14px; margin-top:2px; flex-shrink:0;}
.price-list li.off{color:var(--muted-lt);}
.price-list li.off svg{color:var(--muted-lt);}
.price-card .btn{margin-top:24px;}

/* ---------- Footer ---------- */
footer{background:#fff; padding:72px 40px 32px; border-top:1px solid var(--line);}
.footer-top{max-width:1180px; margin:0 auto; display:grid; grid-template-columns:0.9fr repeat(5,1fr); gap:26px;}
.footer-brand p{font-size:12.5px; color:var(--muted); line-height:1.6; margin-top:14px; max-width:240px;}
.footer-col h4{font-size:12px; color:var(--muted-lt); text-transform:uppercase; letter-spacing:.05em; margin-bottom:14px; font-weight:600;}
.footer-col ul{display:flex; flex-direction:column; gap:10px;}
.footer-col a{font-size:13px; color:var(--ink-soft); transition:color .15s;}
.footer-col a:hover{color:var(--ink);}
.footer-bottom{max-width:1180px; margin:56px auto 0; padding-top:24px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--muted-lt); flex-wrap:wrap; gap:12px;}
.footer-bottom .legal{display:flex; gap:18px;}

/* ---------- Auth pages (sign in / sign up / forgot password) ---------- */
.auth-shell{display:grid; grid-template-columns:1fr 1fr; min-height:calc(100vh - 61px);}
.auth-brand-panel{position:relative; overflow:hidden; background:linear-gradient(200deg, var(--sky-deep) 0%, var(--sky-mid) 45%, var(--sky-pale) 85%, var(--sky-horizon) 120%); padding:48px; display:flex; flex-direction:column; justify-content:space-between; color:#fff;}
.auth-brand-panel .brand{color:#fff;}
.auth-brand-panel .brand .brand-mark{background:#fff; color:var(--ink);}
.auth-quote{max-width:360px; font-family:var(--font-display); font-size:24px; line-height:1.35; color:#0b1a26; position:relative; z-index:2;}
.auth-quote span{display:block; margin-top:14px; font-family:var(--font-body); font-size:12.5px; color:#1c2b3a; font-style:normal;}
.auth-form-panel{display:flex; align-items:center; justify-content:center; padding:48px 32px;}
.auth-card{width:100%; max-width:380px;}
.auth-card h1{font-family:var(--font-display); font-weight:600; font-size:28px; letter-spacing:-.01em;}
.auth-card p.sub-auth{font-size:13.5px; color:var(--muted); margin-top:8px; line-height:1.5;}
.auth-card form{margin-top:28px;}

.form-group{margin-bottom:16px; display:flex; flex-direction:column; gap:6px;}
.form-group label{font-size:12.5px; font-weight:500; color:var(--ink-soft);}
.form-input, select.form-input, textarea.form-input{padding:11px 14px; border:1px solid var(--line); border-radius:10px; font-size:14px; font-family:var(--font-body); color:var(--ink); background:#fff; transition:border-color .15s, box-shadow .15s; width:100%;}
.form-input:focus{outline:none; border-color:var(--ink); box-shadow:0 0 0 3px rgba(11,11,12,.06);}
textarea.form-input{resize:vertical; min-height:96px;}
.form-row-inline{display:flex; align-items:center; justify-content:space-between; margin:-6px 0 18px; font-size:12.5px;}
.form-check{display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--ink-soft);}
.form-check input{width:15px;height:15px; accent-color:var(--ink);}
.form-link{color:var(--ink-soft); font-weight:500;}
.form-link:hover{color:var(--ink);}
.form-cols-2{display:grid; grid-template-columns:1fr 1fr; gap:12px;}

.auth-divider{display:flex; align-items:center; gap:12px; color:var(--muted-lt); font-size:11.5px; margin:22px 0;}
.auth-divider::before, .auth-divider::after{content:""; flex:1; height:1px; background:var(--line);}
.auth-switch{text-align:center; font-size:13px; color:var(--muted); margin-top:22px;}
.auth-switch a{font-weight:600; color:var(--ink);}

.role-picker{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:22px;}
.role-option{border:1px solid var(--line); border-radius:12px; padding:14px 12px; cursor:pointer; transition:border-color .15s, background .15s;}
.role-option input{display:none;}
.role-option .role-icon{width:26px;height:26px;border-radius:8px; background:var(--mist); display:flex;align-items:center;justify-content:center; margin-bottom:8px; color:var(--ink-soft);}
.role-option .role-icon svg{width:14px;height:14px;}
.role-option .role-label{font-size:13px; font-weight:600;}
.role-option .role-sub{font-size:10.5px; color:var(--muted); margin-top:2px;}
.role-option:hover{border-color:var(--muted-lt);}
.role-option input:checked ~ .role-icon{background:var(--ink); color:#fff;}
.role-option:has(input:checked){border-color:var(--ink); background:var(--mist);}

/* ---------- About page ---------- */
.about-story{max-width:720px; margin:0 auto; display:flex; flex-direction:column; gap:20px;}
.about-story p{font-size:16px; line-height:1.75; color:var(--ink-soft);}
.about-story p.lede{font-family:var(--font-display); font-size:22px; line-height:1.5; color:var(--ink);}

.mission-grid{max-width:900px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:22px;}
.mission-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:30px; box-shadow:var(--shadow-soft);}
.mission-card .mission-num{font-family:var(--font-display); font-size:13px; color:var(--muted-lt); margin-bottom:10px;}
.mission-card h3{font-family:var(--font-display); font-size:19px; font-weight:600;}
.mission-card p{font-size:13.5px; color:var(--muted); line-height:1.65; margin-top:10px;}

.founders-row{max-width:640px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.founder-card{text-align:center; padding:26px 16px; border:1px solid var(--line); border-radius:var(--radius-lg); background:#fff;}
.founder-avatar{width:56px;height:56px;border-radius:50%; background:var(--ink); color:#fff; display:flex;align-items:center;justify-content:center; font-family:var(--font-display); font-size:18px; font-weight:600; margin:0 auto 14px;}
.founder-name{font-size:14.5px; font-weight:600;}
.founder-role{font-size:12px; color:var(--muted); margin-top:2px;}

.trust-row{max-width:760px; margin:44px auto 0; display:flex; justify-content:center; gap:28px; flex-wrap:wrap;}
.trust-item{display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--ink-soft);}
.trust-item .check-ico{background:var(--green);}

/* ---------- Roadmap (About page) ---------- */
.roadmap-grid{max-width:1020px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.roadmap-badge{display:inline-flex; font-size:11px; font-weight:600; padding:4px 10px; border-radius:var(--radius-pill); margin-bottom:12px;}
.roadmap-badge.now{background:#dcf0e3; color:var(--green);}
.roadmap-badge.next{background:#fbe7d8; color:var(--gold);}
.roadmap-badge.later{background:var(--mist-2); color:var(--muted);}

/* ---------- Contact page ---------- */
.contact-grid{max-width:1020px; margin:0 auto; display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:flex-start;}
.contact-form-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:32px; box-shadow:var(--shadow-soft);}
.contact-info h3{font-family:var(--font-display); font-size:19px; font-weight:600; margin-bottom:14px;}
.contact-steps{display:flex; flex-direction:column; gap:16px; margin-bottom:32px;}
.contact-steps li{display:flex; gap:12px;}
.step-num{width:22px;height:22px;border-radius:50%; background:var(--ink); color:#fff; font-size:11px; font-weight:600; display:flex;align-items:center;justify-content:center; flex-shrink:0;}
.contact-steps b{font-size:13.5px; font-weight:600; display:block;}
.contact-steps span{font-size:12.5px; color:var(--muted); line-height:1.5;}
.contact-direct{background:var(--mist); border-radius:var(--radius-md); padding:18px;}
.contact-direct div{font-size:12.5px; color:var(--muted); margin-bottom:6px;}
.contact-direct a{font-size:14px; font-weight:600;}

/* ---------- Responsive ---------- */
@media (max-width:1020px){
  .mockup-body{grid-template-columns:1fr;}
  .side-rail{display:none;}
  .right-col{flex-direction:row;}
  .metrics-row{grid-template-columns:repeat(2,1fr); row-gap:16px;}
  .footer-top{grid-template-columns:repeat(3,1fr); row-gap:32px;}
  .auth-shell{grid-template-columns:1fr;}
  .auth-brand-panel{display:none;}
  .contact-grid{grid-template-columns:1fr;}
}
@media (max-width:860px){
  .wrap, .nav, .hero, section, .page-hero{padding-left:22px; padding-right:22px;}
  .nav-links, .nav-right{display:none;}
  .hamburger-btn{display:flex;}
  .mobile-nav-panel{
    display:flex; flex-direction:column; gap:0;
    max-height:0; overflow:hidden; background:#fff; border-bottom:1px solid transparent;
    transition:max-height .3s ease; padding:0 22px;
  }
  .mobile-nav-panel a{padding:13px 2px; font-size:14.5px; border-bottom:1px solid var(--line);}
  .mobile-nav-panel a.mnp-cta{margin:14px 0 16px;}
  #nav-toggle:checked ~ .mobile-nav-panel{max-height:480px; padding:6px 22px 20px; border-bottom-color:var(--line);}
  .hero h1{font-size:34px;}
  .page-hero h1{font-size:30px;}
  .mockup-wrap{margin-top:-90px; padding:0 16px;}
  .mockup{padding:14px;}
  .right-col{flex-direction:column;}
  .bars{overflow-x:auto; padding-bottom:6px;}
  .bargroup{min-width:32px;}
  .features-grid{grid-template-columns:1fr;}
  .split{grid-template-columns:1fr; gap:40px;}
  .pricing-grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column; align-items:flex-start;}
  .mission-grid, .founders-row, .roadmap-grid{grid-template-columns:1fr;}
  .form-cols-2{grid-template-columns:1fr;}
}
@media (max-width:520px){
  .metrics-row{grid-template-columns:1fr 1fr; gap:12px;}
  .metric-value{font-size:18px;}
  .hero h1{font-size:28px;}
  .hero-ctas{flex-direction:column; width:100%;}
  .hero-ctas .btn{width:100%; justify-content:center;}
  .auth-form-panel{padding:36px 20px;}
  .role-picker{grid-template-columns:1fr;}
}


/* ---------- Stage 1: Intervention Centre ---------- */
.intervention-split{align-items:center;}
.intervention-split .eyebrow-dark{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);color:var(--ink-soft);font-size:12px;padding:6px 14px;border-radius:var(--radius-pill);margin-bottom:20px;}
.intervention-split h2{font-family:var(--font-display);font-weight:600;font-size:42px;line-height:1.15;letter-spacing:-.01em;}
.intervention-card{background:var(--mist);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-card);}
.intervention-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--line);}
.intervention-head b{display:block;font-size:17px;}
.intervention-head span:not(.badge){display:block;font-size:11.5px;color:var(--muted);margin-top:4px;}
.intervention-student{font-size:12px;color:var(--muted);padding:15px 0;}
.intervention-signal{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px;}
.intervention-signal span{display:block;color:var(--muted);font-size:11px;}
.intervention-signal strong{display:block;font-size:18px;margin-top:3px;}
.intervention-signal small{display:block;color:var(--red);margin-top:5px;}
.intervention-steps{display:flex;flex-direction:column;gap:10px;margin-top:14px;}
.i-step{display:flex;gap:11px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px;}
.i-step>span{font-size:10px;color:var(--muted-lt);padding-top:2px;}
.i-step b{font-size:12px;}
.i-step p{font-size:11.5px;color:var(--muted);line-height:1.45;margin-top:3px;}
.intervention-footer{margin-top:14px;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:11px;color:var(--muted);}
.status-pill{background:#fff;border:1px solid var(--line);padding:6px 9px;border-radius:var(--radius-pill);color:var(--ink-soft);}

/* ---------- Stage 1: Pricing ---------- */
.pricing-note-bar{margin-top:18px;background:var(--mist);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:12px;color:var(--muted);}
.pricing-note-bar b{color:var(--ink);}

/* Make price list bullets work with the simpler Stage 1 markup */
.price-list li>span{display:inline-flex;min-width:16px;color:var(--green);font-weight:700;}

@media(max-width:760px){
  .intervention-split h2{font-size:34px;}
  .intervention-footer{align-items:flex-start;flex-direction:column;}
}

/* ===========================================================
   Stage 2 — Platform expansion (Home flow, Platform hub,
   Security, shared trust/workflow components)
   =========================================================== */

/* ---------- Transformation flow strip (Home) ---------- */
.flow-strip{max-width:1180px;margin:0 auto;display:flex;align-items:flex-start;gap:0;}
.flow-step{flex:1;min-width:0;text-align:center;padding:0 12px;position:relative;}
.flow-step .flow-num{width:30px;height:30px;border-radius:50%;background:var(--mist);border:1px solid var(--line);color:var(--ink-soft);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-family:var(--font-display);}
.flow-step.is-outcome .flow-num{background:var(--ink);color:#fff;border-color:var(--ink);}
.flow-step b{display:block;font-size:12.5px;font-weight:600;line-height:1.35;}
.flow-arrow{display:flex;align-items:center;justify-content:center;color:var(--muted-lt);flex-shrink:0;width:28px;padding-top:15px;}
.flow-arrow svg{width:15px;height:15px;}
@media(max-width:860px){
  .flow-strip{flex-direction:column;gap:0;align-items:stretch;}
  .flow-step{display:flex;align-items:center;gap:14px;text-align:left;padding:10px 0;}
  .flow-step .flow-num{margin:0;flex-shrink:0;}
  .flow-arrow{display:none;}
}

/* ---------- Platform hub pillars ---------- */
.pillar-row{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:80px 0;border-bottom:1px solid var(--line);}
.pillar-row:last-child{border-bottom:none;}
.pillar-row.rev .pillar-media{order:2;}
.pillar-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;}
.pillar-row h2{font-family:var(--font-display);font-weight:600;font-size:32px;line-height:1.2;letter-spacing:-.01em;}
.pillar-row .pillar-why{font-size:15px;color:var(--muted);line-height:1.65;margin-top:14px;max-width:460px;}
.pillar-how{margin-top:22px;display:flex;flex-direction:column;gap:12px;}
.pillar-how li{display:flex;gap:10px;font-size:13px;color:var(--ink-soft);align-items:flex-start;}
.pillar-how li .check-ico{margin-top:1px;}
.pillar-footer{margin-top:26px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.pillar-media{background:var(--mist);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;min-height:260px;display:flex;flex-direction:column;justify-content:center;gap:10px;}
.pillar-roadmap{margin-top:22px;}

/* ---------- Security / trust cards ---------- */
.security-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.security-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow-soft);}
.security-card .feature-icon{background:var(--mist);color:var(--ink);}
.security-card h3{font-family:var(--font-display);font-size:16px;font-weight:600;margin-top:2px;}
.security-card p{font-size:13px;color:var(--muted);line-height:1.6;margin-top:8px;}

/* ---------- Honesty / transparency callout ---------- */
.honesty-box{max-width:820px;margin:0 auto;background:var(--mist);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px 28px;display:flex;gap:16px;align-items:flex-start;}
.honesty-box .h-ico{width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink-soft);}
.honesty-box .h-ico svg{width:16px;height:16px;}
.honesty-box b{display:block;font-size:14px;margin-bottom:4px;}
.honesty-box p{font-size:13px;color:var(--muted);line-height:1.6;}

/* ---------- Numbered workflow (deep-dive pages) ---------- */
.workflow-grid{max-width:920px;margin:0 auto;display:flex;flex-direction:column;}
.workflow-item{display:grid;grid-template-columns:56px 1fr;gap:20px;padding:26px 0;border-top:1px solid var(--line);}
.workflow-item:first-child{border-top:none;padding-top:0;}
.workflow-item .w-num{font-family:var(--font-display);font-size:18px;color:var(--muted-lt);}
.workflow-item h3{font-size:16px;font-weight:600;}
.workflow-item p{font-size:13.5px;color:var(--muted);line-height:1.6;margin-top:6px;max-width:560px;}

/* ---------- Simple page section utilities ---------- */
.eyebrow-dark.on-mist{background:var(--paper);}
.center-cta{text-align:center;padding-top:8px;}

@media(max-width:1020px){
  .security-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:860px){
  .pillar-row{grid-template-columns:1fr;gap:28px;padding:56px 0;}
  .pillar-row.rev .pillar-media{order:0;}
  .security-grid{grid-template-columns:1fr;}
  .workflow-item{grid-template-columns:40px 1fr;gap:14px;}
  .honesty-box{flex-direction:column;}
}

/* ---------- FAQ list ---------- */
.faq-category{max-width:820px;margin:0 auto; font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-lt);padding-top:40px;}
.faq-category:first-of-type{padding-top:0;}
.faq-list{max-width:820px;margin:10px auto 0;display:flex;flex-direction:column;}
.faq-item{padding:22px 0;border-top:1px solid var(--line);}
.faq-item:first-child{border-top:none;padding-top:0;}
.faq-item h3{font-size:15px;font-weight:600;display:flex;gap:10px;align-items:flex-start;}
.faq-item h3 .q-mark{color:var(--muted-lt);font-family:var(--font-display);flex-shrink:0;font-size:15px;}
.faq-item p{font-size:13.5px;color:var(--muted);line-height:1.65;margin-top:8px;padding-left:26px;}

/* ---------- Legal document typography ---------- */
.legal-doc{max-width:760px;margin:0 auto;}
.legal-doc .updated{font-size:12.5px;color:var(--muted-lt);margin-bottom:8px;}
.legal-doc h2{font-family:var(--font-display);font-weight:600;font-size:20px;margin-top:42px;margin-bottom:12px;letter-spacing:-.005em;}
.legal-doc h2:first-of-type{margin-top:0;}
.legal-doc p{font-size:14px;color:var(--ink-soft);line-height:1.75;margin-bottom:14px;}
.legal-doc ul{margin:10px 0 16px 20px;}
.legal-doc li{font-size:14px;color:var(--ink-soft);line-height:1.75;margin-bottom:8px;}
.legal-doc strong{color:var(--ink);}
.legal-index{max-width:760px;margin:36px auto 0;display:flex;flex-direction:column;}
.legal-index a{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:1px solid var(--line);font-size:14px;font-weight:500;color:var(--ink);}
.legal-index a:first-child{border-top:none;}
.legal-index a svg{width:15px;height:15px;color:var(--muted-lt);flex-shrink:0;}
.footer-legal-links{display:flex;gap:16px;flex-wrap:wrap;}
.footer-legal-links a{color:var(--muted-lt);}

/* ---------- Cookie consent banner ---------- */
.cookie-banner{position:fixed; left:24px; right:24px; bottom:24px; max-width:640px; margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:0 12px 32px -12px rgba(10,10,10,.22), var(--shadow-soft); padding:20px 22px; display:flex; align-items:center; gap:18px; z-index:999; transform:translateY(140%); opacity:0; transition:transform .45s cubic-bezier(.22,1,.36,1), opacity .35s ease;}
.cookie-banner.is-visible{transform:translateY(0); opacity:1;}
.cookie-banner p{font-size:13px; color:var(--muted); line-height:1.55; margin:0; flex:1;}
.cookie-banner p a{color:var(--ink); font-weight:600;}
.cookie-banner .btn{flex-shrink:0; padding:10px 20px; font-size:13px;}
@media(max-width:640px){
  .cookie-banner{left:14px; right:14px; bottom:14px; flex-direction:column; align-items:stretch; text-align:left; padding:18px; gap:14px;}
  .cookie-banner .btn{width:100%; justify-content:center;}
}


/* Pre-launch research form notes */
.form-note{color:var(--muted);font-size:13px;line-height:1.55;margin:12px 0;}
#research-form-status:empty{display:none}

.concept-note{font-size:12px;line-height:1.5;color:var(--muted);max-width:720px;margin:12px 0 0;}


/* Pre-launch clarity, keyboard accessibility and motion preferences */
.demo-data-tag{display:inline-flex;vertical-align:middle;align-items:center;margin-left:8px;padding:4px 7px;border-radius:4px;background:#fff1d6;color:#65430b;font:700 9px/1.2 'General Sans',sans-serif;letter-spacing:.08em;}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #bd8a32;outline-offset:3px;}
.cookie-banner .cookie-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.cookie-banner .cookie-actions button{cursor:pointer;}
.cookie-banner .btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--line);}
.cookie-banner .cookie-actions .btn{white-space:normal;}
.cookie-settings-link{cursor:pointer;}
.research-form-card{align-self:start;}
.research-form-card h2{font-family:var(--font-display);font-size:26px;line-height:1.2;margin:12px 0;}
.research-form-card p{line-height:1.7;}
@media(max-width:640px){.cookie-banner .cookie-actions{display:grid;grid-template-columns:1fr;width:100%;}.demo-data-tag{margin:5px 0 0 5px;}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}}

/* ===========================================================
   Mobile-first refinement — October 2026
   Small screens are the default; wider layouts progressively
   gain columns and spacing at 640px, 861px and 1024px.
   =========================================================== */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-width: 0; overflow-wrap: anywhere; }
img, video, iframe, canvas, svg { max-width: 100%; }
img, video { height: auto; }
.wrap { width: 100%; max-width: 1180px; padding-inline: 20px; }
.nav { width: 100%; padding: 12px 20px; gap: 12px; }
.brand { min-width: 0; font-size: 17px; }
.nav-links, .nav-right { display: none; }
.hamburger-btn { display: flex; width: 44px; height: 44px; border: 0; }
.mobile-nav-panel { display: flex; flex-direction: column; gap: 0; max-height: 0; overflow: hidden; background: #fff; border-bottom: 1px solid transparent; padding: 0 20px; transition: max-height .25s ease; }
.mobile-nav-panel a { min-height: 44px; display: flex; align-items: center; padding: 10px 2px; font-size: 15px; border-bottom: 1px solid var(--line); }
.mobile-nav-panel a.mnp-cta { justify-content: center; margin: 14px 0 16px; }
#nav-toggle:checked ~ .mobile-nav-panel { max-height: 560px; padding: 6px 20px 20px; border-bottom-color: var(--line); }
.btn { min-height: 44px; justify-content: center; padding: 11px 16px; white-space: normal; text-align: center; line-height: 1.3; }
button, input, select, textarea { font: inherit; }
button, [role="button"], input[type="checkbox"], input[type="radio"] { touch-action: manipulation; }
:where(a, button, input, select, textarea, [tabindex]) { scroll-margin-block: 90px; }
.hero { padding: 64px 20px 150px; }
.hero h1 { font-size: clamp(2rem, 8.5vw, 3.375rem); line-height: 1.08; letter-spacing: -.025em; }
.hero p.sub { margin-top: 20px; font-size: 15px; line-height: 1.7; }
.hero-ctas { width: 100%; flex-direction: column; gap: 10px; margin-top: 26px; }
.hero-ctas .btn { width: 100%; }
.trust-strip { line-height: 1.7; }
.page-hero { padding: 52px 20px 44px; }
.page-hero h1 { font-size: clamp(1.8rem, 7vw, 2.625rem); line-height: 1.12; }
.page-hero p { font-size: 15px; line-height: 1.7; }
section { padding: 56px 20px; }
.section-head { margin-bottom: 32px; }
.section-head h2, .split h2 { font-size: clamp(1.75rem, 6.5vw, 2.25rem); line-height: 1.15; }
.section-head p { font-size: 15px; line-height: 1.7; }
.mockup-wrap { margin-top: -92px; padding: 0 12px; }
.mockup { padding: 12px; border-radius: 16px; }
.mockup-body { grid-template-columns: minmax(0, 1fr); gap: 14px; }
.mockup-tabs { align-items: stretch; }
.tabs { max-width: 100%; overflow-x: auto; flex-wrap: nowrap; }
.tabs span { flex-shrink: 0; }
.mockup-right { min-width: 0; max-width: 100%; flex-wrap: wrap; }
.search-fake { width: min(100%, 220px); }
.metrics-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.metric-value { font-size: 20px; }
.right-col { flex-direction: column; min-width: 0; }
.bars { max-width: 100%; overflow-x: auto; padding-bottom: 8px; }
.bargroup { min-width: 30px; }
.tooltip { max-width: 90%; white-space: normal; }
.features-grid, .pricing-grid, .split, .mission-grid, .founders-row, .roadmap-grid { grid-template-columns: minmax(0, 1fr); }
.features-grid, .pricing-grid { gap: 14px; }
.feature-card, .price-card { min-width: 0; padding: 22px; }
.split { gap: 28px; }
.split-ctas { gap: 12px; }
.sessions-card, .intervention-card, .contact-form-card { min-width: 0; padding: 18px; }
.intervention-split h2 { font-size: clamp(1.8rem, 7vw, 2.625rem); }
.intervention-head, .intervention-footer { align-items: flex-start; flex-direction: column; }
.form-cols-2 { grid-template-columns: minmax(0, 1fr); }
.form-row-inline { gap: 12px; flex-wrap: wrap; }
.form-input, select.form-input, textarea.form-input { min-height: 44px; font-size: 16px; }
textarea.form-input { min-height: 110px; }
.role-picker { grid-template-columns: minmax(0, 1fr); }
.contact-grid { grid-template-columns: minmax(0, 1fr); }
.footer-top { grid-template-columns: minmax(0, 1fr); gap: 24px; }
footer { padding: 48px 20px 24px; }
.footer-bottom { flex-direction: column; align-items: flex-start; gap: 12px; }
.cookie-banner { left: 12px; right: 12px; bottom: 12px; width: auto; max-width: none; padding: 16px; flex-direction: column; align-items: stretch; gap: 12px; max-height: min(78dvh, 520px); overflow-y: auto; }
.cookie-banner .cookie-actions { display: grid; grid-template-columns: 1fr; gap: 8px; width: 100%; }
.cookie-banner .cookie-actions .btn { width: 100%; }

@media (min-width: 640px) {
  .wrap { padding-inline: 28px; }
  .nav { padding: 14px 28px; }
  .hero, section, .page-hero { padding-inline: 28px; }
  .hero { padding-top: 76px; padding-bottom: 175px; }
  .hero-ctas { flex-direction: row; width: auto; justify-content: center; }
  .hero-ctas .btn { width: auto; }
  section { padding-block: 72px; }
  .features-grid, .pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .role-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cookie-banner { left: 20px; right: 20px; max-width: 640px; flex-direction: row; align-items: center; }
  .cookie-banner .cookie-actions { display: flex; width: auto; }
}
@media (min-width: 861px) {
  .wrap { padding-inline: 40px; }
  .nav { padding: 16px 40px; }
  .nav-links { display: flex; }
  .nav-right { display: flex; }
  .hamburger-btn, .mobile-nav-panel { display: none; }
  .hero, section, .page-hero { padding-inline: 40px; }
  .hero { padding-top: 96px; padding-bottom: 220px; }
  section { padding-block: 96px; }
  .page-hero { padding-block: 76px 64px; }
  .hero-ctas { flex-direction: row; }
  .split { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
  .features-grid, .pricing-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footer-top { grid-template-columns: .9fr repeat(5, minmax(0, 1fr)); }
  .form-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .role-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .intervention-head { flex-direction: row; }
  .intervention-footer { flex-direction: row; }
}
@media (min-width: 1024px) {
  .mockup-body { grid-template-columns: 44px minmax(0, 1fr) 300px; gap: 20px; }
  .side-rail { display: flex; }
  .right-col { flex-direction: column; }
  .metrics-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .footer-top { row-gap: 32px; }
}
@media (max-width: 380px) {
  .brand { font-size: 15px; gap: 7px; }
  .brand-mark { width: 26px; height: 26px; }
  .hero { padding-top: 52px; }
  .eyebrow, .page-hero .eyebrow-dark { max-width: 100%; white-space: normal; line-height: 1.5; }
  .metric-value { font-size: 18px; }
  .mockup-tabs { gap: 8px; }
  .contact-form-card, .feature-card, .price-card { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
@media (min-width: 861px) {
  .features-grid, .pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-top { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .features-grid, .pricing-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footer-top { grid-template-columns: .9fr repeat(5, minmax(0, 1fr)); }
}
.nav-toggle-checkbox { display: block; position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.nav-toggle-checkbox:focus-visible + .nav { outline: 3px solid #bd8a32; outline-offset: -3px; }
