/* === ULTM8 — shared styles === */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
em{font-style:normal;}
html{scroll-behavior:smooth;}
:root{
  --navy:#0F2D52;
  --navy-deep:#081A33;
  --navy-warm:#1A3D6B;
  --cream:#F8F6F1;
  --cream-warm:#FFF5EC;
  --orange:#F08A47;
  --orange-bright:#FF9A4D;
  --cream-soft:rgba(248,246,241,0.72);
  --light:rgba(248,246,241,0.50);
  --line:rgba(248,246,241,0.12);
  --rule:rgba(15,45,82,0.08);
  --ink:#0F2D52;
  --ink-soft:#2C3F58;
  --ink-mute:#6B7E94;
  --shadow-card:0 8px 28px -8px rgba(0,0,0,.4);
  --shadow-soft:0 24px 60px -20px rgba(0,0,0,.55);
}
body{font-family:'Geist',system-ui,sans-serif;background:var(--navy);color:var(--cream);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;}

/* Layout */
.wrap{max-width:1200px;margin:0 auto;padding:0 32px;position:relative;}
.wrap-narrow{max-width:760px;margin:0 auto;padding:0 32px;position:relative;}
@media(max-width:720px){.wrap,.wrap-narrow{padding:0 22px;}}

/* NAV */
.nav-wrap{position:sticky;top:0;z-index:50;background:rgba(15,45,82,0.88);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line);}
nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;}
.brand{display:flex;align-items:center;gap:.6rem;line-height:1;}
.brand-name{font-family:'Geist',system-ui,sans-serif;font-weight:800;font-size:1.25rem;letter-spacing:-.01em;color:var(--cream);}
.brand-name .b8{color:var(--orange);}
.nav-links{display:flex;gap:1.85rem;align-items:center;}
.nav-links a{font-size:.85rem;font-weight:600;color:var(--cream-soft);transition:color .2s;letter-spacing:-.005em;}
.nav-links a:hover,.nav-links a.active{color:var(--cream);}
.nav-cta{background:var(--orange)!important;color:var(--navy-deep)!important;padding:9px 18px;border-radius:999px;font-size:.8rem;font-weight:700;letter-spacing:.005em;transition:background .2s,transform .2s;}
.nav-cta:hover{background:var(--orange-bright)!important;transform:translateY(-1px);}
@media(max-width:760px){.nav-links a:not(.nav-cta){display:none;}}

/* BUTTONS — shared across pages */
.btn-primary{display:inline-flex;align-items:center;gap:.55rem;background:var(--orange);color:var(--navy-deep);padding:14px 26px;border-radius:999px;font-size:.95rem;font-weight:700;letter-spacing:-.005em;transition:background .25s,transform .25s,box-shadow .25s;text-decoration:none;border:none;cursor:pointer;}
.btn-primary:hover{background:var(--orange-bright);transform:translateY(-2px);box-shadow:0 12px 28px -10px rgba(240,138,71,0.4);}
.btn-primary.btn-lg{padding:18px 32px;font-size:1rem;}
.btn-primary .arrow{transition:transform .2s;}
.btn-primary:hover .arrow{transform:translateX(4px);}

.btn-ghost{display:inline-flex;align-items:center;gap:.55rem;background:transparent;color:var(--cream);padding:13px 22px;border-radius:999px;font-size:.95rem;font-weight:600;border:1px solid rgba(248,246,241,0.20);transition:border-color .2s,background .2s,transform .2s;text-decoration:none;}
.btn-ghost:hover{border-color:rgba(248,246,241,0.45);background:rgba(248,246,241,0.04);transform:translateY(-2px);}

/* FOOTER */
footer{padding:3rem 0 4rem;border-top:1px solid var(--line);color:var(--cream-soft);margin-top:0;}
.f-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;}
@media(max-width:720px){.f-inner{grid-template-columns:1fr;text-align:center;gap:1.25rem;}}
.f-left{display:flex;align-items:center;gap:.85rem;}
@media(max-width:720px){.f-left{justify-content:center;}}
.f-name{font-weight:800;font-size:1rem;color:var(--cream);letter-spacing:-.005em;}
.f-name .b8{color:var(--orange);}
.f-tag{font-size:.78rem;font-weight:600;color:var(--light);}
.f-nav{display:flex;gap:1.5rem;justify-content:center;}
.f-nav a{font-size:.78rem;font-weight:600;color:var(--cream-soft);transition:color .2s;}
.f-nav a:hover{color:var(--orange);}
@media(max-width:720px){.f-nav{flex-wrap:wrap;}}
.f-copy{font-size:.72rem;color:var(--light);letter-spacing:.04em;text-align:right;}
@media(max-width:720px){.f-copy{text-align:center;}}

/* Subtle reveal on scroll, opt-in via [data-reveal] */
[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease;}
[data-reveal].is-visible{opacity:1;transform:translateY(0);}

/* Selection */
::selection{background:var(--orange);color:var(--navy-deep);}
