/* GRACE AI CONTROL — Clean Unified CSS v6 */
:root {
  --navy:#0B1F3A; --navy2:#071527; --gold:#C9A84C; --gold2:#E2C47A;
  --pale:#F5EDD6; --white:#fff; --off:#F7F5F1; --stone:#EDE8DF;
  --ink:#0B1F3A; --mid:#2E3D52; --soft:#556070;
  --bl:#E0D9CE; --bm:#C8BFA8;
  --green:#1A6B3C; --red:#B83232;
  --fd:Georgia,'Times New Roman',serif;
  --fb:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --fm:'SF Mono','Fira Code',Consolas,'Courier New',monospace;
  --rsm:3px; --rmd:8px; --rlg:14px;
  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:96px;
  --sha:0 2px 12px rgba(11,31,58,.07);
  --shb:0 6px 32px rgba(11,31,58,.11);
  --shc:0 16px 56px rgba(11,31,58,.15);
  --t:all .24s cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--fb);color:var(--ink);background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{cursor:pointer;font-family:var(--fb)}

/* LAYOUT */
.w{max-width:1120px;margin:0 auto;padding:0 32px}
.w-sm{max-width:760px;margin:0 auto;padding:0 32px}

/* NAV */
.nav{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--bl);backdrop-filter:blur(10px);transition:var(--t)}
.nav.sc{box-shadow:var(--shb)}
.nav-inner{max-width:1120px;margin:0 auto;padding:0 32px;height:68px;
  display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:11px;flex-shrink:0;text-decoration:none}
.logo-mark{width:38px;height:38px;flex-shrink:0}
.logo-text{display:flex;flex-direction:column;line-height:1}
.logo-name{font-family:var(--fd);font-size:1.2rem;font-weight:700;color:var(--ink);letter-spacing:.03em}
.logo-name b{color:var(--gold)}
.logo-tag{font-family:var(--fm);font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--soft);margin-top:3px}
.nav-links{display:flex;align-items:center;gap:24px;list-style:none}
.nav-links a{font-size:.83rem;font-weight:500;color:var(--mid);transition:var(--t);
  padding-bottom:2px;border-bottom:1.5px solid transparent}
.nav-links a:hover,.nav-links a.active{color:var(--ink);border-bottom-color:var(--gold)}
.nav-btn{background:transparent;color:var(--ink);padding:8px 18px;border-radius:var(--rsm);
  font-size:.83rem;font-weight:600;letter-spacing:.02em;text-transform:none;
  border:1.5px solid var(--gold)!important;border-bottom:1.5px solid var(--gold)!important;transition:var(--t)}
.nav-btn:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)!important}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px}
.burger span{display:block;width:23px;height:2px;background:var(--ink);border-radius:1px;transition:var(--t)}
.mob{display:none;position:fixed;top:68px;left:0;right:0;background:var(--white);
  border-bottom:1px solid var(--bl);padding:16px 28px 24px;box-shadow:var(--shc);
  z-index:999;flex-direction:column;gap:4px}
.mob.open{display:flex}
.mob a{font-size:.98rem;color:var(--mid);font-weight:500;padding:10px 0;
  border-bottom:1px solid var(--bl)}
.mob a:last-child{border-bottom:none;color:var(--gold);font-weight:600}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;
  border-radius:var(--rsm);font-family:var(--fb);font-size:.84rem;font-weight:600;
  letter-spacing:.05em;text-transform:uppercase;border:2px solid transparent;
  cursor:pointer;transition:var(--t);white-space:nowrap;text-decoration:none}
.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-navy:hover{background:var(--gold);border-color:var(--gold);color:var(--navy);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--navy);border-color:var(--gold);font-weight:700}
.btn-gold:hover{background:var(--navy);color:var(--gold);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--gold);border-color:var(--gold);font-weight:700}
.btn-ghost:hover{background:var(--gold);color:var(--navy);transform:translateY(-2px)}
.btn-lg{padding:15px 32px;font-size:.92rem}

/* SECTIONS */
.sec{padding:88px 0}
.sec-sm{padding:52px 0}
.sec-white{background:var(--white)}
.sec-off{background:var(--off)}
.sec-stone{background:var(--stone)}
.sec-navy{background:var(--navy);position:relative;overflow:hidden}
.sec-navy::before{content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(201,168,76,.04) 1px,transparent 1px),
  linear-gradient(90deg,rgba(201,168,76,.04) 1px,transparent 1px);
  background-size:48px 48px;pointer-events:none}
.sec-navy .w,.sec-navy .w-sm{position:relative;z-index:2}
.sec-intro{text-align:center;max-width:680px;margin:0 auto 52px}

/* TYPE */
.eyebrow{font-family:var(--fm);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--soft);display:block;margin-bottom:12px}
.eyebrow-dk{font-family:var(--fm);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);display:block;margin-bottom:12px}
.rule{display:block;width:40px;height:2px;background:var(--gold);margin-bottom:22px}
.rule-c{margin-left:auto;margin-right:auto}
.h1{font-family:var(--fd);font-weight:700;font-size:clamp(2.6rem,5vw,4rem);line-height:1.07;color:var(--ink)}
.h2{font-family:var(--fd);font-weight:700;font-size:clamp(1.7rem,2.8vw,2.4rem);line-height:1.18;color:var(--ink);margin-bottom:18px}
.h2-lt{color:#fff}
.h3{font-family:var(--fd);font-weight:700;font-size:1.15rem;line-height:1.3;color:var(--ink);margin-bottom:8px}
.h3-lt{color:#fff}
.lead{font-size:1rem;color:var(--mid);line-height:1.75;max-width:600px}
.lead-lt{color:rgba(255,255,255,.78)}
.body{font-size:.9rem;color:var(--mid);line-height:1.72}
.small{font-size:.8rem;color:var(--soft);line-height:1.6}
.lborder{border-left:3px solid var(--gold);padding-left:20px}

/* CARDS */
.card{background:var(--white);border:1px solid var(--bl);border-radius:var(--rlg);
  padding:28px;transition:var(--t)}
.card:hover{box-shadow:var(--shb);transform:translateY(-3px);border-color:var(--bm)}
.card-accent{border-left:3px solid var(--gold)}
.card-dk{background:rgba(255,255,255,.045);border:1px solid rgba(201,168,76,.22);
  border-radius:var(--rlg);padding:28px;transition:var(--t)}
.card-dk:hover{background:rgba(201,168,76,.06);border-color:rgba(201,168,76,.4);transform:translateY(-3px)}

/* GRIDS */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.g6{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.split-c{align-items:center}

/* QUOTE */
.q-box{border-left:4px solid var(--gold);padding:22px 26px;
  background:var(--pale);border-radius:0 var(--rmd) var(--rmd) 0}
.q-box blockquote{font-family:var(--fd);font-style:italic;
  font-size:clamp(1rem,1.7vw,1.3rem);color:var(--ink);line-height:1.5;margin-bottom:9px}
.q-box cite{font-family:var(--fm);font-size:.68rem;letter-spacing:.08em;
  color:var(--soft);text-transform:uppercase;font-style:normal}
.q-dk{border-left:4px solid var(--gold);padding:22px 26px;
  background:rgba(201,168,76,.07);border-radius:0 var(--rmd) var(--rmd) 0}
.q-dk blockquote{font-family:var(--fd);font-style:italic;
  font-size:clamp(1rem,1.7vw,1.3rem);color:#fff;line-height:1.5;margin-bottom:9px}
.q-dk em{color:var(--gold);font-style:normal}
.q-dk cite{font-family:var(--fm);font-size:.68rem;letter-spacing:.08em;
  color:rgba(255,255,255,.5);text-transform:uppercase;font-style:normal}

/* STATE BADGES */
.sb{display:inline-flex;align-items:center;padding:3px 9px;border-radius:var(--rsm);
  font-family:var(--fm);font-size:.67rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.sb-allow{background:#E6F4EC;color:#145C30}
.sb-modify{background:#FEF7E6;color:#8A6000}
.sb-abstain{background:#EFEFEF;color:#444}
.sb-deny{background:#FCECEA;color:#9E2B2B}
.sb-shadow{background:#E8EEF6;color:#2C4E7A}
.sb-observer{background:#E6F3F2;color:#15635C}

/* CTA BAND */
.cta-band{background:var(--navy);border-top:3px solid var(--gold);padding:72px 0}
.cta-row{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.cta-btns{display:flex;gap:14px;flex-wrap:wrap;flex-shrink:0}

/* FOOTER */
.footer{background:var(--navy2);padding:56px 0 28px;border-top:3px solid var(--gold)}
.footer-g{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;margin-bottom:40px}
.fbn{font-family:var(--fd);font-size:1.3rem;font-weight:700;color:#fff;margin-bottom:4px}
.fbn b{color:var(--gold)}
.fbt{font-family:var(--fm);font-size:8px;letter-spacing:.2em;color:rgba(255,255,255,.38);
  text-transform:uppercase;margin-bottom:12px}
.fbd{font-size:.82rem;color:rgba(255,255,255,.5);line-height:1.7;max-width:260px;margin-bottom:6px}
.fbe{font-size:.78rem;color:var(--gold2)}
.fch{font-family:var(--fm);font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.38);margin-bottom:13px}
.fcl{list-style:none;display:flex;flex-direction:column;gap:9px}
.fcl a{font-size:.82rem;color:rgba(255,255,255,.55);transition:var(--t)}
.fcl a:hover{color:var(--gold)}
.fbot{padding-top:20px;border-top:1px solid rgba(255,255,255,.08);
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.fcopy{font-size:.7rem;color:rgba(255,255,255,.28)}
.fleg{display:flex;gap:16px}
.fleg a{font-size:.7rem;color:rgba(255,255,255,.28);transition:var(--t)}
.fleg a:hover{color:var(--gold)}

/* FORM */
.form-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.form-label{font-size:.76rem;font-weight:600;color:var(--mid)}
.form-label.req::after{content:' *';color:var(--gold)}
.form-input,.form-select,.form-textarea{padding:10px 13px;border:1.5px solid var(--bl);
  border-radius:var(--rsm);font-size:.88rem;font-family:var(--fb);color:var(--ink);
  background:var(--white);outline:none;transition:border-color .2s ease;width:100%}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--gold)}
.form-input::placeholder,.form-textarea::placeholder{color:var(--soft)}
.form-textarea{resize:vertical;min-height:90px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-err{background:#FEE;border:1px solid var(--red);border-radius:var(--rsm);
  padding:8px 12px;font-size:.79rem;color:var(--red);display:none;margin-bottom:9px}
.form-ok{background:#E6F4EC;border:1px solid var(--green);border-radius:var(--rsm);
  padding:12px 16px;font-size:.88rem;color:var(--green);display:none;margin-bottom:9px;line-height:1.55}

/* TOAST */
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(14px);
  background:var(--navy);color:#fff;padding:12px 24px;border-radius:40px;
  font-size:.82rem;font-weight:500;border:1px solid var(--gold);box-shadow:var(--shc);
  opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease;z-index:9000;white-space:nowrap}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(201,168,76,.4)}50%{box-shadow:0 0 0 8px rgba(201,168,76,0)}}
.au{animation:fadeUp .8s ease both}
.au2{animation:fadeUp .8s .15s ease both}
.rv{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.rv.in{opacity:1;transform:translateY(0)}
.d1{transition-delay:.07s}.d2{transition-delay:.14s}.d3{transition-delay:.21s}
.d4{transition-delay:.28s}.d5{transition-delay:.35s}.d6{transition-delay:.42s}

/* PAGE HERO */
.pg-hero{padding:110px 0 64px;background:var(--off);border-bottom:1px solid var(--bl)}

/* DEMO SCREENSHOT */
.demo-screen{background:var(--navy);border-radius:var(--rlg);overflow:hidden;
  box-shadow:var(--shc);margin-bottom:20px}
.demo-screen svg{display:block;width:100%}
.demo-card{background:var(--white);border:1px solid var(--bl);border-radius:var(--rlg);
  overflow:hidden;transition:var(--t)}
.demo-card:hover{box-shadow:var(--shb);transform:translateY(-3px);border-color:var(--bm)}
.demo-info{padding:20px 24px 24px}
.demo-cat{font-family:var(--fm);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);margin-bottom:6px}
.demo-title{font-family:var(--fd);font-size:1.05rem;font-weight:700;color:var(--ink);margin-bottom:6px}
.demo-desc{font-size:.82rem;color:var(--soft);line-height:1.6;margin-bottom:14px}
.demo-cta{font-size:.78rem;color:var(--mid);font-style:italic}

/* CONTACT STRIP */
.contact-strip{background:var(--pale);border:1px solid var(--bm);
  border-left:4px solid var(--gold);border-radius:0 var(--rlg) var(--rlg) 0;
  padding:24px 28px;display:flex;align-items:center;justify-content:space-between;
  gap:24px;flex-wrap:wrap}

/* RESPONSIVE */
@media(max-width:960px){
  .nav-links{display:none}.burger{display:flex}
  .split{grid-template-columns:1fr;gap:40px}
  .g2,.g3{grid-template-columns:1fr}
  .g6{grid-template-columns:repeat(3,1fr)}
  .footer-g{grid-template-columns:1fr 1fr}
  .cta-row{flex-direction:column;text-align:center}
  .w,.w-sm{padding:0 20px}
  .sec{padding:64px 0}
}
@media(max-width:600px){
  .g6{grid-template-columns:repeat(2,1fr)}
  .footer-g{grid-template-columns:1fr}
  .fbot{flex-direction:column;text-align:center}
  .form-row{grid-template-columns:1fr}
  .sec{padding:52px 0}
}
