
    :root {
      --cream:#f5efe6;
      --cream-2:#ebe3d7;
      --text:#24302d;
      --muted:#697973;
      --deep:#091211;
      --deep-2:#0d1a18;
      --deep-3:#10211e;
      --deep-4:#13302b;
      --panel:#102622;
      --panel-2:rgba(16,38,34,.82);
      --gold:#c79a5a;
      --gold-soft:#ecd1a4;
      --gold-bright:#f7ddb0;
      --line:rgba(255,255,255,.12);
      --line-dark:rgba(18,32,29,.12);
      --shadow:0 28px 74px rgba(8,14,13,.18);
      --radius-xl:34px;
      --radius-lg:24px;
      --radius-md:18px;
      --shell:1240px;
      --serif: Georgia, "Times New Roman", serif;
      --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body {
      margin:0;
      background:linear-gradient(180deg, #fbf7f2 0%, var(--cream) 36%, #f3ece1 100%);
      color:var(--text);
      font-family:var(--sans);
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
      overflow-x:hidden;
    }
    img { display:block; max-width:100%; }
    a { color:inherit; text-decoration:none; }
    button, input, select, textarea { font:inherit; }
    .page { padding:16px 0 48px; overflow-x:hidden; }
    .container { width:min(calc(100% - 30px), var(--shell)); margin:0 auto; }

    .hero {
      position:relative;
      min-height:100vh;
      border-radius:34px 34px 0 0;
      overflow:visible;
      background:transparent;
      box-shadow:none;
      isolation:isolate;
    }
    .hero-bg {
      position:fixed;
      top:16px;
      left:50%;
      width:min(calc(100% - 30px), var(--shell));
      height:100vh;
      transform:translateX(-50%) scale(1.02);
      transform-origin:center center;
      background-image:url('hero-river-jetty.png');
      background-size:cover;
      background-position:center center;
      border-radius:34px 34px 0 0;
      box-shadow:var(--shadow);
      z-index:0;
      filter:brightness(.04) saturate(.72);
      animation:heroLift 6s ease forwards;
      will-change:filter, transform;
    }
    .hero-bg::before {
      content:"";
      position:absolute; inset:0;
      background:
        linear-gradient(90deg, rgba(4,8,8,.90) 0%, rgba(4,8,8,.68) 18%, rgba(4,8,8,.26) 46%, rgba(4,8,8,.48) 76%, rgba(4,8,8,.82) 100%),
        linear-gradient(180deg, rgba(4,8,8,.86) 0%, rgba(4,8,8,.40) 44%, rgba(4,8,8,.08) 70%, rgba(4,8,8,.14) 100%);
      animation:overlayEase 6s ease forwards;
    }
    .hero-glow {
      position:absolute; inset:0; pointer-events:none;
      background:radial-gradient(circle at 78% 22%, rgba(247,221,176,.16), transparent 24%);
      mix-blend-mode:screen;
    }
    @keyframes heroLift {
      from { filter:brightness(.04) saturate(.70); }
      to { filter:brightness(1) saturate(1.02); }
    }
    @keyframes overlayEase {
      from { opacity:1; }
      to { opacity:.24; }
    }

    .hero-inner { position:relative; z-index:2; min-height:100vh; display:flex; flex-direction:column; }
    .topbar { position:sticky; top:14px; z-index:10; padding:14px 0 0; display:flex; align-items:center; gap:18px; }
    .topbar-shell {
      margin-left:auto;
      display:flex; align-items:center; justify-content:space-between; gap:16px;
      padding:10px 16px;
      border-radius:999px;
      background:linear-gradient(180deg, rgba(8,14,13,.44), rgba(8,14,13,.30));
      backdrop-filter:blur(16px) saturate(112%);
      border:1px solid rgba(255,255,255,.09);
      box-shadow:0 14px 36px rgba(5,10,10,.12), inset 0 1px 0 rgba(255,255,255,.03);
    }
    .brand {
      flex:0 0 auto;
      position:relative;
      display:flex;
      align-items:center;
      justify-content:center;
      min-width:0;
      padding:0;
      border-radius:0;
      background:transparent;
      border:none;
      box-shadow:none;
      isolation:isolate;
      text-decoration:none;
    }
    .brand::before { content:none; }
    .brand img {
      width:188px;
      max-width:34vw;
      display:block;
      filter:brightness(0) invert(1) drop-shadow(0 8px 22px rgba(0,0,0,.34)) drop-shadow(0 1px 0 rgba(255,255,255,.08));
    }
    .nav { display:flex; align-items:center; gap:18px; flex-wrap:nowrap; justify-content:flex-end; }
    .nav-links { display:flex; gap:22px; align-items:center; flex-wrap:wrap; }
    .nav-links > a, .nav-toggle {
      color:rgba(248,241,230,.90); font-size:.96rem; padding:6px 0; position:relative;
      background:none; border:none; cursor:pointer;
    }
    .nav-links > a::after, .nav-toggle::after {
      content:""; position:absolute; left:0; right:0; bottom:-7px; width:0; margin:auto; height:2px; border-radius:999px; background:var(--gold); transition:width .28s ease;
    }
    .nav-links > a:hover::after, .nav-toggle:hover::after, .nav-links > a.active::after { width:24px; }
    .nav-icons { display:flex; align-items:center; gap:10px; }
    .icon-btn, .icon-btn-sm {
      width:60px; height:60px; border-radius:999px; border:1px solid rgba(247,241,230,.13);
      background:linear-gradient(180deg, rgba(9,15,14,.36), rgba(9,15,14,.22)); color:#f7e7ca; display:grid; place-items:center;
      cursor:pointer; transition:transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease, color .25s ease;
      box-shadow:0 10px 24px rgba(3,6,6,.10), inset 0 1px 0 rgba(255,255,255,.04);
      flex:0 0 auto;
      backdrop-filter:blur(12px) saturate(112%);
    }
    .icon-btn:hover, .icon-btn-sm:hover { transform:translateY(-1px); background:linear-gradient(180deg, rgba(13,25,23,.48), rgba(13,25,23,.30)); border-color:rgba(247,221,176,.26); }
    .icon-btn svg, .icon-btn-sm svg { width:30px; height:30px; stroke:currentColor; fill:none; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
    .icon-btn .wa-fill, .icon-btn-sm .wa-fill { fill:currentColor; stroke:none; }
    .icon-btn .wa-hole, .icon-btn-sm .wa-hole { fill:rgba(7,13,12,.82); stroke:none; }
    .book-btn, .ghost-btn, .primary-btn {
      display:inline-flex; align-items:center; justify-content:center; gap:12px; border-radius:999px; border:none; cursor:pointer; font-weight:700;
      transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
    }
    .book-btn, .primary-btn { background:linear-gradient(135deg, #e7c184, #c99657); color:#12201d; padding:14px 24px; box-shadow:0 16px 34px rgba(199,154,90,.22); }
    .book-btn:hover, .primary-btn:hover, .ghost-btn:hover { transform:translateY(-1px); }
    .ghost-btn { background:rgba(10,16,15,.36); color:#f8efe2; border:1px solid rgba(255,255,255,.14); padding:13px 22px; }

    .nav-group { position:relative; }
    .service-dropdown {
      position:absolute; left:50%; right:auto; transform:translateX(-50%);
      top:calc(100% + 14px); width:min(360px, calc(100vw - 36px)); max-width:calc(100vw - 36px); padding:14px;
      border-radius:22px; background:rgba(10,18,17,.95); color:#f3ecdf; border:1px solid rgba(255,255,255,.12);
      box-shadow:0 26px 52px rgba(4,8,8,.30); display:none; z-index:25;
    }
    .service-dropdown.open { display:grid; grid-template-columns:1fr; gap:8px; }
    .service-dropdown button {
      text-align:left; padding:12px 14px; border-radius:14px; border:none; background:rgba(255,255,255,.03); color:inherit; cursor:pointer;
    }
    .service-dropdown button:hover { background:rgba(255,255,255,.08); }

    .hero-copy {
      flex:1; display:flex; align-items:center; padding:116px 0 146px;
    }
    .hero-content { width:min(680px, 100%); color:#fcf7ef; padding-bottom:18px; }
    .eyebrow { text-transform:uppercase; letter-spacing:.18em; font-size:.9rem; color:#ffffff; margin-bottom:22px; text-shadow:0 2px 16px rgba(0,0,0,.52), 0 1px 2px rgba(0,0,0,.48); font-weight:700; }
    .hero h1 { margin:0; font-family:var(--serif); font-size:clamp(3.1rem, 6vw, 5.3rem); line-height:.97; letter-spacing:-.03em; max-width:740px; }
    .hero h1 .accent { color:var(--gold-soft); font-style:italic; display:block; }
    .hero p.lead { max-width:680px; font-size:1.28rem; line-height:1.88; color:#ffffff; margin:26px 0 0; text-shadow:0 2px 18px rgba(0,0,0,.52), 0 1px 2px rgba(0,0,0,.46); font-weight:500; }
    .hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
    .hero-content .eyebrow { color:#fff; text-shadow:0 2px 16px rgba(0,0,0,.55), 0 1px 2px rgba(0,0,0,.45); }

    .floating-features { position:relative; margin-top:-28px; z-index:5; padding-bottom:8px; }
    .marquee-shell {
      overflow:hidden; padding:12px 0; mask-image:linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
    }
    .marquee-track {
      display:flex; gap:20px; width:max-content; animation:marquee 42s linear infinite;
    }
    @keyframes marquee {
      from { transform:translateX(0); }
      to { transform:translateX(calc(-50% - 10px)); }
    }
    .feature-card {
      width:292px; min-height:280px; padding:24px 22px 22px; border-radius:24px;
      background:linear-gradient(145deg, rgba(13,31,29,.88), rgba(12,36,34,.76));
      color:#f5ecde; border:1px solid rgba(255,255,255,.14); position:relative; overflow:hidden;
      box-shadow:0 18px 44px rgba(5,10,10,.18); transition:background .55s ease, transform .35s ease, box-shadow .35s ease;
      flex:0 0 auto;
    }
    .feature-card::before {
      content:""; position:absolute; inset:-40% 40% auto -30%; height:160%;
      background:linear-gradient(110deg, transparent 0%, rgba(247,221,176,.10) 48%, rgba(247,221,176,.28) 52%, transparent 100%);
      transform:translateX(-120%); animation:sheen 12s ease-in-out infinite;
      pointer-events:none;
    }
    .feature-card.focus { background:linear-gradient(145deg, rgba(8,18,17,.98), rgba(11,24,22,.96)); box-shadow:0 28px 60px rgba(3,7,7,.28); }
    @keyframes sheen { 0%,72%,100% { transform:translateX(-140%); } 82% { transform:translateX(155%); } }
    .feature-icon { font-size:1.55rem; color:var(--gold-soft); margin-bottom:18px; }
    .feature-card h3 { margin:0 0 12px; font-family:var(--serif); font-size:2rem; line-height:1; }
    .feature-card p { margin:0; color:rgba(245,236,222,.86); line-height:1.74; font-size:1rem; min-height:110px; }
    .feature-link { margin-top:22px; color:#f2c987; background:none; border:none; padding:0; font-weight:700; cursor:pointer; display:inline-flex; gap:10px; align-items:center; }

    .content-shell { position:relative; z-index:4; background:transparent; }
    .section { padding:78px 0; }
    .light-section { background:transparent; }
    .section-title { font-family:var(--serif); font-size:clamp(2.4rem,4vw,3.7rem); line-height:1.02; margin:0; color:#1e2a28; letter-spacing:-.03em; }
    .section-top { display:grid; grid-template-columns:1.05fr 1fr; gap:40px; align-items:start; padding:28px; border-radius:30px; background:linear-gradient(180deg, rgba(249,243,234,.82), rgba(245,237,226,.76)); border:1px solid rgba(255,255,255,.36); backdrop-filter:blur(10px); box-shadow:0 18px 42px rgba(9,14,13,.08); }
    .section-intro p { color:#566762; line-height:1.9; font-size:1.05rem; margin:18px 0 0; max-width:560px; }

    .services-summary {
      background:#f7f1e8; border:1px solid var(--line-dark); border-radius:28px; padding:32px; box-shadow:0 18px 38px rgba(14,19,18,.04);
    }
    .simple-service-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 22px; margin-top:22px; }
    .simple-service-item {
      text-align:left; padding:0; background:none; border:none; font-size:1rem; color:#22302d; display:flex; gap:12px; align-items:flex-start; cursor:pointer;
    }
    .simple-service-item::before { content:"•"; color:var(--gold); font-size:1.3rem; line-height:1; margin-top:-1px; }
    .simple-service-item:hover { color:#0f2621; }
    .explore-link { margin-top:28px; }

    .booking-strip {
      margin-top:24px;
      display:grid; grid-template-columns:1.25fr 1.6fr auto; gap:18px; align-items:center;
      background:linear-gradient(110deg, rgba(10,31,29,.98), rgba(14,50,45,.95)); color:#f7efe0;
      border-radius:28px; padding:22px 24px; box-shadow:0 22px 44px rgba(7,14,13,.12);
    }
    .booking-strip h3 { margin:0; font-family:var(--serif); font-size:1.75rem; line-height:1.06; }
    .booking-strip p { margin:8px 0 0; line-height:1.7; color:rgba(247,239,224,.82); }
    .talk-icons { display:flex; align-items:center; gap:10px; justify-content:flex-end; flex-wrap:wrap; }
    .talk-label { color:rgba(247,239,224,.84); margin-right:6px; }

    .fees-card {
      border-radius:28px; background:linear-gradient(145deg, rgba(10,27,24,.98), rgba(14,38,34,.96)); color:#f6ecdd; padding:34px; border:1px solid rgba(255,255,255,.10); box-shadow:var(--shadow);
      display:grid; grid-template-columns:1.1fr .9fr; gap:30px; align-items:start;
    }
    .fees-copy p { margin:0 0 18px; line-height:1.9; color:rgba(246,236,221,.86); }
    .fees-box { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:22px; padding:22px; }
    .fees-box .amount { font-size:3rem; line-height:1; font-family:var(--serif); color:#fff; margin:10px 0 6px; }
    .fees-box .small { color:rgba(246,236,221,.76); line-height:1.8; }

    .testimonial-wrap { text-align:center; }
    .testimonial-badge { color:#907959; letter-spacing:.18em; text-transform:uppercase; font-size:.82rem; margin-bottom:18px; }
    .testimonial-oval {
      position:relative; max-width:760px; margin:0 auto; min-height:238px; display:grid; place-items:center;
      padding:30px 34px; border-radius:999px; background:linear-gradient(180deg, rgba(17,31,28,.94), rgba(25,42,38,.92)); color:#f5eee0; border:1px solid rgba(255,255,255,.09);
      box-shadow:0 22px 48px rgba(8,14,13,.12);
      overflow:hidden;
    }
    .testimonial-slide { position:absolute; inset:0; display:grid; place-items:center; padding:36px 42px; opacity:0; transform:translateY(12px); transition:opacity .65s ease, transform .65s ease; text-align:center; }
    .testimonial-slide.active { opacity:1; transform:translateY(0); }
    .testimonial-quote { max-width:560px; font-size:1.1rem; line-height:1.95; color:rgba(245,238,224,.92); }
    .testimonial-author { margin-top:12px; color:#d7be93; font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:.8rem; }

    .about-card {
      display:grid; grid-template-columns:380px 1fr; gap:0; overflow:hidden; border-radius:30px; background:linear-gradient(135deg, rgba(8,22,20,.98), rgba(12,44,39,.95)); color:#f7efe1; box-shadow:var(--shadow);
    }
    .about-media { display:grid; grid-template-rows:minmax(520px, auto) auto; background:#10201d; }
    .about-photo { min-height:100%; background:#10201d; }
    .about-photo img { width:100%; height:100%; object-fit:cover; object-position:60% 38%; }
    .about-cert { background:#fff; border-top:1px solid rgba(255,255,255,.12); }
    .about-cert img { width:100%; height:auto; object-fit:contain; }
    .about-copy { position:relative; padding:34px 34px 30px; }
    .about-copy h2 { font-family:var(--serif); font-size:clamp(2.2rem,4vw,3.5rem); line-height:1.04; margin:18px 0 12px; max-width:630px; }
    .about-copy h3 { margin:0; font-size:.86rem; text-transform:uppercase; letter-spacing:.18em; color:#cfaf7a; }
    .about-copy p { max-width:650px; color:rgba(247,239,225,.88); line-height:1.9; font-size:1.05rem; }
    .credentials { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:22px; }
    .credential { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.10); border-radius:18px; padding:16px; }
    .credential strong { display:block; color:#fff; margin-bottom:6px; font-size:.96rem; }
    .credential span { color:rgba(247,239,225,.74); font-size:.96rem; line-height:1.7; }

    .footer-note { color:#d6c19e; font-size:.92rem; margin-top:18px; }

    .modal-overlay { position:fixed; inset:0; background:rgba(6,10,10,.58); backdrop-filter:blur(10px); display:none; align-items:center; justify-content:center; z-index:40; padding:20px; }
    .modal-overlay.open { display:flex; }
    .modal { background:linear-gradient(180deg, rgba(10,18,17,.98), rgba(13,28,25,.98)); color:#f8efe2; border:1px solid rgba(255,255,255,.12); border-radius:28px; box-shadow:0 30px 70px rgba(4,8,8,.32); }
    .modal-close { position:absolute; top:18px; right:18px; width:40px; height:40px; border-radius:999px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04); color:#fff; cursor:pointer; }

    .feature-modal { width:min(760px, 100%); position:relative; padding:34px; }
    .feature-modal h3 { margin:0 0 14px; font-family:var(--serif); font-size:2.2rem; }
    .feature-modal p { margin:0; line-height:1.92; color:rgba(248,239,226,.84); }

    .service-modal { width:min(980px, 100%); min-height:min(72vh, 720px); position:relative; padding:0; overflow:hidden; display:grid; grid-template-columns:1.25fr .9fr; }
    .service-pane { padding:38px 38px 36px; }
    .service-pane h3 { margin:0 0 12px; font-family:var(--serif); font-size:2.3rem; }
    .service-pane p { margin:0; color:rgba(248,239,226,.86); line-height:1.92; font-size:1.04rem; }
    .service-nav { background:rgba(255,255,255,.03); border-left:1px solid rgba(255,255,255,.08); padding:24px; overflow:auto; }
    .service-option { width:100%; text-align:left; border:none; cursor:pointer; background:transparent; color:#f3ecdf; padding:14px 16px; border-radius:14px; margin-bottom:8px; line-height:1.45; }
    .service-option.active { background:rgba(247,221,176,.10); color:#fff; }

    .contact-modal { width:min(390px, 100%); position:relative; padding:22px 22px 18px; background:rgba(10,18,17,.78); backdrop-filter:blur(18px); }
    .contact-modal h3 { margin:0 0 6px; font-family:var(--serif); font-size:1.65rem; }
    .contact-modal p { margin:0 0 14px; color:rgba(248,239,226,.78); line-height:1.7; font-size:.96rem; }
    .contact-icon-pill { width:56px; height:56px; border-radius:999px; display:grid; place-items:center; background:rgba(247,221,176,.12); border:1px solid rgba(247,221,176,.28); color:#f7ddb0; margin-bottom:12px; font-size:1.25rem; }

    .booking-modal { width:min(640px, 100%); position:relative; padding:30px; }
    .fees-modal { width:min(820px, 100%); position:relative; padding:34px; }
    .fees-modal h3 { margin:0 0 10px; font-family:var(--serif); font-size:2.25rem; }
    .fees-modal p { margin:0 0 16px; color:rgba(248,239,226,.84); line-height:1.88; }
    .fees-modal .fees-teaser {
      position:relative; overflow:hidden; border-radius:24px;
      background:linear-gradient(145deg, rgba(18,43,39,.98), rgba(10,27,24,.96));
      border:1px solid rgba(255,255,255,.10); padding:26px; display:grid; gap:14px;
      box-shadow:0 22px 46px rgba(4,8,8,.22);
    }
    .fees-modal .fees-teaser::before {
      content:""; position:absolute; inset:auto -10% -35% auto; width:230px; height:230px;
      background:radial-gradient(circle, rgba(247,221,176,.22), transparent 68%); pointer-events:none;
    }
    .fees-pill { display:inline-flex; align-items:center; gap:10px; width:max-content; padding:8px 14px; border-radius:999px; background:rgba(247,221,176,.12); border:1px solid rgba(247,221,176,.28); color:var(--gold-soft); font-weight:700; letter-spacing:.04em; }
    .fees-big { display:flex; align-items:flex-end; gap:14px; flex-wrap:wrap; }
    .fees-big .free { font-family:var(--serif); font-size:clamp(2.8rem, 8vw, 4.4rem); line-height:.9; color:#fff; }
    .fees-big .sub { color:rgba(248,239,226,.78); max-width:260px; }
    .fees-cta-row { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
    .fees-more-btn { background:rgba(255,255,255,.06); color:#f7efe0; border:1px solid rgba(255,255,255,.12); padding:13px 18px; border-radius:999px; cursor:pointer; font-weight:700; }
    .fees-more-btn:hover { background:rgba(255,255,255,.10); }
    .fees-details { margin-top:18px; padding-top:18px; border-top:1px solid rgba(255,255,255,.10); display:none; }
    .fees-details.open { display:grid; gap:16px; }
    .fees-modal .fees-highlight { margin-top:8px; padding:18px 20px; border-radius:18px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10); display:grid; gap:6px; }
    .fees-modal .fees-price { font-family:var(--serif); font-size:2.8rem; line-height:1; color:#fff; }
    .booking-modal h3 { margin:0 0 8px; font-family:var(--serif); font-size:2rem; }
    .booking-modal p { margin:0 0 18px; color:rgba(248,239,226,.82); line-height:1.8; }

    .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
    .field { display:flex; flex-direction:column; gap:7px; }
    .field label { font-size:.88rem; color:#d9c29f; }
    .field input, .field select, .field textarea {
      width:100%; border-radius:14px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04); color:#fff; padding:14px 15px; outline:none;
    }
    .field input::placeholder, .field textarea::placeholder { color:rgba(248,239,226,.45); }
    .field textarea { min-height:132px; resize:vertical; }
    .full { grid-column:1 / -1; }
    .form-actions { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:16px; flex-wrap:wrap; }
    .fine-print { color:rgba(248,239,226,.60); font-size:.82rem; line-height:1.6; max-width:380px; }


    .booking-modal {
      width:min(1080px, 100%);
      position:relative;
      padding:34px;
      overflow:hidden;
    }
    .booking-step { display:none; }
    .booking-step.active { display:block; }
    .booking-modal h3 { margin:0 0 10px; font-family:var(--serif); font-size:2.15rem; }
    .booking-modal p { margin:0 0 18px; color:rgba(248,239,226,.82); line-height:1.82; }

    .package-grid {
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:18px;
      margin-top:22px;
    }
    .package-card {
      position:relative;
      text-align:left;
      padding:24px 22px 22px;
      border-radius:24px;
      border:1px solid rgba(255,255,255,.10);
      background:linear-gradient(145deg, rgba(14,32,29,.98), rgba(11,24,22,.94));
      color:#f8efe2;
      cursor:pointer;
      box-shadow:0 18px 44px rgba(4,8,8,.16);
      transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease;
      overflow:hidden;
    }
    .package-card::before {
      content:"";
      position:absolute; inset:auto -16% -40% auto; width:220px; height:220px;
      background:radial-gradient(circle, rgba(247,221,176,.16), transparent 70%);
      pointer-events:none;
    }
    .package-card:hover {
      transform:translateY(-2px);
      border-color:rgba(247,221,176,.22);
      box-shadow:0 22px 52px rgba(4,8,8,.22);
    }
    .package-card.active {
      border-color:rgba(247,221,176,.42);
      background:linear-gradient(145deg, rgba(18,43,39,.98), rgba(10,27,24,.96));
      box-shadow:0 24px 58px rgba(4,8,8,.24), 0 0 0 1px rgba(247,221,176,.10) inset;
    }
    .package-badge {
      display:inline-flex;
      align-items:center;
      gap:8px;
      width:max-content;
      padding:8px 14px;
      border-radius:999px;
      background:rgba(247,221,176,.10);
      border:1px solid rgba(247,221,176,.22);
      color:var(--gold-soft);
      font-size:.82rem;
      font-weight:700;
      letter-spacing:.04em;
      text-transform:uppercase;
      margin-bottom:14px;
    }

    .discount-circle {
      position:absolute;
      top:18px;
      right:18px;
      width:84px;
      height:84px;
      border-radius:50%;
      display:grid;
      place-items:center;
      text-align:center;
      padding:10px;
      font-weight:800;
      font-size:.90rem;
      line-height:1.12;
      letter-spacing:.02em;
      box-shadow:0 14px 30px rgba(4,8,8,.20);
      border:1px solid rgba(255,255,255,.16);
    }
    .discount-circle span {
      display:block;
      font-size:.72rem;
      font-weight:700;
      letter-spacing:.08em;
      text-transform:uppercase;
      opacity:.86;
      margin-top:2px;
    }
    .discount-free { background:linear-gradient(145deg, rgba(49,107,88,.98), rgba(23,63,51,.96)); color:#f6f0e4; }
    .discount-standard { background:linear-gradient(145deg, rgba(120,92,50,.98), rgba(79,56,24,.96)); color:#fff2d8; }
    .discount-save20 { background:linear-gradient(145deg, rgba(214,171,93,.98), rgba(176,129,42,.96)); color:#10201d; }
    .discount-save30 { background:linear-gradient(145deg, rgba(241,202,131,.98), rgba(199,154,90,.96)); color:#10201d; }
    .package-card h4 { padding-right:94px; }

    .package-card h4 {
      margin:0 0 8px;
      font-family:var(--serif);
      font-size:1.7rem;
      line-height:1.04;
      color:#fff;
      padding-right:94px;
    }
    .package-meta {
      color:rgba(248,239,226,.76);
      font-size:.96rem;
      margin-bottom:12px;
    }
    .package-copy {
      color:rgba(248,239,226,.84);
      line-height:1.78;
      min-height:76px;
      margin-bottom:16px;
    }
    .package-pricing {
      display:grid;
      gap:4px;
      padding-top:14px;
      border-top:1px solid rgba(255,255,255,.10);
    }
    .package-pricing .value {
      font-family:var(--serif);
      font-size:2.15rem;
      color:#fff;
      line-height:.96;
    }
    .package-pricing .detail {
      color:rgba(248,239,226,.76);
      line-height:1.65;
      font-size:.95rem;
    }

    .booking-selection-bar {
      display:flex;
      justify-content:space-between;
      gap:14px;
      align-items:center;
      margin:22px 0 20px;
      padding:16px 18px;
      border-radius:20px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.10);
      flex-wrap:wrap;
    }
    .booking-price-summary {
      display:grid;
      gap:4px;
    }
    .booking-total-label {
      color:#d8be91;
      text-transform:uppercase;
      letter-spacing:.12em;
      font-size:.78rem;
    }
    .booking-total-amount {
      font-family:var(--serif);
      font-size:2rem;
      color:#fff;
      line-height:1;
    }
    .booking-total-sub {
      color:rgba(248,239,226,.76);
      line-height:1.65;
      font-size:.92rem;
    }

    .schedule-fields {
      display:grid;
      gap:12px;
      margin-top:8px;
    }
    .schedule-row {
      display:grid;
      grid-template-columns:minmax(110px, 140px) 1fr 1fr;
      gap:12px;
      align-items:end;
      padding:14px;
      border-radius:18px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.10);
    }
    .schedule-row .slot-label {
      color:#f7ddb0;
      font-weight:700;
      font-size:.92rem;
      padding-bottom:8px;
    }

    .payment-summary-card {
      display:grid;
      gap:12px;
      padding:20px 20px 18px;
      border-radius:22px;
      background:linear-gradient(145deg, rgba(17,38,34,.98), rgba(11,24,22,.94));
      border:1px solid rgba(255,255,255,.10);
      box-shadow:0 16px 36px rgba(4,8,8,.16);
      margin:18px 0 22px;
    }
    .payment-summary-grid {
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:12px;
    }
    .payment-summary-grid div {
      padding:12px 14px;
      border-radius:16px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
    }
    .payment-summary-grid strong {
      display:block;
      color:#d8be91;
      font-size:.8rem;
      text-transform:uppercase;
      letter-spacing:.10em;
      margin-bottom:6px;
    }
    .payment-summary-grid span {
      color:#fff;
      line-height:1.55;
    }

    .payment-method-grid {
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:12px;
      margin-bottom:18px;
    }
    .pay-method-card {
      text-align:left;
      padding:16px 14px;
      border-radius:18px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(255,255,255,.03);
      color:#f8efe2;
      cursor:pointer;
      transition:transform .2s ease, border-color .2s ease, background .2s ease;
    }
    .pay-method-card.active {
      background:rgba(247,221,176,.10);
      border-color:rgba(247,221,176,.28);
      transform:translateY(-1px);
    }
    .pay-method-card strong {
      display:block;
      margin-bottom:4px;
      color:#fff;
      font-size:.95rem;
    }
    .pay-method-card span {
      color:rgba(248,239,226,.72);
      line-height:1.55;
      font-size:.88rem;
    }

    .payment-panel { display:none; }
    .payment-panel.active { display:block; }
    .payment-panel-note {
      padding:18px;
      border-radius:18px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.10);
      color:rgba(248,239,226,.82);
      line-height:1.8;
    }
    .wallet-pill {
      display:inline-flex;
      align-items:center;
      gap:10px;
      margin-top:12px;
      padding:12px 16px;
      border-radius:999px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.10);
      color:#fff;
      font-weight:700;
    }

    .confirmation-card {
      margin-top:18px;
      padding:22px;
      border-radius:22px;
      background:linear-gradient(145deg, rgba(18,43,39,.98), rgba(10,27,24,.96));
      border:1px solid rgba(255,255,255,.10);
      display:grid;
      gap:10px;
    }
    .confirmation-card .line {
      color:rgba(248,239,226,.86);
      line-height:1.8;
    }
    .confirmation-card strong {
      color:#fff;
    }

    .booking-inline-note {
      margin-top:16px;
      color:rgba(248,239,226,.70);
      line-height:1.7;
      font-size:.92rem;
    }

    @media (max-width: 980px) {
      .package-grid,
      .payment-method-grid,
      .payment-summary-grid { grid-template-columns:1fr 1fr; }
      .schedule-row { grid-template-columns:1fr; }
    }
    @media (max-width: 720px) {
      .package-grid,
      .payment-method-grid,
      .payment-summary-grid { grid-template-columns:1fr; }
      .booking-modal { width:min(96vw, 100%); padding:24px 18px 20px; }
      .booking-selection-bar { padding:14px; }
    }


    .booking-review-modal {
      width:min(720px, 100%);
      position:relative;
      padding:32px;
    }
    .booking-review-card {
      display:grid;
      gap:16px;
      padding:22px;
      border-radius:22px;
      background:linear-gradient(145deg, rgba(17,38,34,.98), rgba(11,24,22,.94));
      border:1px solid rgba(255,255,255,.10);
      box-shadow:0 16px 36px rgba(4,8,8,.16);
      margin:18px 0 8px;
    }
    .booking-review-grid {
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:12px;
    }
    .booking-review-grid div {
      padding:12px 14px;
      border-radius:16px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
    }
    .booking-review-grid strong {
      display:block;
      color:#d8be91;
      font-size:.8rem;
      text-transform:uppercase;
      letter-spacing:.10em;
      margin-bottom:6px;
    }
    .booking-review-grid span {
      color:#fff;
      line-height:1.6;
    }
    .booking-review-note {
      color:rgba(248,239,226,.80);
      line-height:1.82;
    }
    @media (max-width: 720px) {
      .booking-review-grid { grid-template-columns:1fr; }
      .booking-review-modal { padding:24px 18px 20px; }
    }

    @media (max-width: 1024px) {
      .section-top, .fees-card { grid-template-columns:1fr; }
      .about-card { grid-template-columns:1fr; }
      .about-media { grid-template-rows:auto auto; }
      .booking-strip { grid-template-columns:1fr; text-align:left; }
      .talk-icons { justify-content:flex-start; }
      .service-modal { grid-template-columns:1fr; min-height:auto; }
      .service-nav { border-left:none; border-top:1px solid rgba(255,255,255,.08); }
    }
    @media (max-width: 820px) {
      .topbar { flex-direction:column; align-items:stretch; gap:12px; }
      .brand { align-self:flex-start; }
      .brand img { width:128px; max-width:42vw; }
      .topbar-shell { border-radius:26px; width:100%; margin-left:0; }
      .nav { width:100%; justify-content:space-between; flex-wrap:wrap; row-gap:10px; }
      .nav-links { gap:16px; }
      .hero-copy { padding:132px 0 108px; }
      .hero { min-height:920px; }
      .feature-card { width:260px; min-height:270px; }
      .simple-service-list { grid-template-columns:1fr; }
      .credentials { grid-template-columns:1fr; }
      .testimonial-oval { min-height:280px; border-radius:48px; }
      .form-grid { grid-template-columns:1fr; }
    }
    @media (max-width: 560px) {
      .page { padding-top:10px; }
      .container { width:min(calc(100% - 18px), var(--shell)); }
      .hero { border-radius:26px 26px 0 0; }
      .topbar { gap:10px; }
      .topbar-shell { padding:10px 12px; width:100%; }
      .brand { align-self:center; }
      .brand img { width:126px; max-width:54vw; }
      .nav { justify-content:center; gap:10px; }
      .nav-links { gap:14px; justify-content:center; width:100%; }
      .nav-icons { justify-content:center; width:100%; gap:8px; flex-wrap:wrap; }
      .nav-links > a, .nav-toggle { font-size:.92rem; }
      .hero h1 { font-size:clamp(2.6rem, 12vw, 4rem); }
      .hero p.lead { font-size:1.08rem; line-height:1.8; }
      .feature-card { width:242px; }
      .booking-modal, .feature-modal, .contact-modal { padding:24px 18px 18px; }
      .service-pane { padding:30px 20px 22px; }
      .service-nav { padding:16px; }
      .services-summary, .fees-card { padding:24px 18px; }
    }
  
    @media (max-width: 900px) {
      .hero-bg { width:min(calc(100% - 18px), var(--shell)); top:10px; height:86vh; }
      .brand img { width:122px; max-width:52vw; }
    }
    @media (max-width: 640px) {
      .hero-bg { width:min(calc(100% - 12px), var(--shell)); top:6px; height:82vh; border-radius:26px 26px 0 0; }
      .topbar-shell { padding:10px 12px; width:100%; }
      .icon-btn, .icon-btn-sm { width:50px; height:50px; }
      .icon-btn svg, .icon-btn-sm svg { width:24px; height:24px; }
      .brand img { width:118px; max-width:50vw; }
      .nav-group { position:relative; }
      .service-dropdown {
        left:50%;
        right:auto;
        transform:translateX(-50%);
        width:min(320px, calc(100vw - 28px));
        max-width:calc(100vw - 28px);
      }
    }

    @media (max-width: 430px) {
      .topbar { gap:8px; }
      .brand img { width:112px; max-width:48vw; }
      .topbar-shell { padding:10px 10px; border-radius:24px; }
      .nav-links { gap:12px; }
      .nav-links > a, .nav-toggle { font-size:.90rem; }
      .book-btn { padding:12px 18px; font-size:.95rem; }
      .service-dropdown {
        width:calc(100vw - 24px);
        max-width:calc(100vw - 24px);
        left:50%;
        transform:translateX(-50%);
      }
    }


    /* Mobile modal scrolling fix */
    .modal-overlay {
      overflow-y:auto;
      -webkit-overflow-scrolling:touch;
    }
    .modal-overlay.open {
      align-items:flex-start;
    }
    .booking-modal,
    .service-modal,
    .feature-modal,
    .contact-modal,
    .booking-review-modal {
      max-height:calc(100vh - 40px);
      overflow-y:auto;
      -webkit-overflow-scrolling:touch;
    }
    .booking-modal {
      scrollbar-width:thin;
    }
    @media (max-width: 720px) {
      .modal-overlay {
        padding:12px;
      }
      .booking-modal,
      .booking-review-modal,
      .service-modal,
      .feature-modal,
      .contact-modal {
        max-height:calc(100vh - 24px);
        width:100%;
      }
      .booking-step {
        padding-bottom:12px;
      }
      .package-grid {
        grid-template-columns:1fr;
      }
      .package-card {
        min-height:auto;
      }
      .schedule-row {
        grid-template-columns:1fr;
      }
    }


  
    .nav-link-btn {
      background:transparent;
      border:none;
      color:rgba(255,255,255,.92);
      font:inherit;
      cursor:pointer;
      padding:0;
    }
    .nav-link-btn:hover { color:var(--gold); }

    .lux-divider {
      position:relative;
      height:34px;
      display:flex;
      align-items:center;
      justify-content:center;
      margin:6px 0 2px;
    }
    .lux-divider::before,
    .lux-divider::after {
      content:"";
      position:absolute;
      top:50%;
      width:min(40%, 320px);
      height:1px;
      background:linear-gradient(90deg, rgba(201,150,87,0), rgba(201,150,87,.55), rgba(201,150,87,0));
      transform:translateY(-50%);
    }
    .lux-divider::before { left:0; }
    .lux-divider::after { right:0; }
    .lux-divider-mark {
      width:12px;
      height:12px;
      border-radius:3px;
      transform:rotate(45deg);
      background:linear-gradient(135deg, #f0d3a0, #b98546);
      box-shadow:0 0 0 8px rgba(255,255,255,.65), 0 8px 24px rgba(185,133,70,.18);
      position:relative;
      z-index:2;
    }

    .about-card { position:relative; overflow:visible; }
    .about-photo { min-height:100%; background:#10201d; border-radius:30px; overflow:hidden; }
    .about-photo img { width:100%; height:100%; object-fit:cover; object-position:center center; }
    .about-cert {
      background:rgba(255,255,255,.96);
      border:1px solid rgba(163,110,49,.20);
      box-shadow:0 18px 40px rgba(16,32,29,.12);
    }
    .about-cert-floating {
      position:absolute;
      top:-18px;
      right:-8px;
      width:116px;
      height:116px;
      border-radius:999px;
      overflow:hidden;
      padding:9px;
      display:grid;
      place-items:center;
      z-index:4;
    }
    .about-cert-floating img {
      width:100%;
      height:100%;
      object-fit:contain;
      border-radius:999px;
      background:#fff;
    }
    .about-copy { position:relative; }

    .service-modal {
      width:min(980px, 100%);
      min-height:min(70vh, 720px);
      position:relative;
      padding:0;
      overflow:hidden;
      display:grid;
      grid-template-columns: minmax(260px, .86fr) minmax(0, 1.14fr);
    }
    .service-nav {
      background:rgba(255,255,255,.03);
      border-left:1px solid rgba(255,255,255,.08);
      padding:18px;
      overflow:auto;
    }
    .service-option {
      width:100%;
      text-align:left;
      border:none;
      cursor:pointer;
      background:transparent;
      color:#f3ecdf;
      padding:10px 12px;
      border-radius:12px;
      margin-bottom:6px;
      line-height:1.22;
      font-size:.94rem;
      transition:background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
    }
    .service-option.active {
      background:rgba(247,221,176,.16);
      color:#fff;
      box-shadow:inset 0 0 0 1px rgba(247,221,176,.22);
    }
    .service-option:hover {
      background:rgba(247,221,176,.11);
      transform:translateX(2px);
    }

    .simple-service-item {
      position:relative;
      display:flex;
      align-items:center;
      gap:10px;
      padding:6px 0;
      min-height:unset;
    }

    @keyframes serviceHintGlow {
      0%, 7%, 100% {
        background:transparent;
        color:inherit;
        box-shadow:none;
      }
      2.5%, 4.5% {
        background:rgba(247,221,176,.15);
        color:#0f2621;
        box-shadow:0 10px 20px rgba(201,150,87,.12), inset 0 0 0 1px rgba(201,150,87,.20);
      }
    }
    #serviceModalNav .service-option,
    .simple-service-list .simple-service-item {
      animation:serviceHintGlow 22s ease-in-out infinite;
      border-radius:12px;
    }
    #serviceModalNav .service-option:nth-child(1),
    .simple-service-list .simple-service-item:nth-child(1) { animation-delay:0s; }
    #serviceModalNav .service-option:nth-child(2),
    .simple-service-list .simple-service-item:nth-child(2) { animation-delay:2s; }
    #serviceModalNav .service-option:nth-child(3),
    .simple-service-list .simple-service-item:nth-child(3) { animation-delay:4s; }
    #serviceModalNav .service-option:nth-child(4),
    .simple-service-list .simple-service-item:nth-child(4) { animation-delay:6s; }
    #serviceModalNav .service-option:nth-child(5),
    .simple-service-list .simple-service-item:nth-child(5) { animation-delay:8s; }
    #serviceModalNav .service-option:nth-child(6),
    .simple-service-list .simple-service-item:nth-child(6) { animation-delay:10s; }
    #serviceModalNav .service-option:nth-child(7),
    .simple-service-list .simple-service-item:nth-child(7) { animation-delay:12s; }
    #serviceModalNav .service-option:nth-child(8),
    .simple-service-list .simple-service-item:nth-child(8) { animation-delay:14s; }
    #serviceModalNav .service-option:nth-child(9),
    .simple-service-list .simple-service-item:nth-child(9) { animation-delay:16s; }
    #serviceModalNav .service-option:nth-child(10),
    .simple-service-list .simple-service-item:nth-child(10) { animation-delay:18s; }
    #serviceModalNav .service-option:nth-child(11),
    .simple-service-list .simple-service-item:nth-child(11) { animation-delay:20s; }

    @media (max-width: 720px) {
      .service-modal {
        grid-template-columns: 40% 60%;
        min-height:auto;
      }
      .service-nav {
        padding:10px;
      }
      .service-copy {
        padding:16px 14px;
      }
      .service-copy h3 {
        font-size:1.2rem;
      }
      .service-copy p {
        font-size:.92rem;
        line-height:1.48;
      }
      .service-option {
        padding:8px 9px;
        margin-bottom:5px;
        border-radius:10px;
        font-size:.83rem;
        line-height:1.16;
      }
      .about-cert-floating {
        width:92px;
        height:92px;
        top:-12px;
        right:-2px;
        padding:7px;
      }
    }


  
    /* Final executive refinements */
    :root {
      --section-gap-y: 108px;
      --section-break-gap: 56px;
    }
    .section { padding:var(--section-gap-y) 0 !important; }
    .section-break-space { margin-top:var(--section-break-gap) !important; margin-bottom:var(--section-break-gap) !important; }
    .booking-strip-wrap { margin-top:0 !important; }

    /* Premium divider with kite */
    .lux-divider {
      position:relative !important;
      height:40px !important;
      margin:34px 0 !important;
      display:flex !important;
      align-items:center !important;
      justify-content:center !important;
    }
    .lux-divider::before,
    .lux-divider::after {
      content:"" !important;
      position:absolute !important;
      top:50% !important;
      width:calc(50% - 34px) !important;
      height:2px !important;
      background:linear-gradient(90deg, rgba(255,255,255,0), rgba(212,184,137,.55), rgba(255,255,255,.95)) !important;
      transform:translateY(-50%) !important;
      box-shadow:0 0 12px rgba(212,184,137,.14) !important;
    }
    .lux-divider::before { left:0 !important; }
    .lux-divider::after { right:0 !important; transform:translateY(-50%) scaleX(-1) !important; }
    .lux-divider-mark {
      position:absolute !important;
      left:50% !important;
      top:50% !important;
      width:24px !important;
      height:24px !important;
      transform:translate(-50%,-50%) rotate(45deg) !important;
      border-radius:3px !important;
      background:linear-gradient(135deg,#fff,#ead1a4) !important;
      border:1px solid rgba(198,158,98,.92) !important;
      box-shadow:0 0 0 4px rgba(255,255,255,.08),0 0 22px rgba(212,184,137,.22),inset 0 1px 0 rgba(255,255,255,.8) !important;
    }
    .lux-divider-mark::before {
      content:"";
      position:absolute;
      inset:5px;
      border-radius:2px;
      border:1px solid rgba(122,92,42,.42);
      background:linear-gradient(135deg,rgba(255,255,255,.52),rgba(235,212,170,.2));
    }

    /* Menu underline */
    .nav-links > a::after, .nav-toggle::after {
      height:3px !important;
      bottom:-8px !important;
      background:linear-gradient(90deg,#d5a85b,#f1c67b) !important;
      opacity:.12 !important;
      width:0 !important;
      box-shadow:0 0 12px rgba(223,171,88,.22) !important;
      transition:width .32s ease,opacity .32s ease,box-shadow .32s ease !important;
    }
    .nav-links > a.active::after { width:0 !important; }
    .nav-links > a.nav-spotlight, .nav-toggle.nav-spotlight { color:#f4d8a9 !important; }
    .nav-links > a.nav-spotlight::after, .nav-toggle.nav-spotlight::after {
      width:30px !important;
      opacity:1 !important;
      box-shadow:0 0 16px rgba(233,180,93,.40),0 0 24px rgba(233,180,93,.22) !important;
    }

    /* Stronger sequential contact glow */
    @keyframes contactGlowStrong {
      0%,24%,100% {
        transform:translateY(0) scale(1);
        border-color:rgba(247,241,230,.16);
        box-shadow:0 10px 24px rgba(3,6,6,.10),inset 0 1px 0 rgba(255,255,255,.04);
      }
      8%,16% {
        transform:translateY(-2px) scale(1.06);
        border-color:rgba(247,221,176,.78);
        box-shadow:0 0 0 1px rgba(255,255,255,.12),0 0 22px rgba(241,192,118,.48),0 0 38px rgba(241,192,118,.28),0 16px 32px rgba(3,6,6,.22);
      }
    }
    .nav-icons .icon-btn:nth-child(1), .talk-icons .icon-btn-sm:nth-child(1) { animation:contactGlowStrong 18s ease-in-out infinite !important; }
    .nav-icons .icon-btn:nth-child(2), .talk-icons .icon-btn-sm:nth-child(2) { animation:contactGlowStrong 18s ease-in-out infinite 6s !important; }
    .nav-icons .icon-btn:nth-child(3), .talk-icons .icon-btn-sm:nth-child(3) { animation:contactGlowStrong 18s ease-in-out infinite 12s !important; }

    /* Testimonial deck */
    .testimonial-badge {
      color:#fff !important;
      text-shadow:0 2px 16px rgba(0,0,0,.42),0 1px 2px rgba(0,0,0,.32);
      font-weight:700;
    }
    .testimonial-oval {
      position:relative !important;
      max-width:820px !important;
      margin:0 auto !important;
      min-height:324px !important;
      background:transparent !important;
      border:none !important;
      box-shadow:none !important;
      overflow:visible !important;
    }
    .testimonial-slide {
      position:absolute !important;
      left:0 !important; right:0 !important; margin:auto !important;
      width:min(100%,720px) !important; min-height:224px !important;
      display:grid !important; place-items:center !important;
      padding:34px 40px !important; border-radius:34px !important;
      border:1px solid rgba(255,255,255,.10) !important;
      opacity:0; pointer-events:none;
      transition:opacity .78s ease,transform .78s ease,background .78s ease !important;
    }
    .testimonial-slide.current { opacity:1 !important; transform:translateY(0) scale(1) !important; z-index:4; background:linear-gradient(180deg,#101f1c,#172c28) !important; }
    .testimonial-slide.stack-1 { opacity:.86 !important; transform:translateY(18px) scale(.984) !important; z-index:3; background:linear-gradient(180deg,#152723,#1f3833) !important; }
    .testimonial-slide.stack-2 { opacity:.58 !important; transform:translateY(36px) scale(.968) !important; z-index:2; background:linear-gradient(180deg,#1a2e29,#25423c) !important; }
    .testimonial-slide.stack-3 { opacity:.34 !important; transform:translateY(54px) scale(.952) !important; z-index:1; background:linear-gradient(180deg,#203630,#2d4943) !important; }
    .testimonial-slide.hidden { opacity:0 !important; transform:translateY(70px) scale(.94) !important; z-index:0; }

    /* About portrait + static badge */
    .about-card { position:relative; overflow:visible; grid-template-columns:minmax(430px,.95fr) 1fr !important; align-items:stretch; }
    .about-media { position:relative; display:block !important; min-height:620px; height:100%; background:#10201d; }
    .about-photo { min-height:100%; height:100%; border-radius:30px 0 0 30px; overflow:hidden; }
    .about-photo img { width:100%; height:100%; object-fit:cover; object-position:center 34%; }
    .about-copy { min-height:620px; display:flex; flex-direction:column; justify-content:center; }
    .about-cert-floating {
      position:absolute !important; top:16px !important; left:16px !important; right:auto !important;
      width:94px !important; height:94px !important; padding:6px !important; border-radius:999px !important;
      display:grid !important; place-items:center !important; z-index:6;
      background:rgba(255,255,255,.98) !important; border:1px solid rgba(163,110,49,.22) !important;
      box-shadow:0 0 0 5px rgba(255,255,255,.72),0 10px 26px rgba(185,133,70,.17),0 0 18px rgba(231,208,164,.22) !important;
      pointer-events:none !important;
    }
    .about-cert-floating img { width:100%; height:100%; object-fit:contain; border-radius:999px; }

    /* Our Approach slideshow */
    .approach-modal { width:min(980px,100%); position:relative; padding:0; overflow:hidden; background:linear-gradient(180deg,rgba(8,15,14,.92),rgba(12,29,25,.90)); backdrop-filter:blur(18px); }
    .approach-slideshow-shell { display:grid; min-height:min(78vh,760px); }
    .approach-top-stage { padding:42px 40px 28px; border-bottom:1px solid rgba(255,255,255,.09); }
    .approach-top-stage h3 { margin:0 0 12px; font-family:var(--serif); font-size:clamp(2rem,3.2vw,3rem); line-height:1.05; color:#fff; }
    .approach-top-stage p { margin:0; max-width:740px; color:rgba(248,239,226,.82); line-height:1.82; }
    .approach-slide-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:28px; }
    .approach-slide-tab {
      border-radius:18px; padding:16px 18px; text-align:left; font-weight:700; cursor:pointer;
      color:#f9f1e4; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.10);
    }
    .approach-slide-tab.active { background:rgba(247,221,176,.15); border-color:rgba(247,221,176,.34); }
    .approach-slide-ruler { display:flex; justify-content:center; gap:10px; margin-top:22px; }
    .approach-ruler-dot { width:54px; height:6px; border:0; border-radius:999px; background:rgba(255,255,255,.16); cursor:pointer; }
    .approach-ruler-dot.active { background:linear-gradient(90deg,#fff,#f7ddb0); box-shadow:0 0 16px rgba(247,221,176,.18); }
    .approach-bottom-screen { min-height:340px; padding:34px 40px 40px; display:grid; grid-template-rows:auto auto 1fr; gap:12px; }
    .approach-bottom-eyebrow { color:#d6ba8e; text-transform:uppercase; letter-spacing:.22em; font-size:.74rem; }
    .approach-bottom-screen h4 { margin:0; font-family:var(--serif); font-size:clamp(1.9rem,3vw,2.5rem); color:#fff; }
    .approach-slide-screen { min-height:220px; border-radius:26px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.10); padding:28px; }
    .approach-slide-screen p { margin:0; color:rgba(248,239,226,.90); line-height:1.96; font-size:1.02rem; }

    /* Package CTA */
    .package-card { display:block; width:100%; }
    .package-cta {
      margin-top:18px; width:100%; display:inline-flex; justify-content:center; align-items:center;
      padding:13px 18px; border-radius:999px; border:1px solid rgba(247,221,176,.26);
      background:linear-gradient(135deg,rgba(220,177,95,.96),rgba(190,145,67,.96));
      color:#10201d; font-weight:800; cursor:pointer;
      box-shadow:0 12px 26px rgba(6,10,10,.18);
    }

    /* Select contrast */
    .field select {
      background:linear-gradient(135deg,rgba(20,46,41,.98),rgba(11,28,25,.98)) !important;
      color:#f8efe2 !important;
      border-color:rgba(217,194,159,.24) !important;
    }
    .field select option { background:#14302b !important; color:#f8efe2 !important; }
    .field select option[disabled] { color:rgba(248,239,226,.72) !important; }

    @media(max-width:920px) {
      :root { --section-gap-y:92px; --section-break-gap:44px; }
      .approach-slide-tabs { grid-template-columns:1fr; }
      .about-card { grid-template-columns:1fr !important; }
      .about-media { min-height:540px; }
      .about-copy { min-height:auto; }
      .about-photo { border-radius:30px 30px 0 0; }
    }
    @media(max-width:640px) {
      :root { --section-gap-y:78px; --section-break-gap:34px; }
      .testimonial-oval { min-height:346px !important; }
      .testimonial-slide { width:min(100%,96%) !important; padding:24px 20px !important; }
      .about-media { min-height:440px; }
      .about-cert-floating { width:74px !important; height:74px !important; top:12px !important; left:12px !important; }
      .approach-top-stage,.approach-bottom-screen { padding-left:18px; padding-right:18px; }
      .approach-ruler-dot { width:34px; }
    }

  
    /* =========================================================
       RESPONSIVE EXECUTIVE LAYOUT — WEB / IPAD / MOBILE
       ========================================================= */

    :root {
      --page-green-1:#e8f1eb;
      --page-green-2:#dfece5;
      --page-green-3:#edf4ef;
      --page-green-4:#e3eee8;
      --page-ink:#18312b;
      --page-muted:#506861;
      --panel-gap:clamp(72px, 8vw, 118px);
    }

    html {
      scroll-behavior:smooth;
      scroll-snap-type:y proximity;
      background:#e7f0ea;
    }

    body {
      background:#e7f0ea;
      color:var(--page-ink);
    }

    .content-shell.light-section {
      background:#e7f0ea !important;
      position:relative;
      overflow:clip;
    }

    .page-panel {
      position:relative;
      min-height:100svh;
      display:flex;
      align-items:center;
      scroll-snap-align:start;
      scroll-snap-stop:normal;
      padding:var(--panel-gap) 0 !important;
      isolation:isolate;
      border-top:1px solid rgba(24,49,43,.08);
      border-bottom:1px solid rgba(255,255,255,.58);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.62),
        inset 0 -1px 0 rgba(24,49,43,.05);
    }

    .page-panel::before {
      content:"";
      position:absolute;
      inset:0;
      z-index:-1;
      pointer-events:none;
      background:
        radial-gradient(circle at 12% 20%, rgba(255,255,255,.52), transparent 32%),
        radial-gradient(circle at 88% 84%, rgba(126,163,146,.10), transparent 34%);
    }

    .page-panel-focus { background:var(--page-green-1); }
    .page-panel-booking { background:var(--page-green-2); }
    .page-panel-testimonials { background:var(--page-green-3); }
    .page-panel-about { background:var(--page-green-4); }

    .page-panel > .container {
      width:100%;
    }

    .panel-divider {
      position:relative;
      z-index:6;
      margin-top:-22px;
      margin-bottom:-22px;
      pointer-events:none;
    }

    .panel-divider .lux-divider {
      margin:0 !important;
      height:44px !important;
    }

    /* More apparent, premium page division */
    .panel-divider .lux-divider::before,
    .panel-divider .lux-divider::after {
      height:3px !important;
      opacity:.95;
      background:linear-gradient(
        90deg,
        rgba(36,75,65,0),
        rgba(93,126,113,.45),
        rgba(255,255,255,.94)
      ) !important;
      box-shadow:
        0 1px 0 rgba(255,255,255,.78),
        0 0 18px rgba(55,91,79,.12) !important;
    }

    .panel-divider .lux-divider-mark {
      width:26px !important;
      height:26px !important;
      background:linear-gradient(135deg,#ffffff,#e6c992) !important;
      border-color:rgba(152,111,48,.74) !important;
      box-shadow:
        0 0 0 6px rgba(255,255,255,.48),
        0 8px 24px rgba(55,91,79,.14),
        inset 0 1px 0 rgba(255,255,255,.94) !important;
    }

    /* Section content reveal reinforces "one page at a time". */
    .js .page-panel > .container {
      opacity:.18;
      transform:translateY(26px) scale(.992);
      transition:opacity .7s ease, transform .7s ease;
    }
    .js .page-panel.section-active > .container {
      opacity:1;
      transform:translateY(0) scale(1);
    }

    /* Main cards get clearer boundaries on lighter green */
    .section-top,
    .services-summary,
    .booking-strip,
    .about-card,
    .testimonial-slide {
      box-shadow:0 24px 58px rgba(36,68,59,.13) !important;
    }

    .section-title {
      color:#17342d !important;
    }
    .section-intro p {
      color:#4e665f !important;
    }

    /* ---------------------------------------------------------
       POPUPS — readable type on every viewport
       --------------------------------------------------------- */
    .modal-overlay {
      padding:clamp(14px, 2.4vw, 28px) !important;
    }

    .modal {
      max-height:92svh !important;
      overflow-y:auto !important;
      scrollbar-width:thin;
      color:#fbf5ea !important;
    }

    .modal .eyebrow,
    .booking-step .eyebrow {
      font-size:clamp(.88rem, 1.2vw, 1rem) !important;
      line-height:1.45 !important;
      letter-spacing:.15em !important;
    }

    .modal h3,
    .booking-modal h3,
    .feature-modal h3,
    .service-pane h3,
    .booking-review-modal h3 {
      font-size:clamp(1.85rem, 3vw, 2.65rem) !important;
      line-height:1.12 !important;
    }

    .modal h4,
    .package-card h4,
    .approach-bottom-screen h4 {
      font-size:clamp(1.42rem, 2.2vw, 2rem) !important;
      line-height:1.18 !important;
    }

    .modal p,
    .feature-modal p,
    .service-pane p,
    .contact-modal p,
    .booking-modal p,
    .booking-review-note,
    .approach-slide-screen p,
    .package-copy,
    .package-meta,
    .package-pricing .detail,
    .booking-inline-note {
      font-size:clamp(1rem, 1.35vw, 1.12rem) !important;
      line-height:1.78 !important;
    }

    .field label {
      font-size:1rem !important;
      line-height:1.4 !important;
    }

    .field input,
    .field select,
    .field textarea {
      font-size:1rem !important;
      min-height:50px;
      line-height:1.4 !important;
    }

    .service-option,
    .approach-slide-tab {
      font-size:clamp(.98rem, 1.25vw, 1.08rem) !important;
      line-height:1.42 !important;
      min-height:48px;
    }

    .primary-btn,
    .ghost-btn,
    .book-btn,
    .package-cta,
    .fees-more-btn {
      font-size:1rem !important;
      min-height:48px;
    }

    .modal-close {
      width:46px !important;
      height:46px !important;
      font-size:1.1rem !important;
      z-index:20;
    }

    /* BACP: only the left badge, smaller and clean */
    .about-copy > .about-cert {
      display:none !important;
    }

    .about-media > .about-cert-floating {
      width:82px !important;
      height:82px !important;
      top:16px !important;
      left:16px !important;
      right:auto !important;
      padding:5px !important;
    }

    /* ============================
       WEB — 1181px and wider
       ============================ */
    @media (min-width:1181px) {
      .container {
        width:min(1180px, calc(100% - 64px));
      }

      .section-top {
        grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr) !important;
        gap:52px !important;
        padding:38px !important;
      }

      .booking-strip {
        padding:34px 36px !important;
        grid-template-columns:1.25fr 1.5fr auto !important;
      }

      .testimonial-oval {
        max-width:860px !important;
        min-height:350px !important;
      }

      .about-card {
        grid-template-columns:minmax(460px,.9fr) minmax(0,1.1fr) !important;
      }

      .about-media,
      .about-copy {
        min-height:650px !important;
      }

      .service-modal {
        width:min(1040px, 94vw) !important;
        grid-template-columns:1.15fr .85fr !important;
      }

      .approach-modal {
        width:min(1000px, 94vw) !important;
      }
    }

    /* ============================
       IPAD / TABLET — 768–1180px
       ============================ */
    @media (min-width:768px) and (max-width:1180px) {
      :root { --panel-gap:88px; }

      html { scroll-snap-type:y proximity; }

      .container {
        width:min(100% - 44px, 980px);
      }

      .topbar {
        gap:18px !important;
      }

      .brand img {
        width:160px !important;
        max-width:24vw !important;
      }

      .nav-links {
        gap:16px !important;
      }

      .nav-links > a,
      .nav-toggle {
        font-size:.95rem !important;
      }

      .nav-icons {
        gap:7px !important;
      }

      .nav-icons .icon-btn {
        width:50px !important;
        height:50px !important;
      }

      .section-top {
        grid-template-columns:1fr !important;
        gap:28px !important;
        padding:32px !important;
      }

      .services-summary {
        padding:28px !important;
      }

      .booking-strip {
        grid-template-columns:1fr auto !important;
        gap:22px !important;
        padding:30px !important;
      }

      .booking-strip > div:first-child {
        grid-column:1 / -1;
      }

      .testimonial-oval {
        width:min(92vw, 780px) !important;
        min-height:350px !important;
      }

      .about-card {
        grid-template-columns:minmax(330px,.88fr) minmax(0,1.12fr) !important;
      }

      .about-media,
      .about-copy {
        min-height:600px !important;
      }

      .about-copy {
        padding:34px 30px !important;
      }

      .service-modal {
        width:min(92vw, 900px) !important;
        min-height:auto !important;
        grid-template-columns:1fr !important;
      }

      .service-nav {
        border-left:0 !important;
        border-top:1px solid rgba(255,255,255,.08) !important;
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:8px !important;
        max-height:38svh;
      }

      .approach-slide-tabs {
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
      }

      .package-grid,
      .payment-method-grid,
      .payment-summary-grid {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
      }
    }

    /* ============================
       MOBILE — 767px and narrower
       ============================ */
    @media (max-width:767px) {
      :root { --panel-gap:72px; }

      html {
        scroll-snap-type:none;
      }

      .container {
        width:calc(100% - 28px) !important;
      }

      .page-panel {
        min-height:auto;
        padding:72px 0 !important;
      }

      .panel-divider {
        margin-top:-18px;
        margin-bottom:-18px;
      }

      .topbar {
        gap:14px !important;
      }

      .brand {
        width:100%;
        display:flex;
        justify-content:center;
      }

      .brand img {
        width:148px !important;
        max-width:48vw !important;
      }

      .topbar-shell,
      .nav {
        width:100%;
      }

      .nav {
        justify-content:center !important;
        gap:12px !important;
      }

      .nav-links {
        width:100%;
        justify-content:center !important;
        gap:16px !important;
      }

      .nav-links > a,
      .nav-toggle {
        font-size:.94rem !important;
      }

      .nav-icons {
        width:100%;
        justify-content:center !important;
        gap:8px !important;
      }

      .nav-icons .icon-btn {
        width:48px !important;
        height:48px !important;
      }

      .book-btn {
        padding:12px 17px !important;
      }

      .hero-copy {
        padding-top:30px !important;
      }

      .hero h1 {
        font-size:clamp(2.55rem, 12vw, 4rem) !important;
        line-height:.98 !important;
      }

      .hero p.lead {
        font-size:1.08rem !important;
        line-height:1.72 !important;
      }

      .hero-actions {
        gap:10px !important;
      }

      .hero-actions .primary-btn,
      .hero-actions .ghost-btn {
        width:100%;
      }

      .section-top {
        grid-template-columns:1fr !important;
        gap:24px !important;
        padding:24px 18px !important;
        border-radius:24px !important;
      }

      .section-title {
        font-size:clamp(2.15rem, 10vw, 3rem) !important;
      }

      .section-intro p {
        font-size:1rem !important;
        line-height:1.75 !important;
      }

      .services-summary {
        padding:22px 16px !important;
        border-radius:22px !important;
      }

      .simple-service-item {
        font-size:.98rem !important;
        line-height:1.35 !important;
      }

      .booking-strip {
        grid-template-columns:1fr !important;
        padding:24px 18px !important;
        gap:20px !important;
        border-radius:24px !important;
      }

      .talk-icons {
        justify-content:flex-start !important;
      }

      .testimonial-oval {
        min-height:390px !important;
        width:100% !important;
        padding:0 0 46px !important;
      }

      .testimonial-slide {
        width:96% !important;
        min-height:280px !important;
        padding:28px 22px !important;
        border-radius:26px !important;
      }

      .testimonial-quote {
        font-size:1rem !important;
        line-height:1.72 !important;
      }

      .about-card {
        grid-template-columns:1fr !important;
        border-radius:26px !important;
      }

      .about-media {
        min-height:470px !important;
      }

      .about-photo {
        border-radius:26px 26px 0 0 !important;
      }

      .about-copy {
        min-height:auto !important;
        padding:28px 22px 30px !important;
      }

      .about-copy h2 {
        font-size:clamp(2.15rem, 9vw, 3rem) !important;
      }

      .about-copy p {
        font-size:1rem !important;
        line-height:1.75 !important;
      }

      .modal-overlay.open {
        align-items:flex-start !important;
      }

      .modal {
        width:100% !important;
        max-width:100% !important;
        border-radius:22px !important;
        max-height:calc(100svh - 24px) !important;
      }

      .feature-modal,
      .contact-modal,
      .booking-review-modal,
      .booking-modal {
        padding:26px 18px 22px !important;
      }

      .service-modal {
        display:grid !important;
        grid-template-columns:1fr !important;
        min-height:auto !important;
      }

      .service-pane {
        padding:30px 20px 22px !important;
      }

      .service-nav {
        border-left:0 !important;
        border-top:1px solid rgba(255,255,255,.08) !important;
        padding:16px !important;
        max-height:42svh;
      }

      .service-option {
        padding:12px 13px !important;
        margin-bottom:7px !important;
        border-radius:12px !important;
      }

      .approach-top-stage,
      .approach-bottom-screen {
        padding-left:20px !important;
        padding-right:20px !important;
      }

      .approach-slide-tabs {
        grid-template-columns:1fr !important;
      }

      .approach-slide-screen {
        min-height:190px !important;
        padding:22px 18px !important;
      }

      .approach-ruler-dot {
        width:34px !important;
      }

      .package-grid,
      .payment-method-grid,
      .payment-summary-grid,
      .form-grid {
        grid-template-columns:1fr !important;
      }

      .full {
        grid-column:1 !important;
      }

      .discount-circle {
        width:74px !important;
        height:74px !important;
      }

      .package-card h4 {
        padding-right:82px !important;
      }

      .package-copy {
        min-height:0 !important;
      }

      .booking-selection-bar {
        align-items:flex-start !important;
      }

      .form-actions {
        align-items:stretch !important;
      }

      .form-actions .primary-btn,
      .form-actions .ghost-btn {
        width:100%;
      }
    }

  
    /* =========================================================
       FINAL CONSISTENCY PASS — DESKTOP / IPAD / MOBILE
       ========================================================= */
    :root {
      --consistent-web-width:1180px;
      --consistent-tablet-width:980px;
      --panel-green-a:rgba(226,239,231,.80);
      --panel-green-b:rgba(218,234,225,.80);
      --panel-green-c:rgba(232,242,236,.82);
      --panel-green-d:rgba(222,237,229,.82);
    }

    body {
      background:
        linear-gradient(180deg, rgba(215,232,222,.56), rgba(224,238,230,.66)),
        url('hero-river-jetty.png') center center / cover fixed no-repeat !important;
    }

    .content-shell.light-section {
      background:transparent !important;
      overflow:visible !important;
    }

    .page-panel {
      min-height:100svh !important;
      padding:72px 0 !important;
      backdrop-filter:blur(2px);
      -webkit-backdrop-filter:blur(2px);
    }

    .page-panel-focus {
      background:linear-gradient(180deg, var(--panel-green-a), rgba(226,239,231,.72)) !important;
      padding-bottom:42px !important;
    }
    .page-panel-booking {
      background:linear-gradient(180deg, var(--panel-green-b), rgba(218,234,225,.72)) !important;
      align-items:flex-start !important;
      padding-top:28px !important;
      padding-bottom:72px !important;
    }
    .page-panel-testimonials {
      background:linear-gradient(180deg, var(--panel-green-c), rgba(232,242,236,.74)) !important;
    }
    .page-panel-about {
      background:linear-gradient(180deg, var(--panel-green-d), rgba(222,237,229,.74)) !important;
    }

    /* Every desktop page uses the same content width as the hero/top page. */
    .page-panel > .container,
    .panel-divider {
      width:min(var(--consistent-web-width), calc(100% - 64px)) !important;
      max-width:var(--consistent-web-width) !important;
      margin-left:auto !important;
      margin-right:auto !important;
    }

    .page-panel > .container {
      flex:0 0 auto;
    }

    .panel-divider {
      z-index:7 !important;
      height:32px !important;
      margin-top:-10px !important;
      margin-bottom:-10px !important;
    }
    .panel-divider .lux-divider {
      height:32px !important;
      margin:0 !important;
    }
    .panel-divider .lux-divider-mark {
      width:22px !important;
      height:22px !important;
    }

    /* Keep the ready-to-take-the-next-step content near the prior page. */
    .page-panel-booking .booking-strip-wrap {
      margin-top:0 !important;
    }
    .page-panel-booking .booking-strip {
      width:100% !important;
      margin-top:0 !important;
    }

    /* Clear moving menu indicator — one item at a time. */
    .nav-links {
      position:relative !important;
    }
    .nav-links > a::after,
    .nav-toggle::after {
      display:none !important;
    }
    .nav-tracker {
      position:absolute;
      left:0;
      bottom:-9px;
      width:28px;
      height:3px;
      border-radius:999px;
      pointer-events:none;
      opacity:1;
      background:linear-gradient(90deg,#d89b39,#f2c773);
      box-shadow:0 0 12px rgba(229,166,64,.50), 0 0 22px rgba(229,166,64,.24);
      transform:translateX(0);
      transition:transform .55s cubic-bezier(.22,.8,.22,1), width .55s cubic-bezier(.22,.8,.22,1);
      z-index:8;
    }

    /* Stronger, unmistakable sequential contact glow. */
    @keyframes contactGlowGreen {
      0%,24%,100% { transform:translateY(0) scale(1); box-shadow:0 10px 24px rgba(3,6,6,.11); }
      8%,16% { transform:translateY(-3px) scale(1.10); border-color:rgba(37,211,102,.86); box-shadow:0 0 0 2px rgba(37,211,102,.20),0 0 22px rgba(37,211,102,.58),0 0 42px rgba(37,211,102,.30),0 18px 34px rgba(3,6,6,.24); }
    }
    @keyframes contactGlowGold {
      0%,24%,100% { transform:translateY(0) scale(1); box-shadow:0 10px 24px rgba(3,6,6,.11); }
      8%,16% { transform:translateY(-3px) scale(1.10); border-color:rgba(242,199,123,.90); box-shadow:0 0 0 2px rgba(242,199,123,.18),0 0 22px rgba(242,199,123,.58),0 0 42px rgba(242,199,123,.30),0 18px 34px rgba(3,6,6,.24); }
    }
    @keyframes contactGlowTeal {
      0%,24%,100% { transform:translateY(0) scale(1); box-shadow:0 10px 24px rgba(3,6,6,.11); }
      8%,16% { transform:translateY(-3px) scale(1.10); border-color:rgba(116,218,198,.88); box-shadow:0 0 0 2px rgba(116,218,198,.18),0 0 22px rgba(116,218,198,.56),0 0 42px rgba(116,218,198,.28),0 18px 34px rgba(3,6,6,.24); }
    }

      animation:contactGlowGreen 18s ease-in-out infinite !important;
    }
    .nav-icons [data-contact='call'],
    .talk-icons [data-contact='call'] {
      animation:contactGlowGold 18s ease-in-out infinite 6s !important;
    }
    .nav-icons [data-contact='email'],
    .talk-icons [data-contact='email'] {
      animation:contactGlowTeal 18s ease-in-out infinite 12s !important;
    }

    /* DESKTOP / WEB */
    @media (min-width:1181px) {
      .hero.container,
      .hero-inner.container,
      .page-panel > .container,
      .panel-divider {
        width:min(var(--consistent-web-width), calc(100% - 64px)) !important;
        max-width:var(--consistent-web-width) !important;
      }

      .section-top,
      .booking-strip-wrap,
      .testimonial-wrap,
      .page-panel-about > .container {
        width:100% !important;
      }

      .page-panel-focus,
      .page-panel-testimonials,
      .page-panel-about {
        align-items:center !important;
      }
    }

    /* IPAD / TABLET */
    @media (min-width:768px) and (max-width:1180px) {
      body {
        background-attachment:fixed !important;
      }
      .page-panel {
        min-height:88svh !important;
        padding:64px 0 !important;
      }
      .page-panel-focus { padding-bottom:36px !important; }
      .page-panel-booking { min-height:86svh !important; padding-top:24px !important; }
      .page-panel > .container,
      .panel-divider,
      .hero.container,
      .hero-inner.container {
        width:min(var(--consistent-tablet-width), calc(100% - 44px)) !important;
        max-width:var(--consistent-tablet-width) !important;
      }
      .panel-divider {
        margin-top:-8px !important;
        margin-bottom:-8px !important;
      }
    }

    /* MOBILE */
    @media (max-width:767px) {
      body {
        background-attachment:scroll !important;
        background-position:center top !important;
      }
      .page-panel {
        min-height:auto !important;
        padding:62px 0 !important;
      }
      .page-panel-focus { padding-bottom:28px !important; }
      .page-panel-booking { padding-top:20px !important; padding-bottom:62px !important; }
      .page-panel > .container,
      .panel-divider,
      .hero.container,
      .hero-inner.container {
        width:calc(100% - 28px) !important;
        max-width:none !important;
      }
      .panel-divider {
        height:26px !important;
        margin-top:-7px !important;
        margin-bottom:-7px !important;
      }
      .panel-divider .lux-divider { height:26px !important; }
      .panel-divider .lux-divider-mark { width:18px !important; height:18px !important; }
      .nav-tracker { bottom:-7px; height:3px; }
    }

  
    /* Readability safeguard while panels transition between active states. */
    .js .page-panel > .container {
      opacity:.76 !important;
      transform:translateY(16px) scale(.997) !important;
      transition:opacity .62s ease, transform .62s ease !important;
    }
    .js .page-panel.section-active > .container {
      opacity:1 !important;
      transform:translateY(0) scale(1) !important;
    }

  
    /* Natural continuous glide; section styling remains distinct without snap-jumps. */
    html { scroll-snap-type:none !important; }
    .page-panel { scroll-snap-align:none !important; scroll-snap-stop:normal !important; }

  
/* Current release refinements — 7 September 2026 */
/* Shared finishing layer. Original palette, imagery, serif type and rounded forms are retained. */
[hidden] { display:none !important; }
:focus-visible { outline:3px solid #dcb16d !important; outline-offset:5px; }
button, a, input, textarea, select { -webkit-tap-highlight-color:transparent; }
button:disabled { cursor:wait; opacity:.65; transform:none !important; }
.skip-link { position:fixed; left:16px; top:-100px; z-index:200; background:#fff6e6; color:#15362c; padding:14px 20px; border-radius:12px; }
.skip-link:focus { top:16px; }
.page { padding-bottom:0; }
.nav-links { flex-wrap:nowrap; }
.nav-links > a, .nav-toggle { white-space:nowrap; }
.nav-icons .book-btn { white-space:nowrap; padding:14px 20px; }
.nav-tracker { display:none; }
.nav-links a.active { color:var(--gold-soft); }
.nav-links a.active::after { display:block !important; width:24px !important; }
.about-read-more { margin-top:12px; align-self:flex-start; font-size:.95rem; }
/* Keep section copy at full contrast, even when it isn't the viewport-centred panel. */
.js .page-panel > .container, .js .page-panel.section-active > .container { opacity:1 !important; transform:none !important; }
.page-panel-focus { flex-direction:column; justify-content:center; gap:0; padding-bottom:60px !important; }
.page-panel-about { min-height:auto !important; padding:80px 0 !important; }
/* The empty area was caused by viewport-height minimums, not the rounded card. */
.page-panel-booking { min-height:0 !important; height:auto !important; padding:32px 0 36px !important; }
.page-panel-testimonials { min-height:0 !important; height:auto !important; padding:42px 0 68px !important; }
.page-panel-booking .booking-strip { margin:0 !important; }
@media (min-width:1181px) {
  .booking-strip { grid-template-columns:minmax(0,1.5fr) auto auto !important; gap:26px !important; }
  .topbar { gap:20px; }
  .nav { gap:20px; }
  .nav-links { gap:18px; }
  .brand img { width:170px; }
  .nav-icons .icon-btn { width:48px; height:48px; }
  .nav-icons .icon-btn svg { width:25px; height:25px; }
}
/* Readable, discrete topic slides: three seconds stationary, then one 600 ms step. */
.floating-features { margin-top:36px !important; padding:0 !important; }
.feature-strip-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 4px 10px; }
.section-kicker { display:block; color:#79603a; text-transform:uppercase; font-size:.77rem; letter-spacing:.17em; font-weight:700; }
.feature-count { color:#405e53; font-size:.85rem; }
.marquee-shell { overflow-x:auto; padding:10px 0 20px !important; mask-image:none !important; -webkit-mask-image:none !important; scrollbar-width:none; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; touch-action:pan-x pan-y; }
.marquee-shell::-webkit-scrollbar { display:none; }
.feature-track { display:flex; gap:18px; width:100%; animation:none !important; transform:none !important; }
.feature-card { flex:0 0 calc((100% - 36px)/3); width:auto !important; min-height:158px !important; padding:25px 24px !important; display:flex; flex-direction:column; scroll-snap-align:start; scroll-snap-stop:always; }
.feature-card::before { display:none !important; animation:none !important; }
.feature-card h3 { margin:0; font-size:1.48rem !important; line-height:1.22 !important; }
.feature-card .feature-link { margin-top:auto; padding-top:20px; font-size:.9rem; align-self:flex-start; }
.carousel-controls { display:flex; justify-content:center; align-items:center; gap:14px; margin-top:8px; }
.carousel-btn { width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.7); color:#244d40; border:1px solid rgba(30,63,49,.2); cursor:pointer; font-size:1.3rem; }
.carousel-btn:hover { background:#fff9ee; }
.carousel-pause { min-height:42px; border:0; background:transparent; color:#305343; font-size:.84rem; cursor:pointer; padding:6px 12px; text-decoration:underline; text-underline-offset:5px; }
/* Keep the stacked reflection motif; use warm light cards for dark, high-contrast type. */
.testimonial-badge { color:#294d40 !important; font-size:.82rem !important; text-shadow:none !important; margin:0 0 26px !important; }
.testimonial-oval { display:grid !important; place-items:stretch !important; height:auto !important; min-height:0 !important; padding:0 0 54px !important; width:100% !important; max-width:840px !important; }
.testimonial-slide { position:relative !important; inset:auto !important; grid-area:1/1; width:100% !important; min-height:0 !important; padding:38px 44px !important; align-content:center; }
.testimonial-slide.current { background:linear-gradient(135deg,#fffaf1,#f1ebdf) !important; border-color:rgba(153,118,61,.25) !important; }
.testimonial-slide.stack-1 { background:#d8e5db !important; }
.testimonial-slide.stack-2 { background:#b8cfc0 !important; }
.testimonial-slide.stack-3 { background:#8fae9c !important; }
.testimonial-slide:not(.current) > div { visibility:hidden; }
.testimonial-quote { max-width:660px; color:#203b32 !important; font-size:1.2rem !important; line-height:1.8 !important; font-weight:450; }
.testimonial-author { color:#6f552e !important; font-size:.76rem; margin-top:20px; }
.reflection-controls { margin-top:8px; }
/* Bottom contact panel and footer */
.bottom-cta { position:relative; padding:64px 0 56px; background:linear-gradient(180deg,rgba(230,239,230,.94),rgba(224,235,224,.97)); }
.bottom-cta-card { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:64px; padding:52px; border:1px solid rgba(255,255,255,.13); border-radius:32px; background:linear-gradient(125deg,#122d26,#0c1d19); color:#f8f0e2; box-shadow:0 22px 54px rgba(10,30,23,.15); }
.bottom-cta-card .eyebrow { font-size:.72rem; letter-spacing:.16em; color:#ddbd8a; text-shadow:none; margin-bottom:18px; }
.bottom-cta-card h2 { font-family:var(--serif); font-size:clamp(2.15rem,3.3vw,3.3rem); font-weight:500; line-height:1.1; letter-spacing:-.02em; margin:0 0 18px; }
.bottom-cta-card h2 em { color:#e6c997; }
.bottom-cta-card p { color:#dfdfd4; line-height:1.8; margin:0; max-width:470px; }
.bottom-cta-actions { display:grid; gap:12px; }
.bottom-action { min-height:70px; padding:16px 22px; display:grid; grid-template-columns:28px 1fr 20px; align-items:center; gap:18px; text-align:left; background:rgba(255,255,255,.055); border:1px solid rgba(230,203,158,.28); color:#fff3df; border-radius:18px; cursor:pointer; font-weight:600; transition:background .2s ease, border-color .2s ease; }
.bottom-action:hover { background:rgba(226,193,140,.14); border-color:#dfbc84; }
.bottom-action-icon { color:#e4bd7f; font-size:1.4rem; }
.site-footer { position:relative; background:#0c1b17; color:#dadbd0; padding:42px 0 18px; }
.footer-inner { display:grid; grid-template-columns:1fr auto 1fr; gap:42px; align-items:start; }
.footer-brand img { width:150px; filter:brightness(0) invert(1); }
.footer-brand p { color:#c5cabe; font-size:.84rem; margin:8px 0 0; }
.footer-links, .footer-contact { display:flex; flex-direction:column; gap:15px; }
.footer-contact { align-items:flex-end; font-size:.87rem; }
.footer-links { font-size:.91rem; }
.footer-links button, .footer-contact button { padding:0; border:0; background:none; color:inherit; cursor:pointer; text-align:inherit; line-height:1.6; overflow-wrap:anywhere; }
.footer-links a:hover, .footer-links button:hover, .footer-contact button:hover { color:#efc889; }
.footer-contact span { color:#aebdb2; }
.footer-bottom { display:flex; justify-content:space-between; gap:14px; border-top:1px solid rgba(255,255,255,.13); margin-top:32px; padding-top:18px; font-size:.76rem; color:#b4c1b7; }
/* Form feedback, accessible dialogs and no simulated payment fields. */
body.modal-open { overflow:hidden !important; }
.modal-overlay { z-index:100; overscroll-behavior:contain; }
.modal { position:relative; overscroll-behavior:contain; }
.modal h3 { padding-right:32px; }
.modal-close { z-index:5; }
.contact-modal, .feedback-modal { width:min(560px,100%) !important; padding:34px !important; }
.feedback-modal h3 { font:2.2rem/1.1 var(--serif); margin:0 0 16px; }
.feedback-modal p { color:#e3dfd4; line-height:1.8; }
.form-status { line-height:1.7 !important; font-size:.94rem !important; margin:16px 0 0 !important; border-radius:14px; }
.form-status:empty { display:none; }
.form-status.error { padding:14px 16px; border:1px solid #ce8c72; background:#492b26; color:#ffebdd !important; }
.form-status.pending { color:#f2d7ab !important; }
.form-honeypot { display:none !important; }
.contact-success h4 { margin:0 0 14px; font:1.8rem/1.18 var(--serif); }
.success-mark { display:grid; place-items:center; width:50px; height:50px; margin-bottom:20px; border:1px solid #a9c19f; background:rgba(153,190,143,.12); color:#c7e4b6; border-radius:50%; font-size:1.4rem; }
.contact-fallback { width:100%; text-align:center; min-height:52px; overflow-wrap:anywhere; }
.text-button { display:block; background:none; border:0; color:#e8c798; text-decoration:underline; text-underline-offset:4px; cursor:pointer; padding:10px 0; margin:16px auto 0; }
.modal .fine-print { color:#cad1c6 !important; margin-top:16px !important; }
.field input, .field select, .field textarea { font-size:16px !important; color-scheme:dark; }
.field input:focus, .field select:focus, .field textarea:focus { border-color:#e4be80; box-shadow:0 0 0 2px rgba(228,190,128,.18); }
.field select option { background:#152a23; color:#fff7ea; }
.payment-information-notice { margin:24px 0; padding:24px 26px; border:1px solid rgba(231,197,142,.48); border-radius:20px; background:rgba(231,197,142,.075); }
.payment-information-notice p { margin:0 !important; color:#fff0d7 !important; font-size:1.12rem !important; line-height:1.8; }
.booking-review-grid span, .payment-summary-grid span, .confirmation-card span { white-space:pre-line; overflow-wrap:anywhere; }
.booking-inline-note { color:#e1dfd2 !important; }
.booking-step { scroll-margin-top:15px; }
.schedule-fields .field { min-width:0; }
.schedule-fields input { min-width:0; }
.noscript-note { padding:20px; text-align:center; background:#fff4df; color:#254938; }
/* Dedicated About page — shared identity with an editorial, personal rhythm. */
.about-page .about-header { padding-top:10px; padding-bottom:28px; }
.about-page .about-header .topbar { padding:0; }
.about-page .about-header .brand img { filter:brightness(0) saturate(100%); opacity:.9; }
.about-page .about-header .topbar-shell { background:rgba(11,33,25,.92); }
.about-main { padding-top:4px; background:linear-gradient(180deg,rgba(230,239,230,.4),rgba(239,242,232,.97) 550px); }
.story-hero { display:grid; grid-template-columns:1.15fr 1fr; background:linear-gradient(125deg,#133529,#0b211a); color:#fcf5e9; border-radius:32px; overflow:hidden; box-shadow:0 24px 68px rgba(14,40,29,.2); }
.story-hero-copy { padding:46px 44px; display:flex; flex-direction:column; align-items:flex-start; }
.story-breadcrumb { color:#cfd4c4; font-size:.8rem; margin-bottom:44px; }
.story-breadcrumb span { margin:0 8px; color:#bdab86; }
.story-hero .eyebrow { color:#dec38e; font-size:.78rem; text-shadow:none; margin:0 0 20px; }
.story-hero h1 { font:500 clamp(2.8rem,4.4vw,4.8rem)/1.04 var(--serif); letter-spacing:-.035em; margin:0 0 24px; }
.story-hero h1 em { display:block; color:#e5c695; }
.story-hero p { max-width:540px; color:#e5e7db; line-height:1.85; margin:0 0 20px; font-size:1.02rem; }
.story-hero .primary-btn { margin-top:10px; }
.story-portrait { position:relative; min-height:560px; }
.story-portrait > img { width:100%; height:100%; object-fit:cover; object-position:50% 36%; position:absolute; }
.story-portrait-caption { position:absolute; bottom:22px; left:22px; right:22px; padding:20px 24px; background:rgba(11,33,24,.88); backdrop-filter:blur(8px); border-radius:20px; border:1px solid rgba(226,200,157,.28); }
.story-portrait-caption strong { display:block; font:1.55rem/1.1 var(--serif); font-weight:500; }
.story-portrait-caption span { display:block; color:#dfc493; font-size:.8rem; margin-top:7px; }
.story-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:84px; padding-top:82px; padding-bottom:82px; }
.story-section-heading .section-kicker { margin-bottom:18px; }
.story-section h2, .story-values-section h2, .first-conversation h2 { font:500 clamp(2.2rem,3.3vw,3.6rem)/1.12 var(--serif); letter-spacing:-.025em; color:#163e2c; margin:0; }
.story-prose p { margin:0 0 22px; font-size:1.025rem; line-height:1.92; color:#354f41; }
.story-prose p:last-child { margin-bottom:0; }
.biography-placeholder { padding:20px 24px; border:1px dashed #b8aa84; border-radius:16px; background:rgba(255,255,255,.45); margin:26px 0; }
.biography-placeholder .section-kicker { font-size:.68rem; margin-bottom:10px; }
.biography-placeholder p { font-size:.91rem; color:#596452; line-height:1.8; margin:0; }
.story-philosophy { background:#173d2f; }
.story-philosophy h2 { color:#f8f0df; }
.story-philosophy h2 em { color:#e3c895; }
.story-philosophy .section-kicker { color:#e1c88f; }
.story-philosophy p { color:#e1e6d8; }
.story-values-section { padding-top:80px; padding-bottom:30px; }
.story-values-section > .section-kicker { margin-bottom:18px; }
.story-values { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:36px; }
.story-values article { background:rgba(255,251,241,.8); border:1px solid rgba(56,88,64,.16); border-radius:24px; padding:30px; }
.value-number { color:#967440; font-size:.85rem; }
.story-values h3 { font:500 1.6rem/1.15 var(--serif); color:#214932; margin:28px 0 16px; }
.story-values p { font-size:.96rem; line-height:1.8; color:#46604c; margin:0; }
.story-text-link { background:none; border:0; border-bottom:1px solid #a99871; color:#224f36; padding:0 0 8px; cursor:pointer; font-weight:600; line-height:1.7; text-align:left; }
.story-text-link span { margin-left:16px; }
.first-conversation { max-width:1000px; text-align:center; padding:58px 80px; border:1px solid rgba(80,108,73,.22); border-radius:30px; background:linear-gradient(130deg,#fbf7eb,#e5ebd9); }
.first-conversation .section-kicker { margin-bottom:20px; }
.first-conversation p { max-width:710px; margin:24px auto 0; color:#38553e; line-height:1.85; font-size:1.025rem; }
.first-conversation .primary-btn { margin-top:30px; }
.first-conversation-note { display:block; color:#506248; margin-top:18px; font-size:.83rem; }
.about-main { padding-bottom:72px; }
@media (min-width:768px) and (max-width:1180px) {
  .topbar { flex-direction:column !important; align-items:center !important; }
  .topbar-shell { margin:0 !important; max-width:100%; }
  .nav { gap:18px; }
  .nav-links { gap:14px !important; }
  .nav-icons .book-btn { padding:12px 16px; font-size:.9rem; }
  .page-panel-about .about-card { grid-template-columns:minmax(280px,.9fr) 1.1fr !important; }
  .page-panel-about .about-copy { padding:34px 26px !important; }
  .page-panel-about .about-media, .page-panel-about .about-copy { min-height:590px !important; }
  .bottom-cta-card { gap:30px; padding:36px; }
  .story-hero { grid-template-columns:1fr 1fr; }
  .story-hero-copy { padding:36px 30px; }
  .story-section { gap:42px; grid-template-columns:.8fr 1.2fr; }
  .story-values article { padding:24px; }
  .footer-inner { gap:25px; grid-template-columns:1fr auto 1.3fr; }
}
@media (max-width:767px) {
  .hero-inner.container { width:calc(100% - 36px) !important; }
  .topbar-shell { padding:14px 10px !important; }
  .nav { flex-direction:column !important; gap:22px !important; }
  .nav-links { gap:18px !important; justify-content:center !important; flex-wrap:wrap; }
  .nav-links > a, .nav-toggle { font-size:.85rem !important; }
  .nav-icons { justify-content:center !important; flex-wrap:nowrap !important; gap:8px !important; width:100%; }
  .nav-icons .icon-btn { width:40px !important; height:40px !important; }
  .nav-icons .icon-btn svg { width:22px !important; height:22px !important; }
  .nav-icons .book-btn { font-size:.8rem !important; padding:12px 14px !important; }
  .page-panel-about { padding:52px 0 !important; }
  .page-panel-about .about-media { min-height:0 !important; height:480px !important; }
  .page-panel-about .about-photo { min-height:0 !important; height:100% !important; }
  .page-panel-about .about-photo img { height:100%; object-position:50% 35%; }
  .page-panel-focus { padding-bottom:44px !important; }
  .page-panel-booking { padding:26px 0 32px !important; }
  .page-panel-testimonials { padding:34px 0 52px !important; }
  .feature-card { flex-basis:calc((100% - 18px)/2); min-height:146px !important; padding:22px !important; }
  .feature-card h3 { font-size:1.34rem !important; }
  .feature-count { font-size:.75rem; }
  .section-kicker { font-size:.69rem; }
  .testimonial-slide { padding:30px 25px !important; border-radius:26px !important; }
  .testimonial-quote { font-size:1.1rem !important; line-height:1.8 !important; }
  .bottom-cta { padding:44px 0; }
  .bottom-cta-card { grid-template-columns:1fr; gap:30px; padding:30px 24px; border-radius:26px; }
  .bottom-cta-card p { font-size:.95rem; }
  .bottom-action { padding:16px; min-height:68px; }
  .footer-inner { grid-template-columns:1fr 1fr; gap:30px 18px; }
  .footer-links { align-items:flex-end; }
  .footer-contact { grid-column:1/-1; align-items:flex-start; font-size:.86rem; }
  .footer-bottom { flex-direction:column; }
  .contact-modal, .feedback-modal { padding:26px 20px !important; }
  .modal-overlay { padding:12px !important; }
  .modal { max-height:calc(100svh - 24px) !important; }
  .form-actions .primary-btn { min-height:48px; }
  .booking-modal { padding:28px 20px !important; }
  .booking-modal h3 { font-size:1.8rem !important; }
  .payment-information-notice { padding:20px; }
  .payment-information-notice p { font-size:1.04rem !important; }
  .about-page .about-header { padding-top:12px; padding-bottom:20px; }
  .about-page .about-header .topbar { align-items:center !important; }
  .story-hero { grid-template-columns:1fr; border-radius:26px; }
  .story-hero-copy { padding:30px 26px 36px; }
  .story-breadcrumb { margin-bottom:28px; }
  .story-hero h1 { font-size:2.8rem; }
  .story-hero p { font-size:1rem; }
  .story-portrait { min-height:470px; }
  .story-portrait > img { object-position:50% 32%; }
  .story-section { grid-template-columns:1fr; gap:28px; padding-top:52px; padding-bottom:52px; }
  .story-prose p { font-size:1rem; line-height:1.87; }
  .story-values-section { padding-top:50px; }
  .story-values { grid-template-columns:1fr; gap:16px; margin-top:28px; }
  .story-values article { padding:28px; }
  .story-values h3 { margin-top:18px; }
  .first-conversation { padding:38px 24px; }
  .first-conversation h2 br { display:none; }
  .first-conversation p { font-size:.98rem; }
  .about-main { padding-bottom:50px; }
}
@media (max-width:520px) {
  .feature-card { flex-basis:100%; }
  .feature-card h3 { font-size:1.35rem !important; }
  .feature-strip-heading { gap:10px; }
}
@media (max-width:360px) {
  .nav-links { gap:12px !important; }
  .nav-icons { gap:6px !important; }
  .nav-icons .icon-btn { width:34px !important; height:34px !important; }
  .nav-icons .book-btn { font-size:.73rem !important; padding:11px 10px !important; }
  .hero h1 { font-size:2.6rem !important; }
  .page-panel-about .about-media { height:410px !important; }
  .testimonial-slide { padding:26px 20px !important; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  *, *::before, *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .hero-bg { filter:brightness(1) saturate(1.02) !important; }
  .hero-bg::before { opacity:.24 !important; }
}
/* The mobile hero must extend behind both CTAs, not end at a fixed viewport fraction. */
@media (max-width:767px) {
  .hero { min-height:0 !important; }
  .hero-inner { min-height:100svh !important; }
  .hero-bg { position:absolute !important; top:0 !important; left:0 !important; width:100% !important; height:100% !important; transform:none !important; border-radius:26px 26px 0 0 !important; }
  .hero-copy { padding:34px 0 48px !important; }
  .hero-glow { border-radius:26px 26px 0 0; }
}
@media (min-width:768px) {
  .page-panel-about .about-media { border-radius:30px 0 0 30px; overflow:hidden; }
}
/* Balanced four-part summary on the temporary payment-information screen. */
#bookingStepPayment .payment-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
#bookingStepPayment > .fine-print { max-width:none; font-size:.93rem !important; }
@media (max-width:767px) {
  #bookingStepPayment .payment-summary-grid { grid-template-columns:1fr; }
}

/* Support carousel pagination — compact traffic-light style dots */
.feature-carousel-controls { gap:14px; }
.carousel-dots { display:flex; align-items:center; justify-content:center; gap:2px; min-width:112px; }
.carousel-dot { width:28px; height:28px; padding:0; border:0; border-radius:50%; background:transparent; cursor:pointer; position:relative; touch-action:manipulation; }
.carousel-dot::before { content:""; position:absolute; left:50%; top:50%; width:10px; height:10px; border-radius:50%; border:1px solid rgba(36,77,64,.36); background:rgba(36,77,64,.18); transform:translate(-50%,-50%); transition:transform .2s ease, background .2s ease, box-shadow .2s ease; }
.carousel-dot:hover::before, .carousel-dot:focus-visible::before { background:rgba(36,77,64,.34); transform:translate(-50%,-50%) scale(1.16); }
.carousel-dot:focus-visible { outline:2px solid rgba(36,77,64,.42); outline-offset:1px; }
.carousel-dot.is-active::before { background:#244d40; box-shadow:0 0 0 4px rgba(36,77,64,.11); transform:translate(-50%,-50%) scale(1.12); }
@media (max-width:600px){ .carousel-dots{gap:0; min-width:104px}.carousel-dot{width:26px;height:30px}.carousel-dot::before{width:9px;height:9px}.feature-carousel-controls{gap:8px} }
