*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
/* Скрытие через атрибут hidden должно побеждать display из классов
   (иначе .btn-payment{display:block} перекрывает браузерное правило) */
[hidden]{display:none!important}
: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.webp') 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{
position:relative;
background:var(--navy);
overflow:hidden;
}
.tariffs-bg{
position:absolute;inset:0;
background:url('../img/back_long.webp') top center/100% auto no-repeat;
opacity:1;
z-index:0;
}
.tariffs .container{position:relative;z-index:1}
.tariff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px;align-items:start}
.tariff-card{
background:rgba(20,30,46,.92);
border:1px solid rgba(201,168,76,.15);
border-radius:20px;
padding:40px 32px;
position:relative;
transition:all .35s;
}
.tariff-card.featured{
border:1px solid var(--gold);
box-shadow:none;
}
.tariff-card.featured::before{display:none}
.tariff-popular{
position:absolute;top:-18px;left:50%;transform:translateX(-50%);
padding:10px 28px;
background:
  linear-gradient(180deg,
    #f4d77a 0%,
    #e6bf52 18%,
    #c99428 50%,
    #e6bf52 82%,
    #f4d77a 100%);
color:#1B263B;
font-size:13px;font-weight:700;
border-radius:50px;letter-spacing:3px;
text-transform:uppercase;
white-space:nowrap;
border:2px solid #1B263B;
box-shadow:
  inset 0 1px 0 rgba(255,255,255,.6),
  inset 0 -1px 0 rgba(0,0,0,.25),
  0 4px 14px rgba(0,0,0,.4);
text-shadow:0 1px 0 rgba(255,255,255,.25);
}
.tariff-name{
display:inline-block;
padding:12px 36px;
background:
  linear-gradient(180deg,
    #f4d77a 0%,
    #e6bf52 18%,
    #c99428 50%,
    #e6bf52 82%,
    #f4d77a 100%);
color:#1B263B;
font-size:16px;font-weight:700;
border-radius:50px;letter-spacing:4px;
margin-bottom:22px;
font-family:'Montserrat',sans-serif;
text-transform:uppercase;
border:2px solid #1B263B;
box-shadow:
  inset 0 1px 0 rgba(255,255,255,.6),
  inset 0 -1px 0 rgba(0,0,0,.25),
  0 4px 14px rgba(0,0,0,.4);
text-shadow:0 1px 0 rgba(255,255,255,.25);
}
.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:12px 0;
font-size:14px;
color:var(--white);
border-bottom:1px solid rgba(212,175,55,.12);
display:flex;align-items:center;gap:14px;
line-height:1.4;
}
.tariff-features li:last-child{border-bottom:none}
.tariff-features li img{
width:38px;height:38px;
object-fit:contain;
flex-shrink:0;
}
.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;display:inline-flex;align-items:center;gap:8px}
.tariff-result strong img{width:20px;height:20px;object-fit:contain}
.tariff-result p{font-size:13px;color:var(--white-dim);margin-top:6px;line-height:1.6}
.btn-tariff{
display:block;width:88%;max-width:340px;
margin:0 auto;
padding:14px 20px;
text-align:center;
border:none;
color:#0D1B2A;
font-weight:700;font-size:16px;
letter-spacing:1px;
border-radius:60px;
background:linear-gradient(180deg,#FDF6EC 0%,#f5e9d0 100%);
cursor:pointer;
text-decoration:none;
font-family:'Montserrat',sans-serif;
transition:all .3s;
box-shadow:
  0 0 0 2px #b8962e,
  0 0 0 4px #FDF6EC,
  0 0 0 6px #D4AF37,
  0 6px 24px rgba(212,175,55,.3);
}
.btn-tariff:hover{
transform:translateY(-2px);
box-shadow:
  0 0 0 2px #b8962e,
  0 0 0 4px #FDF6EC,
  0 0 0 6px #D4AF37,
  0 10px 32px rgba(212,175,55,.5);
}

/* ══════════ PAYMENT INFO ══════════ */
.payment-info{background:var(--navy)}
.payment-card{
max-width:480px;margin:0 auto;
border:1px solid rgba(212,175,55,.3);
border-radius:18px;
padding:28px 22px;
background:rgba(11,27,42,.6);
box-shadow:0 0 30px rgba(0,0,0,.25),inset 0 0 30px rgba(212,175,55,.04);
}
.payment-card p{
font-size:14px;color:var(--white-dim);
line-height:1.6;
margin-bottom:14px;
}
.payment-card p:last-of-type{margin-bottom:22px}
.payment-card strong{color:var(--gold);font-weight:600}
.payment-actions{display:flex;flex-direction:column;gap:12px}
.btn-payment{
display:block;width:100%;
padding:14px 16px;
text-align:center;
border-radius:60px;
font-family:'Montserrat',sans-serif;
font-weight:700;font-size:13px;
letter-spacing:.5px;
text-decoration:none;
cursor:pointer;
transition:all .3s;
white-space:nowrap;
}
.btn-payment-primary{
color:#0D1B2A;
background:linear-gradient(180deg,#FDF6EC 0%,#f5e9d0 100%);
border:none;
box-shadow:
  0 0 0 2px #b8962e,
  0 0 0 4px #FDF6EC,
  0 0 0 6px #D4AF37,
  0 6px 24px rgba(212,175,55,.3);
}
.btn-payment-primary:hover{
transform:translateY(-2px);
box-shadow:
  0 0 0 2px #b8962e,
  0 0 0 4px #FDF6EC,
  0 0 0 6px #D4AF37,
  0 10px 32px rgba(212,175,55,.5);
}
.btn-payment-secondary{
color:var(--gold);
background:transparent;
border:2px solid var(--gold);
}
.btn-payment-secondary:hover{
background:var(--gold);
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-carousel{
position:relative;
margin:0 auto;
max-width:480px;
}
.reviews-track{
display:flex;
gap:16px;
overflow-x:auto;
scroll-snap-type:x mandatory;
scroll-behavior:smooth;
-webkit-overflow-scrolling:touch;
scrollbar-width:none;
padding:4px 0;
}
.reviews-track::-webkit-scrollbar{display:none}
.review-slide{
flex:0 0 100%;
scroll-snap-align:center;
display:flex;justify-content:center;
}
.review-slide img{
max-width:100%;
height:auto;
border-radius:16px;
box-shadow:0 8px 30px rgba(0,0,0,.5);
}
.reviews-arrow{
position:absolute;
top:50%;transform:translateY(-50%);
width:42px;height:42px;
border-radius:50%;
background:rgba(11,27,42,.7);
border:1px solid rgba(212,175,55,.4);
color:var(--gold);
font-size:28px;line-height:1;
cursor:pointer;
display:flex;align-items:center;justify-content:center;
backdrop-filter:blur(6px);
transition:all .2s;
z-index:2;
}
.reviews-arrow:hover{background:var(--gold);color:var(--navy)}
.reviews-prev{left:-8px}
.reviews-next{right:-8px}
.reviews-dots{
display:flex;justify-content:center;gap:8px;
margin-top:18px;
}
.reviews-dots button{
width:8px;height:8px;
border-radius:50%;
border:none;
background:rgba(212,175,55,.3);
cursor:pointer;
transition:all .2s;
padding:0;
}
.reviews-dots button.active{background:var(--gold);width:24px;border-radius:4px}

/* ══════════ RESULTS ══════════ */
.results{
position:relative;
background:var(--navy);
overflow:hidden;
}
.results-bg{
position:absolute;inset:0;
background:url('../img/background_result.webp') center/cover no-repeat;
opacity:.55;
z-index:0;
}
.results .container{position:relative;z-index:1}
.results-logo{display:block;width:220px;max-width:80%;margin:0 auto 16px}
.results .section-title{font-size:44px;line-height:1.05}
.results .section-title span{font-size:32px;display:inline-block}
.results-card{
border:1px solid rgba(212,175,55,.4);
border-radius:18px;
padding:30px 18px 20px;
margin-bottom:28px;
background:rgba(11,27,42,.55);
backdrop-filter:blur(2px);
position:relative;
box-shadow:0 0 30px rgba(0,0,0,.25),inset 0 0 30px rgba(212,175,55,.04);
}
.results-card:last-child{margin-bottom:0}
.results-card-header{
position:absolute;
top:-16px;left:24px;
display:inline-flex;align-items:center;gap:10px;
padding:8px 18px;
background:linear-gradient(135deg,var(--gold),var(--gold-dark));
color:var(--navy);
font-family:'Montserrat',sans-serif;
font-size:11px;font-weight:700;
letter-spacing:1.5px;
text-transform:uppercase;
border-radius:30px;
box-shadow:0 4px 12px rgba(0,0,0,.4);
}
.results-card-header img{width:22px;height:22px;object-fit:contain;flex-shrink:0;mix-blend-mode:multiply}
.results-list{
list-style:none;margin:0;padding:0;
}
.results-list li{
display:flex;align-items:center;gap:14px;
padding:14px 6px;
border-bottom:1px solid rgba(212,175,55,.12);
color:var(--white);
font-size:13px;line-height:1.45;
}
.results-list li:last-child{border-bottom:none}
.results-list li img{
width:42px;height:42px;
object-fit:contain;
flex-shrink:0;
mix-blend-mode:multiply;
filter:brightness(2.2) contrast(1.2);
}

/* ══════════ 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}
  .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}
}

/* ══════════ STATUS PAGES (success / fail) ══════════ */
[hidden]{display:none !important}
.status-page{
min-height:100vh;
min-height:100svh;
position:relative;
overflow:hidden;
display:flex;flex-direction:column;justify-content:center;
}
.status-inner{
position:relative;z-index:2;
text-align:center;
padding:40px 24px;
}
.status-logo{
display:block;width:150px;max-width:60%;
margin:0 auto 28px;
}
.status-icon{
width:72px;height:72px;
margin:0 auto 20px;
border-radius:50%;
display:flex;align-items:center;justify-content:center;
font-size:34px;line-height:1;
border:2px solid var(--gold);
color:var(--gold);
background:rgba(212,175,55,.08);
box-shadow:0 0 30px rgba(212,175,55,.18);
}
.status-icon.is-fail{
border-color:#d98a8a;
color:#d98a8a;
background:rgba(217,138,138,.08);
box-shadow:0 0 30px rgba(217,138,138,.15);
}
.status-page h1{
font-size:32px;line-height:1.15;
color:var(--milk);
margin-bottom:10px;
text-transform:uppercase;
}
.status-lead{
font-size:15px;color:var(--gold-light);
margin-bottom:24px;
}
.status-lead strong{color:var(--gold);font-weight:600}
