
:root{
  --navy:#031423;
  --navy-2:#061d31;
  --navy-3:#0a2d49;
  --gold:#d8a541;
  --gold-light:#f0c463;
  --white:#ffffff;
  --text:#dce6ee;
  --muted:#a6b4c1;
  --line:rgba(216,165,65,.40);
  --panel:rgba(6,29,49,.94);
  --shadow:0 26px 70px rgba(0,0,0,.28);
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--text);
  background:var(--navy);
  line-height:1.55;
}

img{display:block;max-width:100%}

a{color:inherit}

button,input{font:inherit}

.container{
  width:min(1380px,calc(100% - 44px));
  margin:0 auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(3,20,35,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(14px);
}

.header-inner{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.brand{
  display:flex;
  align-items:center;
  gap:16px;
  text-decoration:none;
  flex-shrink:0;
}

.brand img{
  width:80px;
  height:80px;
  object-fit:contain;
}

.brand-copy{
  display:flex;
  flex-direction:column;
  line-height:1.15;
}

.brand-copy strong{
  color:var(--white);
  font-size:2rem;
  letter-spacing:.08em;
}

.brand-copy span{
  color:#cbd4dd;
  font-size:.92rem;
}

.main-nav{
  display:flex;
  align-items:center;
  gap:42px;
}

.main-nav a{
  text-decoration:none;
  color:#e4eaf0;
  font-size:1.01rem;
  font-weight:700;
  transition:.2s ease;
}

.main-nav a:hover{
  color:var(--gold-light);
}

.menu-button{
  display:none;
  border:1px solid var(--line);
  border-radius:8px;
  color:var(--gold-light);
  background:transparent;
  width:44px;
  height:44px;
  cursor:pointer;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:56px;
  padding:0 28px;
  border:1px solid transparent;
  border-radius:9px;
  text-decoration:none;
  font-weight:800;
  cursor:pointer;
  transition:.22s ease;
}

.btn:hover{
  transform:translateY(-2px);
}

.btn-gold{
  color:#071725;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  box-shadow:0 12px 28px rgba(216,165,65,.18);
}

.btn-outline{
  color:#f8d274;
  border-color:var(--gold);
  background:rgba(255,255,255,.015);
}

.btn-muted{
  color:#fff;
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.13);
}

.btn:disabled{
  opacity:.42;
  transform:none;
  cursor:not-allowed;
}

.header-cta{
  min-width:245px;
}

.hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 68% 42%,rgba(20,74,110,.30),transparent 34%),
    linear-gradient(180deg,#04192a 0%,#031423 100%);
  border-bottom:1px solid var(--line);
}

.hero-map{
  position:absolute;
  left:43%;
  top:70px;
  width:520px;
  height:430px;
  opacity:.17;
  background-image:
    radial-gradient(circle,rgba(216,165,65,.9) 1.25px,transparent 1.25px);
  background-size:11px 11px;
  mask-image:radial-gradient(ellipse at center,black 50%,transparent 76%);
  pointer-events:none;
}

.hero-grid{
  min-height:660px;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
}

.hero-copy{
  position:relative;
  z-index:2;
  padding:88px 76px 50px 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.eyebrow{
  color:var(--gold-light);
  text-transform:uppercase;
  letter-spacing:.25em;
  font-size:1rem;
  font-weight:900;
}

.hero h1{
  margin:20px 0 12px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(4rem,6.5vw,7.1rem);
  line-height:.94;
  letter-spacing:-.035em;
  text-transform:uppercase;
}

.hero h1 span,
.hero h1 em{
  display:block;
}

.hero h1 span{
  color:#fff;
}

.hero h1 em{
  color:var(--gold-light);
  font-style:normal;
}

.gold-rule{
  display:flex;
  align-items:center;
  gap:10px;
  width:280px;
  margin:15px 0 16px;
}

.gold-rule span{
  height:2px;
  background:var(--gold);
  flex:1;
}

.gold-rule i{
  width:10px;
  height:10px;
  transform:rotate(45deg);
  background:var(--gold);
}

.hero-description{
  max-width:800px;
  margin:0;
  color:#eef3f7;
  font-size:1.22rem;
}

.hero-description strong{
  color:var(--gold-light);
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  margin-top:28px;
}

.btn-icon{
  font-size:1.15rem;
}

.hero-features{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  max-width:970px;
  margin-top:42px;
}

.hero-features>div{
  display:flex;
  align-items:center;
  gap:15px;
  min-height:74px;
  padding-right:24px;
  border-right:1px solid rgba(216,165,65,.42);
}

.hero-features>div:last-child{
  border-right:0;
}

.feature-icon{
  color:var(--gold);
  font-size:2.4rem;
}

.hero-features p{
  margin:0;
  color:#eef3f7;
  font-size:.99rem;
  line-height:1.35;
}

.hero-photo{
  position:relative;
  min-width:0;
  overflow:hidden;
}

.hero-photo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg,#031423 0%,rgba(3,20,35,.42) 15%,transparent 38%),
    linear-gradient(0deg,#031423 0%,transparent 24%);
  pointer-events:none;
}

.hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position: 40% center;
}

.programs{
  padding:44px 0 72px;
  background:linear-gradient(180deg,#061d31 0%,#031423 100%);
}

.section-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  margin-bottom:31px;
}

.section-title span{
  width:75px;
  height:1px;
  background:var(--gold);
}

.section-title h2{
  margin:0;
  color:var(--gold-light);
  font-family:Georgia,"Times New Roman",serif;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:1.6rem;
}

.program-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.program-card{
  min-height:290px;
  display:flex;
  gap:20px;
  padding:26px 22px;
  border:1px solid var(--line);
  border-radius:11px;
  background:
    linear-gradient(155deg,rgba(9,44,72,.98),rgba(4,24,41,.98));
  box-shadow:0 18px 45px rgba(0,0,0,.16);
}

.program-icon{
  flex:0 0 70px;
  width:70px;
  height:70px;
  display:grid;
  place-items:center;
  border:1px solid var(--gold);
  border-radius:50%;
  color:var(--gold);
  font-size:2rem;
}

.program-content{
  min-width:0;
  position:relative;
  padding-bottom:35px;
}

.program-content small{
  color:#e8eef3;
  text-transform:uppercase;
}

.program-content h3{
  margin:8px 0 15px;
  color:#fff;
  font-size:1.05rem;
  line-height:1.45;
  text-transform:uppercase;
}

.program-content p{
  margin:0;
  color:#c2ced8;
  font-size:.92rem;
}

.program-content button{
  position:absolute;
  left:0;
  bottom:0;
  border:0;
  padding:0;
  color:var(--gold-light);
  background:none;
  font-weight:900;
  cursor:pointer;
}

.program-content button b{
  margin-left:7px;
}

.analysis-section{
  padding:90px 0;
  background:
    radial-gradient(circle at 10% 30%,rgba(216,165,65,.06),transparent 25%),
    #04182a;
}

.analysis-heading{
  text-align:center;
  margin-bottom:34px;
}

.analysis-heading h2{
  margin:10px 0 8px;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:2.6rem;
  text-transform:uppercase;
}

.analysis-heading p{
  color:var(--muted);
}

.wizard{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:15px;
  background:linear-gradient(180deg,#082b47,#041929);
  box-shadow:var(--shadow);
}

.wizard-progress{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  padding:24px;
  border-bottom:1px solid var(--line);
}

.progress-item{
  text-align:center;
  color:var(--muted);
}

.progress-item i{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  margin:0 auto;
  border:1px solid var(--line);
  border-radius:50%;
  font-style:normal;
}

.progress-item span{
  display:block;
  margin-top:7px;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.progress-item.active i{
  color:#071725;
  background:var(--gold-light);
}

.progress-item.active span{
  color:var(--gold-light);
}

form{
  padding:34px;
}

.step{
  display:none;
  min-height:330px;
}

.step.active{
  display:block;
  animation:fadeIn .24s ease;
}

@keyframes fadeIn{
  from{opacity:.2;transform:translateY(7px)}
  to{opacity:1;transform:none}
}

.step h3{
  margin:0 0 25px;
  color:#fff;
  font-size:1.8rem;
}

.secondary-question{
  margin-top:30px!important;
  font-size:1.2rem!important;
}

.field-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}

.field-grid label{
  display:block;
  color:#edf2f6;
  font-weight:800;
}

.field-grid label span{
  display:block;
  margin-bottom:8px;
}

input[type="text"],
input[type="email"],
input[type="tel"]{
  width:100%;
  min-height:54px;
  padding:0 15px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:8px;
  outline:none;
  color:#fff;
  background:#071f34;
}

input:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(216,165,65,.12);
}

.option-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
}

.option-grid.three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.choice{
  position:relative;
}

.choice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.choice span{
  display:flex;
  align-items:center;
  min-height:84px;
  padding:17px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:9px;
  color:#fff;
  background:rgba(255,255,255,.035);
  cursor:pointer;
  transition:.2s ease;
}

.choice input:checked+span{
  color:var(--gold-light);
  border-color:var(--gold);
  background:rgba(216,165,65,.12);
}

.consent{
  display:flex;
  gap:10px;
  margin-top:22px;
  color:var(--muted);
}

.consent input{
  margin-top:5px;
}

.form-error{
  min-height:23px;
  color:#ffb8b8;
}

.wizard-actions{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-top:14px;
}

.result-badge{
  display:inline-flex;
  padding:8px 13px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--gold-light);
  background:rgba(216,165,65,.10);
  font-weight:900;
}

.result-step p{
  color:var(--muted);
}

.result-program{
  margin:23px 0;
  padding:21px;
  border:1px solid var(--line);
  border-radius:10px;
  background:rgba(255,255,255,.035);
}

.result-program span{
  display:block;
  color:var(--muted);
}

.result-program strong{
  display:block;
  margin-top:8px;
  color:var(--gold-light);
  font-size:1.35rem;
}

.result-actions{
  display:flex;
  flex-wrap:wrap;
  gap:15px;
}

.result-step small{
  display:block;
  margin-top:20px;
  color:var(--muted);
}

.benefit-section{
  padding:62px 0;
  background:linear-gradient(135deg,#20272d,#0a263e);
}

.benefit-heading h2{
  margin-top:0;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  text-transform:uppercase;
}

.benefit-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}

.benefit-grid article{
  display:flex;
  align-items:center;
  gap:14px;
}

.benefit-grid b{
  color:var(--gold-light);
  font-size:1.5rem;
}

.benefit-grid p{
  margin:0;
}

footer{
  padding:54px 0 22px;
  border-top:1px solid var(--line);
  background:#020f1a;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:50px;
}

.footer-brand{
  display:flex;
  align-items:center;
  gap:16px;
}

.footer-brand img{
  width:95px;
}

.footer-brand div{
  display:flex;
  flex-direction:column;
}

.footer-brand strong{
  color:#fff;
  font-size:2rem;
  letter-spacing:.1em;
}

.footer-brand span{
  color:var(--muted);
}

footer h4{
  color:var(--gold-light);
}

footer p,
footer a{
  display:block;
  margin:6px 0;
  color:var(--muted);
  text-decoration:none;
}

.copyright{
  margin-top:38px;
  padding-top:19px;
  border-top:1px solid rgba(255,255,255,.08);
  color:#718495;
  font-size:.82rem;
}

@media(max-width:1120px){
  .main-nav{
    gap:20px;
  }

  .main-nav a{
    font-size:.9rem;
  }

  .header-cta{
    min-width:auto;
  }

  .hero-grid{
    grid-template-columns:1.12fr .88fr;
  }

  .hero-copy{
    padding-right:40px;
  }

  .program-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:900px){
  .menu-button{
    display:block;
    order:3;
  }

  .main-nav{
    position:absolute;
    left:20px;
    right:20px;
    top:92px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#061d31;
    box-shadow:var(--shadow);
  }

  .main-nav.open{
    display:flex;
  }

  .main-nav a{
    padding:13px 12px;
  }

  .header-cta{
    display:none;
  }

  .hero-grid{
    grid-template-columns:1fr;
  }

  .hero-copy{
    padding:74px 0 44px;
  }

  .hero-photo{
    min-height:590px;
  }

  .hero-photo::before{
    background:linear-gradient(0deg,#031423 0%,transparent 28%);
  }

  .hero-features{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .hero-features>div:nth-child(2){
    border-right:0;
  }

  .field-grid,
  .footer-grid{
    grid-template-columns:1fr;
  }

  .benefit-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .container{
    width:min(100% - 26px,1380px);
  }

  .header-inner{
    min-height:78px;
  }

  .brand img{
    width:61px;
    height:61px;
  }

  .brand-copy span{
    display:none;
  }

  .brand-copy strong{
    font-size:1.45rem;
  }

  .main-nav{
    top:78px;
  }

  .hero h1{
    font-size:3.1rem;
  }

  .hero-description{
    font-size:1rem;
  }

  .hero-actions .btn{
    width:100%;
  }

  .hero-features{
    grid-template-columns:1fr 1fr;
  }

  .hero-features>div{
    padding:10px 12px 10px 0;
  }

  .hero-photo{
    min-height:470px;
  }

  .program-grid,
  .option-grid,
  .option-grid.three,
  .benefit-grid{
    grid-template-columns:1fr;
  }

  .program-card{
    min-height:260px;
  }

  .wizard-progress{
    padding:16px 7px;
  }

  .progress-item span{
    display:none;
  }

  form{
    padding:24px;
  }

  .analysis-heading h2{
    font-size:2rem;
  }

  .section-title span{
    width:32px;
  }

  .section-title h2{
    font-size:1.2rem;
    text-align:center;
  }
}
