*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
--navy:#0D1B2A;
--navy-light:#1B263B;
--navy-card:#1B263B;
--gold:#D4AF37;
--gold-light:#e2c97e;
--gold-dark:#b8962e;
--white:#F7F3ED;
--white-dim:#c5c0b8;
--milk:#FDF6EC;
--sky:#ACD1E7;
--glass:rgba(27,38,59,.6);
}
html{scroll-behavior:smooth;background:#06101c}
body{
font-family:'Montserrat',sans-serif;
background:var(--navy);
color:var(--white);
overflow-x:hidden;
line-height:1.6;
max-width:480px;
margin:0 auto;
box-shadow:0 0 80px rgba(0,0,0,.6);
position:relative;
}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:600}
.container{max-width:480px;margin:0 auto;padding:0 24px}

/* ── sparkles ── */
.sparkle{position:absolute;color:var(--gold);opacity:.45;font-size:14px;pointer-events:none}

/* ══════════ HERO ══════════ */
.hero{
min-height:100vh;
min-height:100svh;
position:relative;
overflow:hidden;
display:flex;flex-direction:column;
justify-content:center;
}
.hero-bg{
position:absolute;inset:0;
background:url('../img/background.png') center/cover no-repeat;
z-index:0;
}
.hero-bg::after{
content:'';position:absolute;inset:0;
background:
  linear-gradient(180deg,rgba(11,26,46,.45) 0%,rgba(11,26,46,.15) 40%,rgba(11,26,46,.55) 100%);
}
/* row that fills remaining hero height: text left, photo right (bottom-aligned to touch button top) */
.hero-inner{
position:relative;z-index:2;
display:flex;flex-direction:column;
width:100%;
}
.hero-row{
display:flex;
align-items:flex-end;
width:100%;
}

/* text column: strict width, content cannot overflow into photo */
.hero-content{
display:flex;flex-direction:column;
align-items:flex-start;
gap:12px;
width:50%;
flex-shrink:0;
padding:0 0 0 20px;
align-self:flex-start;
}
.hero-logo{width:170px;display:block;margin:0;max-width:100%}
.hero-split{width:120px;display:block;margin:0;max-width:100%}

/* photo zone: takes remaining width on the right, image bottom flush with hero-row bottom (= button top) */
.hero-photo{
flex:1;
align-self:flex-end;
position:relative;
margin-right:-15%;
margin-left:-25%;
pointer-events:none;
}
.hero-photo img{width:100%;display:block}

/* button pinned to the bottom of the hero */
.hero-btn-wrap{
position:relative;z-index:4;
text-align:center;
padding:0 20px;
flex-shrink:0;
}
.btn-hero{
display:flex;align-items:center;justify-content:center;gap:14px;
width:88%;max-width:370px;
margin:0 auto;
padding:18px 32px;
background:linear-gradient(180deg,#FDF6EC 0%,#f5e9d0 100%);
border:none;
border-radius:60px;
color:#0D1B2A;
font-family:'Montserrat',sans-serif;
font-weight:700;font-size:19px;
cursor:pointer;text-decoration:none;
letter-spacing:1px;
transition:all .3s;
position:relative;
box-shadow:
  0 0 0 2px #b8962e,
  0 0 0 4px #FDF6EC,
  0 0 0 6px #D4AF37,
  0 8px 30px rgba(212,175,55,.35);
}
.btn-hero:hover{
transform:translateY(-2px);
box-shadow:
  0 0 0 2px #b8962e,
  0 0 0 4px #FDF6EC,
  0 0 0 6px #D4AF37,
  0 12px 40px rgba(212,175,55,.55);
}
.btn-hero svg{width:22px;height:22px;fill:#b8962e}
.btn-hero .chevron{
margin-left:auto;
font-size:24px;
opacity:.8;
color:#b8962e;
font-weight:400;
}

/* shrink hero photo on PC where viewport > 480px (body is full 480px) */
@media(min-width:481px){
  .hero-photo{margin-right:-5%;margin-left:-15%}
}

/* mobile-only typography */
.hero h1{font-size:23px}
.hero-sub{font-size:13px}
.hero-meta{font-size:11px}
.btn-hero{font-size:17px;padding:12px 18px;gap:10px;white-space:nowrap}
.hero h1{
color:var(--white);
margin:0;
line-height:1.18;
}
.hero h1 span{color:var(--gold)}
.hero-sub{
font-size:15px;color:var(--gold-light);
font-style:italic;
margin:0;
font-weight:300;
line-height:1.4;
}
.hero-meta{
font-size:13px;color:var(--gold-light);
margin:0;
letter-spacing:0;
}
.btn-primary{
display:inline-block;
padding:18px 48px;
background:linear-gradient(135deg,var(--gold),var(--gold-dark));
color:var(--navy);
font-family:'Montserrat',sans-serif;
font-weight:700;font-size:16px;
border:none;border-radius:50px;
cursor:pointer;
text-decoration:none;
letter-spacing:1px;
transition:all .3s;
box-shadow:0 4px 30px rgba(201,168,76,.3);
}
.btn-primary:hover{
transform:translateY(-2px);
box-shadow:0 8px 40px rgba(201,168,76,.45);
}
.plane-line{
position:absolute;bottom:60px;left:0;right:0;
display:flex;align-items:center;justify-content:center;
opacity:.25;
}
.plane-line svg{width:32px;height:32px;fill:var(--gold)}

/* ══════════ SECTION SHARED ══════════ */
section{padding:100px 0;position:relative}
.section-label{
font-size:14px;letter-spacing:4px;text-transform:uppercase;
color:var(--gold);margin-bottom:8px;font-weight:600;
}
.section-title{
font-size:clamp(32px,5vw,52px);
margin-bottom:48px;
line-height:1.2;
text-transform:uppercase;
color:var(--milk);
}
.section-title span{color:var(--gold)}
.gold-line{
width:60px;height:2px;background:var(--gold);
margin:16px auto 0;
}

/* ══════════ FOR WHOM ══════════ */
.for-whom{
background:
  radial-gradient(ellipse at 80% 20%,rgba(201,168,76,.05) 0%,transparent 50%),
  var(--navy-light);
}
.audience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.audience-card{
background:var(--glass);
border:1px solid rgba(201,168,76,.15);
border-radius:16px;
padding:32px 28px;
backdrop-filter:blur(10px);
transition:all .35s;
position:relative;
overflow:hidden;
}
.audience-card::before{
content:'';position:absolute;top:0;left:0;right:0;height:3px;
background:linear-gradient(90deg,transparent,var(--gold),transparent);
opacity:0;transition:opacity .35s;
}
.audience-card:hover,.audience-card.glow{
border-color:rgba(212,175,55,.35);
transform:translateY(-4px);
}
.audience-card:hover::before,.audience-card.glow::before{opacity:1}
.audience-icon{
font-size:36px;margin-bottom:16px;display:block;
}
.audience-card h3{
font-size:22px;color:var(--gold-light);margin-bottom:12px;
}
.audience-card p{
font-size:14px;color:var(--white-dim);line-height:1.7;
}

/* ══════════ TARIFFS ══════════ */
.tariffs{
background:
  radial-gradient(ellipse at 20% 80%,rgba(201,168,76,.06) 0%,transparent 50%),
  var(--navy);
}
.tariff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px;align-items:start}
.tariff-card{
background:var(--glass);
border:1px solid rgba(201,168,76,.15);
border-radius:20px;
padding:40px 32px;
position:relative;
transition:all .35s;
}
.tariff-card.featured{
border-color:var(--gold);
box-shadow:0 0 60px rgba(201,168,76,.12);
}
.tariff-card.featured::before{
content:'';position:absolute;top:-1px;left:20%;right:20%;height:3px;
background:linear-gradient(90deg,transparent,var(--gold),transparent);
border-radius:0 0 4px 4px;
}
.tariff-popular{
position:absolute;top:-14px;left:50%;transform:translateX(-50%);
padding:6px 24px;
background:linear-gradient(135deg,var(--gold),var(--gold-dark));
color:var(--navy);
font-size:11px;font-weight:700;
border-radius:20px;letter-spacing:2px;
text-transform:uppercase;
white-space:nowrap;
box-shadow:0 4px 16px rgba(212,175,55,.3);
}
.tariff-name{
display:inline-block;
padding:6px 20px;
background:linear-gradient(135deg,var(--gold),var(--gold-dark));
color:var(--navy);
font-size:12px;font-weight:700;
border-radius:20px;letter-spacing:2px;
margin-bottom:20px;
font-family:'Montserrat',sans-serif;
text-transform:uppercase;
}
.tariff-card h3{
font-size:28px;margin-bottom:8px;color:var(--gold-light);
}
.tariff-price{
display:flex;align-items:baseline;justify-content:center;gap:16px;
margin:20px 0 20px;
}
.price-old{
font-size:26px;color:var(--white-dim);
text-decoration:line-through;
text-decoration-color:rgba(212,175,55,.7);
font-weight:400;
font-family:'Cormorant Garamond',serif;
}
.price-new{
font-size:38px;color:var(--gold);
font-weight:700;
font-family:'Cormorant Garamond',serif;
letter-spacing:.5px;
}
.tariff-card .tariff-desc{
font-size:14px;color:var(--white-dim);margin-bottom:24px;line-height:1.6;
}
.tariff-features{list-style:none;margin-bottom:28px}
.tariff-features li{
padding:8px 0;
font-size:14px;
color:var(--white);
border-bottom:1px solid rgba(255,255,255,.05);
display:flex;align-items:flex-start;gap:10px;
}
.tariff-features li::before{
content:'';flex-shrink:0;
width:8px;height:8px;
background:var(--gold);
border-radius:50%;
margin-top:6px;
}
.tariff-result{
background:rgba(201,168,76,.08);
border-radius:12px;
padding:16px 20px;
margin-bottom:24px;
}
.tariff-result strong{color:var(--gold);font-size:13px;text-transform:uppercase;letter-spacing:1px}
.tariff-result p{font-size:13px;color:var(--white-dim);margin-top:6px;line-height:1.6}
.btn-tariff{
display:block;width:100%;
padding:16px;
text-align:center;
border:2px solid var(--gold);
color:var(--gold);
font-weight:600;font-size:15px;
border-radius:50px;
background:transparent;
cursor:pointer;
text-decoration:none;
font-family:'Montserrat',sans-serif;
transition:all .3s;
}
.btn-tariff:hover,.tariff-card.featured .btn-tariff{
background:linear-gradient(135deg,var(--gold),var(--gold-dark));
color:var(--navy);
}

/* ══════════ PROGRAM ══════════ */
.program{
background:var(--navy-light);
}
.program-timeline{max-width:800px;margin:0 auto;position:relative}
.program-timeline::before{
content:'';position:absolute;left:24px;top:0;bottom:0;width:2px;
background:linear-gradient(to bottom,var(--gold),rgba(201,168,76,.1));
}
.program-block{
position:relative;
padding-left:64px;
margin-bottom:48px;
}
.program-block:last-child{margin-bottom:0}
.program-dot{
position:absolute;left:15px;top:4px;
width:20px;height:20px;
background:var(--navy-light);
border:2px solid var(--gold);
border-radius:50%;
z-index:1;
}
.program-dot::after{
content:'';position:absolute;inset:4px;
background:var(--gold);border-radius:50%;
}
.program-block h3{
font-size:24px;color:var(--gold-light);margin-bottom:12px;
}
.program-block h4{
font-size:16px;color:var(--gold);margin:16px 0 8px;font-family:'Montserrat',sans-serif;font-weight:600;
}
.program-block p,.program-block li{
font-size:14px;color:var(--white-dim);line-height:1.7;
}
.program-block ul{list-style:none;margin:8px 0}
.program-block ul li{padding:4px 0;padding-left:20px;position:relative}
.program-block ul li::before{
content:'';position:absolute;left:0;top:11px;
width:6px;height:6px;background:var(--gold);border-radius:50%;
}
.program-results{
background:rgba(201,168,76,.06);
border:1px solid rgba(201,168,76,.12);
border-radius:12px;
padding:20px 24px;margin-top:16px;
}
.program-results h4{margin-top:0}

/* bonuses */
.bonuses{
background:var(--glass);
border:1px solid rgba(201,168,76,.2);
border-radius:16px;
padding:36px 32px;
margin-top:48px;
max-width:800px;
margin-left:auto;margin-right:auto;
}
.bonuses h3{font-size:28px;color:var(--gold);margin-bottom:20px;text-align:center}
.bonus-item{
display:flex;align-items:flex-start;gap:14px;
padding:12px 0;
border-bottom:1px solid rgba(255,255,255,.05);
}
.bonus-item:last-child{border-bottom:none}
.bonus-icon{font-size:24px;flex-shrink:0;margin-top:2px}
.bonus-item h4{font-size:15px;color:var(--gold-light);margin-bottom:4px;font-family:'Montserrat',sans-serif;font-weight:600}
.bonus-item p{font-size:13px;color:var(--white-dim);line-height:1.6}

/* ══════════ REVIEWS ══════════ */
.reviews{
background:var(--navy);
text-align:center;
}
.reviews-placeholder{
background:var(--glass);
border:1px solid rgba(201,168,76,.15);
border-radius:16px;
padding:60px 40px;
max-width:700px;
margin:0 auto;
}
.reviews-placeholder p{color:var(--white-dim);font-size:16px}

/* ══════════ RESULTS ══════════ */
.results{
background:
  radial-gradient(ellipse at 60% 30%,rgba(201,168,76,.06) 0%,transparent 50%),
  var(--navy-light);
}
.results-group{margin-bottom:60px}
.results-group:last-child{margin-bottom:0}
.results-group h3{
font-size:26px;color:var(--gold);margin-bottom:28px;
text-align:center;
}
.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
.result-card{
background:var(--glass);
border:1px solid rgba(201,168,76,.1);
border-radius:14px;
padding:28px 24px;
transition:all .3s;
}
.result-card:hover{border-color:rgba(201,168,76,.3);transform:translateY(-2px)}
.result-card h4{
font-size:17px;color:var(--gold-light);margin-bottom:10px;
font-family:'Montserrat',sans-serif;font-weight:600;
}
.result-card p{font-size:13px;color:var(--white-dim);line-height:1.7}

/* ══════════ WHAT AWAITS ══════════ */
.awaits{background:var(--navy)}
.awaits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.await-card{
background:var(--glass);
border:1px solid rgba(201,168,76,.12);
border-radius:16px;
overflow:hidden;
transition:all .35s;
}
.await-card:hover{border-color:rgba(201,168,76,.3);transform:translateY(-4px)}
.await-img{
height:200px;
background:linear-gradient(135deg,var(--navy-card),rgba(201,168,76,.08));
display:flex;align-items:center;justify-content:center;
font-size:48px;
}
.await-body{padding:24px}
.await-body h3{font-size:20px;color:var(--gold-light);margin-bottom:10px}
.await-body p{font-size:13px;color:var(--white-dim);line-height:1.7}

/* ══════════ FAQ ══════════ */
.faq{
background:var(--navy-light);
}
.faq-list{max-width:800px;margin:0 auto}
.faq-category{
font-size:14px;letter-spacing:3px;text-transform:uppercase;
color:var(--gold);margin:40px 0 16px;font-weight:600;
}
.faq-category:first-child{margin-top:0}
.faq-item{
border:1px solid rgba(201,168,76,.1);
border-radius:12px;
margin-bottom:12px;
overflow:hidden;
transition:border-color .3s;
}
.faq-item.active{border-color:rgba(201,168,76,.3)}
.faq-q{
padding:20px 24px;
cursor:pointer;
display:flex;align-items:center;justify-content:space-between;
gap:16px;
font-weight:500;font-size:15px;
color:var(--white);
transition:color .3s;
}
.faq-q:hover{color:var(--gold-light)}
.faq-q .arrow{
width:24px;height:24px;flex-shrink:0;
display:flex;align-items:center;justify-content:center;
transition:transform .3s;
color:var(--gold);font-size:20px;
}
.faq-item.active .faq-q .arrow{transform:rotate(180deg)}
.faq-a{
max-height:0;overflow:hidden;
transition:max-height .4s ease;
}
.faq-a-inner{
padding:0 24px 20px;
font-size:14px;color:var(--white-dim);line-height:1.7;
}

/* ══════════ CTA BOTTOM ══════════ */
.cta-bottom{
background:
  radial-gradient(ellipse at 50% 50%,rgba(201,168,76,.1) 0%,transparent 60%),
  var(--navy);
text-align:center;
padding:100px 0;
}
.cta-bottom h2{font-size:clamp(26px,4vw,40px);margin-bottom:16px}
.cta-bottom p{
font-size:16px;color:var(--white-dim);
max-width:560px;margin:0 auto 36px;line-height:1.7;
}

/* ══════════ FOOTER ══════════ */
footer{
background:var(--navy-card);
padding:40px 0;text-align:center;
border-top:1px solid rgba(201,168,76,.1);
}
footer p{font-size:13px;color:var(--white-dim)}

/* ══════════ ANIMATIONS ══════════ */
.fade-up{
opacity:0;transform:translateY(30px);
transition:opacity .6s ease,transform .6s ease;
}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* ══════════ RESPONSIVE ══════════ */
@media(max-width:768px){
  .tariff-grid{grid-template-columns:1fr}
  .results-grid{grid-template-columns:1fr}
  .audience-grid{grid-template-columns:1fr}
  .awaits-grid{grid-template-columns:1fr}
  section{padding:60px 0}
  .program-timeline::before{left:16px}
  .program-block{padding-left:48px}
  .program-dot{left:7px}
}
