/* Landing-specific layout on top of shared site.css tokens */
  .lp-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; padding: 16px 32px; background: rgba(8,6,16,0.7); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-bottom: 0.5px solid rgba(255,255,255,0.08); }
  .lp-nav .logo { font-family: var(--display); font-weight: 700; font-size: 21px; color: #fff; text-decoration: none; letter-spacing: -0.02em; display: flex; align-items: baseline; gap: 8px; }
  .lp-nav .logo span { font-family: var(--mono); font-size: 10px; letter-spacing: 0.18em; color: var(--gold); text-transform: uppercase; }
  .lp-nav .nav-r { display: flex; align-items: center; gap: 20px; }
  .lp-nav .back { color: rgba(255,255,255,0.6); text-decoration: none; font-size: 14px; }
  .lp-nav .back:hover { color: #fff; }
  .lp-nav .ph { color: #fff; text-decoration: none; font-size: 15px; font-weight: 600; white-space: nowrap; }
  @media (max-width: 620px){ .lp-nav .back { display:none; } .lp-nav { padding: 14px 18px; } }

  .lp-hero { position: relative; min-height: 100vh; display: flex; align-items: flex-end; overflow: hidden; background: #0a0814; }
  .lp-hero video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.55; }
  .lp-hero .scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,8,20,0.55) 0%, rgba(10,8,20,0.2) 35%, rgba(10,8,20,0.92) 92%); }
  .lp-hero .inner { position: relative; max-width: 1340px; width: 100%; margin: 0 auto; padding: 0 32px 72px; }
  .lp-eyebrow { font-family: var(--mono); font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); display: flex; align-items: center; gap: 14px; margin-bottom: 26px; }
  .lp-eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--gold); }
  .lp-hero h1 { font-family: var(--display); font-weight: 600; font-size: clamp(38px, 6.4vw, 88px); line-height: 0.98; letter-spacing: -0.035em; color: #fff; margin: 0; max-width: 16ch; overflow-wrap: break-word; hyphens: auto; text-wrap: balance; }
  .lp-hero h1 em { font-style: normal; color: var(--gold); }
  .lp-hero p.sub { color: rgba(255,255,255,0.72); font-size: clamp(16px,1.8vw,20px); line-height: 1.55; max-width: 56ch; margin: 28px 0 36px; text-wrap: pretty; }
  .lp-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
  .lp-btn { background: linear-gradient(180deg, var(--gold), oklch(0.74 0.16 75)); color: #1a1206; border: none; border-radius: 100px; padding: 17px 30px; font-family: var(--body); font-weight: 700; font-size: 16px; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; gap: 10px; }
  .lp-btn.ghost { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.2); }
  .lp-trust { display: flex; flex-wrap: wrap; gap: 28px 48px; margin-top: 56px; padding-top: 32px; border-top: 0.5px solid rgba(255,255,255,0.12); }
  .lp-trust .it .n { font-family: var(--display); font-size: 38px; font-weight: 600; color: #fff; line-height: 1; letter-spacing: -0.02em; }
  .lp-trust .it .l { color: rgba(255,255,255,0.6); font-size: 13px; margin-top: 7px; max-width: 18ch; }

  .lp-sec { padding: 110px 0; background: #0a0814; }
  .lp-sec.alt { background: #07060f; }
  .lp-wrap { max-width: 1340px; margin: 0 auto; padding: 0 32px; }
  .lp-tag { font-family: var(--mono); font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 16px; }
  .lp-h2 { font-family: var(--display); font-weight: 600; font-size: clamp(28px,3.6vw,48px); letter-spacing: -0.03em; line-height: 1.05; color: #fff; margin: 0 0 18px; max-width: 20ch; }
  .lp-h2 em { font-style: normal; color: var(--gold); }
  .lp-lead { color: rgba(255,255,255,0.62); font-size: 16.5px; line-height: 1.6; max-width: 64ch; }

  .prog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 52px; }
  .prog { position: relative; border-radius: 18px; overflow: hidden; border: 0.5px solid rgba(255,255,255,0.1); aspect-ratio: 4/5; display: flex; align-items: flex-end; }
  .prog img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
  .prog:hover img { transform: scale(1.05); }
  .prog .grad { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(7,6,15,0.92) 100%); }
  .prog .body { position: relative; padding: 24px; }
  .prog .body h3 { font-family: var(--display); font-size: 22px; font-weight: 600; color: #fff; margin: 0 0 6px; letter-spacing: -0.01em; }
  .prog .body .pr { font-family: var(--mono); font-size: 13px; color: var(--gold); }
  .prog .body .d { color: rgba(255,255,255,0.66); font-size: 13.5px; line-height: 1.45; margin: 8px 0 0; }
  @media (max-width: 880px){ .prog-grid { grid-template-columns: repeat(2,1fr); } }
  @media (max-width: 560px){ .prog-grid { grid-template-columns: 1fr; } }

  .steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; margin-top: 52px; position: relative; }
  .steps .ln { position: absolute; top: 27px; left: 12.5%; right: 12.5%; height: 1px; background: rgba(255,255,255,0.12); }
  .step { position: relative; }
  .step .c { width: 54px; height: 54px; border-radius: 50%; background: #0a0814; border: 0.5px solid var(--gold); color: var(--gold); display: flex; align-items: center; justify-content: center; font-family: var(--mono); font-size: 14px; margin-bottom: 20px; }
  .step h3 { font-family: var(--display); font-size: 20px; font-weight: 600; color: #fff; margin: 0 0 8px; letter-spacing: -0.01em; }
  .step p { color: rgba(255,255,255,0.62); font-size: 14px; line-height: 1.5; margin: 0; }
  @media (max-width: 760px){ .steps { grid-template-columns: 1fr 1fr; } .steps .ln { display:none; } }

  .lp-split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
  @media (max-width: 880px){ .lp-split { grid-template-columns: 1fr; gap: 36px; } }
  .lp-split .ph-wrap { border-radius: 20px; overflow: hidden; border: 0.5px solid rgba(255,255,255,0.1); aspect-ratio: 5/4; }
  .lp-split .ph-wrap img { width: 100%; height: 100%; object-fit: cover; }
  .why-list { list-style: none; padding: 0; margin: 28px 0 0; display: flex; flex-direction: column; gap: 18px; }
  .why-list li { display: flex; gap: 14px; align-items: flex-start; }
  .why-list li b { color: #fff; font-weight: 600; display: block; margin-bottom: 3px; font-size: 16px; }
  .why-list li span { color: rgba(255,255,255,0.62); font-size: 14.5px; line-height: 1.5; }
  .why-list li .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); margin-top: 7px; flex-shrink: 0; }

  /* FAQ */
  .lp-faq .q { border-top: 0.5px solid rgba(255,255,255,0.1); }
  .lp-faq .q:last-child { border-bottom: 0.5px solid rgba(255,255,255,0.1); }
  .lp-faq button { width: 100%; background: none; border: none; padding: 22px 0; display: flex; justify-content: space-between; gap: 24px; align-items: center; cursor: pointer; text-align: left; }
  .lp-faq button .t { font-size: 17px; font-weight: 500; color: #fff; line-height: 1.3; }
  .lp-faq button .p { width: 30px; height: 30px; border-radius: 50%; border: 0.5px solid rgba(255,255,255,0.18); color: var(--gold); display: flex; align-items: center; justify-content: center; font-family: var(--mono); flex-shrink: 0; transition: transform 0.2s; }
  .lp-faq .q.open button .p { transform: rotate(45deg); }
  .lp-faq .a { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
  .lp-faq .a p { color: rgba(255,255,255,0.62); font-size: 15px; line-height: 1.6; margin: 0; padding: 0 56px 24px 0; }

  /* Form */
  .lp-form-sec { background: linear-gradient(180deg, #07060f, #100a1e); padding: 110px 0; }
  .lp-form-card { max-width: 720px; margin: 0 auto; background: rgba(255,255,255,0.03); border: 0.5px solid rgba(255,255,255,0.12); border-radius: 24px; padding: 48px; }
  @media (max-width: 560px){ .lp-form-card { padding: 32px 22px; } .lp-sec { padding: 80px 0; } .lp-form-sec { padding: 80px 0; } }
  .lp-form-card h2 { font-family: var(--display); font-weight: 600; font-size: clamp(26px,3.2vw,40px); letter-spacing: -0.03em; color: #fff; margin: 0 0 12px; line-height: 1.05; }
  .lp-form-card .sub { color: rgba(255,255,255,0.6); font-size: 15.5px; line-height: 1.55; margin: 0 0 32px; }
  .lp-field { margin-bottom: 18px; }
  .lp-field label { display: block; font-family: var(--mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255,255,255,0.5); margin-bottom: 8px; }
  .lp-input, .lp-select { width: 100%; box-sizing: border-box; background: rgba(0,0,0,0.4); border: 0.5px solid rgba(255,255,255,0.16); border-radius: 12px; padding: 14px 16px; font-size: 15px; font-family: var(--body); color: #fff; outline: none; }
  .lp-input::placeholder { color: rgba(255,255,255,0.35); }
  .lp-input:focus, .lp-select:focus { border-color: var(--gold); }
  .lp-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  @media (max-width: 480px){ .lp-row { grid-template-columns: 1fr; } }
  .lp-consent { display: flex; gap: 10px; align-items: flex-start; margin: 22px 0 26px; }
  .lp-consent input { margin-top: 3px; width: 16px; height: 16px; accent-color: var(--gold); flex-shrink: 0; }
  .lp-consent span { color: rgba(255,255,255,0.55); font-size: 12.5px; line-height: 1.5; }
  .lp-consent a { color: var(--gold); text-decoration: none; }
  .lp-submit { width: 100%; background: linear-gradient(180deg, var(--gold), oklch(0.74 0.16 75)); color: #1a1206; border: none; border-radius: 100px; padding: 17px; font-family: var(--body); font-weight: 700; font-size: 16px; cursor: pointer; }
  .lp-submit:disabled { opacity: 0.5; cursor: not-allowed; }
  .lp-success { text-align: center; padding: 20px 0; }
  .lp-success .ck { width: 64px; height: 64px; border-radius: 50%; background: var(--gold); color: #1a1206; display: flex; align-items: center; justify-content: center; font-size: 28px; margin: 0 auto 24px; }
  .lp-success h2 { color: #fff; }
  .lp-success p { color: rgba(255,255,255,0.6); font-size: 16px; line-height: 1.55; }
  .lp-success .links { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 28px; }
  .lp-success .links a { padding: 13px 20px; border-radius: 100px; background: rgba(255,255,255,0.06); border: 0.5px solid rgba(255,255,255,0.16); color: #fff; text-decoration: none; font-size: 14px; }

  .lp-foot { background: #07060f; padding: 56px 0 40px; border-top: 0.5px solid rgba(255,255,255,0.08); }
  .lp-foot .row { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 20px; align-items: center; }
  .lp-foot a { color: #fff; text-decoration: none; font-size: 14px; }
  .lp-foot .muted { color: rgba(255,255,255,0.45); font-family: var(--mono); font-size: 12px; }

  /* legal modal */
  .lp-modal { position: fixed; inset: 0; z-index: 120; background: rgba(0,0,0,0.78); backdrop-filter: blur(8px); display: none; align-items: center; justify-content: center; padding: 24px; }
  .lp-modal.on { display: flex; }
  .lp-modal .box { background: linear-gradient(180deg,#14101f,#0a0814); border: 0.5px solid rgba(255,255,255,0.12); border-radius: 20px; max-width: 640px; max-height: 86vh; overflow-y: auto; padding: 36px; }
  .lp-modal h3 { font-family: var(--display); color: #fff; margin: 0 0 18px; font-size: 24px; }
  .lp-modal h4 { color: #fff; font-size: 15px; margin: 18px 0 6px; }
  .lp-modal p { color: rgba(255,255,255,0.62); font-size: 14px; line-height: 1.6; margin: 0; }
  .lp-modal .x { float: right; background: none; border: none; color: rgba(255,255,255,0.5); font-size: 24px; cursor: pointer; }

/* ═══ Static hero (pages without video) ═══ */
.lp-hero.static { min-height: 72vh; background: radial-gradient(ellipse 80% 60% at 50% -10%, #1c1536 0%, #0a0814 60%); }
.lp-hero.static::after { content:""; position:absolute; inset:0; background: radial-gradient(circle at 75% 15%, color-mix(in oklch, var(--gold) 10%, transparent), transparent 50%); pointer-events:none; }

/* ═══ Photo placeholders ═══ */
.ph-ph { position:relative; border-radius:18px; overflow:hidden; border:0.5px solid rgba(255,255,255,0.12); aspect-ratio:4/5; background: repeating-linear-gradient(135deg, rgba(255,255,255,0.05) 0 1px, transparent 1px 16px), #0e0b1c; display:flex; align-items:center; justify-content:center; padding:20px; }
.ph-ph span { font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.55); border:0.5px solid rgba(255,255,255,0.18); padding:8px 14px; border-radius:6px; background:rgba(0,0,0,0.45); text-align:center; line-height:1.5; }
.ph-wrap.ph-ph { aspect-ratio:5/4; }


/* ═══ Reviews on landing pages ═══ */
.lp-rev-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:36px; }
.lp-rev { background:rgba(255,255,255,0.03); border:0.5px solid rgba(255,255,255,0.12); border-radius:18px; padding:28px; display:flex; flex-direction:column; gap:18px; }
.lp-rev .top { font-family:var(--mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); display:flex; justify-content:space-between; }
.lp-rev blockquote { margin:0; color:#fff; font-size:15.5px; line-height:1.55; }
.lp-rev figcaption { padding-top:18px; border-top:0.5px solid rgba(255,255,255,0.1); }
.lp-rev .nm { color:#fff; font-size:14px; font-weight:600; }
.lp-rev .rl { color:rgba(255,255,255,0.55); font-size:12.5px; margin-top:3px; }
@media (max-width:860px){ .lp-rev-grid { grid-template-columns:1fr; } }

/* ═══ Photo hero (pages without video) ═══ */
.lp-hero.has-photo { min-height: 86vh; }
.lp-hero .hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
/* Particle FX layer over hero */
.lp-hero .hero-fx { position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:2; }
.lp-hero .scrim { z-index:1; }
.lp-hero .inner { position:relative; z-index:3; }
/* Particle FX on dark form section */
.lp-form-sec { position:relative; overflow:hidden; }
.lp-form-sec .sec-fx { position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:0; opacity:0.85; }
.lp-form-sec .lp-wrap { position:relative; z-index:1; }
/* Particle FX on intro section under hero */
.lp-sec.has-fx { position:relative; overflow:hidden; }
.lp-sec.has-fx .sec-fx { position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:0; opacity:0.45; }
.lp-sec.has-fx .lp-wrap { position:relative; z-index:1; }
.lp-hero.has-photo .scrim { background:
  linear-gradient(180deg, rgba(10,8,20,0.45) 0%, rgba(10,8,20,0.3) 30%, rgba(10,8,20,0.92) 92%),
  linear-gradient(90deg, rgba(10,8,20,0.82) 0%, rgba(10,8,20,0.45) 50%, rgba(10,8,20,0.1) 100%); }
@media (max-width:720px){ .lp-hero.has-photo .scrim { background:
  linear-gradient(180deg, rgba(10,8,20,0.5) 0%, rgba(10,8,20,0.4) 25%, rgba(10,8,20,0.94) 88%); } }
@media (max-width:1024px){
  .lp-hero { align-items: flex-start; }
  .lp-hero .inner { padding-top: 100px; padding-bottom: 48px; }
}
@media (max-width:720px){
  .lp-hero h1 { font-size: clamp(34px, 9vw, 52px); }
}


/* ═══ Landing video players ═══ */
.lp-video-sec { background: var(--bg, #0a0814); padding: 80px 0 20px; }
.lp-video-row { display: flex; gap: 22px; justify-content: center; flex-wrap: wrap; margin-top: 36px; }
.lp-video-wrap { width: 320px; max-width: 100%; aspect-ratio: 9/16; border-radius: 20px; overflow: hidden; border: 0.5px solid rgba(255,255,255,0.14); background: #000; box-shadow: 0 30px 70px rgba(0,0,0,0.5); }
.lp-video-wrap video { display: block; width: 100%; height: 100%; object-fit: cover; background: #000; }
@media (max-width: 520px){ .lp-video-wrap { width: 100%; max-width: 360px; } }

.prog-grid.galereya-wide{grid-template-columns:repeat(2,1fr);max-width:1000px;margin-left:auto;margin-right:auto;}
.prog-grid.galereya-wide .prog{aspect-ratio:3/2;}
@media(max-width:560px){.prog-grid.galereya-wide{grid-template-columns:1fr;}}

/* ═══ Visible breadcrumbs ═══ */
.lp-crumbs{max-width:1180px;margin:0 auto;padding:18px 32px 0;}
.lp-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;font-family:var(--mono,monospace);font-size:12px;letter-spacing:.04em;}
.lp-crumbs li{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,0.5);}
.lp-crumbs li::after{content:"/";color:rgba(255,255,255,0.25);}
.lp-crumbs li:last-child::after{content:"";}
.lp-crumbs a{color:rgba(255,255,255,0.62);text-decoration:none;}
.lp-crumbs a:hover{color:var(--gold,#c79a3a);}
.lp-crumbs li[aria-current]{color:var(--gold,#c79a3a);}
@media(max-width:560px){.lp-crumbs{padding:14px 20px 0;}}

/* ═══ Scenario page program cards ═══ */
.scn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px;}
@media(max-width:820px){.scn-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.scn-grid{grid-template-columns:1fr;}}
.scn-card{display:flex;flex-direction:column;gap:8px;border:0.5px solid rgba(255,255,255,0.12);border-radius:16px;padding:24px;background:rgba(255,255,255,0.02);text-decoration:none;color:#fff;transition:transform .2s,border-color .2s;}
.scn-card:hover{transform:translateY(-4px);border-color:var(--gold,#c79a3a);}
.scn-card .nm{font-family:var(--display,sans-serif);font-size:19px;font-weight:600;letter-spacing:-.01em;}
.scn-card .pr{font-family:var(--mono,monospace);font-size:12.5px;color:var(--gold,#c79a3a);}
.scn-card .ds{color:rgba(255,255,255,0.62);font-size:14px;line-height:1.5;margin-top:2px;}
.scn-card .go{margin-top:auto;padding-top:10px;color:rgba(255,255,255,0.5);font-size:13px;}
.scn-thumb{aspect-ratio:16/10;border-radius:12px;overflow:hidden;margin-bottom:6px;background:#0e0b1c;}
.scn-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.scn-card:hover .scn-thumb img{transform:scale(1.05);}

/* Modal/success non-heading titles (SEO: keep headings out of hidden modals) */
.lp-success .modal-title { font-family: var(--display); font-size: 28px; font-weight: 600; color: #fff; margin: 14px 0 10px; letter-spacing: -0.01em; }
.lp-modal .modal-title { font-family: var(--display); font-size: 22px; font-weight: 600; color: #fff; margin: 0 0 12px; }
.lp-modal .modal-title--sm { font-size: 22px; }
.lp-modal .modal-sub { font-weight: 700; color: #fff; font-size: 14.5px; margin: 16px 0 6px; }


/* Production landing additions, 2026-06-16 */
.price-explain .lp-lead{max-width:860px;}
