/* vanilla base reset (no framework) */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--n23362-font, system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif); line-height: 1.5; color: var(--n23362-ink, #111); background: var(--n23362-bg, #fff); }
h1, h2, h3, h4, h5, h6 { font-family: var(--n23362-font-display, var(--n23362-font, system-ui, sans-serif)); }
img, svg, video, canvas { max-width: 100%; height: auto; }
a { color: inherit; }
*:focus-visible { outline: 2px solid var(--n23362-primary, #2563eb); outline-offset: 2px; }
/* visibility shim for framework toggles */
.hidden { display: none !important; }

/* design tokens */
:root {
  --n23362-primary: #1F2A24;
  --n23362-secondary: #6E7F63;
  --n23362-accent: #6E7F63;
  --n23362-ink: #0F1713;
  --n23362-slate: #4A5650;
  --n23362-mist: #E7E2CF;
  --n23362-border: #D9D3C4;
  --n23362-surface: #F5F2EA;
  --n23362-bg: #FFFFFF;
  --n23362-text: #1F2A24;
  --n23362-font: Georgia, Cambria, 'Times New Roman', serif;
  --n23362-font-display: 'Hoefler Text', 'Baskerville Old Face', Garamond, Georgia, serif;
}

/* state utilities */
.is-open { display: block !important; }
.is-active { display: block !important; }
[hidden] { display: none !important; }

/* framework-injected components (vanilla) */
[data-n23362-ui="cookie-banner"] { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 9999; margin: 0 auto; max-width: 56rem; border: 1px solid var(--n23362-border, #e5e7eb); background: var(--n23362-surface, #fff); border-radius: 1rem; padding: 1rem; box-shadow: 0 10px 30px rgba(0,0,0,.15); }
[data-n23362-ui="cookie-banner"] > div { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-start; justify-content: space-between; }
[data-n23362-ui="cookie-banner"] > div > div:last-child { display: flex; flex-wrap: wrap; gap: .5rem; }
[data-n23362-ui="cookie-banner"] a { text-decoration: underline; }
[data-n23362-cs-action], [data-n23362-ag-action] { cursor: pointer; border-radius: .5rem; padding: .5rem .9rem; font-size: .8rem; border: 1px solid var(--n23362-border, #d1d5db); background: transparent; color: var(--n23362-ink, #111); }
[data-n23362-cs-action="accept-all"], [data-n23362-cs-action="save"], [data-n23362-ag-action="confirm"] { background: var(--n23362-primary, #2563eb); color: #fff; border-color: transparent; font-weight: 600; }
[data-n23362-cs-action="reject-all"] { background: var(--n23362-ink, #111); color: #fff; border-color: transparent; font-weight: 600; }
[data-n23362-cs-panel] { margin-top: 1rem; border: 1px solid var(--n23362-border, #e5e7eb); background: var(--n23362-surface, #fff); border-radius: .75rem; padding: 1rem; font-size: .875rem; }
[data-n23362-cs-panel] > div { display: flex; flex-wrap: wrap; gap: .75rem; }
[data-n23362-ui="cookie-banner"] label { display: inline-flex; align-items: center; gap: .5rem; }
[data-n23362-ui="age-gate-overlay"] { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.8); }
[data-n23362-ui="age-gate-overlay"] > div { width: 100%; max-width: 28rem; margin: 0 1rem; background: var(--n23362-surface, #1a1a2e); color: var(--n23362-ink, #fff); border-radius: 1rem; padding: 2rem; text-align: center; box-shadow: 0 20px 60px rgba(0,0,0,.4); }
[data-n23362-ui="age-gate-overlay"] > div > div:last-of-type { display: flex; flex-direction: column; gap: .75rem; }
[data-n23362-ag-action] { padding: .75rem 1.5rem; }

/* sections */
/* n23362:header */
/* n23362:header */
#header.header-shell{background:var(--n23362-bg);border-bottom:1px solid var(--n23362-border);position:sticky;top:0;z-index:20}
#header .header-inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:1.25rem}
#header .brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--n23362-ink);min-width:max-content}
#header .brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:var(--n23362-surface);border:1px solid var(--n23362-border);font-size:18px}
#header .brand-name{font-family:var(--n23362-font-serif, Georgia, serif);font-weight:700;letter-spacing:-.02em;font-size:1.1rem}
#header .nav{display:flex;align-items:center;gap:1.25rem}
#header .nav-link{color:var(--n23362-text);text-decoration:none;font-size:1rem;line-height:1.1;padding:.55rem .2rem;border-radius:8px}
#header .nav-link:focus-visible{outline:3px solid color-mix(in srgb, var(--n23362-accent) 55%, white 45%);outline-offset:3px}
#header .header-cta{display:flex;align-items:center;gap:.75rem}
#header .cta-primary{background:var(--n23362-primary);color:var(--n23362-bg);text-decoration:none;border:1px solid var(--n23362-primary);padding:.7rem 1rem;border-radius:12px;font-weight:650;font-size:.98rem;line-height:1.1;display:inline-flex;align-items:center;gap:.55rem;transform:translateY(0);transition:transform 140ms ease, background 140ms ease, border-color 140ms ease}
#header .cta-primary:hover{transform:translateY(-1px)}
#header .cta-primary:focus-visible{outline:3px solid color-mix(in srgb, var(--n23362-accent) 55%, white 45%);outline-offset:3px}
#header .cta-ghost{background:var(--n23362-surface);color:var(--n23362-primary);text-decoration:none;border:1px solid var(--n23362-border);padding:.7rem .95rem;border-radius:12px;font-weight:620;font-size:.98rem;line-height:1.1;display:inline-flex;align-items:center;transition:transform 140ms ease,border-color 140ms ease,background 140ms ease}
#header .cta-ghost:hover{transform:translateY(-1px);border-color:color-mix(in srgb, var(--n23362-secondary) 55%, var(--n23362-border) 45%)}
#header .cta-ghost:focus-visible{outline:3px solid color-mix(in srgb, var(--n23362-accent) 55%, white 45%);outline-offset:3px}
#header .menu-toggle{display:none;background:var(--n23362-surface);border:1px solid var(--n23362-border);color:var(--n23362-text);border-radius:12px;padding:.7rem .95rem;font-weight:650;font-size:.98rem;min-height:44px;cursor:pointer}
#header .menu-toggle:focus-visible{outline:3px solid color-mix(in srgb, var(--n23362-accent) 55%, white 45%);outline-offset:3px}
#header .mobile-menu{display:none;position:absolute;right:clamp(1rem,4vw,3rem);top:74px;max-width:22rem;width:calc(100% - 2rem);background:var(--n23362-bg);border:1px solid var(--n23362-border);border-radius:16px;box-shadow:0 10px 30px color-mix(in srgb, var(--n23362-primary) 10%, transparent 90%);padding:.75rem;flex-direction:column;gap:.25rem}
#header .mobile-link{display:block;padding:.75rem .75rem;border-radius:12px;text-decoration:none;color:var(--n23362-text);font-weight:620}
#header .mobile-link:hover{background:var(--n23362-surface)}
#header .mobile-link:focus-visible{outline:3px solid color-mix(in srgb, var(--n23362-accent) 55%, white 45%);outline-offset:3px}
#header .mobile-link.subtle{color:color-mix(in srgb, var(--n23362-text) 78%, var(--n23362-secondary) 22%)}

@media (max-width:1024px){#header .nav{gap:1rem}#header .header-cta{gap:.6rem}}
@media (max-width:900px){#header .nav{display:none}#header .header-cta{display:none}#header .menu-toggle{display:inline-flex;align-items:center;justify-content:center}}
@media (max-width:640px){#header .header-inner{min-height:68px;padding-left:1rem;padding-right:1rem}}
@media (prefers-reduced-motion: reduce){#header .cta-primary,#header .cta-ghost{transition:none}#header .cta-primary:hover,#header .cta-ghost:hover{transform:none}}
/* n23362:footer */
/* n23362:footer */
#footer{background:var(--n23362-bg);color:var(--n23362-text);padding:clamp(2.5rem,4vw,4rem) 0;border-top:1px solid var(--n23362-border);}
#footer .footer-inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#footer .footer-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(1.5rem,3vw,3rem);align-items:start;}
#footer .footer-title{font-family:var(--n23362-sans, Georgia, Cambria, 'Times New Roman', serif);font-weight:700;letter-spacing:-0.01em;margin:0 0 0.75rem;font-size:1.25rem;}
#footer .footer-tagline{margin:0 0 1.25rem;max-width:36ch;line-height:1.6;color:var(--n23362-text);}
#footer .footer-contact{border:1px solid var(--n23362-border);background:var(--n23362-surface);border-radius:var(--n23362-radius-md, 12px);padding:1rem;}
#footer .contact-row{display:flex;gap:0.75rem;align-items:baseline;padding:0.5rem 0;border-top:1px solid color-mix(in srgb, var(--n23362-border) 75%, transparent);}
#footer .contact-row:first-child{border-top:none;}
#footer .contact-label{min-width:5rem;color:var(--n23362-secondary);font-size:0.875rem;}
#footer .contact-link{color:var(--n23362-ink);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--n23362-secondary) 45%, transparent);text-underline-offset:0.18em;}
#footer .contact-link:focus-visible{outline:3px solid color-mix(in srgb, var(--n23362-secondary) 40%, white);outline-offset:3px;border-radius:6px;}
#footer .contact-text{color:var(--n23362-text);line-height:1.5;}
#footer .footer-legal-heading{margin:0 0 0.75rem;font-weight:700;letter-spacing:-0.01em;font-family:Georgia, Cambria, 'Times New Roman', serif;font-size:1.05rem;}
#footer .footer-legal-text{margin:0 0 1.25rem;line-height:1.7;max-width:55ch;color:var(--n23362-text);}
#footer .footer-nav{display:flex;flex-wrap:wrap;gap:0.75rem;margin:0 0 1.1rem;}
#footer .footer-nav-link{display:inline-flex;align-items:center;padding:0.6rem 0.85rem;border:1px solid var(--n23362-border);background:var(--n23362-surface);border-radius:var(--n23362-radius-sm, 8px);color:var(--n23362-ink);text-decoration:none;font-weight:600;font-size:0.95rem;}
#footer .footer-nav-link:hover{background:color-mix(in srgb, var(--n23362-surface) 85%, white);}
#footer .footer-nav-link:focus-visible{outline:3px solid color-mix(in srgb, var(--n23362-accent) 35%, white);outline-offset:3px;}
#footer .footer-policy{display:flex;flex-direction:column;gap:0.55rem;}
#footer .footer-policy-link{color:var(--n23362-ink);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--n23362-border) 70%, transparent);text-underline-offset:0.18em;width:max-content;}
#footer .footer-policy-link:focus-visible{outline:3px solid color-mix(in srgb, var(--n23362-secondary) 35%, white);outline-offset:3px;border-radius:6px;}
#footer .footer-bottom{display:flex;flex-direction:column;gap:0.5rem;align-items:flex-start;margin-top:clamp(1.5rem,3vw,2.5rem);padding-top:clamp(1.25rem,2.5vw,2rem);border-top:1px solid var(--n23362-border);}
#footer .footer-copy{margin:0;color:var(--n23362-text);}
#footer .footer-reg{margin:0;color:var(--n23362-slate);font-size:0.95rem;line-height:1.5;}
#footer ::selection{background:color-mix(in srgb, var(--n23362-accent) 28%, white);}
@media (max-width: 900px){#footer .footer-grid{grid-template-columns:1fr;}}
@media (prefers-reduced-motion: reduce){#footer *{scroll-behavior:auto;transition:none !important;animation:none !important;}}
/* n23362:hero */
/* n23362:hero */
#hero{position:relative;background:var(--n23362-bg);color:var(--n23362-ink);}
#hero .hero-shell{position:relative;}
#hero .hero-media{position:absolute;left:0;right:0;top:0;height:88vh;min-height:560px;overflow:hidden;}
#hero .hero-image{width:100%;height:100%;object-fit:cover;filter:saturate(0.85) contrast(0.98) brightness(0.98);transform:scale(1.02);}
#hero .hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg, rgba(245,242,234,0.96) 0%, rgba(245,242,234,0.90) 42%, rgba(31,42,36,0.26) 100%);}
#hero .hero-grid{position:relative;max-width:72rem;margin:0 auto; padding:clamp(2rem,4vw,3.5rem) var(--gutter,clamp(1rem,4vw,3rem)) 0 var(--gutter,clamp(1rem,4vw,3rem));display:grid;grid-template-columns: 1fr;gap:clamp(1.25rem,2.5vw,2.25rem);align-items:start;}
#hero .hero-left{padding-top:clamp(1.5rem,2.2vw,2rem);}
#hero .hero-label{display:flex;align-items:baseline;gap:0.9rem;margin-bottom:0.85rem;}
#hero .hero-number{font-family:var(--font-serif, Georgia, 'Times New Roman', serif);font-weight:700;letter-spacing:0.02em;color:var(--n23362-ink);font-size:1.05rem;}
#hero .hero-label-text{font-family:var(--font-sans, Georgia, Cambria, 'Times New Roman', serif);font-weight:600;color:var(--n23362-secondary);font-size:0.95rem;}
#hero .hero-title{font-family:var(--font-serif, Georgia, 'Times New Roman', serif);font-size:clamp(1.9rem,4vw,3.5rem);line-height:1.05;letter-spacing:-0.02em;margin:0 0 0.9rem 0;text-wrap:balance;}
#hero .hero-subtitle{margin:0 0 1.25rem 0;font-size:1.05rem;line-height:1.55;max-width:42rem;color:var(--n23362-ink);}
#hero .hero-chips{list-style:none;padding:0;margin:0 0 1.45rem 0;display:flex;flex-wrap:wrap;gap:0.6rem;}
#hero .chip{background:rgba(231,226,207,0.65);border:1px solid rgba(217,211,196,0.75);color:var(--n23362-ink);padding:0.5rem 0.75rem;border-radius:var(--radius-sm,8px);font-size:0.9rem;font-weight:600;}
#hero .hero-cta-row{display:flex;flex-wrap:wrap;gap:0.75rem;margin-bottom:1.1rem;}
#hero .btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;min-height:44px;padding:0.85rem 1.05rem;border-radius:var(--radius-md,12px);font-weight:700;text-decoration:none;line-height:1;}
#hero .btn-primary{background:var(--n23362-primary);color:#fff;border:1px solid var(--n23362-primary);box-shadow:0 10px 24px rgba(31,42,36,0.18);transform:translateY(0);}
#hero .btn-primary:hover{filter:brightness(1.03);transform:translateY(-1px);} 
#hero .btn-primary:active{transform:translateY(0);} 
#hero .btn-ghost{background:rgba(245,242,234,0.88);color:var(--n23362-ink);border:1px solid var(--n23362-border);}
#hero .btn-ghost:hover{background:rgba(245,242,234,0.98);} 
#hero .btn:focus-visible{outline:3px solid rgba(110,127,99,0.55);outline-offset:2px;}
#hero .btn-full{width:100%;}
#hero .hero-who{margin-top:0.75rem;padding:1rem 1.05rem;border-radius:var(--radius-lg,16px);background:rgba(255,255,255,0.62);border:1px solid rgba(217,211,196,0.7);}
#hero .who-title{display:block;font-size:0.9rem;font-weight:800;color:var(--n23362-secondary);margin-bottom:0.25rem;}
#hero .who-text{display:block;font-size:1rem;line-height:1.5;color:var(--n23362-ink);}

#hero .hero-right{padding-top:clamp(0.25rem,1vw,0.75rem);}
#hero .week-panel{background:rgba(245,242,234,0.92);border:1px solid rgba(217,211,196,0.85);border-radius:var(--radius-lg,16px);padding:1.15rem 1.15rem 1rem 1.15rem;box-shadow:0 18px 40px rgba(31,42,36,0.12);}
#hero .week-header{display:flex;flex-direction:column;gap:0.25rem;margin-bottom:1rem;}
#hero .week-title{font-family:var(--font-serif, Georgia, 'Times New Roman', serif);font-size:1.4rem;font-weight:800;letter-spacing:-0.01em;}
#hero .week-meta{color:var(--n23362-secondary);font-weight:700;font-size:0.92rem;}
#hero .week-rows{display:flex;flex-direction:column;gap:0.75rem;}
#hero .week-row{padding:0.9rem 0.85rem;border-radius:14px;background:rgba(255,255,255,0.55);border:1px solid rgba(217,211,196,0.65);}
#hero .week-row-top{display:flex;justify-content:space-between;gap:0.8rem;margin-bottom:0.4rem;}
#hero .week-day{font-weight:900;color:var(--n23362-secondary);font-size:0.92rem;}
#hero .week-time{font-variant-numeric:tabular-nums;font-weight:800;color:var(--n23362-slate);font-size:0.92rem;}
#hero .week-row-main{font-weight:800;color:var(--n23362-ink);line-height:1.35;font-size:0.98rem;}
#hero .week-footnote{margin-top:1rem;padding-top:0.9rem;border-top:1px solid rgba(217,211,196,0.8);font-size:0.92rem;line-height:1.5;color:var(--n23362-ink);}
#hero .week-actions{margin-top:0.9rem;}

#hero .trust-strip{position:relative;max-width:72rem;margin:clamp(1.4rem,4vw,2.2rem) auto 0 auto;padding:0 var(--gutter,clamp(1rem,4vw,3rem)) clamp(1.8rem,4vw,3rem) var(--gutter,clamp(1rem,4vw,3rem));display:grid;grid-template-columns:1fr;gap:0.9rem;}
#hero .trust-item{display:flex;gap:0.85rem;align-items:flex-start;background:rgba(245,242,234,0.95);border:1px solid rgba(217,211,196,0.85);border-radius:var(--radius-lg,16px);padding:1rem 1.05rem;}
#hero .trust-icon{width:26px;height:26px;border-radius:999px;background:rgba(110,127,99,0.18);border:1px solid rgba(110,127,99,0.45);color:var(--n23362-secondary);display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;}
#hero .trust-title{font-weight:900;color:var(--n23362-secondary);margin-bottom:0.25rem;}
#hero .trust-line{color:var(--n23362-ink);opacity:1;font-weight:650;line-height:1.5;}

@media (min-width: 768px){
  #hero .hero-grid{grid-template-columns: 7fr 5fr;gap:clamp(1.5rem,3.2vw,3rem);padding-bottom:1.25rem;}
  #hero .trust-strip{grid-template-columns: repeat(3, minmax(0,1fr));gap:1rem;}
}

@media (prefers-reduced-motion: reduce){
  #hero .btn-primary:hover, #hero .btn-ghost:hover{transform:none;}
}

#hero ::selection{background: rgba(110,127,99,0.35);}

/* n23362:trust-strip */
/* n23362:trust-strip */
#trust-strip.trust-strip{background:var(--n23362-bg);color:var(--n23362-text);padding:clamp(2.5rem,6vw,5rem) 0;}
#trust-strip .trust-strip__container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#trust-strip .trust-strip__header{max-width:58rem;margin-bottom:clamp(1.5rem,3vw,2.5rem);}
#trust-strip .trust-strip__kicker{font-family:var(--font-serif, 'Hoefler Text');font-weight:600;letter-spacing:-0.02em;color:var(--n23362-secondary);font-size:0.95rem;margin-bottom:0.75rem;}
#trust-strip .trust-strip__title{font-family:var(--font-serif, 'Hoefler Text');font-weight:650;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.12;letter-spacing:-0.03em;text-wrap:balance;margin:0 0 0.8rem 0;}
#trust-strip .trust-strip__lead{margin:0;max-width:54ch;font-family:var(--font-sans, Georgia, Cambria, 'Times New Roman', serif);font-size:1rem;line-height:1.7;color:var(--n23362-slate);}
#trust-strip .trust-strip__steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(0.9rem,2.2vw,1.3rem);}
#trust-strip .trust-step{grid-column:span 4;background:var(--n23362-surface);border:1px solid var(--n23362-border);border-radius:var(--n23362-radius-md, 12px);padding:clamp(1.1rem,2.2vw,1.4rem);box-shadow:0 10px 30px rgba(15,23,19,0.06);}
#trust-strip .trust-step__icon{width:40px;height:40px;border-radius:999px;background:var(--n23362-mist);border:1px solid var(--n23362-border);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif, 'Hoefler Text');font-weight:700;color:var(--n23362-ink, var(--n23362-text, #1F2A24));font-size:1.05rem;margin-bottom:0.9rem;}
#trust-strip .trust-step__title{font-family:var(--font-serif, 'Hoefler Text');font-weight:650;font-size:1.15rem;letter-spacing:-0.02em;margin:0 0 0.55rem 0;color:var(--n23362-primary);}
#trust-strip .trust-step__text{margin:0;font-family:var(--font-sans, Georgia, Cambria, 'Times New Roman', serif);color:var(--n23362-slate);line-height:1.65;font-size:0.98rem;}
#trust-strip .trust-strip__actions{margin-top:clamp(1.4rem,3vw,2rem);display:flex;gap:1rem;align-items:center;flex-wrap:wrap;}
#trust-strip .trust-strip__link{font-family:var(--font-sans, Georgia, Cambria, 'Times New Roman', serif);color:var(--n23362-secondary);text-decoration:underline;text-underline-offset:0.22em;text-decoration-thickness:2px;}
#trust-strip .trust-strip__button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 1.2rem;border-radius:var(--n23362-radius-md, 12px);border:1px solid var(--n23362-primary);background:var(--n23362-primary);color:var(--n23362-bg);text-decoration:none;font-family:var(--font-sans, Georgia, Cambria, 'Times New Roman', serif);font-weight:700;letter-spacing:0.01em;transform:translateY(0);transition:transform 120ms ease, box-shadow 120ms ease, background 120ms ease;box-shadow:0 12px 26px rgba(31,42,36,0.18);}
#trust-strip .trust-strip__button:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(31,42,36,0.22);}
#trust-strip .trust-strip__button:active{transform:translateY(0);}
#trust-strip .trust-strip__button:focus-visible,#trust-strip .trust-strip__link:focus-visible{outline:3px solid var(--n23362-accent);outline-offset:3px;border-radius:10px;}
#trust-strip ::selection{background:rgba(110,127,99,0.35);}
@media (max-width: 980px){
  #trust-strip .trust-step{grid-column:span 6;}
}
@media (max-width: 640px){
  #trust-strip .trust-strip__steps{gap:0.9rem;}
  #trust-strip .trust-step{grid-column:span 12;padding:1.05rem;}
  #trust-strip .trust-strip__title{letter-spacing:-0.02em;}
}
@media (prefers-reduced-motion: reduce){
  #trust-strip .trust-strip__button{transition:none;}
}

/* n23362:itinerary-proof */
/* n23362:itinerary-proof */
#itinerary-proof.itinerary-proof{--pad:clamp(1rem,2.5vw,2.25rem); padding:var(--pad); background:var(--n23362-bg); color:var(--n23362-text); border-top:1px solid var(--n23362-border)}
#itinerary-proof .itinerary-proof__intro{display:flex; align-items:flex-start; gap:1.25rem; margin-bottom:clamp(1.25rem,3.5vw,2.25rem)}
#itinerary-proof .itinerary-proof__label{font-family:var(--n23362-serif, Georgia, serif); font-size:clamp(1.4rem,3vw,2.1rem); color:var(--n23362-secondary); letter-spacing:0.02em; line-height:1.1; padding-top:0.1rem; min-width:2.1rem}
#itinerary-proof .itinerary-proof__head{max-width:48rem}
#itinerary-proof .itinerary-proof__title{margin:0; font-family:Georgia, Cambria, 'Times New Roman', serif; font-size:clamp(1.55rem,3.2vw,2.2rem); letter-spacing:-0.015em; line-height:1.15; text-wrap:balance}
#itinerary-proof .itinerary-proof__lede{margin:0.6rem 0 0; font-size:1rem; line-height:1.6; color:var(--n23362-slate)}
#itinerary-proof .itinerary-proof__layout{display:grid; grid-template-columns: 220px 1fr; gap:clamp(1rem,2.5vw,2rem); align-items:start}
#itinerary-proof .itinerary-proof__rail{position:sticky; top:1.25rem; align-self:start; padding:0.75rem 0.5rem}
#itinerary-proof .rail-step{font-size:0.95rem; padding:0.65rem 0.75rem; border-left:2px solid var(--n23362-border); color:var(--n23362-slate); margin:0.55rem 0; background:transparent; border-radius:var(--n23362-radius-sm, 8px)}
#itinerary-proof .rail-step--active{color:var(--n23362-ink); border-left-color:var(--n23362-secondary); background:rgba(110,127,99,0.08)}
#itinerary-proof .itinerary-proof__days{display:flex; flex-direction:column; gap:1rem}
#itinerary-proof .day-card{border:1px solid var(--n23362-border); background:var(--n23362-surface); border-radius:var(--n23362-radius-lg,16px); overflow:hidden}
#itinerary-proof .day-card__top{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1rem}
#itinerary-proof .day-card__meta{min-width:0}
#itinerary-proof .day-card__day{font-weight:700; letter-spacing:0.01em; color:var(--n23362-ink)}
#itinerary-proof .day-card__subtitle{margin-top:0.25rem; color:var(--n23362-slate); font-size:0.98rem; line-height:1.35}
#itinerary-proof .day-card__toggle{appearance:none; border:1px solid var(--n23362-border); background:var(--n23362-bg); color:var(--n23362-ink); border-radius:var(--n23362-radius-md,12px); padding:0.75rem 0.85rem; min-height:44px; cursor:pointer; display:flex; align-items:center; gap:0.65rem}
#itinerary-proof .day-card__toggle:focus-visible{outline:3px solid rgba(110,127,99,0.45); outline-offset:2px}
#itinerary-proof .day-card__toggle-icon{font-size:1.1rem; color:var(--n23362-secondary); line-height:1}
#itinerary-proof .day-card__toggle-text{font-weight:600; font-size:0.98rem}
#itinerary-proof .day-card__panel{padding:0 1rem 1rem}
#itinerary-proof .timeslot-grid{display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:0.85rem; margin-top:0.85rem}
#itinerary-proof .timeslot{background:var(--n23362-bg); border:1px solid var(--n23362-border); border-radius:var(--n23362-radius-md,12px); padding:0.9rem 0.9rem; position:relative}
#itinerary-proof .timeslot__slot{font-size:0.85rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--n23362-secondary); font-weight:700}
#itinerary-proof .timeslot__title{margin-top:0.35rem; font-weight:800; color:var(--n23362-ink); font-size:1.02rem; letter-spacing:-0.01em}
#itinerary-proof .timeslot__list{margin:0.55rem 0 0; padding-left:1.1rem; color:var(--n23362-slate); line-height:1.5; font-size:0.96rem}
#itinerary-proof .timeslot__tag{margin-top:0.75rem; display:inline-flex; align-items:center; gap:0.5rem; font-weight:800; font-size:0.9rem; color:var(--n23362-ink)}
#itinerary-proof .timeslot__tag::before{content:""; width:10px; height:10px; border-radius:2px; background:var(--n23362-secondary); display:inline-block}
#itinerary-proof .timeslot__tag--optional{color:var(--n23362-secondary)}
#itinerary-proof .timeslot__tag--optional::before{background:rgba(110,127,99,0.35)}
#itinerary-proof .day-card__foot{margin-top:1rem; display:flex; justify-content:flex-start}
#itinerary-proof .day-card__link{color:var(--n23362-ink); text-decoration:underline; text-decoration-color:rgba(110,127,99,0.75); text-underline-offset:0.18em; font-weight:700; font-size:0.98rem}
#itinerary-proof .day-card__link:focus-visible{outline:3px solid rgba(110,127,99,0.45); outline-offset:2px; border-radius:6px}
#itinerary-proof .day-card__cta{margin-top:1rem; padding-top:1rem; border-top:1px solid var(--n23362-border); display:flex; align-items:flex-start; justify-content:space-between; gap:1rem}
#itinerary-proof .day-card__cta-copy{margin:0; color:var(--n23362-slate); line-height:1.6; font-size:0.98rem; max-width:38rem}
#itinerary-proof .primary-btn{display:inline-flex; align-items:center; justify-content:center; background:var(--n23362-ink); color:var(--n23362-bg); border:1px solid var(--n23362-ink); border-radius:var(--n23362-radius-md,12px); padding:0.85rem 1.05rem; min-height:44px; font-weight:800; text-decoration:none; white-space:nowrap; transform:translateY(0)}
#itinerary-proof .primary-btn:hover{transform:translateY(-1px)}
#itinerary-proof .primary-btn:focus-visible{outline:3px solid rgba(110,127,99,0.45); outline-offset:2px}
#itinerary-proof .day-card[aria-expanded="true"] .day-card__toggle{border-color:rgba(110,127,99,0.55)}
#itinerary-proof .day-card__panel{transition:opacity 200ms ease}
#itinerary-proof .day-card__panel.is-open{opacity:1}
@media (max-width: 1024px){#itinerary-proof .itinerary-proof__layout{grid-template-columns: 180px 1fr} #itinerary-proof .timeslot-grid{gap:0.75rem}}
@media (max-width: 768px){#itinerary-proof{padding:1.15rem} #itinerary-proof .itinerary-proof__intro{gap:1rem} #itinerary-proof .itinerary-proof__layout{grid-template-columns:1fr} #itinerary-proof .itinerary-proof__rail{display:none} #itinerary-proof .timeslot-grid{grid-template-columns:1fr} #itinerary-proof .day-card__top{padding:0.95rem 0.95rem} #itinerary-proof .day-card__panel{padding:0 0.95rem 0.95rem} #itinerary-proof .day-card__cta{flex-direction:column}}
@media (prefers-reduced-motion: reduce){#itinerary-proof .primary-btn:hover{transform:none} #itinerary-proof .day-card__panel{transition:none}}
#itinerary-proof ::selection{background:rgba(110,127,99,0.32)}
/* n23362:comparison-retreat-vs-tour */
/* n23362:comparison-retreat-vs-tour */
#comparison-retreat-vs-tour{background:var(--n23362-bg);color:var(--n23362-text);padding:clamp(2.5rem,6vw,6rem) 0}
#comparison-retreat-vs-tour .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
#comparison-retreat-vs-tour .section-header{display:flex;gap:1.25rem;align-items:flex-start;margin-bottom:clamp(1.75rem,4vw,3.25rem)}
#comparison-retreat-vs-tour .section-kicker{font-family:var(--font-serif, Georgia, Cambria, 'Times New Roman', serif);font-size:1.05rem;letter-spacing:0.02em;color:var(--n23362-secondary);min-width:3.25rem;line-height:1}
#comparison-retreat-vs-tour .section-titles{max-width:60ch}
#comparison-retreat-vs-tour .section-title{font-family:var(--font-serif, Georgia, Cambria, 'Times New Roman', serif);font-size:clamp(1.6rem,3.2vw,2.35rem);margin:0 0 .6rem 0;letter-spacing:-0.02em;line-height:1.15;text-wrap:balance}
#comparison-retreat-vs-tour .section-subtitle{margin:0;color:var(--n23362-slate);font-size:1rem;line-height:1.65}
#comparison-retreat-vs-tour .comparison{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.25rem,3vw,2.5rem);align-items:start}
#comparison-retreat-vs-tour .comparison-column{border:1px solid var(--n23362-border);background:var(--n23362-surface);border-radius:var(--n23362-radius-lg,16px);padding:clamp(1.25rem,2.5vw,1.75rem)}
#comparison-retreat-vs-tour .column-title{margin:0 0 1rem 0;font-family:var(--font-serif, Georgia, Cambria, 'Times New Roman', serif);font-size:1.25rem;letter-spacing:-0.015em;display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
#comparison-retreat-vs-tour .column-badge{display:inline-flex;align-items:center;padding:.35rem .65rem;border-radius:999px;border:1px solid var(--n23362-border);font-size:.875rem;line-height:1;color:var(--n23362-ink);background:transparent}
#comparison-retreat-vs-tour .column-badge--retreat{border-color:var(--n23362-secondary);color:var(--n23362-secondary)}
#comparison-retreat-vs-tour .column-badge--tour{border-color:var(--n23362-secondary);color:var(--n23362-secondary)}
#comparison-retreat-vs-tour .list-block{margin-top:.25rem}
#comparison-retreat-vs-tour .bullet-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
#comparison-retreat-vs-tour .bullet-list li{display:flex;gap:.7rem;align-items:flex-start}
#comparison-retreat-vs-tour .bullet-dot{width:.7rem;height:.7rem;border-radius:50%;background:var(--n23362-secondary);margin-top:.45rem;flex:0 0 .7rem}
#comparison-retreat-vs-tour .bullet-text{color:var(--n23362-ink);line-height:1.55}
#comparison-retreat-vs-tour .who-for{margin-top:1.15rem;padding-top:1.05rem;border-top:1px solid var(--n23362-border)}
#comparison-retreat-vs-tour .who-label{margin:0 0 .8rem 0;color:var(--n23362-secondary);font-weight:700;font-size:.95rem}
#comparison-retreat-vs-tour .tag-row{display:flex;flex-wrap:wrap;gap:.55rem}
#comparison-retreat-vs-tour .tag{border:1px solid var(--n23362-border);background:var(--n23362-bg);color:var(--n23362-text);border-radius:999px;padding:.4rem .65rem;font-size:.9rem;line-height:1}
#comparison-retreat-vs-tour .decision{margin-top:clamp(1.5rem,4vw,3.25rem)}
#comparison-retreat-vs-tour .decision-inner{border-radius:var(--n23362-radius-lg,16px);border:1px solid var(--n23362-border);background:var(--n23362-surface);padding:clamp(1.15rem,2.5vw,1.8rem);display:flex;flex-direction:column;gap:1rem}
#comparison-retreat-vs-tour .decision-text{margin:0;color:var(--n23362-slate);font-size:1.02rem;line-height:1.7}
#comparison-retreat-vs-tour .decision-text em{font-style:normal;color:var(--n23362-ink);font-weight:700}
#comparison-retreat-vs-tour .decision-actions{display:flex;gap:.9rem;flex-wrap:wrap;align-items:center}
#comparison-retreat-vs-tour .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.85rem 1rem;border-radius:var(--n23362-radius-md,12px);font-weight:700;text-decoration:none;letter-spacing:0.01em}
#comparison-retreat-vs-tour .btn-primary{background:var(--n23362-primary);color:var(--n23362-bg);border:1px solid var(--n23362-primary)}
#comparison-retreat-vs-tour .btn-primary:hover{background:rgba(31,42,36,.92)}
#comparison-retreat-vs-tour .btn-ghost{background:transparent;color:var(--n23362-primary);border:1px solid var(--n23362-border)}
#comparison-retreat-vs-tour .btn-ghost:hover{background:var(--n23362-bg)}
#comparison-retreat-vs-tour .btn:focus-visible{outline:3px solid rgba(110,127,99,.55);outline-offset:2px}
#comparison-retreat-vs-tour .fineprint{margin:0;color:var(--n23362-slate);font-size:.9rem;line-height:1.5}
#comparison-retreat-vs-tour ::selection{background:rgba(110,127,99,.28)}
@media (max-width: 860px){
  #comparison-retreat-vs-tour .comparison{grid-template-columns:1fr;gap:1rem}
  #comparison-retreat-vs-tour .section-header{flex-direction:column;gap:.75rem}
}
@media (prefers-reduced-motion: reduce){
  #comparison-retreat-vs-tour *{scroll-behavior:auto}
}

/* n23362:contacts */
/* n23362:contacts */
#contacts{padding:clamp(2.25rem,6vw,5rem) 0;background:var(--n23362-bg);color:var(--n23362-text);}
#contacts .contacts__container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,3.5vw,3rem);}
#contacts .contacts__head{display:flex;gap:1.25rem;align-items:flex-start;margin-bottom:clamp(1.5rem,3vw,2.25rem);}
#contacts .contacts__kicker{font-family:var(--font-family-serif, Georgia, Cambria, 'Times New Roman', serif);font-weight:700;letter-spacing:-0.02em;color:var(--n23362-secondary);font-size:1.25rem;line-height:1;min-width:2.25rem;padding-top:0.35rem;}
#contacts .contacts__title{font-family:var(--font-family-serif, Georgia, Cambria, 'Times New Roman', serif);font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15;margin:0 0 0.5rem 0;letter-spacing:-0.02em;text-wrap:balance;}
#contacts .contacts__subtitle{margin:0;font-size:1rem;line-height:1.6;color:var(--n23362-ink);max-width:52ch;}
#contacts .contacts__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(1.25rem,3vw,2.5rem);align-items:start;}
#contacts .contacts__aside{background:var(--n23362-surface);border:1px solid var(--n23362-border);border-radius:var(--n23362-radius-lg, 16px);padding:1.25rem 1.25rem 1.1rem 1.25rem;}
#contacts .contacts__aside-title{margin:0 0 0.75rem 0;font-size:1.05rem;font-family:var(--font-family-sans, Georgia, Cambria, 'Times New Roman', serif);color:var(--n23362-ink);}
#contacts .contacts__steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.85rem;}
#contacts .contacts__steps li{display:flex;gap:0.85rem;align-items:flex-start;}
#contacts .contacts__step-num{width:28px;height:28px;border-radius:var(--n23362-radius-sm, 8px);background:rgba(110,127,99,0.12);border:1px solid rgba(110,127,99,0.35);color:var(--n23362-secondary);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:0.95rem;flex:0 0 auto;}
#contacts .contacts__step-text{line-height:1.55;color:var(--n23362-text);font-size:0.98rem;}
#contacts .contacts__aside-note{margin-top:1rem;padding:0.95rem;border-radius:var(--n23362-radius-md, 12px);background:rgba(231,226,207,0.35);border:1px solid rgba(217,211,196,0.75);}
#contacts .contacts__aside-note-p{margin:0;color:var(--n23362-ink);font-size:0.95rem;line-height:1.55;}
#contacts .contacts__aside-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem;}
#contacts .contacts__link{display:inline-block;color:var(--n23362-ink);text-decoration:underline;text-decoration-color:rgba(110,127,99,0.7);text-underline-offset:3px;font-size:0.98rem;}
#contacts .contacts__link:focus-visible{outline:3px solid rgba(110,127,99,0.35);outline-offset:3px;border-radius:6px;}
#contacts .contacts__form-wrap{background:var(--n23362-surface);border:1px solid var(--n23362-border);border-radius:var(--n23362-radius-lg, 16px);padding:1.25rem;}
#contacts .contacts__form{display:flex;flex-direction:column;gap:0.95rem;}
#contacts .field-row{display:grid;grid-template-columns:1fr 1fr;gap:0.95rem;}
#contacts .field{display:flex;flex-direction:column;gap:0.45rem;min-width:0;}
#contacts .field__label{font-weight:600;color:var(--n23362-ink);font-size:0.95rem;}
#contacts .field__input,#contacts .field__textarea{width:100%;border-radius:var(--n23362-radius-md, 12px);border:1px solid rgba(74,86,80,0.35);background:var(--n23362-bg);color:var(--n23362-ink);padding:0.78rem 0.85rem;font-size:1rem;line-height:1.4;}
#contacts .field__textarea{resize:vertical;min-height:140px;}
#contacts .field__input::placeholder,#contacts .field__textarea::placeholder{color:rgba(15,23,19,0.55);}
#contacts .field__input:focus-visible,#contacts .field__textarea:focus-visible{outline:3px solid rgba(110,127,99,0.35);outline-offset:2px;border-color:rgba(110,127,99,0.55);}
#contacts .btn{appearance:none;border-radius:var(--n23362-radius-md, 12px);padding:0.95rem 1rem;border:1px solid transparent;font-weight:700;font-size:1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:44px;letter-spacing:0.01em;}
#contacts .btn--primary{background:var(--n23362-primary);color:var(--n23362-mist);box-shadow:0 10px 24px rgba(15,23,19,0.12);transform:translateY(0);transition:transform 160ms ease, box-shadow 160ms ease, background 160ms ease;}
#contacts .btn--primary:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,23,19,0.16);}
#contacts .btn--primary:active{transform:translateY(0);}
#contacts .btn--primary:focus-visible{outline:3px solid rgba(110,127,99,0.35);outline-offset:3px;}
#contacts .btn[disabled]{opacity:0.6;cursor:not-allowed;}
#contacts .form-footnote{margin:0;font-size:0.92rem;line-height:1.6;color:var(--n23362-slate);}
#contacts ::selection{background:rgba(110,127,99,0.25);color:var(--n23362-ink);}
@media (max-width:900px){#contacts .contacts__grid{grid-template-columns:1fr;}}
@media (max-width:640px){#contacts .contacts__head{flex-direction:row;align-items:flex-start;gap:0.9rem;}
#contacts .field-row{grid-template-columns:1fr;}
#contacts .contacts__aside-links{flex-direction:column;}
#contacts .contacts__form-wrap{padding:1.1rem;}}
@media (prefers-reduced-motion:reduce){#contacts .btn--primary{transition:none;}#contacts .btn--primary:hover{transform:none;}}
/* n23362:week-at-a-glance */
/* n23362:week-at-a-glance */
#week-at-a-glance{background:var(--n23362-bg);color:var(--n23362-text);padding:clamp(2.25rem,5vw,4.25rem) 0;}
#week-at-a-glance .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#week-at-a-glance .section-kicker{font-family:var(--font-serif, serif);font-size:0.95rem;letter-spacing:-0.01em;color:var(--n23362-secondary);margin-bottom:0.75rem;}
#week-at-a-glance .section-title{font-family:var(--font-serif, serif);font-weight:700;font-size:clamp(1.5rem,3vw,2.25rem);letter-spacing:-0.02em;line-height:1.12;margin:0 0 0.9rem 0;text-wrap:balance;}
#week-at-a-glance .section-lede{margin:0 0 clamp(1.5rem,3vw,2.25rem) 0;max-width:56ch;font-size:1rem;line-height:1.7;color:var(--n23362-ink);}
#week-at-a-glance .formats{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2.6vw,1.75rem);align-items:start;}
#week-at-a-glance .format{background:var(--n23362-surface);border:1px solid var(--n23362-border);border-radius:var(--radius-lg);padding:1.35rem 1.25rem;box-shadow:0 10px 28px rgba(15,23,19,0.06);}
#week-at-a-glance .format-header{margin-bottom:1rem;}
#week-at-a-glance .format-title{font-family:var(--font-serif, serif);font-size:1.35rem;letter-spacing:-0.015em;margin:0 0 0.35rem 0;}
#week-at-a-glance .format-sub{margin:0;color:var(--n23362-slate);line-height:1.6;font-size:0.98rem;}
#week-at-a-glance .schedule{display:flex;flex-direction:column;gap:0.75rem;}
#week-at-a-glance .slot-row{display:grid;grid-template-columns:1.05fr 0.55fr 1.25fr;gap:0.85rem;align-items:start;padding:0.75rem 0.8rem;border-radius:var(--radius-md);border:1px solid rgba(217,211,196,0.7);background:rgba(245,242,234,0.55);}
#week-at-a-glance .slot-label{font-weight:700;color:var(--n23362-ink);font-size:0.95rem;line-height:1.3;}
#week-at-a-glance .slot-time{font-variant-numeric:tabular-nums;font-weight:700;color:var(--n23362-secondary);font-size:0.95rem;line-height:1.3;}
#week-at-a-glance .slot-note{color:var(--n23362-slate);line-height:1.55;font-size:0.95rem;}
#week-at-a-glance .format-foot{display:flex;gap:0.9rem;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:0.95rem;border-top:1px solid rgba(217,211,196,0.65);}
#week-at-a-glance .pill{display:inline-flex;align-items:center;height:34px;padding:0 0.95rem;border-radius:999px;border:1px solid var(--n23362-border);background:var(--n23362-bg);font-size:0.9rem;color:var(--n23362-ink);font-weight:700;white-space:nowrap;}
#week-at-a-glance .pill--included{border-color:rgba(110,127,99,0.5);color:var(--n23362-secondary);}
#week-at-a-glance .pill--optional{border-color:rgba(15,23,19,0.15);color:var(--n23362-ink);opacity:0.95;}
#week-at-a-glance .link{color:var(--n23362-ink);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(15,23,19,0.35);padding-bottom:2px;}
#week-at-a-glance .link:hover{border-bottom-color:rgba(110,127,99,0.95);}
#week-at-a-glance .link:focus-visible{outline:3px solid rgba(110,127,99,0.35);outline-offset:3px;border-bottom-color:rgba(110,127,99,0.95);}
#week-at-a-glance .note{margin-top:clamp(1.5rem,3.5vw,2.75rem);padding:1.2rem 1.1rem;border:1px solid rgba(217,211,196,0.9);border-radius:var(--radius-lg);background:linear-gradient(180deg, rgba(231,226,207,0.55), rgba(231,226,207,0.15));}
#week-at-a-glance .note-title{font-family:var(--font-serif, serif);font-weight:800;letter-spacing:-0.01em;margin-bottom:0.35rem;font-size:1.1rem;}
#week-at-a-glance .note-copy{margin:0 0 1rem 0;color:var(--n23362-slate);line-height:1.7;max-width:68ch;}
#week-at-a-glance .primary-link{display:inline-flex;align-items:center;height:44px;padding:0 1.15rem;border-radius:var(--radius-md);background:var(--n23362-primary);color:var(--n23362-bg);text-decoration:none;font-weight:800;box-shadow:0 14px 34px rgba(31,42,36,0.16);transform:translateY(0);transition:transform 140ms ease, box-shadow 140ms ease, background 140ms ease;}
#week-at-a-glance .primary-link:hover{transform:translateY(-1px);box-shadow:0 18px 44px rgba(31,42,36,0.2);}
#week-at-a-glance .primary-link:focus-visible{outline:3px solid rgba(110,127,99,0.45);outline-offset:3px;}
#week-at-a-glance::selection{background:rgba(110,127,99,0.35);}
@media (max-width: 900px){#week-at-a-glance .formats{grid-template-columns:1fr;gap:1rem;}#week-at-a-glance .slot-row{grid-template-columns:1.05fr 0.6fr;grid-template-areas:"label time" "note note";}
#week-at-a-glance .slot-label{grid-area:label;}#week-at-a-glance .slot-time{grid-area:time;}#week-at-a-glance .slot-note{grid-area:note;}}
@media (prefers-reduced-motion: reduce){#week-at-a-glance .primary-link{transition:none;}.primary-link:hover{transform:none;}}
/* n23362:day-cards */
#day-cards.day-cards-section{background:var(--n23362-bg);color:var(--n23362-text)}
#day-cards.day-cards-section .container{max-width:72rem;margin:0 auto;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,4vw,3rem)}
#day-cards.day-cards-section .section-head{margin-bottom:clamp(1.5rem,3.8vw,3rem)}
#day-cards.day-cards-section .section-kicker{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}
#day-cards.day-cards-section .section-number{font-family:var(--n23362-serif,serif);font-weight:700;color:var(--n23362-secondary);font-size:1rem;letter-spacing:.06em}
#day-cards.day-cards-section .section-kicker-text{font-family:Georgia,Cambria,'Times New Roman',serif;font-size:.95rem;color:var(--n23362-slate)}
#day-cards.day-cards-section .section-title{font-family:Georgia,Cambria,'Times New Roman',serif;font-weight:700;font-size:clamp(1.4rem,2.5vw,2.25rem);line-height:1.15;letter-spacing:-.02em;text-wrap:balance;margin:0 0 .75rem}
#day-cards.day-cards-section .section-lede{margin:0;color:var(--n23362-slate);max-width:60ch;font-size:1rem;line-height:1.6}
#day-cards.day-cards-section .itinerary-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,1.25rem);align-items:start}
#day-cards.day-cards-section .day-card{grid-column:span 4;background:var(--n23362-surface);border:1px solid var(--n23362-border);border-radius:var(--n23362-radius-lg,16px);padding:0;overflow:hidden;box-shadow:0 10px 30px rgba(15,23,19,.06)}
#day-cards.day-cards-section .day-card:first-child{margin-top:0}
#day-cards.day-cards-section .day-card-title{margin:0}
#day-cards.day-cards-section .day-toggle{width:100%;text-align:left;background:transparent;border:0;padding:1.1rem 1.05rem;cursor:pointer;display:flex;align-items:center;gap:.9rem}
#day-cards.day-cards-section .day-toggle:focus-visible{outline:3px solid var(--n23362-accent);outline-offset:2px}
#day-cards.day-cards-section .day-toggle-icon{margin-left:auto;width:1.9rem;height:1.9rem;border-radius:999px;border:1px solid var(--n23362-border);display:flex;align-items:center;justify-content:center;color:var(--n23362-secondary);font-size:1.2rem;line-height:1}
#day-cards.day-cards-section .day-badge{font-family:Georgia,Cambria,'Times New Roman',serif;font-weight:700;color:var(--n23362-ink);font-size:1.05rem;min-width:5.5rem}
#day-cards.day-cards-section .day-toggle-text{font-family:Georgia,Cambria,'Times New Roman',serif;font-weight:700;color:var(--n23362-ink);font-size:1.05rem;line-height:1.25}
#day-cards.day-cards-section .day-panel{padding:0 1.05rem 1.05rem}
#day-cards.day-cards-section .day-panel[hidden]{display:none}
#day-cards.day-cards-section .timeslot-grid{display:grid;gap:.9rem;margin-top:1rem}
#day-cards.day-cards-section .timeslot{border-left:3px solid transparent;padding-left:.9rem}
#day-cards.day-cards-section .timeslot-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.35rem}
#day-cards.day-cards-section .timeslot-time{font-family:Georgia,Cambria,'Times New Roman',serif;font-weight:700;color:var(--n23362-ink);letter-spacing:-.01em}
#day-cards.day-cards-section .timeslot-tag{margin-left:auto;font-size:.82rem;border-radius:999px;padding:.35rem .6rem;border:1px solid var(--n23362-border)}
#day-cards.day-cards-section .timeslot-tag.included{color:var(--n23362-ink);background:rgba(245,242,234,.85)}
#day-cards.day-cards-section .timeslot-tag.optional{color:var(--n23362-secondary);background:rgba(110,127,99,.09);border-color:rgba(110,127,99,.35)}
#day-cards.day-cards-section .timeslot-items{margin:0;padding-left:1.1rem;color:var(--n23362-slate);line-height:1.6;font-size:.98rem}
#day-cards.day-cards-section .timeslot-items li{margin:.35rem 0}
#day-cards.day-cards-section .day-inclusion-note{margin-top:1rem;padding-top:.85rem;border-top:1px dashed var(--n23362-border);color:var(--n23362-slate);font-size:.9rem;line-height:1.5}
#day-cards.day-cards-section .day-card[data-open="true"]{border-color:rgba(110,127,99,.6)}
#day-cards.day-cards-section .day-card[data-open="true"] .timeslot{border-left-color:rgba(110,127,99,.55)}
#day-cards.day-cards-section .cta-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-top:clamp(1rem,2vw,1.5rem);padding-top:clamp(.9rem,2vw,1.2rem);border-top:1px solid var(--n23362-border)}
#day-cards.day-cards-section .secondary-link{color:var(--n23362-ink);text-decoration:underline;text-decoration-color:rgba(110,127,99,.65);text-underline-offset:3px;font-weight:700}
#day-cards.day-cards-section .secondary-link:focus-visible{outline:3px solid var(--n23362-accent);outline-offset:3px;border-radius:6px}
#day-cards.day-cards-section .cta-disclaimer{color:var(--n23362-slate);font-size:.95rem;line-height:1.55;max-width:56ch}
#day-cards.day-cards-section ::selection{background:rgba(110,127,99,.25)}
@media (max-width:1024px){#day-cards.day-cards-section .day-card{grid-column:span 6}}
@media (max-width:768px){#day-cards.day-cards-section .container{padding:1.25rem 1rem}#day-cards.day-cards-section .day-card{grid-column:span 12}#day-cards.day-cards-section .cta-row{flex-direction:column;align-items:flex-start}}
@media (prefers-reduced-motion:reduce){#day-cards.day-cards-section *{scroll-behavior:auto;transition:none!important;animation:none!important}}
/* n23362:included-vs-optional */
/* n23362:included-vs-optional */
#included-vs-optional{padding:clamp(2.25rem,4.4vw,4.25rem) 0;background:var(--n23362-bg);color:var(--n23362-text);}
#included-vs-optional .section-inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#included-vs-optional .section-heading{margin-bottom:clamp(1.5rem,3.5vw,2.75rem);}
#included-vs-optional .section-kicker{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.75rem;}
#included-vs-optional .section-kicker-num{font-family:var(--font-serif, 'Hoefler Text, Baskerville Old Face, Garamond, Georgia, serif');font-weight:700;letter-spacing:.02em;color:var(--n23362-primary);font-size:1rem;}
#included-vs-optional .section-kicker-text{font-family:var(--font-sans, Georgia, Cambria, 'Times New Roman', serif);font-weight:600;color:var(--n23362-secondary);font-size:.95rem;}
#included-vs-optional .section-title{font-family:var(--font-serif, 'Hoefler Text, Baskerville Old Face, Garamond, Georgia, serif');font-size:clamp(1.25rem,2.2vw,2rem);line-height:1.15;letter-spacing:-.015em;margin:0;max-width:52rem;text-wrap:balance;}
#included-vs-optional .checklist-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,3vw,2rem);align-items:start;}
#included-vs-optional .checklist-col{border:1px solid var(--n23362-border);border-radius:var(--radius-lg,16px);background:var(--n23362-surface);padding:clamp(1.1rem,2.2vw,1.4rem);}
#included-vs-optional .checklist-col.included{box-shadow:0 10px 30px rgba(15,23,19,.05);}
#included-vs-optional .checklist-col.optional{background:linear-gradient(180deg, rgba(231,226,207,.7), rgba(245,242,234,1));}
#included-vs-optional .checklist-title{margin:.15rem 0 1rem;font-family:var(--font-serif, 'Hoefler Text, Baskerville Old Face, Garamond, Georgia, serif');font-size:1.15rem;letter-spacing:-.01em;color:var(--n23362-ink);}
#included-vs-optional .checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.8rem;}
#included-vs-optional .checklist-item{display:flex;gap:.8rem;align-items:flex-start;}
#included-vs-optional .check-icon{flex:0 0 30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm,8px);border:1px solid var(--n23362-border);background:var(--n23362-bg);color:var(--n23362-ink);font-weight:800;font-size:1rem;line-height:1;}
#included-vs-optional .checklist-col.optional .check-icon{background:rgba(255,255,255,.6);border-color:rgba(217,211,196,.95);color:var(--n23362-secondary);}
#included-vs-optional .check-text{font-family:var(--font-sans, Georgia, Cambria, 'Times New Roman', serif);font-size:1rem;line-height:1.35;color:var(--n23362-text);}
#included-vs-optional .note{margin-top:clamp(1.25rem,3.5vw,2.25rem);padding:1.1rem 1.15rem;border:1px solid var(--n23362-border);border-radius:var(--radius-lg,16px);background:var(--n23362-bg);}
#included-vs-optional .note-text{margin:.45rem 0;max-width:62rem;font-family:var(--font-sans, Georgia, Cambria, 'Times New Roman', serif);color:var(--n23362-slate);line-height:1.5;}
#included-vs-optional .note-link{color:var(--n23362-primary);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;}
#included-vs-optional .note-link:focus-visible{outline:3px solid rgba(110,127,99,.35);outline-offset:3px;border-radius:6px;}
#included-vs-optional ::selection{background:rgba(110,127,99,.28);}
@media (max-width:768px){#included-vs-optional .checklist-grid{grid-template-columns:1fr;}#included-vs-optional .checklist-col{padding:1.05rem;}}
@media (prefers-reduced-motion:reduce){#included-vs-optional *{scroll-behavior:auto;transition:none!important;animation:none!important;}}
/* n23362:booking-cta */
/* n23362:booking-cta */
#booking-cta{padding:clamp(2.5rem,5vw,5rem) 0;background:var(--n23362-bg);color:var(--n23362-text);} 
#booking-cta .booking-cta-shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);} 
#booking-cta .booking-cta-label{font-family:var(--n23362-serif,Georgia,serif);font-weight:700;font-size:1.1rem;letter-spacing:0.02em;color:var(--n23362-secondary);margin-bottom:clamp(1.2rem,2vw,2rem);} 
#booking-cta .booking-cta-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(1.2rem,3vw,2.4rem);align-items:start;} 
#booking-cta .booking-cta-title{font-family:var(--n23362-serif,Georgia,serif);font-size:clamp(1.7rem,3.2vw,2.4rem);line-height:1.1;letter-spacing:-0.02em;margin:0 0 0.75rem;} 
#booking-cta .booking-cta-subtitle{margin:0 0 1.25rem;max-width:38rem;font-size:1rem;line-height:1.6;color:var(--n23362-ink);} 
#booking-cta .booking-cta-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.75rem;} 
#booking-cta .step{display:flex;gap:0.75rem;align-items:flex-start;background:var(--n23362-surface);border:1px solid var(--n23362-border);border-radius:var(--n23362-radius-md,12px);padding:0.85rem 0.9rem;} 
#booking-cta .step-num{width:2rem;min-width:2rem;height:2rem;border-radius:999px;background:var(--n23362-mist);border:1px solid var(--n23362-border);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--n23362-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;} 
#booking-cta .step-text{font-size:0.98rem;line-height:1.45;color:var(--n23362-text);} 
#booking-cta .booking-cta-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.25rem;} 
#booking-cta .booking-link{color:var(--n23362-ink);text-decoration:underline;text-decoration-color:var(--n23362-border);text-underline-offset:3px;font-size:0.95rem;} 
#booking-cta .booking-link:focus-visible{outline:3px solid var(--n23362-secondary);outline-offset:3px;border-radius:6px;} 
#booking-cta .booking-cta-panel{background:var(--n23362-surface);border:1px solid var(--n23362-border);border-radius:var(--n23362-radius-lg,16px);padding:1.1rem 1.1rem 1.25rem;} 
#booking-cta .booking-form{display:flex;flex-direction:column;gap:0.95rem;} 
#booking-cta .field{display:flex;flex-direction:column;gap:0.45rem;} 
#booking-cta label{font-size:0.9rem;color:var(--n23362-ink);} 
#booking-cta input,#booking-cta select,#booking-cta textarea{width:100%;border:1px solid var(--n23362-border);border-radius:var(--n23362-radius-md,12px);background:var(--n23362-bg);color:var(--n23362-ink);padding:0.75rem 0.85rem;font-family:inherit;font-size:1rem;line-height:1.35;} 
#booking-cta textarea{resize:vertical;min-height:6rem;} 
#booking-cta input::placeholder,#booking-cta textarea::placeholder{color:var(--n23362-slate);} 
#booking-cta input:focus,#booking-cta select:focus,#booking-cta textarea:focus{outline:none;border-color:var(--n23362-secondary);box-shadow:0 0 0 3px rgba(110,127,99,0.25);} 
#booking-cta .booking-submit{margin-top:0.25rem;display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:var(--n23362-radius-md,12px);padding:0.85rem 1rem;border:1px solid var(--n23362-primary);background:var(--n23362-primary);color:#fff;font-weight:700;letter-spacing:0.01em;cursor:pointer;transition:transform 120ms ease, box-shadow 120ms ease, background 120ms ease;box-shadow:0 10px 24px rgba(15,23,19,0.12);} 
#booking-cta .booking-submit:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,23,19,0.16);} 
#booking-cta .booking-submit:active{transform:translateY(0);} 
#booking-cta .booking-submit:disabled{opacity:0.6;cursor:not-allowed;} 
#booking-cta .booking-submit:focus-visible{outline:3px solid var(--n23362-secondary);outline-offset:3px;} 
#booking-cta .booking-disclaimer{margin:0;color:var(--n23362-slate);font-size:0.9rem;line-height:1.5;} 
#booking-cta ::selection{background:rgba(110,127,99,0.35);}
@media (max-width:768px){#booking-cta .booking-cta-grid{grid-template-columns:1fr;gap:1.25rem;} #booking-cta .booking-cta-label{margin-bottom:1rem;} #booking-cta .step{padding:0.8rem 0.85rem;} }
@media (prefers-reduced-motion:reduce){#booking-cta .booking-submit{transition:none;}}

/* n23362:format-cards */
#format-cards{color:var(--n23362-ink);background:var(--n23362-bg);padding:clamp(1.5rem,4vw,3rem) clamp(1rem,3.5vw,2.25rem);max-width:72rem;margin:0 auto;box-sizing:border-box}
/* n23362:format-cards */
#format-cards .section-header{display:flex;gap:1rem;align-items:flex-start;margin-bottom:clamp(1.5rem,3.5vw,2.5rem)}
#format-cards .section-kicker{font-family:var(--font-serif, Georgia, Cambria, 'Times New Roman', serif);font-weight:700;letter-spacing:-0.02em;color:var(--n23362-secondary);font-size:1.1rem;line-height:1.2;min-width:2.25rem}
#format-cards .section-title{font-family:var(--font-serif, Georgia, Cambria, 'Times New Roman', serif);font-size:clamp(1.6rem,3.2vw,2.35rem);line-height:1.12;margin:0}
#format-cards .section-subtitle{margin:0.6rem 0 0;font-family:var(--font-sans, Georgia, Cambria, 'Times New Roman', serif);font-size:1rem;line-height:1.6;color:rgba(15,23,19,.86);max-width:54ch}
#format-cards .format-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;align-items:stretch}
#format-cards .format-card{background:var(--n23362-surface);border:1px solid var(--n23362-border);border-radius:var(--radius-lg,16px);box-shadow:0 10px 30px rgba(15,23,19,.06);overflow:hidden}
#format-cards .format-card-inner{padding:1.25rem 1.25rem 1.15rem}
#format-cards .format-top{padding-bottom:0.75rem}
#format-cards .format-badge{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-sans, Georgia, Cambria, 'Times New Roman', serif);font-weight:700;color:var(--n23362-primary);background:rgba(110,127,99,.12);border:1px solid rgba(110,127,99,.35);padding:.35rem .6rem;border-radius:999px;font-size:.875rem}
#format-cards .format-title{font-family:var(--font-serif, Georgia, Cambria, 'Times New Roman', serif);margin:.7rem 0 .35rem;font-size:1.35rem;line-height:1.18}
#format-cards .format-meta{margin:0;color:rgba(15,23,19,.84);line-height:1.55}
#format-cards .format-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}
#format-cards .format-points li{display:flex;gap:.6rem;align-items:flex-start}
#format-cards .dot{width:.55rem;height:.55rem;border-radius:999px;background:var(--n23362-secondary);margin-top:.55rem;flex:0 0 auto}
#format-cards .point-text{color:rgba(15,23,19,.92);line-height:1.6;font-size:.98rem}
#format-cards .point-text strong{color:var(--n23362-ink)}
#format-cards .format-divider{height:1px;background:linear-gradient(90deg, rgba(217,211,196,.9), rgba(217,211,196,.25));margin:1.05rem 0}
#format-cards .format-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
#format-cards .format-note{margin:0.85rem 0 0;color:rgba(15,23,19,.78);line-height:1.55;font-size:.95rem}
#format-cards .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1rem;border-radius:var(--radius-md,12px);text-decoration:none;font-family:var(--font-sans, Georgia, Cambria, 'Times New Roman', serif);font-weight:700;letter-spacing:.01em;transition:transform 120ms ease, background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease}
#format-cards .btn:focus-visible{outline:3px solid rgba(110,127,99,.55);outline-offset:2px}
#format-cards .btn-primary{background:var(--n23362-primary);color:var(--n23362-bg);border:1px solid var(--n23362-primary);box-shadow:0 10px 22px rgba(31,42,36,.18)}
#format-cards .btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(31,42,36,.22)}
#format-cards .btn-primary:active{transform:translateY(0)}
#format-cards .btn-ghost{background:transparent;color:var(--n23362-primary);border:1px solid rgba(31,42,36,.25)}
#format-cards .btn-ghost:hover{background:rgba(110,127,99,.10);border-color:rgba(110,127,99,.55)}
#format-cards .btn-ghost:active{transform:translateY(0)}
#format-cards .format-side-note{margin-top:clamp(1.25rem,3vw,2.25rem);padding:1.15rem 1.25rem;border:1px solid rgba(217,211,196,.95);background:rgba(245,242,234,.75);border-radius:var(--radius-lg,16px)}
#format-cards .side-note-title{margin:0 0 .6rem;font-family:var(--font-serif, Georgia, Cambria, 'Times New Roman', serif);font-size:1.1rem;letter-spacing:-0.01em}
#format-cards .side-note-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}
#format-cards .side-note-steps li{display:flex;gap:.75rem;align-items:flex-start;line-height:1.6;color:rgba(15,23,19,.88);font-size:0.98rem}
#format-cards .step-number{width:1.55rem;height:1.55rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(110,127,99,.16);border:1px solid rgba(110,127,99,.35);color:var(--n23362-primary);font-weight:800;flex:0 0 auto;margin-top:.05rem;font-family:var(--font-sans, Georgia, Cambria, 'Times New Roman', serif)}
#format-cards ::selection{background:rgba(110,127,99,.28)}
@media (min-width: 860px){
  #format-cards .format-grid{grid-template-columns:1fr 1fr;gap:1.6rem}
  #format-cards .format-card-inner{padding:1.4rem 1.4rem 1.25rem}
}
@media (prefers-reduced-motion: reduce){
  #format-cards .btn{transition:none}
  #format-cards .btn-primary:hover{transform:none}
}

/* n23362:what-to-bring */
/* n23362:what-to-bring */
#what-to-bring{background:var(--n23362-bg);color:var(--n23362-text);padding:clamp(2.5rem,5vw,4.5rem) 0;}
#what-to-bring .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#what-to-bring .section-head{display:block;margin-bottom:clamp(1.5rem,3.5vw,2.5rem);}
#what-to-bring .section-kicker{font-family:var(--n23362-sans,Georgia,serif);font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--n23362-secondary);margin-bottom:.75rem;}
#what-to-bring .section-title{font-family:var(--n23362-serif,'Hoefler Text',Baskerville Old Face,Garamond,Georgia,serif);font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-0.02em;margin:0 0 .75rem 0;line-height:1.15;text-wrap:balance;}
#what-to-bring .section-lede{margin:0;max-width:62ch;line-height:1.65;color:var(--n23362-ink);font-size:1rem;}
#what-to-bring .packing-columns{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,3vw,2rem);align-items:start;}
#what-to-bring .packing-column{background:var(--n23362-surface);border:1px solid var(--n23362-border);border-radius:var(--n23362-radius-md,12px);padding:clamp(1rem,2.4vw,1.6rem);}
#what-to-bring .subhead{margin:0 0 .75rem 0;font-size:1.125rem;line-height:1.25;font-family:var(--n23362-serif,'Hoefler Text',Baskerville Old Face,Garamond,Georgia,serif);color:var(--n23362-ink);}
#what-to-bring .checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem;}
#what-to-bring .check{position:relative;padding-left:1.35rem;line-height:1.6;color:var(--n23362-ink);}
#what-to-bring .check::before{content:"";position:absolute;left:0;top:.65rem;width:.85rem;height:.55rem;border-left:2px solid var(--n23362-secondary);border-bottom:2px solid var(--n23362-secondary);transform:rotate(-45deg);}
#what-to-bring .slot{font-weight:700;color:var(--n23362-primary);font-family:inherit;}
#what-to-bring .note{margin:.9rem 0 0 0;color:var(--n23362-slate);line-height:1.6;font-size:.95rem;}
#what-to-bring .callout{margin-top:clamp(1.2rem,3vw,2.2rem);}
#what-to-bring .callout-inner{border:1px solid var(--n23362-border);background:linear-gradient(0deg, rgba(231,226,207,.55), rgba(231,226,207,.55));border-radius:var(--n23362-radius-md,12px);padding:clamp(1rem,2.6vw,1.6rem);}
#what-to-bring .callout-title{font-family:var(--n23362-serif,'Hoefler Text',Baskerville Old Face,Garamond,Georgia,serif);font-size:1.1rem;margin:0 0 .55rem 0;color:var(--n23362-ink);}
#what-to-bring .callout-text{margin:0 0 .95rem 0;line-height:1.65;max-width:70ch;color:var(--n23362-ink);}
#what-to-bring .link-cta{display:inline-flex;align-items:center;gap:.5rem;background:var(--n23362-primary);color:var(--n23362-bg);text-decoration:none;border:1px solid var(--n23362-primary);border-radius:var(--n23362-radius-sm,8px);padding:.75rem 1rem;font-weight:700;line-height:1;}
#what-to-bring .link-cta:focus-visible{outline:3px solid var(--n23362-secondary);outline-offset:2px;}
#what-to-bring .link-cta:hover{transform:translateY(-1px);}
#what-to-bring .link-cta:active{transform:translateY(0);}
#what-to-bring ::selection{background:var(--n23362-secondary);color:var(--n23362-bg);}
@media (max-width:768px){#what-to-bring .packing-columns{grid-template-columns:1fr;gap:1rem;}}
@media (prefers-reduced-motion:reduce){#what-to-bring .link-cta:hover{transform:none;}}

/* n23362:faq-accordion */
/* n23362:faq-accordion */
#faq-accordion{padding:clamp(2.2rem,5vw,4.2rem) 0;background:var(--n23362-bg);color:var(--n23362-ink);} 
#faq-accordion .faq-shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);} 
#faq-accordion .faq-header{display:flex;gap:1.25rem;align-items:flex-start;margin-bottom:1.6rem;} 
#faq-accordion .faq-kicker{font-family:var(--n23362-serif, Georgia, Cambria, 'Times New Roman', serif);font-size:1.05rem;letter-spacing:0.08em;color:var(--n23362-secondary);padding-top:0.25rem;min-width:2.25rem;} 
#faq-accordion .faq-title{font-family:var(--n23362-serif, Georgia, Cambria, 'Times New Roman', serif);font-size:clamp(1.55rem,2.8vw,2.2rem);margin:0;letter-spacing:-0.01em;line-height:1.15;text-wrap:balance;} 
#faq-accordion .faq-subtitle{margin:0.55rem 0 0;font-size:1rem;line-height:1.65;color:var(--n23362-text);} 
#faq-accordion .faq-accordion{border-top:1px solid var(--n23362-border);} 
#faq-accordion .faq-item{border-bottom:1px solid var(--n23362-border);} 
#faq-accordion .faq-trigger{width:100%;text-align:left;background:transparent;border:0;padding:1.05rem 0;display:flex;align-items:center;gap:1rem;cursor:pointer;color:var(--n23362-ink);} 
#faq-accordion .faq-trigger:focus{outline:none;} 
#faq-accordion .faq-trigger:focus-visible{outline:3px solid rgba(110,127,99,0.45);outline-offset:4px;border-radius:var(--n23362-radius-md,12px);} 
#faq-accordion .faq-q{font-family:var(--n23362-sans, Georgia, Cambria, 'Times New Roman', serif);font-size:1.02rem;font-weight:700;letter-spacing:-0.005em;line-height:1.35;} 
#faq-accordion .faq-plus{margin-left:auto;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--n23362-border);border-radius:var(--n23362-radius-sm,8px);color:var(--n23362-secondary);font-size:1.25rem;line-height:1;transition:transform 200ms ease, color 200ms ease, border-color 200ms ease;} 
#faq-accordion .faq-panel{padding:0 0 1.1rem;}
#faq-accordion .faq-a p{margin:0.7rem 0;line-height:1.7;color:var(--n23362-text);} 
#faq-accordion .faq-note{color:var(--n23362-slate);font-size:0.95rem;} 
#faq-accordion .faq-link{color:var(--n23362-primary);text-decoration:underline;text-decoration-color:rgba(31,42,36,0.35);text-underline-offset:3px;} 
#faq-accordion .faq-link:focus-visible{outline:3px solid rgba(110,127,99,0.45);outline-offset:3px;border-radius:6px;} 
#faq-accordion .faq-cta{margin-top:1.7rem;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.05rem 1.1rem;border:1px solid var(--n23362-border);border-radius:var(--n23362-radius-md,12px);background:var(--n23362-surface);} 
#faq-accordion .faq-cta-text{margin:0;color:var(--n23362-text);line-height:1.55;} 
#faq-accordion .faq-cta-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0.75rem 1rem;border-radius:var(--n23362-radius-md,12px);background:var(--n23362-primary);color:var(--n23362-bg);text-decoration:none;font-weight:800;letter-spacing:-0.01em;box-shadow:0 10px 22px rgba(15,23,19,0.12);} 
#faq-accordion .faq-cta-button:hover{transform:translateY(-1px);} 
#faq-accordion .faq-cta-button:focus{outline:none;} 
#faq-accordion .faq-cta-button:focus-visible{outline:3px solid rgba(110,127,99,0.5);outline-offset:4px;} 
#faq-accordion .faq-item[data-open="true"] .faq-plus{transform:rotate(45deg);border-color:rgba(110,127,99,0.55);color:var(--n23362-accent);} 
@media (max-width:768px){
  #faq-accordion .faq-header{gap:0.9rem;}
  #faq-accordion .faq-cta{flex-direction:column;align-items:flex-start;}
  #faq-accordion .faq-trigger{padding:1rem 0;}
}
@media (prefers-reduced-motion:reduce){
  #faq-accordion .faq-plus{transition:none;}
  #faq-accordion .faq-cta-button:hover{transform:none;}
}
#faq-accordion ::selection{background:rgba(110,127,99,0.35);}

/* n23362:contacts */
/* n23362:contacts */
#contacts{padding:var(--n23362-space-0,0);}
#contacts .contacts-shell{max-width:72rem;margin:0 auto;padding:clamp(2.5rem,5vw,4.5rem) clamp(1rem,4vw,3rem) clamp(2.5rem,6vw,5rem);}
#contacts .section-head{display:flex;gap:1.25rem;align-items:flex-start;margin-bottom:2rem;}
#contacts .section-kicker{font-family:var(--n23362-serif, Georgia, Cambria, 'Times New Roman', serif);font-size:1.25rem;letter-spacing:0.02em;color:var(--n23362-secondary);padding-top:0.35rem;min-width:3.25rem;}
#contacts .section-title{font-family:var(--n23362-serif, Georgia, Cambria, 'Times New Roman', serif);font-size:clamp(1.6rem,2.5vw,2.3rem);margin:0;color:var(--n23362-ink);letter-spacing:-0.01em;}
#contacts .section-subtitle{margin:0.5rem 0 0;font-size:1rem;line-height:1.6;color:var(--n23362-slate);max-width:42rem;}
#contacts .contacts-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:2rem;align-items:start;}
#contacts .contacts-aside{background:var(--n23362-surface);border:1px solid var(--n23362-border);border-radius:var(--n23362-radius-lg,16px);padding:1.25rem 1.25rem 1.1rem;}
#contacts .aside-label{margin:0 0 0.75rem;font-size:0.875rem;color:var(--n23362-secondary);letter-spacing:0.04em;text-transform:uppercase;}
#contacts .aside-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.95rem;}
#contacts .aside-item{display:grid;grid-template-columns:10.5rem 1fr;gap:0.75rem;align-items:start;}
#contacts .aside-term{font-size:0.875rem;color:var(--n23362-slate);}
#contacts .aside-link{color:var(--n23362-ink);text-decoration:underline;text-decoration-color:var(--n23362-border);text-underline-offset:3px;}
#contacts .aside-link:focus-visible{outline:3px solid var(--n23362-secondary);outline-offset:3px;border-radius:6px;}
#contacts .aside-value{color:var(--n23362-ink);line-height:1.45;}
#contacts .aside-note{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--n23362-border);}
#contacts .aside-note-title{margin:0 0 0.35rem;font-weight:700;color:var(--n23362-ink);}
#contacts .aside-note-text{margin:0;color:var(--n23362-slate);line-height:1.6;}
#contacts .form-panel{background:var(--n23362-bg);border-radius:var(--n23362-radius-lg,16px);border:1px solid var(--n23362-border);padding:1.35rem;}
#contacts .booking-form{display:flex;flex-direction:column;gap:1rem;}
#contacts .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
#contacts .field{display:flex;flex-direction:column;gap:0.5rem;min-width:0;}
#contacts .field label{font-size:0.875rem;color:var(--n23362-ink);font-weight:600;}
#contacts input[type="text"],#contacts input[type="email"],#contacts input[type="tel"],#contacts input[type="date"],#contacts input[type="number"],#contacts select,#contacts textarea{width:100%;border:1px solid var(--n23362-border);background:var(--n23362-surface);border-radius:var(--n23362-radius-md,12px);padding:0.85rem 0.95rem;font-family:inherit;color:var(--n23362-ink);font-size:1rem;}
#contacts textarea{resize:vertical;min-height:120px;}
#contacts input:focus-visible,#contacts select:focus-visible,#contacts textarea:focus-visible{outline:3px solid var(--n23362-secondary);outline-offset:2px;}
#contacts input::placeholder,#contacts textarea::placeholder{color:rgba(15,23,19,.55);}
#contacts .form-actions{display:flex;flex-direction:column;gap:0.75rem;}
#contacts .primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:0.6rem;min-height:44px;padding:0.95rem 1.1rem;border-radius:var(--n23362-radius-md,12px);border:1px solid var(--n23362-primary);background:var(--n23362-primary);color:var(--n23362-bg);font-weight:700;font-size:1rem;cursor:pointer;transform:translateY(0);transition:transform 120ms ease, filter 120ms ease;}
#contacts .primary-btn:hover{transform:translateY(-1px);filter:brightness(1.02);}
#contacts .primary-btn:active{transform:translateY(0);}
#contacts .primary-btn:focus-visible{outline:3px solid var(--n23362-secondary);outline-offset:3px;}
#contacts .fineprint{margin:0;color:var(--n23362-slate);font-size:0.875rem;line-height:1.5;}
#contacts .contacts-bottom{margin-top:2rem;}
#contacts .bottom-card{border:1px solid var(--n23362-border);background:var(--n23362-surface);border-radius:var(--n23362-radius-lg,16px);padding:1.25rem;}
#contacts .bottom-title{margin:0;font-weight:800;color:var(--n23362-ink);}
#contacts .bottom-text{margin:0.5rem 0 1rem;color:var(--n23362-slate);line-height:1.6;}
#contacts .bottom-links{display:flex;gap:0.75rem;flex-wrap:wrap;}
#contacts .link-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0.75rem 0.95rem;border-radius:var(--n23362-radius-md,12px);border:1px solid var(--n23362-border);background:var(--n23362-bg);color:var(--n23362-ink);text-decoration:none;font-weight:700;}
#contacts .link-btn:hover{border-color:var(--n23362-secondary);}
#contacts .link-btn:focus-visible{outline:3px solid var(--n23362-secondary);outline-offset:3px;}
#contacts ::selection{background:rgba(110,127,99,.35);}
@media (max-width: 980px){#contacts .contacts-grid{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}}
@media (prefers-reduced-motion: reduce){#contacts .primary-btn{transition:none;}.#contacts .primary-btn:hover{transform:none;}}
.policy-page{background:var(--n23362-bg);color:var(--n23362-text);font-family:var(--n23362-font);line-height:1.55;}
.policy-wrapper{max-width:920px;margin:0 auto;padding:24px 16px 40px 16px;}
.policy-header{border:1px solid var(--n23362-border);background:var(--n23362-surface);border-radius:var(--radius-lg);padding:18px 18px 16px 18px;}
.policy-title{margin:0 0 8px 0;font-size:30px;letter-spacing:0.2px;}
.policy-lead{margin:0;font-size:16px;color:var(--n23362-slate);}
.policy-content{margin-top:18px;}
.policy-section-title{font-size:18px;margin:20px 0 10px 0;}
.policy-paragraph{margin:0 0 12px 0;}
.policy-link{color:var(--n23362-primary);text-decoration:underline;}
.policy-footnote{color:var(--n23362-slate);font-size:13px;margin-top:-6px;}
.policy-footer{margin-top:18px;}
.policy-footer-box{border:1px solid var(--n23362-border);background:var(--n23362-surface);border-radius:var(--radius-lg);padding:16px 18px;}
.policy-footer-title{margin:0 0 6px 0;font-size:16px;font-weight:700;}
.policy-footer-text{margin:0;color:var(--n23362-slate);}

.policy-page{background:var(--n23362-bg);color:var(--n23362-text);font-family:var(--n23362-font);line-height:1.55;}
.policy-container{max-width:920px;margin:0 auto;padding:24px 18px 40px 18px;}
.policy-header{margin-bottom:18px;}
.policy-title{font-family:var(--n23362-font-display);font-weight:700;font-size:34px;line-height:1.15;margin:0 0 10px 0;color:var(--n23362-primary);}
.policy-lead{margin:0;color:var(--n23362-text);font-size:16px;}
.policy-section{background:var(--n23362-surface);border:1px solid var(--n23362-border);border-radius:var(--radius-lg);padding:18px 16px;margin:14px 0;}
.policy-h{font-size:18px;margin:0 0 10px 0;color:var(--n23362-primary);}
.policy-p{margin:10px 0;color:var(--n23362-text);}
.policy-note{margin-top:8px;color:var(--n23362-slate);font-size:14px;}
.policy-address{margin:10px 0 0 0;font-style:normal;color:var(--n23362-text);}
.policy-link{color:var(--n23362-primary);text-decoration:underline;text-decoration-color:var(--n23362-secondary);}
.policy-link:hover{color:var(--n23362-secondary);text-decoration-color:var(--n23362-secondary);}
.policy-list{margin:10px 0 0 18px;padding:0;}
.policy-li{margin:6px 0;}
.policy-cite{white-space:normal;font-style:normal;color:var(--n23362-primary);font-weight:600;}
.policy-footer{margin-top:18px;padding:16px 14px;border-radius:var(--radius-lg);background:var(--n23362-surface);border:1px solid var(--n23362-border);}
.policy-footer-row{display:block;margin:8px 0;}
.policy-footer-title{font-weight:700;color:var(--n23362-primary);}
.policy-footer-muted{color:var(--n23362-slate);font-size:14px;}
@media (max-width:520px){.policy-title{font-size:28px;}.policy-container{padding:18px 12px 32px 12px;}.policy-section{padding:16px 12px;}}

/* Design-system based styling (no external libraries) */
:root{
  --n23362-primary:#1F2A24;
  --n23362-secondary:#6E7F63;
  --n23362-accent:#6E7F63;
  --n23362-ink:#0F1713;
  --n23362-slate:#4A5650;
  --n23362-mist:#E7E2CF;
  --n23362-border:#D9D3C4;
  --n23362-surface:#F5F2EA;
  --n23362-bg:#FFFFFF;
  --n23362-text:#1F2A24;
  --n23362-font:Georgia, Cambria, 'Times New Roman', serif;
  --n23362-radius-sm:8px;
  --n23362-radius-md:12px;
  --n23362-radius-lg:16px;
}
.policy-page{background:var(--n23362-bg);color:var(--n23362-text);font-family:var(--n23362-font);line-height:1.6;}
.policy-container{max-width:980px;margin:0 auto;padding:28px 20px 40px 20px;}
.policy-header{background:var(--n23362-surface);border:1px solid var(--n23362-border);border-radius:var(--n23362-radius-lg);padding:22px 18px;}
.policy-title{margin:0 0 10px 0;font-size:34px;letter-spacing:0.2px;color:var(--n23362-primary);}
.policy-lead{margin:0;color:var(--n23362-slate);font-size:16px;}
.policy-section{margin-top:20px;background:transparent;border:1px solid transparent;padding:0;}
.policy-heading{margin:0 0 10px 0;font-size:20px;color:var(--n23362-primary);}
.policy-paragraph{margin:0 0 12px 0;color:var(--n23362-ink);font-size:15.5px;}
.policy-list{margin:0 0 6px 18px;padding:0;}
.policy-li{margin:6px 0;color:var(--n23362-ink);font-size:15.5px;}
.policy-address{margin:8px 0 0 0;border:1px solid var(--n23362-border);border-radius:var(--n23362-radius-md);background:var(--n23362-surface);padding:14px 14px;}
.policy-address-line{margin:6px 0;}
.policy-address-label{display:inline-block;min-width:90px;color:var(--n23362-slate);font-weight:600;}
.policy-address-value{color:var(--n23362-ink);}
.policy-link{color:var(--n23362-accent);text-decoration:underline;}
.policy-link:focus{outline:2px solid var(--n23362-secondary);outline-offset:3px;}
.policy-footer{margin-top:22px;padding-top:14px;border-top:1px solid var(--n23362-border);}
.policy-footer-note{margin:0;color:var(--n23362-slate);font-size:13.5px;}
@media (max-width:520px){.policy-title{font-size:28px;}.policy-container{padding:20px 14px 34px 14px;}}

/* Design-system variables */
.policy-page{
  background:var(--n23362-bg);
  color:var(--n23362-text);
  font-family:var(--n23362-font);
  line-height:1.5;
}
.policy-wrapper{
  max-width:920px;
  margin:0 auto;
  padding:24px 18px 40px;
}
.policy-header{
  padding:12px 0 18px;
}
.policy-badge{
  display:inline-block;
  background:var(--n23362-surface);
  border:1px solid var(--n23362-border);
  color:var(--n23362-slate);
  padding:6px 10px;
  border-radius:var(--radius-sm);
  font-size:12.5px;
}
.policy-title{
  margin:12px 0 6px;
  font-size:38px;
  line-height:1.15;
  letter-spacing:-0.02em;
}
.policy-lead{
  margin:0;
  color:var(--n23362-secondary);
  font-size:16.5px;
}
.policy-card{
  background:var(--n23362-surface);
  border:1px solid var(--n23362-border);
  border-radius:var(--radius-lg);
  padding:16px 16px;
  margin:14px 0;
}
.policy-card--secondary{
  background:#fbfaf4;
}
.policy-section-title{
  margin:0 0 10px;
  font-size:18px;
  letter-spacing:0;
}
.policy-list{
  margin:0;
  padding-left:18px;
}
.policy-list-item{
  margin:7px 0;
}
.policy-paragraph{
  margin:10px 0;
}
.policy-footer{
  margin-top:18px;
  border-top:1px solid var(--n23362-border);
  padding-top:16px;
}
.policy-footer-title{
  margin:0 0 10px;
  font-size:16.5px;
}
.policy-dl{
  margin:0;
}
.policy-dl-row{
  display:block;
  padding:8px 0;
  border-bottom:1px dashed var(--n23362-border);
}
.policy-dl-row:last-child{border-bottom:none;}
.policy-dt{
  font-weight:700;
  color:var(--n23362-ink);
  margin:0 0 3px;
  font-size:13.5px;
}
.policy-dd{
  margin:0;
  color:var(--n23362-secondary);
  font-size:14.5px;
}
.policy-link{
  color:var(--n23362-secondary);
  text-decoration:underline;
  text-underline-offset:3px;
}
.policy-link:hover{ color:var(--n23362-ink); }
@media (max-width:520px){
  .policy-title{ font-size:32px; }
  .policy-wrapper{ padding-left:14px; padding-right:14px; }
}

section[data-n23362-bqo]:not([data-n23362-bqo='header']):not([data-n23362-bqo='footer']) { position: relative; }
section[data-n23362-bqo]:not([data-n23362-bqo='header']):not([data-n23362-bqo='footer']) { border-top: 1px solid var(--n23362-border); }
section[data-n23362-bqo]:not([data-n23362-bqo='header']) h1,section[data-n23362-bqo]:not([data-n23362-bqo='header']) h2 { max-width: 20ch; letter-spacing: -0.035em; }
section[data-n23362-bqo]:nth-of-type(even)::before { content: ''; position: absolute; top: 0; left: 0; width: 5rem; border-top: 3px solid var(--n23362-accent); }
:root {
  --n23362-c-content-width: 72rem;
  --n23362-c-gutter: clamp(1rem, 4vw, 3rem);
  --n23362-c-measure: 65ch;
  --n23362-c-heading-display: clamp(2.5rem, 6vw, 5.5rem);
}
[data-n23362-dr] { scroll-margin-top: 1.5rem; }
main > section, main [data-n23362-bqo] { padding-inline: var(--n23362-c-gutter); }
[data-n23362-dr*='article'], [data-n23362-dr*='review'] { max-width: var(--n23362-c-measure); }
h1 { font-size: var(--n23362-c-heading-display); }
@media (max-width: 768px) { [data-n23362-dr] { min-width: 0; } }