:root{
      --bg:#070503;
      --bg2:#120905;
      --text:#fff7ed;
      --muted:#d7c7b5;
      --gold:#f4a259;
      --gold2:#ff7b00;
      --line:rgba(255,255,255,.14);
      --warm-line:rgba(244,162,89,.28);
      --panel:rgba(14,8,4,.82);
      --panel2:rgba(22,12,6,.90);
      --max:1160px;
      --radius:20px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Roboto, Arial, sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 50% -10%, rgba(244,162,89,.18), transparent 38%),
        linear-gradient(180deg,#050302,#070503 40%,#020101);
      overflow-x:hidden;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background:
        radial-gradient(circle at 80% 12%, rgba(255,123,0,.10), transparent 32%),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,.018) 1px, transparent 1px);
      background-size:auto, 68px 68px, 68px 68px;
      opacity:.5;
      z-index:-3;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,a{-webkit-tap-highlight-color:transparent}
    .container{width:min(var(--max),100%);margin:0 auto;padding:0 18px}

    .icon{
      width:26px;
      height:26px;
      object-fit:contain;
      flex:0 0 auto;
      filter:drop-shadow(0 0 8px rgba(244,162,89,.20));
    }
    .icon.big{width:42px;height:42px}
    .icon.small{width:20px;height:20px}
    .btn:not(.secondary) .icon{
      filter:brightness(0) saturate(100%) opacity(.95);
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:50px;
      border-radius:999px;
      padding:13px 22px;
      font-weight:900;
      background:linear-gradient(180deg,var(--gold),var(--gold2));
      color:#160803;
      border:1px solid rgba(255,224,180,.76);
      box-shadow:0 0 26px rgba(244,162,89,.34), inset 0 1px 0 rgba(255,255,255,.28);
      white-space:nowrap;
      cursor:pointer;
      transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
    }
    .btn:hover{transform:translateY(-2px);filter:saturate(1.05);box-shadow:0 0 36px rgba(255,123,0,.46)}
    .btn.secondary{
      background:rgba(0,0,0,.42);
      color:var(--text);
      border:1px solid rgba(255,255,255,.25);
      box-shadow:none;
    }
    .btn.secondary:hover{border-color:rgba(244,162,89,.72);box-shadow:0 0 22px rgba(244,162,89,.14)}

    .site-header{
      position:fixed;
      top:0;left:0;right:0;
      z-index:30;
      background:linear-gradient(180deg, rgba(0,0,0,.93), rgba(0,0,0,.50));
      backdrop-filter:blur(10px);
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .nav{
      height:62px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
    }
    .brand{
      font-family:Staatliches, sans-serif;
      letter-spacing:.08em;
      text-transform:uppercase;
      line-height:1;
      min-width:0;
    }
    .brand strong{display:block;color:var(--gold);font-size:clamp(18px,4vw,25px);white-space:nowrap}
    .brand span{display:block;font-family:Roboto,Arial,sans-serif;color:var(--muted);font-size:12px;margin-top:4px;text-transform:none;font-weight:800;letter-spacing:.04em}
    .nav-links{display:none;align-items:center;gap:20px;color:var(--muted);font-weight:900;font-size:14px}
    .nav-links a:hover{color:var(--gold)}

    .hero{
      min-height:100svh;
      position:relative;
      display:flex;
      align-items:flex-start;
      padding:78px 0 88px;
      overflow:hidden;
    }
    .hero::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.54) 42%, #070503 100%),
        url("../media/hero-family-box.jpg") center top/cover no-repeat;
      z-index:-2;
      transform:scale(1.02);
    }
    .hero::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 76% 26%, rgba(255,123,0,.30), transparent 38%),
        radial-gradient(circle at 20% 72%, rgba(244,162,89,.12), transparent 34%);
      z-index:-1;
    }
    .hero-content{max-width:740px;margin-top:7vh;animation:fadeUp .7s ease both}

    .rating{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:10px 14px;
      border:1px solid rgba(244,162,89,.5);
      background:rgba(0,0,0,.58);
      border-radius:999px;
      color:var(--text);
      font-weight:900;
      font-size:15px;
      margin-bottom:14px;
      box-shadow:0 12px 28px rgba(0,0,0,.22);
    }
    .stars{color:var(--gold);font-size:18px;letter-spacing:.08em;white-space:nowrap}
    h1{
      font-family:Staatliches, sans-serif;
      text-transform:uppercase;
      letter-spacing:.065em;
      line-height:.98;
      font-size:clamp(40px,12vw,82px);
      margin:0 0 12px;
      text-shadow:0 4px 28px rgba(0,0,0,.78);
    }
    .subhead{
      max-width:650px;
      font-size:clamp(18px,4.2vw,24px);
      line-height:1.35;
      color:var(--muted);
      margin:0 0 18px;
      font-weight:800;
      text-shadow:0 2px 18px rgba(0,0,0,.7);
    }
    .facts{
      display:grid;
      grid-template-columns:1fr;
      gap:9px;
      margin:18px 0 20px;
      max-width:680px;
    }
    .fact{
      display:flex;
      flex-direction:column;
      justify-content:center;
      align-items:center;
      text-align:center;
      gap:5px;
      padding:11px 13px;
      background:rgba(0,0,0,.58);
      border:1px solid rgba(255,255,255,.15);
      border-radius:14px;
      color:var(--muted);
      font-weight:900;
      box-shadow:0 10px 24px rgba(0,0,0,.24);
    }
    .fact-left{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--text)}
    .fact b{color:var(--text)}
    .hero-audience-line{
      max-width:680px;
      margin:0 0 18px;
      color:var(--text);
      font-weight:900;
      font-size:clamp(15px,2.7vw,18px);
      text-shadow:0 2px 14px rgba(0,0,0,.8);
    }
    .cta-row{display:flex;flex-direction:column;gap:11px;max-width:430px}
    .risk{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:14px;font-weight:900;margin-top:12px;text-shadow:0 2px 12px rgba(0,0,0,.8)}
    .risk span{display:inline-flex;align-items:center;gap:5px}

    section.content-section{padding:56px 0;background:linear-gradient(180deg,#070503,#120905)}
    section.content-section.alt{background:linear-gradient(180deg,#120905,#070503)}
    .section-title{
      font-family:Staatliches, sans-serif;
      color:var(--gold);
      letter-spacing:.08em;
      text-transform:uppercase;
      font-size:clamp(34px,7vw,52px);
      line-height:1;
      margin:0 0 10px;
      text-align:center;
    }
    .section-sub{color:var(--muted);font-weight:800;text-align:center;margin:0 auto 28px;max-width:700px;font-size:17px}

    .card-grid{display:grid;gap:14px}
    .card{
      position:relative;
      padding:18px;
      border-radius:var(--radius);
      background:
        linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.18)),
        var(--panel);
      border:1px solid var(--warm-line);
      box-shadow:0 16px 34px rgba(0,0,0,.30);
      overflow:hidden;
      transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }
    .card::before{
      content:"";
      position:absolute;
      inset:auto -20% -50% -20%;
      height:90px;
      background:radial-gradient(ellipse at center, rgba(244,162,89,.14), transparent 65%);
      pointer-events:none;
    }
    .card:hover{transform:translateY(-3px);border-color:rgba(244,162,89,.46);box-shadow:0 22px 46px rgba(0,0,0,.38)}
    .card h3{margin:10px 0 8px;font-size:18px}
    .card p{margin:0;color:var(--muted);font-weight:700;line-height:1.55}
    .card-head{display:flex;align-items:center;gap:12px}

    .review-links{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      justify-content:center;
      margin-top:18px;
    }
    .review-links a{
      border:1px solid rgba(244,162,89,.30);
      background:rgba(0,0,0,.34);
      color:var(--text);
      border-radius:999px;
      padding:10px 14px;
      font-weight:900;
    }
    .review-links a:hover{border-color:rgba(244,162,89,.70)}

    .step-num{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:12px;background:rgba(244,162,89,.16);border:1px solid rgba(244,162,89,.38);color:var(--gold);font-weight:900;margin-right:8px}

    .gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
    .gallery-item{height:160px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#120905;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.25)}
    .gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .22s ease, filter .22s ease}
    .gallery-item:hover img{transform:scale(1.04);filter:saturate(1.1) brightness(1.05)}

    .price-box{
      padding:22px;
      border-radius:24px;
      background:
        linear-gradient(180deg, rgba(244,162,89,.12), rgba(0,0,0,.36)),
        var(--panel2);
      border:1px solid rgba(244,162,89,.30);
      box-shadow:0 18px 44px rgba(0,0,0,.35);
      text-align:center;
      max-width:780px;
      margin:0 auto;
    }
    .price-main{font-family:Staatliches,sans-serif;font-size:52px;letter-spacing:.06em;color:var(--text);margin:0;line-height:1}
    .price-main span{color:var(--gold)}
    .price-box p{color:var(--muted);font-weight:800;margin:10px 0 20px}
    .price-icons{display:grid;gap:10px;margin:20px 0;text-align:left}
    .price-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(0,0,0,.30);border:1px solid rgba(255,255,255,.10);color:var(--muted);font-weight:800}

    .faq-grid{display:grid;gap:12px;max-width:880px;margin:0 auto}
    details{padding:0;border-radius:16px;background:rgba(0,0,0,.42);border:1px solid var(--line);overflow:hidden}
    summary{cursor:pointer;font-weight:900;color:var(--text);list-style:none;padding:16px 18px;display:flex;align-items:center;gap:10px}
    summary::-webkit-details-marker{display:none}
    details p{margin:0;padding:0 18px 16px 54px;color:var(--muted);font-weight:700;line-height:1.55}
    details[open]{border-color:rgba(244,162,89,.32)}

    .teaser{
      display:grid;
      gap:18px;
      align-items:center;
      background:
        linear-gradient(90deg, rgba(244,162,89,.12), rgba(255,247,237,.04)),
        rgba(14,8,4,.86);
      border:1px solid rgba(244,162,89,.30);
      border-radius:24px;
      padding:18px;
      box-shadow:0 18px 42px rgba(0,0,0,.32);
    }
    .teaser-img{border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:#150b05}
    .teaser-img img{width:100%;height:260px;object-fit:cover}
    .teaser h2{text-align:left;margin-bottom:8px}
    .teaser p{text-align:left;margin:0 0 18px;color:var(--muted);font-weight:800;line-height:1.55}

    .contact-grid{display:grid;gap:14px}
    .contact-card a{text-decoration:underline;text-underline-offset:3px}
    .map{height:280px;border-radius:18px;overflow:hidden;border:1px solid var(--line);margin-top:16px;box-shadow:0 14px 36px rgba(0,0,0,.32)}
    .map iframe{width:100%;height:100%;border:0;display:block}
    .review-platforms{
      margin-top:18px;
      padding:18px;
      border-radius:22px;
      border:1px solid rgba(244,162,89,.26);
      background:rgba(0,0,0,.34);
      text-align:center;
      box-shadow:0 14px 34px rgba(0,0,0,.24);
    }
    .platform-links{
      display:grid;
      grid-template-columns:1fr;
      gap:10px;
    }
    .platform-link{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:12px 14px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.14);
      background:rgba(255,255,255,.05);
      color:var(--text);
      font-weight:900;
      transition:transform .18s ease, border-color .18s ease, background .18s ease;
    }
    .platform-link:hover{
      transform:translateY(-2px);
      border-color:rgba(244,162,89,.55);
      background:rgba(244,162,89,.10);
    }
    .platform-link .icon{width:28px;height:28px}
.crafted-section{
      text-align:center;
      background:
        radial-gradient(circle at 50% 20%, rgba(244,162,89,.16), transparent 42%),
        linear-gradient(180deg,#120905,#070503);
    }
    .crafted-inner{
      max-width:760px;
      text-align:center;
    }
    .crafted-icons{
      display:flex;
      justify-content:center;
      gap:16px;
      margin-bottom:20px;
    }
    .crafted-icons .icon{width:42px;height:42px}
    .crafted-copy{
      color:var(--muted);
      font-weight:700;
      line-height:1.7;
      margin:0 auto 12px;
      max-width:680px;
    }
    .crafted-section .btn{margin-top:10px}

    footer{
      padding:30px 18px 96px;
      text-align:center;
      color:var(--muted);
      background:#050302;
      font-weight:700;
      font-size:13px;
      border-top:1px solid rgba(255,255,255,.08);
    }
    .footer-inner{max-width:760px;margin:0 auto}
    .footer-thanks{
      margin:0 0 10px;
      color:var(--text);
      font-weight:900;
      font-size:18px;
    }
    .footer-sub{margin:0 0 18px;color:var(--muted);font-weight:800}
    .footer-copy{margin:18px 0 0;color:rgba(215,199,181,.78)}



    .cookie-banner{
      position:fixed;
      left:14px;
      right:14px;
      bottom:14px;
      z-index:140;
      max-width:980px;
      margin:0 auto;
      padding:16px;
      border-radius:20px;
      border:1px solid rgba(244,162,89,.34);
      background:rgba(10,6,3,.94);
      color:var(--text);
      box-shadow:0 24px 70px rgba(0,0,0,.62);
      backdrop-filter:blur(12px);
    }
    .cookie-banner[hidden]{display:none}
    .cookie-inner{
      display:grid;
      gap:14px;
      align-items:center;
    }
    .cookie-title{
      margin:0 0 4px;
      font-weight:900;
      color:var(--text);
      font-size:16px;
    }
    .cookie-text{
      margin:0;
      color:var(--muted);
      font-weight:700;
      line-height:1.45;
      font-size:14px;
    }
    .cookie-actions{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      justify-content:flex-start;
    }
    .cookie-actions button,
    .cookie-save{
      border:1px solid rgba(255,255,255,.20);
      background:rgba(255,255,255,.08);
      color:var(--text);
      border-radius:999px;
      padding:10px 14px;
      font-weight:900;
      cursor:pointer;
    }
    .cookie-actions .accept,
    .cookie-save{
      background:linear-gradient(180deg,var(--gold),var(--gold2));
      color:#160803;
      border-color:rgba(255,224,180,.72);
    }
    .cookie-options{
      display:none;
      margin-top:12px;
      padding-top:12px;
      border-top:1px solid rgba(255,255,255,.12);
      text-align:left;
    }
    .cookie-options.show{display:block}
    .cookie-options label{
      display:flex;
      align-items:flex-start;
      gap:10px;
      margin:10px 0;
      color:var(--muted);
      font-weight:800;
      line-height:1.35;
    }
    .cookie-options input{margin-top:3px}
    .cookie-options small{display:block;color:rgba(215,199,181,.78);font-weight:700;margin-top:3px}

    .selector{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;padding:18px;background:linear-gradient(rgba(0,0,0,.80),rgba(0,0,0,.88)),url("../media/hero-family-box.jpg") center/cover no-repeat}
    .selector.show{display:flex}
    .selector-card{width:min(560px,100%);border-radius:24px;border:1px solid rgba(244,162,89,.34);background:rgba(12,7,4,.92);box-shadow:0 28px 80px rgba(0,0,0,.68);padding:24px;text-align:center;backdrop-filter:blur(12px)}
    .selector-card h2{font-family:Staatliches,sans-serif;letter-spacing:.08em;text-transform:uppercase;font-size:clamp(34px,8vw,44px);margin:0 0 8px;color:var(--gold)}
    .selector-card p{margin:0 0 18px;color:var(--muted);font-weight:800}
    .choice-grid{display:grid;gap:12px;margin-top:14px}
    .choice{width:100%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:var(--text);padding:15px 16px;border-radius:16px;font-weight:900;font-size:16px;cursor:pointer;text-align:left}
    .choice:hover{border-color:rgba(244,162,89,.75);background:rgba(244,162,89,.12)}
    .choice[disabled]{opacity:.45;cursor:not-allowed}
    .choice small{display:block;color:var(--muted);margin-top:4px;font-weight:700;line-height:1.35}

    .lang-reset{position:fixed;right:10px;bottom:72px;z-index:80;background:rgba(0,0,0,.72);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;cursor:pointer}
    .sticky-mobile{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 14px;background:rgba(0,0,0,.88);border-top:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);transform:translateY(120%);opacity:0;pointer-events:none;transition:transform .25s ease, opacity .25s ease}
    .sticky-mobile.visible{transform:translateY(0);opacity:1;pointer-events:auto}
    .sticky-mobile .btn{width:100%}

    .lightbox{
      position:fixed;
      inset:0;
      z-index:120;
      background:rgba(0,0,0,.94);
      display:none;
      align-items:center;
      justify-content:center;
      padding:18px;
      touch-action:none;
    }
    .lightbox.show{display:flex}
    .lightbox img{
      max-width:min(1100px,94vw);
      max-height:84vh;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.18);
      box-shadow:0 20px 70px rgba(0,0,0,.65);
      user-select:none;
      -webkit-user-drag:none;
    }
    .lightbox button{
      position:absolute;
      border:1px solid rgba(255,255,255,.24);
      background:rgba(0,0,0,.55);
      color:#fff;
      border-radius:999px;
      font-weight:900;
      cursor:pointer;
      backdrop-filter:blur(8px);
    }
    .lightbox-close{
      top:16px;
      right:16px;
      padding:10px 14px;
      font-size:14px;
    }
    .lightbox-nav{
      top:50%;
      transform:translateY(-50%);
      width:48px;
      height:48px;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:38px;
      line-height:1;
      padding:0 0 5px;
    }
    .lightbox-prev{left:14px}
    .lightbox-next{right:14px}
    .lightbox-counter{
      position:absolute;
      left:50%;
      bottom:18px;
      transform:translateX(-50%);
      color:var(--muted);
      background:rgba(0,0,0,.55);
      border:1px solid rgba(255,255,255,.18);
      border-radius:999px;
      padding:8px 12px;
      font-weight:900;
      font-size:13px;
    }



    @media(max-width:640px){
      .lightbox{padding:10px}
      .lightbox img{max-width:96vw;max-height:78vh}
      .lightbox-nav{
        width:42px;
        height:42px;
        font-size:32px;
        background:rgba(0,0,0,.42);
      }
      .lightbox-prev{left:8px}
      .lightbox-next{right:8px}
      .lightbox-close{top:10px;right:10px}
      .lightbox-counter{bottom:14px}
    }

    @keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
    .reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease, transform .55s ease}
    .reveal.visible{opacity:1;transform:none}

    @media(min-width:760px){
      .nav{height:68px}.nav-links{display:flex}
      .hero{align-items:center;padding:82px 0 78px}
      .hero::before{background:linear-gradient(90deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.58) 42%, rgba(0,0,0,.05) 100%),linear-gradient(0deg,#070503 0%,rgba(7,5,3,.06) 44%),url("../media/hero-family-box.jpg") center right/cover no-repeat}
      .hero-content{margin-top:0}
      .facts{grid-template-columns:repeat(4,1fr);gap:10px}
      .fact{min-height:86px;padding:12px 10px;font-size:13px}
      .fact-left{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
      .cta-row{flex-direction:row;max-width:none}.cta-row .btn{min-width:190px}
      .card-grid.reviews{grid-template-columns:repeat(3,1fr)}.card-grid.steps{grid-template-columns:repeat(3,1fr)}
      .card{text-align:center}
      .card-head{justify-content:center;flex-direction:column;gap:8px}
      .card-grid.steps .card-head{flex-direction:row;gap:10px}
      .card-grid.steps .card h3{margin:0}
      .step-num{margin-right:0;margin-bottom:0}
      .gallery-grid{grid-template-columns:repeat(4,1fr)}.gallery-item{height:190px}
      .price-icons{grid-template-columns:repeat(2,1fr)}
      .teaser{grid-template-columns:.9fr 1.1fr;padding:22px}.teaser-img img{height:320px}
      .contact-grid{grid-template-columns:repeat(2,1fr)}
      .sticky-mobile{display:none}footer{padding-bottom:34px}
    }
    @media(max-width:420px){
      .container{padding:0 14px}.site-header .btn{display:none}.brand strong{font-size:18px}.brand span{font-size:11px}
      .hero{padding-top:68px}.hero-content{margin-top:3vh}
      .rating{width:100%;justify-content:center;flex-wrap:wrap;border-radius:18px;text-align:center;font-size:14px}.stars{font-size:17px}h1{font-size:42px}
      .facts{gap:8px}
      .fact{flex-direction:row;justify-content:center;gap:8px;text-align:center;padding:10px 12px}
      .fact-left{flex-direction:row;gap:7px}
      .fact-left .icon{width:22px;height:22px}
      .card-grid.reviews .card .stars{text-align:center;display:block}
      .gallery-item{height:135px}.teaser-img img{height:245px}.price-main{font-size:42px}details p{padding-left:18px}
    }


    .lightbox{
      position:fixed;
      inset:0;
      z-index:360;
      display:none;
      align-items:center;
      justify-content:center;
      background:rgba(0,0,0,.88);
      padding:52px 18px;
    }
    .lightbox.show{display:flex}
    .lightbox img{
      max-width:min(100%,1100px);
      max-height:82vh;
      border-radius:16px;
      box-shadow:0 24px 90px rgba(0,0,0,.72);
    }
    .lightbox button{
      position:absolute;
      border:1px solid rgba(255,255,255,.24);
      background:rgba(0,0,0,.64);
      color:var(--text);
      border-radius:999px;
      font-weight:900;
      cursor:pointer;
      padding:10px 14px;
    }
    #lightboxClose{top:18px;right:18px}
    #lightboxPrev,#lightboxNext{
      top:50%;
      transform:translateY(-50%);
      width:44px;
      height:44px;
      padding:0;
      font-size:28px;
      line-height:1;
    }
    #lightboxPrev{left:18px}
    #lightboxNext{right:18px}
    #lightboxCounter{
      position:absolute;
      left:50%;
      bottom:18px;
      transform:translateX(-50%);
      color:var(--text);
      font-weight:900;
      background:rgba(0,0,0,.6);
      border:1px solid rgba(255,255,255,.18);
      border-radius:999px;
      padding:8px 12px;
    }
    @media(max-width:640px){
      #lightboxPrev,#lightboxNext{display:none}
      .lightbox{padding:54px 10px}
    }

/* Opening offer polish */
.hero-offer-line{
  max-width:680px;
  margin:-4px 0 10px;
  color:var(--text);
  font-weight:900;
  font-size:clamp(14px,2.5vw,17px);
  line-height:1.4;
  text-shadow:0 2px 14px rgba(0,0,0,.8);
}
.hero-offer-line span,
.offer-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:8px;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(244,162,89,.18);
  border:1px solid rgba(244,162,89,.48);
  color:var(--gold);
  font-weight:900;
  letter-spacing:.02em;
}
.price-box .offer-badge{
  margin:0 auto 12px;
  width:max-content;
}
.regular-price{
  margin:8px 0 6px!important;
  color:var(--muted)!important;
}
.regular-price s{
  color:rgba(255,247,237,.62);
  text-decoration-thickness:2px;
}
.opening-note{
  max-width:560px;
  margin:0 auto 16px!important;
  color:var(--text)!important;
  font-size:16px;
}
.price-summary{margin-top:12px!important;}
@media(max-width:520px){
  .hero-offer-line{margin-top:-2px;margin-bottom:10px;font-size:14px;}
  .hero-offer-line span{display:flex;width:max-content;margin:0 0 6px;}
  .opening-note{font-size:15px;}
}


/* Wall of Escapes: calm, manually scrollable gallery */
.escape-wall-section{padding:58px 0 64px;overflow:hidden;background:linear-gradient(180deg,#100906,#1b0f08)}
.escape-wall-section[hidden]{display:none!important}
.escape-wall-heading{margin-bottom:20px}
.escape-wall{margin:0 auto;width:min(1180px,100%);padding:4px 18px 18px}
.escape-wall-moving{display:grid;grid-template-rows:repeat(2,165px);grid-auto-flow:column;grid-auto-columns:250px;gap:12px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-inline:contain;touch-action:pan-x}
.escape-wall-moving::-webkit-scrollbar{display:none}


.escape-wall-card{appearance:none;padding:0;border-radius:18px;overflow:hidden;border:1px solid rgba(198,126,52,.55);box-shadow:0 12px 28px rgba(0,0,0,.32);background:#2a170c;cursor:pointer;scroll-snap-align:start}
.escape-wall-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease,filter .2s ease}
.escape-wall-card:hover img,.escape-wall-card:focus-visible img{transform:scale(1.025);filter:brightness(1.05)}
.escape-wall-card:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
body.escape-wall-lightbox-open{overflow:hidden}
.escape-wall-lightbox{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;padding:54px 68px;background:rgba(0,0,0,.94)}
.escape-wall-lightbox.show{display:flex}
.escape-wall-lightbox img{display:block;max-width:min(1100px,92vw);max-height:84vh;object-fit:contain;border-radius:16px;border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 80px rgba(0,0,0,.7)}
.escape-wall-lightbox-close,.escape-wall-lightbox-nav{position:absolute;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.62);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.escape-wall-lightbox-close{top:16px;right:16px;width:46px;height:46px;border-radius:999px;font-size:32px;line-height:1}
.escape-wall-lightbox-nav{top:50%;transform:translateY(-50%);width:50px;height:66px;border-radius:15px;font-size:42px}
.escape-wall-lightbox-prev{left:14px}.escape-wall-lightbox-next{right:14px}
.escape-wall-lightbox-count{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);padding:8px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.65);color:#fff;font-weight:900}
@media(max-width:520px){.escape-wall-section{padding:42px 0 48px}.escape-wall{padding:4px 14px 15px}.escape-wall-moving{grid-template-rows:repeat(2,122px);grid-auto-columns:183px;gap:9px}.escape-wall-card{border-radius:14px}.escape-wall-lightbox{padding:58px 10px 64px}.escape-wall-lightbox img{max-width:96vw;max-height:78vh}.escape-wall-lightbox-nav{top:auto;bottom:10px;transform:none;width:48px;height:46px;font-size:34px}.escape-wall-lightbox-prev{left:12px}.escape-wall-lightbox-next{right:12px}.escape-wall-lightbox-count{bottom:15px}}


/* Wall of Escapes v3: full-width, very slow, seamless two-row marquee */
.escape-wall-section{overflow:hidden}
.escape-wall{width:100vw;max-width:none;margin-left:calc(50% - 50vw);padding:4px 0 18px}
.escape-wall-marquee{display:grid;gap:12px;overflow:hidden}
.escape-wall-row{width:100%;overflow:hidden;padding:2px 0}
.escape-wall-track{display:flex;width:max-content;will-change:transform;animation:escapeWallLeft var(--wall-duration,180s) linear infinite}
.escape-wall-track-reverse{animation-name:escapeWallRight;transform:translateX(-50%)}
.escape-wall-group{display:flex;flex:none;gap:12px;padding-right:12px}
.escape-wall-card{flex:0 0 250px;height:165px}
.escape-wall-marquee:hover .escape-wall-track,.escape-wall-marquee:focus-within .escape-wall-track{animation-play-state:paused}
@keyframes escapeWallLeft{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes escapeWallRight{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.escape-wall-lightbox{inset:0;width:100vw;height:100dvh;padding:0;background:rgba(0,0,0,.97)}
.escape-wall-lightbox img{max-width:100vw;max-height:100dvh;width:auto;height:auto;border:0;border-radius:0;box-shadow:none}
@media(max-width:520px){
  .escape-wall-marquee{gap:9px}
  .escape-wall-group{gap:9px;padding-right:9px}
  .escape-wall-card{flex-basis:183px;height:122px}
  .escape-wall-lightbox{padding:0}
  .escape-wall-lightbox img{max-width:100vw;max-height:100dvh}
}
@media(prefers-reduced-motion:reduce){
  .escape-wall-track{animation-play-state:paused}
  .escape-wall-row{overflow-x:auto;scrollbar-width:none}
  .escape-wall-row::-webkit-scrollbar{display:none}
}


/* Wall of Escapes – cabin memory-board treatment */
.escape-wall-section{
  position:relative;
  background:
    linear-gradient(180deg,rgba(10,5,3,.86),rgba(14,7,4,.9)),
    repeating-linear-gradient(90deg,#3c1f10 0,#3c1f10 92px,#2a140a 93px,#4a2815 95px,#32190d 188px);
  border-top:1px solid rgba(213,160,82,.18);
  border-bottom:1px solid rgba(213,160,82,.16);
  box-shadow:inset 0 18px 40px rgba(0,0,0,.38),inset 0 -18px 40px rgba(0,0,0,.42)
}
.escape-wall-section::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.25;
  background:
    repeating-linear-gradient(0deg,transparent 0 27px,rgba(255,255,255,.025) 28px,transparent 29px 58px),
    radial-gradient(circle at 10% 20%,rgba(255,205,125,.08),transparent 28%),
    radial-gradient(circle at 85% 70%,rgba(255,205,125,.06),transparent 24%);
  mix-blend-mode:screen
}
.escape-wall-heading{position:relative;z-index:1}
.escape-wall-marquee{position:relative;z-index:1;gap:22px;padding:12px 0 28px}
.escape-wall-row{padding:18px 0 22px;overflow:hidden}
.escape-wall-group{gap:20px;padding-right:20px;align-items:center}
.escape-wall-card{
  position:relative;flex:0 0 246px;height:164px;
  overflow:visible;border:0;border-radius:4px;padding:8px 8px 22px;
  background:linear-gradient(145deg,#8b542c,#603317);
  border:1px solid rgba(224,147,70,.72);
  box-shadow:
    0 12px 22px rgba(0,0,0,.48),
    0 2px 5px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,190,118,.22);
  transform:translateY(var(--card-lift,0)) rotate(var(--card-rotation,0deg)) scale(var(--card-scale,1));
  transform-origin:50% 8%;
  transition:transform .28s ease,box-shadow .28s ease,filter .28s ease;
}
.escape-wall-card::before{
  content:"";position:absolute;z-index:3;top:-7px;left:50%;width:14px;height:14px;
  transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(circle at 34% 28%,#e9bf6c 0 15%,#b97925 34%,#7a4516 67%,#321806 100%);
  border:1px solid rgba(87,43,10,.78);
  box-shadow:
    0 2px 4px rgba(0,0,0,.7),
    inset 0 1px 1px rgba(255,224,163,.34)
}
.escape-wall-card::after{
  content:"";position:absolute;z-index:2;top:4px;left:50%;width:2px;height:10px;
  background:rgba(45,24,9,.8);transform:translateX(-50%);box-shadow:0 1px 1px rgba(255,255,255,.16)
}
.escape-wall-card img{
  width:100%;height:100%;object-fit:cover;display:block;border-radius:2px;
  filter:saturate(.98) contrast(1.02);
  box-shadow:
    0 0 0 1px rgba(248,179,92,.28),
    inset 0 0 0 1px rgba(45,24,9,.18)
}
.escape-wall-card:hover,.escape-wall-card:focus-visible{
  z-index:5;transform:translateY(-6px) rotate(0deg) scale(1.055);
  box-shadow:0 20px 34px rgba(0,0,0,.55),0 3px 7px rgba(0,0,0,.4);filter:brightness(1.035)
}
.escape-wall-card:hover img,.escape-wall-card:focus-visible img{transform:none;filter:saturate(1.03) contrast(1.03)}
.escape-wall-track{animation-timing-function:linear}
.escape-wall-lightbox{backdrop-filter:blur(9px);background:rgba(8,4,2,.94)}
.escape-wall-lightbox img{max-width:94vw;max-height:90dvh;border-radius:4px;box-shadow:0 30px 90px rgba(0,0,0,.78)}
@media(max-width:520px){
  .escape-wall-marquee{gap:14px;padding-bottom:18px}
  .escape-wall-row{padding:14px 0 18px}
  .escape-wall-group{gap:14px;padding-right:14px}
  .escape-wall-card{flex-basis:178px;height:120px;padding:6px 6px 17px}
  .escape-wall-card::before{width:11px;height:11px;top:-6px}
}


/* Current-season booking notice */
.season-notice{
  max-width:720px;
  margin:16px auto 20px;
  padding:16px 18px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(201,149,74,.11),rgba(0,0,0,.20));
  border:1px solid rgba(201,149,74,.34);
  box-shadow:0 12px 28px rgba(0,0,0,.20);
  text-align:center;
}
.season-notice-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 11px;
  border-radius:999px;
  background:rgba(201,149,74,.17);
  border:1px solid rgba(201,149,74,.48);
  color:var(--gold);
  font-size:13px;
  font-weight:900;
}
.season-notice-title{
  display:block;
  margin:10px 0 6px;
  color:var(--text);
  font-size:18px;
  font-weight:900;
}
.price-box .season-notice-text{
  margin:0;
  color:var(--muted);
  font-weight:700;
  line-height:1.5;
}
@media(max-width:520px){
  .season-notice{padding:14px 13px;margin:14px auto 18px}
  .season-notice-badge{font-size:12px}
  .season-notice-title{font-size:17px}
  .price-box .season-notice-text{font-size:14px}
}

.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:9px 18px;margin-bottom:10px}.footer-nav a{color:var(--muted);font-weight:900}.footer-nav a:hover{color:var(--gold)}
/* Keep the expanded five-link navigation comfortable on tablet widths. */
@media(min-width:760px) and (max-width:1080px){.nav-links{display:none}}
@media(min-width:1081px){.nav-links{gap:14px;font-size:13px}}
