
    :root{--dark:#05291d;--dark2:#0b3e2d;--green:#13865f;--lime:#c9f075;--cream:#f5f2e9;--white:#fffdf8;--gold:#e2bd72;--muted:#65736c;--line:rgba(5,41,29,.13);--shadow:0 24px 60px rgba(5,41,29,.14)}
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--cream);color:#091710;font-family:Arial,Helvetica,sans-serif;line-height:1.55;padding-bottom:90px}
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    .wrap{width:min(1160px,calc(100% - 32px));margin:auto}
    .topbar{position:absolute;z-index:10;top:0;left:0;right:0;padding:20px 0;color:white}
    .nav{display:flex;align-items:center;justify-content:space-between;gap:20px}
    .brand{display:flex;align-items:center;gap:12px;min-width:0}
    .brand img{width:58px;height:58px;border-radius:17px;background:white;padding:3px;object-fit:cover;box-shadow:0 10px 30px rgba(0,0,0,.22)}
    .brand strong{display:block;font-size:1rem;letter-spacing:.18em;white-space:nowrap}
    .brand small{display:block;color:rgba(255,255,255,.65);font-size:.65rem;letter-spacing:.07em}
    .desktop-nav{display:flex;align-items:center;gap:24px;font-size:.84rem;font-weight:700}
    .desktop-nav a:last-child{border:1px solid rgba(255,255,255,.35);padding:11px 16px;border-radius:999px;background:rgba(255,255,255,.1)}
    .mobile-menu{display:none;position:relative}
    .mobile-menu summary{list-style:none;width:48px;height:48px;border:1px solid rgba(255,255,255,.34);border-radius:15px;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:1.35rem;cursor:pointer}
    .mobile-menu summary::-webkit-details-marker{display:none}
    .mobile-menu nav{position:absolute;right:0;top:58px;width:220px;background:rgba(4,34,24,.97);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:10px;box-shadow:0 20px 50px rgba(0,0,0,.3)}
    .mobile-menu nav a{display:block;padding:12px;border-radius:12px;font-size:.85rem;font-weight:700}

    .hero{position:relative;min-height:760px;color:white;display:flex;align-items:flex-end;overflow:hidden;background:var(--dark)}
    .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
    .hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,21,14,.92),rgba(2,21,14,.66) 56%,rgba(2,21,14,.25)),linear-gradient(0deg,rgba(2,21,14,.96),transparent 53%)}
    .hero-content{position:relative;z-index:2;width:100%;padding:145px 0 85px}
    .hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:end}
    .kicker{display:inline-flex;align-items:center;gap:10px;color:var(--lime);font-size:.72rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
    .kicker:before{content:"";width:30px;height:1px;background:currentColor}
    h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500}
    h1{font-size:clamp(3.5rem,8vw,7.4rem);line-height:.9;letter-spacing:-.055em;margin:22px 0 24px;max-width:760px}
    h1 em{font-weight:500;color:var(--lime)}
    .hero-lead{max-width:620px;color:rgba(255,255,255,.76);font-size:1.08rem;margin:0}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:14px 20px;font-size:.86rem;font-weight:900}
    .btn-main{background:var(--lime);color:var(--dark)}
    .btn-soft{border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.09);color:white}
    .next-card{background:rgba(5,47,33,.74);border:1px solid rgba(255,255,255,.18);border-radius:28px;padding:25px;backdrop-filter:blur(12px);box-shadow:0 28px 70px rgba(0,0,0,.24)}
    .next-card small{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.58)}
    .next-card h2{margin:7px 0 15px;font-size:2rem}
    .next-date{display:flex;justify-content:space-between;gap:15px;align-items:end;border-top:1px solid rgba(255,255,255,.14);padding-top:17px}
    .next-date strong{color:var(--lime);font-size:1.2rem;white-space:nowrap}
    .next-date span{font-size:.8rem;color:rgba(255,255,255,.65)}

    .news{background:var(--dark);color:white;overflow:hidden;border-top:1px solid rgba(255,255,255,.1)}
    .news-line{padding:14px 0;display:flex;justify-content:center;gap:18px;flex-wrap:wrap;text-align:center;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.75)}
    .news-line b{color:var(--lime)}

    .season{padding:80px 0 105px}
    .season-head{display:grid;grid-template-columns:1fr .8fr;gap:36px;align-items:end;margin-bottom:32px}
    .section-label{font-size:.7rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:var(--green)}
    .season h2{font-size:clamp(2.8rem,6vw,5rem);line-height:.98;letter-spacing:-.045em;margin:10px 0 0}
    .season-head p{margin:0;color:var(--muted)}
    .quick-list{display:flex;gap:9px;overflow-x:auto;padding:0 0 20px;margin-bottom:16px}
    .quick-list a{white-space:nowrap;background:white;border:1px solid var(--line);border-radius:999px;padding:9px 14px;font-size:.73rem;font-weight:800;color:#3f554a}
    .cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
    .trip{background:var(--white);border:1px solid rgba(5,41,29,.08);border-radius:28px;overflow:hidden;box-shadow:0 12px 38px rgba(5,41,29,.07)}
    .media{position:relative;height:310px;background:var(--dark);overflow:hidden}
    .media img{width:100%;height:100%;object-fit:cover}
    .media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,20,13,.02) 35%,rgba(2,20,13,.72))}
    .date,.kind{position:absolute;z-index:2;top:17px;border-radius:999px;padding:8px 12px;font-size:.7rem;font-weight:900}
    .date{left:17px;background:rgba(255,253,248,.93);color:var(--dark)}
    .kind{right:17px;background:rgba(4,38,26,.82);color:white;border:1px solid rgba(255,255,255,.22);text-transform:uppercase;letter-spacing:.06em}
    .media-bottom{position:absolute;z-index:2;left:21px;right:21px;bottom:18px;display:flex;justify-content:space-between;gap:14px;align-items:end;color:white}
    .media-bottom small{display:block;color:var(--lime);font-size:.63rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
    .media-bottom span{font-size:.9rem;font-weight:800}
    .price{text-align:right;white-space:nowrap}
    .price b{display:block;color:var(--lime);font-size:1.42rem}
    .price i{font-style:normal;font-size:.62rem;color:rgba(255,255,255,.62);text-transform:uppercase;letter-spacing:.08em}
    .body{padding:24px}
    .body h3{font-size:2rem;line-height:1;margin:0 0 10px;letter-spacing:-.03em}
    .body>p{color:var(--muted);font-size:.9rem;margin:0 0 17px}
    .tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
    .tags span{background:#edf4ef;color:#365347;border-radius:10px;padding:7px 9px;font-size:.68rem;font-weight:800}
    .route{border:1px solid var(--line);border-radius:16px;background:white;margin-bottom:12px;overflow:hidden}
    .route summary{list-style:none;padding:13px 15px;font-size:.8rem;font-weight:900;color:var(--dark);cursor:pointer;display:flex;justify-content:space-between;gap:10px}
    .route summary::-webkit-details-marker{display:none}
    .route summary:after{content:"+";font-size:1.1rem;color:var(--green)}
    .route[open] summary:after{content:"−"}
    .route-content{border-top:1px solid var(--line);padding:14px 16px;background:#fbfcf8}
    .route-content strong{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin:3px 0 7px}
    .route-content ul{margin:0 0 13px;padding-left:18px;color:#516159;font-size:.8rem}
    .actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:9px}
    .actions a{border-radius:14px;padding:12px 10px;text-align:center;font-size:.78rem;font-weight:900;border:1px solid var(--line)}
    .actions a:last-child{background:var(--dark);border-color:var(--dark);color:white}

    .promise{background:var(--dark);color:white;padding:90px 0}
    .promise-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
    .promise h2{font-size:clamp(2.7rem,5vw,4.8rem);line-height:1;letter-spacing:-.04em;margin:12px 0 20px}
    .promise p{color:rgba(255,255,255,.65)}
    .benefits{display:grid;gap:10px}
    .benefit{display:grid;grid-template-columns:44px 1fr;gap:13px;align-items:center;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);border-radius:17px;padding:14px}
    .benefit b:first-child{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:var(--lime);background:rgba(201,240,117,.1)}
    .benefit span{display:block;color:rgba(255,255,255,.55);font-size:.75rem}
    .calendar-section{padding:95px 0;background:var(--white)}
    .content-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:34px}
    .content-head h2{font-size:clamp(2.7rem,5.5vw,4.8rem);line-height:1;letter-spacing:-.045em;margin:10px 0 0}
    .content-head p{max-width:450px;margin:0;color:var(--muted)}
    .calendar-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:24px}
    .month-card,.schedule-card{border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 14px 40px rgba(5,41,29,.07)}
    .month-card{padding:24px}
    .month-top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}
    .month-top h3{font-size:2rem;margin:0}.month-top span{padding:8px 11px;border-radius:999px;background:#edf5ef;color:var(--green);font-size:.7rem;font-weight:900;letter-spacing:.08em}
    .weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
    .weekdays span{text-align:center;font-size:.62rem;font-weight:900;letter-spacing:.08em;color:#7a877f;text-transform:uppercase;padding-bottom:5px}
    .day{min-height:66px;border:1px solid rgba(5,41,29,.08);border-radius:13px;padding:7px;background:#fbfcf9;font-size:.74rem;color:#66736c;position:relative}
    .day.empty{border-color:transparent;background:transparent}.day b{display:block;color:#1f3028;font-size:.82rem}.day.trip-day{background:var(--dark);border-color:var(--dark);color:rgba(255,255,255,.68);box-shadow:0 8px 20px rgba(5,41,29,.18)}.day.trip-day b{color:var(--lime)}.day.trip-day small{display:block;font-size:.56rem;line-height:1.2;margin-top:4px}
    .legend{display:flex;gap:16px;align-items:center;margin-top:16px;color:var(--muted);font-size:.7rem}.legend i{display:inline-block;width:10px;height:10px;border-radius:4px;background:var(--dark);margin-right:6px}.legend i.open{background:var(--lime);border:1px solid #95bd41}
    .schedule-card{padding:22px}
    .schedule-card h3{font-size:1.55rem;margin:0 0 15px}
    .schedule-list{display:grid;gap:8px}
    .schedule-row{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center;padding:10px;border-radius:14px;background:#f4f7f3;border:1px solid rgba(5,41,29,.06)}
    .schedule-row time{font-size:.66rem;font-weight:900;color:var(--green);text-transform:uppercase}.schedule-row strong{font-size:.8rem}.schedule-row span{font-size:.72rem;font-weight:900;color:var(--dark);white-space:nowrap}

    .booking-section{padding:95px 0;background:linear-gradient(135deg,#e9f0e9,var(--cream))}
    .booking-panel{display:grid;grid-template-columns:.82fr 1.18fr;border-radius:34px;overflow:hidden;background:white;box-shadow:var(--shadow)}
    .booking-info{position:relative;padding:48px;background:var(--dark);color:white;overflow:hidden}
    .booking-info:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-110px;bottom:-120px;border:1px solid rgba(201,240,117,.22);box-shadow:0 0 0 55px rgba(201,240,117,.035),0 0 0 110px rgba(201,240,117,.025)}
    .booking-info h2{font-size:clamp(2.5rem,5vw,4.2rem);line-height:1;margin:12px 0 18px;letter-spacing:-.04em}.booking-info>p{color:rgba(255,255,255,.65)}
    .booking-steps{display:grid;gap:10px;margin-top:28px;position:relative;z-index:2}.booking-step{display:grid;grid-template-columns:36px 1fr;gap:11px;align-items:center}.booking-step b{width:36px;height:36px;border-radius:12px;background:rgba(201,240,117,.12);color:var(--lime);display:grid;place-items:center;font-size:.76rem}.booking-step strong{display:block;font-size:.8rem}.booking-step span{display:block;font-size:.7rem;color:rgba(255,255,255,.52)}
    .booking-form{padding:42px}
    .form-title{margin:0 0 22px}.form-title strong{font-family:Georgia,"Times New Roman",serif;font-size:2rem;font-weight:500}.form-title span{display:block;color:var(--muted);font-size:.78rem}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:.68rem;font-weight:900;letter-spacing:.07em;color:#4d6056;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:12px 13px;outline:none;color:#102018}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(19,134,95,.09)}.field textarea{min-height:88px;resize:vertical}
    .form-note{display:flex;gap:9px;background:#edf7ef;border-radius:13px;color:#40574b;padding:11px 12px;margin:16px 0;font-size:.72rem}.form-note b{color:var(--green)}
    .form-submit{width:100%;border:0;border-radius:14px;background:var(--dark);color:white;padding:14px;font-weight:900;cursor:pointer}.form-submit:hover{background:var(--green)}

    .gallery-section{padding:95px 0;background:var(--cream)}
    .gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:180px;gap:12px}
    .gallery-item{position:relative;overflow:hidden;border-radius:22px;background:var(--dark)}.gallery-item:nth-child(1){grid-column:span 7;grid-row:span 2}.gallery-item:nth-child(2){grid-column:span 5}.gallery-item:nth-child(3){grid-column:span 5}.gallery-item:nth-child(4),.gallery-item:nth-child(5),.gallery-item:nth-child(6){grid-column:span 4}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.gallery-item:hover img{transform:scale(1.04)}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(2,22,14,.78))}.gallery-label{position:absolute;z-index:2;left:17px;bottom:14px;color:white}.gallery-label strong{display:block;font-size:.84rem}.gallery-label span{font-size:.65rem;color:var(--lime);text-transform:uppercase;letter-spacing:.1em}

    .contact-section{padding:95px 0;background:#0a3526;color:white}
    .contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center}.contact-copy h2{font-size:clamp(2.8rem,5vw,4.8rem);line-height:1;letter-spacing:-.04em;margin:12px 0 18px}.contact-copy p{color:rgba(255,255,255,.62)}
    .contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-card{display:block;border:1px solid rgba(255,255,255,.11);border-radius:20px;background:rgba(255,255,255,.05);padding:19px}.contact-icon{width:42px;height:42px;border-radius:14px;background:rgba(201,240,117,.12);color:var(--lime);display:grid;place-items:center;font-size:1.1rem;margin-bottom:20px}.contact-card small{display:block;color:rgba(255,255,255,.48);font-size:.66rem;text-transform:uppercase;letter-spacing:.1em}.contact-card strong{display:block;margin-top:4px;font-size:.92rem}.contact-card:hover{border-color:rgba(201,240,117,.35);background:rgba(255,255,255,.08)}
    footer{background:#031b13;color:white;padding:48px 0 100px}
    .foot{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid rgba(255,255,255,.1);padding-top:25px}
    .foot-brand{display:flex;align-items:center;gap:12px}
    .foot-brand img{width:56px;height:56px;border-radius:15px;background:white;padding:3px}
    .foot-brand strong{display:block;letter-spacing:.14em}
    .foot-brand small{display:block;color:rgba(255,255,255,.5);font-size:.66rem}
    .foot-links{display:flex;gap:18px;color:rgba(255,255,255,.64);font-size:.78rem}
    .mobile-book{display:none}

    @media(max-width:820px){
      body{padding-bottom:98px}.topbar{padding:16px 0}.desktop-nav{display:none}.mobile-menu{display:block}.brand img{width:52px;height:52px}.brand small{display:none}
      .hero{min-height:720px}.hero-shade{background:linear-gradient(180deg,rgba(2,21,14,.38),rgba(2,21,14,.88) 58%,rgba(2,21,14,.98))}.hero-content{padding:125px 0 55px}.hero-grid{grid-template-columns:1fr;gap:27px}.hero h1{font-size:clamp(3.5rem,14vw,5.8rem)}.hero-lead{font-size:.95rem}.next-card{padding:19px;border-radius:22px}.next-card h2{font-size:1.55rem}.next-date strong{font-size:1rem}
      .season{padding:66px 0 85px}.season-head{grid-template-columns:1fr;gap:15px}.season h2{font-size:3.2rem}.season-head p{font-size:.9rem}.cards{grid-template-columns:1fr}.media{height:275px}.body h3{font-size:1.8rem}
      .promise-grid{grid-template-columns:1fr;gap:35px}.foot{display:block}.foot-links{margin-top:22px;flex-wrap:wrap}
      .mobile-book{position:fixed;z-index:50;display:grid;grid-template-columns:.8fr 1.2fr;gap:8px;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:8px;background:rgba(3,28,19,.96);border:1px solid rgba(255,255,255,.11);border-radius:20px;box-shadow:0 18px 50px rgba(0,0,0,.32)}.mobile-book a{border-radius:14px;padding:12px 8px;text-align:center;font-size:.78rem;font-weight:900;background:rgba(255,255,255,.1);color:white}.mobile-book a:last-child{background:var(--lime);color:var(--dark)}
    }
    @media(max-width:430px){.wrap{width:min(100% - 26px,1160px)}.brand strong{font-size:.87rem}.hero-actions{display:grid}.btn{width:100%}.news-line{gap:8px}.news-line span:nth-child(4),.news-line span:nth-child(5){display:none}.media{height:255px}.actions{grid-template-columns:1fr}}
    @media(max-width:820px){.content-head{display:block}.content-head p{margin-top:15px}.calendar-layout,.booking-panel,.contact-grid{grid-template-columns:1fr}.calendar-section,.booking-section,.gallery-section,.contact-section{padding:72px 0}.schedule-row{grid-template-columns:66px 1fr auto}.booking-info{padding:34px 25px}.booking-form{padding:30px 22px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.gallery-item,.gallery-item:nth-child(n){grid-column:span 1;grid-row:span 1}.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 2}.contact-cards{grid-template-columns:1fr 1fr}}
    @media(max-width:520px){.month-card{padding:15px}.weekdays,.month-grid{gap:4px}.day{min-height:55px;padding:5px}.day.trip-day small{font-size:.5rem}.schedule-row{grid-template-columns:60px 1fr}.schedule-row span{grid-column:2}.form-grid,.contact-cards{grid-template-columns:1fr}.field.full{grid-column:auto}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:210px}.gallery-item,.gallery-item:nth-child(n){grid-column:1;grid-row:span 1}.gallery-item:nth-child(1){grid-row:span 2}.content-head h2{font-size:3.05rem}}
  

/* Fresh TLOG performance layer: hero is eager; below-fold sections render near viewport. */
html.js .lazy-section{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease;content-visibility:auto;contain-intrinsic-size:1px 760px}
html.js .lazy-section.is-visible{opacity:1;transform:none}
.lazy-section{content-visibility:auto;contain-intrinsic-size:1px 760px}
img[loading="lazy"]{background:#e9eee9}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js .lazy-section{opacity:1;transform:none;transition:none}}
.toast{position:fixed;left:50%;bottom:110px;transform:translateX(-50%);z-index:100;background:#05291d;color:#fff;padding:12px 18px;border-radius:999px;box-shadow:0 15px 40px rgba(0,0,0,.25);font-size:.8rem;font-weight:800;display:none}.toast.show{display:block}


/* Performance: below-fold sections render only near the viewport. Hero stays eager. */
html.js .lazy-section{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;content-visibility:auto;contain-intrinsic-size:1px 760px}
html.js .lazy-section.is-visible{opacity:1;transform:none}
.lazy-section{content-visibility:auto;contain-intrinsic-size:1px 760px}
img[loading="lazy"]{background:#e9eee9}
.toast{position:fixed;left:50%;bottom:110px;transform:translateX(-50%);z-index:100;background:#05291d;color:#fff;padding:12px 18px;border-radius:999px;box-shadow:0 15px 40px rgba(0,0,0,.25);font-size:.8rem;font-weight:800;display:none}.toast.show{display:block}

/* V4 hero slider: keep the original V1 geometry. Only background + content changes. */
.hero-slider{position:relative}
.hero-bg-stack{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-bg-layer{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s ease}
.hero-bg-layer.is-active{opacity:1;visibility:visible}
.hero-bg-layer,.hero-bg-layer img{width:100%;height:100%}
.hero-bg-layer img.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:brightness(var(--slide-brightness,100%));transform:none!important;animation:none!important}
.hero-slider>.hero-shade{z-index:1;background:linear-gradient(90deg,rgba(2,21,14,var(--slide-overlay,.62)),rgba(2,21,14,.66) 56%,rgba(2,21,14,.25)),linear-gradient(0deg,rgba(2,21,14,.96),transparent 53%)}
.hero-slider>.hero-content{z-index:2}
.hero-copy-fixed{min-width:0;transition:opacity .14s ease}
.hero-copy-fixed.is-changing,.next-card.is-changing{opacity:.32}
.next-card{transition:opacity .14s ease}
.hero-controls{position:absolute;z-index:6;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:10px;width:auto!important}
.hero-controls button{border:1px solid rgba(255,255,255,.25);background:rgba(3,28,19,.50);color:white;backdrop-filter:blur(8px);cursor:pointer}
.hero-arrow{width:42px;height:42px;border-radius:50%;font-size:1.05rem;display:grid;place-items:center}
.hero-dots{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(3,28,19,.42);backdrop-filter:blur(8px)}
.hero-dot{width:9px;height:9px;border-radius:999px;padding:0;border:0!important;background:rgba(255,255,255,.48)!important;transition:width .2s ease,background .2s ease}
.hero-dot.is-active{width:27px;background:var(--lime)!important}

/* Tablet: same V1 positions, only tighten spacing. */
@media (min-width:821px) and (max-width:1180px){
  .hero-content{padding:135px 0 78px}
  .hero-grid{grid-template-columns:1.12fr .88fr;gap:34px}
  .hero h1{font-size:clamp(3.5rem,7vw,6rem)}
  .next-card{padding:22px}
  .hero-controls{bottom:14px}
}
@media(max-width:820px){
  .hero-controls{bottom:10px}
  .hero-arrow{width:38px;height:38px}
  .hero-dots{padding:7px 9px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.js .lazy-section{opacity:1;transform:none;transition:none}
  .hero-bg-layer,.hero-copy-fixed,.next-card{transition:none!important}
}


/* V7 mobile/tablet hero lock: every slide uses identical content + Next Departure geometry. */
@media (max-width:820px){
  .hero-slider{height:900px;min-height:900px;align-items:stretch}
  .hero-slider>.hero-content{position:absolute;inset:0;display:flex;align-items:flex-end;padding:112px 0 64px}
  .hero-slider .hero-grid{display:grid;grid-template-columns:1fr;grid-template-rows:480px 154px;gap:16px;align-items:end;width:min(100% - 32px,1160px)}
  .hero-slider .hero-copy-fixed{height:480px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
  .hero-slider .kicker{min-height:20px;flex:0 0 auto}
  .hero-slider h1{font-size:clamp(3.2rem,13vw,5.05rem);line-height:.88;margin:16px 0 18px;max-height:2.75em;overflow:hidden;flex:0 0 auto}
  .hero-slider .hero-lead{font-size:.94rem;line-height:1.45;min-height:2.9em;max-height:4.35em;overflow:hidden;flex:0 0 auto}
  .hero-slider .hero-actions{margin-top:18px;min-height:50px;flex:0 0 auto}
  .hero-slider .next-card{height:154px;min-height:154px;max-height:154px;padding:18px 19px;border-radius:22px;overflow:hidden;align-self:end}
  .hero-slider .next-card h2{margin:5px 0 11px;font-size:1.45rem;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hero-slider .next-date{padding-top:12px}
  .hero-slider .hero-controls{bottom:10px}
}
@media (max-width:430px){
  .hero-slider{height:880px;min-height:880px}
  .hero-slider>.hero-content{padding:104px 0 60px}
  .hero-slider .hero-grid{grid-template-rows:468px 150px;gap:14px;width:min(100% - 26px,1160px)}
  .hero-slider .hero-copy-fixed{height:468px}
  .hero-slider h1{font-size:clamp(3rem,12.8vw,4.4rem);max-height:2.8em}
  .hero-slider .hero-actions{display:flex;flex-wrap:nowrap;gap:8px;min-height:48px}
  .hero-slider .hero-actions .btn{width:auto;flex:1;padding:12px 10px;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hero-slider .next-card{height:150px;min-height:150px;max-height:150px}
}

/* V8 mobile-first hero audit: keep header, full copy, buttons and fixed Next Departure visible on first viewport. */
@media (max-width:820px){
  .topbar{padding:12px 0}
  .brand img{width:50px;height:50px;border-radius:16px}
  .mobile-menu summary{width:46px;height:46px;border-radius:14px}
  .hero-slider{height:100svh;min-height:700px;max-height:840px}
  .hero-slider .hero-bg-layer img.hero-bg{object-position:center center}
  .hero-slider>.hero-content{position:absolute;inset:0;display:block;padding:100px 0 58px}
  .hero-slider .hero-grid{height:100%;width:min(100% - 30px,1160px);display:grid;grid-template-columns:1fr;grid-template-rows:292px 128px;align-content:start;gap:14px}
  .hero-slider .hero-copy-fixed{height:292px;min-height:292px;max-height:292px;display:grid;grid-template-rows:20px 118px 64px 46px;align-content:start;overflow:visible}
  .hero-slider .kicker{height:20px;min-height:20px;line-height:20px;font-size:.62rem;letter-spacing:.17em;overflow:hidden;white-space:nowrap}
  .hero-slider .kicker:before{width:24px}
  .hero-slider h1{height:118px;min-height:118px;max-height:118px;margin:8px 0 0;font-size:clamp(2.85rem,12vw,4.35rem);line-height:.88;display:block;overflow:hidden}
  .hero-slider .hero-lead{height:64px;min-height:64px;max-height:64px;margin:0;padding-top:8px;font-size:.86rem;line-height:1.38;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
  .hero-slider .hero-actions{height:46px;min-height:46px;margin-top:6px;display:flex;flex-wrap:nowrap;gap:8px;overflow:hidden}
  .hero-slider .hero-actions .btn{height:44px;min-height:44px;width:auto;flex:1;padding:10px 10px;font-size:.70rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hero-slider .next-card{height:128px;min-height:128px;max-height:128px;padding:14px 16px;border-radius:20px;overflow:hidden;align-self:start}
  .hero-slider .next-card small{font-size:.58rem}
  .hero-slider .next-card h2{margin:4px 0 7px;font-size:1.32rem;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hero-slider .next-date{padding-top:9px;gap:10px}
  .hero-slider .next-date span{font-size:.72rem;line-height:1.3}
  .hero-slider .next-date strong{font-size:.92rem}
  .hero-slider .hero-controls{bottom:12px}
  .mobile-book{opacity:0;transform:translateY(calc(100% + 30px));pointer-events:none;transition:opacity .25s ease,transform .25s ease}
  body.hero-passed .mobile-book{opacity:1;transform:none;pointer-events:auto}
}
@media (max-width:430px){
  .hero-slider{height:100svh;min-height:680px;max-height:820px}
  .hero-slider>.hero-content{padding:94px 0 54px}
  .hero-slider .hero-grid{width:min(100% - 26px,1160px);grid-template-rows:280px 124px;gap:12px}
  .hero-slider .hero-copy-fixed{height:280px;min-height:280px;max-height:280px;grid-template-rows:18px 112px 62px 44px}
  .hero-slider .kicker{height:18px;min-height:18px;line-height:18px;font-size:.58rem}
  .hero-slider h1{height:112px;min-height:112px;max-height:112px;margin-top:7px;font-size:clamp(2.65rem,12.5vw,4rem)}
  .hero-slider .hero-lead{height:62px;min-height:62px;max-height:62px;font-size:.82rem;padding-top:7px}
  .hero-slider .hero-actions{height:44px;min-height:44px;margin-top:5px}
  .hero-slider .hero-actions .btn{height:42px;min-height:42px;font-size:.66rem;padding:9px 8px}
  .hero-slider .next-card{height:124px;min-height:124px;max-height:124px;padding:13px 15px}
  .hero-slider .next-card h2{font-size:1.22rem;margin:3px 0 6px}
  .hero-slider .next-date{padding-top:8px}
  .hero-slider .hero-controls{bottom:8px}
}

/* V8.1 final mobile hero geometry after local responsive audit. */
@media (max-width:820px){
  .hero-slider{height:100svh;min-height:700px;max-height:840px}
  .hero-slider>.hero-content{padding:108px 0 54px}
  .hero-slider .hero-grid{height:100%;width:min(100% - 28px,1160px);display:grid;grid-template-columns:1fr;grid-template-rows:272px 124px;align-content:start;gap:12px}
  .hero-slider .hero-copy-fixed{height:272px;min-height:272px;max-height:272px;display:block;overflow:visible}
  .hero-slider .kicker{height:18px;min-height:18px;line-height:18px;font-size:.60rem;letter-spacing:.16em;white-space:nowrap;overflow:hidden}
  .hero-slider h1{height:118px;min-height:118px;max-height:118px;margin:6px 0 7px;font-size:clamp(2.55rem,10.7vw,4.0rem);line-height:.88;overflow:hidden}
  .hero-slider .hero-lead{height:58px;min-height:58px;max-height:58px;margin:0;font-size:.84rem;line-height:1.36;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
  .hero-slider .hero-actions{height:44px;min-height:44px;margin-top:7px;display:flex;flex-wrap:nowrap;gap:8px;overflow:hidden}
  .hero-slider .hero-actions .btn{height:42px;min-height:42px;flex:1 1 0;width:auto;padding:9px 8px;font-size:.67rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hero-slider .next-card{height:124px;min-height:124px;max-height:124px;padding:13px 15px;border-radius:20px;overflow:hidden}
  .hero-slider .next-card small{font-size:.57rem}
  .hero-slider .next-card h2{margin:3px 0 6px;font-size:1.22rem;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hero-slider .next-date{padding-top:8px;gap:9px}
  .hero-slider .next-date span{font-size:.70rem;line-height:1.28}
  .hero-slider .next-date strong{font-size:.90rem}
  .hero-slider .hero-bg-layer img.hero-bg{object-position:50% 50%}
}
@media (max-width:430px){
  .topbar{padding:10px 0}
  .brand img{width:48px;height:48px}
  .brand strong{font-size:.84rem;letter-spacing:.15em}
  .mobile-menu summary{width:44px;height:44px}
  .hero-slider{height:100svh;min-height:670px;max-height:810px}
  .hero-slider>.hero-content{padding:92px 0 50px}
  .hero-slider .hero-grid{width:min(100% - 24px,1160px);grid-template-rows:262px 120px;gap:11px}
  .hero-slider .hero-copy-fixed{height:262px;min-height:262px;max-height:262px}
  .hero-slider .kicker{height:17px;min-height:17px;line-height:17px;font-size:.56rem;letter-spacing:.145em}
  .hero-slider h1{height:114px;min-height:114px;max-height:114px;margin:5px 0 6px;font-size:clamp(2.35rem,10.45vw,3.65rem)}
  .hero-slider .hero-lead{height:56px;min-height:56px;max-height:56px;font-size:.79rem;line-height:1.35}
  .hero-slider .hero-actions{height:42px;min-height:42px;margin-top:6px;gap:7px}
  .hero-slider .hero-actions .btn{height:40px;min-height:40px;padding:8px 7px;font-size:.63rem}
  .hero-slider .next-card{height:120px;min-height:120px;max-height:120px;padding:12px 14px;border-radius:18px}
  .hero-slider .next-card h2{font-size:1.15rem;margin:3px 0 5px}
  .hero-slider .next-date{padding-top:7px}
  .hero-slider .hero-controls{bottom:7px}
}
@media (max-width:430px) and (max-height:740px){
  .hero-slider{height:100svh;min-height:640px;max-height:740px}
  .hero-slider>.hero-content{padding:84px 0 46px}
  .hero-slider .hero-grid{grid-template-rows:244px 112px;gap:9px}
  .hero-slider .hero-copy-fixed{height:244px;min-height:244px;max-height:244px}
  .hero-slider h1{height:104px;min-height:104px;max-height:104px;font-size:clamp(2.18rem,9.8vw,3.35rem)}
  .hero-slider .hero-lead{height:52px;min-height:52px;max-height:52px;font-size:.75rem}
  .hero-slider .next-card{height:112px;min-height:112px;max-height:112px}
  .hero-slider .next-card h2{font-size:1.05rem}
  .hero-slider .next-date span{font-size:.66rem}
  .hero-slider .next-date strong{font-size:.84rem}
}

/* V9 mobile premium compact hero: preserve desktop/tablet, remove dead space on phones. */
@media (max-width:700px){
  .topbar{padding:11px 0}
  .brand{gap:10px}
  .brand img{width:50px;height:50px;border-radius:15px}
  .brand strong{font-size:.9rem;letter-spacing:.16em}
  .mobile-menu summary{width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.11);backdrop-filter:blur(10px)}

  .hero-slider{height:640px;min-height:640px;max-height:640px}
  .hero-slider>.hero-content{padding:96px 0 54px}
  .hero-slider .hero-grid{height:auto;width:min(100% - 28px,1160px);display:grid;grid-template-columns:1fr;grid-template-rows:240px 120px;align-content:start;gap:10px}
  .hero-slider .hero-copy-fixed{height:240px;min-height:240px;max-height:240px;display:block;overflow:hidden}

  .hero-slider .kicker{height:18px;min-height:18px;line-height:18px;font-size:.61rem;letter-spacing:.175em;font-weight:900;text-shadow:0 2px 12px rgba(0,0,0,.35)}
  .hero-slider .kicker:before{width:25px}
  .hero-slider h1{height:108px;min-height:108px;max-height:108px;margin:5px 0 7px;font-size:clamp(2.7rem,10.6vw,4rem);line-height:.84;letter-spacing:-.055em;overflow:hidden;text-shadow:0 4px 22px rgba(0,0,0,.28)}
  .hero-slider h1 em{display:block;color:var(--lime);font-style:italic;line-height:.84}
  .hero-slider .hero-lead{height:52px;min-height:52px;max-height:52px;margin:0;color:rgba(255,255,255,.9);font-size:.82rem;line-height:1.34;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;text-shadow:0 2px 10px rgba(0,0,0,.34)}
  .hero-slider .hero-actions{height:42px;min-height:42px;margin-top:6px;display:flex;flex-wrap:nowrap;gap:8px;overflow:hidden}
  .hero-slider .hero-actions .btn{height:40px;min-height:40px;flex:1 1 0;width:auto;padding:8px 10px;font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 9px 24px rgba(0,0,0,.14)}
  .hero-slider .hero-actions .btn-soft{background:rgba(4,32,23,.28);backdrop-filter:blur(8px)}

  .hero-slider .next-card{height:120px;min-height:120px;max-height:120px;padding:12px 15px;border-radius:19px;overflow:hidden;background:rgba(4,48,34,.82);border-color:rgba(255,255,255,.19);box-shadow:0 20px 45px rgba(0,0,0,.23);backdrop-filter:blur(12px)}
  .hero-slider .next-card small{font-size:.56rem;letter-spacing:.15em}
  .hero-slider .next-card h2{margin:3px 0 5px;font-size:1.15rem;line-height:1.04;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hero-slider .next-date{padding-top:7px;gap:8px}
  .hero-slider .next-date span{font-size:.68rem;line-height:1.24}
  .hero-slider .next-date strong{font-size:.88rem}

  .hero-slider .hero-controls{bottom:7px;gap:8px}
  .hero-slider .hero-arrow{width:36px;height:36px;font-size:.96rem}
  .hero-slider .hero-dots{padding:6px 8px;gap:6px}
  .hero-slider .hero-dot{width:8px;height:8px}
  .hero-slider .hero-dot.is-active{width:25px}
  .hero-slider .hero-bg-layer img.hero-bg{object-position:50% 50%}
}

@media (max-width:430px){
  .wrap{width:min(100% - 22px,1160px)}
  .topbar{padding:9px 0}
  .brand img{width:46px;height:46px;border-radius:14px}
  .brand strong{font-size:.82rem;letter-spacing:.145em}
  .mobile-menu summary{width:42px;height:42px}

  .hero-slider{height:560px;min-height:560px;max-height:560px}
  .hero-slider>.hero-content{padding:84px 0 48px}
  .hero-slider .hero-grid{width:min(100% - 22px,1160px);grid-template-rows:232px 112px;gap:9px}
  .hero-slider .hero-copy-fixed{height:232px;min-height:232px;max-height:232px}
  .hero-slider .kicker{height:17px;min-height:17px;line-height:17px;font-size:.54rem;letter-spacing:.145em}
  .hero-slider .kicker:before{width:22px}
  .hero-slider h1{height:102px;min-height:102px;max-height:102px;margin:4px 0 6px;font-size:clamp(2.35rem,11.2vw,3.4rem);line-height:.84}
  .hero-slider .hero-lead{height:50px;min-height:50px;max-height:50px;font-size:.75rem;line-height:1.32;-webkit-line-clamp:3}
  .hero-slider .hero-actions{height:40px;min-height:40px;margin-top:5px;gap:7px}
  .hero-slider .hero-actions .btn{height:38px;min-height:38px;padding:7px 7px;font-size:.60rem}
  .hero-slider .next-card{height:112px;min-height:112px;max-height:112px;padding:11px 13px;border-radius:17px}
  .hero-slider .next-card small{font-size:.53rem}
  .hero-slider .next-card h2{font-size:1.05rem;margin:2px 0 4px}
  .hero-slider .next-date{padding-top:6px}
  .hero-slider .next-date span{font-size:.63rem}
  .hero-slider .next-date strong{font-size:.82rem}
  .hero-slider .hero-controls{bottom:6px}
}

@media (max-width:430px) and (max-height:680px){
  .hero-slider{height:540px;min-height:540px;max-height:540px}
  .hero-slider>.hero-content{padding:78px 0 45px}
  .hero-slider .hero-grid{grid-template-rows:224px 106px;gap:8px}
  .hero-slider .hero-copy-fixed{height:224px;min-height:224px;max-height:224px}
  .hero-slider h1{height:96px;min-height:96px;max-height:96px;font-size:clamp(2.2rem,10.7vw,3.15rem)}
  .hero-slider .hero-lead{height:47px;min-height:47px;max-height:47px;font-size:.71rem}
  .hero-slider .next-card{height:106px;min-height:106px;max-height:106px}
  .hero-slider .hero-controls{bottom:5px}
}


/* V10 MOBILE ONLY: keep current image size, slightly larger premium typography, move Next Departure lower and enlarge it. Desktop/tablet unchanged. */
@media (max-width:700px){
  .hero-slider{height:900px!important;min-height:900px!important;max-height:900px!important}
  .hero-slider>.hero-content{padding:104px 0 76px!important}
  .hero-slider .hero-grid{height:100%!important;width:min(100% - 30px,1160px)!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;align-items:stretch!important;gap:0!important}
  .hero-slider .hero-copy-fixed{height:auto!important;min-height:0!important;max-height:none!important;display:block!important;overflow:visible!important;padding-top:24px!important}
  .hero-slider .kicker{height:auto!important;min-height:0!important;line-height:1.15!important;font-size:.68rem!important;letter-spacing:.18em!important;margin:0 0 10px!important}
  .hero-slider .kicker:before{width:28px!important}
  .hero-slider h1{height:auto!important;min-height:0!important;max-height:none!important;margin:0 0 16px!important;font-size:clamp(2.95rem,11vw,4.35rem)!important;line-height:.91!important;letter-spacing:-.045em!important;overflow:visible!important}
  .hero-slider h1 em{line-height:.91!important}
  .hero-slider .hero-lead{height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;font-size:.94rem!important;line-height:1.42!important;-webkit-line-clamp:3!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  .hero-slider .hero-actions{height:auto!important;min-height:0!important;margin-top:18px!important;display:flex!important;flex-wrap:nowrap!important;gap:10px!important;overflow:visible!important}
  .hero-slider .hero-actions .btn{height:48px!important;min-height:48px!important;flex:1 1 0!important;width:auto!important;padding:11px 12px!important;font-size:.74rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;border-radius:999px!important}
  .hero-slider .next-card{height:180px!important;min-height:180px!important;max-height:180px!important;padding:20px 20px 18px!important;border-radius:26px!important;overflow:hidden!important;align-self:stretch!important;margin:0!important;background:rgba(4,48,34,.86)!important;box-shadow:0 24px 55px rgba(0,0,0,.28)!important}
  .hero-slider .next-card small{font-size:.64rem!important;letter-spacing:.17em!important}
  .hero-slider .next-card h2{margin:8px 0 15px!important;font-size:1.58rem!important;line-height:1.08!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .hero-slider .next-date{padding-top:14px!important;gap:12px!important}
  .hero-slider .next-date span{font-size:.80rem!important;line-height:1.35!important}
  .hero-slider .next-date strong{font-size:1.08rem!important}
  .hero-slider .hero-controls{bottom:11px!important}
}

@media (max-width:430px){
  .hero-slider{height:880px!important;min-height:880px!important;max-height:880px!important}
  .hero-slider>.hero-content{padding:90px 0 72px!important}
  .hero-slider .hero-grid{width:min(100% - 24px,1160px)!important}
  .hero-slider .hero-copy-fixed{padding-top:22px!important}
  .hero-slider .kicker{font-size:.61rem!important;letter-spacing:.16em!important;margin-bottom:9px!important}
  .hero-slider h1{font-size:clamp(2.75rem,12vw,3.75rem)!important;line-height:.90!important;margin-bottom:14px!important}
  .hero-slider h1 em{line-height:.90!important}
  .hero-slider .hero-lead{font-size:.84rem!important;line-height:1.38!important}
  .hero-slider .hero-actions{margin-top:15px!important;gap:8px!important}
  .hero-slider .hero-actions .btn{height:45px!important;min-height:45px!important;padding:9px 8px!important;font-size:.67rem!important}
  .hero-slider .next-card{height:170px!important;min-height:170px!important;max-height:170px!important;padding:18px 17px 16px!important;border-radius:23px!important}
  .hero-slider .next-card small{font-size:.59rem!important}
  .hero-slider .next-card h2{font-size:1.42rem!important;margin:7px 0 13px!important}
  .hero-slider .next-date{padding-top:12px!important}
  .hero-slider .next-date span{font-size:.74rem!important}
  .hero-slider .next-date strong{font-size:1rem!important}
  .hero-slider .hero-controls{bottom:10px!important}
}

/* V11 MOBILE ONLY — keep desktop/tablet unchanged. Compact image height; keep copy geometry fixed; place Next Departure in the requested mid-lower slot; navigation directly below. */
@media (max-width:700px){
  .hero-slider{height:820px!important;min-height:820px!important;max-height:820px!important}
  .hero-slider>.hero-content{position:absolute!important;inset:0!important;display:block!important;padding:138px 0 0!important}
  .hero-slider .hero-grid{height:auto!important;width:min(100% - 28px,1160px)!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:0!important}
  .hero-slider .hero-copy-fixed{height:330px!important;min-height:330px!important;max-height:330px!important;padding-top:0!important;display:block!important;overflow:visible!important}
  .hero-slider .kicker{font-size:.66rem!important;line-height:1.15!important;letter-spacing:.17em!important;margin:0 0 9px!important}
  .hero-slider .kicker:before{width:28px!important}
  .hero-slider h1{font-size:clamp(3rem,11.1vw,4.35rem)!important;line-height:.90!important;letter-spacing:-.045em!important;margin:0 0 14px!important;max-height:none!important;overflow:visible!important}
  .hero-slider h1 em{line-height:.90!important}
  .hero-slider .hero-lead{font-size:.92rem!important;line-height:1.38!important;margin:0!important;max-width:100%!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important}
  .hero-slider .hero-actions{height:48px!important;min-height:48px!important;margin-top:17px!important;display:flex!important;flex-wrap:nowrap!important;gap:9px!important;overflow:visible!important}
  .hero-slider .hero-actions .btn{height:48px!important;min-height:48px!important;flex:1 1 0!important;width:auto!important;padding:10px 10px!important;font-size:.72rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;border-radius:999px!important}
  .hero-slider .next-card{position:relative!important;inset:auto!important;width:100%!important;height:154px!important;min-height:154px!important;max-height:154px!important;margin:120px 0 0!important;padding:18px 18px 15px!important;border-radius:24px!important;overflow:hidden!important;background:rgba(4,48,34,.89)!important;box-shadow:0 18px 45px rgba(0,0,0,.25)!important}
  .hero-slider .next-card small{font-size:.60rem!important;letter-spacing:.16em!important}
  .hero-slider .next-card h2{margin:6px 0 10px!important;font-size:1.46rem!important;line-height:1.08!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .hero-slider .next-date{padding-top:10px!important;gap:10px!important}
  .hero-slider .next-date span{font-size:.73rem!important;line-height:1.3!important}
  .hero-slider .next-date strong{font-size:1rem!important}
  .hero-slider .hero-controls{position:absolute!important;left:50%!important;right:auto!important;top:756px!important;bottom:auto!important;transform:translateX(-50%)!important;margin:0!important;width:max-content!important;gap:8px!important}
  .hero-slider .hero-arrow{width:36px!important;height:36px!important}
  .hero-slider .hero-dots{padding:6px 8px!important;gap:6px!important}
  .hero-slider .hero-dot{width:8px!important;height:8px!important}
  .hero-slider .hero-dot.is-active{width:24px!important}
  .hero-slider .hero-bg-layer img.hero-bg{object-position:center center!important}
}
@media (max-width:430px){
  .hero-slider{height:740px!important;min-height:740px!important;max-height:740px!important}
  .hero-slider>.hero-content{padding:112px 0 0!important}
  .hero-slider .hero-grid{width:min(100% - 22px,1160px)!important}
  .hero-slider .hero-copy-fixed{height:285px!important;min-height:285px!important;max-height:285px!important}
  .hero-slider .kicker{font-size:.58rem!important;letter-spacing:.15em!important;margin-bottom:8px!important}
  .hero-slider h1{font-size:clamp(2.72rem,12vw,3.72rem)!important;line-height:.90!important;margin-bottom:12px!important}
  .hero-slider .hero-lead{font-size:.82rem!important;line-height:1.34!important;-webkit-line-clamp:3!important}
  .hero-slider .hero-actions{height:44px!important;min-height:44px!important;margin-top:14px!important;gap:7px!important}
  .hero-slider .hero-actions .btn{height:44px!important;min-height:44px!important;padding:8px 7px!important;font-size:.64rem!important}
  .hero-slider .next-card{height:146px!important;min-height:146px!important;max-height:146px!important;margin-top:80px!important;padding:16px 16px 14px!important;border-radius:22px!important}
  .hero-slider .next-card small{font-size:.57rem!important}
  .hero-slider .next-card h2{font-size:1.34rem!important;margin:5px 0 9px!important}
  .hero-slider .next-date{padding-top:9px!important}
  .hero-slider .next-date span{font-size:.70rem!important}
  .hero-slider .next-date strong{font-size:.96rem!important}
  .hero-slider .hero-controls{top:640px!important}
  .hero-slider .hero-arrow{width:34px!important;height:34px!important}
}


/* V12 MOBILE typography/spacing polish + responsive image framing.
   Desktop geometry is untouched. Tablet receives only dedicated compact imagery. */
@media (max-width:700px){
  .hero-slider .hero-copy-fixed{height:342px!important;min-height:342px!important;max-height:342px!important}
  .hero-slider .kicker{font-size:.72rem!important;line-height:1.18!important;letter-spacing:.175em!important;margin-bottom:10px!important}
  .hero-slider .kicker:before{width:30px!important}
  .hero-slider h1{font-size:clamp(3.12rem,11.6vw,4.48rem)!important;line-height:.89!important;margin-bottom:15px!important}
  .hero-slider h1 em{line-height:.89!important}
  .hero-slider .hero-lead{font-size:.94rem!important;line-height:1.40!important}
  .hero-slider .hero-actions{margin-top:23px!important}
  .hero-slider .next-card{height:168px!important;min-height:168px!important;max-height:168px!important;margin-top:104px!important;padding:20px 19px 17px!important}
  .hero-slider .next-card h2{font-size:1.50rem!important;margin:7px 0 11px!important}
  .hero-slider .hero-controls{top:774px!important}
}
@media (max-width:430px){
  .hero-slider .hero-copy-fixed{height:300px!important;min-height:300px!important;max-height:300px!important}
  .hero-slider .kicker{font-size:.64rem!important;letter-spacing:.155em!important;margin-bottom:9px!important}
  .hero-slider h1{font-size:clamp(2.86rem,12.45vw,3.86rem)!important;line-height:.89!important;margin-bottom:13px!important}
  .hero-slider .hero-lead{font-size:.84rem!important;line-height:1.36!important}
  .hero-slider .hero-actions{margin-top:20px!important}
  .hero-slider .next-card{height:158px!important;min-height:158px!important;max-height:158px!important;margin-top:65px!important;padding:18px 17px 15px!important}
  .hero-slider .next-card h2{font-size:1.40rem!important;margin:6px 0 10px!important}
  .hero-slider .hero-controls{top:656px!important}
}

/* V13 MOBILE ONLY — match the proportions/spacing of the supplied tlog-ceylon-full-homepage-v4.html.
   IMPORTANT: slider image files, image dimensions, object-fit and focal positions are intentionally untouched.
   Desktop/tablet rules remain exactly as V12. */
@media (max-width:700px){
  body{padding-bottom:98px}
  .topbar{padding:16px 0!important}
  .brand img{width:52px!important;height:52px!important;border-radius:17px!important}
  .brand small{display:none}
  .mobile-menu summary{width:48px!important;height:48px!important;border-radius:15px!important}

  .hero-slider{height:720px!important;min-height:720px!important;max-height:720px!important;align-items:flex-end!important}
  .hero-slider>.hero-shade{background:linear-gradient(180deg,rgba(2,21,14,.38),rgba(2,21,14,.88) 58%,rgba(2,21,14,.98))!important}
  .hero-slider>.hero-content{position:relative!important;inset:auto!important;display:block!important;width:100%!important;padding:125px 0 55px!important}
  .hero-slider .hero-grid{height:auto!important;width:min(1160px,calc(100% - 32px))!important;margin:auto!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto!important;gap:27px!important;align-items:end!important;align-content:normal!important}

  .hero-slider .hero-copy-fixed{height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;display:block!important;overflow:visible!important}
  .hero-slider .kicker{height:auto!important;min-height:0!important;line-height:1.3!important;font-size:.72rem!important;font-weight:900!important;letter-spacing:.20em!important;margin:0!important;white-space:normal!important;overflow:visible!important}
  .hero-slider .kicker:before{width:30px!important}
  .hero-slider h1{height:auto!important;min-height:0!important;max-height:none!important;font-size:clamp(3.5rem,14vw,5.8rem)!important;line-height:.90!important;letter-spacing:-.055em!important;margin:22px 0 24px!important;overflow:visible!important;text-shadow:none!important}
  .hero-slider h1 em{display:inline!important;font-weight:500!important;font-style:italic!important;line-height:inherit!important}
  .hero-slider .hero-lead{height:auto!important;min-height:0!important;max-height:none!important;max-width:620px!important;margin:0!important;padding:0!important;color:rgba(255,255,255,.76)!important;font-size:.95rem!important;line-height:1.55!important;display:block!important;overflow:visible!important;text-shadow:none!important}
  .hero-slider .hero-actions{height:auto!important;min-height:0!important;margin-top:30px!important;display:flex!important;flex-wrap:wrap!important;gap:12px!important;overflow:visible!important}
  .hero-slider .hero-actions .btn{height:auto!important;min-height:0!important;width:auto!important;flex:0 0 auto!important;border-radius:999px!important;padding:14px 20px!important;font-size:.86rem!important;font-weight:900!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;box-shadow:none!important}

  .hero-slider .next-card{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:208px!important;max-height:none!important;margin:0!important;padding:24px 20px 22px!important;border-radius:22px!important;overflow:visible!important;align-self:auto!important;background:rgba(5,47,33,.74)!important;box-shadow:0 28px 70px rgba(0,0,0,.24)!important;backdrop-filter:blur(12px)!important}
  .hero-slider .next-card small{font-size:.66rem!important;letter-spacing:.16em!important}
  .hero-slider .next-card h2{margin:8px 0 18px!important;font-size:1.58rem!important;line-height:1.1!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .hero-slider .next-date{padding-top:20px!important;gap:15px!important;align-items:end!important}
  .hero-slider .next-date span{font-size:.8rem!important;line-height:1.4!important}
  .hero-slider .next-date strong{font-size:1rem!important}

  .hero-slider .hero-controls{position:absolute!important;left:50%!important;right:auto!important;top:auto!important;bottom:-8px!important;transform:translateX(-50%)!important;margin:0!important;width:max-content!important;gap:8px!important}
  .hero-slider .hero-arrow{width:38px!important;height:38px!important}
  .hero-slider .hero-dots{padding:7px 9px!important;gap:7px!important}
}

@media (max-width:430px){
  .wrap{width:min(100% - 26px,1160px)}
  .brand strong{font-size:.87rem!important}
  .hero-slider .hero-grid{width:min(100% - 26px,1160px)!important;gap:27px!important}
  .hero-slider .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .hero-slider .hero-actions .btn{width:100%!important;justify-content:center!important}
  .hero-slider .next-card{min-height:194px!important;padding:22px 18px 20px!important}
  .hero-slider .hero-controls{bottom:-10px!important}
}


/* V14 — configurable premium mobile bottom navigation with center notch. */
.mobile-bottom-nav{display:none}
@media (max-width:820px){
  body{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .mobile-book{display:none!important}
  .mobile-bottom-nav{position:fixed;z-index:120;left:12px;right:12px;bottom:max(9px,env(safe-area-inset-bottom));height:72px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;padding:0 5px;color:#eaf5ef;isolation:isolate;filter:drop-shadow(0 16px 28px rgba(0,0,0,.34))}
  .mobile-bottom-nav__surface{position:absolute;inset:0;z-index:-1;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:linear-gradient(180deg,rgba(5,49,34,.97),rgba(3,34,24,.985));box-shadow:inset 0 1px 0 rgba(255,255,255,.05);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);-webkit-mask:radial-gradient(circle 37px at 50% 0,transparent 0 36px,#000 37px);mask:radial-gradient(circle 37px at 50% 0,transparent 0 36px,#000 37px)}
  .mobile-nav-item{height:64px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:rgba(236,247,240,.78);text-decoration:none;font-size:9.5px;font-weight:800;line-height:1;letter-spacing:.015em;-webkit-tap-highlight-color:transparent;transition:transform .18s ease,color .18s ease}
  .mobile-nav-item:active{transform:scale(.94)}
  .mobile-nav-item--1{grid-column:1}.mobile-nav-item--2{grid-column:2}.mobile-nav-item--3{grid-column:3}.mobile-nav-item--4{grid-column:4}.mobile-nav-item--5{grid-column:5}
  .mobile-nav-icon{width:23px;height:23px;display:block;flex:0 0 auto}
  .mobile-nav-item.is-whatsapp .mobile-nav-icon{color:#25d366;width:25px;height:25px}
  .mobile-nav-item.is-home{align-self:start;position:relative;height:88px;margin-top:-27px;justify-content:flex-start;gap:5px;color:#fff;overflow:visible}
  .mobile-nav-item.is-home .mobile-nav-icon{width:58px;height:58px;padding:15px;border-radius:50%;background:var(--lime);color:#062f21;border:5px solid #073425;box-shadow:0 9px 22px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.18);box-sizing:border-box}
  .mobile-nav-item.is-home span{font-size:9px;font-weight:900;color:#eef8f2;text-shadow:0 1px 6px rgba(0,0,0,.45)}
}
@media (max-width:370px){
  .mobile-bottom-nav{left:8px;right:8px;height:68px}
  .mobile-nav-item{font-size:8.5px}
  .mobile-nav-icon{width:21px;height:21px}
  .mobile-nav-item.is-home{margin-top:-25px}
  .mobile-nav-item.is-home .mobile-nav-icon{width:54px;height:54px;padding:14px}
}
@media (min-width:821px){.mobile-bottom-nav{display:none!important}}

/* V15 — mobile slider lock + click-away menu + premium scroll reveal.
   Keeps every hero slide's kicker/title/description/buttons in the same slots. */
@media (max-width:700px){
  .hero-slider>.hero-content{padding-top:118px!important;padding-bottom:48px!important}
  .hero-slider .hero-grid{grid-template-rows:314px auto!important;gap:20px!important;align-content:start!important}
  .hero-slider .hero-copy-fixed{
    height:314px!important;min-height:314px!important;max-height:314px!important;
    display:grid!important;grid-template-rows:26px 112px 70px 106px!important;
    row-gap:0!important;align-content:start!important;overflow:visible!important;
  }
  .hero-slider .kicker{
    height:26px!important;min-height:26px!important;max-height:26px!important;
    margin:0!important;align-self:start!important;display:inline-flex!important;align-items:center!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  .hero-slider h1{
    height:112px!important;min-height:112px!important;max-height:112px!important;
    margin:0!important;padding:11px 0 6px!important;box-sizing:border-box!important;
    display:block!important;overflow:hidden!important;
  }
  .hero-slider .hero-lead{
    height:70px!important;min-height:70px!important;max-height:70px!important;
    margin:0!important;padding:4px 0 0!important;box-sizing:border-box!important;
    display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;
    overflow:hidden!important;
  }
  .hero-slider .hero-actions{
    height:106px!important;min-height:106px!important;max-height:106px!important;
    margin:0!important;padding-top:10px!important;box-sizing:border-box!important;
    display:grid!important;grid-template-columns:1fr!important;grid-template-rows:44px 44px!important;
    gap:10px!important;align-content:start!important;overflow:hidden!important;
  }
  .hero-slider .hero-actions .btn{
    width:100%!important;height:44px!important;min-height:44px!important;max-height:44px!important;
    margin:0!important;padding:0 16px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  .hero-slider .next-card{margin:0!important}
}
@media (max-width:430px){
  .hero-slider>.hero-content{padding-top:108px!important;padding-bottom:44px!important}
  .hero-slider .hero-grid{grid-template-rows:300px auto!important;gap:18px!important}
  .hero-slider .hero-copy-fixed{
    height:300px!important;min-height:300px!important;max-height:300px!important;
    grid-template-rows:24px 106px 68px 102px!important;
  }
  .hero-slider .kicker{height:24px!important;min-height:24px!important;max-height:24px!important}
  .hero-slider h1{
    height:106px!important;min-height:106px!important;max-height:106px!important;
    padding:9px 0 5px!important;font-size:clamp(2.62rem,11.7vw,3.64rem)!important;line-height:.90!important;
  }
  .hero-slider .hero-lead{
    height:68px!important;min-height:68px!important;max-height:68px!important;
    padding-top:3px!important;font-size:.84rem!important;line-height:1.38!important;
  }
  .hero-slider .hero-actions{
    height:102px!important;min-height:102px!important;max-height:102px!important;
    padding-top:8px!important;grid-template-rows:42px 42px!important;gap:8px!important;
  }
  .hero-slider .hero-actions .btn{height:42px!important;min-height:42px!important;max-height:42px!important;font-size:.72rem!important}
  .hero-slider h1.is-long-title{font-size:clamp(2.28rem,10.3vw,3.15rem)!important;letter-spacing:-.045em!important}
  .hero-slider h1.is-xlong-title{font-size:clamp(2.06rem,9.35vw,2.82rem)!important;letter-spacing:-.04em!important}
}

/* Every enabled homepage section reveals as it enters the viewport. */
html.js .lazy-section{opacity:1!important;transform:none!important;transition:none!important}
html.js .lazy-section .season-head,
html.js .lazy-section .quick-list,
html.js .lazy-section .trip,
html.js .lazy-section .promise-grid>div,
html.js .lazy-section .benefit,
html.js .lazy-section .content-head,
html.js .lazy-section .month-card,
html.js .lazy-section .schedule-card,
html.js .lazy-section .booking-info,
html.js .lazy-section .booking-form,
html.js .lazy-section .gallery-item,
html.js .lazy-section .contact-copy,
html.js .lazy-section .contact-card{
  opacity:0;
  transform:translate3d(0,28px,0) scale(.985);
  filter:blur(2px);
  transition:opacity .66s cubic-bezier(.2,.7,.2,1),transform .72s cubic-bezier(.2,.7,.2,1),filter .58s ease;
  will-change:opacity,transform,filter;
}
html.js .lazy-section.is-visible .season-head,
html.js .lazy-section.is-visible .quick-list,
html.js .lazy-section.is-visible .trip,
html.js .lazy-section.is-visible .promise-grid>div,
html.js .lazy-section.is-visible .benefit,
html.js .lazy-section.is-visible .content-head,
html.js .lazy-section.is-visible .month-card,
html.js .lazy-section.is-visible .schedule-card,
html.js .lazy-section.is-visible .booking-info,
html.js .lazy-section.is-visible .booking-form,
html.js .lazy-section.is-visible .gallery-item,
html.js .lazy-section.is-visible .contact-copy,
html.js .lazy-section.is-visible .contact-card{
  opacity:1;transform:none;filter:none;
}
html.js .lazy-section.is-visible .quick-list{transition-delay:.07s}
html.js .lazy-section.is-visible .trip:nth-child(1),
html.js .lazy-section.is-visible .benefit:nth-child(1),
html.js .lazy-section.is-visible .gallery-item:nth-child(1),
html.js .lazy-section.is-visible .contact-card:nth-child(1){transition-delay:.08s}
html.js .lazy-section.is-visible .trip:nth-child(2),
html.js .lazy-section.is-visible .benefit:nth-child(2),
html.js .lazy-section.is-visible .gallery-item:nth-child(2),
html.js .lazy-section.is-visible .contact-card:nth-child(2){transition-delay:.14s}
html.js .lazy-section.is-visible .trip:nth-child(3),
html.js .lazy-section.is-visible .benefit:nth-child(3),
html.js .lazy-section.is-visible .gallery-item:nth-child(3),
html.js .lazy-section.is-visible .contact-card:nth-child(3){transition-delay:.20s}
html.js .lazy-section.is-visible .trip:nth-child(4),
html.js .lazy-section.is-visible .benefit:nth-child(4),
html.js .lazy-section.is-visible .gallery-item:nth-child(4),
html.js .lazy-section.is-visible .contact-card:nth-child(4){transition-delay:.26s}
html.js .lazy-section.is-visible .trip:nth-child(n+5),
html.js .lazy-section.is-visible .gallery-item:nth-child(n+5){transition-delay:.30s}
html.js .lazy-section.is-visible .schedule-card,
html.js .lazy-section.is-visible .booking-form{transition-delay:.12s}

@media (prefers-reduced-motion:reduce){
  html.js .lazy-section .season-head,
  html.js .lazy-section .quick-list,
  html.js .lazy-section .trip,
  html.js .lazy-section .promise-grid>div,
  html.js .lazy-section .benefit,
  html.js .lazy-section .content-head,
  html.js .lazy-section .month-card,
  html.js .lazy-section .schedule-card,
  html.js .lazy-section .booking-info,
  html.js .lazy-section .booking-form,
  html.js .lazy-section .gallery-item,
  html.js .lazy-section .contact-copy,
  html.js .lazy-section .contact-card{
    opacity:1!important;transform:none!important;filter:none!important;transition:none!important
  }
}


/* V16 — mobile polish: smaller hero titles, aligned Home label, blue Call icon. */
@media (max-width:820px){
  .mobile-nav-item.is-call .mobile-nav-icon{color:#2f8cff}
  /* Keep Home text on exactly the same label line as the four side items,
     while the round Home icon remains raised inside the center notch. */
  .mobile-nav-item.is-home span{
    position:absolute!important;
    top:72px!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:100%!important;
    text-align:center!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
}

@media (max-width:700px){
  /* Slightly smaller topic typography on phones without changing any slide slot. */
  .hero-slider h1{
    font-size:clamp(2.45rem,10.65vw,3.45rem)!important;
    line-height:.91!important;
  }
}
@media (max-width:430px){
  .hero-slider h1{
    font-size:clamp(2.28rem,10.15vw,3.10rem)!important;
    line-height:.91!important;
  }
  .hero-slider h1.is-long-title{
    font-size:clamp(2.05rem,9.25vw,2.78rem)!important;
    letter-spacing:-.042em!important;
  }
  .hero-slider h1.is-xlong-title{
    font-size:clamp(1.88rem,8.55vw,2.52rem)!important;
    letter-spacing:-.036em!important;
  }
}
@media (max-width:370px){
  .mobile-nav-item.is-home span{top:66px!important}
}

/* V17 — single-button Sinhala / English switch beside the mobile hamburger. */
.mobile-header-actions{display:none;align-items:center;gap:8px;flex:0 0 auto}
.language-toggle{
  width:48px;height:48px;border:1px solid rgba(255,255,255,.34);border-radius:15px;
  background:rgba(255,255,255,.10);color:#fff;display:grid;place-items:center;
  padding:0;margin:0;font:900 .78rem/1 Arial,Helvetica,sans-serif;letter-spacing:.02em;
  cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:none;appearance:none;-webkit-appearance:none;
}
.language-toggle:active{transform:scale(.97)}
.language-toggle:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
@media (max-width:820px){
  .mobile-header-actions{display:flex}
  .mobile-header-actions .mobile-menu{display:block}
}
@media (max-width:700px){
  .language-toggle,.mobile-header-actions .mobile-menu summary{
    width:48px!important;height:48px!important;border-radius:15px!important;
  }
}
@media (max-width:380px){
  .mobile-header-actions{gap:6px}
  .language-toggle,.mobile-header-actions .mobile-menu summary{width:44px!important;height:44px!important;border-radius:14px!important}
  .language-toggle{font-size:.72rem}
}

/* Sinhala typography: keep the same hero slots while preventing Sinhala glyph clipping. */
html[lang="si"] .kicker{letter-spacing:.04em!important;text-transform:none!important}
html[lang="si"] h1,html[lang="si"] h2,html[lang="si"] h3{font-family:Arial,Helvetica,sans-serif;letter-spacing:0}
@media (max-width:700px){
  html[lang="si"] .hero-slider h1{font-size:clamp(2.05rem,9.2vw,2.92rem)!important;line-height:1.05!important;letter-spacing:0!important;padding-top:7px!important}
  html[lang="si"] .hero-slider h1.is-long-title,html[lang="si"] .hero-slider h1.is-xlong-title{font-size:clamp(1.98rem,8.9vw,2.75rem)!important;letter-spacing:0!important}
  html[lang="si"] .hero-slider .hero-lead{font-size:.80rem!important;line-height:1.42!important}
}


/* V18 — language switch on desktop/tablet + redesigned automatic Next Departure.
   Existing Next Departure card dimensions remain untouched at every breakpoint. */
.mobile-header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
@media (min-width:821px){
  .mobile-header-actions{display:flex!important}
  .mobile-header-actions .mobile-menu{display:none!important}
  .language-toggle{width:48px!important;height:48px!important;border-radius:15px!important}
}
@media (max-width:820px){
  .mobile-header-actions{display:flex!important}
  .mobile-header-actions .mobile-menu{display:block!important}
}

.next-card{display:flex;flex-direction:column;justify-content:flex-start}
.next-card .next-label{display:block;flex:0 0 auto}
.next-card h2[data-fit-departure-title]{
  width:100%;max-width:100%;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;
  transform-origin:left center;
}
.next-departure-row{
  margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding-top:12px;
  display:grid;grid-template-columns:minmax(0,1fr) 62px;gap:13px;align-items:center;min-width:0;
}
.next-departure-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}
.next-starts{font-size:.56rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.52)}
.next-countdown{display:block;color:var(--lime);font-size:1rem;line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.next-meta{display:flex;align-items:center;gap:6px;min-width:0;color:rgba(255,255,255,.66);font-size:.68rem;line-height:1.18;white-space:nowrap;overflow:hidden}
.next-meta>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.next-meta i{font-style:normal;color:rgba(255,255,255,.34);flex:0 0 auto}
.next-meta strong{color:#fff;font-size:.70rem;flex:0 0 auto}
.next-calendar{
  width:62px;height:64px;border-radius:13px;overflow:hidden;background:#fff;color:var(--dark);
  display:grid;grid-template-rows:21px 1fr;text-align:center;align-self:center;
  box-shadow:0 10px 24px rgba(0,0,0,.20),inset 0 0 0 1px rgba(255,255,255,.65);
}
.next-calendar span{
  display:grid;place-items:center;background:var(--lime);color:#0b3e2d;font-size:.54rem;font-weight:1000;
  letter-spacing:.13em;text-transform:uppercase;line-height:1;
}
.next-calendar b{display:grid;place-items:center;font:700 1.45rem/1 Georgia,"Times New Roman",serif;letter-spacing:-.04em}

@media (min-width:821px){
  /* Keep the desktop card at its previous visual height: the calendar tile is compact
     and the title spacing is tightened instead of growing the outer card. */
  .next-card h2[data-fit-departure-title]{margin:7px 0 8px}
  .next-departure-row{grid-template-columns:minmax(0,1fr) 52px;gap:13px;padding-top:6px}
  .next-calendar{width:52px;height:54px;grid-template-rows:18px 1fr;border-radius:11px}
  .next-calendar span{font-size:.46rem}
  .next-calendar b{font-size:1.22rem}
  .next-countdown{font-size:.92rem}
  .next-starts{font-size:.52rem}
}
@media (max-width:820px){
  .hero-slider .next-card .next-departure-row{margin-top:auto!important;padding-top:8px!important;grid-template-columns:minmax(0,1fr) 54px!important;gap:9px!important}
  .hero-slider .next-card .next-calendar{width:54px!important;height:56px!important;border-radius:11px!important;grid-template-rows:18px 1fr!important}
  .hero-slider .next-card .next-calendar span{font-size:.46rem!important}
  .hero-slider .next-card .next-calendar b{font-size:1.22rem!important}
  .hero-slider .next-card .next-starts{font-size:.48rem!important;letter-spacing:.10em!important}
  .hero-slider .next-card .next-countdown{font-size:.82rem!important}
  .hero-slider .next-card .next-meta{font-size:.58rem!important;gap:4px!important}
  .hero-slider .next-card .next-meta strong{font-size:.60rem!important}
}
@media (max-width:430px){
  .hero-slider .next-card .next-departure-row{grid-template-columns:minmax(0,1fr) 50px!important;gap:8px!important;padding-top:7px!important}
  .hero-slider .next-card .next-calendar{width:50px!important;height:52px!important;grid-template-rows:17px 1fr!important}
  .hero-slider .next-card .next-calendar b{font-size:1.12rem!important}
  .hero-slider .next-card .next-countdown{font-size:.76rem!important}
  .hero-slider .next-card .next-meta{font-size:.54rem!important}
}
html[lang="si"] .next-starts{letter-spacing:.02em;text-transform:none}


/* V19 — corrected Next Departure information hierarchy.
   IMPORTANT: this only changes the inside layout. Existing outer card widths/heights
   from earlier responsive rules are intentionally preserved. */
.next-card-v19{
  color:#fff;
  cursor:pointer;
  overflow:hidden;
  isolation:isolate;
}
.next-card-v19:hover{border-color:rgba(201,240,117,.42)}
.next-card-v19:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.next-label-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:18px;flex:0 0 auto;
}
.next-card-v19 .next-label{margin:0!important;line-height:1.1}
.next-whatsapp-mark{
  width:23px;height:23px;border-radius:999px;display:grid;place-items:center;flex:0 0 auto;
  background:#25D366;color:#fff;box-shadow:0 5px 14px rgba(37,211,102,.22);
}
.next-whatsapp-mark svg{width:14px;height:14px;display:block;fill:currentColor}

.next-title-count-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;
  min-width:0;margin-top:4px;flex:0 0 auto;
}
.next-card-v19 h2[data-fit-departure-title]{
  min-width:0;width:100%;margin:0!important;line-height:1!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;
}
.next-count-boxes{
  display:grid;grid-template-columns:repeat(4,31px);gap:4px;flex:0 0 auto;
}
.next-count-boxes>span{
  height:35px;border-radius:9px;border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.08);display:grid;grid-template-rows:21px 1fr;
  place-items:center;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.next-count-boxes b{
  color:var(--lime);font-size:.79rem;line-height:1;font-weight:1000;align-self:end;
  font-variant-numeric:tabular-nums;
}
.next-count-boxes i{
  color:rgba(255,255,255,.54);font-style:normal;font-size:.36rem;line-height:1;
  font-weight:900;letter-spacing:.04em;text-transform:uppercase;align-self:start;margin-top:2px;
}

.next-detail-row{
  margin-top:7px;padding-top:7px;border-top:1px solid rgba(255,255,255,.14);
  display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;flex:1 1 auto;
}
.next-date-duration{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:max-content;max-width:74px;min-width:48px;gap:3px;flex:0 0 auto;
}
.next-card-v19 .next-calendar{
  width:48px;height:48px!important;min-height:48px;border-radius:10px;
  grid-template-rows:16px 1fr;align-self:center;margin:0;
}
.next-card-v19 .next-calendar span{font-size:.43rem!important;letter-spacing:.10em}
.next-card-v19 .next-calendar b{font-size:1.08rem!important}
.next-duration{
  display:block;max-width:74px;color:rgba(255,255,255,.66);font-size:.51rem;
  font-weight:800;line-height:1.05;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.next-price-block{
  margin-left:auto;min-width:0;text-align:right;display:flex;flex-direction:column;
  align-items:flex-end;justify-content:center;line-height:1.05;
}
.next-card-v19 .next-price-block small{
  margin:0 0 4px!important;color:rgba(255,255,255,.48)!important;font-size:.50rem!important;
  line-height:1!important;letter-spacing:.10em!important;text-transform:uppercase!important;white-space:nowrap;
}
.next-price-block strong{
  color:var(--lime);font-size:1.12rem;line-height:1;font-weight:1000;white-space:nowrap;
}
html[lang="si"] .next-count-boxes i{font-size:.39rem;letter-spacing:0;text-transform:none}
html[lang="si"] .next-card-v19 .next-price-block small{letter-spacing:0!important;text-transform:none!important}

@media (min-width:821px){
  .next-title-count-row{gap:12px;margin-top:3px}
  .next-count-boxes{grid-template-columns:repeat(4,30px);gap:4px}
  .next-count-boxes>span{height:33px;grid-template-rows:20px 1fr;border-radius:8px}
  .next-count-boxes b{font-size:.75rem}
  .next-detail-row{margin-top:5px;padding-top:5px}
  .next-card-v19 .next-calendar{width:44px!important;height:45px!important;min-height:45px;grid-template-rows:15px 1fr}
  .next-card-v19 .next-calendar b{font-size:1rem!important}
  .next-duration{font-size:.48rem}
  .next-price-block strong{font-size:1.02rem}
}

@media (max-width:820px){
  .hero-slider .next-card-v19 .next-label-row{min-height:14px!important}
  .hero-slider .next-card-v19 .next-whatsapp-mark{width:20px;height:20px}
  .hero-slider .next-card-v19 .next-whatsapp-mark svg{width:12px;height:12px}
  .hero-slider .next-card-v19 .next-title-count-row{gap:7px!important;margin-top:2px!important}
  .hero-slider .next-card-v19 .next-count-boxes{grid-template-columns:repeat(4,27px)!important;gap:3px!important}
  .hero-slider .next-card-v19 .next-count-boxes>span{
    height:31px!important;grid-template-rows:19px 1fr!important;border-radius:8px!important;
  }
  .hero-slider .next-card-v19 .next-count-boxes b{font-size:.70rem!important}
  .hero-slider .next-card-v19 .next-count-boxes i{font-size:.32rem!important;margin-top:1px!important}
  .hero-slider .next-card-v19 .next-detail-row{margin-top:5px!important;padding-top:5px!important;gap:8px!important}
  .hero-slider .next-card-v19 .next-calendar{
    width:43px!important;height:44px!important;min-height:44px!important;grid-template-rows:14px 1fr!important;border-radius:9px!important;
  }
  .hero-slider .next-card-v19 .next-calendar span{font-size:.39rem!important}
  .hero-slider .next-card-v19 .next-calendar b{font-size:.96rem!important}
  .hero-slider .next-card-v19 .next-duration{max-width:68px;font-size:.44rem!important}
  .hero-slider .next-card-v19 .next-price-block small{font-size:.44rem!important;margin-bottom:3px!important}
  .hero-slider .next-card-v19 .next-price-block strong{font-size:.96rem!important}
}

@media (max-width:430px){
  .hero-slider .next-card-v19 .next-title-count-row{gap:5px!important}
  .hero-slider .next-card-v19 .next-count-boxes{grid-template-columns:repeat(4,25px)!important;gap:3px!important}
  .hero-slider .next-card-v19 .next-count-boxes>span{height:29px!important;grid-template-rows:18px 1fr!important;border-radius:7px!important}
  .hero-slider .next-card-v19 .next-count-boxes b{font-size:.66rem!important}
  .hero-slider .next-card-v19 .next-count-boxes i{font-size:.29rem!important}
  .hero-slider .next-card-v19 .next-detail-row{margin-top:4px!important;padding-top:4px!important}
  .hero-slider .next-card-v19 .next-calendar{width:40px!important;height:41px!important;min-height:41px!important;grid-template-rows:13px 1fr!important}
  .hero-slider .next-card-v19 .next-calendar b{font-size:.90rem!important}
  .hero-slider .next-card-v19 .next-duration{max-width:64px;font-size:.41rem!important}
  .hero-slider .next-card-v19 .next-price-block strong{font-size:.90rem!important}
}


/* V21 — refined Next Departure alignment without changing the outer card size.
   Title is never visually clipped, countdown/price hug the right edge, and duration
   sits above a slightly smaller calendar tile on the left. */
.next-card-v20{
  display:grid!important;grid-template-rows:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:stretch!important;overflow:hidden!important;text-decoration:none!important;color:inherit!important;
}
.next-card-v20 .next-v20-row{min-width:0;min-height:0;display:grid;align-items:center}
.next-card-v20 .next-v20-row--top{
  grid-template-columns:minmax(0,1fr) auto;gap:12px;
}
.next-card-v20 .next-v20-row--bottom{
  grid-template-columns:minmax(0,1fr) auto;gap:14px;border-top:1px solid rgba(255,255,255,.14);
}
.next-card-v20 .next-v20-title-block{min-width:0;align-self:center;overflow:visible!important;padding-bottom:2px}
.next-card-v20 .next-label{display:block!important;margin:0 0 7px!important;line-height:1!important}
.next-card-v20 h2[data-fit-departure-title]{
  min-width:0;width:100%;max-width:100%;margin:0!important;
  line-height:1.12!important;padding:0 0 2px!important;
  white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;
}
.next-card-v20 .next-count-boxes{
  width:min(100%,198px);display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;
  align-self:center!important;justify-self:end!important;margin-left:auto!important;
}
.next-card-v20 .next-count-boxes>span{
  min-width:0;height:48px!important;border-radius:10px!important;border:1px solid rgba(191,242,106,.24)!important;
  background:rgba(255,255,255,.095)!important;display:grid!important;grid-template-rows:29px 1fr!important;
  place-items:center!important;overflow:hidden!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 5px 14px rgba(0,0,0,.10)!important;
}
.next-card-v20 .next-count-boxes b{
  color:var(--lime)!important;font-size:1rem!important;line-height:1!important;font-weight:1000!important;
  align-self:end!important;font-variant-numeric:tabular-nums!important;
}
.next-card-v20 .next-count-boxes i{
  color:rgba(255,255,255,.70)!important;font-style:normal!important;font-size:.38rem!important;line-height:1!important;
  font-weight:900!important;letter-spacing:.045em!important;text-transform:uppercase!important;align-self:start!important;margin-top:3px!important;
}
.next-card-v20 .next-date-duration{
  min-width:0;max-width:none!important;width:auto!important;display:flex!important;flex-direction:column!important;
  align-items:flex-start!important;justify-content:center!important;gap:5px!important;
}
.next-card-v20 .next-duration{
  display:block!important;max-width:130px!important;color:rgba(255,255,255,.78)!important;font-size:.58rem!important;
  font-weight:800!important;line-height:1.1!important;text-align:left!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;
}
.next-card-v20 .next-calendar{
  width:56px!important;height:57px!important;min-width:56px!important;min-height:57px!important;border-radius:12px!important;
  grid-template-rows:18px 1fr!important;margin:0!important;align-self:flex-start!important;
}
.next-card-v20 .next-calendar span{font-size:.48rem!important;letter-spacing:.12em!important}
.next-card-v20 .next-calendar b{font-size:1.25rem!important}
.next-card-v20 .next-price-block{
  margin-left:auto!important;justify-self:end!important;align-self:center!important;align-items:flex-end!important;
  justify-content:center!important;text-align:right!important;min-width:max-content!important;
}
.next-card-v20 .next-price-block small{
  margin:0 0 5px!important;color:rgba(255,255,255,.54)!important;font-size:.54rem!important;line-height:1!important;
  letter-spacing:.10em!important;text-transform:uppercase!important;white-space:nowrap!important;
}
.next-card-v20 .next-price-block strong{
  color:var(--lime)!important;font-size:1.42rem!important;line-height:1!important;font-weight:1000!important;white-space:nowrap!important;
}
html[lang="si"] .next-card-v20 .next-count-boxes i{font-size:.41rem!important;letter-spacing:0!important;text-transform:none!important}
html[lang="si"] .next-card-v20 .next-price-block small{letter-spacing:0!important;text-transform:none!important}

@media (min-width:821px){
  .next-card-v20 .next-v20-row--top{grid-template-columns:minmax(0,1fr) auto;gap:14px}
  .next-card-v20 .next-count-boxes{width:198px!important}
  .next-card-v20 .next-count-boxes>span{height:46px!important;grid-template-rows:28px 1fr!important}
  .next-card-v20 .next-count-boxes b{font-size:.96rem!important}
  .next-card-v20 .next-calendar{width:56px!important;height:57px!important;min-width:56px!important;min-height:57px!important;grid-template-rows:18px 1fr!important}
  .next-card-v20 .next-calendar b{font-size:1.22rem!important}
  .next-card-v20 .next-price-block strong{font-size:1.42rem!important}
}
@media (max-width:820px){
  .hero-slider .next-card-v20{display:grid!important;grid-template-rows:minmax(0,1fr) minmax(0,1fr)!important}
  .hero-slider .next-card-v20 .next-v20-row--top{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}
  .hero-slider .next-card-v20 .next-v20-row--bottom{grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important}
  .hero-slider .next-card-v20 .next-label{margin-bottom:6px!important}
  .hero-slider .next-card-v20 .next-count-boxes{width:196px!important;max-width:52vw!important;justify-self:end!important;margin-left:auto!important;gap:4px!important}
  .hero-slider .next-card-v20 .next-count-boxes>span{height:46px!important;grid-template-rows:28px 1fr!important;border-radius:9px!important}
  .hero-slider .next-card-v20 .next-count-boxes b{font-size:.94rem!important}
  .hero-slider .next-card-v20 .next-count-boxes i{font-size:.35rem!important;margin-top:3px!important}
  .hero-slider .next-card-v20 .next-date-duration{gap:4px!important}
  .hero-slider .next-card-v20 .next-duration{max-width:110px!important;font-size:.55rem!important}
  .hero-slider .next-card-v20 .next-calendar{width:54px!important;height:55px!important;min-width:54px!important;min-height:55px!important;grid-template-rows:18px 1fr!important;border-radius:11px!important}
  .hero-slider .next-card-v20 .next-calendar span{font-size:.46rem!important}
  .hero-slider .next-card-v20 .next-calendar b{font-size:1.20rem!important}
  .hero-slider .next-card-v20 .next-price-block{justify-self:end!important;margin-left:auto!important;text-align:right!important}
  .hero-slider .next-card-v20 .next-price-block small{font-size:.50rem!important;margin-bottom:4px!important}
  .hero-slider .next-card-v20 .next-price-block strong{font-size:1.38rem!important}
}
@media (max-width:430px){
  .hero-slider .next-card-v20 .next-v20-row--top{grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important}
  .hero-slider .next-card-v20 .next-count-boxes{width:190px!important;max-width:51vw!important;gap:3px!important}
  .hero-slider .next-card-v20 .next-count-boxes>span{height:44px!important;grid-template-rows:27px 1fr!important;border-radius:8px!important}
  .hero-slider .next-card-v20 .next-count-boxes b{font-size:.88rem!important}
  .hero-slider .next-card-v20 .next-count-boxes i{font-size:.32rem!important}
  .hero-slider .next-card-v20 .next-calendar{width:52px!important;height:53px!important;min-width:52px!important;min-height:53px!important;grid-template-rows:17px 1fr!important}
  .hero-slider .next-card-v20 .next-calendar b{font-size:1.14rem!important}
  .hero-slider .next-card-v20 .next-duration{max-width:98px!important;font-size:.51rem!important}
  .hero-slider .next-card-v20 .next-price-block strong{font-size:1.34rem!important}
}


/* V22 — compact countdown to protect long journey names; duration sits UNDER the date tile.
   Outer Next Departure card dimensions stay unchanged. */
.next-card-v20 .next-v20-row--top{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.next-card-v20 .next-count-boxes{
  width:170px!important;
  max-width:44%!important;
  gap:4px!important;
  justify-self:end!important;
  margin-left:auto!important;
}
.next-card-v20 .next-count-boxes>span{
  height:42px!important;
  grid-template-rows:25px 1fr!important;
  border-radius:8px!important;
}
.next-card-v20 .next-count-boxes b{font-size:.86rem!important}
.next-card-v20 .next-count-boxes i{font-size:.31rem!important;margin-top:2px!important;letter-spacing:.035em!important}
.next-card-v20 .next-date-duration{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:4px!important;
}
.next-card-v20 .next-calendar{order:1!important}
.next-card-v20 .next-duration{
  order:2!important;
  margin:0!important;
  max-width:120px!important;
  font-size:.55rem!important;
  line-height:1.05!important;
  text-align:center!important;
  align-self:flex-start!important;
  white-space:nowrap!important;
}

@media (min-width:821px){
  .next-card-v20 .next-count-boxes{width:174px!important;max-width:42%!important}
  .next-card-v20 .next-count-boxes>span{height:42px!important;grid-template-rows:25px 1fr!important}
  .next-card-v20 .next-count-boxes b{font-size:.86rem!important}
  .next-card-v20 .next-count-boxes i{font-size:.31rem!important}
}
@media (max-width:820px){
  .hero-slider .next-card-v20 .next-v20-row--top{gap:5px!important}
  .hero-slider .next-card-v20 .next-count-boxes{
    width:158px!important;
    max-width:43vw!important;
    gap:3px!important;
  }
  .hero-slider .next-card-v20 .next-count-boxes>span{
    height:40px!important;
    grid-template-rows:24px 1fr!important;
    border-radius:8px!important;
  }
  .hero-slider .next-card-v20 .next-count-boxes b{font-size:.82rem!important}
  .hero-slider .next-card-v20 .next-count-boxes i{font-size:.29rem!important;margin-top:2px!important}
  .hero-slider .next-card-v20 .next-duration{
    max-width:105px!important;
    font-size:.51rem!important;
    text-align:center!important;
  }
}
@media (max-width:430px){
  .hero-slider .next-card-v20 .next-count-boxes{
    width:148px!important;
    max-width:42vw!important;
    gap:3px!important;
  }
  .hero-slider .next-card-v20 .next-count-boxes>span{
    height:38px!important;
    grid-template-rows:23px 1fr!important;
  }
  .hero-slider .next-card-v20 .next-count-boxes b{font-size:.78rem!important}
  .hero-slider .next-card-v20 .next-count-boxes i{font-size:.27rem!important}
  .hero-slider .next-card-v20 .next-duration{max-width:98px!important;font-size:.49rem!important}
}

/* V23 — alignment-only correction requested from the V22 card.
   IMPORTANT: no card, countdown, calendar, title or price font/box sizes are changed here. */
.next-card-v20 .next-v20-row--top{
  width:100%!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto auto!important;
  grid-template-areas:"departure-label departure-count" "departure-title departure-title"!important;
  column-gap:8px!important;
  row-gap:0!important;
  align-content:center!important;
  align-items:center!important;
}
.next-card-v20 .next-v20-title-block{display:contents!important}
.next-card-v20 .next-label{
  grid-area:departure-label!important;
  align-self:center!important;
  justify-self:start!important;
  margin:0!important;
}
.next-card-v20 h2[data-fit-departure-title]{
  grid-area:departure-title!important;
  justify-self:stretch!important;
  align-self:end!important;
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
.next-card-v20 .next-count-boxes{
  grid-area:departure-count!important;
  justify-self:end!important;
  align-self:start!important;
  margin-left:auto!important;
  margin-right:0!important;
}
.next-card-v20 .next-v20-row--bottom{
  width:100%!important;
  grid-template-columns:minmax(0,1fr) auto!important;
}
.next-card-v20 .next-price-block{
  justify-self:end!important;
  align-self:center!important;
  margin-left:auto!important;
  margin-right:0!important;
  text-align:right!important;
}
.next-card-v20 .next-date-duration{
  width:max-content!important;
  max-width:100%!important;
  align-items:center!important;
  justify-content:center!important;
}
.next-card-v20 .next-calendar{
  align-self:center!important;
}
.next-card-v20 .next-duration{
  align-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  gap:3px!important;
  width:max-content!important;
  max-width:none!important;
  text-align:center!important;
}
.next-card-v20 .next-duration-part{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  white-space:nowrap!important;
}
.next-card-v20 .next-duration-icon{
  display:inline-grid!important;
  place-items:center!important;
  width:1em!important;
  height:1em!important;
  flex:0 0 auto!important;
  color:var(--lime)!important;
  font-size:.92em!important;
  line-height:1!important;
}
.next-card-v20 .next-duration-part--night .next-duration-icon{color:rgba(255,255,255,.82)!important}
.next-card-v20 .next-duration-plain{white-space:pre!important;color:rgba(255,255,255,.44)!important}

/* V24 — POSITION ONLY. Keep all V23 card/countdown/calendar/title/price sizes unchanged.
   The countdown and price are pinned to the actual right content edge of the card. */
.next-card-v20 .next-v20-row--top{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  grid-template-areas:"departure-label" "departure-title"!important;
  width:100%!important;
  min-width:0!important;
}
.next-card-v20 .next-count-boxes{
  position:absolute!important;
  top:0!important;
  right:0!important;
  left:auto!important;
  margin:0!important;
  justify-self:auto!important;
  z-index:2!important;
}
.next-card-v20 .next-v20-row--bottom{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
.next-card-v20 .next-date-duration{
  position:absolute!important;
  left:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
}
.next-card-v20 .next-price-block{
  position:absolute!important;
  right:0!important;
  left:auto!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  justify-self:auto!important;
  text-align:right!important;
}

/* V25 — RIGHT-EDGE ALIGNMENT ROOT-CAUSE FIX ONLY.
   Do not change any card, title, countdown box, calendar or price sizes.
   The legacy .next-card justify-content:flex-start was shrinking the CSS grid track,
   so 'right:0' was using the middle of the card instead of the card content edge. */
.next-card-v20{
  justify-content:stretch!important;
  grid-template-columns:minmax(0,1fr)!important;
}
.next-card-v20 .next-v20-row--top,
.next-card-v20 .next-v20-row--bottom{
  width:100%!important;
  max-width:none!important;
  justify-self:stretch!important;
}

/* V26 MOBILE + TABLET ONLY — reduce hero shade so the slider image stays clearer.
   Geometry, typography, buttons, cards, countdown, price and desktop (>1180px) are untouched. */
@media (min-width:821px) and (max-width:1180px){
  .hero-slider>.hero-shade{
    background:
      linear-gradient(90deg,rgba(2,21,14,.50) 0%,rgba(2,21,14,.32) 56%,rgba(2,21,14,.12) 100%),
      linear-gradient(0deg,rgba(2,21,14,.68) 0%,rgba(2,21,14,.18) 56%,rgba(2,21,14,.08) 100%)!important;
  }
}
@media (max-width:820px){
  .hero-slider>.hero-shade{
    background:linear-gradient(180deg,rgba(2,21,14,.16) 0%,rgba(2,21,14,.30) 48%,rgba(2,21,14,.72) 100%)!important;
  }
}


/* V27 — ADMIN-CONTROLLED HERO EFFECT BY VIEW.
   Only the shade strength changes. Hero geometry, typography, buttons, image crop,
   Next Departure card and all other responsive sizes remain untouched.
   Setting 50 reproduces the V26/base strength; default 60 is slightly stronger. */
@media (min-width:1181px){
  .hero-slider>.hero-shade{
    background:
      linear-gradient(90deg,
        rgba(2,21,14,calc(var(--slide-overlay,.62) + var(--hero-effect-desktop-adjust,0))),
        rgba(2,21,14,calc(.66 + var(--hero-effect-desktop-adjust,0))) 56%,
        rgba(2,21,14,calc(.25 + var(--hero-effect-desktop-adjust,0)))),
      linear-gradient(0deg,
        rgba(2,21,14,calc(.96 + var(--hero-effect-desktop-adjust,0))),
        transparent 53%)!important;
  }
}
@media (min-width:821px) and (max-width:1180px){
  .hero-slider>.hero-shade{
    background:
      linear-gradient(90deg,
        rgba(2,21,14,calc(.50 + var(--hero-effect-tablet-adjust,0))) 0%,
        rgba(2,21,14,calc(.32 + var(--hero-effect-tablet-adjust,0))) 56%,
        rgba(2,21,14,calc(.12 + var(--hero-effect-tablet-adjust,0))) 100%),
      linear-gradient(0deg,
        rgba(2,21,14,calc(.68 + var(--hero-effect-tablet-adjust,0))) 0%,
        rgba(2,21,14,calc(.18 + var(--hero-effect-tablet-adjust,0))) 56%,
        rgba(2,21,14,calc(.08 + var(--hero-effect-tablet-adjust,0))) 100%)!important;
  }
}
@media (max-width:820px){
  .hero-slider>.hero-shade{
    background:linear-gradient(180deg,
      rgba(2,21,14,calc(.16 + var(--hero-effect-mobile-adjust,0))) 0%,
      rgba(2,21,14,calc(.30 + var(--hero-effect-mobile-adjust,0))) 48%,
      rgba(2,21,14,calc(.72 + var(--hero-effect-mobile-adjust,0))) 100%)!important;
  }
}

/* V28 — HERO FOOTER HIGHLIGHTS / SLIDER CONTROL SEPARATION ONLY.
   Keeps the existing hero, departure card, typography, buttons and section sizes untouched.
   Goal: keep slider arrows/dots fully inside the hero and give the journey highlights their
   own clean premium band on desktop, tablet and mobile. */
.hero-slider .hero-controls{
  top:auto!important;
  bottom:18px!important;
}
.news{
  position:relative!important;
  z-index:7!important;
  overflow:visible!important;
  background:linear-gradient(180deg,#063526 0%,#05291d 100%)!important;
  border-top:1px solid rgba(201,240,117,.22)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 -10px 30px rgba(2,21,14,.10) inset!important;
}
.news:before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:min(420px,56vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(201,240,117,.72),transparent);
  pointer-events:none;
}
.news-line{
  padding:17px 0 18px!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  text-align:center!important;
  font-size:.66rem!important;
  font-weight:900!important;
  line-height:1.28!important;
  letter-spacing:.13em!important;
  color:rgba(255,255,255,.83)!important;
}
.news-line>b{display:none!important}
.news-line>span{
  min-width:0!important;
  min-height:46px!important;
  padding:9px 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.035)!important;
  white-space:normal!important;
}
.news-line>span:before{
  content:"✦";
  flex:0 0 auto;
  color:var(--lime)!important;
  font-size:.72rem!important;
  line-height:1!important;
  text-shadow:0 0 16px rgba(201,240,117,.32);
}

/* Tablet */
@media (min-width:821px) and (max-width:1180px){
  .hero-slider .hero-controls{bottom:16px!important}
  .news-line{
    padding:16px 0 17px!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:8px!important;
    font-size:.61rem!important;
    letter-spacing:.105em!important;
  }
  .news-line>span{min-height:44px!important;padding:8px 7px!important;border-radius:13px!important}
}

/* Mobile */
@media (max-width:820px){
  .hero-slider .hero-controls{bottom:16px!important}
  .news-line{
    padding:14px 0 15px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    font-size:.60rem!important;
    letter-spacing:.09em!important;
  }
  .news-line>span{
    min-height:43px!important;
    padding:8px 7px!important;
    border-radius:13px!important;
  }
}
@media (max-width:430px){
  .hero-slider .hero-controls{bottom:15px!important}
  .news-line>span:nth-child(n){display:flex!important}
  .news-line{
    padding:13px 0 14px!important;
    gap:7px!important;
    font-size:.57rem!important;
    letter-spacing:.075em!important;
  }
  .news-line>span{min-height:42px!important;padding:7px 6px!important}
  .news-line>span:before{font-size:.66rem!important}
}

/* V29 — Hero Side Highlight icons + admin-controlled labels. Layout dimensions from V28 stay intact. */
.news-line>.hero-highlight-item:before{display:none!important;content:none!important}
.hero-highlight-item .hero-highlight-icon-wrap{
  width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;
  color:var(--lime);border-radius:8px;background:rgba(201,240,117,.08);
}
.hero-highlight-item .hero-highlight-icon{width:17px;height:17px;display:block}
.hero-highlight-item .hero-highlight-name{min-width:0;display:block;text-align:left}
@media (max-width:820px){
  .hero-highlight-item .hero-highlight-icon-wrap{width:22px;height:22px;flex-basis:22px;border-radius:7px}
  .hero-highlight-item .hero-highlight-icon{width:15px;height:15px}
}
@media (max-width:430px){
  .hero-highlight-item .hero-highlight-icon-wrap{width:21px;height:21px;flex-basis:21px}
  .hero-highlight-item .hero-highlight-icon{width:14px;height:14px}
}

/* V31 — hero slider navigation separation fix.
   Keep next departure card and highlight cards unchanged.
   Only move the slider controls into a balanced gap between them. */
.hero-slider .hero-controls{
  bottom:-24px!important;
  z-index:9!important;
}
.news{
  margin-top:34px!important;
}
@media (min-width:821px) and (max-width:1180px){
  .hero-slider .hero-controls{bottom:-22px!important}
  .news{margin-top:32px!important}
}
@media (max-width:820px){
  .hero-slider .hero-controls{bottom:-20px!important}
  .news{margin-top:30px!important}
}
@media (max-width:430px){
  .hero-slider .hero-controls{bottom:-18px!important}
  .news{margin-top:28px!important}
}

/* V32 — slider navigation gap correction + Travel & Tours responsive rules.
   Next Departure and Hero Highlight card dimensions stay untouched. */
.hero-slider .hero-controls{bottom:-40px!important;z-index:20!important}
.news{margin-top:78px!important}
.hero-slider.hero-nav-hide-desktop .hero-controls{display:none!important}
@media (min-width:821px) and (max-width:1180px){
  .hero-slider .hero-controls{bottom:-40px!important}
  .news{margin-top:78px!important}
  .hero-slider.hero-nav-hide-tablet .hero-controls{display:none!important}
}
@media (max-width:820px){
  .hero-slider .hero-controls{bottom:-42px!important}
  .news{margin-top:82px!important}
  .hero-slider.hero-nav-hide-mobile .hero-controls{display:none!important}
  .season-head{text-align:center!important;display:block!important;margin-bottom:26px!important}
  .season-head p{max-width:590px;margin:14px auto 0!important;text-align:center!important}
  .season .section-label,.season h2{text-align:center!important}
  .season .quick-list{justify-content:center!important}
  .home-tour-card .body{text-align:center!important}
  .home-tour-card .tags{justify-content:center!important}
  .home-tour-card .route{text-align:left!important}
  .tour-see-more-wrap{text-align:center!important}
}
@media (max-width:430px){
  .hero-slider .hero-controls{bottom:-40px!important}
  .news{margin-top:78px!important}
}

/* Homepage tour count: Desktop 4, Tablet 3, Mobile 4. */
@media (min-width:1181px){.home-tour-card:nth-child(n+5){display:none!important}}
@media (min-width:821px) and (max-width:1180px){.home-tour-card:nth-child(n+4){display:none!important}}
@media (max-width:820px){.home-tour-card:nth-child(n+5){display:none!important}}
.tour-see-more-wrap{display:flex;justify-content:center;margin-top:28px}
.tour-see-more{background:var(--dark);color:#fff;border:1px solid var(--dark);min-width:190px}
@media (min-width:1181px){.tour-see-more.tour-count-4{display:none!important}}
@media (max-width:820px){.tour-see-more.tour-count-4{display:none!important}}

/* Public all-tours page. */
.tours-page-main{padding:150px 0 95px;background:#f7f5ee;min-height:100vh}
.tours-page-head{text-align:center;max-width:780px;margin:0 auto 38px}
.tours-page-head h1{color:var(--dark);font-size:clamp(2.8rem,6vw,5.5rem);margin:10px auto 18px;max-width:none}
.tours-page-head p{color:var(--muted);margin:0 auto;max-width:650px}
.all-tour-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.tours-back-row{display:flex;justify-content:center;margin-bottom:30px}
.tours-empty{text-align:center;padding:46px 20px;background:white;border:1px solid var(--line);border-radius:24px;color:var(--muted)}
@media (max-width:900px){.all-tour-cards{grid-template-columns:1fr}.tours-page-main{padding-top:120px}}
@media (max-width:820px){
  .tours-page-head{text-align:center;padding:0 8px}
  .all-tour-cards .body{text-align:center}
  .all-tour-cards .tags{justify-content:center}
  .all-tour-cards .route{text-align:left}
}
@media (min-width:1181px){.hero-slider.hero-nav-hide-desktop + .news{margin-top:0!important}}
@media (min-width:821px) and (max-width:1180px){.hero-slider.hero-nav-hide-tablet + .news{margin-top:0!important}}
@media (max-width:820px){.hero-slider.hero-nav-hide-mobile + .news{margin-top:0!important}}
.hero-slider{overflow:visible!important}
.hero-slider>.hero-bg-stack,.hero-slider>.hero-shade{overflow:hidden}

/* V33 — Travel & Tours page brand color only. Homepage header is intentionally untouched. */
.tours-public-page .topbar .brand strong{
  color:#063526!important;
  text-shadow:none!important;
}


/* V34 — NAVIGATION DEFAULT-OFF / NO-WHITE-GAP + DESKTOP DEPARTURE CARD REPAIR.
   Scope is intentionally narrow:
   1) Navigation controls remain fully admin-controlled per view and are OFF by default.
   2) No cream/white spacer is created when navigation is OFF.
   3) If navigation is enabled, it occupies a green band above Hero Highlights instead of colliding with Next Departure.
   4) Desktop (>1180px) Next Departure gets its intended fixed card height back so rows are not clipped.
   Mobile hero/card geometry is otherwise untouched. */

/* Kill the V31/V32 external cream-gap approach. */
.news{margin-top:0!important}

/* Default hidden state comes from the per-view classes emitted by index.php. */
@media (min-width:1181px){
  .hero-slider.hero-nav-hide-desktop .hero-controls{display:none!important}
}
@media (min-width:821px) and (max-width:1180px){
  .hero-slider.hero-nav-hide-tablet .hero-controls{display:none!important}
}
@media (max-width:820px){
  .hero-slider.hero-nav-hide-mobile .hero-controls{display:none!important}
}

/* When explicitly enabled, controls sit below the hero edge over the dark-green highlights band.
   Highlight CARD dimensions are unchanged; only extra top breathing room is created while nav is ON. */
.hero-slider .hero-controls{
  top:auto!important;
  bottom:-39px!important;
  z-index:20!important;
}
@media (min-width:1181px){
  .hero-slider:not(.hero-nav-hide-desktop) + .news .news-line{padding-top:66px!important}
}
@media (min-width:821px) and (max-width:1180px){
  .hero-slider:not(.hero-nav-hide-tablet) + .news .news-line{padding-top:64px!important}
}
@media (max-width:820px){
  .hero-slider:not(.hero-nav-hide-mobile) + .news .news-line{padding-top:62px!important}
}

/* Desktop-only Next Departure repair. V24 made inner rows absolute; without an explicit
   desktop height the card could collapse and crop title/calendar/price. Restore the stable
   desktop card box only. Tablet/mobile sizes remain exactly as their existing rules define. */
@media (min-width:1181px){
  .hero-slider .next-card-v20{
    height:214px!important;
    min-height:214px!important;
    max-height:214px!important;
    padding:25px!important;
    border-radius:28px!important;
    overflow:hidden!important;
  }
  .hero-slider .next-card-v20 .next-v20-row--top,
  .hero-slider .next-card-v20 .next-v20-row--bottom{
    min-height:0!important;
  }
}

/* V35 — DESKTOP NEXT DEPARTURE ALIGNMENT ONLY.
   Mobile/tablet are intentionally untouched.
   - Keeps the V34 desktop card size exactly as-is.
   - Gives NEXT DEPARTURE and the place title a clean shared left edge with visible breathing room.
   - Keeps countdown at the right edge.
   - Moves the date/duration block slightly below the divider so the calendar tile never kisses the line.
   - Keeps price at the right edge and preserves all existing sizes. */
@media (min-width:1181px){
  .hero-slider .next-card-v20 .next-v20-row--top{
    align-content:center!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    grid-template-areas:"departure-label" "departure-title"!important;
    row-gap:7px!important;
    padding:0!important;
  }
  .hero-slider .next-card-v20 .next-label{
    grid-area:departure-label!important;
    justify-self:start!important;
    align-self:end!important;
    margin:0!important;
    text-align:left!important;
  }
  .hero-slider .next-card-v20 h2[data-fit-departure-title]{
    grid-area:departure-title!important;
    justify-self:start!important;
    align-self:start!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 0 2px!important;
    text-align:left!important;
  }
  .hero-slider .next-card-v20 .next-count-boxes{
    top:0!important;
    right:0!important;
  }
  .hero-slider .next-card-v20 .next-date-duration{
    top:50%!important;
    transform:translateY(calc(-50% + 9px))!important;
    left:0!important;
  }
  .hero-slider .next-card-v20 .next-price-block{
    right:0!important;
  }
}

/* V36 — desktop Current Travel Season heading/description line layout only. */
@media (min-width:1181px){
  .season-head{
    display:block!important;
    margin-bottom:32px!important;
  }
  .season-head h2{
    width:100%!important;
    max-width:none!important;
    white-space:nowrap!important;
  }
  .season-head p{
    width:100%!important;
    max-width:none!important;
    margin:14px 0 0!important;
    white-space:nowrap!important;
  }
}

/* V37 — Travel & Tours extra page desktop header text visibility only.
   Homepage header is intentionally untouched. */
@media (min-width:1181px){
  .tours-public-page .topbar .brand small{
    color:#2f5d4f!important;
    opacity:1!important;
    text-shadow:none!important;
  }
  .tours-public-page .topbar .desktop-nav a{
    color:#063526!important;
    text-shadow:none!important;
  }
  .tours-public-page .topbar .desktop-nav a:last-child{
    border-color:rgba(6,53,38,.24)!important;
    background:rgba(6,53,38,.045)!important;
    color:#063526!important;
  }
}

/* V38 — Current Travel Season topic side illustrations.
   Adds balanced travel-themed decorative illustrations on both sides of the section topic.
   Existing spacing and section content remain unchanged. */
.season-topic-art{
  display:inline-flex;
  align-items:center;
  gap:14px;
  position:relative;
}
.season-topic-art::before,
.season-topic-art::after{
  content:"";
  width:44px;
  height:28px;
  border-radius:999px;
  border:1px solid rgba(19,134,95,.16);
  background-color:#f4fbf5;
  background-repeat:no-repeat;
  background-position:center;
  background-size:22px 22px;
  box-shadow:0 10px 22px rgba(5,41,29,.05);
}
.season-topic-art::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2313865f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 14.5h8.5l3 5.5 1.4-.4-1.3-5.1H20a1.5 1.5 0 0 0 0-3h-5.9l1.3-5.1-1.4-.4-3 5.5H2.5'/%3E%3Cpath d='M4 10.5 2 12l2 1.5'/%3E%3C/svg%3E");
}
.season-topic-art::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2313865f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.2 6-11a6 6 0 1 0-12 0c0 5.8 6 11 6 11z'/%3E%3Ccircle cx='12' cy='10' r='2.3'/%3E%3C/svg%3E");
}
@media (max-width:820px){
  .season-topic-art{justify-content:center;gap:11px}
  .season-topic-art::before,
  .season-topic-art::after{
    width:38px;
    height:24px;
    background-size:18px 18px;
  }
}
@media (max-width:430px){
  .season-topic-art{gap:9px}
  .season-topic-art::before,
  .season-topic-art::after{
    width:34px;
    height:22px;
    background-size:16px 16px;
  }
}

/* V39 — Tours extra page mobile/tablet menu icon dark green + shaped divider before promise section.
   Scope:
   1) Tours public page only: mobile and tablet hamburger icon/button get dark-green styling.
   2) Homepage only: replace the straight section break before the promise section with a soft wave shape.
   Everything else remains unchanged. */

/* Tours extra page mobile/tablet hamburger color */
@media (max-width:1180px){
  .tours-public-page .mobile-header-actions .mobile-menu summary{
    color:#063526!important;
    border-color:rgba(6,53,38,.22)!important;
    background:rgba(255,255,255,.88)!important;
    box-shadow:0 12px 28px rgba(5,41,29,.08)!important;
    text-shadow:none!important;
  }
  .tours-public-page .mobile-header-actions .mobile-menu summary:hover,
  .tours-public-page .mobile-header-actions .mobile-menu[open] summary{
    background:#f7f6ef!important;
    border-color:rgba(6,53,38,.30)!important;
  }
}

/* Homepage section divider shape between Current Travel Season and Why Choose Us */
.promise{
  position:relative!important;
  margin-top:0!important;
  overflow:visible!important;
}
.promise::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-78px;
  height:80px;
  background:var(--dark);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M0,82 C120,118 250,118 360,88 C470,58 560,18 720,18 C880,18 980,60 1090,88 C1200,116 1320,116 1440,82 L1440,120 L0,120 Z'/%3E%3C/svg%3E") center top / 100% 100% no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M0,82 C120,118 250,118 360,88 C470,58 560,18 720,18 C880,18 980,60 1090,88 C1200,116 1320,116 1440,82 L1440,120 L0,120 Z'/%3E%3C/svg%3E") center top / 100% 100% no-repeat;
  pointer-events:none;
}
@media (min-width:1181px){
  .promise::before{top:-88px;height:90px}
}
@media (max-width:820px){
  .promise::before{top:-62px;height:64px}
}
@media (max-width:430px){
  .promise::before{top:-54px;height:56px}
}

/* V40 — Promise section wave divider + mobile centering + Travel & Tours admin support.
   - Creates a cleaner shaped transition into the promise section on desktop, tablet, and mobile.
   - Centers the promise label/title/description on mobile.
   - Leaves benefit cards and other layouts intact. */

/* Stronger shaped transition visible on all views */
.promise{
  position:relative!important;
  z-index:2!important;
  margin-top:-56px!important;
  padding-top:136px!important;
  overflow:visible!important;
  background:var(--dark)!important;
}
.promise > .wrap{
  position:relative;
  z-index:1;
}
.promise::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:92px;
  transform:translateY(-99%);
  background:var(--dark);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M0,104 C92,100 152,70 220,48 C296,24 392,20 480,42 C564,62 620,96 720,98 C818,100 878,72 960,50 C1042,28 1140,26 1228,46 C1312,66 1376,100 1440,104 L1440,120 L0,120 Z'/%3E%3C/svg%3E") center top / 100% 100% no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M0,104 C92,100 152,70 220,48 C296,24 392,20 480,42 C564,62 620,96 720,98 C818,100 878,72 960,50 C1042,28 1140,26 1228,46 C1312,66 1376,100 1440,104 L1440,120 L0,120 Z'/%3E%3C/svg%3E") center top / 100% 100% no-repeat;
  pointer-events:none;
}
@media (min-width:1181px){
  .promise{margin-top:-60px!important;padding-top:142px!important}
  .promise::before{height:96px}
}
@media (min-width:821px) and (max-width:1180px){
  .promise{margin-top:-50px!important;padding-top:124px!important}
  .promise::before{height:82px}
}
@media (max-width:820px){
  .promise{margin-top:-42px!important;padding-top:106px!important}
  .promise::before{height:70px}
  .promise-grid > div:first-child{
    text-align:center!important;
  }
  .promise-grid > div:first-child .section-label,
  .promise-grid > div:first-child h2,
  .promise-grid > div:first-child p{
    text-align:center!important;
  }
  .promise-grid > div:first-child p{
    margin-left:auto!important;
    margin-right:auto!important;
    max-width:620px!important;
  }
}
@media (max-width:430px){
  .promise{margin-top:-36px!important;padding-top:94px!important}
  .promise::before{height:58px}
}

/* V41 — REAL PROMISE DIVIDER + HOME SETTINGS + TOPIC ILLUSTRATIONS
   Scope:
   - Divider is a clearly visible dark-green curved/wave shape on Desktop / Tablet / Mobile.
   - Mobile promise intro remains centered.
   - Two travel-themed illustrations frame the promise topic.
   - No tour-card or hero geometry changes. */

/* Override earlier V39/V40 divider attempts with one robust visible shape. */
.promise{
  position:relative!important;
  z-index:3!important;
  margin-top:0!important;
  padding-top:118px!important;
  overflow:visible!important;
  background:var(--dark)!important;
}
.promise::before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  left:0!important;
  right:0!important;
  top:-84px!important;
  height:86px!important;
  transform:none!important;
  background:var(--dark)!important;
  pointer-events:none!important;
  clip-path:polygon(
    0 72%,
    6% 63%,
    13% 48%,
    21% 31%,
    30% 20%,
    40% 18%,
    50% 28%,
    59% 43%,
    68% 55%,
    77% 58%,
    86% 49%,
    94% 36%,
    100% 31%,
    100% 100%,
    0 100%
  )!important;
  -webkit-mask:none!important;
          mask:none!important;
}
.promise > .wrap{position:relative!important;z-index:1!important}

/* Topic illustrations: left = compass/route, right = island/map marker. */
.promise-topic-art{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-bottom:2px;
}
.promise-topic-illustration{
  width:38px;
  height:28px;
  flex:0 0 38px;
  border-radius:999px;
  border:1px solid rgba(201,240,117,.20);
  background-color:rgba(201,240,117,.07);
  background-repeat:no-repeat;
  background-position:center;
  background-size:20px 20px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 8px 20px rgba(0,0,0,.10);
}
.promise-topic-illustration--left{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9f075' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.3'/%3E%3Cpath d='m14.8 9.2-2.1 5.5-5.5 2.1 2.1-5.5 5.5-2.1Z'/%3E%3Cpath d='M12 2.5v2M12 19.5v2M2.5 12h2M19.5 12h2'/%3E%3C/svg%3E");
}
.promise-topic-illustration--right{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9f075' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.1 6-11a6 6 0 1 0-12 0c0 5.9 6 11 6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.1'/%3E%3Cpath d='M4 20c2-1.2 4-1.7 6-1.5M14 18.5c2 .1 4 .6 6 1.5'/%3E%3C/svg%3E");
}

@media (min-width:1181px){
  .promise{padding-top:126px!important}
  .promise::before{top:-94px!important;height:96px!important}
}
@media (min-width:821px) and (max-width:1180px){
  .promise{padding-top:112px!important}
  .promise::before{top:-76px!important;height:78px!important}
}
@media (max-width:820px){
  .promise{padding-top:96px!important}
  .promise::before{top:-64px!important;height:66px!important}
  .promise-grid > div:first-child{text-align:center!important}
  .promise-grid > div:first-child .section-label,
  .promise-grid > div:first-child h2,
  .promise-grid > div:first-child p{text-align:center!important}
  .promise-grid > div:first-child p{max-width:620px!important;margin-left:auto!important;margin-right:auto!important}
  .promise-topic-art{justify-content:center!important;gap:10px}
  .promise-topic-illustration{width:34px;height:25px;flex-basis:34px;background-size:18px 18px}
}
@media (max-width:430px){
  .promise{padding-top:86px!important}
  .promise::before{top:-54px!important;height:56px!important}
  .promise-topic-art{gap:8px}
  .promise-topic-illustration{width:31px;height:23px;flex-basis:31px;background-size:16px 16px}
}

/* V42 — VERIFIED REAL SVG PROMISE DIVIDER.
   Previous pseudo-element/clip-path attempts are disabled. The divider is now a real inline SVG
   element in the DOM so it renders consistently in Chrome on desktop, tablet and mobile. */
.promise::before{display:none!important;content:none!important}
.promise{
  position:relative!important;
  z-index:3!important;
  margin-top:0!important;
  overflow:visible!important;
  background:var(--dark)!important;
}
.promise-wave-divider{
  display:block!important;
  position:absolute!important;
  z-index:0!important;
  left:0!important;
  right:0!important;
  top:-112px!important;
  width:100%!important;
  height:114px!important;
  overflow:visible!important;
  pointer-events:none!important;
  line-height:0!important;
}
.promise-wave-divider svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:visible!important;
}
.promise-wave-fill{fill:#05291d!important}
.promise-wave-line{
  fill:none!important;
  stroke:#c9f075!important;
  stroke-opacity:.18!important;
  stroke-width:2!important;
  vector-effect:non-scaling-stroke!important;
}
.promise > .wrap{position:relative!important;z-index:1!important}

/* Keep the promise content spacing balanced after the real SVG divider. */
@media (min-width:1181px){
  .promise{padding-top:104px!important}
  .promise-wave-divider{top:-112px!important;height:114px!important}
}
@media (min-width:821px) and (max-width:1180px){
  .promise{padding-top:94px!important}
  .promise-wave-divider{top:-92px!important;height:94px!important}
}
@media (max-width:820px){
  .promise{padding-top:82px!important}
  .promise-wave-divider{top:-74px!important;height:76px!important}
  .promise-grid > div:first-child{text-align:center!important}
  .promise-grid > div:first-child .section-label,
  .promise-grid > div:first-child h2,
  .promise-grid > div:first-child p{text-align:center!important}
  .promise-grid > div:first-child p{
    max-width:620px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .promise-topic-art{justify-content:center!important}
}
@media (max-width:430px){
  .promise{padding-top:74px!important}
  .promise-wave-divider{top:-62px!important;height:64px!important}
}

/* V43 — GUARANTEED NORMAL-FLOW PROMISE WAVE.
   This no longer overlaps the previous section and does not depend on pseudo-elements,
   masks, clip-paths or negative positioning. The SVG occupies real layout space directly
   between Current Travel Season and the Promise section, so it must render in all modern browsers. */
.promise-wave-divider{display:none!important}
.promise::before{display:none!important;content:none!important}
.promise{
  margin-top:0!important;
  padding-top:84px!important;
  overflow:hidden!important;
  background:var(--dark)!important;
}
.promise-flow-divider{
  display:block!important;
  width:100%!important;
  height:104px!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  overflow:hidden!important;
  background:var(--cream)!important;
  position:relative!important;
  z-index:2!important;
}
.promise-flow-divider svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
.promise-flow-fill{fill:#05291d!important}
.promise-flow-line{
  fill:none!important;
  stroke:#c9f075!important;
  stroke-opacity:.22!important;
  stroke-width:2!important;
  vector-effect:non-scaling-stroke!important;
}
/* Reclaim the old empty lower season padding so the wave uses that visual space instead of adding a new gap. */
.season{padding-bottom:34px!important}
@media (min-width:1181px){
  .promise-flow-divider{height:108px!important}
  .promise{padding-top:86px!important}
  .season{padding-bottom:36px!important}
}
@media (min-width:821px) and (max-width:1180px){
  .promise-flow-divider{height:88px!important}
  .promise{padding-top:78px!important}
  .season{padding-bottom:30px!important}
}
@media (max-width:820px){
  .promise-flow-divider{height:70px!important}
  .promise{padding-top:68px!important}
  .season{padding-bottom:26px!important}
  .promise-grid > div:first-child{text-align:center!important}
  .promise-grid > div:first-child .section-label,
  .promise-grid > div:first-child h2,
  .promise-grid > div:first-child p{text-align:center!important}
  .promise-grid > div:first-child p{max-width:620px!important;margin-left:auto!important;margin-right:auto!important}
  .promise-topic-art{justify-content:center!important}
}
@media (max-width:430px){
  .promise-flow-divider{height:62px!important}
  .promise{padding-top:60px!important}
  .season{padding-bottom:22px!important}
}

/* V44 — matching bottom wave after the Journey Promise section.
   Normal-flow SVG, same responsive heights as the tested top divider. */
.promise-flow-divider--bottom{
  background:var(--dark)!important;
  margin:0!important;
  position:relative!important;
  z-index:2!important;
}
.promise-flow-fill-bottom{fill:var(--cream)!important}
.promise-flow-line-bottom{
  fill:none!important;
  stroke:#c9f075!important;
  stroke-opacity:.20!important;
  stroke-width:2!important;
  vector-effect:non-scaling-stroke!important;
}
/* Remove the dark section's old straight bottom edge/padding so the new wave is the transition. */
.promise{padding-bottom:42px!important}
@media (min-width:1181px){.promise{padding-bottom:46px!important}}
@media (min-width:821px) and (max-width:1180px){.promise{padding-bottom:40px!important}}
@media (max-width:820px){.promise{padding-bottom:34px!important}}
@media (max-width:430px){.promise{padding-bottom:30px!important}}

/* V45 — Booking Calendar wave + Sri Lanka journey map.
   The tested promise-bottom wave now transitions directly into the white calendar section,
   so it also acts as the calendar's top wave. The old Upcoming Journeys list is replaced by a
   responsive Sri Lanka map with markers derived from active tour names/places. */
.promise-flow-fill-bottom{fill:var(--white)!important}

.journey-map-card{
  border:1px solid var(--line);
  border-radius:28px;
  background:linear-gradient(180deg,#f8fbf6 0%,#ffffff 100%);
  box-shadow:0 14px 40px rgba(5,41,29,.07);
  padding:22px;
  overflow:hidden;
  min-height:100%;
}
.journey-map-head{text-align:left;margin-bottom:8px}
.journey-map-head h3{font-size:1.55rem;margin:3px 0 4px;color:var(--dark)}
.journey-map-head p{margin:0;color:var(--muted);font-size:.82rem}
.journey-map-stage{
  display:grid;
  place-items:center;
  min-height:355px;
  padding:4px 0 0;
}
.sri-lanka-map{display:block;width:min(100%,300px);height:auto;overflow:visible}
.sri-lanka-shape{stroke:rgba(5,41,29,.22);stroke-width:2}
.journey-map-marker>circle:first-child{fill:#05291d;stroke:#c9f075;stroke-width:3}
.journey-map-marker .marker-pulse{fill:none;stroke:#13865f;stroke-width:2;opacity:.24}
.journey-map-marker text{font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:900;fill:#c9f075;pointer-events:none}
.journey-map-legend{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:4px;
}
.journey-map-legend>div{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 9px;
  border:1px solid rgba(5,41,29,.08);
  border-radius:12px;
  background:#fff;
}
.journey-map-legend>div>b{
  flex:0 0 25px;
  width:25px;height:25px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--dark);color:var(--lime);
  font-size:.68rem;
}
.journey-map-legend>div>span{min-width:0;display:block;line-height:1.15}
.journey-map-legend strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.70rem;color:var(--dark)}
.journey-map-legend small{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;color:var(--muted)}
.journey-map-empty{text-align:center;color:var(--muted);font-size:.8rem;padding:16px}

/* Animate the new map card with the existing calendar section reveal. */
html.js .lazy-section .journey-map-card{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
html.js .lazy-section.is-visible .journey-map-card{opacity:1;transform:none}

@media (min-width:821px) and (max-width:1180px){
  .journey-map-stage{min-height:330px}
  .sri-lanka-map{width:min(100%,285px)}
}
@media (max-width:820px){
  .journey-map-card{text-align:center}
  .journey-map-head{text-align:center}
  .journey-map-stage{min-height:315px}
  .sri-lanka-map{width:min(100%,270px)}
  .journey-map-legend{grid-template-columns:repeat(2,minmax(0,1fr));text-align:left}
}
@media (max-width:520px){
  .journey-map-card{padding:18px 15px;border-radius:22px}
  .journey-map-stage{min-height:285px}
  .sri-lanka-map{width:min(100%,245px)}
  .journey-map-legend{grid-template-columns:1fr}
}

/* V46 — Dynamic booking calendar + full Sri Lanka route map + divider seam cleanup. */

/* Divider cleanup: remove all decorative strokes and overlap by 2px so mobile browsers
   cannot show a 1px antialias/seam between shaped sections. */
.promise-flow-line,
.promise-flow-line-bottom{display:none!important;stroke:none!important}
.promise-flow-divider{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  margin-top:0!important;
  margin-bottom:-2px!important;
}
.promise-flow-divider--bottom{margin-top:-1px!important;margin-bottom:-2px!important}
.promise-flow-divider svg{
  display:block!important;
  width:100.2%!important;
  margin-left:-.1%!important;
  height:calc(100% + 3px)!important;
  border:0!important;
  outline:0!important;
}
.promise-flow-fill{stroke:none!important}
.promise-flow-fill-bottom{stroke:none!important}
.promise{border:0!important;outline:0!important}
.calendar-section{border:0!important;outline:0!important}

/* Dynamic month selector */
.calendar-month-nav{
  display:grid;
  grid-template-columns:44px 1fr 44px;
  gap:12px;
  align-items:center;
  margin-bottom:20px;
}
.calendar-month-name{text-align:center;line-height:1.05}
.calendar-month-name strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:2rem;font-weight:500;color:var(--dark)}
.calendar-month-name span{display:inline-block;margin-top:6px;padding:7px 11px;border-radius:999px;background:#edf5ef;color:var(--green);font-size:.7rem;font-weight:900;letter-spacing:.08em}
.calendar-month-arrow{width:44px;height:44px;border-radius:50%;border:1px solid rgba(5,41,29,.13);background:#f4f7f3;color:var(--dark);font-size:1.1rem;font-weight:900;cursor:pointer}
.calendar-month-arrow:disabled{opacity:.28;cursor:default}
.calendar-month-panel[hidden]{display:none!important}
.calendar-month-panel.is-active{display:block}
.legend{justify-content:flex-start}

/* Full Sri Lanka map — entire island stays visible; markers use stored geocoded tour coordinates. */
.journey-map-stage{min-height:390px;padding:2px 0 6px;overflow:visible}
.sri-lanka-map--full{width:min(100%,340px)!important;height:auto!important;overflow:visible!important}
.sri-lanka-shape--full{stroke:#13865f!important;stroke-width:2.2!important;stroke-linejoin:round!important}
.sri-lanka-islet{fill:#dff1c9;stroke:#13865f;stroke-width:1.5}
.sri-lanka-guide{fill:none;stroke:rgba(5,41,29,.12);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:4 6}
.journey-map-marker>circle:first-child{fill:#05291d;stroke:#c9f075;stroke-width:3}

/* Calendar mobile centering requested for September 2026 / future months and highlighted journey dates. */
@media (max-width:820px){
  .calendar-content-head{text-align:center!important}
  .calendar-content-head>div{text-align:center!important}
  .calendar-content-head .section-label,
  .calendar-content-head h2,
  .calendar-content-head p{text-align:center!important}
  .calendar-content-head p{margin:14px auto 0!important;max-width:590px!important}
  .calendar-month-nav{grid-template-columns:42px 1fr 42px;gap:8px}
  .calendar-month-arrow{width:42px;height:42px}
  .day.trip-day{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important}
  .day.trip-day b,.day.trip-day small{text-align:center!important;width:100%!important}
  .legend{justify-content:center!important;text-align:center!important}
  .journey-map-stage{min-height:350px}
  .sri-lanka-map--full{width:min(100%,310px)!important}
}
@media (max-width:520px){
  .calendar-month-name strong{font-size:1.7rem}
  .calendar-month-nav{grid-template-columns:38px 1fr 38px}
  .calendar-month-arrow{width:38px;height:38px}
  .day.trip-day{padding:4px 2px!important}
  .day.trip-day small{font-size:.47rem!important;line-height:1.12!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .journey-map-stage{min-height:320px}
  .sri-lanka-map--full{width:min(100%,285px)!important}
}
.sri-lanka-map-detail{fill:none;stroke:rgba(5,41,29,.16);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}

/* V47 — Seat-aware journey calendar + premium availability popup + province-style Sri Lanka map. */
.day.journey-date-btn{
  appearance:none;-webkit-appearance:none;width:100%;font-family:inherit;cursor:pointer;text-align:left;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.day.journey-date-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(5,41,29,.24)}
.day.trip-day em{display:block;margin-top:3px;font-style:normal;font-size:.48rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.day.is-past-journey{background:#28362f!important;border-color:#28362f!important;color:rgba(255,255,255,.40)!important;box-shadow:none!important;filter:saturate(.45)}
.day.is-past-journey b{color:rgba(255,255,255,.72)!important}
.day.is-past-journey small{color:rgba(255,255,255,.48)!important}
.day.is-past-journey em{color:rgba(255,255,255,.38)!important}
.day.journey-date-btn.is-sold-out{background:#173126!important;filter:saturate(.65)}
.day.journey-date-btn.is-sold-out em{color:#ffd48a}
.legend .legend-past i{background:#28362f!important}

/* Premium centered seat popup */
body.seat-modal-open{overflow:hidden}
.journey-seat-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.journey-seat-modal.is-open{opacity:1;visibility:visible}
.journey-seat-backdrop{position:absolute;inset:0;background:rgba(2,20,14,.72);backdrop-filter:blur(8px)}
.journey-seat-dialog{position:relative;z-index:1;width:min(92vw,510px);max-height:min(88vh,700px);overflow:auto;border-radius:30px;padding:28px;background:linear-gradient(160deg,#0b3e2d 0%,#05291d 72%);color:#fff;border:1px solid rgba(201,240,117,.22);box-shadow:0 34px 90px rgba(0,0,0,.42)}
.journey-seat-dialog:before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-90px;top:-110px;background:rgba(201,240,117,.08);box-shadow:0 0 0 42px rgba(201,240,117,.025)}
.journey-seat-close{position:absolute;z-index:2;right:16px;top:16px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;font-size:1.35rem;cursor:pointer}
.journey-seat-badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(201,240,117,.12);color:var(--lime);font-size:.62rem;font-weight:900;letter-spacing:.18em}
.journey-seat-dialog h3{position:relative;margin:13px 0 5px;font-size:clamp(2rem,6vw,3.25rem);line-height:.95;letter-spacing:-.035em}
.journey-seat-date{position:relative;margin:0 0 18px;color:rgba(255,255,255,.63);font-size:.86rem}
.journey-seat-list{display:grid;gap:12px;position:relative}
.journey-seat-item{padding:16px;border:1px solid rgba(255,255,255,.10);border-radius:20px;background:rgba(255,255,255,.055)}
.journey-seat-item>strong{display:block;font-size:1rem;margin-bottom:12px}
.journey-seat-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.journey-seat-stats span{display:grid;place-items:center;text-align:center;min-height:78px;padding:10px 5px;border-radius:15px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08)}
.journey-seat-stats b{font-size:1.5rem;line-height:1;color:var(--lime)}
.journey-seat-stats small{margin-top:7px;font-size:.58rem;color:rgba(255,255,255,.62);text-transform:uppercase;letter-spacing:.08em}
.journey-seat-stats span.sold b{color:#ffd08a}
.journey-seat-item p{margin:11px 0 0;color:rgba(255,255,255,.60);font-size:.72rem;text-align:center}
.journey-seat-book{position:relative;margin-top:16px;display:flex;justify-content:center;align-items:center;min-height:48px;border-radius:999px;background:var(--lime);color:var(--dark);font-weight:900;font-size:.82rem}
@media(max-width:520px){.journey-seat-dialog{padding:23px 18px 20px;border-radius:24px}.journey-seat-stats span{min-height:70px}.journey-seat-stats b{font-size:1.3rem}}

/* Province-style Sri Lanka map. Original site vector based on the supplied layout reference, without source image/watermark. */
.sri-lanka-map--province{width:min(100%,345px)!important;height:auto!important;overflow:visible!important}
.sl-map-base{fill:#edf4e6}
.sl-provinces path{stroke:#fff;stroke-width:3;stroke-linejoin:round}
.sl-provinces .p-north{fill:#91c934}.sl-provinces .p-nw{fill:#6f9fe9}.sl-provinces .p-nc{fill:#f07818}.sl-provinces .p-east{fill:#ffc51d}.sl-provinces .p-central{fill:#8fc936}.sl-provinces .p-west{fill:#f36f18}.sl-provinces .p-sabar{fill:#ffc51d}.sl-provinces .p-uva{fill:#6898e4}.sl-provinces .p-south{fill:#8fc936}
.sl-map-outline{fill:none;stroke:#13865f;stroke-width:2.5;stroke-linejoin:round}
.sri-lanka-map--province .journey-map-marker>circle:first-child{fill:#05291d;stroke:#c9f075;stroke-width:3.2}
.sri-lanka-map--province .journey-map-marker .marker-pulse{fill:none;stroke:#05291d;stroke-width:2;opacity:.18}
@media(max-width:820px){.sri-lanka-map--province{width:min(100%,315px)!important}}
@media(max-width:520px){.sri-lanka-map--province{width:min(100%,280px)!important}}
.journey-seat-book.is-disabled{background:rgba(255,255,255,.10);color:rgba(255,255,255,.48);pointer-events:none}

/* V48 — manual booking default confirmed + compact availability modal + full white/green Sri Lanka map */
.journey-seat-dialog{width:min(92vw,460px)!important;max-height:none!important;overflow:hidden!important;padding:22px 20px 18px!important;border-radius:26px!important}
.journey-seat-dialog:before{width:180px!important;height:180px!important;right:-70px!important;top:-92px!important}
.journey-seat-badge{padding:6px 10px!important;font-size:.58rem!important;letter-spacing:.17em!important}
.journey-seat-dialog h3{margin:10px 0 4px!important;font-size:clamp(1.75rem,5vw,2.65rem)!important;line-height:1!important}
.journey-seat-date{margin:0 0 14px!important;font-size:.8rem!important}
.journey-seat-list{gap:10px!important}
.journey-seat-item{padding:14px!important;border-radius:18px!important}
.journey-seat-item>strong{font-size:.98rem!important;margin-bottom:10px!important;display:block;text-align:center}
.journey-seat-stats{gap:7px!important}
.journey-seat-stats span{min-height:64px!important;padding:8px 4px!important;border-radius:14px!important}
.journey-seat-stats b{font-size:1.28rem!important}
.journey-seat-stats small{margin-top:5px!important;font-size:.54rem!important;letter-spacing:.07em!important}
.journey-seat-item p{margin:9px 0 0!important;font-size:.68rem!important;line-height:1.35!important}
.journey-seat-book{margin-top:14px!important;min-height:46px!important;font-size:.8rem!important}
@media(max-width:520px){.journey-seat-modal{padding:14px!important}.journey-seat-dialog{width:min(94vw,420px)!important;padding:19px 16px 16px!important;border-radius:22px!important}.journey-seat-close{right:12px!important;top:12px!important;width:34px!important;height:34px!important;font-size:1.15rem!important}.journey-seat-dialog h3{font-size:clamp(1.55rem,7vw,2.15rem)!important}.journey-seat-stats span{min-height:58px!important}.journey-seat-stats b{font-size:1.12rem!important}.journey-seat-stats small{font-size:.5rem!important}}
.journey-map-card{overflow:visible!important}
.journey-map-stage{min-height:460px!important;padding:10px 0 12px!important;display:grid!important;place-items:center!important;overflow:visible!important}
.sri-lanka-map--tlog-full{width:min(100%,385px)!important;height:auto!important;overflow:visible!important;display:block!important}
.sl-map-base-v48{fill:#ffffff}
.sl-provinces-v48 path{stroke:#13865f;stroke-width:2.2;stroke-linejoin:round}
.sl-provinces-v48 .p1,.sl-provinces-v48 .p3,.sl-provinces-v48 .p5,.sl-provinces-v48 .p7,.sl-provinces-v48 .p9{fill:#e2f1d2}
.sl-provinces-v48 .p2,.sl-provinces-v48 .p4,.sl-provinces-v48 .p6,.sl-provinces-v48 .p8{fill:#ffffff}
.sl-map-outline-v48{fill:none;stroke:#13865f;stroke-width:3.4;stroke-linejoin:round}
.journey-map-marker--v48>circle:first-child{fill:#05291d;stroke:#c9f075;stroke-width:3.2}
.journey-map-marker--v48 .marker-pulse{fill:none;stroke:#13865f;stroke-width:2.3;opacity:.18}
.journey-map-marker--v48 text{fill:#fff;font-size:12px;font-weight:900}
@media (max-width:820px){.journey-map-stage{min-height:420px!important}.sri-lanka-map--tlog-full{width:min(100%,350px)!important}}
@media (max-width:520px){.journey-map-stage{min-height:380px!important}.sri-lanka-map--tlog-full{width:min(100%,315px)!important}}

/* V49 — full Sri Lanka map proportion fix + booking popup prefill */
.journey-map-stage{min-height:500px!important;padding:14px 0 18px!important}
.sri-lanka-map--tlog-full{width:min(100%,360px)!important;max-width:100%!important;height:auto!important;display:block!important;overflow:visible!important}
.sl-map-base-v49{fill:#ffffff}
.sl-islets-v49 path{fill:#cce7ae}
.sl-provinces-v49 path{stroke:#13865f;stroke-width:2.5;stroke-linejoin:round}
.sl-provinces-v49 .p1,.sl-provinces-v49 .p3,.sl-provinces-v49 .p5,.sl-provinces-v49 .p7,.sl-provinces-v49 .p9{fill:#9dcb33}
.sl-provinces-v49 .p2,.sl-provinces-v49 .p4,.sl-provinces-v49 .p6,.sl-provinces-v49 .p8{fill:#ffffff}
.sl-map-outline-v49{fill:none;stroke:#13865f;stroke-width:3.6;stroke-linejoin:round}
.journey-map-marker--v49>circle:first-child{fill:#05291d;stroke:#c9f075;stroke-width:3.2}
.journey-map-marker--v49 .marker-pulse{fill:none;stroke:#13865f;stroke-width:2.4;opacity:.18}
.journey-map-marker--v49 text{fill:#fff;font-size:12px;font-weight:900}
@media (max-width:820px){.journey-map-stage{min-height:455px!important}.sri-lanka-map--tlog-full{width:min(100%,330px)!important}}
@media (max-width:520px){.journey-map-stage{min-height:405px!important}.sri-lanka-map--tlog-full{width:min(100%,300px)!important}}

/* V50 — FULL Sri Lanka map visibility fix.
   Keep the same green/white map style, but scale it to fit completely inside the Journey Map card.
   This removes the top/bottom clipping seen in the previous build. */
.journey-map-card{
  overflow:hidden!important;
}
.journey-map-stage{
  min-height:360px!important;
  padding:6px 0 10px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.sri-lanka-map--tlog-full{
  width:min(100%,252px)!important;
  max-width:252px!important;
  max-height:420px!important;
  height:auto!important;
  margin:0 auto!important;
  display:block!important;
  overflow:visible!important;
}
.journey-map-legend{
  margin-top:8px!important;
}
@media (min-width:1181px){
  .journey-map-stage{min-height:372px!important}
  .sri-lanka-map--tlog-full{width:min(100%,258px)!important;max-width:258px!important;max-height:428px!important}
}
@media (max-width:820px){
  .journey-map-stage{min-height:338px!important}
  .sri-lanka-map--tlog-full{width:min(100%,238px)!important;max-width:238px!important;max-height:395px!important}
}
@media (max-width:520px){
  .journey-map-stage{min-height:312px!important;padding:4px 0 8px!important}
  .sri-lanka-map--tlog-full{width:min(100%,222px)!important;max-width:222px!important;max-height:360px!important}
}

/* V51 — accurate full Sri Lanka silhouette + multi-day calendar support */
.journey-map-card{overflow:hidden!important}
.journey-map-stage{min-height:360px!important;padding:6px 0 8px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.sri-lanka-map--v51{width:min(100%,245px)!important;max-width:245px!important;height:auto!important;display:block!important;overflow:visible!important}
.sl-island-v51{fill:#9dcb33;stroke:#13865f;stroke-width:3.2;stroke-linejoin:round}
.sl-islets-v51 circle{fill:#9dcb33;stroke:#13865f;stroke-width:1.5}
.sl-route-line-v51{fill:none;stroke:rgba(255,255,255,.78);stroke-width:2;stroke-dasharray:5 7;stroke-linecap:round}
.journey-map-marker--v51>circle:first-child{fill:#05291d;stroke:#c9f075;stroke-width:3.2}
.journey-map-marker--v51 .marker-pulse{fill:none;stroke:#13865f;stroke-width:2.3;opacity:.18}
.journey-map-marker--v51 text{fill:#fff;font-size:11px;font-weight:900}
.day.trip-day small{line-height:1.08}
.day.trip-day[data-multiday="1"]{box-shadow:inset 0 0 0 1px rgba(201,240,117,.22)}
@media (max-width:820px){.journey-map-stage{min-height:330px!important}.sri-lanka-map--v51{width:min(100%,225px)!important;max-width:225px!important}}
@media (max-width:520px){.journey-map-stage{min-height:300px!important}.sri-lanka-map--v51{width:min(100%,205px)!important;max-width:205px!important}}

/* V52 — full Sri Lanka outline traced from the user's supplied layout reference only. */
.journey-map-stage{min-height:380px!important;padding:8px 0 10px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.sri-lanka-map--v52{width:min(100%,270px)!important;max-width:270px!important;height:auto!important;display:block!important;overflow:visible!important}
.sl-traced-island-v52 .sl-traced-piece-v52{fill:#9dcb33;stroke:#13865f;stroke-width:2.2;stroke-linejoin:round}
.journey-map-marker--v52>circle:first-child{fill:#05291d;stroke:#c9f075;stroke-width:3.2}
.journey-map-marker--v52 .marker-pulse{fill:none;stroke:#13865f;stroke-width:2.3;opacity:.18}
.journey-map-marker--v52 text{fill:#fff;font-size:11px;font-weight:900}
@media (max-width:820px){.journey-map-stage{min-height:350px!important}.sri-lanka-map--v52{width:min(100%,245px)!important;max-width:245px!important}}
@media (max-width:520px){.journey-map-stage{min-height:320px!important}.sri-lanka-map--v52{width:min(100%,225px)!important;max-width:225px!important}}


/* V53 home social + photo sections */
.section-art-title{display:flex;align-items:center;justify-content:flex-start;gap:14px;flex-wrap:wrap}
.section-side-illustration{width:38px;height:38px;border-radius:999px;border:1px solid rgba(19,134,95,.18);background:radial-gradient(circle at 30% 30%,rgba(201,240,117,.9),rgba(19,134,95,.18) 55%,transparent 56%),linear-gradient(135deg,rgba(201,240,117,.22),rgba(19,134,95,.06));display:inline-block;position:relative}
.section-side-illustration:before,.section-side-illustration:after{content:'';position:absolute;background:rgba(19,134,95,.75);border-radius:999px}
.section-side-illustration:before{width:10px;height:2px;left:14px;top:18px;transform:rotate(35deg)}
.section-side-illustration:after{width:2px;height:10px;left:18px;top:14px;transform:rotate(35deg)}
.booking-info .section-art-title,.contact-copy .section-art-title{margin-bottom:10px}
.social-section{padding:95px 0;background:var(--white)}
.social-content-head{text-align:center}
.social-content-head>div,.social-content-head p{text-align:center;margin-left:auto;margin-right:auto}
.social-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:stretch}
.social-copy-card,.facebook-feed-card,.youtube-panel,.photo-cta-card,.review-card{border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 14px 40px rgba(5,41,29,.07)}
.social-copy-card{padding:30px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.facebook-feed-card{overflow:hidden;background:#fff;padding:10px}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.review-card{padding:24px}
.review-stars{display:flex;gap:4px;color:var(--lime);font-size:1.05rem;margin-bottom:10px}
.review-card p{margin:0 0 18px;color:var(--muted)}
.center-cta{text-align:center;margin-top:20px}
.youtube-panel{display:grid;grid-template-columns:1.18fr .82fr;gap:22px;padding:22px}
.youtube-embed{border-radius:22px;overflow:hidden;background:#031b13;min-height:420px}
.youtube-embed iframe{display:block}
.youtube-fallback{display:grid;place-items:center;height:100%;color:#fff;padding:24px;text-align:center}
.youtube-meta{display:flex;flex-direction:column;justify-content:center;gap:12px}
.youtube-meta h3{font-size:2rem;margin:0}
.photo-cta-section{padding:95px 0;background:linear-gradient(135deg,#eef4ec,#fff)}
.photo-cta-card{padding:34px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.desktop-only-copy{display:none}
.contact-copy,.contact-cards .contact-card{text-align:center}
.contact-card .contact-icon{margin-left:auto;margin-right:auto}
.booking-form .form-title{text-align:center}
.media-content-head>div,.media-content-head p{text-align:left}
@media(min-width:821px){.desktop-only-copy{display:block;color:var(--muted);max-width:520px;margin-top:18px}.media-content-head>p{display:none}}
@media(max-width:820px){.social-section,.photo-cta-section{padding:72px 0}.booking-info,.booking-form,.content-head,.contact-copy,.contact-cards,.social-content-head,.media-content-head{text-align:center}.content-head>div,.social-content-head>div,.media-content-head>div{text-align:center}.content-head p,.social-content-head p,.media-content-head p,.booking-info>p,.contact-copy p{margin-left:auto;margin-right:auto}.social-grid,.youtube-panel,.photo-cta-card,.review-grid{grid-template-columns:1fr}.photo-cta-card{justify-items:center;text-align:center}.section-art-title{justify-content:center}.booking-info .section-art-title,.contact-copy .section-art-title{justify-content:center}.media-content-head>div,.media-content-head p{text-align:center}.contact-grid{grid-template-columns:1fr}.contact-cards .contact-card{justify-items:center}.gallery-section .content-head p{max-width:640px}.booking-step{text-align:left}}


/* V54 memories + original reviews tweaks */
.section-side-illustration--white{border-color:rgba(255,255,255,.22);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.92),rgba(255,255,255,.08) 55%,transparent 56%),linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.04));box-shadow:0 10px 24px rgba(0,0,0,.08)}
.section-side-illustration--white:before,.section-side-illustration--white:after{background:rgba(255,255,255,.9)}
.memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.memory-card{position:relative;padding:18px;border-radius:34px;background:linear-gradient(180deg,#f4f1e9,#ece8de);border:1px solid rgba(7,42,30,.08);box-shadow:0 18px 45px rgba(3,28,19,.12);overflow:visible}
.memory-card:before,.memory-card:after{content:'';position:absolute;left:26px;right:26px;height:100%;border-radius:28px;background:#f8f6ef;border:1px solid rgba(7,42,30,.06);z-index:0}
.memory-card:before{top:-10px;transform:rotate(-2deg)}
.memory-card:after{top:-19px;left:36px;right:36px;transform:rotate(-4deg)}
.memory-stack{display:none}
.memory-media,.memory-footer{position:relative;z-index:1}
.memory-media{position:relative;border-radius:28px;overflow:hidden;border:5px solid rgba(255,255,255,.85);box-shadow:0 20px 40px rgba(3,28,19,.18);background:#133628}
.memory-media img{width:100%;height:360px;object-fit:cover;display:block}
.memory-pill,.memory-date{position:absolute;top:16px;z-index:2;padding:12px 18px;border-radius:999px;font-size:.84rem;font-weight:900;letter-spacing:.05em}
.memory-pill{left:16px;background:#0f6a4d;color:#fff;box-shadow:0 8px 20px rgba(2,18,12,.22)}
.memory-date{right:16px;background:rgba(255,255,255,.92);color:#103325}
.memory-footer{margin-top:16px;padding:18px 18px 6px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(255,255,255,.66);border-radius:24px}
.memory-footer strong{display:block;font-size:1.8rem;color:#15392b;line-height:1.1}
.memory-footer small{display:block;margin-top:7px;color:#5d6f67;font-size:.92rem}
.memory-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 24px;border-radius:18px;background:linear-gradient(135deg,#f4c85a,#f0b83f);color:#173426;font-weight:900;white-space:nowrap;box-shadow:0 12px 24px rgba(240,184,63,.28)}
.memory-btn span{font-size:1.25rem;line-height:1}
.reviews-summary-card{margin:0 auto 18px;padding:18px 22px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 14px 40px rgba(5,41,29,.06);display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:980px}
.reviews-summary-card small{display:block;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.09em;margin-bottom:5px}
.reviews-summary-card strong{font-size:1.1rem}
.reviews-summary-stats{display:flex;align-items:center;gap:12px;color:var(--dark)}
.reviews-summary-stats b{font-size:1.45rem;color:var(--green)}
.review-meta{margin-bottom:8px;font-size:.78rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:980px){.memory-grid{grid-template-columns:1fr}.memory-media img{height:320px}}
@media(max-width:820px){.memory-grid{grid-template-columns:1fr;gap:22px}.memory-card{padding:14px;border-radius:28px}.memory-card:before{top:-8px;left:18px;right:18px}.memory-card:after{top:-15px;left:28px;right:28px}.memory-media img{height:270px}.memory-footer{padding:16px;flex-direction:column;align-items:center;text-align:center}.memory-footer strong{font-size:1.6rem}.memory-btn{width:100%;justify-content:center}.reviews-summary-card{flex-direction:column;text-align:center}.booking-info .section-art-title,.media-content-head .section-art-title{justify-content:center}}
@media(max-width:520px){.memory-media img{height:230px}.memory-pill,.memory-date{padding:10px 14px;font-size:.74rem}.memory-footer strong{font-size:1.38rem}}


/* V55 illustration alignment fix */
.booking-info .section-art-title,
.media-content-head .section-art-title,
.contact-copy .section-art-title{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  column-gap:14px;
  row-gap:0;
  width:100%;
}
.booking-info .section-art-title .section-label,
.media-content-head .section-art-title .section-label,
.contact-copy .section-art-title .section-label{
  display:block;
  text-align:center;
  line-height:1.2;
}
@media(max-width:820px){
  .booking-info .section-art-title,
  .media-content-head .section-art-title,
  .contact-copy .section-art-title{
    grid-template-columns:32px minmax(0,1fr) 32px;
    column-gap:10px;
  }
  .booking-info .section-art-title .section-label,
  .media-content-head .section-art-title .section-label,
  .contact-copy .section-art-title .section-label{
    font-size:.82rem;
    letter-spacing:.18em;
  }
  .booking-info .section-art-title .section-side-illustration,
  .media-content-head .section-art-title .section-side-illustration,
  .contact-copy .section-art-title .section-side-illustration{
    width:32px;
    height:32px;
  }
  .booking-info .section-art-title .section-side-illustration:before,
  .media-content-head .section-art-title .section-side-illustration:before,
  .contact-copy .section-art-title .section-side-illustration:before{
    width:8px;left:12px;top:15px;
  }
  .booking-info .section-art-title .section-side-illustration:after,
  .media-content-head .section-art-title .section-side-illustration:after,
  .contact-copy .section-art-title .section-side-illustration:after{
    height:8px;left:15px;top:12px;
  }
}


/* V56 absolute paired illustration fix */
.booking-info .section-art-title,
.media-content-head .section-art-title,
.contact-copy .section-art-title{
  position:relative;
  display:block !important;
  width:fit-content;
  max-width:100%;
  margin:0 auto 14px !important;
  padding:0 52px;
  text-align:center;
}
.booking-info .section-art-title .section-label,
.media-content-head .section-art-title .section-label,
.contact-copy .section-art-title .section-label{
  display:block !important;
  text-align:center !important;
  white-space:nowrap;
}
.booking-info .section-art-title .section-side-illustration,
.media-content-head .section-art-title .section-side-illustration,
.contact-copy .section-art-title .section-side-illustration{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  margin:0 !important;
}
.booking-info .section-art-title .section-side-illustration--left,
.media-content-head .section-art-title .section-side-illustration--left,
.contact-copy .section-art-title .section-side-illustration--left{left:0;}
.booking-info .section-art-title .section-side-illustration--right,
.media-content-head .section-art-title .section-side-illustration--right,
.contact-copy .section-art-title .section-side-illustration--right{right:0;}
@media(max-width:820px){
  .booking-info .section-art-title,
  .media-content-head .section-art-title,
  .contact-copy .section-art-title{
    padding:0 42px;
    margin:0 auto 12px !important;
  }
  .booking-info .section-art-title .section-label,
  .media-content-head .section-art-title .section-label,
  .contact-copy .section-art-title .section-label{
    font-size:.78rem !important;
    letter-spacing:.12em !important;
  }
  .booking-info .section-art-title .section-side-illustration,
  .media-content-head .section-art-title .section-side-illustration,
  .contact-copy .section-art-title .section-side-illustration{
    width:28px !important;
    height:28px !important;
  }
  .booking-info .section-art-title .section-side-illustration:before,
  .media-content-head .section-art-title .section-side-illustration:before,
  .contact-copy .section-art-title .section-side-illustration:before{
    width:6px !important; left:10px !important; top:13px !important;
  }
  .booking-info .section-art-title .section-side-illustration:after,
  .media-content-head .section-art-title .section-side-illustration:after,
  .contact-copy .section-art-title .section-side-illustration:after{
    height:6px !important; left:13px !important; top:10px !important;
  }
}
@media(max-width:480px){
  .booking-info .section-art-title,
  .media-content-head .section-art-title,
  .contact-copy .section-art-title{
    padding:0 36px;
  }
  .booking-info .section-art-title .section-label,
  .media-content-head .section-art-title .section-label,
  .contact-copy .section-art-title .section-label{
    font-size:.70rem !important;
    letter-spacing:.10em !important;
  }
  .booking-info .section-art-title .section-side-illustration,
  .media-content-head .section-art-title .section-side-illustration,
  .contact-copy .section-art-title .section-side-illustration{
    width:24px !important;
    height:24px !important;
  }
  .booking-info .section-art-title .section-side-illustration:before,
  .media-content-head .section-art-title .section-side-illustration:before,
  .contact-copy .section-art-title .section-side-illustration:before{
    width:5px !important; left:9px !important; top:11px !important;
  }
  .booking-info .section-art-title .section-side-illustration:after,
  .media-content-head .section-art-title .section-side-illustration:after,
  .contact-copy .section-art-title .section-side-illustration:after{
    height:5px !important; left:11px !important; top:9px !important;
  }
}


/* V57 promise-style compact topic illustrations */
.booking-info .section-art-title,
.media-content-head .section-art-title,
.contact-copy .section-art-title{
  position:static !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  flex-wrap:nowrap !important;
  width:auto !important;
  max-width:100% !important;
  padding:0 !important;
  margin:0 auto 12px !important;
  text-align:center !important;
}
.booking-info .section-art-title .section-label,
.media-content-head .section-art-title .section-label,
.contact-copy .section-art-title .section-label{
  display:inline-block !important;
  white-space:nowrap !important;
  line-height:1.1 !important;
  text-align:center !important;
  margin:0 !important;
}
.booking-info .section-art-title .section-side-illustration,
.media-content-head .section-art-title .section-side-illustration,
.contact-copy .section-art-title .section-side-illustration{
  position:static !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  width:38px !important;
  height:28px !important;
  flex:0 0 38px !important;
  margin:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(201,240,117,.20) !important;
  background-color:rgba(201,240,117,.07) !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:20px 20px !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 8px 20px rgba(0,0,0,.10) !important;
}
.booking-info .section-art-title .section-side-illustration:before,
.booking-info .section-art-title .section-side-illustration:after,
.media-content-head .section-art-title .section-side-illustration:before,
.media-content-head .section-art-title .section-side-illustration:after,
.contact-copy .section-art-title .section-side-illustration:before,
.contact-copy .section-art-title .section-side-illustration:after{
  display:none !important;
  content:none !important;
}
.booking-info .section-art-title .section-side-illustration--left,
.media-content-head .section-art-title .section-side-illustration--left,
.contact-copy .section-art-title .section-side-illustration--left{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9f075' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.3'/%3E%3Cpath d='m14.8 9.2-2.1 5.5-5.5 2.1 2.1-5.5 5.5-2.1Z'/%3E%3Cpath d='M12 2.5v2M12 19.5v2M2.5 12h2M19.5 12h2'/%3E%3C/svg%3E") !important;
}
.booking-info .section-art-title .section-side-illustration--right,
.media-content-head .section-art-title .section-side-illustration--right,
.contact-copy .section-art-title .section-side-illustration--right{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9f075' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.1 6-11a6 6 0 1 0-12 0c0 5.9 6 11 6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.1'/%3E%3Cpath d='M4 20c2-1.2 4-1.7 6-1.5M14 18.5c2 .1 4 .6 6 1.5'/%3E%3C/svg%3E") !important;
}
@media(max-width:820px){
  .booking-info .section-art-title,
  .media-content-head .section-art-title,
  .contact-copy .section-art-title{
    gap:10px !important;
  }
  .booking-info .section-art-title .section-label,
  .media-content-head .section-art-title .section-label,
  .contact-copy .section-art-title .section-label{
    font-size:.82rem !important;
    letter-spacing:.16em !important;
  }
  .booking-info .section-art-title .section-side-illustration,
  .media-content-head .section-art-title .section-side-illustration,
  .contact-copy .section-art-title .section-side-illustration{
    width:34px !important;
    height:25px !important;
    flex-basis:34px !important;
    background-size:18px 18px !important;
  }
}
@media(max-width:430px){
  .booking-info .section-art-title,
  .media-content-head .section-art-title,
  .contact-copy .section-art-title{
    gap:8px !important;
  }
  .booking-info .section-art-title .section-label,
  .media-content-head .section-art-title .section-label,
  .contact-copy .section-art-title .section-label{
    font-size:.74rem !important;
    letter-spacing:.12em !important;
  }
  .booking-info .section-art-title .section-side-illustration,
  .media-content-head .section-art-title .section-side-illustration,
  .contact-copy .section-art-title .section-side-illustration{
    width:31px !important;
    height:23px !important;
    flex-basis:31px !important;
    background-size:16px 16px !important;
  }
}

/* V58 — dark memory gallery with compact Why-Choose style topic illustrations and brush dividers */
.gallery-section{
  position:relative!important;
  z-index:2!important;
  overflow:visible!important;
  background:#05291d!important;
  color:#fff!important;
  padding-top:108px!important;
  padding-bottom:108px!important;
}
.gallery-section::before,
.gallery-section::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:44px;
  background:#05291d;
  pointer-events:none;
  z-index:0;
}
.gallery-section::before{
  top:-42px;
  clip-path:polygon(0 75%,4% 58%,8% 70%,12% 43%,16% 62%,20% 38%,24% 56%,28% 32%,32% 51%,36% 29%,40% 48%,44% 25%,48% 43%,52% 21%,56% 41%,60% 27%,64% 45%,68% 31%,72% 52%,76% 34%,80% 56%,84% 41%,88% 62%,92% 48%,96% 68%,100% 55%,100% 100%,0 100%);
}
.gallery-section::after{
  bottom:-42px;
  clip-path:polygon(0 0,100% 0,100% 42%,96% 58%,92% 44%,88% 65%,84% 49%,80% 70%,76% 51%,72% 73%,68% 55%,64% 77%,60% 58%,56% 80%,52% 60%,48% 84%,44% 62%,40% 81%,36% 59%,32% 78%,28% 55%,24% 74%,20% 51%,16% 69%,12% 46%,8% 65%,4% 50%,0 67%);
}
.gallery-section>.wrap{position:relative;z-index:1}
.gallery-section .section-label{color:var(--lime)!important}
.gallery-section .media-content-head h2{color:#fff!important}
.gallery-section .media-content-head p,
.gallery-section .desktop-only-copy{color:rgba(255,255,255,.68)!important}
.gallery-section .section-art-title{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  flex-wrap:nowrap!important;
  width:auto!important;
  margin:0 auto 5px!important;
  padding:0!important;
}
.gallery-section .section-art-title .section-side-illustration{
  position:static!important;
  transform:none!important;
  width:38px!important;
  height:28px!important;
  flex:0 0 38px!important;
  border-radius:999px!important;
  border:1px solid rgba(201,240,117,.20)!important;
  background-color:rgba(201,240,117,.07)!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:20px 20px!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 8px 20px rgba(0,0,0,.10)!important;
}
.gallery-section .section-art-title .section-side-illustration:before,
.gallery-section .section-art-title .section-side-illustration:after{display:none!important;content:none!important}
.gallery-section .section-art-title .section-side-illustration--left{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9f075' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.3'/%3E%3Cpath d='m14.8 9.2-2.1 5.5-5.5 2.1 2.1-5.5 5.5-2.1Z'/%3E%3Cpath d='M12 2.5v2M12 19.5v2M2.5 12h2M19.5 12h2'/%3E%3C/svg%3E")!important;
}
.gallery-section .section-art-title .section-side-illustration--right{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9f075' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.1 6-11a6 6 0 1 0-12 0c0 5.9 6 11 6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.1'/%3E%3Cpath d='M4 20c2-1.2 4-1.7 6-1.5M14 18.5c2 .1 4 .6 6 1.5'/%3E%3C/svg%3E")!important;
}
.gallery-section .memory-card{background:linear-gradient(180deg,#f4f1e9,#ece8de)!important}
@media(max-width:820px){
  .gallery-section{padding-top:86px!important;padding-bottom:86px!important}
  .gallery-section::before,.gallery-section::after{height:34px}
  .gallery-section::before{top:-32px}
  .gallery-section::after{bottom:-32px}
  .gallery-section .section-art-title{gap:10px!important}
  .gallery-section .section-art-title .section-label{font-size:.82rem!important;letter-spacing:.16em!important;white-space:nowrap!important}
  .gallery-section .section-art-title .section-side-illustration{width:34px!important;height:25px!important;flex-basis:34px!important;background-size:18px 18px!important}
}
@media(max-width:430px){
  .gallery-section{padding-top:78px!important;padding-bottom:78px!important}
  .gallery-section::before,.gallery-section::after{height:28px}
  .gallery-section::before{top:-26px}
  .gallery-section::after{bottom:-26px}
  .gallery-section .section-art-title{gap:8px!important}
  .gallery-section .section-art-title .section-label{font-size:.74rem!important;letter-spacing:.12em!important}
  .gallery-section .section-art-title .section-side-illustration{width:31px!important;height:23px!important;flex-basis:31px!important;background-size:16px 16px!important}
}


/* V59 compact mobile / memory containment / date stack — no redesign, only fit/logic UI support */
html,body{max-width:100%;}
@media(max-width:820px){
  html,body{overflow-x:hidden!important;}
  .wrap{max-width:100%!important;box-sizing:border-box!important;}
  .mobile-bottom-nav{left:8px!important;right:8px!important;width:auto!important;max-width:calc(100vw - 16px)!important;box-sizing:border-box!important;}
}
.next-calendar-stack{display:flex;align-items:center;justify-content:flex-start;gap:5px;max-width:100%;}
.next-calendar-stack .next-calendar{flex:0 0 auto!important;}
@media(max-width:820px){.next-calendar-stack{gap:4px}.hero-slider .next-card-v20 .next-calendar-stack .next-calendar{width:42px!important;height:48px!important;min-width:42px!important;min-height:48px!important;grid-template-rows:16px 1fr!important}.hero-slider .next-card-v20 .next-calendar-stack .next-calendar span{font-size:.39rem!important}.hero-slider .next-card-v20 .next-calendar-stack .next-calendar b{font-size:1.02rem!important}}
@media(max-width:430px){.next-calendar-stack{gap:3px}.hero-slider .next-card-v20 .next-calendar-stack .next-calendar{width:38px!important;height:45px!important;min-width:38px!important;min-height:45px!important;grid-template-rows:15px 1fr!important}.hero-slider .next-card-v20 .next-calendar-stack .next-calendar span{font-size:.36rem!important}.hero-slider .next-card-v20 .next-calendar-stack .next-calendar b{font-size:.96rem!important}}

.memory-grid{width:100%!important;min-width:0!important;box-sizing:border-box!important;}
.memory-card{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow:hidden!important;}
.memory-card:before,.memory-card:after{max-width:calc(100% - 20px)!important;}
.memory-media{appearance:none;-webkit-appearance:none;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;padding:0!important;display:block!important;text-align:inherit!important;cursor:pointer!important;color:inherit!important;}
.memory-media img{width:100%!important;max-width:100%!important;display:block!important;box-sizing:border-box!important;}
.memory-footer{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
.memory-footer>div{min-width:0!important;max-width:100%!important;}
.memory-footer strong,.memory-footer small{overflow-wrap:anywhere;}
.memory-btn{border:0;cursor:pointer;font:inherit;box-sizing:border-box;}
.memory-see-all-wrap{text-align:center;margin-top:28px;}
.memory-see-all{display:inline-flex!important;width:auto!important;min-width:200px;justify-content:center;background:var(--lime)!important;color:var(--dark)!important;}
@media(min-width:1181px){.memory-hide-desktop{display:none!important;}}
@media(min-width:821px) and (max-width:1180px){.memory-hide-tablet{display:none!important;}}
@media(max-width:820px){
  .memory-hide-mobile{display:none!important;}
  .gallery-section{width:100%!important;max-width:100vw!important;}
  .gallery-section>.wrap{width:min(100% - 24px,1160px)!important;max-width:100%!important;box-sizing:border-box!important;}
  .memory-grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important;}
  .memory-card{padding:12px!important;border-radius:26px!important;}
  .memory-card:before,.memory-card:after{left:12px!important;right:12px!important;transform:none!important;}
  .memory-card:after{left:18px!important;right:18px!important;}
  .memory-media{border-width:4px!important;border-radius:22px!important;}
  .memory-media img{height:260px!important;object-fit:cover!important;}
  .memory-footer{margin-top:12px!important;padding:15px!important;}
}
@media(max-width:520px){
  .gallery-section>.wrap{width:calc(100% - 20px)!important;}
  .memory-card{padding:10px!important;}
  .memory-media img{height:225px!important;}
  .memory-pill,.memory-date{max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
}
.memory-lightbox{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;padding:18px;box-sizing:border-box;}
.memory-lightbox.is-open{display:flex;}
.memory-lightbox-backdrop{position:absolute;inset:0;border:0;background:rgba(2,18,12,.84);backdrop-filter:blur(5px);cursor:pointer;}
.memory-lightbox-dialog{position:relative;z-index:1;width:min(94vw,980px);max-height:90vh;border-radius:24px;background:#fff;padding:12px;box-shadow:0 30px 90px rgba(0,0,0,.45);display:grid;gap:10px;overflow:hidden;}
.memory-lightbox-dialog img{width:100%;height:auto;max-height:78vh;object-fit:contain;border-radius:18px;background:#0a3526;}
.memory-lightbox-dialog strong{text-align:center;color:#0a3526;padding:2px 8px 7px;font-size:1rem;}
.memory-lightbox-close{position:absolute;top:18px;right:18px;z-index:2;width:38px;height:38px;border:0;border-radius:999px;background:rgba(3,41,29,.9);color:#fff;font-size:1.45rem;cursor:pointer;}
body.memory-lightbox-open{overflow:hidden!important;}
.memories-public-page{background:#05291d;color:#fff;min-height:100vh;overflow-x:hidden;}
.memories-page-main{padding:120px 0 95px;}
.memories-page-head{text-align:center;margin:0 auto 48px;max-width:820px;}
.memories-page-head .section-label{color:var(--lime);}
.memories-page-head h1{font-size:clamp(3rem,7vw,6rem);line-height:.95;margin:12px 0 18px;color:#fff;}
.memories-page-head p{color:rgba(255,255,255,.68);font-size:1rem;}
.memories-public-page .memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.memories-back-row{text-align:center;margin:0 0 28px;}
@media(max-width:820px){.memories-page-main{padding:95px 0 80px}.memories-public-page .memory-grid{grid-template-columns:1fr}.memories-page-head{margin-bottom:32px}.memories-public-page .wrap{width:calc(100% - 22px)!important;max-width:100%!important;}}

/* TLOG V60 mobile compact + overflow + nav stability fixes */
html,body{max-width:100%;overflow-x:hidden!important;}
body{overflow-x:hidden!important;}
img,svg,canvas,video,iframe{max-width:100%;}
main,section,.wrap,.cards,.memory-grid,.calendar-layout,.month-card,.journey-map-card,.trip,.home-tour-card,.content-head{min-width:0;box-sizing:border-box;}
.next-calendar-stack{display:flex;align-items:center;justify-content:flex-start;gap:5px;max-width:100%;flex-wrap:wrap;}
.next-calendar-stack .next-calendar{flex:0 0 auto!important;}
@media(max-width:820px){
  body{padding-bottom:calc(98px + env(safe-area-inset-bottom));}
  .mobile-bottom-nav{bottom:calc(env(safe-area-inset-bottom) + 1px)!important;left:8px!important;right:8px!important;width:auto!important;max-width:calc(100vw - 16px)!important;transform:translateZ(0);}
  .mobile-bottom-nav__surface{border-radius:22px!important;}
  .quick-list{max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;}
  .quick-list a{flex:0 0 auto;max-width:86vw;}
  .trip,.home-tour-card,.memory-card,.month-card,.journey-map-card,.gallery-section .wrap,.season .wrap{max-width:100%!important;}
}
@media(max-width:430px){
  body{padding-bottom:calc(94px + env(safe-area-inset-bottom));}
  .next-calendar-stack{gap:3px;}
}
/* V61 — mobile bottom bar width only: match Next Departure card width. */
@media (min-width:431px) and (max-width:820px){
  .mobile-bottom-nav{
    left:16px!important;
    right:16px!important;
    width:auto!important;
    max-width:calc(100vw - 32px)!important;
  }
}
@media (max-width:430px){
  .mobile-bottom-nav{
    left:13px!important;
    right:13px!important;
    width:auto!important;
    max-width:calc(100vw - 26px)!important;
  }
}

/* V62 — Next Departure card height only: reduce ~3px, keep design/content unchanged. */
@media (max-width:700px){
  .hero-slider .next-card-v20{
    min-height:205px!important;
  }
}
@media (max-width:430px){
  .hero-slider .next-card-v20{
    min-height:191px!important;
  }
}

/* V63 — mobile bottom bar position only: move 5px lower, size/design unchanged. */
@media(max-width:820px){.mobile-bottom-nav{bottom:calc(env(safe-area-inset-bottom) + 1px)!important;}}


/* V64 — bottom bar 10px lower only. Width/height/design unchanged. */
@media(max-width:820px){
  .mobile-bottom-nav{bottom:calc(env(safe-area-inset-bottom) - 9px)!important;}
}


/* V65 — requested only: bottom bar 10px lower, remove season date strip, animated light/dark toggle. */
@media(max-width:820px){
  .mobile-bottom-nav{bottom:-19px!important;}
}
.quick-list{display:none!important;}

.theme-toggle{
  width:48px;height:48px;border:1px solid rgba(255,255,255,.34);border-radius:15px;
  background:rgba(255,255,255,.10);color:#fff;display:grid;place-items:center;
  padding:0;margin:0;cursor:pointer;position:relative;overflow:hidden;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:none;appearance:none;-webkit-appearance:none;
  transition:background .28s ease,border-color .28s ease,transform .18s ease;
}
.theme-toggle:active{transform:scale(.97)}
.theme-toggle:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.theme-toggle__icon{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .32s ease,transform .42s cubic-bezier(.2,.8,.2,1)}
.theme-toggle__icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle__moon svg path{fill:currentColor;stroke:none}
html[data-theme="light"] .theme-toggle__moon{opacity:1;transform:rotate(0) scale(1)}
html[data-theme="light"] .theme-toggle__sun{opacity:0;transform:rotate(-100deg) scale(.55)}
html[data-theme="dark"] .theme-toggle__moon{opacity:0;transform:rotate(100deg) scale(.55)}
html[data-theme="dark"] .theme-toggle__sun{opacity:1;transform:rotate(0) scale(1)}
.theme-toggle.is-animating{transform:scale(.92) rotate(6deg)}
@media(max-width:700px){.theme-toggle{width:48px!important;height:48px!important;border-radius:15px!important}}
@media(max-width:380px){.theme-toggle{width:44px!important;height:44px!important;border-radius:14px!important}.mobile-header-actions{gap:6px!important}}

/* Theme variables preserve the existing layout, sizes and section design. */
html[data-theme="dark"]{
  --cream:#071b14;
  --white:#10291f;
  --muted:#a5b7ae;
  --line:rgba(255,255,255,.13);
  --shadow:0 24px 60px rgba(0,0,0,.28);
}
html[data-theme="dark"] body{background:#071b14;color:#edf6f1;}
html[data-theme="dark"] .season{background:#071b14;}
html[data-theme="dark"] .season-head p,
html[data-theme="dark"] .body>p{color:#a5b7ae;}
html[data-theme="dark"] .trip{border-color:rgba(255,255,255,.09);}
html[data-theme="dark"] .route,
html[data-theme="dark"] .route-content,
html[data-theme="dark"] .booking-panel,
html[data-theme="dark"] .booking-form,
html[data-theme="dark"] .field input,
html[data-theme="dark"] .field select,
html[data-theme="dark"] .field textarea,
html[data-theme="dark"] .month-card,
html[data-theme="dark"] .journey-map-card,
html[data-theme="dark"] .social-copy-card,
html[data-theme="dark"] .facebook-feed-card,
html[data-theme="dark"] .youtube-panel,
html[data-theme="dark"] .photo-cta-card,
html[data-theme="dark"] .review-card,
html[data-theme="dark"] .reviews-summary-card{
  background:#10291f!important;
  color:#edf6f1!important;
  border-color:rgba(255,255,255,.12)!important;
}
html[data-theme="dark"] .route summary,
html[data-theme="dark"] .field label,
html[data-theme="dark"] .field input,
html[data-theme="dark"] .field select,
html[data-theme="dark"] .field textarea{color:#edf6f1!important;}
html[data-theme="dark"] .route-content{background:#0c241b!important;}
html[data-theme="dark"] .field input,
html[data-theme="dark"] .field select,
html[data-theme="dark"] .field textarea{background:#0b2119!important;}
html[data-theme="dark"] .booking-section{background:linear-gradient(135deg,#0b2119,#071b14)!important;}
html[data-theme="dark"] .calendar-section,
html[data-theme="dark"] .photo-cta-section{background:#071b14!important;}
html[data-theme="dark"] .social-section{background:#0b2119!important;}
html[data-theme="dark"] .form-title span,
html[data-theme="dark"] .social-copy-card p,
html[data-theme="dark"] .review-card p,
html[data-theme="dark"] .youtube-meta p{color:#a5b7ae!important;}


/* V66 — bottom bar 10px up + animated light icon in dark mode. */
@media(max-width:820px){
  .mobile-bottom-nav{bottom:-9px!important;}
}
html[data-theme="dark"] .theme-toggle__sun{color:var(--lime);}
html[data-theme="dark"] .theme-toggle__sun svg{
  animation:tlogLightModeIcon 2.2s ease-in-out infinite;
  transform-origin:50% 50%;
}
@keyframes tlogLightModeIcon{
  0%,100%{transform:rotate(0deg) scale(1);filter:drop-shadow(0 0 0 rgba(201,240,117,0));}
  50%{transform:rotate(12deg) scale(1.08);filter:drop-shadow(0 0 5px rgba(201,240,117,.72));}
}
@media(prefers-reduced-motion:reduce){
  html[data-theme="dark"] .theme-toggle__sun svg{animation:none;}
}


/* V67 — force visible 10px upward shift from V66; size/design unchanged. */
@media(max-width:820px){
  .mobile-bottom-nav{
    bottom:-9px!important;
    transform:translate3d(0,-10px,0)!important;
  }
}

/* V69 — bottom bar position only: 1px lower than V68. */
@media(max-width:820px){
  .mobile-bottom-nav{
    transform:translate3d(0,-12px,0)!important;
  }
}


/* V70 Facebook logos + reviews dark divider — requested sections only */
.facebook-topic-art{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-bottom:2px;
}
.facebook-topic-logo{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#1877f2;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:20px;
  line-height:1;
  font-weight:900;
  box-shadow:0 8px 20px rgba(24,119,242,.22);
}
.social-section--facebook .facebook-topic-art .section-label{margin:0;}

.social-section--reviews{
  position:relative;
  isolation:isolate;
  overflow:visible;
  background:#05291d !important;
  color:#fff;
  margin-top:38px;
  margin-bottom:38px;
  padding-top:100px;
  padding-bottom:100px;
}
.social-section--reviews::before,
.social-section--reviews::after{
  content:'';
  position:absolute;
  left:0;
  width:100%;
  height:40px;
  background:#05291d;
  z-index:-1;
  pointer-events:none;
}
.social-section--reviews::before{
  top:-39px;
  clip-path:polygon(0 100%,0 72%,5% 50%,11% 66%,17% 38%,23% 58%,30% 34%,37% 55%,44% 30%,51% 54%,58% 35%,65% 59%,72% 33%,79% 57%,86% 39%,93% 64%,100% 45%,100% 100%);
}
.social-section--reviews::after{
  bottom:-39px;
  clip-path:polygon(0 0,100% 0,100% 28%,95% 50%,89% 34%,83% 62%,77% 42%,70% 66%,63% 45%,56% 70%,49% 46%,42% 65%,35% 41%,28% 67%,21% 43%,14% 61%,7% 36%,0 55%);
}
.social-section--reviews .social-content-head h2{color:#fff;}
.social-section--reviews .social-content-head>p{color:rgba(255,255,255,.68);}
.social-section--reviews .section-label{color:var(--lime);}
.social-section--reviews .reviews-summary-card,
.social-section--reviews .review-card{
  box-shadow:0 16px 40px rgba(0,0,0,.18);
}
html[data-theme="dark"] .social-section--reviews{background:#05291d !important;}
html[data-theme="dark"] .social-section--reviews::before,
html[data-theme="dark"] .social-section--reviews::after{background:#05291d !important;}

@media(max-width:820px){
  .facebook-topic-art{gap:8px;}
  .facebook-topic-logo{width:27px;height:27px;flex-basis:27px;font-size:18px;}
  .social-section--facebook .social-copy-card{
    text-align:center;
    align-items:center;
  }
  .social-section--facebook .social-copy-card h3,
  .social-section--facebook .social-copy-card p{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }
  .social-section--facebook .social-copy-card p{max-width:560px;}
  .social-section--reviews{
    margin-top:30px;
    margin-bottom:30px;
    padding-top:78px;
    padding-bottom:78px;
  }
  .social-section--reviews::before,
  .social-section--reviews::after{height:32px;}
  .social-section--reviews::before{top:-31px;}
  .social-section--reviews::after{bottom:-31px;}
}
@media(max-width:430px){
  .facebook-topic-art{gap:7px;}
  .facebook-topic-logo{width:25px;height:25px;flex-basis:25px;font-size:17px;}
  .social-section--reviews{padding-top:68px;padding-bottom:68px;}
  .social-section--reviews::before,
  .social-section--reviews::after{height:27px;}
  .social-section--reviews::before{top:-26px;}
  .social-section--reviews::after{bottom:-26px;}
}


/* V71 reviews wave/icons/names + FB inset + scroll button. Bottom-bar width/size untouched. */
.social-section--reviews{
  margin-top:0 !important;
  margin-bottom:0 !important;
  overflow:hidden !important;
  padding-top:76px !important;
  padding-bottom:76px !important;
}
.social-section--reviews::before,
.social-section--reviews::after{content:none !important;display:none !important;}
.reviews-flow-divider{position:relative;width:100%;height:74px;overflow:hidden;line-height:0;pointer-events:none;z-index:1;}
.reviews-flow-divider svg{display:block;width:100%;height:100%;}
.reviews-flow-divider--top{background:transparent;margin-bottom:-1px;}
.reviews-flow-fill--top{fill:#05291d;}
.reviews-flow-divider--bottom{background:#05291d;margin-top:-1px;}
.reviews-flow-fill--bottom{fill:var(--white);}
html[data-theme="dark"] .reviews-flow-fill--bottom{fill:#0b2119;}
.reviews-topic-art{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-bottom:2px;}
.reviews-topic-art .section-label{margin:0;color:var(--lime) !important;}
.reviews-topic-icon{width:34px;height:27px;flex:0 0 34px;border-radius:999px;display:grid;place-items:center;border:1px solid rgba(201,240,117,.23);background:rgba(201,240,117,.08);box-shadow:0 8px 20px rgba(0,0,0,.12);font-family:Arial,Helvetica,sans-serif;font-weight:900;line-height:1;}
.reviews-topic-google{font-size:15px;color:#fff;background:conic-gradient(from -35deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0 100%);border-color:rgba(255,255,255,.22);text-shadow:0 1px 2px rgba(0,0,0,.22);}
.reviews-topic-star{font-size:17px;color:var(--lime);}
.social-section--reviews .reviews-summary-card{color:#15392b !important;}
.social-section--reviews .reviews-summary-card small{color:#6f7e77 !important;}
.social-section--reviews .reviews-summary-card strong{display:block !important;color:#15392b !important;margin-top:5px;font-size:1.08rem;font-weight:900;}
.social-section--reviews .review-card{color:#15392b !important;}
.social-section--reviews .review-card p{color:#69766f !important;}
.social-section--reviews .review-card .reviewer-name{display:block !important;color:#15392b !important;margin-top:14px;font-size:.96rem;font-weight:900;line-height:1.2;}
html[data-theme="dark"] .social-section--reviews .reviews-summary-card,
html[data-theme="dark"] .social-section--reviews .review-card{color:#edf6f1 !important;}
html[data-theme="dark"] .social-section--reviews .reviews-summary-card strong,
html[data-theme="dark"] .social-section--reviews .review-card .reviewer-name{color:#edf6f1 !important;}
html[data-theme="dark"] .social-section--reviews .reviews-summary-card small,
html[data-theme="dark"] .social-section--reviews .review-card p{color:#a5b7ae !important;}

.page-scroll-top{display:none;}
@media(max-width:820px){
  .reviews-flow-divider{height:56px;}
  .social-section--reviews{padding-top:58px !important;padding-bottom:58px !important;}
  .reviews-topic-art{gap:9px;}
  .reviews-topic-icon{width:31px;height:24px;flex-basis:31px;}
  .reviews-topic-google{font-size:14px;}.reviews-topic-star{font-size:16px;}
  .social-section--facebook .facebook-feed-card{margin-left:12px !important;margin-right:12px !important;width:auto !important;max-width:calc(100% - 24px) !important;box-sizing:border-box !important;}
  .social-section--facebook .facebook-feed-card iframe{display:block;width:100% !important;max-width:100% !important;}
  .page-scroll-top{position:fixed;z-index:119;right:22px;bottom:76px;width:44px;height:44px;border-radius:15px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(180deg,rgba(13,111,79,.98),rgba(4,67,46,.98));color:#fff;display:grid;place-items:center;padding:0;box-shadow:0 12px 28px rgba(0,0,0,.24);opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;}
  .page-scroll-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
  .page-scroll-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;}
  .page-scroll-top:active{transform:scale(.96);}
}
@media(max-width:430px){
  .reviews-flow-divider{height:48px;}
  .social-section--reviews{padding-top:52px !important;padding-bottom:52px !important;}
  .reviews-topic-art{gap:8px;}
  .reviews-topic-icon{width:29px;height:23px;flex-basis:29px;}
  .social-section--facebook .facebook-feed-card{margin-left:10px !important;margin-right:10px !important;max-width:calc(100% - 20px) !important;}
  .page-scroll-top{right:20px;bottom:72px;width:42px;height:42px;border-radius:14px;}
}


/* V72.6 — Facebook -> Google Reviews transition correction.
   Preserve the Facebook section's original spacing/card geometry.
   Use the same normal-flow wave geometry as the tested Travel & Tours -> Why Choose transition.
   The divider's light side inherits the Facebook section background, so there is no separate colour block. */
.social-section--facebook{
  background:var(--white) !important;
}
#facebook + .reviews-flow-divider--top{
  display:block !important;
  position:relative !important;
  width:100% !important;
  height:104px !important;
  margin:0 0 -1px 0 !important;
  padding:0 !important;
  overflow:hidden !important;
  line-height:0 !important;
  background:var(--white) !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  pointer-events:none !important;
  z-index:1 !important;
}
#facebook + .reviews-flow-divider--top svg{
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
}
#facebook + .reviews-flow-divider--top .reviews-flow-fill--top{
  fill:#05291d !important;
  stroke:none !important;
}
@media (min-width:1181px){
  #facebook + .reviews-flow-divider--top{height:108px !important;}
}
@media (min-width:821px) and (max-width:1180px){
  #facebook + .reviews-flow-divider--top{height:88px !important;}
}
@media (max-width:820px){
  #facebook + .reviews-flow-divider--top{height:70px !important;}
}
@media (max-width:430px){
  #facebook + .reviews-flow-divider--top{height:62px !important;}
}

/* V72.7 — Mobile Facebook feed uses the full desktop 500px Page Plugin view,
   scaled down inside the existing card. Desktop/tablet layout outside the
   mobile breakpoint remains unchanged. */
.facebook-feed-desktop-viewport{
  width:100%;
}
.facebook-feed-frame{
  display:block;
  width:100%;
  max-width:100%;
  border:0;
}
@media (max-width:820px){
  .social-section--facebook .facebook-feed-card{
    overflow:hidden !important;
  }
  .social-section--facebook .facebook-feed-desktop-viewport{
    position:relative;
    width:100%;
    overflow:hidden;
  }
  .social-section--facebook .facebook-feed-card .facebook-feed-frame{
    position:absolute;
    top:0;
    width:500px !important;
    max-width:none !important;
    height:660px !important;
    margin:0 !important;
    transform-origin:top left;
  }
}

/* V72.8 — premium digital photo customiser CTA only. No other sections are changed. */
.photo-memory-section{padding:92px 0;background:var(--cream)}
.photo-memory-card{
  position:relative;isolation:isolate;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:42px;align-items:center;
  padding:54px;border-radius:38px;color:#fff;
  background:
    radial-gradient(circle at 88% 12%,rgba(201,240,117,.14),transparent 24%),
    radial-gradient(circle at 8% 92%,rgba(19,134,95,.22),transparent 28%),
    linear-gradient(145deg,#05291d 0%,#063a2a 48%,#0b4a35 100%);
  border:1px solid rgba(201,240,117,.22);
  box-shadow:0 28px 70px rgba(5,41,29,.22),inset 0 1px 0 rgba(255,255,255,.08)
}
.photo-memory-card:before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.32;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:34px 34px;mask-image:linear-gradient(90deg,#000,transparent 72%)
}
.photo-memory-card:after{
  content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-150px;bottom:-180px;z-index:-2;
  border:1px solid rgba(201,240,117,.14);box-shadow:0 0 0 36px rgba(201,240,117,.025),0 0 0 78px rgba(201,240,117,.018)
}
.photo-memory-watermark{
  position:absolute;z-index:-1;right:7%;top:4%;width:230px;height:230px;object-fit:contain;
  opacity:.13;filter:grayscale(1) contrast(1.1);mix-blend-mode:multiply;pointer-events:none
}
.photo-memory-copy{position:relative;z-index:2;min-width:0}
.photo-memory-kicker{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:var(--lime);font-size:.7rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
.photo-memory-kicker i{display:block;width:34px;height:1px;background:currentColor}
.photo-memory-label{display:block;color:rgba(255,255,255,.66);margin-bottom:8px}
.photo-memory-card h2{margin:0 0 18px;max-width:650px;font-size:clamp(2.7rem,5.7vw,5.35rem);line-height:.94;letter-spacing:-.052em;color:#fff}
.photo-memory-lead{max-width:650px;margin:0;color:rgba(255,255,255,.74);font-size:1rem;line-height:1.7}
.photo-memory-note{max-width:650px;margin:11px 0 0;color:var(--lime);font-size:.82rem;font-weight:800}
.photo-frame-style-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:26px}
.photo-frame-style{min-width:0;display:flex;align-items:center;gap:11px;padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:17px;background:rgba(255,255,255,.065);backdrop-filter:blur(7px);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.photo-frame-style b,.photo-frame-style small{display:block;line-height:1.15}
.photo-frame-style b{font-size:.75rem;color:#fff}
.photo-frame-style small{margin-top:4px;color:rgba(255,255,255,.52);font-size:.59rem}
.photo-frame-corner{position:relative;width:38px;height:38px;flex:0 0 38px;border-radius:9px;background:rgba(255,255,255,.05);overflow:hidden}
.photo-frame-corner:before,.photo-frame-corner:after{content:"";position:absolute;left:7px;top:7px;border-style:solid}
.photo-frame-corner:before{width:22px;height:22px;border-width:5px 0 0 5px}
.photo-frame-corner:after{width:14px;height:14px;left:11px;top:11px;border-width:2px 0 0 2px;border-color:#fff}
.photo-frame-style--classic .photo-frame-corner:before{border-color:#c9f075}
.photo-frame-style--soft .photo-frame-corner:before{border-color:#f0e4c2}
.photo-frame-style--bold .photo-frame-corner:before{border-color:#4fd09b}
.photo-memory-steps{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.photo-memory-steps span{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.7);font-size:.67rem;font-weight:800}
.photo-memory-steps b{display:grid;place-items:center;width:21px;height:21px;border-radius:999px;background:var(--lime);color:var(--dark);font-size:.57rem}
.photo-memory-button{display:inline-flex;align-items:center;justify-content:center;gap:13px;margin-top:24px;padding:16px 24px;border-radius:17px;background:linear-gradient(135deg,#d7f77d,#bfe75f);color:#05291d;font-size:.82rem;font-weight:1000;letter-spacing:.02em;box-shadow:0 16px 34px rgba(201,240,117,.18),inset 0 1px 0 rgba(255,255,255,.5);transition:transform .2s ease,box-shadow .2s ease}
.photo-memory-button:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(201,240,117,.24),inset 0 1px 0 rgba(255,255,255,.55)}
.photo-memory-button span{font-size:1.1rem}
.photo-memory-demo{position:relative;z-index:2;min-width:0;padding:20px;border-radius:29px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 22px 50px rgba(0,0,0,.16);backdrop-filter:blur(9px)}
.photo-memory-demo-badge{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:15px;color:rgba(255,255,255,.74);font-size:.64rem;font-weight:900;letter-spacing:.14em}
.photo-memory-demo-badge span{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px rgba(201,240,117,.1)}
.photo-memory-demo-stack{position:relative;padding:20px 18px 14px}
.photo-memory-demo-shadow{position:absolute;left:50%;top:50%;width:74%;height:86%;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:#0a3326;transform-origin:center}
.photo-memory-demo-shadow--one{transform:translate(-56%,-49%) rotate(-7deg);opacity:.65}
.photo-memory-demo-shadow--two{transform:translate(-44%,-49%) rotate(7deg);opacity:.52}
.photo-memory-demo-frame{position:relative;z-index:2;width:min(100%,330px);margin:auto;padding:12px;border:7px solid #c9f075;border-radius:25px;background:#fff;box-shadow:0 22px 45px rgba(0,0,0,.28)}
.photo-memory-demo-photo{height:340px;border-radius:14px;overflow:hidden;background:#153a2c}
.photo-memory-demo-photo img{width:100%;height:100%;object-fit:cover}
.photo-memory-demo-brand{display:flex;align-items:center;gap:10px;padding:11px 7px 2px;color:#123528}
.photo-memory-demo-brand img{width:37px;height:37px;object-fit:cover;border-radius:50%;mix-blend-mode:multiply}
.photo-memory-demo-brand b,.photo-memory-demo-brand small{display:block;line-height:1.1}
.photo-memory-demo-brand b{font-size:.7rem;letter-spacing:.12em}
.photo-memory-demo-brand small{margin-top:4px;color:#6c7e75;font-size:.57rem}
.photo-memory-share-row{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:13px}
.photo-memory-share-row span{padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.62);font-size:.59rem;font-weight:800}
@media(max-width:900px){
  .photo-memory-section{padding:72px 0}
  .photo-memory-card{grid-template-columns:1fr;gap:30px;padding:38px 28px;border-radius:31px;text-align:center}
  .photo-memory-kicker,.photo-memory-steps{justify-content:center}
  .photo-memory-lead,.photo-memory-note{margin-left:auto;margin-right:auto}
  .photo-memory-card h2{margin-left:auto;margin-right:auto}
  .photo-memory-watermark{width:180px;height:180px;right:-3%;top:2%;opacity:.09}
  .photo-frame-style-grid{max-width:620px;margin-left:auto;margin-right:auto}
}
@media(max-width:620px){
  .photo-memory-section{padding:62px 0}
  .photo-memory-card{padding:30px 17px 26px;border-radius:27px;gap:24px}
  .photo-memory-card h2{font-size:clamp(2.45rem,13vw,3.55rem)}
  .photo-memory-lead{font-size:.92rem}
  .photo-frame-style-grid{grid-template-columns:1fr;gap:8px;margin-top:22px;text-align:left}
  .photo-frame-style{padding:11px 13px}
  .photo-memory-steps{gap:6px}
  .photo-memory-steps span{font-size:.61rem;padding:7px 9px}
  .photo-memory-button{width:100%;margin-top:20px;padding:16px 18px}
  .photo-memory-demo{padding:15px 10px 13px;border-radius:23px}
  .photo-memory-demo-stack{padding:15px 8px 12px}
  .photo-memory-demo-frame{width:min(88%,300px);padding:9px;border-width:6px;border-radius:21px}
  .photo-memory-demo-photo{height:300px;border-radius:12px}
  .photo-memory-demo-shadow{width:68%;height:84%}
  .photo-memory-share-row span{font-size:.55rem}
}

/* V72.9 — Customer-photo privacy notice + configurable location map.
   Scoped to the photo customiser and its immediately-following map only. */
.photo-memory-privacy{
  display:flex;align-items:flex-start;gap:11px;max-width:650px;margin-top:16px;padding:13px 14px;
  border:1px solid rgba(201,240,117,.24);border-radius:17px;background:rgba(201,240,117,.075);
  color:#eef8e7;text-align:left
}
.photo-memory-privacy-icon{
  flex:0 0 30px;width:30px;height:30px;border-radius:999px;display:grid;place-items:center;
  background:var(--lime);color:#05291d;font-size:.82rem;font-weight:1000;box-shadow:0 7px 18px rgba(201,240,117,.13)
}
.photo-memory-privacy b,.photo-memory-privacy small{display:block}
.photo-memory-privacy b{color:var(--lime);font-size:.76rem;line-height:1.25}
.photo-memory-privacy small{margin-top:4px;color:rgba(255,255,255,.7);font-size:.69rem;line-height:1.45}
.location-map-section{padding:0 0 94px;background:var(--cream)}
.location-map-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}
.location-map-head h2{margin:7px 0 0;font-size:clamp(2.2rem,4.5vw,4.4rem);line-height:.96;letter-spacing:-.045em;color:var(--dark)}
.location-map-head p{max-width:470px;margin:0;color:var(--muted);line-height:1.65}
.location-map-card{overflow:hidden;border-radius:31px;background:#fff;border:1px solid var(--line);box-shadow:0 20px 56px rgba(5,41,29,.11)}
.location-map-card iframe{display:block;width:100%;height:440px;border:0;background:#e8efe9}
.location-map-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px 19px}
.location-map-footer span b,.location-map-footer span small{display:block}
.location-map-footer span b{font-size:1.05rem;color:var(--dark)}
.location-map-footer span small{margin-top:4px;color:var(--muted);font-size:.73rem}
html[data-theme="dark"] .location-map-section{background:#071b14!important}
html[data-theme="dark"] .location-map-card{background:#0b2119;border-color:rgba(255,255,255,.09)}
html[data-theme="dark"] .location-map-head h2,html[data-theme="dark"] .location-map-footer span b{color:#edf6f1}
html[data-theme="dark"] .location-map-head p,html[data-theme="dark"] .location-map-footer span small{color:#9fb4aa}
@media(max-width:900px){
  .photo-memory-privacy{margin-left:auto;margin-right:auto}
  .location-map-section{padding-bottom:76px}
  .location-map-head{display:block;text-align:center}
  .location-map-head p{margin:12px auto 0}
  .location-map-card iframe{height:390px}
}
@media(max-width:620px){
  .photo-memory-privacy{padding:12px 12px;gap:9px}
  .photo-memory-privacy-icon{width:27px;height:27px;flex-basis:27px}
  .location-map-section{padding-bottom:64px}
  .location-map-card{border-radius:25px}
  .location-map-card iframe{height:350px}
  .location-map-footer{display:grid;text-align:center;padding:16px}
  .location-map-footer .btn{width:100%}
}

/* V73.0 — compact home digital-memory promo with real photo example */
.home-memory-v73{padding:96px 0;background:var(--cream)}
.home-memory-v73-card{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:44px;align-items:center;padding:clamp(28px,5vw,62px);border-radius:40px;background:radial-gradient(circle at 86% 10%,rgba(201,240,117,.12),transparent 30%),linear-gradient(145deg,#05291d,#063c2b 70%,#05291d);box-shadow:0 34px 80px rgba(5,41,29,.2);border:1px solid rgba(201,240,117,.24)}
.home-memory-v73-watermark{position:absolute;right:-34px;top:-48px;width:min(360px,40vw);opacity:.055;filter:grayscale(1);mix-blend-mode:screen;pointer-events:none}
.home-memory-v73-copy{position:relative;z-index:2}
.home-memory-v73-kicker{display:inline-flex;align-items:center;gap:9px;color:#f0c85c;font-size:.76rem;font-weight:950;letter-spacing:.2em;text-transform:uppercase}
.home-memory-v73-copy h2{margin:13px 0 14px;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.65rem,6vw,5.4rem);line-height:.93;letter-spacing:-.045em}
.home-memory-v73-lead{max-width:640px;color:rgba(255,255,255,.78);font-size:1rem;line-height:1.72}
.home-memory-v73-important{max-width:660px;margin-top:24px;padding:16px 17px;border:1px solid rgba(240,200,92,.58);border-radius:20px;background:rgba(240,200,92,.08);display:flex;gap:12px;align-items:flex-start;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.home-memory-v73-important-icon{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#f0c85c;color:#05291d;font-weight:1000;font-size:1.1rem;box-shadow:0 7px 20px rgba(240,200,92,.25)}
.home-memory-v73-important b,.home-memory-v73-important small{display:block}.home-memory-v73-important b{color:#fff;font-size:.92rem;line-height:1.35}.home-memory-v73-important small{margin-top:5px;color:rgba(255,255,255,.67);font-size:.76rem;line-height:1.55}
.home-memory-v73-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;padding:16px 24px;border-radius:999px;background:linear-gradient(135deg,#ffe07a,#efb52a);color:#08281e;font-weight:1000;text-decoration:none;box-shadow:0 14px 32px rgba(239,181,42,.22)}
.home-memory-v73-demo{position:relative;z-index:2;text-align:center}
.home-memory-v73-demo-label{display:inline-block;margin-bottom:11px;padding:7px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:rgba(255,255,255,.72);font-size:.66rem;font-weight:900;letter-spacing:.16em}
.home-memory-v73-frame{position:relative;max-width:430px;margin:auto;padding:18px;background:linear-gradient(145deg,#6c3f20,#a16a38 48%,#4c2c19);border:9px solid #9d6c3d;box-shadow:0 28px 55px rgba(0,0,0,.36),inset 0 0 0 3px rgba(255,255,255,.18);transform:rotate(1.2deg)}
.home-memory-v73-frame:before{content:"";position:absolute;inset:8px;border:2px solid rgba(245,222,180,.78);pointer-events:none}
.home-memory-v73-photo{position:relative;aspect-ratio:4/5;overflow:hidden;border:11px solid #f3ecde;background:#d9d5ca}.home-memory-v73-photo img{width:100%;height:100%;object-fit:cover;display:block}
.home-memory-v73-fixed-brand{position:absolute;left:32px;top:34px;display:flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;background:rgba(5,41,29,.78);backdrop-filter:blur(6px);color:#fff;font-size:.56rem;font-weight:900;letter-spacing:.12em}.home-memory-v73-fixed-brand img{width:25px;height:25px;object-fit:contain;border-radius:50%;mix-blend-mode:screen}
.home-memory-v73-demo-watermark{position:absolute;right:42px;top:68px;width:92px;max-height:92px;object-fit:contain;opacity:.25;filter:grayscale(1);mix-blend-mode:screen}
.home-memory-v73-brush{position:absolute;left:50%;bottom:42px;transform:translateX(-50%) rotate(-1deg);width:72%;padding:11px 28px 13px;color:#08281e;background:#f4ead8;clip-path:polygon(0 16%,8% 7%,18% 15%,29% 4%,41% 13%,54% 6%,67% 14%,79% 5%,90% 12%,100% 3%,97% 83%,87% 91%,76% 84%,64% 95%,51% 87%,38% 96%,25% 88%,12% 96%,3% 87%);box-shadow:0 12px 26px rgba(0,0,0,.2)}
.home-memory-v73-brush b,.home-memory-v73-brush span{display:block}.home-memory-v73-brush b{font-family:Georgia,'Times New Roman',serif;font-size:1.12rem}.home-memory-v73-brush span{margin-top:3px;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:.86rem}
.home-memory-v73-demo-note{margin-top:16px;color:rgba(255,255,255,.62);font-size:.74rem}
html[data-theme="dark"] .home-memory-v73{background:#071b14}
@media(max-width:900px){.home-memory-v73-card{grid-template-columns:1fr;text-align:center}.home-memory-v73-lead{margin-left:auto;margin-right:auto}.home-memory-v73-important{margin-left:auto;margin-right:auto;text-align:left}.home-memory-v73-demo{margin-top:4px}.home-memory-v73-frame{max-width:400px}}
@media(max-width:620px){.home-memory-v73{padding:64px 0}.home-memory-v73-card{padding:28px 18px;border-radius:30px;gap:30px}.home-memory-v73-copy h2{font-size:3.15rem}.home-memory-v73-frame{max-width:310px;padding:12px;border-width:7px}.home-memory-v73-photo{border-width:8px}.home-memory-v73-fixed-brand{left:24px;top:25px}.home-memory-v73-demo-watermark{right:32px;top:51px;width:68px}.home-memory-v73-brush{bottom:29px;width:73%;padding:9px 17px 10px}.home-memory-v73-brush b{font-size:.92rem}.home-memory-v73-brush span{font-size:.72rem}}


/* V73.9 — compact Photo Customizer heading + clean location map footer */
.home-memory-v73-kicker{
  font-size:.66rem;
  letter-spacing:.14em;
}
.home-memory-v73-copy h2{
  font-size:clamp(2rem,3.7vw,3.15rem);
  line-height:1;
  letter-spacing:-.025em;
}
.home-memory-v73-lead{
  font-size:.89rem;
  line-height:1.62;
}
.home-memory-v73-important b{font-size:.82rem}
.home-memory-v73-important small{font-size:.7rem}
.home-memory-v73-button{font-size:.82rem}

.location-map-footer--button-only{
  justify-content:center;
}
.location-map-footer--button-only .btn{
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:900px){
  .home-memory-v73-kicker{font-size:.63rem}
  .home-memory-v73-copy h2{font-size:2.25rem}
  .home-memory-v73-lead{font-size:.86rem}
}
@media(max-width:620px){
  .home-memory-v73-kicker{font-size:.6rem;letter-spacing:.11em}
  .home-memory-v73-copy h2{font-size:1.85rem;line-height:1.04;letter-spacing:-.015em}
  .home-memory-v73-lead{font-size:.82rem;line-height:1.58}
  .home-memory-v73-important b{font-size:.76rem}
  .home-memory-v73-important small{font-size:.66rem}
  .home-memory-v73-button{font-size:.78rem}
  .location-map-footer--button-only{
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
  }
  .location-map-footer--button-only .btn{
    width:auto;
    min-width:220px;
    max-width:100%;
    margin:0 auto;
  }
}


/* V74.0 — centered Contact social strip, clean footer, all-view scroll-to-top */
.follow-social-strip{
  background:#073426;
  color:#fff;
  padding:24px 0 25px;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.follow-social-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}
.follow-social-title{font-size:.82rem;font-weight:900;letter-spacing:.055em;color:rgba(255,255,255,.80);text-transform:uppercase}
.follow-social-icons{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;width:100%}
.follow-social-icon{
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(201,240,117,.28);background:rgba(255,255,255,.045);
  color:#f0f7f3;text-decoration:none;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease;
}
.follow-social-icon:hover{transform:translateY(-2px);background:rgba(201,240,117,.12);border-color:rgba(201,240,117,.56);color:var(--lime)}
.follow-social-icon svg{width:24px;height:24px;display:block}
.social-brand-letter{font-size:1.55rem;line-height:1;font-weight:900;font-family:Arial,Helvetica,sans-serif}
.social-brand-letter--round{font-size:1.8rem;font-weight:700}
.follow-social-icon.is-disabled{color:rgba(255,255,255,.27);border-color:rgba(255,255,255,.10);background:rgba(0,0,0,.12);cursor:default;filter:saturate(.25)}
.follow-social-icon.is-disabled:hover{transform:none;color:rgba(255,255,255,.27);border-color:rgba(255,255,255,.10);background:rgba(0,0,0,.12)}
.site-footer-final{background:#031b13;color:rgba(255,255,255,.72);padding:18px 0 28px;border:0}
.site-footer-final__inner{display:flex;align-items:center;justify-content:center;gap:9px 22px;flex-wrap:wrap;text-align:center;font-size:.76rem;font-weight:700}
.site-footer-final__inner a{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* Remove the old cream/white reserve below the page. Keep required mobile-nav clearance inside the dark footer instead. */
html{background:#031b13}
body{background:var(--cream);padding-bottom:0!important}
.season{background:var(--cream)}
.site-footer-final{padding-bottom:32px}
@media(max-width:820px){.site-footer-final{padding-bottom:116px}}

/* Scroll-to-top is available in desktop, tablet and mobile. */
.page-scroll-top{
  position:fixed;z-index:125;right:24px;bottom:30px;width:46px;height:46px;border-radius:15px;
  border:1px solid rgba(255,255,255,.22);background:linear-gradient(180deg,rgba(13,111,79,.99),rgba(4,67,46,.99));
  color:#fff;display:grid;place-items:center;padding:0;box-shadow:0 12px 28px rgba(0,0,0,.26);
  opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}
.page-scroll-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.page-scroll-top svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.page-scroll-top:active{transform:scale(.96)}
@media(max-width:820px){
  .follow-social-strip{padding:22px 0 23px}
  .follow-social-title{font-size:.76rem}
  .follow-social-icons{gap:9px}
  .follow-social-icon{width:44px;height:44px}
  .follow-social-icon svg{width:22px;height:22px}
  .page-scroll-top{right:20px;bottom:98px;width:44px;height:44px;border-radius:14px}
}
@media(max-width:430px){
  .follow-social-icons{gap:8px;max-width:330px}
  .follow-social-icon{width:42px;height:42px}
  .page-scroll-top{right:18px;bottom:94px;width:42px;height:42px}
  .site-footer-final__inner{font-size:.7rem;gap:6px 14px}
}


/* V74.1 — animated divider between Contact and Social + CMS footer */
.contact-social-divider{
  position:relative;
  width:100%;
  height:4px;
  overflow:hidden;
  background:#073426;
}
.contact-social-divider::before{
  content:"";
  position:absolute;
  inset:1px 0;
  background:rgba(201,240,117,.22);
  box-shadow:0 0 10px rgba(201,240,117,.18);
}
.contact-social-divider span{
  position:absolute;
  top:1px;
  left:-34%;
  width:34%;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(201,240,117,0),rgba(201,240,117,.72),#e5ff9a,rgba(201,240,117,.72),rgba(201,240,117,0));
  box-shadow:0 0 12px rgba(201,240,117,.75),0 0 24px rgba(201,240,117,.34);
  animation:tlogContactSocialSweep 3.4s linear infinite;
}
@keyframes tlogContactSocialSweep{
  from{transform:translateX(0)}
  to{transform:translateX(395%)}
}
@media(prefers-reduced-motion:reduce){.contact-social-divider span{animation:none;left:33%;}}
.site-footer-final__inner{line-height:1.45}

/* V74.4 — multi-photo Memories albums */
.memory-media{position:relative}
.memory-photo-count{position:absolute;left:18px;bottom:18px;z-index:3;display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;background:rgba(3,41,29,.82);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.03em;box-shadow:0 7px 20px rgba(0,0,0,.18);backdrop-filter:blur(5px)}
.memory-lightbox-dialog{grid-template-columns:minmax(0,1fr);}
.memory-lightbox-meta{display:flex;align-items:center;justify-content:center;gap:12px;min-height:32px;padding:0 8px 5px;color:#0a3526}
.memory-lightbox-meta strong{padding:0!important}
.memory-lightbox-counter{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:5px 9px;border-radius:999px;background:#edf4ee;color:#496259;font-size:.72rem;font-weight:900}
.memory-lightbox-nav{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:48px;height:48px;border:0;border-radius:999px;background:rgba(3,41,29,.88);color:#fff;font-size:2rem;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.24);backdrop-filter:blur(4px)}
.memory-lightbox-nav[hidden]{display:none!important}
.memory-lightbox-prev{left:22px}.memory-lightbox-next{right:22px}
.memory-lightbox-dialog img{min-height:240px}
@media(max-width:680px){.memory-photo-count{left:12px;bottom:12px;padding:7px 9px;font-size:.66rem}.memory-lightbox{padding:10px}.memory-lightbox-dialog{width:100%;padding:8px;border-radius:18px}.memory-lightbox-dialog img{border-radius:13px;max-height:76vh}.memory-lightbox-nav{width:42px;height:42px;font-size:1.7rem}.memory-lightbox-prev{left:14px}.memory-lightbox-next{right:14px}.memory-lightbox-close{top:13px;right:13px}.memory-lightbox-meta{gap:8px;flex-wrap:wrap}.memory-lightbox-meta strong{font-size:.9rem!important}}


/* V74.5 memory album refresh */
.gallery-section .memory-grid,.memories-public-page .memory-grid{gap:32px!important}
.memory-card{padding:18px 18px 20px!important;border-radius:32px!important;background:linear-gradient(180deg,#f4f0e5,#ede8da)!important;border:1px solid rgba(10,58,41,.10)!important;box-shadow:0 22px 50px rgba(3,28,19,.14)!important;overflow:visible!important}
.memory-card:before,.memory-card:after{display:block!important;background:#f7f3ea!important;border-color:rgba(10,58,41,.08)!important;box-shadow:0 8px 18px rgba(0,0,0,.06)}
.memory-card:before{top:-10px!important;left:18px!important;right:18px!important;transform:rotate(-2deg)!important}
.memory-card:after{top:-18px!important;left:28px!important;right:28px!important;transform:rotate(-4.2deg)!important}
.memory-media{border-radius:22px!important;border:4px solid rgba(255,255,255,.92)!important;box-shadow:0 18px 42px rgba(3,28,19,.18)!important;background:#193c2d!important}
.memory-media img{height:330px!important}
.memory-pill{top:14px!important;left:14px!important;padding:10px 14px!important;background:linear-gradient(180deg,#0b7b59,#0d6a4e)!important;color:#fff!important;border:2px solid rgba(255,255,255,.85)!important;box-shadow:0 10px 20px rgba(0,0,0,.18)!important;font-size:.82rem!important}
.memory-date{top:14px!important;right:14px!important;padding:10px 14px!important;background:#fbf7ed!important;color:#123929!important;font-weight:900!important;border:2px solid rgba(255,255,255,.92)!important;box-shadow:0 10px 20px rgba(0,0,0,.12)!important}
.memory-photo-count{left:16px!important;bottom:16px!important;background:rgba(4,34,24,.78)!important;color:#ecf5ef!important;border:1px solid rgba(255,255,255,.16)!important}
.memory-footer{margin-top:16px!important;padding:14px 14px 2px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important}
.memory-footer strong{display:block;color:#0c4330!important;font-size:clamp(1.45rem,2.8vw,2rem)!important;line-height:1.1!important;max-width:12ch!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.memory-footer small{display:block;margin-top:8px;color:#677b71!important;font-size:.95rem!important}
.memory-btn{padding:15px 24px!important;border-radius:999px!important;letter-spacing:.14em!important;text-transform:uppercase!important;font-size:.86rem!important}
.memory-btn span{font-size:1.1rem!important}
.memory-lightbox{padding:20px!important;background:rgba(0,0,0,.05)}
.memory-lightbox-backdrop{background:rgba(2,18,12,.82)!important;backdrop-filter:blur(5px)!important}
.memory-lightbox-dialog--album{width:min(96vw,1520px)!important;max-height:94vh!important;padding:0!important;background:linear-gradient(180deg,#073f2f 0%,#02150f 100%)!important;border:1px solid rgba(157,227,183,.16)!important;border-radius:28px!important;box-shadow:0 34px 120px rgba(0,0,0,.55)!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important}
.memory-lightbox-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 28px;background:linear-gradient(90deg,#0f6a47,#013624)!important;border-bottom:1px solid rgba(157,227,183,.16)}
.memory-lightbox-topcopy{display:grid;gap:4px;min-width:0}
.memory-lightbox-kicker{display:inline-flex;align-items:center;gap:8px;color:#cfe59b;font-weight:900;font-size:.82rem;letter-spacing:.22em;text-transform:uppercase}
.memory-lightbox-kicker:before{content:'';width:10px;height:10px;border-radius:50%;background:#ecb23e;box-shadow:0 0 0 3px rgba(236,178,62,.14)}
.memory-lightbox-topcopy strong{font-size:clamp(1.6rem,2.2vw,2.6rem)!important;line-height:1.08;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58vw}
.memory-lightbox-topcopy small{font-size:1rem;color:#d7eadc;font-weight:700}
.memory-lightbox-close{position:static!important;flex:0 0 auto;width:64px!important;height:64px!important;border:2px solid rgba(255,255,255,.4)!important;background:rgba(255,255,255,.12)!important;font-size:2.1rem!important;box-shadow:none!important}
.memory-lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;padding:26px 86px;background:radial-gradient(circle at 50% 50%,rgba(255,212,0,.08),transparent 40%),#040b08!important;min-height:0}
.memory-lightbox-dialog img{max-height:min(62vh,760px)!important;min-height:260px!important;width:auto!important;max-width:100%!important;border-radius:24px!important;box-shadow:0 22px 70px rgba(0,0,0,.42)!important;background:#031f17!important;object-fit:contain!important}
.memory-lightbox-nav{background:linear-gradient(180deg,#0d7b55,#07553a)!important;width:66px!important;height:66px!important;border:2px solid rgba(255,255,255,.28)!important;box-shadow:0 16px 34px rgba(0,0,0,.34)!important}
.memory-lightbox-prev{left:22px!important}.memory-lightbox-next{right:22px!important}
.memory-lightbox-bottom{padding:18px 22px 22px;background:linear-gradient(90deg,#0c553b,#012519)!important;border-top:1px solid rgba(157,227,183,.16)}
.memory-lightbox-meta{justify-content:space-between!important;align-items:center!important;min-height:unset!important;padding:0 2px 12px!important;color:#fff!important}
.memory-lightbox-meta strong{font-size:1.15rem!important;color:#fff!important;max-width:65%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.memory-lightbox-counter{background:none!important;color:#ffc95a!important;min-width:auto!important;padding:0!important;border-radius:0!important;font-size:1.08rem!important;letter-spacing:.14em!important;text-transform:uppercase}
.memory-lightbox-thumbs{display:flex;gap:12px;overflow:auto;padding-bottom:4px;scrollbar-width:thin}
.memory-lightbox-thumb{position:relative;flex:0 0 96px;height:66px;border-radius:16px;border:2px solid rgba(255,255,255,.14);overflow:hidden;background:#0a3124;cursor:pointer;padding:0;box-shadow:0 8px 20px rgba(0,0,0,.2)}
.memory-lightbox-thumb img{width:100%;height:100%;object-fit:cover;display:block;min-height:0!important;border-radius:0!important;box-shadow:none!important}
.memory-lightbox-thumb span{position:absolute;right:6px;bottom:5px;display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:rgba(0,0,0,.72);color:#fff;font-size:.7rem;font-weight:800}
.memory-lightbox-thumb.is-active{border-color:#f5bf4d;box-shadow:0 0 0 3px rgba(245,191,77,.22),0 10px 26px rgba(0,0,0,.3)}
@media(max-width:980px){.memory-media img{height:300px!important}.memory-lightbox-dialog--album{width:min(98vw,1100px)!important}.memory-lightbox-topcopy strong{max-width:64vw}.memory-lightbox-stage{padding:20px 64px}}
@media(max-width:820px){.memory-card{padding:14px!important;border-radius:28px!important}.memory-card:before{left:12px!important;right:12px!important}.memory-card:after{left:20px!important;right:20px!important}.memory-media img{height:260px!important}.memory-footer{padding:14px 6px 2px!important}.memory-footer strong{max-width:none!important;white-space:normal!important}.memory-btn{width:auto!important}.memory-lightbox{padding:10px!important}.memory-lightbox-dialog--album{border-radius:24px!important;max-height:96vh!important}.memory-lightbox-top{padding:14px 16px}.memory-lightbox-close{width:52px!important;height:52px!important}.memory-lightbox-stage{padding:14px 54px}.memory-lightbox-dialog img{max-height:52vh!important}.memory-lightbox-nav{width:54px!important;height:54px!important;font-size:1.8rem!important}.memory-lightbox-bottom{padding:14px}.memory-lightbox-thumb{flex-basis:82px;height:58px}}
@media(max-width:560px){.memory-media img{height:235px!important}.memory-pill,.memory-date{padding:8px 11px!important;font-size:.7rem!important}.memory-lightbox-topcopy strong{font-size:1.3rem!important;max-width:54vw}.memory-lightbox-topcopy small{font-size:.88rem}.memory-lightbox-stage{padding:10px 42px}.memory-lightbox-nav{width:44px!important;height:44px!important;font-size:1.5rem!important}.memory-lightbox-prev{left:10px!important}.memory-lightbox-next{right:10px!important}.memory-lightbox-meta{gap:10px!important;align-items:flex-start!important;flex-direction:column!important}.memory-lightbox-meta strong{max-width:100%}.memory-lightbox-counter{font-size:.88rem!important}.memory-lightbox-thumb{flex-basis:70px;height:50px}.memory-btn{width:100%!important;justify-content:center!important}}

/* V74.6 compact memory album cards + quick-view full-image fit */
.gallery-section .memory-grid,
.memories-public-page .memory-grid{
  grid-template-columns:repeat(auto-fit,minmax(300px,390px))!important;
  justify-content:center!important;
  align-items:start!important;
  gap:34px 30px!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.gallery-section .memory-card,
.memories-public-page .memory-card{
  width:100%!important;
  max-width:390px!important;
  padding:12px 12px 14px!important;
  border-radius:26px!important;
  overflow:visible!important;
  margin:12px auto 0!important;
}
.gallery-section .memory-card:before,.gallery-section .memory-card:after,
.memories-public-page .memory-card:before,.memories-public-page .memory-card:after{
  left:16px!important;
  right:16px!important;
  border-radius:22px!important;
}
.gallery-section .memory-card:before,
.memories-public-page .memory-card:before{top:-7px!important;transform:rotate(-1.4deg)!important}
.gallery-section .memory-card:after,
.memories-public-page .memory-card:after{top:-13px!important;left:24px!important;right:24px!important;transform:rotate(-2.6deg)!important}
.gallery-section .memory-media,
.memories-public-page .memory-media{
  border-radius:18px!important;
  border-width:3px!important;
}
.gallery-section .memory-media img,
.memories-public-page .memory-media img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  display:block!important;
}
.gallery-section .memory-pill,
.memories-public-page .memory-pill{top:10px!important;left:10px!important;padding:8px 11px!important;font-size:.69rem!important}
.gallery-section .memory-date,
.memories-public-page .memory-date{top:10px!important;right:10px!important;padding:8px 11px!important;font-size:.69rem!important}
.gallery-section .memory-photo-count,
.memories-public-page .memory-photo-count{left:10px!important;bottom:10px!important;padding:7px 10px!important;font-size:.64rem!important}
.gallery-section .memory-footer,
.memories-public-page .memory-footer{
  margin-top:10px!important;
  padding:11px 8px 2px!important;
  gap:10px!important;
  align-items:center!important;
}
.gallery-section .memory-footer strong,
.memories-public-page .memory-footer strong{
  font-size:1.22rem!important;
  max-width:15ch!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.gallery-section .memory-footer small,
.memories-public-page .memory-footer small{font-size:.78rem!important;margin-top:4px!important}
.gallery-section .memory-btn,
.memories-public-page .memory-btn{
  flex:0 0 auto!important;
  width:auto!important;
  padding:11px 16px!important;
  font-size:.67rem!important;
  letter-spacing:.11em!important;
  border-radius:999px!important;
}

.memory-lightbox-dialog--album{
  height:min(92vh,900px)!important;
  max-height:92vh!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
}
.memory-lightbox-stage{
  min-height:0!important;
  overflow:hidden!important;
  padding:18px 76px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.memory-lightbox-stage #memoryLightboxImage,
.memory-lightbox-dialog--album #memoryLightboxImage{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  margin:auto!important;
}
.memory-lightbox-top,.memory-lightbox-bottom{position:relative!important;z-index:4!important;flex:none!important}

@media(max-width:980px){
  .gallery-section .memory-grid,.memories-public-page .memory-grid{grid-template-columns:repeat(auto-fit,minmax(280px,360px))!important;gap:30px 24px!important}
  .gallery-section .memory-card,.memories-public-page .memory-card{max-width:360px!important}
  .memory-lightbox-dialog--album{height:94vh!important;max-height:94vh!important}
  .memory-lightbox-stage{padding:14px 58px!important}
}
@media(max-width:620px){
  .gallery-section .memory-grid,.memories-public-page .memory-grid{grid-template-columns:minmax(0,1fr)!important;gap:26px!important}
  .gallery-section .memory-card,.memories-public-page .memory-card{max-width:420px!important;width:calc(100% - 8px)!important;margin-top:10px!important}
  .gallery-section .memory-footer,.memories-public-page .memory-footer{flex-direction:row!important;text-align:left!important}
  .gallery-section .memory-footer strong,.memories-public-page .memory-footer strong{font-size:1.12rem!important;max-width:13ch!important}
  .gallery-section .memory-btn,.memories-public-page .memory-btn{padding:10px 13px!important;font-size:.62rem!important}
  .memory-lightbox{padding:6px!important}
  .memory-lightbox-dialog--album{height:97vh!important;max-height:97vh!important;border-radius:18px!important}
  .memory-lightbox-top{padding:11px 12px!important}
  .memory-lightbox-bottom{padding:10px 10px 12px!important}
  .memory-lightbox-stage{padding:8px 40px!important}
}

/* V74.7 — clean compact memory cards: real outer spacing, no stacked-layer overlap */
.gallery-section .memory-grid,
.memories-public-page .memory-grid{
  grid-template-columns:repeat(auto-fit,minmax(285px,350px))!important;
  justify-content:center!important;
  align-items:start!important;
  column-gap:34px!important;
  row-gap:46px!important;
  padding:22px 12px 16px!important;
  overflow:visible!important;
}
.gallery-section .memory-card,
.memories-public-page .memory-card{
  position:relative!important;
  isolation:isolate!important;
  width:100%!important;
  max-width:350px!important;
  margin:10px auto!important;
  padding:12px!important;
  border-radius:26px!important;
  background:#f2eee3!important;
  border:1px solid rgba(9,57,40,.10)!important;
  box-shadow:0 18px 38px rgba(1,27,18,.16)!important;
  overflow:visible!important;
  z-index:1!important;
}
/* Stack pages stay behind the card and INSIDE a controlled footprint. */
.gallery-section .memory-card:before,
.gallery-section .memory-card:after,
.memories-public-page .memory-card:before,
.memories-public-page .memory-card:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  height:auto!important;
  top:5px!important;
  bottom:5px!important;
  border-radius:24px!important;
  background:#f8f5ec!important;
  border:1px solid rgba(9,57,40,.08)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.07)!important;
  pointer-events:none!important;
  transform-origin:center!important;
  z-index:-1!important;
}
.gallery-section .memory-card:before,
.memories-public-page .memory-card:before{
  left:6px!important;
  right:6px!important;
  transform:translateY(-8px) rotate(-1.15deg)!important;
}
.gallery-section .memory-card:after,
.memories-public-page .memory-card:after{
  left:12px!important;
  right:12px!important;
  transform:translateY(-14px) rotate(-2.1deg)!important;
}
.gallery-section .memory-media,
.memories-public-page .memory-media{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  margin:0!important;
  border-radius:19px!important;
  overflow:hidden!important;
  border:3px solid rgba(255,255,255,.96)!important;
  box-shadow:0 12px 28px rgba(3,28,19,.15)!important;
}
.gallery-section .memory-media img,
.memories-public-page .memory-media img{
  width:100%!important;
  aspect-ratio:4/3!important;
  height:auto!important;
  object-fit:cover!important;
  display:block!important;
}
/* Footer is its own neat inner card with breathing room on every side. */
.gallery-section .memory-footer,
.memories-public-page .memory-footer{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-width:0!important;
  min-height:72px!important;
  margin:12px 1px 1px!important;
  padding:12px 13px!important;
  border-radius:18px!important;
  background:#fbf8f0!important;
  border:1px solid rgba(12,65,46,.07)!important;
  box-shadow:0 8px 18px rgba(3,28,19,.07)!important;
  overflow:hidden!important;
}
.gallery-section .memory-footer>div,
.memories-public-page .memory-footer>div{
  min-width:0!important;
  flex:1 1 auto!important;
}
.gallery-section .memory-footer strong,
.memories-public-page .memory-footer strong{
  display:block!important;
  max-width:100%!important;
  margin:0!important;
  font-size:1.12rem!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.gallery-section .memory-footer small,
.memories-public-page .memory-footer small{
  display:block!important;
  max-width:100%!important;
  margin-top:5px!important;
  font-size:.75rem!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.gallery-section .memory-btn,
.memories-public-page .memory-btn{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:116px!important;
  padding:11px 14px!important;
  border-radius:999px!important;
  font-size:.64rem!important;
  letter-spacing:.10em!important;
  justify-content:center!important;
  box-shadow:0 8px 18px rgba(238,179,43,.18)!important;
}
/* Quick view: reserve fixed rows for header/footer and never let the image slide underneath them. */
.memory-lightbox-dialog--album{
  height:auto!important;
  max-height:calc(100svh - 24px)!important;
  grid-template-rows:auto minmax(220px,1fr) auto!important;
}
.memory-lightbox-stage{
  min-height:220px!important;
  max-height:calc(100svh - 285px)!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.memory-lightbox-stage #memoryLightboxImage{
  max-width:100%!important;
  max-height:100%!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media(max-width:820px){
  .gallery-section .memory-grid,.memories-public-page .memory-grid{row-gap:38px!important;column-gap:24px!important;padding:20px 8px 14px!important}
  .gallery-section .memory-card,.memories-public-page .memory-card{max-width:360px!important;margin:8px auto!important;padding:11px!important}
  .gallery-section .memory-footer,.memories-public-page .memory-footer{min-height:68px!important;padding:11px 12px!important}
  .memory-lightbox-stage{max-height:calc(100svh - 260px)!important}
}
@media(max-width:620px){
  .gallery-section .memory-grid,.memories-public-page .memory-grid{grid-template-columns:minmax(0,1fr)!important;row-gap:34px!important;padding:18px 5px 12px!important}
  .gallery-section .memory-card,.memories-public-page .memory-card{width:min(100%,390px)!important;max-width:390px!important}
  .gallery-section .memory-card:before,.memories-public-page .memory-card:before{transform:translateY(-6px) rotate(-.8deg)!important}
  .gallery-section .memory-card:after,.memories-public-page .memory-card:after{transform:translateY(-11px) rotate(-1.45deg)!important}
  .gallery-section .memory-footer,.memories-public-page .memory-footer{flex-direction:row!important;text-align:left!important;gap:9px!important;margin-top:10px!important}
  .gallery-section .memory-footer strong,.memories-public-page .memory-footer strong{font-size:1rem!important}
  .gallery-section .memory-footer small,.memories-public-page .memory-footer small{font-size:.7rem!important}
  .gallery-section .memory-btn,.memories-public-page .memory-btn{min-width:104px!important;padding:10px 11px!important;font-size:.59rem!important}
  .memory-lightbox-dialog--album{max-height:calc(100svh - 10px)!important}
  .memory-lightbox-stage{min-height:180px!important;max-height:calc(100svh - 245px)!important;padding-left:44px!important;padding-right:44px!important}
}

/* V74.8 — keep book-stack layers fully inside the memory card */
.gallery-section .memory-card,
.memories-public-page .memory-card{
  overflow:hidden!important;
  padding-top:12px!important;
}
.gallery-section .memory-card:before,
.gallery-section .memory-card:after,
.memories-public-page .memory-card:before,
.memories-public-page .memory-card:after{
  top:7px!important;
  bottom:7px!important;
  transform:none!important;
  z-index:0!important;
  box-shadow:none!important;
}
.gallery-section .memory-card:before,
.memories-public-page .memory-card:before{
  left:7px!important;
  right:7px!important;
  transform:rotate(-.55deg)!important;
}
.gallery-section .memory-card:after,
.memories-public-page .memory-card:after{
  left:13px!important;
  right:13px!important;
  transform:rotate(.75deg)!important;
}
.gallery-section .memory-media,
.gallery-section .memory-footer,
.memories-public-page .memory-media,
.memories-public-page .memory-footer{
  z-index:2!important;
}
@media(max-width:620px){
  .gallery-section .memory-card:before,.memories-public-page .memory-card:before{transform:rotate(-.4deg)!important}
  .gallery-section .memory-card:after,.memories-public-page .memory-card:after{transform:rotate(.55deg)!important}
}


/* V74.9 — remove the 1px Facebook/Google Reviews wave seam only. */
#facebook + .reviews-flow-divider--top{
  margin-bottom:-3px !important;
}
#facebook + .reviews-flow-divider--top svg{
  transform:translateY(2px) scaleY(1.025) !important;
  transform-origin:bottom center !important;
}
.social-section--reviews{
  margin-top:-2px !important;
  border-top:0 !important;
  box-shadow:none !important;
}

/* V75.2 — per-tour Facebook details link */
.home-tour-card .tour-facebook-details{
  margin-top:12px;
  width:100%;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(24,119,242,.18);
  background:rgba(24,119,242,.055);
  color:#1457a6;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.025em;
  text-align:center;
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.home-tour-card .tour-facebook-details:hover{
  transform:translateY(-1px);
  background:rgba(24,119,242,.09);
  border-color:rgba(24,119,242,.32);
}
.home-tour-card .tour-facebook-details__icon{
  width:24px;
  height:24px;
  flex:0 0 24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#1877f2;
  color:#fff;
  font-family:Arial,sans-serif;
  font-size:.95rem;
  font-weight:900;
  line-height:1;
}
.home-tour-card .tour-facebook-details b{font-size:1rem;line-height:1;font-weight:900}
html[data-theme="dark"] .home-tour-card .tour-facebook-details{color:#b8d8ff;background:rgba(24,119,242,.11);border-color:rgba(123,182,255,.18)}
@media(max-width:430px){
  .home-tour-card .tour-facebook-details{margin-top:10px;min-height:42px;padding:9px 12px;font-size:.72rem}
}

/* V75.3 — per-tour share control on the homepage image. */
.home-tour-card .media{position:relative}
.home-tour-card .tour-share-btn{
  position:absolute;z-index:5;top:14px;right:14px;width:43px;height:43px;padding:0;
  display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:999px;
  background:rgba(4,46,32,.88);color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.24);
  backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);cursor:pointer;transition:.18s ease;
}
.home-tour-card .tour-share-btn:hover{transform:translateY(-2px);background:#0b6d4b;box-shadow:0 13px 30px rgba(0,0,0,.28)}
.home-tour-card .tour-share-btn:focus-visible{outline:3px solid rgba(201,240,117,.8);outline-offset:2px}
.home-tour-card .tour-share-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
/* Keep the trip type (for example DAY TRIP) on the left so the share button owns the top-right corner. */
.home-tour-card .kind{left:17px!important;right:auto!important;top:17px!important}
.home-tour-card .date{left:17px!important;top:57px!important}
@media(max-width:620px){
  .home-tour-card .tour-share-btn{top:12px;right:12px;width:40px;height:40px}
  .home-tour-card .kind{left:13px!important;top:13px!important}
  .home-tour-card .date{left:13px!important;top:51px!important}
}

/* V75.5 — desktop/tablet-only section heading alignment. Mobile (<=620px) remains locked. */
@media (min-width:621px){
  /* Memories: keep the section description on one clean line. */
  .gallery-section .media-content-head .desktop-only-copy,
  .gallery-section .media-content-head > p{
    max-width:none!important;
    width:auto!important;
    white-space:nowrap!important;
  }

  /* Facebook: stack label, title and description from the same left edge as Memories. */
  .social-section--facebook .social-content-head{
    display:block!important;
    text-align:left!important;
  }
  .social-section--facebook .social-content-head > div,
  .social-section--facebook .social-content-head > p{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    text-align:left!important;
  }
  .social-section--facebook .facebook-topic-art{
    display:flex!important;
    width:max-content!important;
    max-width:100%!important;
    justify-content:flex-start!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .social-section--facebook .social-content-head h2{
    margin-left:0!important;
    margin-right:0!important;
    text-align:left!important;
  }
  .social-section--facebook .social-content-head > p{
    margin-top:16px!important;
  }
}


/* V75.6 — Facebook partnership card + full-width Page Plugin on desktop/tablet only.
   Mobile (<=820px) intentionally remains on the existing V72.7/V70 layout. */
.facebook-partnership-showcase{display:none;}

@media (min-width:821px){
  .social-section--facebook .social-copy-card{
    min-width:0;
    padding:34px;
  }
  .social-section--facebook .facebook-partnership-showcase{
    display:grid;
    grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);
    align-items:center;
    gap:18px;
    width:100%;
    margin:0 0 34px;
    padding:26px 22px;
    border:1px solid rgba(5,41,29,.10);
    border-radius:24px;
    background:linear-gradient(145deg,#fbfcfa,#f1f5f0);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 14px 34px rgba(5,41,29,.07);
  }
  .social-section--facebook .facebook-partner-brand{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    text-align:center;
  }
  .social-section--facebook .facebook-partner-brand strong{
    display:block;
    max-width:100%;
    color:#0a3427;
    font-size:.86rem;
    font-weight:900;
    letter-spacing:.07em;
    line-height:1.2;
    text-transform:uppercase;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .social-section--facebook .facebook-partner-facebook-logo,
  .social-section--facebook .facebook-partner-tlog-logo{
    width:92px;
    height:92px;
    flex:0 0 92px;
    border-radius:24px;
    display:grid;
    place-items:center;
    background:#fff;
    border:1px solid rgba(5,41,29,.10);
    box-shadow:0 16px 34px rgba(5,41,29,.10);
    overflow:hidden;
  }
  .social-section--facebook .facebook-partner-facebook-logo{
    background:#1877f2;
    color:#fff;
    border-color:#1877f2;
    font:900 68px/1 Arial,Helvetica,sans-serif;
    padding-top:18px;
  }
  .social-section--facebook .facebook-partner-tlog-logo img{
    display:block;
    width:78px;
    height:78px;
    object-fit:contain;
  }
  .social-section--facebook .facebook-partner-handshake{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    color:#0c6b4d;
    text-align:center;
  }
  .social-section--facebook .facebook-partner-handshake-icon{
    width:72px;
    height:72px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:linear-gradient(145deg,#eff8dd,#d9efab);
    border:1px solid rgba(15,106,77,.18);
    box-shadow:0 12px 28px rgba(15,106,77,.12);
  }
  .social-section--facebook .facebook-partner-handshake-icon svg{
    width:38px;
    height:38px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .social-section--facebook .facebook-partner-handshake small{
    font-size:.65rem;
    font-weight:900;
    letter-spacing:.16em;
    color:#557168;
  }
  .social-section--facebook .facebook-feed-card{
    padding:10px!important;
    overflow:hidden!important;
    display:flex;
    justify-content:center;
    align-items:flex-start;
    box-sizing:border-box;
  }
  .social-section--facebook .facebook-feed-desktop-viewport{
    width:500px!important;
    max-width:500px!important;
    margin:0 auto!important;
    overflow:hidden!important;
    flex:0 0 500px;
  }
  .social-section--facebook .facebook-feed-frame{
    display:block!important;
    width:500px!important;
    min-width:500px!important;
    max-width:500px!important;
    height:660px!important;
    margin:0!important;
    border:0!important;
  }
  html[data-theme="dark"] .social-section--facebook .facebook-partnership-showcase{
    background:linear-gradient(145deg,#153126,#10271f);
    border-color:rgba(255,255,255,.11);
  }
  html[data-theme="dark"] .social-section--facebook .facebook-partner-brand strong{color:#edf6f1;}
  html[data-theme="dark"] .social-section--facebook .facebook-partner-tlog-logo{background:#fff;}
}

@media (min-width:1100px){
  .social-section--facebook .social-grid{
    grid-template-columns:minmax(0,1fr) 520px!important;
    gap:28px!important;
    align-items:stretch!important;
  }
  .social-section--facebook .facebook-feed-card{
    width:520px!important;
    max-width:520px!important;
    justify-self:end;
  }
}

@media (min-width:821px) and (max-width:1099px){
  .social-section--facebook .social-grid{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .social-section--facebook .facebook-feed-card{
    width:520px!important;
    max-width:100%!important;
    justify-self:center;
  }
  .social-section--facebook .social-copy-card{
    width:100%;
  }
  .social-section--facebook .facebook-partnership-showcase{
    max-width:700px;
    margin-left:auto;
    margin-right:auto;
  }
}

/* V75.7 — Facebook title: keep the complete heading at one uniform size on desktop/tablet only. Mobile remains locked. */
@media (min-width:821px){
  .social-section--facebook .social-content-head h2,
  .social-section--facebook .social-content-head h2 *{
    font-size:clamp(2.7rem,5.5vw,4.8rem)!important;
    line-height:1!important;
  }
  .social-section--facebook .social-content-head h2{
    max-width:none!important;
    width:100%!important;
    white-space:nowrap!important;
  }
}

/* V75.8 — Desktop/tablet heading alignment for Location, YouTube and Google Reviews.
   Mobile (<=820px) is intentionally untouched/locked. */
@media (min-width:821px){
  /* Location: small label -> large title -> description, all from the same left edge. */
  .location-map-head{
    display:block!important;
    text-align:left!important;
    margin-bottom:24px!important;
  }
  .location-map-head > div{
    width:100%!important;
    text-align:left!important;
  }
  .location-map-head .section-label{
    display:block!important;
    width:max-content!important;
    margin:0 0 10px 0!important;
    text-align:left!important;
  }
  .location-map-head h2{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    text-align:left!important;
    white-space:nowrap!important;
  }
  .location-map-head > p{
    width:100%!important;
    max-width:none!important;
    margin:14px 0 0!important;
    text-align:left!important;
    white-space:nowrap!important;
  }

  /* YouTube: keep the three heading lines stacked and aligned to the section left edge. */
  .social-section--youtube .social-content-head{
    display:block!important;
    text-align:left!important;
  }
  .social-section--youtube .social-content-head > div,
  .social-section--youtube .social-content-head > p{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    text-align:left!important;
  }
  .social-section--youtube .social-content-head .section-label{
    display:block!important;
    width:max-content!important;
    margin:0 0 10px!important;
    text-align:left!important;
  }
  .social-section--youtube .social-content-head h2{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    text-align:left!important;
    font-size:clamp(2.55rem,5vw,4.8rem)!important;
    line-height:.98!important;
    white-space:nowrap!important;
  }
  .social-section--youtube .social-content-head > p{
    margin-top:14px!important;
    white-space:nowrap!important;
  }

  /* Google Reviews: same left-aligned heading stack. */
  .social-section--reviews .social-content-head{
    display:block!important;
    text-align:left!important;
  }
  .social-section--reviews .social-content-head > div,
  .social-section--reviews .social-content-head > p{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    text-align:left!important;
  }
  .social-section--reviews .reviews-topic-art{
    display:inline-flex!important;
    width:max-content!important;
    max-width:100%!important;
    justify-content:flex-start!important;
    margin:0 0 10px!important;
  }
  .social-section--reviews .social-content-head h2{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    text-align:left!important;
    font-size:clamp(2.55rem,5vw,4.8rem)!important;
    line-height:.98!important;
    white-space:nowrap!important;
  }
  .social-section--reviews .social-content-head > p{
    margin-top:14px!important;
    white-space:nowrap!important;
  }

  /* Compact the first Google review summary card and keep it centered. */
  .social-section--reviews .reviews-summary-card{
    width:min(100%,620px)!important;
    max-width:620px!important;
    min-height:0!important;
    margin:0 auto 22px!important;
    padding:17px 22px!important;
    border-radius:22px!important;
  }
}

/* V75.9 — Desktop/tablet only: compact Google review summary + remove bottom divider seam.
   Mobile (<=820px) remains locked and untouched. */
@media (min-width:821px){
  /* Remove the unused horizontal space from the centered review summary card. */
  .social-section--reviews .reviews-summary-card{
    width:fit-content!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0 auto 22px!important;
    padding:14px 22px!important;
    gap:12px!important;
    justify-content:center!important;
  }
  .social-section--reviews .reviews-summary-stats:empty{
    display:none!important;
  }

  /* Hide the thin horizontal seam below the reviews wave without changing mobile. */
  .reviews-flow-divider--bottom{
    margin-bottom:-3px!important;
    border:0!important;
    border-bottom:0!important;
    outline:0!important;
    box-shadow:none!important;
  }
  .reviews-flow-divider--bottom svg{
    display:block!important;
    transform:translateY(1px) scaleY(1.02)!important;
    transform-origin:top center!important;
  }
  .reviews-flow-divider--bottom + .social-section{
    margin-top:-2px!important;
    border-top:0!important;
    outline:0!important;
    box-shadow:none!important;
  }
}


/* V76.0 — separate public pages in the top navigation.
   Desktop/tablet styling only. Mobile hamburger keeps its existing locked styling;
   only the two requested menu links are added in the markup. */
@media (min-width:821px){
  .desktop-nav{gap:16px}
  .desktop-nav a.nav-page-btn{
    display:inline-flex;align-items:center;justify-content:center;
    min-height:38px;padding:9px 13px;border-radius:999px;
    border:1px solid rgba(255,255,255,.26);
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    white-space:nowrap;
  }
  .desktop-nav a.nav-page-btn:hover{background:rgba(255,255,255,.16)}
  .desktop-nav a.nav-call-btn{
    border:1px solid rgba(255,255,255,.35);padding:11px 16px;
    border-radius:999px;background:rgba(255,255,255,.1);white-space:nowrap;
  }
}
@media (min-width:821px) and (max-width:1120px){
  .desktop-nav{gap:9px;font-size:.76rem}
  .desktop-nav a.nav-page-btn{padding:8px 10px}
  .desktop-nav a.nav-call-btn{padding:9px 11px}
}


/* V76.1 — desktop/tablet top-nav cleanup only.
   Mobile hamburger remains locked and unchanged. */
@media (min-width:821px){
  .nav{justify-content:flex-start!important}
  .desktop-nav{
    margin-left:auto!important;
    justify-content:flex-end!important;
    gap:18px!important;
  }
  /* Memories + Photo Frame now use the same plain menu treatment as other links. */
  .desktop-nav a.nav-page-btn,
  .desktop-nav a[href="memories.php"],
  .desktop-nav a[href="photo-frame.php"]{
    display:inline!important;
    min-height:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:none!important;
    white-space:nowrap!important;
  }
  .desktop-nav a[href="memories.php"]:hover,
  .desktop-nav a[href="photo-frame.php"]:hover{
    background:transparent!important;
  }
}
@media (min-width:821px) and (max-width:1120px){
  .desktop-nav{gap:11px!important}
}
