.guest-experience {
  --guest-bg:#f6f4ee;
  --guest-surface:#fff;
  --guest-soft:#eaf3f0;
  --guest-ink:#123634;
  --guest-muted:#59716f;
  --guest-line:#dbe5e1;
  --guest-primary:#0e5557;
  --guest-accent:#ef856f;
  --guest-highlight:#f7cc66;
  --guest-display:Georgia,"Times New Roman",serif;
  container-type:inline-size;
  min-height:100%;
  overflow-x:hidden;
  background:var(--guest-bg);
  color:var(--guest-ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.5;
  scroll-behavior:smooth;
}
.guest-experience.theme-postcard-editorial { --guest-bg:#f5eddf; --guest-soft:#e8edf0; --guest-ink:#26384a; --guest-muted:#65717c; --guest-line:#ded2c1; --guest-primary:#26384a; --guest-accent:#cf705e; --guest-highlight:#f0c886; --guest-display:"Iowan Old Style",Georgia,serif; }
.guest-experience.theme-sunlit-social { --guest-bg:#fff8df; --guest-soft:#fff0bd; --guest-ink:#563634; --guest-muted:#7c635c; --guest-line:#ead7aa; --guest-primary:#7f3f3a; --guest-accent:#e66758; --guest-highlight:#ffe27a; --guest-display:Georgia,"Times New Roman",serif; }
.guest-experience * { box-sizing:border-box; }
.guest-experience a { color:inherit; }
.guest-hero { position:relative; display:grid; min-height:430px; align-content:space-between; gap:2rem; overflow:hidden; padding:1.1rem; background:var(--guest-primary); color:#fff; }
.guest-hero::after { position:absolute; width:260px; height:260px; right:-110px; bottom:-125px; border:58px solid color-mix(in srgb,var(--guest-highlight) 72%,transparent); border-radius:50%; opacity:.55; content:""; }
.theme-postcard-editorial .guest-hero::after { width:330px; height:190px; right:-90px; bottom:-90px; border:0; border-radius:50% 10% 50% 15%; background:linear-gradient(135deg,var(--guest-accent),var(--guest-highlight)); transform:rotate(-8deg); }
.theme-sunlit-social .guest-hero::after { width:310px; height:310px; right:-145px; bottom:-150px; border-width:70px; opacity:.8; }
.guest-hero nav { position:relative; z-index:1; display:flex; gap:.4rem; overflow-x:auto; scrollbar-width:none; }
.guest-hero nav a { flex:none; border:1px solid rgba(255,255,255,.26); border-radius:999px; padding:.48rem .7rem; color:#fff; font-size:.68rem; font-weight:800; text-decoration:none; }
.guest-hero-copy { position:relative; z-index:1; max-width:780px; }
.guest-hero-copy > span,.guest-kicker { display:block; color:var(--guest-accent); font-size:.7rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.guest-hero-copy > span { color:var(--guest-highlight); }
.guest-hero h1 { max-width:820px; margin:.65rem 0 .75rem; font-family:var(--guest-display); font-size:clamp(2.55rem,12cqi,5.4rem); font-weight:500; letter-spacing:-.055em; line-height:.92; }
.guest-hero-copy p { margin:0; color:rgba(255,255,255,.75); font-weight:650; }
.guest-welcome { position:relative; z-index:1; max-width:650px; margin:0; border-left:3px solid var(--guest-highlight); padding-left:.9rem; color:rgba(255,255,255,.84); font-size:.86rem; }
.guest-experience main { display:grid; gap:.9rem; width:min(100%,1120px); margin:auto; padding:.9rem; }
.guest-section { border:1px solid var(--guest-line); border-radius:20px; padding:1.15rem; background:var(--guest-surface); }
.guest-section > header { margin-bottom:1.2rem; }
.guest-section > header h2 { margin:.35rem 0 0; font-family:var(--guest-display); font-size:clamp(1.75rem,7cqi,3rem); font-weight:600; letter-spacing:-.045em; line-height:1; }
.guest-day-jump { display:flex; gap:.5rem; overflow-x:auto; margin:0 -1.15rem 1.4rem; padding:0 1.15rem .25rem; scrollbar-width:none; }
.guest-day-jump a { display:grid; min-width:105px; gap:.1rem; border:1px solid var(--guest-line); border-radius:14px; padding:.65rem .75rem; background:var(--guest-soft); text-decoration:none; }
.guest-day-jump b { font-size:.74rem; }
.guest-day-jump span { color:var(--guest-muted); font-size:.65rem; }
.guest-days { display:grid; gap:1.6rem; }
.guest-day > header { margin-bottom:.45rem; border-bottom:1px solid var(--guest-line); padding-bottom:.65rem; }
.guest-day > header span { color:var(--guest-accent); font-size:.64rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.guest-day > header h3 { margin:.15rem 0 0; font-size:1.15rem; }
.guest-plan { display:grid; grid-template-columns:72px minmax(0,1fr); gap:.75rem; padding:1rem 0; border-bottom:1px solid var(--guest-line); }
.guest-plan:last-child { border-bottom:0; }
.guest-plan-time { display:grid; align-content:start; gap:.1rem; color:var(--guest-muted); }
.guest-plan-time span { font-size:.62rem; font-weight:800; text-transform:capitalize; }
.guest-plan-time b { color:var(--guest-primary); font-size:.7rem; }
.guest-plan-copy h4 { margin:0; font-size:1rem; letter-spacing:-.02em; }
.guest-plan-copy > p { margin:.3rem 0 0; color:var(--guest-muted); font-size:.76rem; }
.guest-plan-location { color:var(--guest-primary)!important; font-weight:700; }
.guest-plan-actions,.guest-section-actions { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.8rem; }
.guest-action { display:inline-flex; min-height:38px; align-items:center; gap:.25rem; border:1px solid var(--guest-line); border-radius:999px; padding:.45rem .65rem; color:var(--guest-primary)!important; font-size:.68rem; font-weight:800; text-decoration:none; }
.guest-action.is-primary { border-color:var(--guest-primary); background:var(--guest-primary); color:#fff!important; }
.guest-gallery { margin-top:.8rem; outline:none; }
.guest-gallery-stage { position:relative; overflow:hidden; border-radius:14px; aspect-ratio:16/10; background:var(--guest-soft); }
.guest-gallery-stage img { width:100%; height:100%; object-fit:cover; }
.guest-gallery-stage button { position:absolute; z-index:1; top:50%; display:grid; width:38px; height:38px; place-items:center; border:0; border-radius:50%; background:rgba(255,255,255,.9); color:var(--guest-primary); font-size:1.3rem; transform:translateY(-50%); }
.guest-gallery-stage button:first-child { left:.55rem; }
.guest-gallery-stage button:last-child { right:.55rem; }
.guest-gallery-dots { display:flex; justify-content:center; gap:.35rem; margin-top:.55rem; }
.guest-gallery-dots button { width:8px; height:8px; border:0; border-radius:50%; padding:0; background:var(--guest-line); }
.guest-gallery-dots button.is-active { background:var(--guest-primary); }
.guest-stay-address { color:var(--guest-muted); }
.guest-facts { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; margin:1rem 0; }
.guest-facts div { display:grid; gap:.15rem; border-radius:14px; padding:.8rem; background:var(--guest-soft); }
.guest-facts span { color:var(--guest-muted); font-size:.62rem; font-weight:800; text-transform:uppercase; }
.guest-facts b { font-size:.76rem; }
.guest-list { border-top:1px solid var(--guest-line); }
.guest-list article { display:flex; min-height:76px; align-items:center; justify-content:space-between; gap:1rem; border-bottom:1px solid var(--guest-line); padding:.8rem 0; }
.guest-list h3 { margin:0; font-size:.88rem; }
.guest-list p,.guest-list small { display:block; margin:.15rem 0 0; color:var(--guest-muted); font-size:.7rem; }
.guest-list-value { display:grid; flex:none; justify-items:end; gap:.35rem; }
.guest-list-value b { color:var(--guest-primary); }
.guest-list-value .guest-action { min-height:34px; }
.guest-link-grid { display:grid; gap:.6rem; }
.guest-link-grid > a { display:grid; gap:.18rem; border:1px solid var(--guest-line); border-radius:15px; padding:.9rem; background:var(--guest-soft); text-decoration:none; }
.guest-link-grid span { color:var(--guest-accent); font-size:.62rem; font-weight:850; text-transform:uppercase; }
.guest-link-grid h3 { margin:0; font-size:.9rem; }
.guest-link-grid p { margin:.2rem 0; color:var(--guest-muted); font-size:.7rem; }
.guest-link-grid b { margin-top:.35rem; color:var(--guest-primary); font-size:.68rem; }
.guest-contact-actions { display:flex; gap:.35rem; }
.guest-contact-actions a { display:inline-flex; min-height:38px; align-items:center; border-radius:999px; padding:.4rem .6rem; background:var(--guest-soft); color:var(--guest-primary); font-size:.68rem; font-weight:800; text-decoration:none; }
.guest-experience > footer { padding:2.5rem 1rem; background:var(--guest-primary); color:#fff; text-align:center; }
.guest-experience > footer span { font-family:var(--guest-display); font-size:1.35rem; }
.guest-experience > footer p { margin:.25rem 0 0; color:rgba(255,255,255,.7); font-size:.72rem; }

@container (min-width:620px) {
  .guest-hero { min-height:500px; padding:2rem clamp(2rem,6cqi,5rem); }
  .guest-hero nav { justify-content:flex-end; }
  .guest-welcome { font-size:1rem; }
  .guest-experience main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding:1.25rem; }
  .guest-itinerary { grid-column:1/-1; }
  .guest-days { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem 2rem; }
  .guest-day { min-width:0; }
  .guest-plan { grid-template-columns:88px minmax(0,1fr); }
  .guest-link-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (prefers-reduced-motion:reduce) {
  .guest-experience { scroll-behavior:auto; }
}
