:root{
  --navy:#0B3B3A;
  --navy-hover:#092E2D;
  --paper:#F7F5EF;
  --cream:#EFEADA;
  --text:#161A19;
  --text-muted:#43504C;
  --line-light:#E1DDCE;
  --line-cream:#D8D0B4;
  --gold:#C9AA6B;
  --gold-hover:#B89759;
  --gold-dark:#8C6A2E;
  --pill-amber-bg:#F4E3D9;
  --pill-amber-text:#B3573A;
  --pill-neutral-bg-1:#EFEADA;
  --pill-neutral-bg-2:#EEE9DC;
  --pill-neutral-text-1:#8C6A2E;
  --pill-neutral-text-2:#6B6558;
  --footer-text:#8A8A7C;
}

*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--paper);
  color:var(--text);
  font-family:'Inter', Helvetica, Arial, sans-serif;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
h1,h2,h3{font-family:'Montserrat', Helvetica, Arial, sans-serif; letter-spacing:-0.02em; margin:0;}
a{color:var(--navy); text-decoration:none;}
.om-mono{font-family:'IBM Plex Mono', monospace;}

/* buttons */
.btn{
  display:inline-block;
  padding:19px 36px;
  font-weight:800;
  font-size:15px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  border:none;
  cursor:pointer;
  font-family:'Inter', Helvetica, Arial, sans-serif;
  transition:background 0.15s ease;
}
.btn-gold{background:var(--gold); color:var(--navy);}
.btn-gold:hover{background:var(--gold-hover);}
.btn-dark{background:var(--navy); color:var(--paper);}
.btn-dark:hover{background:var(--navy-hover);}
.btn-header{padding:13px 26px; font-size:13px; font-weight:700;}

/* header */
.om-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 6vw; max-width:1360px; margin:0 auto;
  border-bottom:1px solid var(--line-light);
}
.om-header img{height:32px; width:auto; object-fit:contain;}

/* generic section spacing */
.om-section{padding:96px 6vw;}

/* hero */
.hero{
  background:var(--navy);
  background-image:
    repeating-linear-gradient(0deg, rgba(247,245,239,0.05) 0px, rgba(247,245,239,0.05) 1px, transparent 1px, transparent 64px),
    repeating-linear-gradient(90deg, rgba(247,245,239,0.05) 0px, rgba(247,245,239,0.05) 1px, transparent 1px, transparent 64px);
  padding:96px 6vw 100px;
}
.hero-grid{
  max-width:1240px; margin:0 auto;
  display:grid; grid-template-columns:1.15fr 0.85fr; gap:64px; align-items:center;
}
.eyebrow-dash{width:22px; height:1px; background:var(--gold); display:inline-block;}
.hero-eyebrow{
  font-size:13px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--gold); margin-bottom:26px; display:flex; align-items:center; gap:10px;
}
.hero h1{
  font-size:clamp(36px,4.6vw,58px); line-height:1.1; font-weight:800;
  margin:0 0 26px; color:var(--paper);
}
.hero p.lead{
  font-size:18px; line-height:1.65; color:rgba(247,245,239,0.72);
  margin:0 0 40px; max-width:520px;
}
.hero-visual{background:var(--paper); padding:32px;}
.hero-visual-title{
  font-size:11.5px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--gold-dark); margin-bottom:18px; padding-bottom:14px;
  border-bottom:1px solid var(--line-light);
}
.compliance-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:13px 0; border-bottom:1px solid var(--line-light);
}
.compliance-row:last-child{border-bottom:none;}
.compliance-label{font-size:14.5px; font-weight:600; color:var(--text);}
.compliance-pill{
  font-family:'IBM Plex Mono', monospace;
  font-size:11px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase;
  padding:5px 10px;
}
.pill-amber{background:var(--pill-amber-bg); color:var(--pill-amber-text);}
.pill-neutral-1{background:var(--pill-neutral-bg-1); color:var(--pill-neutral-text-1);}
.pill-neutral-2{background:var(--pill-neutral-bg-2); color:var(--pill-neutral-text-2);}

/* section eyebrow / heading helpers */
.eyebrow{
  font-size:12.5px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase;
  text-align:center; margin-bottom:20px;
}
.eyebrow-gold{color:var(--gold);}
.eyebrow-gold-dark{color:var(--gold-dark);}
.section-h2{
  font-size:clamp(27px,3vw,38px); font-weight:800; margin:0 0 22px; text-align:center;
}
.section-lead{
  font-size:18px; line-height:1.65; max-width:720px; margin:0 auto 52px; text-align:center;
}

/* problem section */
.problem{background:var(--navy); color:var(--paper);}
.problem-inner{max-width:960px; margin:0 auto;}
.problem-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1px;
  background:rgba(247,245,239,0.16); border:1px solid rgba(247,245,239,0.16);
}
.problem-card{background:var(--navy); padding:30px 28px;}
.problem-card .num{font-size:12px; font-weight:600; color:var(--gold); margin-bottom:12px;}
.problem-card p{font-size:17px; font-weight:600; line-height:1.5; margin:0;}
.problem-close{
  text-align:center; font-size:19px; font-weight:700; margin:52px auto 0;
  color:var(--gold); max-width:700px;
}

/* nr-1 change section */
.nr-change{max-width:1040px; margin:0 auto;}
.nr-change h2, .nr-change .eyebrow{color:var(--navy);}
.nr-change .section-lead{color:var(--text-muted);}
.nr-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  border-top:1px solid var(--line-light); border-left:1px solid var(--line-light);
}
.nr-item{
  padding:24px; display:flex; align-items:center; gap:14px;
  border-right:1px solid var(--line-light); border-bottom:1px solid var(--line-light);
}
.nr-item .num{font-size:12px; font-weight:600; color:var(--gold-dark); flex-shrink:0;}
.nr-item span.label{font-size:15.5px; font-weight:600; color:var(--text);}
.nr-close{text-align:center; font-size:19px; font-weight:700; margin:48px 0 0; color:var(--navy);}

/* diagnostic intro */
.diagnostic{background:var(--cream);}
.diagnostic-inner{max-width:1040px; margin:0 auto;}
.diagnostic-head{text-align:center; margin-bottom:60px;}
.diagnostic-head h2{color:var(--navy); margin-bottom:18px;}
.diagnostic-head p{font-size:18px; color:var(--text-muted); max-width:680px; margin:0 auto;}
.diagnostic-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1px;
  background:var(--line-cream);
}
.diagnostic-card{background:var(--cream); padding:38px 32px;}
.diagnostic-card .num{font-size:14px; font-weight:800; color:var(--gold-dark); margin-bottom:14px; letter-spacing:0.04em;}
.diagnostic-card h3{font-size:20px; font-weight:800; margin:0 0 12px; color:var(--navy);}
.diagnostic-card p{font-size:15.5px; line-height:1.6; color:var(--text-muted); margin:0;}

/* deliverables */
.deliverables{max-width:1040px; margin:0 auto;}
.deliverables h2{color:var(--navy);}
.deliv-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  border-top:1px solid var(--line-light); border-left:1px solid var(--line-light);
  margin-bottom:64px;
}
.deliv-card{padding:32px 26px; border-right:1px solid var(--line-light); border-bottom:1px solid var(--line-light);}
.deliv-card h3{font-size:17.5px; font-weight:800; margin:0 0 10px; color:var(--navy);}
.deliv-card p{font-size:14.5px; line-height:1.55; color:var(--text-muted); margin:0;}
.flow-band{background:var(--navy); padding:48px 44px; color:var(--paper);}
.flow-band h3{font-size:19px; font-weight:800; margin:0 0 28px; text-align:center; letter-spacing:0.02em;}
.flow-row{
  display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap;
  font-size:16.5px; font-weight:700; text-align:center;
}
.flow-arrow{color:var(--gold);}

/* why now */
.why-now{background:var(--cream);}
.why-now-inner{max-width:840px; margin:0 auto;}
.why-now h2{color:var(--navy);}
.why-now .lead-center{font-size:17px; text-align:center; color:var(--text-muted); margin:0 0 34px;}
.trigger-list{display:flex; flex-direction:column; margin-bottom:40px; border-top:1px solid var(--line-cream);}
.trigger-row{display:flex; align-items:center; gap:16px; padding:18px 4px; border-bottom:1px solid var(--line-cream);}
.trigger-row .num{color:var(--gold-dark); font-weight:600; font-size:13px;}
.trigger-row span.label{font-size:16px; font-weight:600; color:var(--text);}
.why-now-close{text-align:center; font-size:19px; font-weight:700; color:var(--navy); margin:0;}

/* objection */
.objection{max-width:840px; margin:0 auto; text-align:center;}
.objection h2{font-size:clamp(24px,2.8vw,32px); font-weight:800; margin:0 0 24px; color:var(--navy);}
.objection p{font-size:17px; line-height:1.65; color:var(--text-muted); margin:0 0 14px;}
.objection p:last-child{margin-bottom:0;}

/* who it's for */
.audience{background:var(--navy); color:var(--paper);}
.audience-inner{max-width:840px; margin:0 auto;}
.audience-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:20px;}
.audience-row{
  display:flex; align-items:center; gap:16px;
  border-bottom:1px solid rgba(247,245,239,0.16); padding-bottom:16px;
}
.audience-row .plus{color:var(--gold); font-weight:800; font-size:16px;}
.audience-row span.label{font-size:16px; font-weight:600;}

/* pre-form cta */
.pre-form-cta{max-width:840px; margin:0 auto; text-align:center;}
.pre-form-cta h2{font-size:clamp(27px,3.2vw,40px); font-weight:800; margin:0 0 20px; color:var(--navy);}
.pre-form-cta p{font-size:18px; color:var(--text-muted); margin:0 0 38px;}

/* form */
.form-section{background:var(--cream);}
.form-inner{max-width:640px; margin:0 auto;}
.form-head{text-align:center; margin-bottom:0;}
.form-head h2{color:var(--navy); margin:0 0 12px;}
.form-head p{font-size:16px; color:var(--text-muted); margin:0 0 40px;}
form.contact-form{
  background:#FFFFFF; border:1px solid var(--line-cream);
  padding:40px 28px; display:flex; flex-direction:column; gap:18px;
}
.field-label{
  display:flex; flex-direction:column; gap:7px;
  font-size:13px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase;
  color:var(--navy);
}
.field-label input{
  border:1px solid var(--line-cream); padding:13px 14px; font-size:15px;
  font-family:inherit; color:var(--text); text-transform:none; font-weight:500;
}
.field-label input:focus{outline:2px solid var(--gold-dark); outline-offset:1px;}
.form-submit{margin-top:10px;}
.form-note{font-size:13px; color:var(--text-muted); text-align:center; margin:14px 0 0;}
.form-success{
  display:none; background:#EAF3DE; border:1px solid #97C459; color:#173404;
  padding:16px; font-size:14.5px; font-weight:600; margin-bottom:18px; text-align:center;
}

/* faq */
.faq{max-width:820px; margin:0 auto;}
.faq h2{color:var(--navy); margin-bottom:52px;}
.faq-list{display:flex; flex-direction:column; border-top:1px solid var(--line-light);}
.faq-list details{padding:24px 4px; border-bottom:1px solid var(--line-light);}
.faq-list summary{font-size:17px; font-weight:700; cursor:pointer; color:var(--navy);}
.faq-list summary::marker{color:var(--gold-dark);}
.faq-list p{font-size:15.5px; line-height:1.65; color:var(--text-muted); margin:16px 0 0;}

/* final cta */
.final-cta{background:var(--navy); text-align:center; color:var(--paper); padding:100px 6vw;}
.final-cta .eyebrow{color:var(--gold); margin-bottom:22px;}
.final-cta h2{font-size:clamp(29px,3.6vw,46px); font-weight:800; margin:0 0 20px;}
.final-cta p{font-size:18px; margin:0 0 40px; opacity:0.85;}

/* footer */
footer{padding:40px 6vw; text-align:center; color:var(--footer-text); font-size:13px; border-top:1px solid var(--line-light);}
footer img{height:20px; opacity:0.6; margin-bottom:12px;}

@media (max-width:640px){
  .om-header{flex-direction:column; gap:16px; align-items:flex-start !important; padding-top:18px !important; padding-bottom:18px !important;}
  .om-header a{width:100%; text-align:center; padding:14px 20px !important;}
  .om-section{padding-top:56px !important; padding-bottom:56px !important;}
  .flow-row{flex-direction:column !important; gap:10px !important;}
  .flow-row .flow-arrow{display:none;}
  .hero-grid{grid-template-columns:1fr !important;}
  .hero-visual{margin-top:40px;}
}
