:root{
  --navy:#14213d; --navy2:#1f3158; --gold:#b8892b; --gold-d:#8f6a1c;
  --cream:#faf7f2; --ink:#1d2433; --muted:#5b6475; --line:#e4dfd5; --white:#fff;
  --ok:#1e7a4d; --err:#b3261e;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;color:var(--navy)}
a{color:inherit}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
/* placeholders: highlighted so they are easy to find and replace */
.ph{background:#fff3b0;color:#5a4500;padding:0 4px;border-radius:3px}

/* header */
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--navy);padding:10px 14px;z-index:100;font-weight:700}
.skip:focus{left:8px;top:8px}
.discl{background:var(--navy2);color:#e8ecf7;font-size:.86rem;line-height:1.45;padding:7px 0}
.discl .wrap{display:flex;flex-wrap:wrap;gap:2px 22px;justify-content:center}
.discl b{color:#fff}
.discl a{text-decoration:none}
.eho{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#fff}
.eho svg{flex:none}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-family:Georgia,serif;font-size:1.25rem;font-weight:700;color:var(--navy);text-decoration:none}
.brand small{display:block;font-family:-apple-system,"Segoe UI",Arial,sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d)}
.nav-right{display:flex;align-items:center;gap:20px}
.nav-links{display:flex;gap:20px;font-size:.92rem}
.nav-links a{text-decoration:none;color:var(--muted)}
.nav-links a:hover{color:var(--navy)}
.btn{display:inline-block;border:0;cursor:pointer;font:inherit;font-weight:600;text-decoration:none;padding:12px 22px;border-radius:8px;background:var(--gold);color:#fff;transition:background .15s}
.btn:hover{background:var(--gold-d)}
.btn.dark{background:var(--navy)} .btn.dark:hover{background:var(--navy2)}
.btn.ghost{background:transparent;color:var(--navy);border:2px solid var(--navy)}
.btn.ghost:hover{background:var(--navy);color:#fff}
.btn.sm{padding:9px 16px;font-size:.92rem}

/* hero */
.hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%);color:#fff;padding:64px 0 72px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#e3c070;margin-bottom:14px}
.hero h1{color:#fff;font-size:clamp(2rem,4.6vw,3.2rem);margin-bottom:16px}
.hero p.lead{font-size:1.1rem;color:#d7dcea;max-width:34em;margin-bottom:26px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}
.hero .btn.ghost{color:#fff;border-color:rgba(255,255,255,.7)}
.hero .btn.ghost:hover{background:#fff;color:var(--navy)}
.badges{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.88rem;color:#c9d1e6}
.badges span::before{content:"\2713\00a0";color:#e3c070;font-weight:700}
.portrait{aspect-ratio:4/5;border-radius:16px;background:repeating-linear-gradient(45deg,#2a3c68,#2a3c68 12px,#25365f 12px,#25365f 24px);border:2px dashed rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:#d7dcea;font-size:.95rem}
.portrait img{width:100%;height:100%;object-fit:cover;border-radius:14px;display:block}

/* sections */
section{padding:72px 0}
.alt{background:var(--cream)}
.sec-head{text-align:center;max-width:640px;margin:0 auto 40px}
.sec-head h2{font-size:clamp(1.6rem,3.4vw,2.2rem);margin-bottom:10px}
.sec-head p{color:var(--muted)}

/* two paths */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px}
.card h3{font-size:1.35rem;margin-bottom:8px}
.card p{color:var(--muted);margin-bottom:16px}
.card ul{list-style:none;margin-bottom:22px}
.card li{padding-left:26px;position:relative;margin-bottom:8px}
.card li::before{content:"\2713";position:absolute;left:0;color:var(--gold-d);font-weight:700}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:s}
.step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;position:relative}
.step::before{counter-increment:s;content:counter(s);display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;margin-bottom:14px}
.step h3{font-size:1.1rem;margin-bottom:6px}
.step p{color:var(--muted);font-size:.95rem}

/* about */
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center}
.about .portrait{aspect-ratio:1/1;background:repeating-linear-gradient(45deg,#e9e3d5,#e9e3d5 12px,#e3dcca 12px,#e3dcca 24px);border-color:#c9bfa5;color:var(--muted)}
.about h2{font-size:clamp(1.6rem,3.2vw,2.1rem);margin-bottom:12px}
.about p{color:var(--muted);margin-bottom:14px}
.states{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;font-size:.88rem;font-weight:600;color:var(--navy)}

/* forms */
.tabs{display:flex;gap:8px;justify-content:center;margin-bottom:22px}
.tab{border:2px solid var(--navy);background:#fff;color:var(--navy);font:inherit;font-weight:600;padding:10px 24px;border-radius:999px;cursor:pointer}
.tab[aria-selected="true"]{background:var(--navy);color:#fff}
.formbox{max-width:680px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:0 10px 30px rgba(20,33,61,.07)}
.formbox h3{font-size:1.4rem;margin-bottom:4px}
.formbox .sub{color:var(--muted);margin-bottom:20px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{margin-bottom:14px}
label{display:block;font-size:.88rem;font-weight:600;margin-bottom:5px}
input,select,textarea{width:100%;font:inherit;padding:11px 12px;border:1px solid #cfc8b9;border-radius:8px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(184,137,43,.35);border-color:var(--gold)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.8rem;color:var(--muted);margin:6px 0 16px}
.consent input{width:auto;margin-top:3px}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.msg{margin-top:14px;padding:12px 14px;border-radius:8px;font-size:.92rem;display:none}
.msg.ok{display:block;background:#e6f4ec;color:var(--ok)}
.msg.err{display:block;background:#fbe9e7;color:var(--err)}
.hidden{display:none}

/* footer */
footer{background:var(--navy);color:#c9d1e6;padding:44px 0 28px;font-size:.9rem}
.f-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px;margin-bottom:28px}
footer h4{color:#fff;font-size:.95rem;margin-bottom:8px}
footer a{text-decoration:none;white-space:nowrap}
footer a:hover{text-decoration:underline}
.legal{border-top:1px solid rgba(255,255,255,.18);padding-top:18px;font-size:.78rem;color:#a9b3cd}

/* mobile call bar */
.callbar{display:none}

@media (max-width:860px){
  .hero-grid,.about,.paths,.steps,.f-grid{grid-template-columns:1fr}
  .hero{padding:44px 0 52px}
  .portrait{max-width:380px;margin:0 auto;width:100%}
  .nav-links{display:none}
  section{padding:52px 0}
  .row{grid-template-columns:1fr}
  .formbox{padding:24px 20px}
  .callbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fff;border-top:1px solid var(--line);padding:10px 14px;gap:10px}
  .callbar a{flex:1;text-align:center}
  body{padding-bottom:68px}
}
a:focus-visible,button:focus-visible{outline:3px solid #e3c070;outline-offset:2px}
#privacy{padding:48px 0;background:#fff}
#privacy h2{font-size:1.4rem;margin-bottom:10px}
#privacy p{color:var(--muted);font-size:.92rem;margin-bottom:10px;max-width:60em}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero{background:#000;border-bottom:1px solid #2b2b2b}
/* header + footer black, rest of site light */
header{background:rgba(0,0,0,.96);border-bottom:1px solid #2b2b2b}
.discl{background:#141414;color:#e8e8e8}
.brand{color:#fff;display:flex;align-items:center;gap:12px}
.brand .logo{height:46px;width:auto;border-radius:8px;display:block}
.brand small{color:#d4a537}
header .nav-links a{color:#d9d9d9}
header .nav-links a:hover{color:#fff}
header .nav-links a.btn{color:#000;background:#d4a537}
header .nav-links a.btn:hover{background:#e6bd5a}
footer{background:#000;color:#c4c4c4}
footer h4,footer b{color:#fff}
.embed{max-width:760px;margin:0 auto;min-height:120px}
.embed iframe{width:100%;min-height:640px;border:0;border-radius:12px;background:#fff}
.embed .ph{display:block;text-align:center;padding:28px}
@media (max-width:860px){.hero-grid>div:last-child{order:-1}}
@media (max-width:860px){.callbar{background:#000;border-top:1px solid #2b2b2b}.callbar .btn.dark{background:#222;color:#fff}}

/* hero photo background (desktop) */
@media (min-width:861px){
  .hero{background:linear-gradient(90deg,#000 0%,#000 44%,rgba(0,0,0,.6) 56%,rgba(0,0,0,0) 72%),url(hero-bg.jpg) right center/auto 100% no-repeat,#000;min-height:640px;display:flex;align-items:center}
  .hero-grid{grid-template-columns:1fr;width:100%}
  .hero-grid>div:last-child{display:none}
  .hero-grid>div:first-child{max-width:560px}
}

/* About section styled like the hero */
#about{background:#000;border-top:1px solid #2b2b2b}
#about h2{color:#fff}
#about p{color:#d4d4d4}
#about .chip{background:var(--gold);border-color:var(--gold);color:#fff}
@media (min-width:861px){
  #about{background:linear-gradient(90deg,#000 0%,#000 50%,rgba(0,0,0,.6) 58%,rgba(0,0,0,0) 68%),url(kayla-about.jpg) right center/auto 100% no-repeat,#000;min-height:640px;display:flex;align-items:center}
  #about .about{grid-template-columns:1fr;width:100%}
  #about .about>div:first-child{display:none}
  #about .about>div:last-child{max-width:540px}
}

/* multi-page additions */
.nav-links a.active{color:#fff;font-weight:600;border-bottom:2px solid #d4a537;padding-bottom:2px}
.pagehead{background:#000;border-bottom:1px solid #2b2b2b;padding:56px 0 48px}
.pagehead h1{color:#fff;font-size:clamp(2rem,4.6vw,3rem);margin-bottom:14px}
.pagehead p{color:#d4d4d4;font-size:1.1rem;max-width:38em}
.pagehead .eyebrow{margin-bottom:10px}
.card.wide{max-width:760px;margin:0 auto}
@media (max-width:860px){
  header .nav{flex-wrap:wrap;gap:8px 12px}
  header .nav-right{display:contents}
  header .nav-links{display:flex;order:3;width:100%;gap:18px;overflow-x:auto;padding:4px 0 10px;white-space:nowrap}
  header .nav-links a{font-size:.95rem}
}
