*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#090c07;
  --s1:#0e1209;
  --s2:#12180d;
  --s3:#161d10;
  --bdr:#1e2916;
  --bhi:#344a1e;
  --acc:#c4a028;
  --acc2:#8a6e18;
  --acc3:rgba(196,160,40,.12);
  --txt:#cac6ae;
  --mut:#5e5c4a;
  --lbl:#857f65;
  --red:#9c2e2e;
  --grn:#2e6620;
  --whi:#e8e4ce;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--txt);font-family:'PT Sans',sans-serif;font-size:15px;line-height:1.7;overflow-x:hidden}
::selection{background:var(--acc2);color:#fff}

/* ─── NAV ─── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(9,12,7,.95);border-bottom:1px solid var(--bdr);
  backdrop-filter:blur(6px);height:58px;
  display:flex;align-items:center
}
.nav-inner{
  max-width:1100px;margin:0 auto;width:100%;padding:0 28px;
  display:flex;align-items:center;gap:0
}
.nav-logo{
  display:flex;align-items:center;gap:11px;margin-right:auto;text-decoration:none
}
.nav-logo-badge{
  width:34px;height:34px;border:1px solid var(--bhi);
  background:var(--s3);display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.nav-logo-badge svg{width:20px;height:20px;fill:var(--acc)}
.nav-logo-text{font-family:'Oswald',sans-serif;font-size:14px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--whi)}
.nav-logo-sub{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--mut);margin-top:1px}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links a{
  font-family:'Oswald',sans-serif;font-size:12px;font-weight:400;
  letter-spacing:2px;text-transform:uppercase;color:var(--lbl);
  text-decoration:none;padding:8px 16px;transition:color .15s;border:1px solid transparent
}
.nav-links a:hover{color:var(--acc)}
.nav-links a.active{color:var(--acc);border-color:var(--bdr)}
.nav-cta{
  font-family:'Oswald',sans-serif;font-size:12px;font-weight:600;
  letter-spacing:2px;text-transform:uppercase;
  background:var(--acc);color:#090c07;border:none;
  padding:9px 20px;cursor:pointer;text-decoration:none;
  transition:background .15s;margin-left:14px;white-space:nowrap
}
.nav-cta:hover{background:#d4b035}

/* ─── SECTIONS ─── */
section{scroll-margin-top:58px}

/* ════════════════════════════════
   HERO SECTION
════════════════════════════════ */
#home{position:relative;min-height:100vh;display:flex;flex-direction:column}

.hero-visual{
  position:relative;height:82vh;min-height:500px;
  display:flex;align-items:flex-end;overflow:hidden
}
.hero-visual svg.scenery{
  position:absolute;inset:0;width:100%;height:100%
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to right, rgba(9,12,7,.88) 0%, rgba(9,12,7,.5) 55%, rgba(9,12,7,.1) 100%);
  pointer-events:none
}
.hero-overlay-bottom{
  position:absolute;bottom:0;left:0;right:0;height:160px;
  background:linear-gradient(to bottom,transparent,var(--bg));
  pointer-events:none
}
.hero-text{
  position:relative;z-index:2;
  max-width:1100px;margin:0 auto;width:100%;
  padding:0 28px 60px
}
.hero-eyebrow{
  font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:3px;
  text-transform:uppercase;color:var(--acc);
  border:1px solid var(--acc2);display:inline-block;
  padding:4px 14px;margin-bottom:20px;background:var(--acc3)
}
.hero-h1{
  font-family:'Oswald',sans-serif;font-size:clamp(32px,5.5vw,64px);font-weight:700;
  color:var(--whi);text-transform:uppercase;letter-spacing:2px;
  line-height:1.05;margin-bottom:16px
}
.hero-h1 em{color:var(--acc);font-style:normal;display:block}
.hero-desc{
  font-size:15px;color:var(--lbl);max-width:500px;
  margin-bottom:32px;line-height:1.8
}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn-hero{
  font-family:'Oswald',sans-serif;font-size:15px;font-weight:700;
  letter-spacing:3px;text-transform:uppercase;
  background:var(--acc);color:#090c07;border:none;
  padding:18px 44px;cursor:pointer;text-decoration:none;
  transition:background .15s,transform .1s;
  display:inline-flex;align-items:center;gap:10px
}
.btn-hero:hover{background:#d4b035}
.btn-hero:active{transform:scale(.98)}
.btn-hero-ghost{
  font-family:'Oswald',sans-serif;font-size:13px;font-weight:500;
  letter-spacing:2.5px;text-transform:uppercase;color:var(--txt);
  border:1px solid var(--bhi);background:none;
  padding:18px 28px;cursor:pointer;text-decoration:none;
  transition:border-color .15s,color .15s;display:inline-block
}
.btn-hero-ghost:hover{border-color:var(--acc);color:var(--acc)}

/* Stats bar */
.stats-bar{
  max-width:1100px;margin:0 auto;width:100%;
  padding:28px 28px;
  display:flex;gap:0;border-top:1px solid var(--bdr);
}
.stat-item{
  flex:1;padding:0 28px;border-right:1px solid var(--bdr);
}
.stat-item:first-child{padding-left:0}
.stat-item:last-child{border-right:none}
.stat-num{
  font-family:'Oswald',sans-serif;font-size:28px;font-weight:700;
  color:var(--acc);line-height:1
}
.stat-label{font-size:12px;color:var(--mut);margin-top:4px;letter-spacing:.5px}

/* ─── INFO BLOCKS ─── */
.info-wrap{max-width:1100px;margin:0 auto;padding:70px 28px 80px}

.section-heading{
  font-family:'Oswald',sans-serif;font-size:11px;font-weight:500;
  letter-spacing:4px;text-transform:uppercase;color:var(--mut);
  margin-bottom:10px
}
.section-title{
  font-family:'Oswald',sans-serif;font-size:clamp(22px,3.5vw,36px);font-weight:700;
  color:var(--whi);text-transform:uppercase;letter-spacing:1.5px;
  margin-bottom:40px;line-height:1.1
}
.section-title span{color:var(--acc)}

/* What is MOG */
.mog-intro{
  display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:70px;align-items:start
}
.mog-text p{font-size:15px;color:var(--txt);line-height:1.9;margin-bottom:14px}
.mog-text p:last-child{margin-bottom:0}
.mog-features{display:flex;flex-direction:column;gap:14px}
.mog-feat{
  background:var(--s2);border:1px solid var(--bdr);
  border-left:3px solid var(--acc2);
  padding:16px 20px;display:flex;align-items:flex-start;gap:14px
}
.mog-feat-icon{font-size:22px;flex-shrink:0;margin-top:1px}
.mog-feat-title{font-family:'Oswald',sans-serif;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--whi);margin-bottom:3px}
.mog-feat-desc{font-size:13px;color:var(--mut)}

/* Requirements */
.req-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:70px}
.req-card{background:var(--s1);border:1px solid var(--bdr);padding:24px 28px}
.req-card-head{
  font-family:'Oswald',sans-serif;font-size:12px;font-weight:500;
  letter-spacing:2.5px;text-transform:uppercase;color:var(--acc);
  margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--bdr);
  display:flex;align-items:center;gap:8px
}
.req-card-head span{font-size:18px}
.req-list{list-style:none}
.req-list li{
  font-size:14px;color:var(--txt);padding:8px 0;
  border-bottom:1px solid var(--bdr);
  display:flex;gap:10px;align-items:flex-start;line-height:1.6
}
.req-list li:last-child{border-bottom:none;padding-bottom:0}
.req-list li::before{content:'—';color:var(--acc2);flex-shrink:0;margin-top:1px}

/* Age table */
.age-table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:70px}
.age-table thead tr{background:var(--s3)}
.age-table th{
  font-family:'Oswald',sans-serif;font-size:11px;font-weight:500;
  letter-spacing:2px;text-transform:uppercase;color:var(--acc);
  padding:12px 20px;text-align:left;border-bottom:1px solid var(--bhi)
}
.age-table td{padding:13px 20px;border-bottom:1px solid var(--bdr);color:var(--txt)}
.age-table tr:hover td{background:var(--s2)}
.age-num{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--acc);font-weight:500}

/* Benefits */
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}
.benefit-card{
  background:var(--s1);border:1px solid var(--bdr);
  padding:24px 22px;transition:border-color .2s
}
.benefit-card:hover{border-color:var(--bhi)}
.benefit-icon{font-size:28px;margin-bottom:14px}
.benefit-title{
  font-family:'Oswald',sans-serif;font-size:14px;font-weight:600;
  letter-spacing:1px;text-transform:uppercase;color:var(--whi);margin-bottom:8px
}
.benefit-desc{font-size:13px;color:var(--mut);line-height:1.7}

/* CTA banner */
.cta-banner{
  background:var(--s2);border:1px solid var(--bhi);
  padding:40px 44px;display:flex;align-items:center;gap:40px;
  border-left:4px solid var(--acc)
}
.cta-banner-text .t1{
  font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;
  letter-spacing:1.5px;text-transform:uppercase;color:var(--whi);margin-bottom:6px
}
.cta-banner-text .t2{font-size:13px;color:var(--mut)}
.cta-banner .btn-hero{flex-shrink:0;margin-left:auto}

/* ════════════════════════════════
   FORM SECTION
════════════════════════════════ */
#form{background:var(--s1);border-top:1px solid var(--bdr)}
.form-wrap{max-width:860px;margin:0 auto;padding:70px 28px 80px}
.form-header{margin-bottom:44px}
.form-title-badge{
  font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:2.5px;
  text-transform:uppercase;color:var(--acc);border:1px solid var(--acc2);
  display:inline-block;padding:4px 12px;background:var(--acc3);margin-bottom:14px
}
.form-title{
  font-family:'Oswald',sans-serif;font-size:clamp(20px,3vw,30px);font-weight:700;
  color:var(--whi);text-transform:uppercase;letter-spacing:1.5px;
  margin-bottom:10px;line-height:1.1
}
.form-subtitle{font-size:13px;color:var(--mut);max-width:560px;line-height:1.8}

.fgroup{margin-bottom:36px}
.fgroup-label{
  font-family:'Oswald',sans-serif;font-size:10px;font-weight:500;
  letter-spacing:3.5px;text-transform:uppercase;color:var(--mut);
  margin-bottom:18px;padding-bottom:9px;border-bottom:1px solid var(--bdr)
}
.fg{display:grid;gap:16px}
.g2{grid-template-columns:1fr 1fr}
.g3{grid-template-columns:1fr 1fr 1fr}
.s2{grid-column:span 2}
.s3{grid-column:span 3}

.fi{display:flex;flex-direction:column;gap:6px}
.fi label{
  font-family:'IBM Plex Mono',monospace;font-size:10px;
  letter-spacing:1.5px;text-transform:uppercase;color:var(--lbl)
}
.rq{color:var(--red)}
.fi input,.fi select,.fi textarea{
  background:#080b06;border:1px solid var(--bdr);
  color:var(--txt);font-family:'IBM Plex Mono',monospace;font-size:13px;
  padding:11px 13px;outline:none;transition:border .15s;
  width:100%;-webkit-appearance:none;appearance:none
}
.fi input:focus,.fi select:focus,.fi textarea:focus{border-color:var(--bhi);background:#0b0f08}
.fi input::placeholder,.fi textarea::placeholder{color:var(--mut);font-size:12px}
.fi select{
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%235e5c4a'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;padding-right:34px
}
.fi textarea{resize:vertical;min-height:100px}
.fhint{font-size:11px;color:var(--mut);margin-top:2px}

.checks{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.ci{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--bdr);background:#080b06;
  padding:8px 13px;cursor:pointer;user-select:none;transition:border-color .15s
}
.ci:hover{border-color:var(--bhi)}
.ci input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.ci .bx{
  width:13px;height:13px;border:1px solid var(--bhi);
  display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.ci input:checked~.bx{background:var(--grn);border-color:var(--acc2)}
.ci input:checked~.bx::after{content:'✓';font-size:9px;color:var(--acc)}
.ci span{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--txt)}

.consent-box{
  background:rgba(196,160,40,.05);border:1px solid var(--bdr);
  padding:18px 20px;margin-bottom:28px
}
.consent-txt{font-size:12px;color:var(--mut);line-height:1.8;margin-bottom:14px}
.consent-txt strong{color:var(--txt)}

.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.btn-submit{
  font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;
  letter-spacing:3px;text-transform:uppercase;
  background:var(--acc);color:#090c07;border:none;
  padding:18px 50px;cursor:pointer;transition:background .15s,transform .1s;
  display:inline-flex;align-items:center;gap:10px
}
.btn-submit svg{width:16px;height:16px;fill:currentColor}
.btn-submit:hover{background:#d4b035}
.btn-submit:active{transform:scale(.98)}
.btn-ghost2{
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:1px;text-transform:uppercase;
  background:none;border:1px solid var(--bdr);color:var(--mut);
  padding:18px 22px;cursor:pointer;transition:.15s
}
.btn-ghost2:hover{border-color:var(--bhi);color:var(--txt)}
.req-note{font-size:12px;color:var(--mut);margin-left:auto}

/* ════════════════════════════════
   CONTACTS SECTION
════════════════════════════════ */
#contacts{border-top:1px solid var(--bdr)}
.contacts-wrap{max-width:1100px;margin:0 auto;padding:70px 28px 80px}
.contacts-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:start}
.contacts-left .section-title{margin-bottom:20px}
.contacts-lead{font-size:14px;color:var(--mut);line-height:1.9;max-width:440px;margin-bottom:36px}

.contact-row{
  display:flex;align-items:flex-start;gap:16px;
  padding:18px 0;border-bottom:1px solid var(--bdr)
}
.contact-row:last-child{border-bottom:none}
.contact-ico{
  width:40px;height:40px;background:var(--s2);border:1px solid var(--bdr);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;flex-shrink:0
}
.contact-lbl{
  font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:2px;
  text-transform:uppercase;color:var(--mut);margin-bottom:4px
}
.contact-val{
  font-size:14px;color:var(--txt);word-break:break-all
}
.contact-val a{color:var(--acc);text-decoration:none}
.contact-val a:hover{text-decoration:underline}

.contacts-right{}
.schedule-card{
  background:var(--s1);border:1px solid var(--bdr);
  padding:28px;margin-bottom:20px
}
.schedule-head{
  font-family:'Oswald',sans-serif;font-size:11px;font-weight:500;
  letter-spacing:3px;text-transform:uppercase;color:var(--acc);
  margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid var(--bdr)
}
.sched-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:9px 0;border-bottom:1px solid var(--bdr);font-size:13px
}
.sched-row:last-child{border-bottom:none}
.sched-day{color:var(--lbl)}
.sched-time{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--txt)}
.sched-time.closed{color:var(--mut)}
.sched-time.accent{color:var(--acc)}

.social-cards{display:flex;flex-direction:column;gap:10px}
.soc-card{
  background:var(--s1);border:1px solid var(--bdr);
  padding:14px 18px;display:flex;align-items:center;gap:14px;
  text-decoration:none;transition:border-color .15s
}
.soc-card:hover{border-color:var(--bhi)}
.soc-icon{font-size:20px;width:36px;text-align:center;flex-shrink:0}
.soc-name{font-family:'Oswald',sans-serif;font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--whi)}
.soc-handle{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--mut);margin-top:2px}

/* ─── FOOTER ─── */
footer{
  background:#060808;border-top:1px solid var(--bdr);
  padding:20px 28px;
  display:flex;align-items:center;justify-content:space-between;
  font-family:'IBM Plex Mono',monospace;font-size:10px;
  color:var(--mut);letter-spacing:1px;flex-wrap:wrap;gap:10px
}
footer span a{color:var(--mut);text-decoration:none}

/* ─── SUCCESS MODAL ─── */
.overlay{
  display:none;position:fixed;inset:0;
  background:rgba(6,9,5,.95);z-index:300;
  align-items:center;justify-content:center;
  padding:20px
}
.overlay[hidden]{display:none!important}
.overlay.on{display:flex}
.modal{
  background:var(--s2);border:1px solid var(--bhi);
  padding:48px 44px;max-width:460px;width:92%;text-align:center
}
.modal-ico{font-size:48px;margin-bottom:20px}
.modal h2{font-family:'Oswald',sans-serif;font-size:24px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--whi);margin-bottom:12px}
.modal p{font-size:13px;color:var(--mut);line-height:1.9}
.modal-ref{
  font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--acc);
  background:var(--acc3);border:1px solid var(--acc2);
  padding:13px;margin:22px 0 8px
}
.modal .btn-submit{margin-top:22px;width:100%;justify-content:center}

.auth-panel{position:relative;max-width:520px;text-align:center}
.modal-close{
  position:absolute;top:14px;right:14px;width:34px;height:34px;
  border:1px solid var(--bdr);background:#080b06;color:var(--lbl);
  font-size:22px;line-height:1;cursor:pointer;transition:.15s
}
.modal-close:hover{border-color:var(--acc2);color:var(--acc)}
.auth-buttons{display:grid;gap:10px;margin-top:22px}
.auth-buttons a,.auth-buttons button{
  font-family:'Oswald',sans-serif;font-size:14px;font-weight:600;
  letter-spacing:2px;text-transform:uppercase;text-decoration:none;
  background:var(--acc);color:#090c07;border:none;
  padding:15px 18px;cursor:pointer;transition:background .15s;
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%
}
.auth-buttons a:hover,.auth-buttons button:hover{background:#d4b035}
.modal__loading,.auth-error{
  font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--mut);
  border:1px solid var(--bdr);background:#080b06;padding:14px;
  margin-top:18px
}
.auth-error{color:var(--red);border-color:var(--red)}

/* ─── RESPONSIVE ─── */
@media(max-width:900px){
  .mog-intro,.req-grid,.benefits-grid,.contacts-grid{grid-template-columns:1fr}
  .contacts-grid{gap:40px}
}
@media(max-width:650px){
  .g2,.g3{grid-template-columns:1fr}
  .s2,.s3{grid-column:span 1}
  .nav-links{display:none}
  .stats-bar{flex-wrap:wrap;gap:20px}
  .stat-item{border-right:none;border-bottom:1px solid var(--bdr);padding:0 0 16px}
  .stat-item:last-child{border-bottom:none}
  .cta-banner{flex-direction:column;align-items:flex-start;gap:20px}
  .cta-banner .btn-hero{margin-left:0}
  .actions{flex-direction:column;align-items:stretch}
  .btn-submit,.btn-ghost2{width:100%;justify-content:center}
  .req-note{margin-left:0}
}
