:root{
  --bg-0:#070a1c; --bg-1:#0c1130; --bg-2:#141a44;
  --ink:#eceefb; --muted:#a7adcb; --faint:#7b81a6;
  --gold:#d9b675; --gold-2:#f0d7a0; --gold-deep:#b08d57;
  --line:rgba(217,182,117,.18); --line-soft:rgba(255,255,255,.08);
  --panel:rgba(18,24,58,.55); --panel-2:rgba(20,27,68,.78);
  --r:18px; --maxw:1180px;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Manrope",-apple-system,Segoe UI,Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:var(--sans); color:var(--ink);
  background:radial-gradient(120% 90% at 50% -10%, #182056 0%, var(--bg-1) 45%, var(--bg-0) 100%);
  background-attachment:fixed; line-height:1.6; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
#cosmos{position:fixed; inset:0; width:100%; height:100%; z-index:0; pointer-events:none;}
.vignette{position:fixed; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(110% 80% at 50% 0%, transparent 55%, rgba(4,6,18,.55) 100%);}
.nav,main,.footer{position:relative; z-index:3}
a{color:inherit; text-decoration:none}
img{max-width:100%}
.container{width:100%; max-width:var(--maxw); margin:0 auto; padding:0 24px}
em{font-style:italic}

/* ---------- typography ---------- */
h1,h2,h3{font-family:var(--serif); font-weight:600; line-height:1.1; margin:0}
.eyebrow{font:600 12px/1 var(--sans); letter-spacing:.28em; text-transform:uppercase; color:var(--gold);
  display:inline-block; margin-bottom:18px}
.display{font-size:clamp(40px,7vw,78px); font-weight:700; letter-spacing:-.01em}
.h-xl{font-size:clamp(32px,5vw,54px); font-weight:700}
.h-lg{font-size:clamp(26px,3.4vw,38px)}
.h-md{font-size:clamp(21px,2.4vw,27px)}
.lead{font-size:clamp(17px,1.6vw,20px); color:var(--muted); font-weight:400}
.muted{color:var(--muted)}
.serif{font-family:var(--serif)}
p{margin:0 0 16px}

/* ---------- nav ---------- */
.nav{position:sticky; top:0; z-index:50;}
.nav-bar{position:relative; z-index:2;
  background:linear-gradient(180deg, rgba(7,10,28,.94), rgba(7,10,28,.66));
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-soft);}
.nav-inner{max-width:var(--maxw); margin:0 auto; padding:14px 24px; display:flex; align-items:center; gap:12px}
.brand{display:flex; align-items:center; gap:12px; margin-right:auto}
.brand-mark{color:var(--gold); font-size:30px; filter:drop-shadow(0 0 10px rgba(217,182,117,.6))}
.brand-text{font:700 17px/1.15 var(--sans); letter-spacing:.06em; text-transform:uppercase}
.brand-text em{display:block; font-family:var(--sans); font-style:normal; font-weight:700; font-size:12.5px; letter-spacing:.11em; color:var(--gold-2); text-transform:uppercase; margin-top:4px}
.nav-links{display:flex; gap:4px; flex-wrap:wrap; align-items:center}
.nav-links a{font:600 13.5px/1 var(--sans); color:var(--muted); padding:9px 10px; border-radius:10px; transition:.25s; white-space:nowrap}
.nav-links a:hover{color:var(--ink); background:rgba(255,255,255,.05)}
.nav-links a.active{color:var(--gold-2)}
.nav-links a.nav-pill{color:var(--gold-2); border:1px solid var(--gold); border-radius:30px; padding:8px 16px; background:rgba(217,182,117,.07)}
.nav-links a.nav-pill:hover{color:#1a1304; background:linear-gradient(135deg,var(--gold-2),var(--gold-deep)); border-color:transparent}
.nav-login{flex:none; white-space:nowrap; color:var(--gold-2); border:1px solid var(--line); border-radius:30px;
  padding:9px 18px; font:600 13.5px/1 var(--sans); transition:.25s}
.nav-login::before{content:"→"; margin-right:7px; color:var(--gold); font-weight:700}
.nav-login:hover{border-color:var(--gold); background:rgba(217,182,117,.1)}
@media(max-width:1020px){.nav-login{padding:8px 15px; font-size:13px}}
.has-sub{position:relative}
.submenu{position:absolute; top:100%; left:0; min-width:240px; padding:8px; margin-top:6px;
  background:rgba(13,18,44,.98); border:1px solid var(--line); border-radius:14px;
  backdrop-filter:blur(18px); box-shadow:0 24px 60px rgba(0,0,0,.5);
  opacity:0; visibility:hidden; transform:translateY(8px); transition:.22s}
.has-sub:hover .submenu{opacity:1; visibility:visible; transform:none}
.submenu a{display:block; color:var(--muted); padding:10px 12px; border-radius:9px}
.submenu a:hover{color:var(--ink); background:rgba(217,182,117,.10)}
.nav-cta{padding:10px 18px; font-size:13.5px}
.burger{display:none; background:none; border:0; flex-direction:column; gap:5px; cursor:pointer; padding:8px}
.burger span{width:24px; height:2px; background:var(--ink); border-radius:2px; transition:.3s}

/* ---------- buttons ---------- */
.btn{display:inline-flex; align-items:center; gap:9px; font:700 14.5px/1 var(--sans);
  padding:15px 28px; border-radius:40px; cursor:pointer; border:1px solid transparent; transition:.3s; letter-spacing:.01em}
.btn-gold{color:#1a1304; background:linear-gradient(135deg,var(--gold-2),var(--gold) 55%,var(--gold-deep));
  box-shadow:0 10px 30px rgba(217,182,117,.28)}
.btn-gold:hover{transform:translateY(-2px); box-shadow:0 16px 40px rgba(217,182,117,.42)}
.btn-ghost{color:var(--ink); border-color:var(--line); background:rgba(255,255,255,.03)}
.btn-ghost:hover{border-color:var(--gold); color:var(--gold-2); background:rgba(217,182,117,.06)}
.btn .arr{transition:.3s} .btn:hover .arr{transform:translateX(4px)}

/* ---------- layout primitives ---------- */
section.block{padding:clamp(56px,8vw,110px) 0}
.center{text-align:center} .center .lead{margin-left:auto; margin-right:auto; max-width:680px}
.kicker-line{display:flex; align-items:center; gap:14px; color:var(--gold); justify-content:center; margin:0 auto 14px}
.kicker-line::before,.kicker-line::after{content:""; height:1px; width:54px; background:linear-gradient(90deg,transparent,var(--gold))}
.kicker-line::after{background:linear-gradient(90deg,var(--gold),transparent)}
.grid{display:grid; gap:22px}
.g-2{grid-template-columns:repeat(2,1fr)} .g-3{grid-template-columns:repeat(3,1fr)} .g-4{grid-template-columns:repeat(4,1fr)}
.divider{height:1px; background:linear-gradient(90deg,transparent,var(--line),transparent); margin:0 auto; max-width:var(--maxw)}

/* ---------- cards ---------- */
.card{background:var(--panel); border:1px solid var(--line-soft); border-radius:var(--r);
  padding:30px; backdrop-filter:blur(10px); transition:.35s; position:relative; overflow:hidden}
.card:hover{border-color:var(--line); transform:translateY(-4px); box-shadow:0 22px 50px rgba(0,0,0,.35)}
.card .ic{font-size:26px; color:var(--gold); display:block; margin-bottom:14px; filter:drop-shadow(0 0 10px rgba(217,182,117,.4))}
.dir-card{position:relative; overflow:hidden; padding:32px 30px 30px;
  border:1px solid rgba(217,182,117,.26);
  background:radial-gradient(130% 100% at 12% -10%, rgba(217,182,117,.1), var(--panel) 52%)}
.dir-card::before{content:""; position:absolute; inset:0; pointer-events:none; opacity:0; transition:.45s;
  background:radial-gradient(72% 56% at 22% 12%, rgba(217,182,117,.18), transparent 62%)}
.dir-card:hover{border-color:var(--gold); transform:translateY(-6px);
  box-shadow:0 28px 64px rgba(0,0,0,.42), 0 0 28px rgba(217,182,117,.1)}
.dir-card:hover::before{opacity:1}
.dir-ic-wrap{display:inline-flex; position:relative; margin-bottom:20px; border-radius:18px}
.dir-card .dir-ic{width:84px; height:84px; border-radius:18px; display:block; position:relative;
  border:1px solid rgba(217,182,117,.42); box-shadow:0 12px 30px rgba(0,0,0,.42), inset 0 0 22px rgba(217,182,117,.07); transition:.4s}
.dir-card:hover .dir-ic{border-color:var(--gold); box-shadow:0 16px 40px rgba(217,182,117,.3), inset 0 0 22px rgba(217,182,117,.12)}
.dir-arrow{position:absolute; top:26px; right:26px; width:40px; height:40px; border-radius:50%; z-index:2;
  display:flex; align-items:center; justify-content:center; font:700 17px/1 var(--sans); color:var(--gold-2);
  border:1px solid var(--line-soft); background:rgba(255,255,255,.03); transition:.4s; opacity:.55}
.dir-card:hover .dir-arrow{opacity:1; transform:translate(3px,-3px); color:#1a1304;
  background:linear-gradient(135deg,var(--gold-2),var(--gold-deep)); border-color:transparent; box-shadow:0 8px 20px rgba(217,182,117,.4)}
.dir-card h3{font-size:22px; margin-bottom:9px; position:relative}
.dir-card p{color:var(--muted); font-size:15px; margin:0; position:relative}
.card h3{font-size:21px; margin-bottom:9px}
.card p{color:var(--muted); margin:0; font-size:15px}

/* ---------- hero ---------- */
.hero{min-height:88vh; display:flex; align-items:center; padding:80px 0 60px; position:relative}
.hero .lead{max-width:620px; margin:22px auto 34px}
.hero .cta-row{display:flex; gap:14px; justify-content:center; flex-wrap:wrap}
.hero-sub{margin-top:30px; color:var(--faint); font-size:13.5px; letter-spacing:.04em}
.scroll-hint{position:absolute; bottom:26px; left:50%; transform:translateX(-50%); color:var(--faint); font-size:11px; letter-spacing:.2em; text-transform:uppercase}
.scroll-hint::after{content:""; display:block; width:1px; height:34px; margin:10px auto 0; background:linear-gradient(var(--gold),transparent); animation:drop 1.8s infinite}
@keyframes drop{0%{opacity:0;transform:scaleY(.2)}40%{opacity:1}100%{opacity:0;transform:translateY(10px) scaleY(.6)}}

/* ---------- value / pillars ---------- */
.pillar{padding:28px; border:1px solid rgba(217,182,117,.34); border-radius:var(--r);
  background:linear-gradient(180deg, rgba(217,182,117,.05), var(--panel)); transition:.3s}
.pillar:hover{border-color:var(--gold); transform:translateY(-3px); box-shadow:0 18px 44px rgba(217,182,117,.16)}
.pillar .num{font-family:var(--serif); font-size:30px; color:var(--gold); opacity:.85}
.pillar h3{font-size:19px; margin:8px 0 8px}
.pillar p{color:var(--muted); font-size:14.5px; margin:0}

/* ---------- service catalog ---------- */
.cat-group{margin-bottom:40px}
.cat-title{display:flex; align-items:center; gap:12px; margin-bottom:18px}
.cat-title .l{height:1px; flex:1; background:var(--line-soft)}
.svc{display:flex; flex-direction:column; height:100%; padding:40px 32px; min-height:520px;
  border:1px solid rgba(217,182,117,.3); border-top:2px solid transparent}
.svc:hover{border-color:var(--gold); transform:translateY(-4px); box-shadow:0 24px 56px rgba(0,0,0,.44)}
.svc .svc-top{display:flex; align-items:center; gap:14px; margin-bottom:18px}
.svc .svc-ic{width:62px; height:62px; border-radius:15px; border:1px solid var(--line); object-fit:cover; flex:none; box-shadow:0 6px 18px rgba(0,0,0,.28)}
.svc .tier{font:700 11.5px/1.35 var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--gold-deep); margin:0}
.svc h3{font-size:26px; line-height:1.16; margin-bottom:14px}
.svc .one{color:#d3d7ee; font-family:var(--serif); font-size:18px; line-height:1.5; margin:0 0 4px;
  background:rgba(255,255,255,.04); border-left:2px solid var(--gold); border-radius:0 12px 12px 0; padding:15px 18px 16px}
.cat-self{border-top-color:rgba(217,182,117,.6)}
.cat-love{border-top-color:rgba(214,150,170,.65)}
.cat-money{border-top-color:rgba(150,200,160,.6)}
.cat-forecast{border-top-color:rgba(150,170,255,.6)}
.cat-kids{border-top-color:rgba(200,180,230,.6)}
.svc .foot{margin-top:auto; display:flex; flex-direction:column; align-items:stretch; gap:13px; padding-top:16px; border-top:1px solid var(--line-soft)}
.svc .price-row{display:flex; align-items:baseline; gap:8px}
.svc .price{font:800 26px/1 var(--sans); color:var(--gold-2)}
.svc-btns{display:flex; justify-content:center; gap:10px}
.svc-btns .btn{flex:none; justify-content:center; text-align:center; line-height:1.2; padding:14px 34px; font-size:14px}
.svc-btns .more-btn{margin-top:0}

/* ---------- filters ---------- */
.filters{display:flex; flex-wrap:wrap; gap:11px; justify-content:center; margin:0 0 40px}
.chip-filter{display:inline-flex; align-items:center; gap:9px; font:600 14.5px/1 var(--sans); color:var(--muted);
  background:var(--panel); border:1px solid var(--line-soft); border-radius:30px; padding:12px 20px; cursor:pointer; transition:.25s}
.chip-filter:hover{color:var(--ink); border-color:var(--line)}
.chip-filter.active{color:#1a1304; background:linear-gradient(135deg,var(--gold-2),var(--gold-deep)); border-color:transparent; font-weight:700}
.chip-filter .cf-g{font-size:16px; line-height:1}

/* ---------- pricing (packages) ---------- */
.pricing{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; align-items:stretch}
.price-card{position:relative; display:flex; flex-direction:column; padding:34px 28px; border-radius:22px;
  background:var(--panel-2); border:1px solid var(--line-soft); transition:.35s; backdrop-filter:blur(12px)}
.price-card:hover{transform:translateY(-6px); border-color:var(--line)}
.price-card.featured{border-color:var(--gold);
  background:linear-gradient(180deg, rgba(217,182,117,.12), var(--panel-2));
  box-shadow:0 30px 70px rgba(217,182,117,.16); transform:scale(1.03)}
.price-card.featured:hover{transform:scale(1.03) translateY(-6px)}
.badge{position:absolute; top:-13px; left:50%; transform:translateX(-50%); white-space:nowrap;
  background:linear-gradient(135deg,var(--gold-2),var(--gold-deep)); color:#1a1304;
  font:700 11px/1 var(--sans); letter-spacing:.1em; text-transform:uppercase; padding:8px 16px; border-radius:30px;
  box-shadow:0 8px 20px rgba(217,182,117,.4)}
.price-card .pk-name{font-family:var(--serif); font-size:26px; line-height:1.12; margin-bottom:12px}
.price-card .pk-sum{color:var(--muted); font-size:15px; line-height:1.5; margin-bottom:16px; min-height:67px}
.price-card .pk-count{color:var(--gold-2); font-size:13px; font-weight:600; margin-bottom:20px; display:flex; gap:8px; align-items:center}
.price-card .pk-count::before{content:"✦"; color:var(--gold); flex:none}
.price-card .pk-price{font:800 30px/1 var(--sans); color:var(--gold-2); margin-bottom:4px}
.price-card .pk-old{color:var(--faint); font-size:13px; text-decoration:line-through; margin-bottom:22px; min-height:18px}
.price-card .pk-btns{margin-top:auto; display:flex; flex-direction:column; gap:10px}
.price-card .pk-btns .btn, .price-card .pk-btns .more-btn{width:100%; justify-content:center; margin:0}

/* ---------- feature rows (alternating) ---------- */
.feature{display:grid; grid-template-columns:1.05fr .95fr; gap:50px; align-items:center}
.feature.rev .ftext{order:2}
.feature .fart{aspect-ratio:1/1; border-radius:24px; border:1px solid var(--line); position:relative; overflow:hidden;
  background:radial-gradient(80% 80% at 30% 25%, rgba(217,182,117,.16), transparent 60%), var(--panel)}
.feature .fart.has-img{background-size:cover; background-position:center; display:flex; align-items:flex-end}
.feature .fart.has-img::after{content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(7,10,28,.18) 0%, rgba(7,10,28,0) 38%, rgba(7,10,28,.74) 100%)}
.fart-cap{position:relative; z-index:2; font-family:var(--serif); font-weight:700; color:#fff;
  font-size:clamp(25px,3vw,37px); line-height:1.08; padding:26px 30px; text-shadow:0 4px 22px rgba(0,0,0,.55)}
.fart-cap::before{content:""; display:block; width:42px; height:2px; margin-bottom:14px;
  background:var(--gold); box-shadow:0 0 12px rgba(217,182,117,.7)}
.feature .fart.no-cap::after{background:radial-gradient(120% 100% at 50% 42%, transparent 56%, rgba(7,10,28,.42))}
.feature ul{list-style:none; padding:0; margin:18px 0 26px; display:grid; gap:12px}
.feature li{display:flex; gap:12px; color:var(--muted)} .feature li::before{content:"✦"; color:var(--gold)}

/* ---------- faq ---------- */
.faq{max-width:840px; margin:0 auto; display:grid; gap:14px}
.qa{border:1px solid var(--line-soft); border-radius:16px; background:var(--panel); overflow:hidden; transition:.3s}
.qa.open{border-color:var(--line)}
.qa-q{display:flex; justify-content:space-between; gap:18px; align-items:center; padding:22px 26px; cursor:pointer; font:600 17px/1.4 var(--sans)}
.qa-q .pl{color:var(--gold); font-size:22px; transition:.3s; flex:none}
.qa.open .pl{transform:rotate(45deg)}
.qa-a{max-height:0; overflow:hidden; transition:max-height .4s ease; }
.qa-a .in{padding:0 26px 24px; color:var(--muted)}

/* ---------- cta band ---------- */
.cta-band{text-align:center; padding:clamp(56px,8vw,96px) 0}
.cta-band .box{max-width:820px; margin:0 auto; padding:54px 40px; border-radius:26px;
  border:1px solid var(--line); background:radial-gradient(120% 120% at 50% 0%, rgba(217,182,117,.12), var(--panel-2))}

/* ---------- footer ---------- */
.footer{border-top:1px solid var(--line-soft); margin-top:40px; padding:56px 0 90px;
  background:linear-gradient(180deg, transparent, rgba(4,6,18,.6))}
.footer .cols{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:30px}
.footer h4{font:700 12px/1 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin:0 0 16px}
.footer a{display:block; color:var(--muted); font-size:14px; padding:5px 0} .footer a:hover{color:var(--ink)}
.footer .fbrand{font-family:var(--serif); font-size:22px; margin-bottom:12px}
.footer .fnote{color:var(--faint); font-size:12.5px; margin-top:10px; max-width:320px}
.footer .legal{margin-top:40px; padding-top:24px; border-top:1px solid var(--line-soft); color:var(--faint); font-size:12.5px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap}

/* ---------- header gold ask-pill (floating over the site, no plate) ---------- */
.nav-ask-row{display:flex; justify-content:center; padding:14px 24px 6px; pointer-events:none; position:relative; z-index:1}
.nav-ask{display:flex; align-items:center; justify-content:center; gap:11px; width:fit-content; max-width:calc(100% - 48px);
  cursor:pointer; pointer-events:auto;
  font:800 13px/1 var(--sans); letter-spacing:.07em; text-transform:uppercase; color:#1a1304;
  background:linear-gradient(135deg,var(--gold-2),var(--gold) 52%,var(--gold-deep));
  border:1px solid rgba(255,255,255,.42); border-radius:30px; padding:12px 30px;
  box-shadow:0 16px 38px rgba(217,182,117,.42), 0 4px 12px rgba(0,0,0,.25);
  transition:box-shadow .25s, filter .25s; animation:navFloat 3.6s ease-in-out infinite}
.nav-ask:hover{box-shadow:0 22px 48px rgba(217,182,117,.6), 0 6px 16px rgba(0,0,0,.3); filter:brightness(1.05)}
.nav-ask .na-ic{font-size:14px; line-height:1; filter:drop-shadow(0 0 5px rgba(255,255,255,.5))}
.nav-ask .na-arr{transition:.25s; font-weight:700}
.nav-ask:hover .na-arr{transform:translateX(3px)}
@keyframes navFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(prefers-reduced-motion:reduce){.nav-ask{animation:none}}
@media(max-width:680px){.nav-ask-row{padding:12px 16px 4px}.nav-ask{font-size:11.5px; padding:11px 20px; letter-spacing:.05em; gap:8px}}

/* ---------- reveal + page transition ---------- */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1; transform:none}
#app{transition:opacity .45s ease, transform .45s ease}
#app.swap{opacity:0; transform:translateY(14px)}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none} #app{transition:none}}

/* ---------- reading plate (contrast over starfield) ---------- */
.read{background:rgba(8,11,30,.52); border:1px solid rgba(255,255,255,.06); border-radius:18px;
  padding:28px 32px; backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px)}
.read .lead{color:var(--muted)}
.hero-read{background:rgba(8,11,30,.62); border-radius:22px; padding:40px 46px}
.hero-read .eyebrow{margin-bottom:14px}
.hero-read .lead{color:var(--ink)}
.more-btn{margin-top:8px; padding:11px 22px; font-size:13.5px}

/* ---------- modal (Подробнее) ---------- */
.modal-overlay{position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center;
  padding:24px; background:rgba(4,6,18,.72); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  opacity:0; visibility:hidden; transition:.3s}
.modal-overlay.open{opacity:1; visibility:visible}
.modal{width:min(1040px,95vw); max-height:90vh; overflow:hidden; position:relative;
  display:flex; flex-direction:column;
  background:linear-gradient(180deg,#10163a,#0b1030); border:1px solid var(--line); border-radius:24px;
  box-shadow:0 40px 110px rgba(0,0,0,.65); transform:translateY(18px) scale(.98); transition:.3s}
.modal-scroll{flex:1; min-height:0; overflow-y:auto; padding:48px 52px}
.modal-overlay.open .modal{transform:none}
.modal-close{position:absolute; top:16px; right:16px; z-index:6; width:42px; height:42px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; background:rgba(10,14,34,.72); border:1px solid var(--line-soft);
  color:var(--ink); font-size:26px; line-height:1; cursor:pointer; transition:.2s; backdrop-filter:blur(6px)}
.modal-close:hover{color:#1a1304; background:linear-gradient(135deg,var(--gold-2),var(--gold-deep)); border-color:transparent}
.modal .eyebrow{margin-bottom:10px}
.modal h3{font-family:var(--serif); font-size:clamp(28px,3.4vw,38px); color:var(--ink); margin:0 0 20px; padding-right:34px; line-height:1.12}
.modal p{color:var(--muted); margin:0 0 14px}
.modal ul{margin:6px 0 16px; padding:0; list-style:none; display:grid; gap:10px}
.modal li{display:flex; gap:11px; color:var(--ink)} .modal li::before{content:"✦"; color:var(--gold); flex:none}
/* structured modal body */
.m-lead{font-family:var(--serif); font-size:clamp(19px,2.1vw,24px); color:var(--gold-2); line-height:1.35; margin:0 0 26px}
.m-h{font:700 13px/1 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin:8px 0 16px}
.m-check{list-style:none; padding:0; margin:0 0 28px; display:grid; gap:13px}
.m-check li{display:flex; gap:13px; color:var(--ink); font-size:16px; line-height:1.5}
.m-check li::before{content:"✦"; color:var(--gold); flex:none; margin-top:3px}
.m-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.m-box{background:rgba(217,182,117,.06); border:1px solid var(--line-soft); border-radius:16px; padding:20px 22px}
.m-box-t{font:700 12px/1 var(--sans); letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin-bottom:9px}
.m-box p{margin:0; color:var(--muted); font-size:14.5px; line-height:1.55}
.modal-foot{flex:none; padding:20px 52px; border-top:1px solid var(--line-soft);
  display:flex; gap:20px; align-items:center; justify-content:center; flex-wrap:wrap;
  background:rgba(11,16,48,.66)}
.modal-price{font:800 26px/1 var(--sans); color:var(--gold-2)}
.modal-note{color:var(--faint); font-size:12.5px}
/* reviews inside modal */
.m-reviews{margin-top:30px}
.rev-list{display:grid; gap:14px}
.rev{background:rgba(255,255,255,.025); border:1px solid var(--line-soft); border-radius:14px; padding:17px 20px}
.rev-name{font:700 14px/1 var(--sans); color:var(--gold-2); margin-bottom:9px}
.rev-text{color:var(--ink); font-size:14.5px; line-height:1.6; margin:0}
.rev:not(.open) .rev-text{display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}
.rev-more{display:none; margin-top:9px; background:none; border:0; padding:0; color:var(--gold); font:600 13px/1 var(--sans); cursor:pointer}
.rev-more:hover{color:var(--gold-2)}
.rev.has-more .rev-more{display:inline-block}
@media(max-width:620px){.m-grid{grid-template-columns:1fr} .modal-scroll{padding:40px 24px} .modal-foot{padding:16px 24px; gap:16px}}
body.no-scroll{overflow:hidden}

/* ---------- specialists ---------- */
.spec-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px}
.spec-card{background:var(--panel); border:1px solid var(--line-soft); border-radius:20px; overflow:hidden;
  display:flex; flex-direction:column; transition:.35s}
.spec-card:hover{transform:translateY(-5px); border-color:var(--line); box-shadow:0 24px 54px rgba(0,0,0,.42)}
.spec-photo{aspect-ratio:4/5; background-size:cover; background-position:center top; position:relative}
.spec-photo::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 52%, rgba(10,14,34,.88))}
.spec-photo .role{position:absolute; left:18px; bottom:15px; z-index:2; font:700 10.5px/1.3 var(--sans);
  letter-spacing:.12em; text-transform:uppercase; color:var(--gold-2)}
.spec-body{padding:20px 22px 24px; display:flex; flex-direction:column; flex:1}
.spec-body h3{font-family:var(--serif); font-size:22px; margin:0 0 4px}
.spec-meta{color:var(--faint); font-size:12.5px; margin-bottom:13px}
.spec-body>p{color:var(--muted); font-size:14px; margin:0 0 14px}
.chips{display:flex; flex-wrap:wrap; gap:7px; margin-bottom:18px}
.chip{font-size:11.5px; color:var(--gold-2); border:1px solid var(--line); border-radius:30px;
  padding:5px 11px; background:rgba(217,182,117,.06)}
.spec-body .more-btn{margin-top:auto; align-self:flex-start}
@media(max-width:900px){.spec-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.spec-grid{grid-template-columns:1fr}}
/* specialists — alternating rows (photo / text) */
.spec-rows{display:flex; flex-direction:column; gap:36px}
.spec-row{align-items:center}
.spec-row .ftext h2{margin-bottom:6px}
.spec-row .spec-meta{color:var(--gold-2); font-size:14.5px; font-weight:600; margin-bottom:0}
.spec-row .spec-strong-t{font:700 12px/1 var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--gold); margin:22px 0 13px}
.spec-row .chips{margin-bottom:0}
.spec-photo-lg{aspect-ratio:4/5; border-radius:24px; border:1px solid var(--line); background-size:cover; background-position:center top; box-shadow:0 24px 60px rgba(0,0,0,.42)}
@media(max-width:760px){.spec-photo-lg{width:100%; max-width:430px; margin:0 auto}}

/* ---------- responsive ---------- */
@media(max-width:1020px){
  .nav-links{display:none}
  .nav-links.open{display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:2px;
    padding:14px; background:var(--panel-2); border-bottom:1px solid var(--line); backdrop-filter:blur(18px)}
  .nav-links.open a{padding:13px 14px; font-size:15px}
  .submenu{position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; background:transparent; border:0; padding:4px 0 4px 14px; margin:0}
  .burger{display:flex}
  .nav-cta{display:none}
  .pricing{grid-template-columns:repeat(2,1fr)}
  .price-card.featured{transform:none}
  .footer .cols{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .g-2,.g-3,.g-4,.pricing{grid-template-columns:1fr}
  .feature{grid-template-columns:1fr; gap:28px} .feature.rev .ftext{order:0}
  .footer .cols{grid-template-columns:1fr 1fr}
  .hero{min-height:auto; padding:50px 0 40px}
  .scroll-hint{display:none}
  .display{font-size:clamp(38px,11vw,56px)}
  section.block{padding:48px 0}
}

/* ---------- examples (printed booklet) ---------- */
.examples{display:grid; grid-template-columns:1fr 1fr; gap:30px}
.ex-card{display:flex; gap:20px; align-items:center; background:var(--panel); border:1px solid var(--line-soft);
  border-radius:18px; padding:20px; transition:.3s}
.ex-card:hover{transform:translateY(-4px); border-color:var(--gold); box-shadow:0 24px 54px rgba(0,0,0,.4)}
.ex-cover{flex:none; width:118px; aspect-ratio:1/1.414; border-radius:8px; background-size:cover; background-position:center top;
  position:relative; box-shadow:0 10px 26px rgba(0,0,0,.45), 8px 8px 0 -2px rgba(255,255,255,.04), 14px 14px 0 -4px rgba(255,255,255,.03);
  border:1px solid rgba(217,182,117,.4)}
.ex-badge{position:absolute; left:50%; bottom:8px; transform:translateX(-50%); white-space:nowrap;
  font:700 8.5px/1 var(--sans); letter-spacing:.06em; color:#1a1304;
  background:linear-gradient(135deg,var(--gold-2),var(--gold-deep)); padding:4px 9px; border-radius:20px}
.ex-meta .ex-t{font-family:var(--serif); font-size:21px; color:var(--ink); margin-bottom:6px}
.ex-meta .ex-d{color:var(--muted); font-size:13.5px; line-height:1.5; margin-bottom:12px}
.ex-open{font:700 13px/1 var(--sans); color:var(--gold-2)}
.ex-card:hover .ex-open{color:var(--gold)}
@media(max-width:760px){.examples{grid-template-columns:1fr}}
@media(max-width:430px){.ex-card{flex-direction:column; text-align:center; align-items:center} .ex-cover{width:140px}}

/* ---------- 10 questions perk ---------- */
.qperk{display:flex; gap:26px; align-items:center; background:linear-gradient(180deg, rgba(217,182,117,.10), var(--panel-2));
  border:1px solid var(--line); border-radius:22px; padding:32px 34px}
.qperk-num{flex:none; width:84px; height:84px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font:800 38px/1 var(--sans); color:#1a1304; background:linear-gradient(135deg,var(--gold-2),var(--gold-deep));
  box-shadow:0 12px 30px rgba(217,182,117,.4)}
.qperk-body h2{margin:2px 0 8px}
.qperk-body p{color:var(--muted); margin:0; font-size:15px; line-height:1.6}
@media(max-width:620px){.qperk{flex-direction:column; text-align:center; padding:26px 22px} .qperk-num{width:70px;height:70px;font-size:32px}}

/* ---------- 990 band ---------- */
.oneq-band{padding:18px 0}
.oneq-band .oneq-inner{display:flex; gap:34px; align-items:center; justify-content:space-between; flex-wrap:wrap;
  background:linear-gradient(135deg,#f0e2bd,#e6cf93); border:1px solid var(--gold); border-radius:24px; padding:36px 40px;
  box-shadow:0 26px 64px rgba(217,182,117,.22)}
.oneq-left{flex:1; min-width:280px}
.oneq-right{display:flex; flex-direction:column; align-items:flex-start; gap:10px}
.oneq-btn{background:#13183a; color:#f3e9cf; padding:16px 30px; font-size:15px; border:1px solid #13183a}
.oneq-btn:hover{background:#1d2350; transform:translateY(-2px)}
.oneq-note{font:600 12.5px/1.4 var(--sans); color:#5a4818}
@media(max-width:680px){.oneq-band .oneq-inner{padding:28px 24px} .oneq-right{align-items:stretch; width:100%} .oneq-btn{justify-content:center}}

/* ---------- 990 form ---------- */
.oneq-modal{width:min(640px,95vw)}
.oneq-sub{color:var(--muted); font-size:14px; margin-bottom:20px}
.oneq-form .fld{display:flex; flex-direction:column; gap:6px; margin-bottom:15px}
.oneq-form .fld-row{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.oneq-form label{font:600 12.5px/1 var(--sans); color:var(--gold-2); letter-spacing:.02em}
.oneq-form input, .oneq-form textarea{font:400 14.5px/1.4 var(--sans); color:var(--ink); background:rgba(255,255,255,.04);
  border:1px solid var(--line-soft); border-radius:11px; padding:12px 14px; outline:none; transition:.2s; width:100%}
.oneq-form input:focus, .oneq-form textarea:focus{border-color:var(--gold); background:rgba(217,182,117,.06)}
.oneq-form textarea{resize:vertical; min-height:70px; font-family:var(--sans)}
.oneq-submit{width:100%; justify-content:center; margin-top:6px; padding:14px}
.oneq-err{color:#e2a0a0; font-size:13px; min-height:0; margin-bottom:4px}
.oneq-fine{color:var(--faint); font-size:11.5px; line-height:1.5; margin-top:12px; text-align:center}
.oneq-done{text-align:center; padding:14px 0}
.oneq-done-ic{width:64px; height:64px; border-radius:50%; margin:0 auto 18px; display:flex; align-items:center; justify-content:center;
  font-size:32px; color:#1a1304; background:linear-gradient(135deg,var(--gold-2),var(--gold-deep))}
.oneq-done p{color:var(--muted); max-width:430px; margin:0 auto 22px}
@media(max-width:480px){.oneq-form .fld-row{grid-template-columns:1fr}}

/* ---------- package modal perk ---------- */
.m-perk{background:linear-gradient(180deg, rgba(217,182,117,.12), rgba(217,182,117,.04)); border:1px solid var(--gold);
  border-radius:16px; padding:18px 20px; margin-top:18px}
.m-perk p{margin:0; color:var(--ink); font-size:14.5px; line-height:1.55}

/* ---------- modal: what you'll learn (question list) ---------- */
.m-learn{background:linear-gradient(180deg, rgba(217,182,117,.15), rgba(217,182,117,.05)); border:1px solid var(--gold); border-radius:16px; padding:20px 24px; margin-bottom:26px}
.m-learn-t{font:700 12px/1.3 var(--sans); letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin-bottom:14px}
.m-learn-list{list-style:none; padding:0; margin:0; display:grid; gap:11px}
.m-learn-list li{display:flex; gap:12px; color:var(--ink); font-size:15px; line-height:1.5}
.m-learn-list li::before{content:"✦"; color:var(--gold); flex:none; margin-top:2px; font-size:12px}

/* ---------- three steps ---------- */
.steps3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:54px; position:relative}
.steps3::before{content:""; position:absolute; top:48px; left:16.66%; right:16.66%; height:2px; z-index:0;
  background:repeating-linear-gradient(90deg, var(--gold-deep) 0 7px, transparent 7px 17px); opacity:.5}
.steps3 .step{position:relative; z-index:1; text-align:center; padding:0 8px}
.steps3 .step-medal{width:96px; height:96px; margin:0 auto 22px; border-radius:50%; position:relative;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(180deg, rgba(28,35,78,.98), rgba(12,17,48,.98));
  border:1px solid var(--gold);
  box-shadow:0 16px 40px rgba(217,182,117,.2), inset 0 0 24px rgba(217,182,117,.1)}
.steps3 .step-num{font-family:var(--serif); font-size:42px; font-weight:700; color:var(--gold-2); line-height:1}
.steps3 .step-glyph{position:absolute; top:-15px; left:50%; transform:translateX(-50%); font-size:18px; color:var(--gold);
  width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--bg-1); border:1px solid var(--line); box-shadow:0 6px 16px rgba(0,0,0,.45)}
.steps3 .step h3{font-size:21px; margin-bottom:10px}
.steps3 .step p{color:var(--muted); font-size:14.5px; margin:0 auto; max-width:300px}
@media(max-width:760px){
  .steps3{grid-template-columns:1fr; gap:18px; max-width:440px; margin:36px auto 0}
  .steps3::before{display:none}
  .steps3 .step{display:grid; grid-template-columns:84px 1fr; gap:20px; text-align:left; align-items:center; padding:0}
  .steps3 .step-medal{width:84px; height:84px; margin:0}
  .steps3 .step-num{font-size:36px}
  .steps3 .step h3{margin-bottom:5px; font-size:19px}
  .steps3 .step p{margin:0; max-width:none}
}

/* ---------- light "Подробнее" modal (бежевый фон для длинного текста) ---------- */
.modal.modal-light{background:linear-gradient(180deg,#faf6ec,#f1e7d2); border-color:#e0d0a6;
  box-shadow:0 40px 110px rgba(0,0,0,.55)}
.modal-light .modal-close{background:rgba(20,16,8,.06); border-color:rgba(20,16,8,.14); color:#5a4a28; backdrop-filter:none}
.modal-light .modal-close:hover{color:#1a1304; background:linear-gradient(135deg,var(--gold-2),var(--gold-deep)); border-color:transparent}
.modal-light .eyebrow{color:#8a6818}
.modal-light h3{color:#17213f}
.modal-light p{color:#454049}
.modal-light li{color:#33313a}
.modal-light li::before{color:var(--gold-deep)}
.modal-light .m-lead{color:#1a2350}
.modal-light .m-h{color:#8a6818}
.modal-light .m-check li{color:#33313a}
.modal-light .m-check li::before{color:var(--gold-deep)}
.modal-light .m-box{background:#f4ead2; border-color:#e6d6ac}
.modal-light .m-box-t{color:#8a6818}
.modal-light .m-box p{color:#5b564d}
.modal-light .m-perk{background:linear-gradient(180deg,#f8efd6,#f3e6c6); border-color:var(--gold-deep)}
.modal-light .m-perk p{color:#3f3a30}
.modal-light .m-learn{background:linear-gradient(180deg,#f8efd6,#f3e6c6); border-color:var(--gold-deep)}
.modal-light .m-learn-t{color:#8a6818}
.modal-light .m-learn-list li{color:#33313a}
.modal-light .m-learn-list li::before{color:var(--gold-deep)}
.modal-light .deliver-card{background:#f4ead2; border-color:#e6d6ac}
.modal-light .deliver-card:hover{border-color:var(--gold-deep); background:#f0e3c2}
.modal-light .deliver-card .dc-t{color:#17213f}
.modal-light .deliver-card .dc-d{color:#6a6358}
.modal-light .deliver-card .dc-open{color:#8a6818}
.modal-light .rev{background:#f4ead6; border-color:#e8dab4}
.modal-light .rev-name{color:#8a6818}
.modal-light .rev-text{color:#3f3a32}
.modal-light .rev-more{color:var(--gold-deep)}
/* чередование фона отзывов: чётные — на тёмно-синем */
.modal-light .rev:nth-child(even){background:linear-gradient(180deg,#1c2350,#141a40); border-color:#333a66}
.modal-light .rev:nth-child(even) .rev-name{color:var(--gold-2)}
.modal-light .rev:nth-child(even) .rev-text{color:#dee1f0}
.modal-light .rev:nth-child(even) .rev-more{color:var(--gold-2)}
.modal-light .modal-foot{background:#f3e9d2; border-top-color:#e6d6ac; gap:24px;
  box-shadow:0 -10px 26px rgba(60,45,10,.07)}
.modal-light .modal-price{color:#8a6818; font-size:30px}
.modal-light .modal-note{color:#7a7060}
/* крупная тёмно-синяя кнопка заказа с золотым переливом */
.modal-light .modal-foot .btn-gold{position:relative; overflow:hidden; font-weight:800;
  background:linear-gradient(135deg,#1e2558,#10153a); color:var(--gold-2);
  border:1px solid var(--gold-deep); padding:18px 48px; font-size:16px; border-radius:40px;
  box-shadow:0 14px 32px rgba(16,21,58,.42)}
.modal-light .modal-foot .btn-gold:hover{background:linear-gradient(135deg,#272f72,#161c48); color:var(--gold-2);
  box-shadow:0 18px 42px rgba(16,21,58,.52); transform:translateY(-2px)}
.modal-light .modal-foot .btn-gold .arr{color:var(--gold); position:relative}
.modal-light .modal-foot .btn-gold::after{content:""; position:absolute; top:0; left:-75%; width:55%; height:100%;
  background:linear-gradient(100deg, transparent, rgba(240,215,160,.5) 50%, transparent); transform:skewX(-18deg);
  animation:btnSheen 3.6s ease-in-out infinite; pointer-events:none}
@keyframes btnSheen{0%,8%{left:-75%} 48%,100%{left:155%}}
@media(prefers-reduced-motion:reduce){.modal-light .modal-foot .btn-gold::after{display:none}}
/* askq-поп-ап на светлом */
.modal-light .askq-lead{color:#1a2350}
.modal-light .askq-plate{background:linear-gradient(180deg,#1c2350,#141a40); border:1px solid #333a66;
  border-radius:16px; padding:20px 24px; margin:2px 0 18px}
.modal-light .askq-plate p{color:#dee1f0; margin:0}
.modal-light .askq-plate b{color:var(--gold-2)}
.modal-light .askq-price b{color:#8a6818}
.modal-light .askq-price span{color:#6a6358}
.modal-light .askq-ex{background:#f4ead2; border-color:#e6d6ac}
.modal-light .askq-ex:hover{border-color:var(--gold-deep); background:#f0e3c2}
.modal-light .aqx-tag{color:#8a6818}
.modal-light .aqx-q{color:#17213f}
.modal-light .aqx-open{color:#8a6818}

/* ---------- home services teaser ---------- */
.teaser-foot{margin-top:38px; text-align:center}

/* ---------- modal: what you'll receive (2 PDFs) ---------- */
.m-deliver{margin-top:30px}
.deliver-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:14px 0 0}
.deliver-card{display:flex; gap:20px; align-items:center; background:rgba(217,182,117,.06);
  border:1px solid var(--line-soft); border-radius:16px; padding:20px; transition:.25s}
.deliver-card:hover{border-color:var(--gold); background:rgba(217,182,117,.10); transform:translateY(-3px)}
.deliver-card .dc-cover{flex:none; display:block; width:138px; aspect-ratio:1/1.414; border-radius:9px;
  background-size:cover; background-position:center top; position:relative;
  border:1px solid rgba(217,182,117,.45); box-shadow:0 14px 32px rgba(0,0,0,.5), 7px 7px 0 -2px rgba(255,255,255,.04)}
.deliver-card .dc-badge2{position:absolute; left:50%; bottom:9px; transform:translateX(-50%); white-space:nowrap;
  font:700 8.5px/1 var(--sans); letter-spacing:.05em; color:#1a1304;
  background:linear-gradient(135deg,var(--gold-2),var(--gold-deep)); padding:4px 10px; border-radius:18px}
.deliver-card .dc-body{display:flex; flex-direction:column; min-width:0}
.deliver-card .dc-t{font-family:var(--serif); font-size:19px; line-height:1.2; color:var(--ink); margin-bottom:7px}
.deliver-card .dc-d{font-size:13px; line-height:1.5; color:var(--muted); margin-bottom:12px}
.deliver-card .dc-open{font:700 12.5px/1 var(--sans); color:var(--gold-2)}
.deliver-card:hover .dc-open{color:var(--gold)}
@media(max-width:760px){.deliver-grid{grid-template-columns:1fr}}
@media(max-width:460px){.deliver-card{flex-direction:column; text-align:center; align-items:center} .deliver-card .dc-cover{width:150px}}

/* ---------- ask-question explainer modal ---------- */
.askq-modal{width:min(720px,95vw)}
.askq-lead{font-family:var(--serif); font-size:clamp(18px,2.1vw,23px); color:var(--gold-2); line-height:1.4; margin:0 0 18px}
.askq-ex-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px}
.askq-ex{display:flex; flex-direction:column; align-items:center; text-align:center; gap:13px;
  background:rgba(217,182,117,.05); border:1px solid var(--line-soft); border-radius:16px; padding:22px 20px; transition:.25s}
.askq-ex:hover{border-color:var(--gold); background:rgba(217,182,117,.10); transform:translateY(-3px)}
.aqx-tag{font:700 10.5px/1.3 var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--gold)}
.aqx-q{font-family:var(--serif); font-size:18px; line-height:1.32; color:var(--gold-2)}
.aqx-cover{width:150px; aspect-ratio:1/1.414; margin-top:2px; border-radius:9px; background-size:cover; background-position:center top;
  border:1px solid rgba(217,182,117,.4); box-shadow:0 14px 30px rgba(0,0,0,.5); position:relative}
.aqx-badge{position:absolute; left:50%; bottom:9px; transform:translateX(-50%); white-space:nowrap;
  font:700 8.5px/1 var(--sans); letter-spacing:.05em; color:#1a1304;
  background:linear-gradient(135deg,var(--gold-2),var(--gold-deep)); padding:4px 10px; border-radius:20px}
.aqx-open{font:700 12.5px/1 var(--sans); color:var(--gold-2); margin-top:2px}
.askq-ex:hover .aqx-open{color:var(--gold)}
.aqx-open .arr{transition:.25s} .askq-ex:hover .aqx-open .arr{transform:translateX(3px)}
@media(max-width:560px){.askq-ex-grid{grid-template-columns:1fr}}
.askq-price{display:flex; align-items:baseline; gap:10px; margin:24px 0 4px}
.askq-price b{font:800 30px/1 var(--sans); color:var(--gold-2)}
.askq-price span{color:var(--muted); font-size:13.5px}
