:root{
      --green:#17392f;
      --green2:#245b49;
      --green3:#0f2b23;
      --cream:#fbf5ea;
      --paper:#fffdf8;
      --mint:#e8f2ec;
      --gold:#d5a452;
      --gold2:#ad742e;
      --ink:#142e27;
      --muted:#65756f;
      --line:rgba(20,46,39,.12);
      --shadow:0 28px 80px rgba(20,46,39,.18);
      --radius:34px;
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{
      font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
      background:var(--cream);
      color:var(--ink);
      line-height:1.62;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none}
    button,input,select,textarea{font:inherit}
    img{display:block;max-width:100%}
    .container{width:min(1180px,calc(100% - 36px));margin:auto}
    .nav{
      position:sticky;top:0;z-index:100;
      background:rgba(251,245,234,.86);
      backdrop-filter:blur(18px);
      border-bottom:1px solid var(--line);
    }
    .nav-inner{
      min-height:82px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:22px;
      padding:12px 0;
    }
    .brand{
      display:flex;align-items:center;gap:14px;font-weight:1000;font-size:22px;letter-spacing:-.045em;
    }
    .brand-mark{
      width:62px;height:62px;border-radius:22px;position:relative;
      display:grid;place-items:center;
      background:linear-gradient(145deg,var(--green),var(--green2));
      box-shadow:0 18px 42px rgba(20,46,39,.23);
      overflow:visible;
      flex:0 0 auto;
    }
    .brand-mark svg{width:48px;height:48px;overflow:visible}
    .brand small{display:block;margin-top:-7px;color:var(--gold2);font-size:11px;letter-spacing:.22em;text-transform:uppercase}
    .nav-links{display:flex;align-items:center;gap:18px;font-size:14px;font-weight:900;color:#314c43}
    .nav-links a:hover{color:var(--gold2)}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:9px;
      min-height:48px;padding:0 19px;border-radius:999px;border:1px solid transparent;
      font-weight:1000;cursor:pointer;transition:.2s ease;white-space:nowrap;
    }
    .btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(20,46,39,.15)}
    .btn-green{background:var(--green);color:white}
    .btn-gold{background:linear-gradient(135deg,#e5bd72,var(--gold2));color:white}
    .btn-white{background:white;color:var(--green);border-color:var(--line)}
    .btn-soft{background:rgba(255,255,255,.12);color:white;border-color:rgba(255,255,255,.16)}

    .hero{
      position:relative;isolation:isolate;
      padding:72px 0 88px;
      background:
        radial-gradient(circle at 14% 10%,rgba(213,164,82,.24),transparent 28%),
        radial-gradient(circle at 92% 12%,rgba(36,91,73,.14),transparent 30%);
    }
    .hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:58px;align-items:center}
    .badge{
      display:inline-flex;align-items:center;gap:9px;margin-bottom:24px;
      padding:10px 16px;border-radius:999px;background:white;border:1px solid var(--line);
      box-shadow:0 16px 42px rgba(20,46,39,.08);
      color:var(--green2);font-weight:1000;
    }
    h1{font-size:clamp(44px,7vw,88px);line-height:.92;letter-spacing:-.08em;max-width:760px}
    .accent{color:var(--gold2);position:relative;white-space:nowrap}
    .lead{margin-top:25px;max-width:650px;font-size:20px;color:var(--muted)}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
    .trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
    .chip{padding:9px 13px;border-radius:999px;background:rgba(36,91,73,.09);color:var(--green2);font-weight:950;font-size:14px}

    .visual{position:relative;min-height:620px}
    .photo-bg{
      position:absolute;right:-10px;top:34px;width:88%;height:540px;border-radius:58px;
      background:linear-gradient(145deg,var(--green),var(--green2));
      transform:rotate(4deg);box-shadow:var(--shadow);
    }
    .hero-photo{
      position:absolute;right:34px;top:0;width:86%;height:565px;object-fit:cover;
      object-position:center center;
      border:10px solid white;border-radius:58px;
      box-shadow:0 34px 100px rgba(20,46,39,.28);
      background:#ddd;
    }
    .price-card{
      position:absolute;left:0;bottom:44px;width:min(335px,84%);
      padding:24px;border-radius:32px;background:rgba(255,255,255,.95);
      border:1px solid rgba(255,255,255,.9);box-shadow:0 30px 90px rgba(20,46,39,.23);
      backdrop-filter:blur(18px);
    }
    .price-card small{color:var(--gold2);font-weight:1000;letter-spacing:.22em;text-transform:uppercase;font-size:12px}
    .price-card b{display:block;font-size:54px;letter-spacing:-.06em;line-height:1;margin:8px 0 2px}
    .price-card span{font-weight:900;color:var(--muted)}

    section{padding:86px 0}
    .section-title{text-align:center;max-width:760px;margin:0 auto 44px}
    .eyebrow{color:var(--gold2);font-weight:1000;letter-spacing:.22em;text-transform:uppercase;font-size:12px;margin-bottom:10px}
    h2{font-size:clamp(34px,4.5vw,58px);line-height:1.04;letter-spacing:-.055em}
    .section-title p{font-size:18px;color:var(--muted);margin-top:14px}
    .cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
    .card{
      background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:34px;
      padding:30px;box-shadow:0 20px 54px rgba(20,46,39,.08);min-height:230px;
      transition:.2s ease;
    }
    .card:hover{transform:translateY(-5px);box-shadow:0 28px 70px rgba(20,46,39,.13)}
    .icon{width:62px;height:62px;border-radius:24px;background:linear-gradient(145deg,var(--mint),white);display:grid;place-items:center;font-size:31px;margin-bottom:20px}
    .card h3{font-size:21px;margin-bottom:10px;letter-spacing:-.03em}
    .card p,.muted{color:var(--muted)}

    .booking{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .booking-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:34px;align-items:start}
    .booking-info{
      position:sticky;top:106px;padding:36px;border-radius:40px;color:white;overflow:hidden;
      background:radial-gradient(circle at 82% 16%,rgba(213,164,82,.32),transparent 28%),linear-gradient(145deg,var(--green),var(--green2));
      box-shadow:var(--shadow);
    }
    .booking-info:after{content:"🐾";position:absolute;right:-25px;bottom:-92px;font-size:220px;opacity:.08;transform:rotate(-20deg)}
    .booking-info h2{color:white}
    .booking-info p{color:rgba(255,255,255,.78);margin-top:18px}
    .booking-price{font-size:64px;line-height:.9;color:#f4d39a;font-weight:1000;letter-spacing:-.07em;margin-top:28px}
    .mini-list{display:grid;gap:12px;margin-top:26px}
    .mini-list div{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);font-weight:850}
    .booking-panel{
      background:white;border:1px solid var(--line);border-radius:40px;padding:32px;
      box-shadow:0 24px 70px rgba(20,46,39,.12);
    }
    .calculator{
      display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px;padding:20px;
      border-radius:28px;background:var(--cream);border:1px solid var(--line);
    }
    .calc-total{grid-column:1/-1;padding:18px;border-radius:24px;text-align:center;background:white;border:1px solid rgba(213,164,82,.5)}
    .calc-total small{display:block;color:var(--gold2);font-weight:1000;letter-spacing:.18em;text-transform:uppercase;font-size:11px}
    .calc-total b{font-size:44px;color:var(--gold2);letter-spacing:-.05em}
    .range-wrap{grid-column:1/-1}
    .range-line{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px;font-weight:850;margin-top:5px}
    input[type="range"]{accent-color:var(--green);width:100%;height:32px}
    label{display:block;font-weight:950;margin-bottom:7px;font-size:14px;color:#29443b}
    input,select,textarea{
      width:100%;min-height:52px;border-radius:18px;border:1px solid rgba(20,46,39,.16);
      background:#fbfaf7;padding:0 15px;color:var(--ink);outline:none;
    }
    textarea{min-height:112px;padding-top:14px;resize:vertical}
    input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(213,164,82,.16)}
    form{display:grid;gap:17px}
    .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
    .summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
    .sum{padding:15px;border-radius:20px;background:var(--cream);border:1px solid var(--line)}
    .sum small{display:block;color:var(--muted);font-weight:900}
    .sum b{font-size:22px}
    .notice{background:#eef7f1;border:1px solid rgba(36,91,73,.14);color:#2d5b4b;padding:14px 16px;border-radius:18px;font-size:14px;font-weight:800}
    .book-actions{display:flex;flex-wrap:wrap;gap:12px}
    .slider-card{
      grid-column:1/-1;
      padding:20px;
      border-radius:28px;
      background:linear-gradient(145deg,#ffffff,#fbf5ea);
      border:1px solid var(--line);
      box-shadow:0 16px 45px rgba(20,46,39,.08);
    }
    .slider-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}
    .slider-days{font-size:44px;font-weight:1000;letter-spacing:-.06em;color:var(--green)}
    .slider-days small{font-size:15px;color:var(--muted);letter-spacing:0}
    .slider-price{font-size:30px;font-weight:1000;color:var(--gold2);letter-spacing:-.04em;text-align:right}
    .slider-track-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;font-weight:850;margin-top:6px}
    .bonus-note{
      margin-top:12px;
      padding:12px 14px;
      border-radius:18px;
      background:#eef7f1;
      color:#2d5b4b;
      font-weight:850;
      font-size:14px;
    }

    .reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .review{background:white;border:1px solid var(--line);border-radius:32px;padding:27px;box-shadow:0 18px 52px rgba(20,46,39,.08)}
    .stars{color:#d49b2c;letter-spacing:2px;margin-bottom:13px}
    .review-note{font-size:13px;color:var(--muted);text-align:center;margin-top:-30px;margin-bottom:26px}
    .person{display:flex;align-items:center;gap:12px;margin-top:20px;font-weight:1000}
    .avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--gold),#f5d49a);color:white}

    .split-gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
    .split-gallery img{height:430px;width:100%;object-fit:cover;border-radius:38px;box-shadow:0 24px 70px rgba(20,46,39,.16);border:8px solid white}
    .stack{display:grid;gap:18px}
    .stack img{height:206px}
    .faq{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
    details{background:white;border:1px solid var(--line);border-radius:24px;padding:20px 22px;box-shadow:0 15px 45px rgba(20,46,39,.06)}
    summary{cursor:pointer;font-weight:1000}
    details p{color:var(--muted);margin-top:12px}

    .contact-box{
      border-radius:44px;padding:42px;color:white;box-shadow:var(--shadow);
      background:radial-gradient(circle at 92% 18%,rgba(213,164,82,.3),transparent 24%),linear-gradient(145deg,var(--green),var(--green2));
    }
    .contact-top{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:28px}
    .contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
    .contact-item{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:20px}
    .contact-item small{display:block;color:rgba(255,255,255,.62);font-weight:900;margin-bottom:6px}
    .contact-item b{font-size:18px}
    footer{background:var(--green);color:rgba(255,255,255,.74);padding:30px 0;text-align:center}
    .toast{
      position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(120px);
      background:var(--green);color:white;border-radius:999px;padding:14px 20px;
      box-shadow:0 20px 60px rgba(0,0,0,.24);font-weight:900;z-index:220;transition:.25s;
    }
    .toast.show{transform:translateX(-50%) translateY(0)}
    .sticky-mobile{
      display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:150;
      padding:10px;border-radius:26px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);
      border:1px solid var(--line);box-shadow:0 18px 55px rgba(20,46,39,.22);gap:8px;
    }
    .sticky-mobile a{flex:1}

    @media(max-width:980px){
      .nav-links a:not(.btn){display:none}
      .hero-grid,.booking-grid,.split-gallery{grid-template-columns:1fr}
      .visual{min-height:570px}
      .cards{grid-template-columns:repeat(2,1fr)}
      .reviews,.contact-grid{grid-template-columns:1fr}
      .booking-info{position:relative;top:auto}
    }
    @media(max-width:640px){
      .container{width:min(100% - 28px,1180px)}
      .nav-inner{align-items:flex-start;flex-direction:column}
      .nav-links{width:100%;gap:8px}
      .nav-links .btn{flex:1;padding:0 10px}
      .hero{padding:42px 0 66px}
      .hero-actions,.book-actions,.contact-top{flex-direction:column;align-items:stretch}
      .btn{width:100%}
      .cards,.form-grid,.summary,.faq,.calculator{grid-template-columns:1fr}
      .visual{min-height:505px}
      .photo-bg{height:430px;width:90%}
      .hero-photo{height:450px;width:90%;right:14px;border-radius:40px}
      .price-card{bottom:4px}
      .booking-panel,.booking-info,.contact-box{padding:25px;border-radius:30px}
      .day-grid{grid-template-columns:repeat(2,1fr)}
      .sticky-mobile{display:flex}
      body{padding-bottom:82px}
    }
  
    .seo-section{background:#fffdf8;border-top:1px solid var(--line)}
    .seo-content{max-width:950px;margin:auto}
    .seo-content h2{text-align:left;margin-bottom:18px}
    .seo-content h3{font-size:24px;margin:28px 0 10px;letter-spacing:-.03em}
    .seo-content p{color:var(--muted);font-size:17px;margin-top:12px}
    .local-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
    .local-tags span{padding:9px 13px;border-radius:999px;background:rgba(36,91,73,.09);color:var(--green2);font-weight:900;font-size:14px}

    .conversion-strip{
      background:linear-gradient(135deg,#17392f,#245b49);
      color:white;
      padding:18px 0;
      border-top:1px solid rgba(255,255,255,.12);
      border-bottom:1px solid rgba(255,255,255,.12);
    }
    .conversion-strip .inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      flex-wrap:wrap;
    }
    .conversion-strip strong{
      color:#f4d39a;
    }
    .conversion-strip a{
      background:#d5a452;
      color:#17392f;
      padding:12px 18px;
      border-radius:999px;
      font-weight:1000;
      box-shadow:0 12px 28px rgba(0,0,0,.18);
    }
    .trust-badges{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:14px;
      margin-top:24px;
    }
    .trust-badge{
      background:white;
      border:1px solid var(--line);
      border-radius:22px;
      padding:16px;
      text-align:center;
      font-weight:950;
      box-shadow:0 12px 36px rgba(20,46,39,.07);
    }
    .trust-badge span{
      display:block;
      font-size:24px;
      margin-bottom:6px;
    }
    .guarantee-box{
      margin-top:18px;
      padding:18px;
      border-radius:24px;
      background:#eef7f1;
      border:1px solid rgba(36,91,73,.14);
      color:#2d5b4b;
      font-weight:850;
    }
    .scarcity-card{
      margin-top:18px;
      border-radius:26px;
      padding:18px;
      background:#fff7e8;
      border:1px solid rgba(213,164,82,.35);
      color:#6d4618;
      font-weight:900;
    }
    .sticky-cta{
      position:fixed;
      left:50%;
      bottom:18px;
      transform:translateX(-50%);
      z-index:300;
      width:min(720px,calc(100% - 24px));
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:12px;
      border-radius:999px;
      background:rgba(255,255,255,.92);
      backdrop-filter:blur(18px);
      border:1px solid var(--line);
      box-shadow:0 18px 60px rgba(20,46,39,.22);
    }
    .sticky-cta p{
      margin-left:12px;
      font-weight:1000;
      color:var(--green);
    }
    .sticky-cta small{
      display:block;
      color:var(--muted);
      font-weight:800;
    }
    .sticky-cta .buttons{
      display:flex;
      gap:8px;
    }
    .process-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
    }
    .process-card{
      background:white;
      border:1px solid var(--line);
      border-radius:30px;
      padding:26px;
      box-shadow:0 18px 50px rgba(20,46,39,.08);
    }
    .process-num{
      width:44px;
      height:44px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:var(--green);
      color:#f4d39a;
      font-weight:1000;
      margin-bottom:16px;
    }
    @media(max-width:760px){
      .trust-badges,.process-grid{grid-template-columns:1fr}
      .sticky-cta{border-radius:24px;align-items:stretch;flex-direction:column}
      .sticky-cta p{margin:0;text-align:center}
      .sticky-cta .buttons{width:100%;flex-direction:column}
      .sticky-cta .btn{width:100%}
    }

    .message-template{
      margin-top:18px;
      padding:20px;
      border-radius:26px;
      background:#fffdf8;
      border:1px solid rgba(213,164,82,.35);
      box-shadow:0 14px 45px rgba(20,46,39,.08);
    }
    .message-template h3{
      font-size:20px;
      margin-bottom:10px;
      letter-spacing:-.03em;
    }
    .message-template pre{
      white-space:pre-wrap;
      font-family:inherit;
      color:#42564e;
      background:white;
      border:1px solid var(--line);
      border-radius:18px;
      padding:16px;
      line-height:1.55;
      margin:12px 0;
    }
    .calendar-actions{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top:10px;
    }

    .video-section{
      padding:80px 0;
      background:#fffdf8;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }
    .yt-safe-card{
      position:relative;
      max-width:920px;
      margin:30px auto 0;
      border-radius:28px;
      overflow:hidden;
      box-shadow:0 30px 90px rgba(20,46,39,.22);
      border:8px solid white;
      background:#17392f;
      display:block;
    }
    .yt-safe-card img{
      width:100%;
      display:block;
      aspect-ratio:16/9;
      object-fit:cover;
      transition:.25s ease;
    }
    .yt-safe-card:hover img{transform:scale(1.025);filter:brightness(.82)}
    .yt-play{
      position:absolute;
      inset:0;
      display:flex;
      align-items:center;
      justify-content:center;
      background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.35));
    }
    .yt-play-button{
      width:92px;
      height:92px;
      border-radius:50%;
      background:rgba(255,255,255,.92);
      display:grid;
      place-items:center;
      box-shadow:0 18px 50px rgba(0,0,0,.35);
    }
    .yt-play-button:before{
      content:"";
      width:0;
      height:0;
      border-left:30px solid #17392f;
      border-top:19px solid transparent;
      border-bottom:19px solid transparent;
      margin-left:7px;
    }
    .yt-caption{
      position:absolute;
      left:22px;
      right:22px;
      bottom:20px;
      color:white;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      font-weight:1000;
      text-shadow:0 2px 10px rgba(0,0,0,.45);
    }
    .yt-caption span:last-child{
      padding:10px 16px;
      border-radius:999px;
      background:#d5a452;
      color:#17392f;
      text-shadow:none;
    }
    @media(max-width:640px){
      .yt-play-button{width:72px;height:72px}
      .yt-play-button:before{border-left-width:24px;border-top-width:15px;border-bottom-width:15px}
      .yt-caption{position:static;background:#17392f;padding:14px;display:block;text-align:center}
      .yt-caption span:last-child{display:inline-block;margin-top:10px}
    }

    .video-section{
      padding:80px 0;
      background:#fffdf8;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }
    .yt-modal-card{
      position:relative;
      max-width:920px;
      margin:30px auto 0;
      border-radius:28px;
      overflow:hidden;
      box-shadow:0 30px 90px rgba(20,46,39,.22);
      border:8px solid white;
      background:#17392f;
      cursor:pointer;
    }
    .yt-modal-card img{
      width:100%;
      display:block;
      aspect-ratio:16/9;
      object-fit:cover;
      transition:.25s ease;
    }
    .yt-modal-card:hover img{transform:scale(1.025);filter:brightness(.82)}
    .yt-play{
      position:absolute;
      inset:0;
      display:flex;
      align-items:center;
      justify-content:center;
      background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.35));
    }
    .yt-play-button{
      width:94px;
      height:94px;
      border-radius:50%;
      background:rgba(255,255,255,.94);
      display:grid;
      place-items:center;
      box-shadow:0 18px 50px rgba(0,0,0,.35);
    }
    .yt-play-button:before{
      content:"";
      width:0;
      height:0;
      border-left:30px solid #17392f;
      border-top:19px solid transparent;
      border-bottom:19px solid transparent;
      margin-left:7px;
    }
    .yt-caption{
      position:absolute;
      left:22px;
      right:22px;
      bottom:20px;
      color:white;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      font-weight:1000;
      text-shadow:0 2px 10px rgba(0,0,0,.45);
    }
    .yt-caption span:last-child{
      padding:10px 16px;
      border-radius:999px;
      background:#d5a452;
      color:#17392f;
      text-shadow:none;
    }
    .video-modal{
      position:fixed;
      inset:0;
      z-index:999;
      display:none;
      align-items:center;
      justify-content:center;
      padding:22px;
      background:rgba(0,0,0,.78);
      backdrop-filter:blur(8px);
    }
    .video-modal.open{display:flex}
    .video-modal-box{
      width:min(1000px,100%);
      background:#000;
      border-radius:26px;
      overflow:hidden;
      position:relative;
      box-shadow:0 30px 120px rgba(0,0,0,.55);
    }
    .video-modal-frame{
      position:relative;
      width:100%;
      aspect-ratio:16/9;
      background:#000;
    }
    .video-modal-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain}.video-modal-frame iframe{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      border:0;
    }
    .video-close{
      position:absolute;
      top:12px;
      right:12px;
      z-index:2;
      width:44px;
      height:44px;
      border-radius:50%;
      border:0;
      background:rgba(255,255,255,.92);
      color:#17392f;
      font-size:24px;
      font-weight:1000;
      cursor:pointer;
    }
    .youtube-fallback{
      display:block;
      padding:14px;
      background:#17392f;
      color:white;
      text-align:center;
      font-weight:900;
    }
    @media(max-width:640px){
      .yt-play-button{width:72px;height:72px}
      .yt-play-button:before{border-left-width:24px;border-top-width:15px;border-bottom-width:15px}
      .yt-caption{position:static;background:#17392f;padding:14px;display:block;text-align:center}
      .yt-caption span:last-child{display:inline-block;margin-top:10px}
    }

    .appointment-section{
      padding:86px 0;
      background:#fffdf8;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }
    .appointment-grid{
      display:grid;
      grid-template-columns:.9fr 1.1fr;
      gap:28px;
      align-items:start;
    }
    .appointment-card{
      background:white;
      border:1px solid var(--line);
      border-radius:34px;
      padding:30px;
      box-shadow:0 20px 60px rgba(20,46,39,.09);
    }
    .appointment-embed{
      border-radius:34px;
      overflow:hidden;
      border:1px solid var(--line);
      background:white;
      min-height:720px;
      box-shadow:0 20px 60px rgba(20,46,39,.09);
    }
    .appointment-steps{
      display:grid;
      gap:12px;
      margin-top:18px;
    }
    .appointment-step{
      padding:15px 16px;
      border-radius:18px;
      background:#eef7f1;
      color:#2d5b4b;
      font-weight:850;
    }
    @media(max-width:900px){
      .appointment-grid{grid-template-columns:1fr}
      .appointment-embed,.appointment-placeholder{min-height:620px}
    }

    .availability-section{
      padding:86px 0;
      background:#fffdf8;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }
    .availability-grid{
      display:grid;
      grid-template-columns:.9fr 1.1fr;
      gap:28px;
      align-items:start;
    }
    .availability-card{
      background:white;
      border:1px solid var(--line);
      border-radius:34px;
      padding:30px;
      box-shadow:0 20px 60px rgba(20,46,39,.09);
    }
    .availability-card h3{
      font-size:24px;
      margin-bottom:12px;
      letter-spacing:-.03em;
    }
    .availability-steps{
      display:grid;
      gap:12px;
      margin-top:18px;
    }
    .availability-step{
      padding:15px 16px;
      border-radius:18px;
      background:#eef7f1;
      color:#2d5b4b;
      font-weight:850;
    }
    .calendar-box{
      border-radius:34px;
      overflow:hidden;
      border:1px solid var(--line);
      background:white;
      min-height:680px;
      box-shadow:0 20px 60px rgba(20,46,39,.09);
    }
    .calendar-placeholder{
      min-height:680px;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:30px;
      text-align:center;
      background:linear-gradient(145deg,#fffdf8,#fbf5ea);
    }
    .calendar-placeholder code{
      display:inline-block;
      margin-top:12px;
      padding:10px 12px;
      border-radius:12px;
      background:#17392f;
      color:white;
      font-size:13px;
      word-break:break-all;
    }
    .reservation-flow{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:14px;
      margin-top:28px;
    }
    .flow-item{
      background:white;
      border:1px solid var(--line);
      border-radius:24px;
      padding:20px;
      box-shadow:0 14px 42px rgba(20,46,39,.07);
      font-weight:900;
      text-align:center;
    }
    .flow-item span{
      display:grid;
      place-items:center;
      width:42px;
      height:42px;
      margin:0 auto 12px;
      border-radius:50%;
      background:var(--green);
      color:#f4d39a;
      font-weight:1000;
    }
    @media(max-width:900px){
      .availability-grid{grid-template-columns:1fr}
      .reservation-flow{grid-template-columns:1fr}
      .calendar-box,.calendar-placeholder{min-height:560px}
    }

    .top-reservation-panel{
      margin-top:28px;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
    }
    .top-reservation-card{
      background:white;
      border:1px solid var(--line);
      border-radius:28px;
      padding:22px;
      box-shadow:0 18px 50px rgba(20,46,39,.08);
    }
    .top-reservation-card h3{
      font-size:22px;
      margin-bottom:10px;
      letter-spacing:-.03em;
    }
    .status-box{
      margin-top:14px;
      padding:16px;
      border-radius:20px;
      background:#eef7f1;
      color:#2d5b4b;
      font-weight:900;
      border:1px solid rgba(36,91,73,.14);
    }
    .status-box.warning{
      background:#fff7e8;
      color:#724b18;
      border-color:rgba(213,164,82,.35);
    }
    .status-box.danger{
      background:#fdeeee;
      color:#7a2020;
      border-color:rgba(180,45,45,.18);
    }
    .calendar-tip{
      margin-top:16px;
      padding:16px;
      border-radius:20px;
      background:#fbf5ea;
      border:1px dashed rgba(20,46,39,.25);
      color:#4c5f58;
      font-weight:850;
    }
    .owner-admin-box{
      margin-top:22px;
      padding:20px;
      border-radius:26px;
      background:linear-gradient(145deg,#17392f,#245b49);
      color:white;
    }
    .owner-admin-box h3{color:white;margin-bottom:10px}
    .owner-admin-box ol{padding-left:22px;color:rgba(255,255,255,.86)}
    .owner-admin-box li{margin:8px 0}
    .owner-admin-box strong{color:#f4d39a}
    .calendar-cta-row{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top:16px;
    }
    @media(max-width:820px){
      .top-reservation-panel{grid-template-columns:1fr}
    }

    .calendar-clean-note{
      margin-top:14px;
      padding:14px 16px;
      border-radius:18px;
      background:#eef7f1;
      color:#2d5b4b;
      font-weight:850;
      text-align:left;
      border:1px solid rgba(36,91,73,.14);
    }
    .calendar-box iframe{
      display:block;
      width:100%;
      min-height:680px;
      background:white;
      font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    }

    .availability-section h3,
    .top-reservation-card h3{
      font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
      color:var(--ink);
    }

    .price-list-section{
      padding:86px 0;
      background:#fffdf8;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }
    .price-list-wrap{
      max-width:980px;
      margin:32px auto 0;
      border-radius:34px;
      overflow:hidden;
      background:white;
      border:1px solid var(--line);
      box-shadow:0 28px 90px rgba(20,46,39,.16);
    }
    .price-list-wrap img{
      width:100%;
      height:auto;
      display:block;
    }
    .price-list-note{
      max-width:760px;
      margin:18px auto 0;
      text-align:center;
      color:var(--muted);
      font-weight:850;
    }

    .brand-logo-img{
      width:96px;
      height:96px;
      object-fit:contain;
      border-radius:50%;
      display:block;
      background:transparent;
      box-shadow:0 10px 28px rgba(20,46,39,.12);
    }
    .brand{
      gap:18px;
    }
    .brand-mark{
      background:transparent !important;
      box-shadow:none !important;
      width:auto !important;
      height:auto !important;
      border-radius:0 !important;
      overflow:visible !important;
    }
    .brand-mark:before,
    .brand-mark:after{
      display:none !important;
      content:none !important;
    }
    .brand-mark svg{
      display:none !important;
    }
    @media(max-width:640px){
      .brand-logo-img{
        width:78px;
        height:78px;
      }
    }

    .hero .lead strong{color:var(--green);font-weight:1000}
    .hero-proof-row{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
      margin-top:26px;
      max-width:680px;
    }
    .hero-proof-card{
      display:flex;
      align-items:center;
      gap:12px;
      padding:14px 16px;
      border-radius:20px;
      background:rgba(255,255,255,.82);
      border:1px solid var(--line);
      box-shadow:0 12px 34px rgba(20,46,39,.07);
      font-weight:950;
      color:var(--green);
    }
    .hero-proof-card span{
      font-size:25px;
      line-height:1;
    }
    .hero-note{
      margin-top:18px;
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:10px 14px;
      border-radius:999px;
      background:#fff7e8;
      color:#724b18;
      border:1px solid rgba(213,164,82,.35);
      font-weight:950;
      font-size:14px;
    }
    .hero .price-card{
      display:none !important;
    }
    @media(max-width:760px){
      .hero-proof-row{grid-template-columns:1fr}
    }

.calendar-sell-box{
  margin:18px;
  padding:20px;
  border-radius:26px;
  background:linear-gradient(145deg,#fff7e8,#fffdf8);
  border:1px solid rgba(213,164,82,.35);
  box-shadow:0 16px 44px rgba(20,46,39,.08);
}
.calendar-sell-box h3{
  margin:0 0 8px;
  font-size:22px;
  letter-spacing:-.03em;
  color:var(--green);
}
.calendar-sell-box p{
  color:var(--muted);
  margin:0;
}
.calendar-sell-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
.calendar-final-note{
  margin-top:14px;
  padding:14px 16px;
  border-radius:18px;
  background:#eef7f1;
  color:#2d5b4b;
  font-weight:900;
  border:1px solid rgba(36,91,73,.14);
  text-align:left;
}
.calendar-box iframe{
  display:block;
  width:100%;
  min-height:680px;
  border:0;
  background:white;
}

/* Skrytí spodního odkazu Google kalendáře */
.calendar-iframe-wrap{position:relative;width:100%;height:680px;overflow:hidden;border-radius:18px;}
.calendar-iframe-wrap iframe{width:100%;height:100%;border:0;}
.calendar-iframe-cover{position:absolute;left:0;right:0;bottom:0;height:44px;background:#fff;pointer-events:none;z-index:2;}
@media (max-width:700px){.calendar-iframe-wrap{height:620px}.calendar-iframe-cover{height:48px}}

img[loading="lazy"]{content-visibility:auto;}

