/* Ask Villa 4.2 — commercial guest product layer
   This file is intentionally scoped to the guest experience. Owner, staff,
   provider and administrator screens continue to use the operational UI. */

:root{
  --guest-bg:#f5f3ed;
  --guest-surface:#ffffff;
  --guest-surface-soft:#edf1ec;
  --guest-ink:#15372e;
  --guest-muted:#53635c;
  --guest-line:#d8ded8;
  --guest-brand:#153f34;
  --guest-brand-2:#28604f;
  --guest-accent:#c99b58;
  --guest-accent-soft:#f4e8d5;
  --guest-danger:#8b2e2e;
  --guest-danger-soft:#fff3f0;
  --guest-radius-sm:14px;
  --guest-radius:20px;
  --guest-radius-lg:30px;
  --guest-shadow:0 18px 46px rgba(18,50,40,.09);
  --guest-shadow-lg:0 28px 78px rgba(7,30,22,.22);
}

/* v4.5 — Sun Chaser and the private Holiday Time Capsule */
.sunChaserHero{position:relative;overflow:hidden;min-height:390px;border-radius:32px;background:linear-gradient(180deg,#78c8ec 0%,#f7d49a 70%,#446954 71%,#244735 100%);color:#173326;box-shadow:var(--shadow);display:flex;align-items:flex-end;padding:clamp(28px,6vw,64px)}
.sunChaserSky{position:absolute;inset:0}.sunOrb{position:absolute;left:clamp(8%,var(--sun-progress),88%);top:calc(68% - min(var(--sun-progress),50%));width:76px;height:76px;border-radius:50%;background:#fff4ac;box-shadow:0 0 45px 18px rgba(255,239,145,.5);transform:translate(-50%,-50%)}
.sunHorizon{position:absolute;left:5%;right:5%;bottom:27%;height:2px;background:rgba(255,255,255,.55)}.sunChaserHeroCopy{position:relative;max-width:650px;text-shadow:0 1px 12px rgba(255,255,255,.5)}.sunChaserHeroCopy h1{font-size:clamp(42px,7vw,76px);line-height:.94;max-width:620px}.sunChaserHeroCopy p{font-size:18px;max-width:580px}
.sunFactGrid,.capsuleStats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.sunFactGrid article,.capsuleStats>div{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:7px}.sunFactGrid span,.capsuleStats span{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.sunFactGrid b,.capsuleStats b{font-family:var(--serif);font-size:30px}
.sunWindowCard{overflow:hidden}.sunState{max-width:280px;padding:8px 12px;border-radius:99px;background:#f1efe8;color:#5f665f;font-size:13px;font-weight:700}.sunState.live{background:#fff2b2;color:#715500}.sunWindowTrack{height:82px;margin:30px 0 18px;position:relative;background:linear-gradient(90deg,#e9eee8 0 18%,#ffd75b 18% 96%,#e9eee8 96%);border-radius:99px}.sunWindowTrack span{position:absolute;inset:11px;border:1px solid rgba(255,255,255,.8);border-radius:99px}.sunWindowTrack b{position:absolute;bottom:-25px;font-size:13px}.sunPlaceGrid{grid-template-columns:repeat(4,1fr)}.sunPlaceCard{padding:0;background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;text-align:left;color:inherit}.sunPlaceCard img{width:100%;height:150px;object-fit:cover}.sunPlaceCard span{display:flex;flex-direction:column;gap:5px;padding:15px}.sunPlaceCard small{color:var(--muted)}
.sunStageGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.sunStageGrid article{position:relative;min-height:132px;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(155deg,#fffdf5,#f2efe5);display:flex;flex-direction:column;gap:7px}.sunStageGrid article>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e8e4d7;color:var(--muted);font-size:12px;font-weight:800}.sunStageGrid article b{font-family:var(--serif);font-size:30px;color:var(--green)}.sunStageGrid article small{line-height:1.35;color:var(--muted)}.sunStageGrid article.current{background:linear-gradient(155deg,#fff6bd,#ffe17b);border-color:#e8c64e;box-shadow:0 10px 28px rgba(113,85,0,.14)}.sunStageGrid article.current>span{background:var(--green);color:#fff}
.capsuleOptIn{text-align:center;background:linear-gradient(160deg,#f9f1df,#eef4eb);border:1px solid #dfe6dc;border-radius:32px;padding:clamp(32px,7vw,72px);box-shadow:var(--shadow)}.capsuleSeal{width:78px;height:78px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff}.capsuleSeal svg{width:34px;height:34px}.capsuleOptIn h1{font-size:clamp(38px,6vw,64px);max-width:770px;margin:12px auto}.capsuleOptIn>p{max-width:700px;margin:0 auto;color:var(--muted);font-size:18px}.capsulePrivacyGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;text-align:left;max-width:760px;margin:34px auto}.capsulePrivacyGrid>div{display:grid;grid-template-columns:34px 1fr;gap:3px 12px;padding:18px;background:rgba(255,255,255,.78);border-radius:18px}.capsulePrivacyGrid svg{grid-row:1/3;color:var(--green)}.capsulePrivacyGrid span{color:var(--muted);font-size:14px}.capsuleStart{margin:0 auto 12px}.capsuleOptIn>small{display:block;color:var(--muted)}
.capsuleHero{min-height:390px;border-radius:32px;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:clamp(28px,6vw,62px);color:#fff;box-shadow:var(--shadow)}.capsuleHero h1{font-size:clamp(42px,7vw,72px);max-width:720px;line-height:.96}.capsuleHero p{font-size:18px}.capsuleStats{margin-top:-34px;position:relative;padding:0 5%}.capsuleStats>div{text-align:center;box-shadow:0 8px 30px rgba(22,49,36,.12)}.capsuleLayout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}.capsuleSidebar{display:grid;gap:18px;position:sticky;top:95px}.capsuleMomentGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.capsuleMoment{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--surface)}.capsuleMoment img,.capsuleMomentPlaceholder{width:100%;height:270px;object-fit:cover}.capsuleMomentPlaceholder{display:grid;place-items:center;background:linear-gradient(145deg,#e5eedf,#f3dcae);color:var(--green)}.capsuleMomentPlaceholder svg{width:48px;height:48px}.capsuleMoment>div:last-child{padding:18px}.capsuleMoment p{color:var(--muted)}.capsuleSuggestions h2{margin-top:6px}.capsuleSuggestion{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}.capsuleSuggestion>div{display:flex;flex-direction:column;gap:3px}.capsuleSuggestion span{color:var(--muted);font-size:13px}.capsuleControls summary{font-weight:800;cursor:pointer}.capsuleControls button{width:100%;margin-top:10px}.capsuleStill{background:#fbf7ec}
@media(max-width:800px){.sunChaserHero,.capsuleHero{min-height:330px;border-radius:24px}.sunFactGrid,.capsuleStats{grid-template-columns:repeat(2,1fr)}.sunPlaceGrid,.sunStageGrid{grid-template-columns:repeat(2,1fr)}.capsuleLayout{grid-template-columns:1fr}.capsuleSidebar{position:static}.capsuleMomentGrid{grid-template-columns:1fr}.capsulePrivacyGrid{grid-template-columns:1fr}.capsuleStats{margin-top:12px;padding:0}.sunOrb{width:58px;height:58px}}
@media(max-width:480px){.sunPlaceGrid{grid-template-columns:1fr}.sunChaserHeroCopy h1,.capsuleHero h1{font-size:39px}.capsuleStats>div,.sunFactGrid article{padding:15px}.capsuleMoment img,.capsuleMomentPlaceholder{height:235px}}

.chatOrigin{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}
.chatOrigin>span{display:flex;align-items:center;gap:7px;min-width:0;font-size:.86rem}.chatOrigin>span svg{width:17px;height:17px;flex:0 0 auto}.chatOrigin button{width:auto;min-height:38px;padding:8px 11px}
@media(max-width:640px){.chatOrigin{align-items:stretch;flex-wrap:wrap}.chatOrigin>span{width:100%}.chatOrigin button{flex:1}}
.languageControl select{min-height:44px;width:auto;padding:7px 28px 7px 10px;border:1px solid rgba(255,255,255,.42);border-radius:12px;background:rgba(8,36,27,.55);color:#fff;font-weight:800;cursor:pointer}
.guestExperience>.topbar .languageControl select,.guestRouteBar .languageControl select{border-color:var(--guest-line);background:#fff;color:var(--guest-ink)}

.guestExperience{
  min-height:100vh;
  background:
    radial-gradient(circle at 8% 6%,rgba(201,155,88,.10),transparent 28rem),
    radial-gradient(circle at 96% 20%,rgba(40,96,79,.07),transparent 34rem),
    var(--guest-bg);
  color:var(--guest-ink);
}
.guestExperience .guestMain{min-width:0;background:transparent}
.guestExperience button,.guestExperience a,.guestExperience input,.guestExperience textarea,.guestExperience select{transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.guestExperience button:focus-visible,.guestExperience a:focus-visible,.guestExperience input:focus-visible,.guestExperience textarea:focus-visible,.guestExperience select:focus-visible,.guestExperience summary:focus-visible{outline:3px solid rgba(35,102,82,.34);outline-offset:3px}
.guestExperience button:active{transform:translateY(1px)}
.guestExperience .page{max-width:1180px;padding:38px 28px 78px!important}
.guestExperience .page.narrow{max-width:880px}
.guestExperience .eyebrow{color:var(--guest-brand);letter-spacing:.16em;font-size:.66rem}
.guestExperience .panel{border-color:var(--guest-line);border-radius:var(--guest-radius);box-shadow:0 10px 28px rgba(15,48,38,.045)}
.guestExperience .serif{letter-spacing:-.035em}
.guestExperience .primary,.guestExperience .secondary,.guestExperience .ghost,.guestExperience .compactBtn{
  min-height:46px;
  border-radius:13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:800;
  line-height:1.2;
}
.guestExperience .primary{background:var(--guest-brand);border-color:var(--guest-brand);color:#fff}
.guestExperience .primary:hover{background:var(--guest-brand-2);border-color:var(--guest-brand-2)}
.guestExperience .secondary{background:#fff;border-color:var(--guest-line);color:var(--guest-ink)}
.guestExperience .secondary:hover{border-color:#8fa69c;background:#f9fbf9}
.guestExperience .ghost{color:var(--guest-brand)}
.guestExperience input,.guestExperience textarea,.guestExperience select{border-color:var(--guest-line);border-radius:13px;background:#fff;color:var(--guest-ink)}
.guestExperience input:focus,.guestExperience textarea:focus,.guestExperience select:focus{border-color:#6f9687;box-shadow:0 0 0 3px rgba(35,102,82,.11)}

/* Home hero */
.marketGuestHome{background:var(--guest-bg)}
.productHero{
  min-height:640px!important;
  max-height:none!important;
  margin:14px!important;
  border-radius:32px!important;
  box-shadow:var(--guest-shadow-lg);
  overflow:hidden;
}
.productHero .conciergeHeroMedia{object-position:center 53%}
.productHero .conciergeShade{background:linear-gradient(180deg,rgba(4,24,17,.68) 0%,rgba(4,24,17,.12) 31%,rgba(4,24,17,.31) 56%,rgba(4,24,17,.95) 100%)}
.productHero .conciergeTop{
  min-height:82px;
  padding:17px clamp(20px,2.6vw,38px)!important;
  align-items:center!important;
  gap:24px!important;
  background:linear-gradient(180deg,rgba(5,24,17,.48),rgba(5,24,17,0));
}
.productHero .conciergeTop>.brand{flex:0 0 auto;transform:none!important}
.productHero .brand{font-size:1.18rem;letter-spacing:-.04em}
.productHero .brandMark{width:38px;height:38px;border-radius:12px}
.productHero .conciergeHeaderActions{display:flex;align-items:center;gap:10px;max-width:none;margin-left:auto}
.productHero .conciergeHeaderActions .guestDesktopNav{display:flex;align-items:center;gap:4px;margin:0}
.productHero .guestDesktopNav button{min-height:44px;padding:0 14px;color:rgba(255,255,255,.82);font-size:.82rem;border-radius:999px}
.productHero .guestDesktopNav button:hover,.productHero .guestDesktopNav button.active{background:rgba(255,255,255,.18);color:#fff}
.productHero .conciergeEmergency{min-height:44px;padding:0 16px;background:rgba(126,35,35,.82);border-color:rgba(255,255,255,.38);box-shadow:0 8px 24px rgba(69,11,11,.18)}
.productHero .conciergeCircle{width:44px;height:44px;min-width:44px;border-color:rgba(255,255,255,.34);background:rgba(10,38,29,.32)}
.productHeroBody{
  position:absolute;
  z-index:4;
  left:clamp(28px,5vw,72px);
  right:clamp(28px,5vw,72px);
  bottom:30px;
  display:grid;
  gap:16px;
  max-width:1120px;
}
.productHeroBody .guestWelcome,.productHeroBody .guestStatusRow,.productHeroBody .heroAskWrap{position:static!important;inset:auto!important;margin:0!important;max-width:none}
.productHeroCopy{max-width:780px!important;color:#fff}
.productHeroCopy .eyebrow{color:#dbece4;font-size:.7rem}
.productHeroCopy h1{margin:8px 0 10px;font-size:clamp(3rem,5.7vw,5rem);line-height:.94;letter-spacing:-.06em;text-wrap:balance}
.productHeroCopy p{max-width:680px;font-size:1.02rem;line-height:1.55;color:rgba(255,255,255,.87)}
.productStatusRow{
  position:relative!important;
  display:flex!important;
  grid-template-columns:none!important;
  gap:8px!important;
  align-items:center!important;
  flex-wrap:wrap!important;
}
.productStatusRow .guestStatusItem{
  position:relative;
  min-height:38px!important;
  margin:0!important;
  padding:8px 12px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:999px!important;
  background:rgba(10,40,31,.54)!important;
  box-shadow:none!important;
  backdrop-filter:blur(14px)!important;
  color:#fff!important;
  flex:0 1 auto!important;
}
.productStatusRow .guestStatusItem{display:flex!important;grid-template-columns:none!important;align-items:center!important;gap:7px!important}
.productStatusRow .guestStatusItem.stayDuration{display:flex!important}
.productStatusRow .guestStatusItem.stayDuration span:last-child{grid-column:auto!important}
.productStatusRow .guestStatusItem span:last-child{font-size:.72rem;white-space:normal;opacity:.88}
.productStatusRow .guestStatusItem b{font-size:.79rem;white-space:normal}
.productStatusRow .statusIcon{width:18px!important;height:18px!important;display:grid!important;place-items:center;background:none!important;border-radius:0!important;flex:0 0 auto}
.productStatusRow .statusIcon svg{width:18px;height:18px}
.productStatusRow .weatherEmoji{font-size:1rem}
.productStatusRow .weatherStatusButton{appearance:none;font:inherit;text-align:left;cursor:pointer}
.productStatusRow .weatherStatusButton .statusDetailsLabel{font-size:.7rem!important;text-decoration:underline;text-underline-offset:3px;opacity:.88}
.productStatusRow .weatherStatusButton:focus-visible{outline:3px solid #fff;outline-offset:2px}

.productAsk{display:grid!important;gap:8px}
.productAsk .askPrompt{margin:0 0 0 4px;font-size:.78rem;color:rgba(255,255,255,.76)}
.productAsk .conciergeAsk{width:min(100%,850px);height:62px;border-radius:19px;background:#fff;border:1px solid rgba(255,255,255,.72);box-shadow:0 16px 44px rgba(0,0,0,.2)}
.productAsk .conciergeAsk input{font-size:.96rem;color:var(--guest-ink)}
.productAsk .conciergeAsk input::placeholder{color:#7a8983}
.productAsk .conciergeAsk button{border-radius:13px}

/* Home content */
.productHomeContent{max-width:1120px!important;padding:40px 28px 90px!important}
.marketSectionHead{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}
.marketSectionHead h2{margin-top:7px;font-size:clamp(2rem,4vw,3.05rem);max-width:720px}
.marketSectionHead>p{max-width:320px;color:var(--guest-muted);font-size:.9rem;line-height:1.5;text-align:right}
.productHomeContent .guestNeedSection{margin:0 0 30px}
.productHomeContent .guestActionGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.productHomeContent .guestActionGrid>button{
  min-height:116px;
  padding:17px;
  border:1px solid var(--guest-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,48,38,.045);
  grid-template-columns:31px minmax(0,1fr);
  gap:5px 11px;
}
.productHomeContent .guestActionGrid>button:hover{transform:translateY(-2px);border-color:#9db2a9;box-shadow:0 14px 32px rgba(15,48,38,.09)}
.productHomeContent .guestActionGrid>button>svg{width:26px;height:26px}
.productHomeContent .guestActionGrid>button>b{font-size:.94rem}
.productHomeContent .guestActionGrid>button>small{font-size:.76rem;line-height:1.4}
.productHomeContent .guestActionGrid>button.urgent{background:var(--guest-danger-soft);border-color:#edc9c2}
.productHomeContent .singleRecommendation{margin:30px 0;border-color:var(--guest-line);border-radius:26px;box-shadow:var(--guest-shadow)}
.productHomeContent .singleRecommendation.textOnly{margin:22px 0 26px;background:linear-gradient(135deg,#fff,#edf3ef)}
.productHomeContent .recommendationCopy{padding:clamp(24px,4vw,38px)}
.productHomeContent .recommendationCopy h2{font-size:clamp(2rem,4vw,3.15rem);margin:8px 0 12px}
.productHomeContent .recommendationCopy>p{max-width:720px;color:var(--guest-muted);font-size:1rem;line-height:1.6}
.productHomeContent .briefingFacts span{font-size:.75rem}
.productHomeContent .singleRecommendation.textOnly .recommendationCopy{max-width:900px;padding:clamp(20px,2.6vw,28px)}
.productHomeContent .singleRecommendation.textOnly .recommendationCopy h2{font-size:clamp(1.8rem,3vw,2.45rem);line-height:1.08;margin:6px 0 9px}
.productHomeContent .singleRecommendation.textOnly .recommendationCopy>p{line-height:1.52}
.productHomeContent .singleRecommendation .briefingActions{max-width:none;justify-content:flex-start;margin-top:15px}
.productHomeContent .conciergeNotice{width:100%;margin:0 0 18px;padding:15px 17px;border:1px solid #ceded5;background:#e8f0eb;border-radius:17px;text-align:left}
/* Secondary navigation */
.productRouteBar{
  position:sticky;
  top:12px;
  z-index:90;
  width:calc(100% - 32px);
  max-width:1180px;
  min-height:68px;
  margin:12px auto 0;
  display:grid;
  grid-template-columns:minmax(270px,.9fr) auto minmax(270px,.9fr);
  align-items:center;
  gap:14px;
  padding:8px 10px;
  color:#fff;
  background:linear-gradient(120deg,rgba(18,59,48,.97),rgba(25,72,59,.97));
  border:1px solid rgba(255,255,255,.16);
  border-radius:20px;
  box-shadow:0 18px 44px rgba(10,39,30,.20);
  backdrop-filter:blur(24px);
}
.routeIdentity{display:flex;align-items:center;gap:9px;min-width:0}
.routeBrand{min-height:44px;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#fff;padding:0 8px 0 2px;font-size:1rem;font-weight:900;letter-spacing:-.04em;white-space:nowrap}
.routeBrand .brandMark{width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);color:#fff;display:grid;place-items:center}
.routeBrand .brandMark svg{width:20px;height:20px}
.routeBrand b{color:#f1d6ad}
.productRouteBar .routeBack{width:40px;min-width:40px;height:40px;padding:0;border-color:rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.08);color:#fff}
.productRouteBar .routeBack:hover{background:rgba(255,255,255,.15)}
.productRouteBar .guestRouteContext{text-align:left}
.productRouteBar .guestRouteContext small{color:rgba(255,255,255,.57);font-size:.56rem;letter-spacing:.14em}
.productRouteBar .guestRouteContext b{color:#fff;font-size:.8rem}
.routePrimaryNav{display:flex;justify-content:center;min-width:0}
.routePrimaryNav .guestDesktopNav{display:flex;align-items:center;gap:2px;margin:0;padding:4px;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:rgba(0,0,0,.10)}
.routePrimaryNav .guestDesktopNav button{min-height:38px;padding:0 13px;border:0;border-radius:11px;background:transparent;color:rgba(255,255,255,.7);font-size:.75rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.routePrimaryNav .guestDesktopNav button:hover{background:rgba(255,255,255,.10);color:#fff}
.routePrimaryNav .guestDesktopNav button.active{background:#f5f1e8;color:var(--guest-brand);box-shadow:0 5px 16px rgba(0,0,0,.13)}
.productRouteBar .guestRouteActions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.productRouteBar .guestRouteActions button{width:40px;min-width:40px;height:40px;min-height:40px;padding:0;border-radius:12px;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff}
.productRouteBar .guestRouteActions button:hover{background:rgba(255,255,255,.15)}
.productRouteBar .guestRouteActions button span{display:none}
.productRouteBar .guestRouteActions .routeEmergency{width:auto;padding:0 13px;color:#fff;background:#8c3333;border-color:rgba(255,255,255,.2)}
.productRouteBar .guestRouteActions .routeEmergency span{display:inline}
.productRouteBar .routeAccount{border-radius:50%!important;background:#f0d3a7!important;border-color:#f0d3a7!important;color:var(--guest-brand)!important;font-weight:900}

/* Explore */
.marketExplore{max-width:1120px!important;padding-top:42px!important}
.marketExploreIntro{padding:0 0 28px!important}
.marketExploreIntro>p{max-width:680px;margin-top:10px;color:var(--guest-muted);font-size:1rem;line-height:1.55}
.marketExploreIntro h1{font-size:clamp(3rem,6vw,5.1rem)!important;letter-spacing:-.055em!important}
.marketExplore .decisionPrompts{gap:9px;margin-top:20px}
.marketExplore .decisionPrompts button{min-height:43px;padding:0 15px;border-color:var(--guest-line);background:#fff;font-size:.82rem}
.marketExplore .decisionPrompts button:hover{border-color:#8fa69c;background:var(--guest-surface-soft)}
.marketExplore .originChooser{margin-top:24px;padding:16px 18px;border-color:var(--guest-line);border-radius:18px;box-shadow:0 8px 24px rgba(15,48,38,.035)}
.marketExplore .originSummary{grid-template-columns:40px minmax(0,1fr)}
.marketExplore .originSummary .originIcon{width:40px;height:40px;border-radius:12px}
.marketExplore .originSummary p{font-size:.74rem}
.marketExplore .originActions button{min-height:42px;font-size:.76rem}
.marketExploreRecommendation{
  display:grid;
  grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);
  min-height:330px;
  margin:4px 0 32px;
  overflow:hidden;
  border:1px solid var(--guest-line);
  border-radius:26px;
  background:#fff;
  box-shadow:var(--guest-shadow);
}
.marketRecommendationMedia{min-height:330px;background:var(--guest-surface-soft);overflow:hidden}
.marketRecommendationMedia img{display:block;width:100%;height:100%;min-height:330px;object-fit:cover}
.marketRecommendationCopy{display:flex;flex-direction:column;justify-content:center;padding:clamp(26px,4vw,42px)}
.marketRecommendationCopy h2{margin:8px 0 12px;font-size:clamp(2.1rem,4vw,3.25rem)}
.marketRecommendationCopy>p{color:var(--guest-muted);font-size:.98rem;line-height:1.6}
.marketRecommendationCopy .recommendationFacts{margin:16px 0}
.marketRecommendationCopy .recommendationFacts span{padding:8px 10px;border-color:var(--guest-line);font-size:.75rem}
.marketRecommendationCopy .buttonRow{margin-top:auto;padding-top:8px}
.exploreDirectorySection{padding:26px;border:1px solid var(--guest-line);border-radius:26px;background:#fff;box-shadow:0 12px 36px rgba(15,48,38,.05)}
.exploreDirectoryHead{display:flex;align-items:end;justify-content:space-between;gap:24px}
.exploreDirectoryHead h2{margin-top:7px;font-size:clamp(2rem,4vw,3rem)}
.exploreDirectoryHead>p{max-width:330px;text-align:right;color:var(--guest-muted);font-size:.86rem;line-height:1.5}
.exploreDirectorySection .browseDirectoryBody{padding-top:18px}
.exploreDirectorySection .directorySearch{margin-top:0;border-color:var(--guest-line);border-radius:15px;box-shadow:0 4px 16px rgba(15,48,38,.035)}
.exploreDirectorySection .exploreCategoryTabs{margin:14px 0 0;gap:7px}
.exploreDirectorySection .exploreCategoryTabs .tab{min-height:40px;padding:0 13px;border:1px solid var(--guest-line);border-radius:999px;background:#fff;color:var(--guest-muted);font-size:.75rem;font-weight:800}
.exploreDirectorySection .exploreCategoryTabs .tab.active{background:var(--guest-brand);border-color:var(--guest-brand);color:#fff}
.exploreDirectorySection .directoryResultHead{margin:20px 0 8px}
.exploreDirectorySection .experienceRows{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:0}
.exploreDirectorySection .experienceRow{min-height:86px;border-color:var(--guest-line);border-radius:16px;padding:11px;box-shadow:none}
.exploreDirectorySection .experienceRow:hover{border-color:#9db2a9;background:#fafcfa;transform:translateY(-1px)}
.exploreDirectorySection .experienceThumb{width:68px;height:62px}

/* Picker */
.originPickerHead h2{color:var(--guest-ink)}
.originPicker .originSearch{border-color:var(--guest-line);box-shadow:none}
.originPlaceList{padding-right:5px}
.originPlaceOption{border-color:var(--guest-line);border-radius:14px}
.originPlaceOption:hover{border-color:#8fa69c}

/* Consistent guest content */
.guestExperience.hasRouteBar .guestMain>.page{padding-top:36px}
.guestExperience .journeyHero,.guestExperience .termsHero{border-radius:26px;background:linear-gradient(135deg,var(--guest-brand),var(--guest-brand-2));box-shadow:var(--guest-shadow)}
.guestExperience .journeyHero h1,.guestExperience .termsHero h1{font-size:clamp(2.35rem,5vw,4.2rem)}
.guestExperience .supportChoice button,.guestExperience .informationNav,.guestExperience .actionCard,.guestExperience .statusCard,.guestExperience .experienceRow{border-color:var(--guest-line);box-shadow:0 6px 20px rgba(15,48,38,.03)}
.guestExperience .secondaryTools{border-color:var(--guest-line);border-radius:18px}
.guestExperience .form{gap:16px}
.guestExperience .checkRow{border-radius:14px}
.guestExperience .alert,.guestExperience .notice,.guestExperience .success{border-radius:15px}
.guestExperience .emergencyPage .alert{border:1px solid #e2b6ae;background:#fff0ed;color:#6e2525}
.guestExperience .emergencyAction{border-radius:17px}
.guestExperience .emergencyAction.urgent{background:var(--guest-danger-soft);border-color:#e4b9b2}
.guestExperience .stars{gap:5px}
.guestExperience .starBtn{border-radius:12px}

/* Mobile navigation */
.guestExperience+.bottomNav{
  height:calc(76px + env(safe-area-inset-bottom,0px))!important;
  padding:6px 8px env(safe-area-inset-bottom,0px)!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--guest-line);
  background:rgba(255,255,255,.97);
  box-shadow:0 -10px 34px rgba(15,48,38,.07);
}
.guestExperience+.bottomNav .navItem{min-height:58px;border-radius:14px;color:#6d7d76;font-size:.65rem}
.guestExperience+.bottomNav .navItem.active{background:var(--guest-surface-soft);color:var(--guest-brand)}
.guestExperience+.bottomNav .navItem svg{width:21px;height:21px}

@media(max-width:1100px) and (min-width:900px){
  .productHero .guestDesktopNav button{padding:0 10px;font-size:.76rem}
  .productHero .conciergeEmergency{width:44px;padding:0;justify-content:center}
  .productHero .conciergeEmergency span{display:none}
  .productHomeContent .guestActionGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .productRouteBar{grid-template-columns:minmax(225px,.8fr) auto minmax(210px,.8fr)}
  .routeBrand>span:last-child{display:none}
  .routePrimaryNav .guestDesktopNav button{padding:0 9px}
  .productRouteBar .guestRouteActions button:first-child{display:none}
}

@media(max-width:1300px) and (min-width:900px){
  .productHero .conciergeHeaderActions{gap:6px}
  .productHero .conciergeHeaderActions .guestDesktopNav{gap:2px}
  .productHero .guestDesktopNav button{padding-inline:10px}
  .productHero .conciergeEmergency{padding-inline:12px}
  .productHero .conciergeUtilityActions{gap:6px}
}

@media(max-width:899px){
  .guestExperience .page{padding:26px 18px calc(118px + env(safe-area-inset-bottom,0px))!important}
  .productHero{margin:0!important;border-radius:0 0 28px 28px!important;min-height:max(560px,calc(100svh - 76px))!important}
  .productHero .conciergeTop{padding:0 17px!important;min-height:54px;align-items:center!important}
  .productHero .conciergeHeaderActions{gap:7px}
  .productHero .conciergeHeaderActions .guestDesktopNav{display:none}
  .productHero .conciergeEmergency{width:42px;min-width:42px;height:42px;padding:0;justify-content:center}
  .productHero .conciergeEmergency span{display:none}
  .productHero .conciergeCircle{width:42px;min-width:42px;height:42px}
  .productHeroBody{left:18px;right:18px;bottom:18px;gap:12px}
  .productHeroCopy h1{font-size:clamp(2.8rem,10vw,4.3rem)}
  .productHeroCopy p{font-size:.94rem}
  .productStatusRow{display:grid!important;grid-template-columns:1fr 1fr!important}
  .productStatusRow .guestStatusItem{border-radius:13px!important;min-width:0}
  .productStatusRow .stayDuration{grid-column:1/-1}
  .productAsk .conciergeAsk{height:56px}
  .productHomeContent{padding:34px 18px calc(118px + env(safe-area-inset-bottom,0px))!important}
  .marketSectionHead{display:block}
  .marketSectionHead>p{margin-top:9px;text-align:left}
  .productHomeContent .guestActionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .productRouteBar{top:calc(8px + var(--visual-viewport-top,0px));width:calc(100% - 20px);grid-template-columns:minmax(0,1fr) auto;min-height:62px;margin-top:8px;padding:7px 8px;border-radius:18px}
  .productRouteBar .routeBrand,.productRouteBar .routePrimaryNav{display:none}
  .productRouteBar .routeIdentity{min-width:0}
  .productRouteBar .guestRouteContext{text-align:left}
  .productRouteBar .guestRouteActions button{display:none}
  .productRouteBar .guestRouteActions .routeEmergency,.productRouteBar .guestRouteActions .routeAccount{display:flex}
  .productRouteBar .guestRouteActions .routeEmergency{width:42px;padding:0}
  .productRouteBar .guestRouteActions .routeEmergency span{display:none}
  .marketExplore{padding-top:30px!important}
  .marketExploreIntro h1{font-size:clamp(2.8rem,10vw,4.1rem)!important}
  .marketExploreRecommendation{grid-template-columns:1fr}
  .marketRecommendationMedia,.marketRecommendationMedia img{min-height:250px;height:250px}
  .exploreDirectorySection{padding:20px}
  .exploreDirectorySection .experienceRows{grid-template-columns:1fr}
}

@media(max-width:560px){
  .productHero{min-height:max(560px,calc(100svh - 76px))!important}
  .productHero .brand{font-size:1.05rem}
  .productHero .brandMark{width:35px;height:35px}
  .productHeroCopy h1{font-size:2.75rem}
  .productHeroCopy p{font-size:.86rem;line-height:1.48}
  .productStatusRow{gap:8px!important}
  .productStatusRow .guestStatusItem{padding:8px 10px!important;font-size:.8rem;overflow:hidden}
  .productStatusRow .guestStatusItem b{font-size:.75rem}
  .productStatusRow .weatherStatusButton .statusDetailsLabel{display:none}
  .productStatusRow .homeWeather span:not(.weatherEmoji):not(.statusDetailsLabel){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .productStatusRow .timeStatus{white-space:nowrap}
  .productStatusRow .stayDuration{display:grid!important;grid-template-columns:auto minmax(95px,.7fr) minmax(0,1.3fr)!important}
  .productStatusRow .stayDuration span:last-child{min-width:0;line-height:1.25}
  .productAsk .askPrompt{font-size:.72rem}
  .productAsk .conciergeAsk{height:56px}
  .productAsk .conciergeAsk input{font-size:.84rem}
  .productAsk .conciergeAsk input{padding-right:2px;text-overflow:ellipsis}
  .productAsk .conciergeAsk .secondaryAsk{display:grid!important}
  .productHomeContent .guestActionGrid>button{min-height:112px;padding:14px}
  .productHomeContent .guestActionGrid>button>b{font-size:.86rem}
  .productHomeContent .guestActionGrid>button>small{font-size:.7rem}
  .marketExplore{padding-top:18px!important}
  .marketExploreIntro{padding:24px 20px!important;border-radius:24px}
  .marketExploreIntro h1{max-width:300px;font-size:2.65rem!important;line-height:.94!important}
  .marketExploreIntro>p{margin-top:12px;font-size:.88rem;line-height:1.48}
  .marketExplore .decisionPrompts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;overflow:visible;padding:0}
  .marketExplore .decisionPrompts button{min-width:0;min-height:44px;padding:9px 10px;white-space:normal;line-height:1.2}
  .marketExplore .decisionPrompts button:last-child{grid-column:1/-1}
  .marketExplore .originChooser{grid-template-columns:1fr;gap:14px;padding:15px}
  .marketExplore .originActions{display:grid;grid-template-columns:1fr 1fr}
  .marketExplore .originActions .ghost{grid-column:1/-1}
  .marketExploreIntro::after{right:-130px;bottom:-185px}
  .marketRecommendationCopy{padding:22px}
  .marketRecommendationCopy h2{font-size:2.25rem}
  .marketRecommendationCopy .buttonRow{display:grid;grid-template-columns:1fr}
  .exploreDirectoryHead{display:block}
  .exploreDirectoryHead>p{margin-top:8px;text-align:left}
  .exploreDirectorySection{padding:17px}
  .exploreDirectorySection .directorySearch{grid-template-columns:20px minmax(0,1fr)}
  .exploreDirectorySection .directorySearch button{grid-column:1/-1;width:100%}
  .exploreDirectorySection .exploreCategoryTabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
}

@media(max-width:380px){
  .productHero{min-height:max(570px,calc(100svh - 76px))!important}
  .productHeroBody{left:14px;right:14px}
  .productHeroCopy h1{font-size:2.5rem}
  .productHomeContent .guestActionGrid{grid-template-columns:1fr}
  .productHomeContent .guestActionGrid>button{min-height:94px}
  .marketExplore .originActions{grid-template-columns:1fr}
  .marketExplore .originActions .ghost{grid-column:auto}
  .marketExplore .decisionPrompts{grid-template-columns:1fr}
  .marketExplore .decisionPrompts button:last-child{grid-column:auto}
}

/* Mobile Safari's browser controls sit outside the page layout. Keep the app
   header at the top of the hero and size the hero from the small viewport so
   the welcome tools remain above the fixed navigation. */
@media(max-width:899px) and (orientation:portrait){
  .productHero .conciergeTop{
    top:calc(14px + env(safe-area-inset-top,0px))!important;
    min-height:54px!important;
    padding:0 18px!important;
    background:none!important;
  }
  .productHero .conciergeTop>.brand{filter:drop-shadow(0 2px 8px rgba(0,0,0,.36))}
  .productHero .conciergeHeaderActions{filter:drop-shadow(0 2px 8px rgba(0,0,0,.26))}
  .productAsk .conciergeAsk{display:grid!important;grid-template-columns:22px minmax(0,1fr) 44px 50px!important;gap:5px!important;padding:5px 5px 5px 12px!important}
  .productAsk .conciergeAsk input{width:100%!important;min-width:0!important;font-size:1rem!important}
  .productAsk .conciergeAsk .secondaryAsk{display:grid!important;width:44px!important;height:44px!important}
  .productAsk .conciergeAsk>button:last-child{width:50px!important;height:46px!important}
}
@media(max-width:360px) and (orientation:portrait){
  .productHero .conciergeTop>.brand>div{display:none}
  .productHero .conciergeHeaderActions{gap:4px}
}
@media(max-width:899px) and (orientation:landscape){
  .productHero .conciergeTop{top:18px!important;padding:0 18px!important;min-height:52px!important}
}
@media(max-width:899px) and (display-mode:standalone){
  .productHero .conciergeTop{top:calc(14px + env(safe-area-inset-top,0px))!important;padding:0 18px!important}
}

/* Ask, Villa Help and service pages */
.askConciergePage{max-width:920px!important}
.askConciergeIntro{padding:8px 0 22px;border-bottom:1px solid var(--guest-line)}
.askConciergeIntro h1{margin:8px 0 10px;font-size:clamp(2.8rem,6vw,4.7rem)}
.askConciergeIntro p{max-width:650px;color:var(--guest-muted);font-size:.96rem;line-height:1.55}
.askConciergeIntro p:empty{display:none}
.askConciergePage .chatManage{align-items:center;justify-content:space-between;min-height:48px;margin:0;color:var(--guest-muted);font-size:.74rem}
.askConciergePage .chatShell{min-height:calc(100vh - 255px)}
.askConciergePage .chatMessages{gap:13px;padding:8px 0 24px}
.askConciergePage .bubble{max-width:min(86%,720px);padding:15px 17px;border-radius:19px;font-size:.9rem;line-height:1.56}
.askConciergePage .bubble.assistant{border-color:var(--guest-line);border-bottom-left-radius:6px;box-shadow:0 7px 22px rgba(15,48,38,.04)}
.askConciergePage .bubble.guest{background:var(--guest-brand);border-bottom-right-radius:6px}
.askConciergePage .chatComposer{bottom:0;padding:24px 0 5px;background:linear-gradient(transparent,var(--guest-bg) 24%)}
.askConciergePage .askQuickPrompts{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap:7px;
  width:100%;
  min-width:0;
  overflow:visible;
  padding:2px 0 6px;
}
.askConciergePage .askQuickPrompts button{width:100%;min-width:0;min-height:39px;padding:7px 13px;border-color:var(--guest-line);font-size:.73rem;white-space:normal;overflow-wrap:anywhere}
.askConciergePage .chatAskBar{min-height:62px;border:1px solid var(--guest-line);border-radius:18px;background:#fff;box-shadow:0 15px 42px rgba(15,48,38,.12)}

.villaHelpPage{max-width:1120px!important}
.villaHelpPage .villaHelpHero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.55fr);align-items:center;gap:36px;min-height:270px;padding:32px;border-radius:26px;background:linear-gradient(135deg,var(--guest-brand),var(--guest-brand-2));color:#fff;box-shadow:var(--guest-shadow)}
.villaHelpPage .villaHelpHero .eyebrow{color:#cfe3d9}
.villaHelpPage .villaHelpHero h1{max-width:560px;font-size:clamp(2.4rem,4vw,3.4rem);line-height:.98}
.villaHelpPage .villaHelpHero p{max-width:540px;margin-top:12px;color:rgba(255,255,255,.76);line-height:1.55}
.villaHelpPage .villaHelpHero .primary{width:auto;min-width:210px;max-width:260px;justify-self:end;background:#fff;border-color:#fff;color:var(--guest-brand)}
.villaHelpPage .villaEssentialGrid{gap:10px;margin-top:18px}
.villaHelpPage .villaEssentialGrid button{min-height:92px;padding:17px;border-color:var(--guest-line);border-radius:17px;box-shadow:0 7px 22px rgba(15,48,38,.035)}
.villaHelpPage .villaEssentialGrid button:hover{border-color:#9db2a9;transform:translateY(-1px)}
.villaHelpPage .villaEssentialGrid button[data-nav="emergency"]{background:var(--guest-danger-soft);border-color:#e8c3bd}
.villaHelpPage .problemGrid{gap:9px}
.villaHelpPage .problemCard{min-height:82px;padding:15px;border-color:var(--guest-line);border-radius:17px;box-shadow:0 6px 20px rgba(15,48,38,.03)}
.villaHelpPage .problemCard:hover{border-color:#9db2a9;background:#fafcfa}
.villaHelpPage .informationNav{border-color:var(--guest-line);border-radius:16px}
.villaHelpPage .villaAddressCard{padding:22px}

.practicalHelpPage .decisionIntro h1,.simpleTaxiPage .decisionIntro h1,.foodDecisionPage .decisionIntro h1{font-size:clamp(2.7rem,5vw,4.4rem)}
.practicalHelpPage .practicalPrimary{gap:11px}
.practicalHelpPage .practicalAction{min-height:92px;border-color:var(--guest-line);border-radius:18px;box-shadow:0 7px 22px rgba(15,48,38,.035)}
.practicalHelpPage .practicalAction:hover{border-color:#9db2a9;transform:translateY(-1px)}
.serviceRequestPage .actionDetail{border-color:var(--guest-line);border-radius:22px;box-shadow:0 8px 26px rgba(15,48,38,.04)}
.serviceRequestPage>form,.simpleTaxiPage>form,.foodDecisionPage .foodConciergeCard{border-color:var(--guest-line);border-radius:20px}

/* Guest entry and the deliberately simple post-stay journey */
.guestFirstAuth{background:var(--guest-bg)}
.guestFirstAuth .authVisual::after{background:linear-gradient(180deg,rgba(6,27,19,.15),rgba(6,27,19,.82))}
.guestFirstAuth .authVisualCopy{max-width:720px}
.guestFirstAuth .authVisualCopy h1{font-size:clamp(3.1rem,6vw,5.5rem);letter-spacing:-.055em}
.guestFirstAuth .authPanel{background:var(--guest-bg)}
.guestFirstAuth .authCard{border:1px solid var(--guest-line);border-radius:26px;background:#fff;box-shadow:var(--guest-shadow)}
.guestFirstAuth .authCard h2{font-size:clamp(2.2rem,4vw,3.2rem)}
.guestFirstAuth .authCard input{border-color:var(--guest-line);border-radius:13px}
.guestFirstAuth .authCard .primary{min-height:50px;border-radius:14px;background:var(--guest-brand)}
.simplifiedPostStay{background:
  radial-gradient(circle at 10% 0,rgba(201,155,88,.16),transparent 30rem),
  radial-gradient(circle at 95% 24%,rgba(40,96,79,.10),transparent 34rem),
  #f4f2eb;color:var(--guest-ink)}
.postStayExperience{padding:clamp(18px,4vw,48px)!important}
.postStayShell{width:min(1040px,100%);margin:0 auto}
.postStayBrand{display:flex;align-items:center;gap:11px;margin-bottom:20px;padding:2px 4px;color:var(--guest-ink)}
.postStayBrandMark{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:var(--guest-brand);color:#fff;box-shadow:0 10px 24px rgba(21,63,52,.18)}
.postStayBrandMark svg{width:19px;height:19px}
.postStayBrand>span:nth-child(2){display:grid;line-height:1.08}.postStayBrand b{font-size:.93rem}.postStayBrand small{margin-top:3px;color:var(--guest-muted);font-size:.7rem}
.postStayBrand em{margin-left:auto;padding:7px 10px;border:1px solid rgba(21,63,52,.12);border-radius:999px;background:rgba(255,255,255,.58);color:var(--guest-muted);font-size:.7rem;font-style:normal;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

.postStayFeedbackStage{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);overflow:hidden;border:1px solid rgba(21,63,52,.12);border-radius:30px;background:#fff;box-shadow:0 28px 70px rgba(13,45,35,.12)}
.postStayFeedbackIntro{display:flex;flex-direction:column;justify-content:center;min-height:500px;padding:clamp(30px,5vw,56px);background:linear-gradient(145deg,#173f34,#285f4f);color:#fff}
.postStayFeedbackIntro .eyebrow{color:#e7f5ee}.postStayFeedbackIntro h1{max-width:520px;margin:10px 0 18px;color:#fff;font-size:clamp(2.7rem,5.5vw,4.8rem);line-height:.96;letter-spacing:-.05em;text-wrap:balance}.postStayFeedbackIntro>p{max-width:430px;color:#fff;font-size:1.03rem;line-height:1.55}
.postStayPrivateNote{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.19)}
.postStayPrivateNote>svg{width:23px;color:#ffe0a6}.postStayPrivateNote span{display:grid;gap:5px}.postStayPrivateNote b,.postStayPrivateNote small{color:#fff}.postStayPrivateNote small{line-height:1.45}
.simplifiedPostStay .postStayFirst{align-content:center;min-width:0;min-height:500px;margin:0;padding:clamp(28px,5vw,52px);border:0;border-radius:0;background:#fff;box-shadow:none}
.postStayFirst,.postStayFirst label,.postStayFirst .fieldLabel,.postStayFirst .fieldMessage{color:#17372d}.postStayFirst textarea{min-height:116px;resize:vertical;color:#17372d;background:#fff;border-color:#9cab9f}.postStayFirst textarea::placeholder{color:#60736b;opacity:1}.postStayFirst .fieldLabel{font-size:.79rem}.postStayFirst .fieldLabel small{color:#4e625a;font-weight:700;text-transform:none;letter-spacing:0}
.postStayRating{display:grid;gap:9px}.postStayRating .stars{gap:7px;flex-wrap:wrap}.postStayRating .starBtn{min-width:48px;min-height:48px;border:2px solid #a66b00;border-radius:13px;background:#fff8e5;color:#9a6200;font-size:2rem;line-height:1;box-shadow:0 3px 9px rgba(122,78,0,.12)}.postStayRating .starBtn:hover,.postStayRating .starBtn:focus-visible{background:#ffedbb;color:#744900;outline:3px solid rgba(166,107,0,.22);outline-offset:2px}.postStayRating .starBtn.active{border-color:#855400;background:#a66b00;color:#fff}
.postStayPublishChoice{padding:14px;border:1px solid #dfe7e1;border-radius:16px;background:#f5f8f5}.postStayPublishChoice p{margin-top:4px;color:var(--guest-muted);font-size:.78rem;line-height:1.4}
.postStaySubmit{width:100%;min-height:52px!important}

.postStayCompleteHero{display:flex;align-items:center;gap:22px;padding:clamp(25px,4vw,38px);border-radius:28px;background:linear-gradient(135deg,#173f34,#285f4f);color:#fff;box-shadow:0 22px 55px rgba(13,45,35,.14)}
.postStayCompleteHero>span{display:grid;place-items:center;width:58px;height:58px;flex:0 0 auto;border-radius:18px;background:rgba(255,255,255,.13);color:#f0d2a3}.postStayCompleteHero>span svg{width:28px;height:28px}
.postStayCompleteHero .eyebrow{color:#e7f5ee}.postStayCompleteHero h1{margin:3px 0 5px;color:#fff;font-size:clamp(2.55rem,5.5vw,4.7rem);line-height:.96;letter-spacing:-.05em}.postStayCompleteHero p{max-width:720px;color:#fff;font-size:.98rem;line-height:1.55}
.postStayPublicReview,.postStayReturnCard,.postStayNextCard{min-width:0;padding:clamp(20px,3vw,28px);border:1px solid var(--guest-line);border-radius:24px;background:#fff;box-shadow:0 12px 34px rgba(15,48,38,.06)}
.postStayPublicReview{margin:0;max-width:none;border-color:#dfc9a3;background:linear-gradient(145deg,#f7eedf,#f1e2ca)}
.postStayPublicReview .eyebrow{color:#6c542e}.postStayPublicReview>p{margin:16px 0 20px;color:#42564f;line-height:1.55}
.postStayCardHeading{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;align-items:start}.postStayCardHeading h2{margin:4px 0 0;font-family:var(--serif);font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.05;letter-spacing:-.035em}.postStayCardHeading p{margin-top:7px;color:var(--guest-muted);line-height:1.5}
.postStayCardIcon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#e4f0ea;color:var(--guest-brand)}.postStayCardIcon svg{width:22px;height:22px}.postStayCardIcon.light{background:rgba(255,255,255,.65);color:#7b571d}.postStayCardIcon.success{background:#e6f2ec}
.postStayReviewButton{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:50px;padding:12px 18px;border-radius:14px;background:var(--guest-brand);color:#fff;text-align:center;text-decoration:none;font-weight:850}.postStayReviewButton:hover{background:var(--guest-brand-2)}.postStayReviewButton svg{width:19px;height:19px}
.postStayReturnCard{background:#f7faf7}.postStayReturnCard ul{display:grid;gap:7px;margin:17px 0 19px;padding:0;list-style:none;color:#40574f;font-size:.86rem}.postStayReturnCard li{position:relative;padding-left:21px}.postStayReturnCard li::before{content:'✓';position:absolute;left:0;color:var(--guest-brand);font-weight:900}.postStayReturnCard>.primary{width:100%;min-height:49px}.postStayReturnCard>small{display:block;margin-top:9px;color:var(--guest-muted);text-align:center;line-height:1.4}.postStayReturnCard.joined{background:#edf5f0;border-color:#b9d1c5}.postStayTextButton{margin:17px 0 0 60px;border:0;background:transparent;color:var(--guest-brand);font:inherit;font-size:.8rem;font-weight:850;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.postStayNextCard h2{margin:5px 0 15px;font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.06;letter-spacing:-.035em}
.postStayActionList{display:grid;border-top:1px solid var(--guest-line)}.postStayActionList>a,.postStayActionList>button{display:grid;grid-template-columns:40px minmax(0,1fr) 20px;gap:11px;align-items:center;width:100%;min-height:68px;padding:11px 2px;border:0;border-bottom:1px solid var(--guest-line);border-radius:0;background:transparent;color:var(--guest-ink);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.postStayActionList>a:hover,.postStayActionList>button:hover{background:#f7faf7}.postStayActionList>a>svg,.postStayActionList>button>svg{width:18px;color:#789087}.postStayActionList>a>span:nth-child(2),.postStayActionList>button>span:nth-child(2){display:grid;gap:3px;min-width:0}.postStayActionList b{font-size:.87rem}.postStayActionList small{color:var(--guest-muted);font-size:.73rem;line-height:1.35}.postStayActionIcon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eaf2ed;color:var(--guest-brand)}.postStayActionIcon svg{width:18px;height:18px}
.postStayOfferDetails{margin-top:15px;padding:12px 14px;border-radius:14px;background:#f5eee2}.postStayOfferDetails summary{cursor:pointer;color:#604d2e;font-size:.8rem;font-weight:850}.postStayOfferDetails>div{display:grid;gap:7px;padding-top:12px;color:#4e554f;font-size:.76rem;line-height:1.45}.postStayOfferDetails p{margin:0}.postStayOfferTerms{padding-top:8px;border-top:1px solid rgba(96,77,46,.17);white-space:pre-line}.postStayChoicesFootnote{margin-top:13px;color:var(--guest-muted);font-size:.69rem;line-height:1.45}
.postStayProgrammeDetails{margin:15px 0;padding:12px 14px;border:1px solid #c3d6cb;border-radius:14px;background:#fff;color:#25453a}.postStayProgrammeDetails summary{cursor:pointer;font-size:.82rem;font-weight:900}.postStayProgrammeDetails ul{display:grid;gap:7px;margin:12px 0;padding-left:19px;color:#304d43;line-height:1.45}.postStayProgrammeDetails p{color:#41594f;font-size:.76rem;line-height:1.5}
.postStaySignOut{max-width:1040px;margin:26px auto 0;padding-top:13px;border-top:1px solid rgba(64,93,84,.14);text-align:center}.postStaySignOutButton{border:0;background:transparent;color:var(--guest-muted);font:inherit;font-size:.75rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:9px 16px}.postStaySignOutButton:hover,.postStaySignOutButton:focus-visible{color:var(--guest-ink)}

.postStayDialogHead h2{margin-top:4px}.postStayChoiceForm>p:first-child,.postStayFavouritesForm>p:first-child{color:var(--guest-muted);line-height:1.5}.postStayChoiceForm .checkRow,.postStayFavouriteList .checkRow{padding:13px;border:1px solid var(--guest-line);border-radius:15px;background:#f7f9f7}.postStayChoiceForm .checkRow p,.postStayFavouriteList .checkRow p{margin-top:4px;color:var(--guest-muted);font-size:.76rem;line-height:1.4}.postStayChoiceNote{color:var(--guest-muted);font-size:.72rem;line-height:1.45;text-align:center}.postStayFavouriteList{display:grid;gap:8px;max-height:min(44vh,360px);overflow:auto;padding-right:4px}.postStayFavouritesForm>.primary,.postStayChoiceForm>.primary{width:100%}

@media(max-width:780px){
 .postStayExperience{padding:14px 13px 34px!important}.postStayBrand{margin-bottom:13px}.postStayBrand em{font-size:.62rem}
 .postStayFeedbackStage{grid-template-columns:1fr;border-radius:24px}.postStayFeedbackIntro{min-height:0;padding:30px 24px;border-radius:0}.postStayFeedbackIntro h1{font-size:clamp(2.55rem,11vw,4rem)}.postStayPrivateNote{margin-top:24px;padding-top:18px}.simplifiedPostStay .postStayFirst{min-height:0;padding:25px 21px}
 .postStayCompleteHero{gap:15px;padding:23px 20px;border-radius:23px}.postStayCompleteHero>span{width:48px;height:48px;border-radius:15px}.postStayCompleteHero h1{font-size:clamp(2.45rem,11vw,3.6rem)}
 .postStayPublicReview,.postStayReturnCard,.postStayNextCard{padding:21px;border-radius:20px}.postStayTextButton{margin-left:0}
 .postStayFavouriteList{max-height:46vh}
}
@media(max-width:420px){
 .postStayBrand>span:nth-child(2) small{display:none}.postStayBrand em{padding:6px 8px;letter-spacing:.05em}
 .postStayFeedbackIntro{padding:27px 20px}.postStayFeedbackIntro h1{font-size:2.65rem}.simplifiedPostStay .postStayFirst{padding:22px 18px}.postStayRating .starBtn{min-width:42px;font-size:1.8rem}
 .postStayCompleteHero{align-items:flex-start}.postStayCompleteHero>span{width:43px;height:43px}.postStayCompleteHero h1{font-size:2.55rem}.postStayCardHeading{grid-template-columns:40px minmax(0,1fr);gap:11px}.postStayCardIcon{width:40px;height:40px}.postStayCardHeading h2{font-size:1.65rem}.postStayActionList>a,.postStayActionList>button{min-height:66px}
}

/* Commercial finish — one visual language across every guest route */
.guestExperience.hasRouteBar .guestMain{padding-top:1px}
.guestExperience.hasRouteBar .guestMain>.page{padding-top:42px}
.guestExperience .page h1,.guestExperience .page h2{color:var(--guest-ink)}
.guestExperience .page h1.serif{line-height:.98;text-wrap:balance}
.guestExperience .sectionHead h1,.guestExperience .sectionHead h2{letter-spacing:-.035em}
.guestExperience .panel,.guestExperience .experienceRow,.guestExperience .informationNav,.guestExperience .problemCard,.guestExperience .practicalAction,.guestExperience .guideGroupCard{
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.guestExperience .panel{background:rgba(255,255,255,.94)}
.guestExperience form.panel{padding:clamp(20px,3vw,30px)}
.guestExperience .fieldLabel{color:#405d54;font-size:.72rem;letter-spacing:.02em}
.guestExperience .empty{border:1px dashed #c9d3cc;border-radius:18px;background:rgba(255,255,255,.62)}

.productHomeContent .guestActionGrid>button{grid-template-columns:42px minmax(0,1fr);column-gap:12px}
.productHomeContent .guestActionGrid>button>svg{
  width:22px;height:22px;padding:9px;box-sizing:content-box;border-radius:12px;
  color:var(--guest-brand);background:var(--guest-accent-soft);
}
.productHomeContent .guestActionGrid>button.urgent>svg{background:#f5dcd6;color:var(--guest-danger)}
.productHomeContent .recommendationMedia{overflow:hidden}
.productHomeContent .recommendationMedia img{transition:transform .55s ease}
.productHomeContent .singleRecommendation:hover .recommendationMedia img{transform:scale(1.025)}

.marketExploreIntro{
  position:relative;overflow:hidden;padding:clamp(28px,5vw,48px)!important;border-radius:30px;
  color:#fff;background:
    radial-gradient(circle at 94% 0,rgba(240,211,167,.22),transparent 17rem),
    linear-gradient(135deg,#123c31,#245d4c);
  box-shadow:var(--guest-shadow-lg);
}
.marketExploreIntro::after{
  content:"";position:absolute;right:-90px;bottom:-150px;width:330px;height:330px;border:1px solid rgba(255,255,255,.12);border-radius:50%;pointer-events:none;
}
.marketExploreIntro .eyebrow{color:#efd4aa}
.marketExploreIntro h1{position:relative;color:#fff!important;max-width:850px}
.marketExploreIntro>p{position:relative;color:rgba(255,255,255,.75);max-width:660px}
.marketExploreIntro .decisionPrompts{position:relative}
.marketExploreIntro .decisionPrompts button{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.09);color:#fff;backdrop-filter:blur(10px)}
.marketExploreIntro .decisionPrompts button:hover{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.16)}
.marketExploreIntro .originChooser{position:relative;border-color:rgba(255,255,255,.18);background:rgba(6,31,23,.28);box-shadow:none;color:#fff;backdrop-filter:blur(16px)}
.marketExploreIntro .originSummary small,.marketExploreIntro .originSummary p{color:rgba(255,255,255,.65)}
.marketExploreIntro .originSummary b{color:#fff}
.marketExploreIntro .originSummary .originIcon{background:rgba(255,255,255,.13);color:#fff}
.marketExploreIntro .originActions .secondary{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.10);color:#fff}
.marketExploreIntro .originActions .ghost{color:#f1d6ad}
.marketExploreRecommendation{border:0;box-shadow:0 24px 58px rgba(15,48,38,.12)}
.exploreDirectorySection{border:0;box-shadow:0 18px 48px rgba(15,48,38,.08)}

.dutyPharmacyPanel{display:grid;gap:12px}
.dutyPharmacyCard{display:grid;gap:14px;padding:17px;border:1px solid var(--guest-line);border-radius:17px;background:var(--guest-surface-soft)}
.dutyPharmacyCard h3{margin:4px 0;font-size:1.05rem}
.dutyPharmacyCard p{color:var(--guest-muted);line-height:1.45}
.dutyPharmacyCard .buttonRow{margin:0}
.pharmacyFreshness{display:block;color:var(--guest-muted)}
.officialPharmacyFallback{overflow:hidden;border:1px solid var(--guest-line);border-radius:16px;background:#fff}
.officialPharmacyFallback>summary{cursor:pointer;padding:14px 16px;font-weight:800;color:var(--guest-brand)}
.officialPharmacyFallback iframe{display:block;width:100%;height:min(70vh,640px);border:0;border-top:1px solid var(--guest-line);background:#fff}

/* Dedicated live service screen: a rota is not a generic place page. */
.dutyPharmacyPage{max-width:1080px!important}
.dutyPharmacyIntro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.75fr);gap:24px;align-items:end;padding:clamp(26px,5vw,48px);border-radius:28px;color:#fff;background:linear-gradient(135deg,#123c31,#245d4c);box-shadow:var(--guest-shadow-lg)}
.dutyPharmacyIntro .eyebrow{color:#efd4aa}
.dutyPharmacyIntro h1{margin:8px 0 12px;font-size:clamp(2.8rem,6vw,5rem);line-height:.94;color:#fff}
.dutyPharmacyIntro p{max-width:660px;color:rgba(255,255,255,.8);line-height:1.6}
.dutyOrigin{display:grid;gap:7px;padding:18px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(3,30,22,.28)}
.dutyOrigin small{color:rgba(255,255,255,.68)}
.dutyOrigin b{font-size:1.08rem}
.dutyOrigin .buttonRow{margin:8px 0 0}
.dutyOrigin button{border-color:rgba(255,255,255,.25);color:#fff;background:rgba(255,255,255,.1)}
.livePharmacyList{display:grid;gap:14px}
.livePharmacyCard{display:grid;gap:16px;padding:clamp(20px,3vw,28px);border:1px solid var(--guest-line);border-radius:22px;background:#fff;box-shadow:var(--guest-shadow)}
.livePharmacyCard.nearest{border-color:rgba(22,78,61,.34);box-shadow:0 18px 44px rgba(15,48,38,.12)}
.livePharmacyHead{display:flex;align-items:start;justify-content:space-between;gap:16px}
.livePharmacyHead h2{margin-top:5px;font-size:clamp(1.35rem,3vw,2rem)}
.pharmacyKeyFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pharmacyKeyFacts>span{display:grid;grid-template-columns:24px minmax(0,1fr);gap:2px 10px;padding:14px;border-radius:15px;background:var(--guest-surface-soft)}
.pharmacyKeyFacts svg{grid-row:1/3;width:21px;color:var(--guest-brand)}
.pharmacyKeyFacts small{color:var(--guest-muted)}
.livePharmacyCard address{font-style:normal;line-height:1.55;color:var(--guest-muted)}
.livePharmacyActions{display:flex;gap:10px;flex-wrap:wrap}
.livePharmacyActions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px}
.livePharmacyActions svg{width:19px}
.pharmacySafetyNote{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:18px 20px;border-radius:17px;background:#fff3df;border:1px solid #ecd2aa}
.pharmacyDistanceNote{color:var(--guest-muted);font-size:.76rem;line-height:1.5}
@media(max-width:700px){
 .dutyPharmacyIntro{grid-template-columns:1fr;padding:24px 20px;border-radius:24px}
 .dutyPharmacyIntro h1{font-size:2.7rem}
 .pharmacyKeyFacts{grid-template-columns:1fr}
 .livePharmacyActions{display:grid;grid-template-columns:1fr}
 .livePharmacyActions a{width:100%}
 .pharmacySafetyNote{grid-template-columns:1fr}
}

/* Practical locations use a service directory, not an attraction itinerary. */
.practicalPlacePage{max-width:1120px!important}
.practicalPlaceHero{
 display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.65fr);gap:22px;align-items:stretch;
 position:relative;overflow:hidden;padding:clamp(26px,5vw,48px);border-radius:30px;color:#fff;
 background:radial-gradient(circle at 92% 0,rgba(240,211,167,.2),transparent 18rem),linear-gradient(135deg,#123c31,#245d4c);
 box-shadow:var(--guest-shadow-lg)
}
.practicalPlaceHero::after{content:"";position:absolute;right:-120px;bottom:-210px;width:390px;height:390px;border:1px solid rgba(255,255,255,.1);border-radius:50%;pointer-events:none}
.practicalPlacePhoto{grid-column:1/-1;height:240px;margin:calc(clamp(26px,5vw,48px) * -1) calc(clamp(26px,5vw,48px) * -1) 6px;overflow:hidden}
.practicalPlacePhoto img{display:block;width:100%;height:100%;object-fit:cover}
.practicalPlaceHeroCopy{position:relative;z-index:1;align-self:end;min-width:0}
.practicalType{display:flex;align-items:center;gap:11px;margin-bottom:17px}
.practicalType>span{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.2);border-radius:13px;background:rgba(255,255,255,.11)}
.practicalType svg{width:22px}
.practicalType>div{display:grid;gap:2px}
.practicalType small{color:#efd4aa;font-size:.62rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.practicalType b{font-size:.86rem;color:#fff}
.practicalPlaceHero h1{max-width:760px;margin:0 0 14px;font-size:clamp(2.8rem,6vw,5rem);line-height:.93;color:#fff!important}
.practicalPlaceHeroCopy>p{max-width:710px;color:rgba(255,255,255,.79);font-size:1rem;line-height:1.62}
.practicalHeroActions{display:flex;flex-wrap:wrap;gap:9px;margin-top:23px}
.practicalHeroActions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px}
.practicalHeroActions .primary{background:#fff;border-color:#fff;color:var(--guest-brand)}
.practicalHeroActions .secondary{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff}
.practicalHeroActions svg{width:19px}
.practicalUnavailable{display:block;padding:13px 15px;border:1px solid rgba(255,255,255,.2);border-radius:14px;color:rgba(255,255,255,.72)}
.practicalDistanceCard{position:relative;z-index:1;align-self:end;display:grid;gap:7px;padding:20px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:rgba(4,31,23,.3);backdrop-filter:blur(16px)}
.practicalDistanceCard>small{color:rgba(255,255,255,.62)}
.practicalDistanceCard>b{font-size:1.08rem;color:#fff}
.practicalDistanceValue{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center;margin:7px 0 9px;padding:13px;border-radius:14px;background:rgba(255,255,255,.1)}
.practicalDistanceValue>svg{width:24px}
.practicalDistanceValue>span{display:grid;gap:2px}
.practicalDistanceValue strong{color:#fff;font-size:.93rem;line-height:1.25}
.practicalDistanceValue small{color:rgba(255,255,255,.63);font-size:.66rem;line-height:1.3}
.practicalDistanceCard button{width:100%;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff}
.practicalDistanceCard .ghost{min-height:38px;background:transparent;color:#efd4aa}
.practicalPlaceLayout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:22px;align-items:start}
.practicalSectionHead{margin:0 0 16px}
.practicalSectionHead h2{margin-top:7px;font-size:clamp(1.8rem,3.5vw,2.65rem);letter-spacing:-.04em}
.practicalServiceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.practicalServiceGrid>div{min-width:0;padding:17px;border:1px solid var(--guest-line);border-radius:17px;background:#fff;box-shadow:0 8px 25px rgba(15,48,38,.04)}
.practicalServiceGrid dt{display:flex;align-items:center;gap:8px;margin-bottom:7px;color:var(--guest-muted);font-size:.67rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.practicalServiceGrid dt svg{width:18px;color:var(--guest-brand)}
.practicalServiceGrid dd{margin:0;color:var(--guest-ink);font-size:.92rem;font-weight:750;line-height:1.45;overflow-wrap:anywhere}
.practicalBefore,.practicalMedicalNotice{margin-top:12px;padding:18px 20px;border-radius:17px}
.practicalBefore{border:1px solid #e5d3b4;background:#fff7e8}
.practicalMedicalNotice{border:1px solid #e7c4be;background:var(--guest-danger-soft)}
.practicalBefore p,.practicalMedicalNotice p{margin-top:5px;color:#52675f;line-height:1.5}
.practicalVerified{margin-top:13px;color:var(--guest-muted);font-size:.73rem;line-height:1.5}
.practicalPlaceAside{display:grid;gap:11px;position:sticky;top:98px}
.practicalMapPanel,.practicalLocationCard{overflow:hidden;border:1px solid var(--guest-line);border-radius:20px;background:#fff;box-shadow:var(--guest-shadow)}
.practicalMapPanel .mapEmbed{display:block;width:100%;height:285px;border:0}
.practicalMapPanel>a{margin:12px;width:calc(100% - 24px)}
.practicalLocationCard{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:18px}
.practicalLocationCard>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--guest-accent-soft);color:var(--guest-brand)}
.practicalLocationCard svg{width:22px}
.practicalLocationCard>div{display:grid;gap:4px;align-content:center;min-width:0}
.practicalLocationCard small{color:var(--guest-muted)}
.practicalLocationCard b{line-height:1.4;overflow-wrap:anywhere}
.practicalLocationCard a{grid-column:1/-1;width:100%}
.practicalAsk{width:100%}
@media(max-width:820px){
 .practicalPlaceHero,.practicalPlaceLayout{grid-template-columns:1fr}
 .practicalDistanceCard{align-self:stretch}
 .practicalPlaceAside{position:static;grid-row:auto}
}
@media(max-width:560px){
 .practicalPlacePage{padding-top:18px!important}
 .practicalPlaceHero{padding:23px 20px;border-radius:24px}
 .practicalPlaceHero h1{font-size:2.75rem}
 .practicalPlaceHeroCopy>p{font-size:.88rem;line-height:1.5}
 .practicalHeroActions{display:grid;grid-template-columns:1fr}
 .practicalHeroActions a{width:100%}
 .practicalServiceGrid{grid-template-columns:1fr}
 .practicalPlacePhoto{height:190px;margin:-23px -20px 4px}
 .practicalMapPanel .mapEmbed{height:230px}
}

.askConciergeIntro{
  position:relative;overflow:hidden;margin-bottom:12px;padding:30px!important;border:0!important;border-radius:28px;
  color:#fff;background:linear-gradient(135deg,#123c31,#255d4d);box-shadow:var(--guest-shadow);
}
.askConciergeIntro::after{content:"";position:absolute;right:-42px;top:-68px;width:190px;height:190px;border-radius:50%;background:rgba(240,211,167,.12)}
.askConciergeIntro .eyebrow{color:#efd4aa}
.askConciergeIntro h1{position:relative;color:#fff!important}
.askConciergeIntro p{position:relative;color:rgba(255,255,255,.72)}
.askConciergePage .chatShell{border-radius:24px}
.askConciergePage .bubble.assistant{background:#fff;box-shadow:0 10px 28px rgba(15,48,38,.06)}
.askConciergePage .bubble.guest{background:linear-gradient(135deg,var(--guest-brand),var(--guest-brand-2));box-shadow:0 10px 26px rgba(15,48,38,.15)}

.villaHelpPage .villaHelpHero{
  position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);
  background:radial-gradient(circle at 94% 10%,rgba(240,211,167,.2),transparent 15rem),linear-gradient(135deg,#123c31,#275f4f);
  box-shadow:0 24px 58px rgba(15,48,38,.17);
}
.villaHelpPage .villaHelpHero h1{color:#fff!important}
.villaHelpPage .villaEssentialGrid button>svg,.villaHelpPage .problemCard>svg:first-child,.guestExperience .informationNav>span:first-child{
  flex:0 0 auto;width:22px;height:22px;padding:8px;box-sizing:content-box;border-radius:11px;background:var(--guest-accent-soft);color:var(--guest-brand);
}
.villaHelpPage .villaEssentialGrid button,.villaHelpPage .problemCard,.villaHelpPage .informationNav{background:rgba(255,255,255,.94)}
.villaHelpPage .villaEssentialGrid button:hover,.villaHelpPage .problemCard:hover,.villaHelpPage .informationNav:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(15,48,38,.08)}

.guestExperience .journeyHero,.guestExperience .termsHero,.guestExperience .guideHubHero{
  position:relative;overflow:hidden;padding:clamp(28px,5vw,46px);border:0;border-radius:28px;
  color:#fff;background:radial-gradient(circle at 95% 0,rgba(240,211,167,.18),transparent 16rem),linear-gradient(135deg,#123c31,#275f4f);
  box-shadow:var(--guest-shadow);
}
.guestExperience .journeyHero .eyebrow,.guestExperience .termsHero .eyebrow,.guestExperience .guideHubHero .eyebrow{color:#efd4aa}
.guestExperience .journeyHero h1,.guestExperience .termsHero h1,.guestExperience .guideHubHero h1{color:#fff!important}
.guestExperience .journeyHero p,.guestExperience .termsHero p,.guestExperience .guideHubHero p{max-width:680px;color:rgba(255,255,255,.74);line-height:1.58}
.guestExperience .directoryIntro,.guestExperience .manualSectionIntro,.guestExperience .actionDetail,.guestExperience .departureThanks{
  padding:clamp(24px,4vw,36px);border:1px solid var(--guest-line);border-radius:24px;background:rgba(255,255,255,.86);box-shadow:0 14px 38px rgba(15,48,38,.06);
}
.guestExperience .decisionIntro:not(.marketExploreIntro){padding:clamp(24px,4vw,34px);border-left:4px solid var(--guest-accent);border-radius:0 24px 24px 0;background:rgba(255,255,255,.75)}
.guestExperience .guideGroupCard,.guestExperience .experienceRow,.guestExperience .practicalAction{background:rgba(255,255,255,.94)}
.guestExperience .guideGroupCard:hover,.guestExperience .experienceRow:hover,.guestExperience .practicalAction:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(15,48,38,.08)}
.guestUtilityPage>.panel:first-child{padding:clamp(26px,4vw,38px);border-top:4px solid var(--guest-accent)}
.guestExperience .rateRow,.guestExperience .supplierCard,.guestExperience .eventCard,.guestExperience .foodConciergeCard{box-shadow:0 12px 34px rgba(15,48,38,.055)}
.guestExperience .rateRow:hover,.guestExperience .supplierCard:hover,.guestExperience .eventCard:hover,.guestExperience .foodConciergeCard:hover{transform:translateY(-1px);box-shadow:0 16px 38px rgba(15,48,38,.08)}

.guestExperience+.bottomNav .navItem.active{background:linear-gradient(180deg,#edf3ee,#e3ece6);box-shadow:inset 0 0 0 1px #d6e1da}

@media(max-width:899px){
  .askConciergePage .chatComposer{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .villaHelpPage .villaHelpHero{grid-template-columns:1fr;padding:24px;gap:0}
  .villaHelpPage .villaHelpHero .primary{width:100%;max-width:none;justify-self:stretch;margin-top:18px}
  .villaHelpPage .villaEssentialGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .practicalHelpPage .practicalPrimary{grid-template-columns:1fr}
}

@media(max-width:560px){
  .askConciergeIntro h1{font-size:2.8rem}
  .askConciergePage .bubble{max-width:94%;font-size:.86rem}
  .villaHelpPage .villaHelpHero{padding:21px}
  .villaHelpPage .villaHelpHero h1{font-size:2.7rem}
  .villaHelpPage .villaEssentialGrid{grid-template-columns:1fr}
  .guestFirstAuth .authVisual{min-height:42vh}
  .guestFirstAuth .authVisualCopy h1{font-size:2.8rem}
}

@media(prefers-reduced-motion:reduce){
  .guestExperience *,.guestExperience *::before,.guestExperience *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* Ask Villa v4.3.2 — authoritative guest hierarchy and mobile viewport pass */
:root{--guest-bottom-nav-height:82px}
.guestExperience :where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid #17644f!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.88)!important;
}
.productHero :where(button,a,input,select,textarea,summary,[tabindex]):focus-visible,
.productRouteBar :where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{
  outline-color:#fff!important;
  box-shadow:0 0 0 3px rgba(20,63,52,.78)!important;
}
.guestExperience button,
.guestExperience summary,
.guestExperience .primary,
.guestExperience .secondary,
.guestExperience .ghost,
.guestExperience .navItem{min-height:44px}
.guestExperience [data-voice],
.guestExperience .secondaryAsk{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  place-items:center;
  flex:0 0 44px;
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  min-height:44px!important;
}

.productHomeContent .guestPriorityGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.productHomeContent .guestPriorityGrid>button{min-width:0}
.productHomeContent .guestPriorityGrid>.featuredAction{
  grid-column:span 2;
  min-height:132px;
  align-content:center;
  padding:22px;
  color:#fff;
  border-color:transparent;
  background:
    radial-gradient(circle at 96% 0,rgba(240,211,167,.22),transparent 10rem),
    linear-gradient(135deg,var(--guest-brand),var(--guest-brand-2));
  box-shadow:0 18px 42px rgba(15,48,38,.17);
}
.productHomeContent .guestPriorityGrid>.featuredAction:hover{border-color:transparent;box-shadow:0 22px 48px rgba(15,48,38,.23)}
.productHomeContent .guestPriorityGrid>.featuredAction>svg,
.productHomeContent .guestPriorityGrid>.featuredAction>small{color:rgba(255,255,255,.82)}
.productHomeContent .guestPriorityGrid>.featuredAction>b{font-size:1.12rem}
.productHomeContent .guestPriorityGrid>.supportingAction{min-height:132px}

.homeActionSubjects{display:grid;gap:20px}
.homeActionSubject{display:grid;gap:9px}
.homeActionSubject>h3{font-size:.78rem;line-height:1;text-transform:uppercase;letter-spacing:.12em;color:var(--guest-muted)}
.homeActionSubject+.homeActionSubject{padding-top:18px;border-top:1px solid var(--guest-line)}
.productHomeContent .subjectActionGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
}
.productHomeContent .subjectActionGrid>button{min-width:0;min-height:118px}
.productHomeContent .subjectActionGrid>.featuredAction{
  grid-column:span 2;
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,var(--guest-brand),var(--guest-brand-2));
  box-shadow:0 16px 36px rgba(15,48,38,.15);
}
.productHomeContent .subjectActionGrid>.featuredAction>svg,
.productHomeContent .subjectActionGrid>.featuredAction>small{color:rgba(255,255,255,.82)}
.productHomeContent .subjectActionGrid>.featuredAction>b{color:#fff}
.guestExperience h1[tabindex="-1"]:focus{outline:none!important;box-shadow:none!important}
.notificationIntro{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid var(--guest-line);border-radius:18px;background:var(--guest-surface-soft)}
.notificationIntro h2{margin:3px 0;font-size:1.35rem}
.notificationIntro p{color:var(--guest-muted);font-size:.82rem}
.usefulNotification{display:grid;gap:7px}
.usefulNotification h3{font-size:1.12rem}

@media(max-width:899px){
  .guestExperience .guestMain{
    padding-bottom:calc(var(--guest-bottom-nav-height) + 26px + env(safe-area-inset-bottom,0px))!important;
  }
  .guestExperience .page{
    padding-bottom:34px!important;
  }
  .guestExperience .chatComposer,
  .askConciergePage .chatComposer{
    bottom:calc(var(--guest-bottom-nav-height) + env(safe-area-inset-bottom,0px))!important;
  }
  .guestExperience+.bottomNav{
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:calc(var(--guest-bottom-nav-height) + env(safe-area-inset-bottom,0px))!important;
    padding:6px 8px env(safe-area-inset-bottom,0px)!important;
    transform:none!important;
    border-width:1px 0 0!important;
    border-radius:0!important;
  }
  .guestExperience+.bottomNav .navItem{
    min-height:58px!important;
    padding:5px 3px!important;
    border-radius:14px!important;
  }
  .productHero.guestConciergeHero{
    width:auto!important;
    height:min(680px,calc(100svh - var(--guest-bottom-nav-height) - env(safe-area-inset-bottom,0px)))!important;
    min-height:540px!important;
    max-height:680px!important;
    margin:0!important;
    border-radius:0!important;
  }
  .productHero .conciergeTop{
    min-height:66px!important;
    padding:11px 14px!important;
    gap:10px!important;
  }
  .productHero .brand{font-size:1rem}
  .productHero .brandMark{width:34px;height:34px}
  .productHero .conciergeHeaderActions{gap:6px;max-width:calc(100% - 104px)!important}
  .productHero .conciergeCircle{width:44px;height:44px;min-width:44px}
  .productHeroBody{
    left:17px;
    right:17px;
    bottom:18px;
    gap:11px;
  }
  .productHeroCopy h1{font-size:clamp(2.35rem,11.5vw,3.55rem);margin:5px 0 7px}
  .productHeroCopy p{font-size:.88rem;line-height:1.4}
  .productStatusRow{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .productStatusRow .guestStatusItem{width:100%;min-height:42px!important;border-radius:13px!important;padding:7px 10px!important}
  .productStatusRow .guestStatusItem.stayDuration{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:auto minmax(82px,.72fr) minmax(0,1.28fr)!important;
    align-items:center!important;
  }
  .productStatusRow .guestStatusItem.stayDuration span:last-child{
    grid-column:auto!important;
    min-width:0;
    line-height:1.25;
  }
  .productAsk .conciergeAsk{height:56px}
  .productAsk .askPrompt{font-size:.72rem}
  .productHomeContent{padding:28px 16px 34px!important}
  .marketSectionHead{display:grid;gap:8px;align-items:start}
  .marketSectionHead>p{max-width:620px;text-align:left}
  .productHomeContent .guestPriorityGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .productHomeContent .guestPriorityGrid>.featuredAction{grid-column:1/-1;min-height:116px;padding:18px}
  .productHomeContent .guestPriorityGrid>.supportingAction{min-height:108px;padding:14px}
  .productHomeContent .subjectActionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .productHomeContent .subjectActionGrid>.featuredAction{grid-column:1/-1;min-height:112px}
  .productHomeContent .subjectActionGrid>button{min-height:104px}
  .notificationIntro{display:grid;align-items:start}
  .notificationIntro button{width:100%}
}

@media(max-width:380px){
  .productHero.guestConciergeHero{min-height:530px!important}
  .productHeroBody{left:13px;right:13px;bottom:13px;gap:8px}
  .productHeroCopy h1{font-size:2.25rem}
  .productHeroCopy p{font-size:.82rem}
  .productStatusRow .guestStatusItem{padding-inline:8px!important}
  .productStatusRow .guestStatusItem.stayDuration{grid-template-columns:auto minmax(72px,.65fr) minmax(0,1.35fr)!important}
  .productHomeContent .guestPriorityGrid{grid-template-columns:1fr}
  .productHomeContent .guestPriorityGrid>.featuredAction{grid-column:auto}
  .productHomeContent .subjectActionGrid{grid-template-columns:1fr}
  .productHomeContent .subjectActionGrid>.featuredAction{grid-column:auto}
}

@media(min-width:900px){
  .guestExperience .guestMain{padding-bottom:0!important}
}

/* v4.3.6 — stable owner controls, readable update prompt and compact Ask actions */
.routeFocusTarget:focus,
.routeFocusTarget:focus-visible,
.ownerFrame h1[tabindex="-1"]:focus,
.ownerFrame h2[tabindex="-1"]:focus{
  outline:0!important;
  box-shadow:none!important;
}

.appUpdate.updateAvailable{
  left:auto!important;
  right:18px!important;
  bottom:18px!important;
  transform:none!important;
  width:min(560px,calc(100vw - 36px))!important;
  max-width:none!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:14px!important;
  padding:16px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  background:#173d32!important;
  color:#fff!important;
}
.appUpdate.updateAvailable>span{
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
  color:#fff!important;
  font-size:.88rem!important;
  line-height:1.4!important;
}
.appUpdate.updateAvailable b{
  display:block!important;
  color:#fff!important;
  font-size:1rem!important;
  line-height:1.25!important;
}
.appUpdate.updateAvailable small{
  display:block!important;
  color:#dce9e4!important;
  font-size:.78rem!important;
  line-height:1.4!important;
}
.appUpdate.updateAvailable>div{display:flex!important;gap:8px!important;align-items:center!important}
.appUpdate.updateAvailable button{
  width:auto!important;
  min-width:94px!important;
  min-height:44px!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#173d32!important;
  -webkit-text-fill-color:#173d32!important;
  font-weight:850!important;
  opacity:1!important;
}
.appUpdate.updateAvailable [data-dismiss-update]{background:transparent!important;color:#fff!important;-webkit-text-fill-color:#fff!important}

.ownerAnalyticsExportMenu{position:relative;flex:0 0 auto;min-width:190px}
.ownerAnalyticsExportMenu>summary{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  color:var(--green);
  font-weight:850;
  list-style:none;
  cursor:pointer;
}
.ownerAnalyticsExportMenu>summary::-webkit-details-marker{display:none}
.ownerAnalyticsExportMenu>div{position:absolute;z-index:12;right:0;top:calc(100% + 7px);display:grid;gap:5px;width:220px;padding:8px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 16px 42px rgba(18,53,43,.17)}
.ownerAnalyticsExportMenu a{display:flex;align-items:center;min-height:44px;padding:9px 12px;border-radius:9px;color:var(--ink);font-weight:750;text-decoration:none}
.ownerAnalyticsExportMenu a:hover{background:var(--green-pale);color:var(--green)}
.ownerAnalyticsPage .analyticsTabs{position:static!important;top:auto!important;z-index:auto!important}

.ownerKnowledgePage .knowledgeFilterForm{grid-template-columns:minmax(240px,2fr) minmax(190px,1fr)!important;align-items:end!important;gap:12px!important;max-width:100%!important}
.ownerKnowledgePage .knowledgeFilterForm>*{min-width:0!important}
.knowledgeMoreFilters{grid-column:1/-1;padding-top:10px;border-top:1px solid var(--line)}
.knowledgeMoreFilters>summary{width:max-content;max-width:100%;min-height:42px;display:flex;align-items:center;color:var(--green);font-weight:850;cursor:pointer}
.knowledgeMoreFilters>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:12px}
.knowledgeMoreFilters label{min-width:0}
.ownerKnowledgePage .knowledgeManagementTable>table{min-width:820px!important}
.ownerKnowledgePage .knowledgeManagementTable>table td:first-child{min-width:300px}
.ownerKnowledgePage .knowledgeManagementTable td .tag{display:inline-flex;margin-top:7px}

.requestDangerActions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ownerRequestRow .recordActions{flex-wrap:wrap}

.askConciergePage .answerFollowUp{display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important;gap:8px!important}
.askConciergePage .answerFollowUp>span{font-size:.85rem!important}
.askConciergePage .answerFollowUp>.answerActions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;margin:0!important;padding:0!important}
.askConciergePage .answerFollowUp .compactBtn{width:100%!important;min-width:0!important;white-space:normal!important;line-height:1.25!important;text-align:center!important}
.askConciergePage .chatAskBar input{min-width:0!important;text-overflow:ellipsis!important}

@media(max-width:899px){
  .appUpdate.updateAvailable{
    left:12px!important;
    right:12px!important;
    bottom:calc(94px + env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
    grid-template-columns:1fr!important;
  }
  .appUpdate.updateAvailable>div{display:grid!important;grid-template-columns:1fr 1fr!important}
  .appUpdate.updateAvailable button{width:100%!important}
  .analyticsStayCodeInput{grid-template-columns:1fr!important}
  .analyticsStayCodeInput button{width:100%!important}
  .analyticsActiveStay{display:grid!important}
  .analyticsActiveStay>button{width:100%!important}
  .ownerAnalyticsHeader{display:grid!important;align-items:start!important;gap:14px!important}
  .ownerAnalyticsExportMenu{width:100%!important;min-width:0!important}
  .ownerAnalyticsExportMenu>summary{width:100%!important}
  .ownerAnalyticsExportMenu>div{position:static!important;width:100%!important;margin-top:7px;box-shadow:none!important}
  .ownerAnalyticsPage .analyticsTabs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;overflow:visible!important}
  .ownerAnalyticsPage .analyticsTabs button{width:100%!important;min-width:0!important;white-space:normal!important;line-height:1.2!important}
  .knowledgeMoreFilters>div{grid-template-columns:1fr 1fr}
}

@media(max-width:700px){
  .ownerKnowledgePage .knowledgeFilterForm{grid-template-columns:1fr!important;padding:14px!important}
  .knowledgeMoreFilters{grid-column:auto}
  .knowledgeMoreFilters>div{grid-template-columns:1fr}
  .requestDangerActions{grid-template-columns:1fr}
  .ownerRequestRow .recordActions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
  .ownerRequestRow .recordActions>*{width:100%!important;min-width:0!important}
  .askConciergePage .askQuickPrompts{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    overflow:visible!important;
    padding:2px 0 7px!important;
  }
  .askConciergePage .askQuickPrompts button{width:100%!important;min-width:0!important;min-height:46px!important;white-space:normal!important;line-height:1.25!important;padding:7px 9px!important}
  .askConciergePage .answerFollowUp>.answerActions{grid-template-columns:1fr!important}
  .askConciergePage .bubble{max-width:100%!important;min-width:0!important}
}

@media(max-width:370px){
  .askConciergePage .askQuickPrompts{grid-template-columns:1fr!important}
}

/* v4.3.3 timeline discoverability and privacy-safe push controls */
.guestAccountPage .accountToolList{gap:10px}
.accountTimelineCard{border-color:rgba(16,84,62,.28)!important;background:linear-gradient(135deg,#edf7f2,#fff)!important}
.accountTimelineCard .thumb{background:var(--green)!important;color:#fff!important}
.accountTimelineCard .listMain small{display:block;margin-bottom:3px;color:var(--green);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}
.accountTimelineCard .listMain p{line-height:1.4}
.notificationPage{display:grid;gap:0}
.pushControl{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:16px;align-items:start;padding:20px}
.pushStateIcon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:#f1eee6;color:#6b756f}
.pushStateIcon.on{background:#dff2e9;color:var(--green)}
.pushStateIcon svg{width:24px;height:24px}
.pushControlCopy h2{margin:5px 0 6px;font-size:1.25rem}
.pushControlCopy p{max-width:700px;color:var(--muted);line-height:1.5}
.pushControlCopy>small{display:block;margin-top:10px;color:#52665e;font-weight:700}
.pushControlActions{align-self:center}.pushControlActions button{width:auto;white-space:nowrap}
@media(max-width:720px){
  .pushControl{grid-template-columns:48px minmax(0,1fr);padding:17px}
  .pushStateIcon{width:48px;height:48px;border-radius:15px}
  .pushControlActions{grid-column:1/-1}.pushControlActions button{width:100%}
}

/* v4.3.2 final contrast and compact-action corrections */
.guestExperience+.bottomNav .navItem:not(.active){color:#52665e!important}
.guestExperience input::placeholder,.guestExperience textarea::placeholder{color:#52665e!important;opacity:1}
.singleActionRow{grid-template-columns:1fr!important}
.singleActionRow>*:only-child{grid-column:1/-1}

/* v4.3.7 — compact, visual Explore discovery after the preserved decision panel */
.marketExplore .exploreDirectorySection{
  position:relative;overflow:hidden;padding:clamp(24px,4vw,42px);border:1px solid rgba(190,205,196,.7);
  border-radius:34px;background:
    radial-gradient(circle at 100% 0,rgba(244,211,162,.30),transparent 20rem),
    radial-gradient(circle at 0 100%,rgba(176,214,201,.26),transparent 21rem),
    linear-gradient(145deg,#f4f6f1,#edf2ed);box-shadow:0 22px 60px rgba(15,48,38,.09)
}
.marketExplore .exploreDirectorySection::before{
  content:"";position:absolute;right:-120px;top:-155px;width:320px;height:320px;border:1px solid rgba(29,74,61,.09);border-radius:50%;pointer-events:none
}
.marketExplore .exploreDirectorySection .browseDirectoryBody{position:relative;padding-top:0}
.exploreDiscoveryIntro{display:flex;justify-content:space-between;gap:24px;align-items:end;max-width:760px}
.exploreDiscoveryIntro h2{margin-top:8px;font-size:clamp(2.8rem,6vw,4.5rem);line-height:.93}
.exploreDiscoveryIntro p{margin-top:12px;color:var(--guest-muted);font-size:1rem;line-height:1.5}
.marketExplore .exploreSearchBar{
  width:min(720px,100%);display:grid;grid-template-columns:24px minmax(0,1fr) 48px!important;gap:10px;align-items:center;
  margin:24px 0 0;padding:7px 8px 7px 17px;border:1px solid rgba(163,184,174,.9);border-radius:18px;background:rgba(255,255,255,.92);
  box-shadow:0 10px 30px rgba(15,48,38,.06)
}
.marketExplore .exploreSearchBar>span{display:grid;place-items:center;color:var(--guest-brand)}
.marketExplore .exploreSearchBar>span svg{width:21px;height:21px}
.marketExplore .exploreSearchBar input{width:100%;min-width:0;height:48px;border:0!important;background:transparent!important;box-shadow:none!important;font-size:.96rem!important}
.marketExplore .exploreSearchBar button{
  grid-column:auto!important;width:48px!important;min-width:48px!important;height:48px;min-height:48px;padding:0!important;border:0;border-radius:14px;
  display:grid;place-items:center;background:var(--guest-brand);color:#fff
}
.marketExplore .exploreSearchBar button svg{width:21px;height:21px}
.exploreCategoryLabel{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:30px 2px 14px}
.exploreCategoryLabel b{font-size:1rem}.exploreCategoryLabel span{color:var(--guest-muted);font-size:.78rem}
.exploreTileGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.exploreTile{
  --tile-tone:#e3eee8;--tile-ink:#1a5a47;position:relative;isolation:isolate;overflow:hidden;min-height:168px;padding:18px;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;color:var(--guest-ink);
  border:1px solid rgba(191,205,197,.72);border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(15,48,38,.045);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease
}
.exploreTile::after{content:"";position:absolute;z-index:-1;right:-38px;bottom:-52px;width:126px;height:126px;border-radius:50%;background:var(--tile-tone);opacity:.42}
.exploreTile:hover{transform:translateY(-3px);border-color:#8faea1;box-shadow:0 18px 38px rgba(15,48,38,.10)}
.exploreTile:focus-visible,.explorePlaceTile:focus-visible{outline:3px solid #0f5e49;outline-offset:3px}
.exploreTileIcon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:var(--tile-tone);color:var(--tile-ink)}
.exploreTileIcon svg{width:26px;height:26px}
.exploreTileCopy{display:block;width:100%;padding-top:22px}
.exploreTileCopy b,.exploreTileCopy small{display:block}.exploreTileCopy b{font-size:1.02rem;line-height:1.18}.exploreTileCopy small{margin-top:5px;color:var(--guest-muted);font-size:.72rem;font-weight:700}
.tone-sage{--tile-tone:#dfece5;--tile-ink:#1d5c49}.tone-peach{--tile-tone:#f8e3d8;--tile-ink:#a94a2a}.tone-sun{--tile-tone:#fae9bd;--tile-ink:#865d12}.tone-sky{--tile-tone:#dfeef1;--tile-ink:#286b73}.tone-mint{--tile-tone:#dcefe9;--tile-ink:#176856}.tone-rose{--tile-tone:#f1e0e4;--tile-ink:#8a4052}.tone-aqua{--tile-tone:#dceff0;--tile-ink:#176a70}.tone-sand{--tile-tone:#eee6d6;--tile-ink:#6e5b31}

.exploreResultToolbar{display:grid;grid-template-columns:auto minmax(280px,580px);align-items:center;justify-content:space-between;gap:16px}
.marketExplore .exploreResultToolbar .exploreSearchBar{margin:0}
.marketExplore .exploreBackCategories{display:inline-flex;align-items:center;gap:8px;width:auto;min-height:46px;margin:0;padding:0 4px;border:0;background:transparent;color:var(--guest-brand);font-weight:850}
.exploreBackCategories svg{width:20px;height:20px}
.exploreResultHero{
  --tile-tone:#dfece5;--tile-ink:#1d5c49;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:18px;align-items:center;
  margin-top:24px;padding:clamp(20px,4vw,32px);border:1px solid rgba(190,205,196,.75);border-radius:26px;background:linear-gradient(130deg,rgba(255,255,255,.96),var(--tile-tone));
  box-shadow:0 14px 34px rgba(15,48,38,.06)
}
.exploreResultIcon{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#fff;color:var(--tile-ink);box-shadow:0 8px 22px rgba(15,48,38,.07)}
.exploreResultIcon svg{width:29px;height:29px}
.exploreResultHero h2{margin-top:6px;font-size:clamp(2.3rem,5vw,4rem);line-height:.94}
.exploreResultHero p{margin-top:9px;color:#50645c;line-height:1.5}
.exploreResultCount{display:grid;place-items:center;min-width:72px;height:72px;border-radius:22px;background:rgba(255,255,255,.78);color:var(--guest-brand);font-size:1.45rem;font-weight:900}
.exploreResultCount small{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}
.marketExplore .explorePlaceResults{display:grid;grid-template-columns:1fr!important;gap:14px}
.explorePlaceMosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.explorePlaceTile{overflow:hidden;min-width:0;padding:0;text-align:left;color:var(--guest-ink);border:1px solid rgba(182,199,190,.82);border-radius:22px;background:#fff;box-shadow:0 9px 26px rgba(15,48,38,.045);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.explorePlaceTile:hover{transform:translateY(-3px);border-color:#8faea1;box-shadow:0 16px 34px rgba(15,48,38,.10)}
.explorePlaceTileMedia{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--guest-accent-soft)}
.explorePlaceTileMedia img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.explorePlaceTile:hover .explorePlaceTileMedia img{transform:scale(1.035)}
.explorePlaceTileCopy{position:relative;display:block;min-height:108px;padding:15px 42px 15px 15px}
.explorePlaceTileCopy b,.explorePlaceTileCopy small{display:block}.explorePlaceTileCopy b{font-size:.95rem;line-height:1.25}.explorePlaceTileCopy small{margin-top:7px;color:var(--guest-muted);font-size:.69rem;line-height:1.35}
.exploreTileArrow{position:absolute;right:14px;bottom:15px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--guest-accent-soft);color:var(--guest-brand)}
.exploreTileArrow svg{width:15px;height:15px}
.searchCorrection{margin-top:14px;padding:12px 15px;border-radius:15px;background:rgba(255,255,255,.78);color:var(--guest-muted)}
.exploreNoResults{margin-top:24px}.exploreNoResultIcon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 12px;border-radius:17px;background:var(--guest-accent-soft);color:var(--guest-brand)}
.exploreResultFooter{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}

@media(max-width:800px){
  .exploreTileGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .exploreTile{min-height:146px;padding:15px;border-radius:21px}.exploreTileIcon{width:50px;height:50px;border-radius:16px}.exploreTileCopy{padding-top:17px}
  .exploreResultToolbar{grid-template-columns:1fr;gap:10px}.marketExplore .exploreResultToolbar .exploreSearchBar{width:100%}
  .exploreResultHero{grid-template-columns:54px minmax(0,1fr) auto;gap:13px}.exploreResultIcon{width:54px;height:54px;border-radius:17px}
  .explorePlaceMosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}
@media(max-width:520px){
  .marketExplore .exploreDirectorySection{padding:20px 14px;border-radius:27px}
  .exploreDiscoveryIntro h2{font-size:2.55rem}.exploreDiscoveryIntro p{font-size:.9rem}
  .marketExplore .exploreSearchBar{grid-template-columns:22px minmax(0,1fr) 46px!important;margin-top:20px;padding:6px 7px 6px 14px;border-radius:17px}
  .marketExplore .exploreSearchBar input{height:46px;font-size:.9rem!important}.marketExplore .exploreSearchBar button{width:46px!important;min-width:46px!important;height:46px;min-height:46px}
  .exploreCategoryLabel{display:block;margin-top:25px}.exploreCategoryLabel span{display:block;margin-top:3px}
  .exploreTile{min-height:139px;padding:14px}.exploreTileIcon{width:46px;height:46px}.exploreTileIcon svg{width:23px;height:23px}.exploreTileCopy b{font-size:.92rem}.exploreTileCopy small{font-size:.65rem}
  .exploreResultHero{grid-template-columns:48px minmax(0,1fr);padding:18px 16px}.exploreResultIcon{width:48px;height:48px}.exploreResultHero h2{font-size:2.15rem}.exploreResultHero p{font-size:.82rem}.exploreResultCount{grid-column:1/-1;width:100%;height:auto;min-height:42px;display:flex;gap:5px;border-radius:14px;font-size:1rem}.exploreResultCount small{font-size:.6rem}
  .explorePlaceTileCopy{min-height:104px;padding:13px 34px 13px 12px}.explorePlaceTileCopy b{font-size:.86rem}.explorePlaceTileCopy small{font-size:.62rem}.exploreTileArrow{right:9px;bottom:12px;width:24px;height:24px}
  .exploreResultFooter{grid-template-columns:1fr}.exploreNoResults .buttonRow{grid-template-columns:1fr}
}
@media(max-width:350px){
  .exploreTileGrid{gap:8px}.exploreTile{min-height:132px;padding:12px}.exploreTileCopy b{font-size:.84rem}
  .explorePlaceMosaic{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.exploreTile,.explorePlaceTile,.explorePlaceTileMedia img{transition:none!important}}

/* v4.3.8 — compact editorial second-level Explore results.
   The decision panel and first-level category tiles above are intentionally unchanged. */
.exploreDiscoveryResults .exploreResultToolbar{
  grid-template-columns:auto minmax(260px,520px);gap:12px
}
.exploreDiscoveryResults .exploreBackCategories{
  min-height:42px;padding:0 6px!important;border-radius:12px
}
.exploreDiscoveryResults .exploreResultHero{
  grid-template-columns:48px minmax(0,1fr) auto;gap:13px;
  margin-top:16px;padding:15px 17px;border-radius:20px;
  box-shadow:0 9px 24px rgba(15,48,38,.045)
}
.exploreDiscoveryResults .exploreResultIcon{
  width:48px;height:48px;border-radius:15px;box-shadow:0 5px 14px rgba(15,48,38,.055)
}
.exploreDiscoveryResults .exploreResultIcon svg{width:23px;height:23px}
.exploreDiscoveryResults .exploreResultHero .eyebrow{font-size:.59rem}
.exploreDiscoveryResults .exploreResultHero h2{
  margin-top:3px;font-size:clamp(1.55rem,3.2vw,2.25rem);line-height:1.02
}
.exploreDiscoveryResults .exploreResultHero p{
  margin-top:5px;font-size:.76rem;line-height:1.35
}
.exploreDiscoveryResults .exploreResultCount{
  min-width:58px;width:auto;height:42px;display:flex;gap:4px;padding:0 11px;
  border-radius:999px;font-size:.95rem
}
.exploreDiscoveryResults .exploreResultCount small{font-size:.52rem;letter-spacing:.06em}
.marketExplore .exploreDiscoveryResults .explorePlaceResults{
  margin-top:16px;gap:10px
}
.exploreDiscoveryResults .explorePlaceMosaic{
  grid-template-columns:repeat(4,minmax(0,1fr));gap:11px
}
.exploreDiscoveryResults .explorePlaceTile{
  border-radius:18px;box-shadow:0 7px 20px rgba(15,48,38,.045)
}
.exploreDiscoveryResults .explorePlaceTileMedia{aspect-ratio:3/2}
.exploreTopPickBadge{
  position:absolute;left:9px;top:9px;z-index:1;padding:5px 8px;border-radius:999px;
  background:rgba(255,255,255,.94);color:var(--guest-brand);box-shadow:0 4px 12px rgba(0,0,0,.08);
  font-size:.56rem;font-weight:900;letter-spacing:.035em;text-transform:uppercase
}
.exploreDiscoveryResults .explorePlaceTileCopy{
  min-height:82px;padding:12px 34px 11px 12px
}
.exploreDiscoveryResults .explorePlaceTileCopy b{
  display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  font-size:.83rem;line-height:1.2
}
.exploreDiscoveryResults .explorePlaceTileCopy small{
  display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1;
  margin-top:5px;font-size:.6rem;line-height:1.25
}
.exploreDiscoveryResults .exploreTileArrow{
  right:9px;bottom:10px;width:23px;height:23px
}
.exploreDiscoveryResults .exploreTileArrow svg{width:13px;height:13px}
.exploreDiscoveryResults .exploreResultFooter{margin-top:16px}

@media(max-width:940px){
  .exploreDiscoveryResults .explorePlaceMosaic{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .exploreDiscoveryResults .exploreResultToolbar{grid-template-columns:1fr;gap:8px}
  .exploreDiscoveryResults .explorePlaceMosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
}
@media(max-width:520px){
  .exploreDiscoveryResults .exploreResultHero{
    grid-template-columns:42px minmax(0,1fr) auto;gap:10px;margin-top:13px;padding:13px 12px
  }
  .exploreDiscoveryResults .exploreResultIcon{width:42px;height:42px;border-radius:13px}
  .exploreDiscoveryResults .exploreResultIcon svg{width:20px;height:20px}
  .exploreDiscoveryResults .exploreResultHero h2{font-size:1.42rem}
  .exploreDiscoveryResults .exploreResultHero p{font-size:.69rem}
  .exploreDiscoveryResults .exploreResultCount{
    grid-column:auto;width:auto;min-width:48px;min-height:36px;height:36px;padding:0 8px;border-radius:999px;font-size:.82rem
  }
  .exploreDiscoveryResults .exploreResultCount small{display:none}
  .marketExplore .exploreDiscoveryResults .explorePlaceResults{margin-top:13px}
  .exploreDiscoveryResults .explorePlaceTileCopy{min-height:78px;padding:11px 31px 10px 10px}
  .exploreDiscoveryResults .explorePlaceTileCopy b{font-size:.78rem}
  .exploreDiscoveryResults .explorePlaceTileCopy small{font-size:.57rem}
  .exploreDiscoveryResults .exploreResultFooter{grid-template-columns:1fr 1fr;gap:8px}
  .exploreDiscoveryResults .exploreResultFooter button{min-width:0;padding:10px 7px;font-size:.7rem}
}
@media(max-width:350px){
  .exploreDiscoveryResults .explorePlaceMosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .exploreDiscoveryResults .explorePlaceTileCopy{min-height:74px}
  .exploreDiscoveryResults .exploreResultHero p{display:none}
}

/* v4.3.9 — one visible tile language for Home and Villa Help. */
.productHomeContent .homeActionSubjects{gap:23px}
.productHomeContent .homeActionSubject{gap:11px}
.productHomeContent .homeActionSubject>h3{padding-left:2px}
.productHomeContent .homeActionSubject+.homeActionSubject{padding-top:21px}
.productHomeContent .subjectActionGrid>button{
  height:100%;align-content:center
}
.villaInformationGroups{display:grid;gap:23px}
.villaInformationGroup{display:grid;gap:11px}
.villaInformationGroup>.eyebrow{padding-left:2px}
.villaInformationGroup+.villaInformationGroup{padding-top:21px;border-top:1px solid var(--guest-line)}
.villaHelpPage .villaUnifiedGrid{
  grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0
}
.villaHelpPage .villaUnifiedGrid button{
  min-width:0;min-height:112px;align-items:flex-start
}
.villaHelpPage .villaUnifiedGrid button span{min-width:0}
.villaHelpPage .villaUnifiedGrid button b{line-height:1.22}
.villaHelpPage .villaUnifiedGrid button small{margin-top:5px;font-size:.72rem;line-height:1.35}

@media(max-width:899px){
  .villaHelpPage .villaUnifiedGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .productHomeContent .subjectActionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .productHomeContent .subjectActionGrid>.featuredAction{grid-column:1/-1}
  .productHomeContent .subjectActionGrid>button{min-height:108px;padding:14px}
  .villaHelpPage .villaUnifiedGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}
  .villaHelpPage .villaUnifiedGrid button{
    display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;min-height:126px;padding:13px
  }
  .villaHelpPage .villaUnifiedGrid button>svg{width:20px;height:20px;padding:8px}
  .villaHelpPage .villaUnifiedGrid button b{font-size:.84rem}
  .villaHelpPage .villaUnifiedGrid button small{font-size:.64rem}
}
@media(max-width:340px){
 .productHomeContent .subjectActionGrid,.villaHelpPage .villaUnifiedGrid{grid-template-columns:1fr!important}
 .productHomeContent .subjectActionGrid>.featuredAction{grid-column:auto}
 .villaHelpPage .villaUnifiedGrid button{min-height:92px}
}

/* v4.3.10 — stay tools are destinations, not preferences. */
.guestAccountPage{display:grid;gap:0}
.guestAccountPage .accountStaySummary{padding:22px}
.accountSection{display:grid;gap:13px}
.accountSectionHead{display:grid;gap:4px;padding:0 2px}
.accountSectionHead h2{font-size:1.45rem;line-height:1.15}
.accountSectionHead p{color:var(--muted);line-height:1.45}
.accountQuickGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.accountQuickCard{
 display:grid;grid-template-columns:46px minmax(0,1fr) 20px;gap:12px;align-items:center;
 min-width:0;min-height:126px;padding:16px;text-align:left;border:1px solid var(--guest-line);
 border-radius:23px;background:#fff;color:var(--ink);box-shadow:0 9px 24px rgba(20,55,44,.055)
}
.accountQuickCard.featured{grid-column:1/-1;background:linear-gradient(135deg,#e7f3ed,#fff);border-color:rgba(16,84,62,.3)}
.accountQuickCard .thumb{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#f5ead6;color:var(--green)}
.accountQuickCard.featured .thumb{background:var(--green);color:#fff}
.accountQuickCard .thumb svg{width:22px;height:22px}
.accountQuickCard>svg{width:19px;height:19px;color:#829089}
.accountQuickCopy{display:grid;gap:4px;min-width:0}
.accountQuickCopy small{color:var(--green);font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.09em}
.accountQuickCopy b{font-size:1.02rem;line-height:1.2}
.accountQuickCopy>span{color:var(--muted);font-size:.78rem;line-height:1.38}
.accountSettings{padding-top:21px;border-top:1px solid var(--guest-line)}
.accountSettingCard{min-height:76px!important}
.accountSettingCard .listMain p{margin-top:3px;font-size:.75rem;line-height:1.35}
@media(max-width:520px){
 .guestAccountPage .accountStaySummary{padding:18px}
 .accountQuickGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .accountQuickCard{grid-template-columns:40px minmax(0,1fr);align-content:start;min-height:142px;padding:14px;gap:10px}
 .accountQuickCard.featured{grid-template-columns:44px minmax(0,1fr) 18px;min-height:112px}
 .accountQuickCard:not(.featured)>svg{display:none}
 .accountQuickCard .thumb{width:40px;height:40px;border-radius:13px}
 .accountQuickCard.featured .thumb{width:44px;height:44px}
 .accountQuickCopy b{font-size:.9rem}
 .accountQuickCopy>span{font-size:.7rem}
}
@media(max-width:340px){
 .accountQuickGrid{grid-template-columns:1fr}
 .accountQuickCard,.accountQuickCard.featured{grid-column:auto;grid-template-columns:42px minmax(0,1fr) 18px;min-height:96px}
 .accountQuickCard:not(.featured)>svg{display:block}
}
/* v4.3.11 — one authoritative, evidence-aware place guide */
.placeGuide{background:#fff;border:1px solid var(--line,#ccd9d3);border-radius:26px;padding:clamp(20px,4vw,34px);box-shadow:0 14px 34px rgba(19,62,50,.06)}
.placeGuideHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.placeGuideHead h2{margin:.25rem 0 0;font-size:clamp(1.65rem,4vw,2.45rem)}
.placeGuideSections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line,#d5dfda);border:1px solid var(--line,#d5dfda);border-radius:20px;overflow:hidden}
.placeGuideSections>section{min-width:0;background:#fff;padding:20px}
.placeGuideSections h3{margin:0 0 8px;font-size:1rem;letter-spacing:.01em}
.placeGuideSections p{margin:0;white-space:pre-line;line-height:1.55;color:var(--muted,#52665e)}
.placeGuideSections p+p{margin-top:10px}
.placeEvidence{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:14px 0 0;border-top:1px solid var(--line,#d5dfda)}
.placeEvidence>div{display:grid;gap:3px}.placeEvidence span{color:var(--muted,#52665e)}
.placeEvidence .placeSources{margin:0}.placeEvidence .placeSources summary{min-height:44px;display:flex;align-items:center;font-weight:800;cursor:pointer}
.placeFallback{margin:0 0 16px;padding:10px 12px;border-radius:12px;background:#fff7df;color:#654e13}
@media(max-width:700px){.placeGuide{padding:18px;border-radius:22px}.placeGuideHead,.placeEvidence{align-items:stretch;flex-direction:column}.placeGuideSections{grid-template-columns:1fr}.placeGuideSections>section{padding:16px}.placeEvidence .placeSources summary{justify-content:flex-start}}

/* v4.4.0 — decision-ready place answers and readable in-app guides. */
.guestExperience .answerPlaceGroup{
  gap:14px;padding:clamp(16px,3vw,22px);border-radius:22px;
  border-color:rgba(21,63,52,.24);background:#fff;box-shadow:0 12px 30px rgba(19,62,50,.07)
}
.guestExperience .answerPlaceHeading h3{font-size:clamp(1.25rem,3vw,1.65rem);line-height:1.12}
.guestExperience .answerPlaceReason{font-size:1rem;line-height:1.58;color:var(--guest-ink)}
.guestExperience .answerPlaceFacts{gap:9px}
.guestExperience .answerPlaceFacts>span{
  min-width:0;padding:11px 12px;border:1px solid rgba(21,63,52,.08);
  border-radius:13px;background:var(--guest-surface-soft);line-height:1.4
}
.guestExperience .answerPlaceFacts>span b{font-size:.7rem;letter-spacing:.055em;text-transform:uppercase;color:var(--guest-brand)}
.guestExperience .answerCriticalFacts,
.guestExperience .placeDecisionFacts{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px
}
.guestExperience .answerCriticalFacts>div,
.guestExperience .placeDecisionFacts>div{
  display:grid;align-content:start;gap:6px;min-width:0;padding:13px 14px;
  border:1px solid rgba(21,63,52,.12);border-radius:15px;background:#f3f7f4
}
.guestExperience .answerCriticalFacts b,
.guestExperience .placeDecisionFacts b{
  font-size:.71rem;line-height:1.25;letter-spacing:.07em;text-transform:uppercase;color:var(--guest-brand)
}
.guestExperience .answerCriticalFacts span,
.guestExperience .placeDecisionFacts span{
  overflow-wrap:anywhere;font-size:.9rem;line-height:1.48;color:var(--guest-ink)
}
.guestExperience .answerCriticalFacts small{
  justify-self:start;margin-top:1px;padding:4px 7px;border-radius:999px;
  background:#e2eee8;color:var(--guest-brand-2);font-size:.59rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase
}
.guestExperience .answerPlaceActions{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:2px
}
.guestExperience .answerPlaceActions .compactBtn{width:100%;min-width:0;min-height:46px;justify-content:center}
.guestExperience .answerPlaceActions [data-place]{grid-column:1/-1;min-height:50px}
.guestExperience .answerQuestionPrompts{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:13px;border-top:1px solid var(--guest-line)
}
.guestExperience .answerQuestionPrompts>span{
  flex:0 0 100%;font-size:.69rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--guest-muted)
}
.guestExperience .answerQuestionPrompts button{
  min-height:42px;max-width:100%;padding:9px 13px;border:1px solid rgba(21,63,52,.22);
  border-radius:999px;background:#fff;color:var(--guest-brand);font-size:.78rem;font-weight:800;line-height:1.25;text-align:left
}
.guestExperience .answerQuestionPrompts button:hover,
.guestExperience .answerQuestionPrompts button:focus-visible{
  border-color:var(--guest-brand);background:var(--guest-accent-soft);box-shadow:0 0 0 3px rgba(40,96,79,.12)
}

.guestExperience .placeAtAGlance{
  display:grid;gap:11px;margin:0 0 18px;padding:16px;border:1px solid rgba(21,63,52,.14);
  border-radius:19px;background:linear-gradient(145deg,#edf5f0,#fbfcfb)
}
.guestExperience .placeGuideSections{
  gap:12px;border:0;border-radius:0;overflow:visible;background:transparent
}
.guestExperience .placeGuideSections>section{
  min-width:0;padding:19px;border:1px solid var(--guest-line);border-radius:17px;background:#fff;scroll-margin-top:104px
}
.guestExperience .placeGuideSections>section:is(#place-food,#place-pool,#place-family,#place-sea_access){
  border-color:rgba(21,63,52,.18);background:#f7faf8
}
.guestExperience .placeGuideSections>section#place-food{grid-column:1/-1}
.guestExperience .placeGuideSections h3{font-size:1.03rem;color:var(--guest-brand)}
.guestExperience .placeGuideSections p{overflow-wrap:anywhere;color:var(--guest-muted);font-size:.93rem;line-height:1.62}

/* v4.4.9 — deterministic Explore landing and uniform preview cards */
.guestExperience .exploreDiscoveryResults .explorePlaceMosaic{grid-auto-rows:1fr;align-items:stretch}
.guestExperience .exploreDiscoveryResults .explorePlaceTile{
  display:grid;grid-template-rows:auto minmax(0,1fr);align-content:start;align-items:stretch;height:100%
}
.guestExperience .exploreDiscoveryResults .explorePlaceTileMedia{align-self:start}
.guestExperience .exploreDiscoveryResults .explorePlaceTileCopy{
  display:flex;flex-direction:column;align-items:stretch;min-height:164px;height:100%
}
.guestExperience .exploreDiscoveryResults .explorePlaceTileCopy>b{
  height:2.4em;min-height:2.4em;margin:0
}
.guestExperience .exploreDiscoveryResults .explorePlaceTileCopy>small{
  height:1.25em;min-height:1.25em;overflow:hidden;margin-top:5px;white-space:nowrap;text-overflow:ellipsis
}
.guestExperience .explorePreviewSummary{
  display:-webkit-box;height:4.14em;min-height:4.14em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;
  margin-top:8px;color:var(--guest-muted);font-size:.68rem;line-height:1.38
}
.guestExperience .exploreTileOpen{
  display:flex;align-items:center;gap:4px;margin-top:auto;padding-top:10px;color:var(--guest-brand);font-size:.63rem;font-weight:900
}
.guestExperience .exploreTileOpen svg{width:13px;height:13px}

@media(max-width:700px){
  .guestExperience .answerCriticalFacts,.guestExperience .placeDecisionFacts{grid-template-columns:1fr}
  .guestExperience .placeGuideSections>section#place-food{grid-column:auto}
  .guestExperience .placeGuideSections>section{padding:16px}
}
@media(max-width:520px){
  .guestExperience .answerPlaceGroup{padding:15px;border-radius:19px}
  .guestExperience .answerPlaceFacts{grid-template-columns:1fr}
  .guestExperience .answerCriticalFacts>div,.guestExperience .placeDecisionFacts>div{padding:12px}
  .guestExperience .answerPlaceActions{grid-template-columns:1fr}
  .guestExperience .answerPlaceActions [data-place]{grid-column:auto}
  .guestExperience .answerQuestionPrompts{display:grid;grid-template-columns:1fr}
  .guestExperience .answerQuestionPrompts>span{width:auto}
  .guestExperience .answerQuestionPrompts button{width:100%;border-radius:14px;text-align:left}
  .guestExperience .placeAtAGlance{padding:13px}
  .guestExperience .exploreDiscoveryResults .explorePlaceTileCopy{min-height:154px}
  .guestExperience .explorePreviewSummary{font-size:.62rem}
}

/* v4.6.0 — resilient, row-consistent Explore cards */
.guestExperience .exploreDiscoveryResults .explorePlaceMosaic{
  grid-auto-rows:auto;align-items:stretch
}
.guestExperience .exploreDiscoveryResults .explorePlaceTile{
  min-width:0;max-width:100%;overflow:hidden
}
.guestExperience .exploreDiscoveryResults .explorePlaceTileMedia{
  isolation:isolate;min-width:0;min-height:0;aspect-ratio:3/2;background:var(--guest-accent-soft)
}
.guestExperience .exploreDiscoveryResults .explorePlaceTileMedia>img{
  position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover
}
.guestExperience .exploreDiscoveryResults .exploreFallbackImage{z-index:0}
.guestExperience .exploreDiscoveryResults .explorePlacePhoto{z-index:1}
.guestExperience .exploreDiscoveryResults .explorePlaceTileCopy{
  box-sizing:border-box;width:100%;min-width:0;min-height:176px;overflow:hidden
}
.guestExperience .exploreDiscoveryResults .explorePlaceTileCopy>b,
.guestExperience .exploreDiscoveryResults .explorePlaceTileCopy>small,
.guestExperience .exploreDiscoveryResults .explorePreviewSummary,
.guestExperience .exploreDiscoveryResults .exploreTileOpen{
  min-width:0;max-width:100%;overflow-wrap:anywhere
}
.guestExperience .exploreDiscoveryResults .explorePlaceTileCopy>b{
  display:-webkit-box;height:auto;min-height:2.4em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  white-space:normal
}
.guestExperience .exploreDiscoveryResults .explorePlaceTileCopy>small{
  display:-webkit-box;height:auto;min-height:2.5em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  white-space:normal;text-overflow:clip
}
.guestExperience .exploreDiscoveryResults .explorePreviewSummary{
  height:auto;min-height:4.14em;max-height:4.14em
}
.guestExperience .exploreDiscoveryResults .exploreTileOpen{
  flex:0 0 auto;white-space:nowrap
}

@media(max-width:520px){
  .guestExperience .exploreDiscoveryResults .explorePlaceTileCopy{min-height:168px}
}

/* v4.6.1 — repaired and product-finished Sun Chaser + Time Capsule */
.guestExperience .sunChaserPage,.guestExperience .capsulePage{padding-top:22px!important}
.guestExperience .sunChaserHero{
  position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:440px;padding:clamp(26px,5vw,58px);
  overflow:hidden;border:0;border-radius:30px;background-image:var(--pool-photo);background-size:cover;background-position:center 58%;
  color:#fff;box-shadow:0 28px 70px rgba(8,36,27,.2)
}
.guestExperience .sunChaserHeroShade{
  position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(8,34,26,.91) 0%,rgba(8,34,26,.64) 48%,rgba(8,34,26,.12) 82%),linear-gradient(0deg,rgba(8,34,26,.34),transparent 55%)
}
.guestExperience .sunChaserHeroCopy{display:grid;gap:14px;width:min(650px,100%);text-shadow:none}
.guestExperience .sunChaserHeroCopy h1{max-width:620px;margin:0;color:#fff;font-size:clamp(2.75rem,6.5vw,5.2rem);line-height:.92;letter-spacing:-.055em}
.guestExperience .sunChaserHeroCopy>p{max-width:590px;margin:0;color:rgba(255,255,255,.88);font-size:clamp(1rem,2vw,1.18rem);line-height:1.5}
.guestExperience .sunLiveRow{display:flex;align-items:center;gap:9px;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.guestExperience .sunLiveDot{width:9px;height:9px;border-radius:50%;background:#ffe38a;box-shadow:0 0 0 6px rgba(255,227,138,.16)}
.guestExperience .sunHeroNext{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;width:max-content;max-width:100%;margin-top:4px;padding:11px 15px 11px 11px;border:1px solid rgba(255,255,255,.24);border-radius:16px;background:rgba(255,255,255,.12);backdrop-filter:blur(12px)}
.guestExperience .sunHeroNext>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#ffe188;color:#654d08}
.guestExperience .sunHeroNext svg{width:22px}.guestExperience .sunHeroNext div{display:grid;gap:2px}
.guestExperience .sunHeroNext small{color:rgba(255,255,255,.7);font-size:.62rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.guestExperience .sunHeroNext b{overflow-wrap:anywhere;color:#fff;font-size:.9rem;line-height:1.25}
.guestExperience .sunOverview{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:12px}
.guestExperience .sunWeatherNow{display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;align-items:center;padding:18px;border:1px solid var(--guest-line);border-radius:20px;background:linear-gradient(135deg,#fff8da,#fff);box-shadow:0 10px 28px rgba(15,48,38,.045)}
.guestExperience .sunWeatherNow>span{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#ffdf70;color:#664f0b}.guestExperience .sunWeatherNow svg{width:23px}
.guestExperience .sunWeatherNow div{display:grid;gap:3px}.guestExperience .sunWeatherNow small,.guestExperience .sunFactGrid span{color:var(--guest-muted);font-size:.63rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.guestExperience .sunWeatherNow b{font-size:.91rem;line-height:1.3}.guestExperience .sunFactGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.guestExperience .sunFactGrid article{display:grid;gap:4px;min-height:0;padding:18px;border:1px solid var(--guest-line);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(15,48,38,.045)}
.guestExperience .sunFactGrid b{color:var(--guest-ink);font-family:var(--serif);font-size:1.75rem;line-height:1}
.guestExperience .sunWindowCard{padding:clamp(20px,4vw,34px);overflow:hidden}
.guestExperience .sunWindowHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.guestExperience .sunWindowHead h2{margin:5px 0 0;font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.1}
.guestExperience .sunState{max-width:360px;padding:9px 13px;border:1px solid var(--guest-line);border-radius:999px;background:#f0f3f0;color:var(--guest-muted);font-size:.72rem;font-weight:850;line-height:1.25;text-align:center}
.guestExperience .sunState.live{border-color:#e4c65d;background:#fff4bf;color:#67500b}
.guestExperience .sunTimeline{position:relative;margin:36px 0 26px;padding-top:22px}
.guestExperience .sunTimelineRail{position:absolute;top:9px;left:5%;right:5%;height:5px;border-radius:99px;background:#e2e7e3}
.guestExperience .sunTimelineRail>span{display:block;width:var(--pool-progress);height:100%;border-radius:99px;background:linear-gradient(90deg,#f1bb45,#ffd964)}
.guestExperience .sunTimelineRail>i{position:absolute;top:50%;left:var(--pool-progress);width:17px;height:17px;border:4px solid #fff;border-radius:50%;background:#dba934;box-shadow:0 2px 10px rgba(61,47,8,.28);transform:translate(-50%,-50%)}
.guestExperience .sunTimelineStages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.guestExperience .sunTimelineStages article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:3px 9px;align-content:start;min-width:0;padding:15px;border:1px solid var(--guest-line);border-radius:17px;background:#fafbf9}
.guestExperience .sunTimelineStages article>span{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e5ebe7;color:var(--guest-muted);font-size:.68rem;font-weight:900}
.guestExperience .sunTimelineStages b{font-family:var(--serif);font-size:1.6rem;line-height:1;color:var(--guest-ink)}
.guestExperience .sunTimelineStages small{grid-column:2;color:var(--guest-muted);font-size:.7rem;line-height:1.35}
.guestExperience .sunTimelineStages article.passed>span{background:#d9e7df;color:var(--guest-brand)}
.guestExperience .sunTimelineStages article.current{border-color:#e1bd49;background:linear-gradient(145deg,#fff8d3,#fff);box-shadow:0 10px 25px rgba(115,86,10,.1)}
.guestExperience .sunTimelineStages article.current>span{background:var(--guest-brand);color:#fff}
.guestExperience .sunWindowFallback{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;margin:30px 0;padding:20px;border-radius:18px;background:#fff5c7}.guestExperience .sunWindowFallback span{text-align:center;color:var(--guest-muted)}
.guestExperience .sunTruth{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;margin-top:22px;padding:17px;border-radius:18px;background:#eef4f0}
.guestExperience .sunTruth>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff;color:var(--guest-brand)}.guestExperience .sunTruth svg{width:21px}
.guestExperience .sunTruth div{display:grid;gap:4px}.guestExperience .sunTruth p{margin:0;color:var(--guest-muted);font-size:.82rem;line-height:1.5}.guestExperience .sunTruth small{color:#718078;font-size:.68rem}
.guestExperience .sunsetLeaveHint{padding:7px 11px;border-radius:999px;background:var(--guest-accent-soft);color:var(--guest-brand);font-size:.72rem;font-weight:850}
.guestExperience .sunPlaceGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.guestExperience .sunPlaceCard{display:grid;grid-template-rows:150px 1fr;min-width:0;padding:0;overflow:hidden;border:1px solid var(--guest-line);border-radius:20px;background:#fff;color:var(--guest-ink);text-align:left;box-shadow:0 8px 24px rgba(15,48,38,.045)}
.guestExperience .sunPlaceCard img{width:100%;height:150px;object-fit:cover}.guestExperience .sunPlaceCard>span{display:grid;gap:5px;padding:14px}.guestExperience .sunPlaceCard small{color:var(--guest-muted);font-size:.7rem}
.guestExperience .sunAccuracy{padding:14px 16px;border:1px solid var(--guest-line);border-radius:16px;background:rgba(255,255,255,.62)}.guestExperience .sunAccuracy summary{cursor:pointer;font-weight:850}.guestExperience .sunAccuracy p{margin:10px 0 0;color:var(--guest-muted);font-size:.8rem;line-height:1.5}

.guestExperience .capsuleOptIn{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);padding:0;overflow:hidden;border:1px solid var(--guest-line);border-radius:30px;background:#fff;text-align:left;box-shadow:var(--guest-shadow)}
.guestExperience .capsuleOptInIntro{display:grid;align-content:center;justify-items:start;gap:15px;min-height:590px;padding:clamp(30px,6vw,64px);background:radial-gradient(circle at 92% 12%,rgba(255,220,139,.65),transparent 38%),linear-gradient(145deg,#f8edd9,#eef4ee)}
.guestExperience .capsuleSeal{display:grid;place-items:center;width:68px;height:68px;margin:0;border-radius:21px;background:var(--guest-brand);color:#fff;box-shadow:0 14px 30px rgba(18,64,50,.2)}.guestExperience .capsuleSeal svg{width:29px}
.guestExperience .capsuleOptIn h1{max-width:560px;margin:0;font-size:clamp(2.55rem,5.8vw,4.6rem);line-height:.95;letter-spacing:-.055em}.guestExperience .capsuleOptInIntro>p{max-width:570px;margin:0;color:var(--guest-muted);font-size:1.02rem;line-height:1.6}
.guestExperience .capsuleStart{width:auto;margin:8px 0 0;padding-inline:22px}.guestExperience .capsuleStart svg{width:18px}.guestExperience .capsuleOptInIntro>small{color:var(--guest-muted);font-size:.72rem}
.guestExperience .capsuleHow{display:grid;align-content:center;gap:20px;padding:clamp(28px,5vw,54px);background:#fff}
.guestExperience .capsuleHow ol{display:grid;gap:0;margin:0;padding:0;list-style:none}.guestExperience .capsuleHow li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid var(--guest-line)}.guestExperience .capsuleHow li:last-child{border-bottom:0}
.guestExperience .capsuleHow li>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--guest-accent-soft);color:var(--guest-brand);font-family:var(--serif);font-size:1.15rem;font-weight:800}.guestExperience .capsuleHow li div{display:grid;gap:4px}.guestExperience .capsuleHow li small{color:var(--guest-muted);line-height:1.45}
.guestExperience .capsulePrivacyPill{display:flex;align-items:center;gap:9px;padding:13px 14px;border-radius:15px;background:#edf5f0;color:var(--guest-brand);font-size:.75rem;font-weight:800;line-height:1.35}.guestExperience .capsulePrivacyPill svg{width:18px;flex:0 0 auto}
.guestExperience .capsuleHero{display:flex;align-items:flex-end;min-height:440px;padding:clamp(28px,5vw,58px);border-radius:30px;background-size:cover;background-position:center;color:#fff;box-shadow:0 28px 70px rgba(8,36,27,.2)}
.guestExperience .capsuleHero>div{display:grid;justify-items:start;gap:12px;max-width:720px}.guestExperience .capsuleHero .eyebrow{color:#f4d99c}.guestExperience .capsuleHero h1{margin:0;color:#fff;font-size:clamp(2.7rem,6vw,5rem);line-height:.94;letter-spacing:-.055em}.guestExperience .capsuleHero p{margin:0;color:rgba(255,255,255,.85)}
.guestExperience .capsuleHeroAction{display:inline-flex;align-items:center;gap:8px;width:auto;margin-top:6px;padding:11px 16px;border:1px solid rgba(255,255,255,.35);border-radius:13px;background:rgba(255,255,255,.16);color:#fff;font-weight:850;backdrop-filter:blur(10px)}.guestExperience .capsuleHeroAction svg{width:17px}
.guestExperience .capsuleStats{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:-32px auto 0;padding:0 4%;width:min(720px,92%)}
.guestExperience .capsuleStats>div{display:grid;gap:3px;padding:16px;border:1px solid var(--guest-line);border-radius:17px;background:#fff;text-align:center;box-shadow:0 12px 30px rgba(10,42,32,.11)}.guestExperience .capsuleStats b{font-family:var(--serif);font-size:1.75rem;line-height:1}.guestExperience .capsuleStats span{color:var(--guest-muted);font-size:.6rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.guestExperience .capsuleLayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:26px;align-items:start}.guestExperience .capsuleStory{min-width:0}.guestExperience .capsuleSidebar{display:grid;gap:17px;position:sticky;top:88px}
.guestExperience #capsuleMomentForm{scroll-margin-top:90px;padding:22px}.guestExperience .capsuleFormHead{display:flex;align-items:center;justify-content:space-between;gap:14px}.guestExperience .capsuleFormHead h2{margin:4px 0 0}.guestExperience .capsuleFormHead>span{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:var(--guest-accent-soft);color:var(--guest-brand)}.guestExperience .capsuleFormHead svg{width:21px}
.guestExperience .capsulePhotoChoice{display:grid;gap:10px;margin:0;padding:0;border:0}.guestExperience .capsulePhotoChoice legend{margin-bottom:8px;font-weight:850}.guestExperience .capsulePhotoChoice legend small,.guestExperience .fieldLabel small{color:var(--guest-muted);font-weight:600}.guestExperience .capsulePhotoChoice>div:first-of-type{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.guestExperience .capsulePhotoButton{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:92px;padding:12px;border:1px dashed #9eada6;border-radius:15px;background:#f8faf8;color:var(--guest-brand);cursor:pointer;text-align:center}.guestExperience .capsulePhotoButton:hover{border-color:var(--guest-brand);background:#f1f6f3}.guestExperience .capsulePhotoButton svg{width:22px}.guestExperience .capsulePhotoButton b{font-size:.76rem}.guestExperience .capsulePhotoButton input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.guestExperience .capsulePhotoChoice>small{color:var(--guest-muted);font-size:.68rem;line-height:1.4}
.guestExperience .capsulePhotoPreview{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;align-items:center;padding:10px;border-radius:12px;background:#eaf4ee}.guestExperience .capsulePhotoPreview[hidden]{display:none}.guestExperience .capsulePhotoPreview>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#fff;color:var(--guest-brand)}.guestExperience .capsulePhotoPreview svg{width:17px}.guestExperience .capsulePhotoPreview div{display:grid;gap:2px;min-width:0}.guestExperience .capsulePhotoPreview b{overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.guestExperience .capsulePhotoPreview small{color:var(--guest-muted);font-size:.63rem}
.guestExperience .capsuleEmpty{display:grid;justify-items:center;gap:10px;min-height:320px;padding:48px 24px;border:1px dashed #b9c5bf;border-radius:22px;background:linear-gradient(145deg,#faf6eb,#f5f8f5);text-align:center}.guestExperience .capsuleEmpty>span{display:grid;place-items:center;width:62px;height:62px;border-radius:19px;background:#fff;color:var(--guest-brand);box-shadow:0 8px 24px rgba(18,50,40,.08)}.guestExperience .capsuleEmpty svg{width:27px}.guestExperience .capsuleEmpty h3{font-size:1.35rem}.guestExperience .capsuleEmpty p{max-width:470px;color:var(--guest-muted);line-height:1.55}.guestExperience .capsuleEmpty button{width:auto}
.guestExperience .capsuleMomentGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.guestExperience .capsuleMoment{overflow:hidden;border:1px solid var(--guest-line);border-radius:21px;background:#fff;box-shadow:0 10px 26px rgba(15,48,38,.05)}.guestExperience .capsuleMoment img,.guestExperience .capsuleMomentPlaceholder{width:100%;height:250px;object-fit:cover}.guestExperience .capsuleMomentPlaceholder{display:grid;place-items:center;background:linear-gradient(145deg,#e5eee7,#f7e8c7);color:var(--guest-brand)}.guestExperience .capsuleMoment>div:last-child{display:grid;gap:8px;padding:17px}.guestExperience .capsuleMoment h3{font-size:1.08rem}.guestExperience .capsuleMoment p{color:var(--guest-muted);font-size:.82rem;line-height:1.5}.guestExperience .capsuleMoment .ghost{justify-self:start;width:auto;min-height:38px;padding:6px 0}
.guestExperience .capsuleSuggestions{padding:20px}.guestExperience .capsuleSuggestions h2{margin:5px 0}.guestExperience .capsuleSuggestions>p{color:var(--guest-muted);font-size:.75rem}.guestExperience .capsuleSuggestion{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--guest-line)}.guestExperience .capsuleSuggestion>div{display:grid;gap:3px}.guestExperience .capsuleSuggestion span{color:var(--guest-muted);font-size:.68rem;line-height:1.4}.guestExperience .capsuleSuggestion button{width:auto;min-width:58px;min-height:38px}
.guestExperience .capsuleControls{padding:18px}.guestExperience .capsuleControls summary{cursor:pointer;font-weight:850}.guestExperience .capsuleControls p{margin:12px 0;color:var(--guest-muted);font-size:.76rem;line-height:1.5}.guestExperience .capsuleControls button{width:100%;margin-top:9px}

@media(max-width:900px){
  .guestExperience .sunOverview{grid-template-columns:1fr}.guestExperience .sunTimelineStages{grid-template-columns:repeat(2,minmax(0,1fr))}.guestExperience .sunPlaceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .guestExperience .capsuleOptIn{grid-template-columns:1fr}.guestExperience .capsuleOptInIntro{min-height:0}.guestExperience .capsuleLayout{grid-template-columns:1fr}.guestExperience .capsuleSidebar{position:static}
}
@media(max-width:620px){
  .guestExperience .sunChaserPage,.guestExperience .capsulePage{padding-top:12px!important}.guestExperience .sunChaserHero,.guestExperience .capsuleHero{min-height:430px;padding:24px 19px;border-radius:23px;background-position:center}.guestExperience .sunChaserHeroShade{background:linear-gradient(0deg,rgba(8,34,26,.94) 0%,rgba(8,34,26,.63) 58%,rgba(8,34,26,.12) 100%)}
  .guestExperience .sunChaserHeroCopy h1,.guestExperience .capsuleHero h1{font-size:2.75rem}.guestExperience .sunHeroNext{width:100%}.guestExperience .sunFactGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.guestExperience .sunFactGrid article{padding:13px 9px;border-radius:15px}.guestExperience .sunFactGrid b{font-size:1.35rem}.guestExperience .sunFactGrid span{font-size:.53rem}.guestExperience .sunWindowHead{display:grid}.guestExperience .sunState{max-width:none;text-align:left}.guestExperience .sunTimeline{margin-top:28px}.guestExperience .sunTimelineRail{display:none}.guestExperience .sunTimelineStages{grid-template-columns:1fr 1fr;gap:8px}.guestExperience .sunTimelineStages article{padding:12px}.guestExperience .sunTimelineStages b{font-size:1.35rem}.guestExperience .sunTruth{grid-template-columns:36px minmax(0,1fr);padding:14px}.guestExperience .sunTruth>span{width:36px;height:36px}.guestExperience .sunPlacesSection .sectionHead{align-items:flex-start}.guestExperience .sunPlaceGrid{grid-template-columns:1fr 1fr;gap:8px}.guestExperience .sunPlaceCard{grid-template-rows:105px 1fr;border-radius:15px}.guestExperience .sunPlaceCard img{height:105px}.guestExperience .sunPlaceCard>span{padding:11px}.guestExperience .sunPlaceCard b{font-size:.76rem;line-height:1.25}
  .guestExperience .capsuleOptIn{border-radius:23px}.guestExperience .capsuleOptInIntro,.guestExperience .capsuleHow{padding:28px 21px}.guestExperience .capsuleOptIn h1{font-size:2.65rem}.guestExperience .capsuleStats{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:96%;padding:0 2%;margin-top:-24px}.guestExperience .capsuleStats>div{padding:12px 6px;border-radius:14px}.guestExperience .capsuleStats b{font-size:1.45rem}.guestExperience .capsuleStats span{font-size:.49rem}.guestExperience .capsuleMomentGrid{grid-template-columns:1fr}.guestExperience .capsulePhotoChoice>div:first-of-type{grid-template-columns:1fr 1fr}.guestExperience .capsulePhotoButton{min-height:84px}.guestExperience #capsuleMomentForm{padding:18px}.guestExperience .capsuleStory .sectionHead{align-items:flex-start}.guestExperience .capsuleStory .sectionHead .secondary{width:auto}
}
@media(max-width:360px){
  .guestExperience .sunFactGrid{grid-template-columns:1fr}.guestExperience .sunTimelineStages,.guestExperience .sunPlaceGrid,.guestExperience .capsulePhotoChoice>div:first-of-type{grid-template-columns:1fr}.guestExperience .capsuleStats{grid-template-columns:repeat(2,1fr);margin-top:10px}.guestExperience .capsuleHero{min-height:390px}
}
/* Ask Villa v4.7 capability release */
.conciergeSafety{display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:.55rem .72rem;font-weight:750}.conciergeSafety svg{width:1.15rem}.livingHome{display:grid;gap:1rem}.livingNextEvent,.livingEmpty{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.25rem 1.4rem;border:1px solid var(--line,#cad7d0);border-radius:1.4rem;background:linear-gradient(135deg,#fff,#edf6f1)}.livingNextEvent h2,.livingEmpty h2{margin:.25rem 0}.livingQuickActions{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.livingQuickActions button{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.5rem;border:1px solid var(--line,#cad7d0);border-radius:1rem;background:#fff;color:var(--brand,#174f40);font-weight:800}.livingQuickActions svg{width:1.25rem}.takeHomeHero{display:grid;gap:1rem;padding:1.5rem;border-radius:1.6rem;background:linear-gradient(150deg,var(--brand,#174f40),#0d342b);color:#fff}.takeHomeHero .primary{background:#fff;color:var(--brand,#174f40)}.takeHomeHero .secondary{border-color:rgba(255,255,255,.6);color:#fff}.takeHomePrimary{min-height:4rem;font-size:1.08rem}.approachSteps{list-style:none;padding:0;display:grid;gap:1rem}.approachSteps li{display:grid;grid-template-columns:minmax(0,9rem) 1fr;gap:1rem;padding:1rem;border-radius:1rem;background:#f2f6f3}.approachSteps img{width:100%;height:7rem;object-fit:cover;border-radius:.8rem}.smallIncidentGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.smallIncidentGrid button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;text-align:left;gap:.75rem;padding:1.1rem;border:1px solid var(--line,#cad7d0);border-radius:1.1rem;background:#fff;color:var(--brand,#174f40)}.emergencyBoundary{width:100%;display:flex;align-items:center;gap:.8rem;text-align:left;padding:1rem;border:1px solid #cc877f;border-radius:1rem;background:#fff0ed;color:#872a22}.incidentSteps>p{font-size:1.15rem;line-height:1.6}.incidentNext{padding:1rem;border-radius:1rem;background:#edf5f1;margin:1rem 0}.offlineSafetyHome{max-width:44rem;margin:auto;padding:1.2rem;display:grid;gap:1rem}.offlineSafetyHead{padding:1.2rem;background:#173f35;color:#fff;border-radius:1.4rem}.offlineEmergency{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.offlineEmergency a{display:grid;padding:1rem;border-radius:1rem;background:#9f322c;color:#fff;text-decoration:none}.routeLegs{display:grid;gap:.45rem}.routeLegs>div{display:grid;grid-template-columns:1fr auto 1fr auto;gap:.5rem;align-items:center;padding:.75rem 1rem;border-radius:.9rem;background:#eef4f1}.routeLegs svg{width:1rem}.gentleReturn{border-color:#9cbfaf}.gentleReturn .checkRow{background:#f3f7f5;border-radius:1rem;padding:.8rem}
@media(max-width:760px){.conciergeSafety span{display:none}.livingQuickActions{grid-template-columns:1fr}.livingNextEvent,.livingEmpty{align-items:flex-start;flex-direction:column}.smallIncidentGrid{grid-template-columns:1fr}.approachSteps li{grid-template-columns:1fr}.offlineEmergency{grid-template-columns:1fr}.routeLegs>div{grid-template-columns:1fr auto 1fr}.routeLegs>div b{grid-column:1/-1}.guestRouteActions>button span{display:none}}

/* v4.8.0 — restore the clean navigation and make the new stay tools compact. */
.guestExperience .compactBtn,
.guestExperience button.primary,
.guestExperience button.secondary,
.guestExperience a.primary,
.guestExperience a.secondary{align-items:center;justify-content:center;gap:.5rem}
.guestExperience .compactBtn{display:inline-flex}
.guestExperience .compactBtn>svg,
.guestExperience button.primary>svg,
.guestExperience button.secondary>svg,
.guestExperience a.primary>svg,
.guestExperience a.secondary>svg{width:1.1rem;height:1.1rem;max-width:1.1rem;max-height:1.1rem;flex:0 0 1.1rem}

.villaReturnTools{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);align-items:center;gap:1.25rem}
.villaReturnTools h2{margin:.35rem 0 .4rem;font-size:clamp(1.35rem,2.4vw,2rem)}
.villaReturnTools .buttonRow{margin:0}

.takeHomePage{max-width:780px!important}
.takeHomeHero{gap:.85rem;padding:clamp(1.25rem,3.5vw,2rem);border-radius:1.5rem}
.guestExperience .takeHomeHero h1{max-width:680px;margin:.25rem 0;color:#fff!important;font-size:clamp(2.2rem,5vw,3.65rem);line-height:.98}
.takeHomeHero>p{color:rgba(255,255,255,.9);font-size:1rem;line-height:1.5}
.takeHomeActions{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(160px,.65fr);gap:.65rem;margin-top:.35rem}
.takeHomeActions>*{display:inline-flex;min-height:52px;text-decoration:none}
.takeHomePrimary{min-height:52px;font-size:.96rem}
.takeHomePrimary>svg{width:1.2rem!important;height:1.2rem!important;max-width:1.2rem!important;max-height:1.2rem!important;flex:0 0 1.2rem!important}
.taxiDriverCard>p,.copyVillaAddress>p{margin:.55rem 0 1rem;line-height:1.55}
.taxiPhrase{margin:1rem 0;padding:1rem;border-radius:1rem;background:#edf5f1}
.taxiPhrase b{display:block;margin-bottom:.35rem;color:var(--guest-brand)}
.taxiPhrase p{margin:0;overflow-wrap:anywhere;line-height:1.55}
.takeHomeTrouble{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.takeHomeTrouble p{margin:.35rem 0 0;color:var(--guest-muted)}
.takeHomeOfflineNote{margin:.75rem .2rem 0}

.smallHelpPage{max-width:760px!important}
.incidentSteps{padding:clamp(1.2rem,3vw,1.8rem)!important}
.guestExperience .incidentSteps h1{max-width:650px;margin:.35rem 0;color:var(--guest-ink)!important;font-size:clamp(2.1rem,5vw,3rem);line-height:1}
.incidentSteps>p{font-size:1rem;line-height:1.55}
.incidentSteps>.buttonRow{grid-template-columns:1fr 1fr}
.incidentSteps>.buttonRow .ghost{grid-column:1/-1;width:auto;justify-self:center;padding-inline:1.5rem}

@media(max-width:760px){
 .villaReturnTools{grid-template-columns:1fr}
 .takeHomeTrouble{align-items:stretch;flex-direction:column}
}
@media(max-width:520px){
 .takeHomeActions,.taxiDriverCard .buttonRow,.copyVillaAddress .buttonRow,.villaReturnTools .buttonRow,.incidentSteps>.buttonRow{grid-template-columns:1fr}
 .incidentSteps>.buttonRow .ghost{grid-column:auto;width:100%}
 .guestExperience .takeHomeHero h1{font-size:2.35rem}
}

/* v4.8.2 browser-matrix accessibility and resilient reflow. */
details>summary{box-sizing:border-box;min-height:24px;align-items:center;overflow-wrap:anywhere}
.checkRow input[type="checkbox"],.checkRow input[type="radio"],.checkItem input[type="checkbox"],.checkItem input[type="radio"]{
 width:24px!important;height:24px!important;min-width:24px;min-height:24px
}
.guestExperience h1,.guestExperience h2,.guestExperience h3,.guestExperience p,.guestExperience article,.guestExperience section{
 min-width:0;overflow-wrap:anywhere
}
.askQuickPrompts button{flex:1 1 220px;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.serviceRequestPage,.serviceRequestPage *{box-sizing:border-box}
.serviceRequestPage>form,.serviceRequestPage>form>label,.serviceRequestPage .buttonRow,.serviceRequestPage .buttonRow>label{
 width:100%;min-width:0;max-width:100%
}
.serviceRequestPage input,.serviceRequestPage textarea,.serviceRequestPage select,.serviceRequestPage button{
 width:100%!important;min-width:0!important;max-width:100%!important
}
.serviceRequestPage .buttonRow{grid-template-columns:repeat(2,minmax(0,1fr))}
.displayConciergeHome,.displayConciergeHome .wallMedia{box-sizing:border-box;max-width:100vw!important;min-width:0!important}
.displayConciergeHome .wallMedia{width:100vw!important;object-fit:cover}

@media(max-width:900px){
 .myHoliday .journeyHero>.buttonRow{grid-template-columns:1fr;width:100%}
 .myHoliday .journeyHero>.buttonRow>*{width:100%;min-width:0}
}
@media(max-width:520px){
 .guestExperience .buttonRow,.departureQuestion .buttonRow,.mapChoiceButtons{grid-template-columns:1fr}
 .guestExperience .buttonRow>*,.departureQuestion .buttonRow>*,.mapChoiceButtons>*{width:100%;min-width:0}
 .wellnessPage .tabs{display:flex;flex-wrap:wrap;overflow:visible}
 .wellnessPage .tabs .tab{flex:1 1 135px;min-width:0;white-space:normal}
 .villaHelpHero>button{width:100%;min-width:0}
 .guideReadMore{width:100%;min-width:0;white-space:normal}
 .dutyPharmacyIntro,.dutyPharmacyIntro>*{min-width:0;max-width:100%}
 .dutyPharmacyIntro h1{font-size:clamp(2.15rem,12vw,2.7rem)}
 .livePharmacyCard{min-width:0;max-width:100%}
 .serviceRequestPage .buttonRow{grid-template-columns:1fr}
}

/* v4.8.34 — approved end-of-stay and returning-guest presentation. */
.guestExperience .simplifiedReturningPage{
 display:grid;gap:16px;max-width:860px!important;padding-top:28px!important
}
.guestExperience .simplifiedReturningPage .returningGuestIntro{
 display:grid;gap:22px;padding:clamp(26px,5vw,44px);border-radius:26px;
 background:linear-gradient(135deg,#123d31 0%,#286451 100%);color:#fff;
 box-shadow:0 22px 54px rgba(13,45,35,.15)
}
.guestExperience .simplifiedReturningPage .returningGuestIntroCopy{display:grid;gap:10px;max-width:720px}
.guestExperience .simplifiedReturningPage .returningGuestIntro .eyebrow{color:#f4d7a7!important}
.guestExperience .simplifiedReturningPage .returningGuestIntro h1{
 margin:0;color:#fff!important;font-size:clamp(2.7rem,6vw,4.65rem);line-height:.95;
 text-shadow:0 2px 18px rgba(0,0,0,.17)
}
.guestExperience .simplifiedReturningPage .returningGuestIntro p{
 margin:0;max-width:700px;color:#fff!important;font-size:1rem;line-height:1.55;opacity:1
}
.guestExperience .simplifiedReturningPage .returningBenefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0}
.guestExperience .simplifiedReturningPage .returningBenefits span{
 min-height:50px;padding:11px 13px;border:1px solid rgba(255,255,255,.25);border-radius:14px;
 background:rgba(255,255,255,.13);color:#fff!important;line-height:1.3
}
.guestExperience .simplifiedReturningPage .returningBenefits svg{color:#f4d7a7}
.guestExperience .returningProgrammePanels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.guestExperience .returningProgrammePanels .returningProgrammeDetails{
 margin:0;padding:0;border:1px solid var(--guest-line);border-radius:18px;background:#fff;
 color:var(--guest-ink);box-shadow:0 9px 28px rgba(15,48,38,.045);overflow:hidden
}
.guestExperience .returningProgrammePanels .returningProgrammeDetails.referral{background:#fbf5e9;border-color:#e5d2ad}
.guestExperience .returningProgrammePanels .returningProgrammeDetails summary{
 display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;
 min-height:76px;padding:16px 18px;color:var(--guest-ink);list-style:none
}
.guestExperience .returningProgrammePanels .returningProgrammeDetails summary::-webkit-details-marker{display:none}
.guestExperience .returningProgrammePanels .returningProgrammeDetails summary span{font-size:.94rem;font-weight:900}
.guestExperience .returningProgrammePanels .returningProgrammeDetails summary small{color:var(--guest-muted);font-size:.73rem;font-weight:700}
.guestExperience .returningProgrammePanels .returningProgrammeDetails[open] summary{border-bottom:1px solid var(--guest-line)}
.guestExperience .returningProgrammePanels .returningProgrammeDetails ul{
 display:grid;gap:8px;margin:0;padding:17px 22px 8px 38px;color:#324e44;line-height:1.45
}
.guestExperience .returningProgrammePanels .returningProgrammeDetails>p{
 margin:0;padding:10px 18px 18px;color:#425d54!important;font-size:.78rem;line-height:1.5
}
.guestExperience .returningReferralRewards{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px 18px 5px}
.guestExperience .returningReferralRewards p{display:grid;gap:4px;margin:0;padding:12px;border-radius:13px;background:#fff;color:var(--guest-ink)!important}
.guestExperience .returningReferralRewards b{font-size:.7rem;color:#6e5730;text-transform:uppercase;letter-spacing:.05em}
.guestExperience .returningReferralRewards span{font-size:.85rem;line-height:1.4}
.guestExperience .returningJoinForm{
 display:grid;gap:15px;margin:0!important;padding:clamp(22px,4vw,32px)!important;
 border:1px solid var(--guest-line)!important;border-radius:22px!important;background:#fff!important
}
.guestExperience .returningJoinIntro{display:grid;gap:6px;margin-bottom:2px}
.guestExperience .returningJoinIntro h2{color:var(--guest-ink)!important;font-size:clamp(1.75rem,3vw,2.35rem)}
.guestExperience .returningJoinIntro p{color:var(--guest-muted);line-height:1.45}
.guestExperience .returningJoinForm .featuredConsentChoice{padding:14px;border-radius:15px}
.guestExperience .returningJoinForm .featuredConsentChoice b{color:#183e32}
.guestExperience .returningJoinForm .featuredConsentChoice p{color:#334f45!important}
.guestExperience .returningJoinForm>.primary{width:100%;min-height:50px}
.guestExperience .returningJoinForm .consentFootnote{margin:0;color:#53675f!important}

.postStayThreeWays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch;margin-top:18px}
.postStayThreeWays>.postStayPublicReview,.postStayThreeWays>.postStayReturnCard,.postStayThreeWays>.postStayNextCard{
 display:flex;flex-direction:column;margin:0;min-height:100%
}
.postStayThreeWays .postStayPublicReview>p,.postStayThreeWays .postStayNextCard>p{margin:15px 0 18px;color:#42564f;line-height:1.55}
.postStayThreeWays .postStayReviewButton,.postStayThreeWays .postStayReturnCard>.primary{margin-top:auto}
.postStayReturnAvailability{
 display:flex;align-items:center;justify-content:center;gap:8px;min-height:47px;margin:0 0 13px;padding:10px 13px;
 border:1px solid #b8ccbf;border-radius:13px;background:#fff;color:var(--guest-brand);
 text-align:center;text-decoration:none;font-size:.82rem;font-weight:850
}
.postStayReturnAvailability:hover{border-color:#78998b;background:#f8fbf9}
.postStayReturnAvailability svg{width:18px;height:18px}

/* Keep dark panels legible even though the general guest heading rules load later. */
.postStayFeedbackIntro h1,.postStayFeedbackIntro p,.postStayFeedbackIntro b,.postStayFeedbackIntro small,
.postStayCompleteHero h1,.postStayCompleteHero p{color:#fff!important;opacity:1!important}
.postStayRating .starBtn{
 border-color:#9c6500!important;background:#fff4d2!important;color:#b87400!important;
 text-shadow:0 1px 0 #fff;box-shadow:0 3px 10px rgba(122,78,0,.18)!important
}
.postStayRating .starBtn:hover,.postStayRating .starBtn:focus-visible{background:#ffe38a!important;color:#805000!important}
.postStayRating .starBtn.active{border-color:#7a4c00!important;background:#c98100!important;color:#fff!important;text-shadow:none}

@media(max-width:920px){
 .postStayThreeWays{grid-template-columns:1fr 1fr}
 .postStayThreeWays>.postStayNextCard{grid-column:1/-1}
}
@media(max-width:680px){
 .guestExperience .simplifiedReturningPage{padding-top:18px!important}
 .guestExperience .simplifiedReturningPage .returningGuestIntro{padding:25px 21px;border-radius:22px}
 .guestExperience .simplifiedReturningPage .returningGuestIntro h1{font-size:2.65rem}
 .guestExperience .simplifiedReturningPage .returningBenefits,.guestExperience .returningProgrammePanels{grid-template-columns:1fr}
 .guestExperience .simplifiedReturningPage .returningBenefits{gap:7px}
 .guestExperience .simplifiedReturningPage .returningBenefits span{min-height:44px}
 .guestExperience .returningJoinForm{padding:21px 18px!important;border-radius:19px!important}
 .postStayThreeWays{grid-template-columns:1fr}
 .postStayThreeWays>.postStayNextCard{grid-column:auto}
}

/* v4.8.35: essentials precede editorial content; credentials stay literal. */
.askConciergePage .pinnedEssential{width:100%;max-width:none;margin:0 0 14px;padding:20px;background:#fff;border:1px solid #c8d4c3;border-radius:14px;scroll-margin-top:80px}
.essentialFields{margin:14px 0;display:grid;gap:14px}
.essentialFields dt{font-size:13px;color:#596654;margin-bottom:5px}
.essentialFields dd{margin:0;display:flex;align-items:center;justify-content:space-between;gap:12px}
.essentialFields code{font-family:inherit;font-size:18px;white-space:pre-wrap;overflow-wrap:anywhere;color:#152a1b}
.essentialFields button{flex:none;min-height:44px}
.retentionLinks{margin:18px 0}.retentionLinks h2{font-size:22px}.retentionLinks .buttonRow{flex-wrap:wrap}
@media(max-width:520px){.essentialFields dd{align-items:flex-start;flex-direction:column}.askConciergePage .pinnedEssential{padding:16px}}

.askConciergeIntro[hidden]{display:none!important}.essentialHistory>summary{padding:12px 0;cursor:pointer;color:#54644b}

/* The existing Ask Villa palette is the source of truth. */
.v490-home,.v490-capsule{color:var(--guest-ink);background:var(--guest-bg)}
.v490-home-body{max-width:1120px;margin:0 auto;padding:28px 24px 0}.v490-home .askBar{border-radius:16px;margin-bottom:20px}.v490-home input,.v490-capsule input,.v490-owner input,#modal input,#modal select{font-size:16px}
.v490-essentials{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 28px}.v490-essential{background:var(--guest-surface);border:1px solid var(--guest-line);border-radius:20px;padding:24px;min-width:0}.v490-essential>.eyebrow{color:var(--guest-brand);margin-bottom:14px}.v490-essential p{font-size:15px;line-height:1.65}.v490-fact{display:grid;grid-template-columns:1fr auto;gap:5px 14px;margin:13px 0}.v490-fact>span{font-size:12px;color:var(--guest-muted);grid-column:1/-1}.v490-fact code{font-family:inherit;font-size:18px;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap;align-self:center;user-select:text}.v490-fact button{align-self:center;white-space:nowrap;min-height:44px}
.v490-memory-invite{border-top:1px solid var(--guest-line);border-bottom:1px solid var(--guest-line);padding:23px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.v490-memory-invite h2{font-size:27px;margin:6px 0}.v490-memory-invite p{font-size:14px;color:var(--guest-muted)}.v490-home .guestConciergeContent{max-width:1120px;margin:28px auto 0;padding:0 24px 110px}.v490-home .singleRecommendation{box-shadow:none}.v490-home .recommendationCopy h2{font-size:30px}.v490-home .guestNeedSection{margin-top:30px}
.v490-arrival-hero{position:relative;max-width:1120px;margin:20px auto;border-radius:22px;overflow:hidden;background:var(--guest-brand);min-height:220px;display:flex;align-items:flex-end}.v490-arrival-hero img{position:absolute;width:100%;height:100%;object-fit:cover}.v490-arrival-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,45,34,.85),rgba(15,45,34,.03))}.v490-arrival-hero>div{position:relative;z-index:1;color:#fff;padding:30px}.v490-arrival-hero .eyebrow{color:#fff}.v490-arrival-hero h1{font-size:clamp(27px,4vw,42px);margin-top:9px}.v490-prearrival .v490-home-body{padding-top:0}.v490-arrival h2{font-size:30px;margin:6px 0 10px}.v490-lock{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--guest-muted);margin:20px 0}.v490-lock svg{width:20px;flex:none}
.v490-capsule-hero{background:var(--guest-brand);color:white;position:relative;min-height:250px;border-radius:24px;overflow:hidden;display:flex;align-items:flex-end}.v490-capsule-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.v490-capsule-hero.has-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,39,30,.91),rgba(12,39,30,.08))}.v490-capsule-hero>div{position:relative;z-index:1;padding:38px;max-width:780px}.v490-capsule-hero .eyebrow{color:var(--guest-accent-soft)}.v490-capsule-hero h1{font-size:clamp(34px,5vw,58px);line-height:1.08;margin:12px 0 18px;overflow-wrap:anywhere}.v490-capsule-hero p{font-size:15px;margin-bottom:12px}.v490-capsule-hero span{font-size:13px;opacity:.88}
.v490-opt-in{margin:22px 0}.v490-opt-in h2{font-size:30px}.v490-opt-in p{line-height:1.65;margin:12px 0 18px}.v490-capsule-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:24px 0}.v490-capsule-toolbar [role=status]{width:100%;font-size:14px;color:var(--guest-muted)}.v490-editor-settings summary,.v490-privacy summary,.v490-map summary,.v490-owner summary{min-height:44px;cursor:pointer;font-weight:700;display:flex;align-items:center;list-style:revert}.v490-editor-settings summary:after,.v490-privacy summary:after,.v490-map summary:after{content:"+";margin-left:auto;font-size:24px;font-weight:400}.v490-editor-settings[open] summary:after{content:"−"}.v490-editor-settings .form{margin-top:20px}.v490-editor-settings textarea{min-height:120px}.v490-story{margin:36px 0}.v490-story h2{font-size:31px}.v490-moment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.v490-moment{background:var(--guest-surface);border:1px solid var(--guest-line);border-radius:18px;overflow:hidden;min-width:0}.v490-moment>img,.v490-moment>video{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.v490-note-cover{height:150px;background:var(--guest-surface-soft);display:grid;place-items:center;color:var(--guest-brand)}.v490-note-cover svg{width:38px;height:38px}.v490-moment-copy{padding:20px}.v490-moment h3{font-size:25px;line-height:1.18;margin:10px 0}.v490-moment p{font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.v490-moment small{display:block;margin-top:12px;color:var(--guest-muted)}.v490-moment-actions{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:15px}.v490-moment-actions button{min-height:44px}.v490-excluded{border-style:dashed}.v490-excluded .v490-moment-copy>.eyebrow:after{content:" · Not in album"}.v490-audio{padding:28px 16px;background:var(--guest-surface-soft)}.v490-audio audio{width:100%;margin-top:20px}.v490-audio svg{width:32px;height:32px}.v490-empty{padding:55px 24px;text-align:center;border:1px dashed var(--guest-line);border-radius:20px}.v490-empty>span>svg{width:45px;height:45px;color:var(--guest-brand)}.v490-empty h3{font-size:28px;margin:18px 0 10px}.v490-empty p{margin-bottom:22px;color:var(--guest-muted)}
.v490-print-intro{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:30px 0;padding:35px;background:var(--guest-accent-soft);border-radius:20px}.v490-print-intro h2{font-size:32px;margin:8px 0 14px}.v490-print-intro p{max-width:620px;font-size:15px;line-height:1.65}.v490-orders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.v490-order h3{margin:10px 0}.v490-order .checkRow{margin:20px 0}.v490-order p,.v490-privacy p{margin:14px 0;line-height:1.65}.v490-order a,.v490-order button{margin:8px 6px 8px 0}.v490-privacy{margin-top:30px}.v490-privacy button{margin:8px 10px 8px 0}.v490-preserve{white-space:pre-wrap;overflow-wrap:anywhere}.v490-quality{padding:9px 0;color:var(--guest-muted);font-size:12px}.v490-form-error{color:var(--guest-danger);font-size:14px;white-space:pre-wrap}.v490-upload-status progress{width:100%;height:12px;accent-color:var(--guest-brand)}.v490-upload-status span{font-size:13px}.v490-pdf-preview{width:100%;height:65vh;border:1px solid var(--guest-line);margin-top:20px}.v490-capsule :is(input,select,textarea),.v490-owner :is(input,select,textarea){max-width:100%;box-sizing:border-box}.v490-capsule button,.v490-owner button{min-height:44px}
.v490-retention{padding:30px 0 20px}.v490-retention h1{font-size:clamp(32px,4vw,48px);margin:12px 0}.v490-retention>p{font-size:15px;line-height:1.6;max-width:630px;color:var(--guest-muted)}.v490-retention-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.v490-post-memory{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px;margin:28px 0 0;background:var(--guest-brand);border-radius:20px;color:#fff}.v490-post-memory h2{font-size:30px}.v490-post-memory p{margin-top:8px;color:rgba(255,255,255,.8);font-size:14px}.v490-post-memory .primary{background:#FBF9F4;color:var(--guest-brand)}.v490-post-back{max-width:1180px;margin:16px auto 0;padding:0 24px}.v490-retention+.postStayFeedbackStage .postStayFeedbackIntro h1{font-size:28px}.v490-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.v490-metrics span{display:block;font-size:13px}.v490-metrics strong{display:block;font-size:30px;color:var(--guest-brand);margin-top:8px}.v490-owner-arrivals{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.v490-owner-arrivals dt{font-size:12px;color:var(--guest-muted);margin-top:15px}.v490-owner-arrivals dd{margin:5px 0 12px}.v490-reference-row{padding:18px;margin:20px 0;border:1px solid var(--guest-line);border-radius:14px;display:grid;gap:12px}.v490-reference-row img{max-width:100%;max-height:190px;object-fit:contain}.v490-owner-hook{max-width:1120px;margin:20px auto;padding:18px 24px;display:flex;justify-content:space-between;gap:20px;border:1px solid var(--guest-line);border-radius:16px;background:var(--guest-surface)}
@media(max-width:800px){.v490-moment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v490-essentials{gap:12px}.v490-essential{padding:18px}.v490-orders{grid-template-columns:1fr}.v490-arrival-hero{margin:14px 18px}.v490-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.v490-home-body{padding:18px 18px 0}.v490-essentials{grid-template-columns:1fr;gap:12px}.v490-essential{padding:19px}.v490-fact code{font-size:16px}.v490-fact button{font-size:12px}.v490-home .guestConciergeContent{padding:0 18px 100px}.v490-memory-invite{display:block}.v490-memory-invite button{margin-top:15px}.v490-capsule-hero>div{padding:27px 22px}.v490-capsule-hero{min-height:235px}.v490-capsule-hero h1{font-size:34px}.v490-capsule-toolbar button{flex:1 1 42%;font-size:13px}.v490-moment-grid{grid-template-columns:1fr}.v490-print-intro{display:block;padding:25px}.v490-print-intro button{margin-top:18px}.v490-post-memory{display:block;padding:24px}.v490-post-memory button{margin-top:20px;width:100%}.v490-retention-actions>a,.v490-retention-actions>button{width:100%}.v490-retention h1{font-size:34px}.v490-owner-arrivals{grid-template-columns:1fr}.v490-arrival-hero{min-height:175px}.v490-arrival-hero>div{padding:22px}.v490-arrival .formGrid{grid-template-columns:1fr}.v490-owner-hook{margin:15px;display:block}.v490-owner-hook button{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.v490-capsule *, .v490-home *{transition:none!important;animation:none!important}}

/* Home restoration: additions follow the entire original Home composition. */
.v491-home-additions{margin-top:28px}.v491-home-additions .v490-arrival{margin-top:24px}.v491-home-additions input,.v491-home-additions select{font-size:16px}

/* PDF pages are drawn from the saved file; no framed browser plug-in. */
.v4120-pdf-download{position:sticky;top:0;z-index:1;background:var(--guest-paper,#fff);padding:8px 0 12px}
.v4120-pdf-download a{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.v4120-pdf-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:12px 0}
.v4120-pdf-controls label{display:flex;align-items:center;gap:8px}
.v4120-pdf-controls :is(button,select){min-height:44px;max-width:100%}
.v4120-pdf-viewer canvas{display:block;width:100%;height:auto;border:1px solid var(--guest-line,#d2ddd7);box-sizing:border-box;background:#FBF9F4}
.v4120-pdf-viewer [hidden]{display:none!important}
.v4120-pdf-viewer details{margin-top:16px}
.v4120-pdf-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}
/* Editorial book review: the saved facing pages form a single spread. */
#modal .modal:has([data-pdf-preview]){width:min(1180px,calc(100vw - 32px));max-width:1180px}
.v4120-pdf-pages{display:flex;justify-content:center;align-items:flex-start;gap:0;background:#FBF9F4;overflow:hidden}
.v4120-pdf-pages canvas{min-width:0;flex:0 1 auto;border:0;object-fit:contain}
@media(max-width:600px){#modal .modal:has([data-pdf-preview]){width:100%;padding-left:12px;padding-right:12px}.v4120-pdf-controls{gap:6px}.v4120-pdf-controls :is(button,select){font-size:12px}}

/* Compact private album review. */
#modal .modal:has([data-pdf-preview]){padding:14px;max-height:96dvh}
#modal .modal:has([data-pdf-preview]) .modalHead{margin-bottom:6px}
.v4120-pdf-download{position:static;display:flex;gap:8px;padding:0;margin:0 0 4px}
.v4120-pdf-controls{position:sticky;top:0;background:var(--guest-paper,#fff);z-index:2;justify-content:flex-start;gap:6px;margin:6px 0}
.v4120-pdf-viewer>p[role=status]{margin:6px 0;font-size:13px}
.tc422-preview-edits{display:flex;gap:6px;margin-left:auto}
.tc421-ideas{max-height:380px;overflow:auto}
.tc422-saved-link{display:flex;align-items:center;gap:12px;margin:10px 0}

/* Concierge additions inherit the existing Villa Zeytin palette and typography. */
.intelligencePage .form{display:grid;gap:16px}.intelligencePage summary{font-weight:650;cursor:pointer;padding:8px 0}.intelligencePage input:not([type=checkbox]),.intelligencePage select,.intelligencePage textarea{width:100%;max-width:100%;box-sizing:border-box}.intelligencePage textarea{min-height:100px}.intStatusGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.intReply{padding:18px 0;border-bottom:1px solid var(--line,#dcded5)}.intFeedback{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line,#dcded5)}.intFeedback span{min-width:0;overflow-wrap:anywhere}.intelligencePage small{overflow-wrap:anywhere}.conciergeEvidence{margin:16px 0;display:grid;gap:14px}.conciergeConditions,.conciergeSource{padding:14px;border:1px solid var(--line,#dcded5);border-radius:12px;background:var(--paper,#faf9f4)}.conciergeConditions p{margin:8px 0}.conciergeEvidence small{font-size:.78rem;line-height:1.5;color:var(--muted,#68716a)}.conciergePhotoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.conciergePhotoGrid figure{margin:0;overflow:hidden;border-radius:12px;border:1px solid var(--line,#dcded5)}.conciergePhotoGrid img{display:block;width:100%;height:220px;object-fit:cover}.conciergePhotoGrid figcaption{padding:12px;font-size:.85rem;line-height:1.45}.sourceButton{display:block;border:0;background:transparent;color:inherit;text-align:left;text-decoration:underline;padding:9px 0;cursor:pointer}.conciergeSource summary{cursor:pointer}.intelligencePage .buttonRow{flex-wrap:wrap}.intelligencePage .panel{min-width:0}.intelligencePage .checkRow{align-items:flex-start}.intelligencePage .checkRow input{margin-top:4px;flex-shrink:0}@media(max-width:650px){.intStatusGrid{grid-template-columns:1fr}.conciergePhotoGrid{grid-template-columns:1fr}.conciergePhotoGrid img{height:auto;max-height:360px}.intFeedback{align-items:flex-start}.intelligencePage .formGrid{grid-template-columns:1fr}}

.conciergeHeaderPhoto{display:block;margin:0 0 18px;background:#FBF9F4;position:static}.conciergeHeaderPhoto img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain}.conciergeHeaderPhoto figcaption{position:static;padding:12px 0;font-size:.85rem;line-height:1.65;background:#FBF9F4}

/* 4.10.1: review repairs. Keep the original olive and cream palette. */
.guestExperience .reviewChoice h1,.guestExperience .reviewChoice h2{color:#fff}
.guestExperience .reviewChoice p{color:#edf4ef}
.guestExperience .departureThanks h1,.guestExperience .departureThanks .eyebrow{color:#15372e}
.guestExperience .departureThanks p{color:#365449}
.guestExperience .currencyResult,.guestExperience .currencyResult :is(b,small,span){color:#fff;opacity:1}
.guestExperience .currencyResult{background:#173e33;min-height:128px;justify-content:center}
.calendarFeedCard{grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:20px}
.calendarFeedCard>div{min-width:0}.calendarFeedCard h2{overflow-wrap:break-word;font-size:1.2rem}
.calendarFeedCard p{line-height:1.55;margin-top:8px}.calendarFeedCard .tag{white-space:nowrap}
.calendarEvent{gap:18px}.calendarEvent>div{min-width:0}.calendarEvent button{flex-shrink:0}
.modal .form label:not(.checkRow){display:grid;gap:8px;min-width:0}
.modal .form :is(input:not([type=checkbox]):not([type=radio]),select,textarea){box-sizing:border-box;width:100%;min-width:0;max-width:100%;font:inherit;font-size:16px;color:#15372e;border:1px solid #bdc9c0;border-radius:12px;background:#fff;padding:12px;line-height:1.5}
.modal .form input[type=file]{white-space:normal;padding:12px;overflow:hidden}
.modal .form input::file-selector-button{font:inherit;border:0;border-radius:8px;padding:9px 12px;background:#e9eee7;color:#15372e;margin-right:12px}
.modal .form :is(input,select,textarea):focus-visible{outline:3px solid #aa813c;outline-offset:3px}
.v490-reference-row{min-width:0}.v490-reference-row legend{padding:0 8px;font-weight:700}
.v490-owner .sectionHead>.secondary{width:auto;flex:0 0 auto;align-self:start}
.v490-owner h1,.appFrame[data-auth-role=owner] main h1{font-family:Georgia,serif;line-height:1.15;font-size:clamp(28px,3.4vw,42px)}
.v490-owner .v490-pdf-preview{display:block}.v490-pdf-preview{background:#eceee9;min-height:320px}
.guestExperience.hasRouteBar .previewNotice4101{padding:12px 20px;background:#ede6d7;color:#294c3c;border-bottom:1px solid #d6c9b1;font-size:14px;line-height:1.5}
.guestExperience.hasRouteBar .previewNotice4101 b{margin-right:8px}.guestExperience.hasRouteBar .previewNotice4101+main{margin-top:16px}
.form label>small,.fieldLabel>small{display:block;margin-top:5px;line-height:1.45}
@media(max-width:640px){.calendarFeedCard{grid-template-columns:minmax(0,1fr);gap:12px}.calendarFeedCard .tag{justify-self:start}.calendarEvent{display:flex;flex-direction:column;align-items:flex-start}.v490-owner .sectionHead{flex-wrap:wrap}.v490-reference-row{padding:14px}.guestExperience.hasRouteBar .previewNotice4101{font-size:13px;padding:10px 16px}.modal .form :is(input,select,textarea){font-size:16px}}

.placeGuideSections>details{min-width:0;border:1px solid var(--guest-line);border-radius:14px;background:#fff;padding:0 18px}.placeGuideSections>details>summary{padding:16px 0;cursor:pointer;font-weight:700;line-height:1.4;color:#15372e}.placeGuideSections>details>p{line-height:1.65;padding-bottom:16px}.placeGuideSections>details[open]{grid-column:1/-1}

/* Guest review fixes are scoped to secondary screens. Home stays protected. */
.guestExperience.hasRouteBar :is(.decisionPrompts,.foodMoodChips,.answerQuestionPrompts) button{min-height:44px;font-size:15px;line-height:1.4;padding:11px 15px}
.guestExperience.hasRouteBar :is(.compactBtn,.answerPlaceActions button,.secondaryTools summary,.answerPractical4121 summary){min-height:44px;font-size:15px;line-height:1.4}
.guestExperience.hasRouteBar :is(button,a,summary):focus-visible{outline:3px solid #aa813c;outline-offset:3px}
.quickLocalChoices4121{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.quickLocalChoices4121 .panel{padding:20px;min-width:0}.quickLocalChoices4121 h3{font-family:Georgia,serif;font-size:24px;line-height:1.25;margin:8px 0}
.quickLocalChoices4121 p{color:#365449;margin:8px 0 16px}.quickLocalChoices4121 .buttonRow{flex-wrap:wrap}
.explorePlaceTileMedia.noVenuePhoto4121{height:76px;min-height:76px;background:#e8ede3}.noVenuePhoto4121 .exploreFallbackImage{object-fit:contain;opacity:.65;max-height:76px}
.answerPractical4121{margin:12px 0;border-top:1px solid #d4ddd4}.answerPractical4121 summary{cursor:pointer;padding:12px 0;color:#15372e;font-weight:600}
.directTransport4121{display:grid;gap:12px;margin:24px 0}.directTransport4121 article{padding:18px}.directTransport4121 h2{font-size:21px;margin:0 0 12px}.directTransport4121 .buttonRow{flex-wrap:wrap}
.simpleTaxiPage>.optionalFields{padding:18px;border:1px solid #d4ddd4;border-radius:16px;background:#fff}.simpleTaxiPage>.optionalFields>summary{font-size:17px;font-weight:600;padding:8px 0;min-height:44px;cursor:pointer}
.guestExperience.hasRouteBar .guestWifiQrPanel img{width:240px;max-width:100%;height:auto;display:block;background:#fff;padding:12px;border-radius:12px}
.guestExperience.hasRouteBar .previewNotice4101{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
@media(max-width:640px){.quickLocalChoices4121{grid-template-columns:1fr}.directTransport4121 .buttonRow>*{min-height:48px}.guestExperience.hasRouteBar .guestWifiCredentials strong{overflow-wrap:anywhere}.guestExperience.hasRouteBar .reviewChoice h1{font-size:clamp(32px,9vw,46px);line-height:1.15}}

.guestExperience.hasRouteBar .conciergeConditions summary{min-height:44px;cursor:pointer;font-size:15px;font-weight:600;padding:10px 0;color:#15372e}

/* 4.14.11: chat answers remain above a non-overlapping composer. */
.askConciergePage .chatComposer{position:relative;bottom:auto!important;padding:16px 0;background:var(--guest-bg)}
.askConciergePage .askQuickPrompts:empty{display:none}
.askConciergePage .answerSupporting{margin-top:18px;border-top:1px solid var(--line,#d8dfd9);padding-top:12px}
.askConciergePage .answerSupporting>summary{cursor:pointer;font-size:.88rem}
.askConciergePage .answerPlaceLinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.askConciergePage .answerSection{padding:12px 0;border:0}
.askConciergePage .answerSection h3{margin:0 0 6px}
.askConciergePage .answerSection p{margin:0;line-height:1.65}
/* 4.14.13: compact chat; no viewport-height spacer or floating composer. */
.askConciergePage.minimalChat{padding-top:24px;padding-bottom:24px}
.minimalChat .chatPageHeading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}
.minimalChat .chatPageHeading h1{font-size:clamp(24px,4vw,34px);line-height:1.2;margin:0}
.askConciergePage.minimalChat .chatShell{display:block;min-height:0;height:auto}
.askConciergePage.minimalChat .chatMessages{min-height:0;padding:0;gap:16px}
.minimalChat .chatMessages:empty{display:none}
.askConciergePage.minimalChat .chatComposer{position:relative;bottom:auto!important;align-self:auto;padding:16px 0 0;background:none}
.minimalChat .askQuickPrompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 0}
.minimalChat .askQuickPrompts:empty{display:none!important}
.minimalChat .askConciergeIntro{margin-bottom:16px}
.minimalChat .chatRestart{display:flex;justify-content:flex-end;margin:0 0 12px}
.minimalChat .askQuickPrompts button{min-height:44px;white-space:normal}
.minimalChat .chatEarlier{margin-bottom:16px}
.minimalChat .chatLocationAction{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.minimalChat .chatLocationAction small,.minimalChat .chatHostNotice{color:var(--muted);font-size:.85rem}
.minimalChat .chatMessage{min-width:0;overflow-wrap:anywhere}
@media(max-width:480px){.minimalChat .chatPageHeading{gap:8px}.minimalChat .chatPageHeading h1{font-size:24px}.minimalChat .askQuickPrompts button{padding:10px 8px}}

/* Time Capsule 4.14.20: simple capture, secondary controls on demand. */
.tc420{max-width:860px!important;margin:0 auto!important;padding:24px 20px 110px!important}
.tc420 .tc420-heading{margin:0 0 24px}.tc420 .tc420-heading h1{font-family:inherit!important;font-size:30px!important;line-height:1.2!important;color:#173f35!important;margin:0 0 8px!important}
.tc420 p{line-height:1.55}.tc420-heading p{color:#52665e;margin:0;font-size:16px}
.tc420 .tc420-start{display:grid;gap:12px}.tc420-start h2{font-family:inherit!important;font-size:20px!important;line-height:1.3!important;margin:0!important}.tc420-start p{margin:0 0 4px}
.tc420 button,.tc420 summary,.tc420-editor button,.tc420-editor summary{min-height:48px;font-size:16px;line-height:1.35}
.tc420 :is(.primary,.secondary,.ghost){white-space:normal!important}.tc420 .primary{color:#fff!important;background:#173f35!important}.tc420 .tc420-start>[role=status]:empty{display:none}
.tc420 .tc420-more{margin:24px 0 0;padding:0 16px;box-shadow:none}.tc420 summary{cursor:pointer;display:list-item;padding:14px 0;font-weight:600}.tc420-options{padding:0 0 16px}.tc420-options>.panel{padding:0 12px;margin:10px 0;box-shadow:none}.tc420-options .v490-privacy{margin-top:12px}
.tc420 .v490-editor-settings summary:after,.tc420 .v490-privacy summary:after,.tc420 .v490-map summary:after{content:none}.tc420 .tc420-count{margin:24px 0 12px;color:#52665e;font-size:14px}
.tc420 .v490-moment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tc420 .v490-moment{border-radius:14px}.tc420-media{aspect-ratio:1;overflow:hidden;background:#e8eee9}.tc420-media>img,.tc420-media>video{width:100%;height:100%;object-fit:cover}.tc420-media audio{width:100%}.tc420-card-copy{padding:10px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tc420-card-copy p{width:100%;margin:0;font-size:14px;overflow-wrap:anywhere}.tc420-card-copy button{flex:1}.tc420-card-copy .muted{font-size:13px}.tc420 .tc420-orders{margin-top:24px}.tc420-orders h2{font-family:inherit;font-weight:600;font-size:20px;line-height:1.3}
#modal:has(.tc420-editor) .modal{max-width:600px;overflow-x:hidden}.tc420-editor :is(input,textarea,select){font-size:16px!important;max-width:100%;min-width:0;box-sizing:border-box}.tc420-editor .tc420-file input{width:100%;padding:10px 0}.tc420-editor .tc420-file-help{font-size:13px;color:#52665e;margin:0}.tc420-editor textarea{min-height:86px}.tc420-editor summary{cursor:pointer;display:list-item;font-weight:600;padding:14px 0}.tc420-editor details[open]>:not(summary){margin-top:12px}.tc420-edit-media{max-height:220px;overflow:hidden}.tc420-edit-media img,.tc420-edit-media video{max-width:100%;max-height:220px;object-fit:contain}.tc420-editor .v490-form-error:empty{display:none}.tc420-save button{width:100%}.tc420-editor [data-selected420]:empty{display:none}.tc420-editor .tc420-details{border-top:1px solid #d5ded8}.tc420 :focus-visible,.tc420-editor :focus-visible{outline:3px solid #356d5c;outline-offset:3px}
@media(max-width:800px){.guestExperience:has(.tc420)+.bottomNav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;flex-wrap:nowrap!important;height:auto!important;min-height:70px!important;gap:0!important}.guestExperience:has(.tc420)+.bottomNav .navItem{min-width:0!important;width:auto!important;min-height:58px!important;font-size:11px!important;padding:5px 1px!important}.guestExperience:has(.tc420)+.bottomNav .navLabel{white-space:normal;overflow-wrap:anywhere;line-height:1.2}.guestExperience:has(.tc420) .guestRouteBar{position:relative!important;top:auto!important;min-height:64px!important;margin:8px 12px!important;padding:8px 10px!important;box-shadow:none!important}.guestExperience:has(.tc420) .guestRouteBar .guestRouteContext small{display:none}.guestExperience:has(.tc420) .guestMain{padding-top:0!important}.tc420{padding-top:18px!important}}
@media(max-width:360px){.tc420{padding-left:14px!important;padding-right:14px!important}.tc420 .v490-moment-grid{gap:8px}}
@media(prefers-reduced-motion:reduce){.tc420 *,.tc420-editor *{animation:none!important;transition:none!important}}
/* Connected memories remain a short, quiet guest flow. */
.tc421-draft{margin:20px 0;padding:14px;background:#fbf9f4;border:1px solid #d5ded8;border-radius:14px}.tc421-draft>p{font-weight:600}.tc421-draft>button{width:100%;margin-top:12px}[data-draft-image421]{display:flex;gap:0;justify-content:center;overflow:hidden}[data-draft-image421] canvas{max-width:50%;height:auto;object-fit:contain}.tc421-ideas{margin:24px 0}.tc421-ideas h2{font-family:inherit!important;font-size:18px!important}.tc421-place{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0;border-bottom:1px solid #d5ded8}.tc421-place>span{width:100%;font-weight:600}.tc421-place button{flex:1}.tc421-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tc421-pair figure{margin:0;min-width:0}.tc421-pair img,.tc421-supplied img{width:100%;max-height:240px;object-fit:contain}.tc421-pair input{width:auto!important}.tc421-supplied{display:grid;gap:20px}.tc421-supplied article{padding:12px;border:1px solid #d5ded8;border-radius:12px}.tc421-supplied button{width:100%;margin-top:12px}.tc421-linked{padding:8px 0;font-weight:600}.tc421-offer{font-size:14px;color:#52665e}#modal [data-error421]:empty{display:none}
