@import url("/_content/Guestivity.Shared.UI/css/creator-partnerships.css");
@import url("/_content/Guestivity.Shared.UI/css/creator-referral-introduction.css");
@import url("/_content/Guestivity.Shared.UI/css/booking-extras.css");
@import url("/_content/Guestivity.Shared.UI/css/guest-message-choices.css");
@import url("/_content/Guestivity.Shared.UI/css/reservation-message-choices.css");
@import url("/_content/Guestivity.Shared.UI/css/booking-phone-proof.css");
@import url("/_content/Guestivity.Shared.UI/css/company-marketing-choices.css");
/* Public website only. No Bootstrap dependency. */
.hbs-sticky-panel .gstvt-amendment-payment { margin-block: 1rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-amendment-payment h2 { font-size: 1.1rem; line-height: 1.35; letter-spacing: normal; margin-bottom: .75rem; }
.hbs-sticky-panel .gstvt-amendment-payment p { font-size: .95rem; line-height: 1.6; }
/* Public feature stories and CMS detail pages. */
.gstvt-feature-section { padding: 88px 0; color: var(--gstvt-ink); }
.gstvt-feature-heading { max-width: 850px; margin-bottom: 64px; }
.gstvt-feature-heading h2, .gstvt-feature-detail-hero h1 { font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.12; letter-spacing: -.035em; margin-bottom: 24px; }
.gstvt-feature-heading > p:last-of-type, .gstvt-feature-detail-hero .container > p:last-of-type { font-size: 1.15rem; color: var(--gstvt-muted); max-width: 690px; }
.gstvt-feature-links, .gstvt-feature-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.gstvt-feature-links a, .gstvt-feature-tags span { border: 1px solid var(--gstvt-line); padding: 9px 14px; border-radius: 8px; font-size: .9rem; }
.gstvt-feature-links a { color: var(--gstvt-ink); background: var(--gstvt-surface, white); text-decoration: none; }
.gstvt-feature-links a:hover { border-color: var(--gstvt-violet); color: var(--gstvt-violet); }
.gstvt-feature-row { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr); gap: 48px; align-items: center; margin-bottom: 88px; scroll-margin-top: 100px; }
.gstvt-feature-row-reverse { grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr); }
.gstvt-feature-row-reverse .gstvt-feature-copy { order: 2; }
.gstvt-feature-copy h2, .gstvt-feature-copy h3, .gstvt-feature-relationship h2, .gstvt-feature-relationship h3 { font-size: clamp(1.6rem, 2.4vw, 2.15rem); letter-spacing: -.025em; line-height: 1.2; margin-bottom: 20px; }
.gstvt-feature-copy p, .gstvt-feature-relationship p { line-height: 1.7; }
.gstvt-feature-list { padding-left: 1.2rem; margin: 24px 0; }
.gstvt-feature-list li { padding-left: 5px; margin-bottom: 12px; line-height: 1.55; }
.gstvt-feature-list li::marker { color: var(--gstvt-violet); }
.gstvt-feature-link { font-weight: 600; color: var(--gstvt-violet); text-decoration: underline; text-underline-offset: 5px; }
.gstvt-feature-figure { margin: 0; min-width: 0; }
.gstvt-feature-figure a { display: block; border-radius: 12px; border: 1px solid var(--gstvt-line); overflow: hidden; box-shadow: var(--gstvt-shadow-soft); background: var(--gstvt-canvas); }
.gstvt-feature-figure img { display: block; width: 100%; height: auto; }
.gstvt-feature-calendar { grid-template-columns: minmax(0, 1fr); gap: 32px; }
.gstvt-feature-calendar .gstvt-feature-copy > p:not(.hbs-eyebrow) { max-width: 780px; }
.gstvt-feature-calendar .gstvt-feature-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
.gstvt-feature-carousel { min-width: 0; }
.gstvt-feature-carousel .carousel-item { margin-right: -100%; }
.gstvt-feature-carousel-controls { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 20px; }
.gstvt-feature-carousel-controls > button { width: 44px; height: 44px; border: 1px solid var(--gstvt-line); border-radius: 50%; background: var(--gstvt-surface, #fff); color: var(--gstvt-ink, #172723); font-size: 1.25rem; }
.gstvt-feature-carousel-controls > button:hover { background: var(--gstvt-canvas); }
.gstvt-feature-carousel-controls .carousel-indicators { position: static; margin: 0; gap: 4px; }
.gstvt-feature-carousel-controls .carousel-indicators button { box-sizing: border-box; width: 32px; height: 44px; border: 0; border-radius: 0; opacity: 1; background: transparent; position: relative; }
.gstvt-feature-carousel-controls .carousel-indicators button::after { content: ''; position: absolute; width: 8px; height: 8px; top: 18px; left: 12px; border-radius: 50%; background: #88918e; }
.gstvt-feature-carousel-controls .carousel-indicators button.active::after { background: #172723; transform: scale(1.4); }
.gstvt-feature-carousel-controls button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media (max-width: 767px) { .gstvt-feature-calendar .gstvt-feature-list { grid-template-columns: minmax(0, 1fr); } }
.gstvt-feature-figure figcaption { margin-top: 14px; font-size: .8rem; line-height: 1.5; color: var(--gstvt-muted); }
.gstvt-feature-relationship { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; background: var(--gstvt-soft-violet); border-radius: 16px; padding: 40px; margin-bottom: 88px; }
.gstvt-feature-relationship h4 { font-size: 1.25rem; margin-bottom: 16px; }
.gstvt-feature-tags { margin-bottom: 20px; }
.gstvt-feature-tags span { background: var(--gstvt-surface, white); }
.gstvt-feature-note { font-size: .85rem; color: var(--gstvt-muted); line-height: 1.6; }
.gstvt-feature-section .gstvt-feature-row:last-child, .gstvt-feature-section .gstvt-feature-relationship:last-child { margin-bottom: 0; }
.gstvt-feature-detail-hero { background: var(--gstvt-canvas); padding: 64px 0; }
.gstvt-invoicing-page .gstvt-feature-detail-container { width: min(1200px, calc(100% - 48px)); margin-inline: auto; }
.gstvt-invoicing-page .gstvt-feature-detail-hero .gstvt-public-button { margin-top: 12px; }
.gstvt-feature-detail-cta { background: var(--gstvt-canvas); padding: 48px 0; text-align: center; }
@media (max-width: 800px) {
  .gstvt-invoicing-page .gstvt-feature-row, .gstvt-invoicing-page .gstvt-feature-card-grid, .gstvt-invoicing-page .gstvt-feature-relationship { grid-template-columns: minmax(0, 1fr); }
  .gstvt-invoicing-page .gstvt-feature-detail-container { width: calc(100% - 32px); }
}
.gstvt-feature-detail-hero .hbs-eyebrow { margin-top: 40px; }
.gstvt-feature-detail-hero .btn { margin-top: 12px; }
.gstvt-feature-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-bottom: 80px; }
.gstvt-feature-card-grid article { padding: 28px; border: 1px solid var(--gstvt-line); border-radius: 12px; }
.gstvt-feature-card-grid .material-symbols-outlined { color: var(--gstvt-violet); font-size: 2rem; margin-bottom: 24px; }
.gstvt-feature-card-grid h2 { font-size: 1.35rem; margin-bottom: 16px; }
.gstvt-feature-card-grid p { line-height: 1.7; margin: 0; }
.gstvt-feature-payments { margin-bottom: 80px; }
/* CSS-only logo loop: one accessible list and an inert visual duplicate. */
/* Shared public website */
:root { --gstvt-public-font: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body, .hbs-marketing-shell, .gstvt-orchard-public { font-family: var(--gstvt-public-font); }
.hbs-marketing-hero h1, .hbs-marketing-shell h1, .hbs-marketing-shell h2, .gstvt-orchard-public h1, .gstvt-orchard-public h2 { font-family: var(--gstvt-public-font); }
.gstvt-site-actions { display:flex; align-items:center; gap:12px; }.gstvt-site-account { width:42px; height:42px; border:1px solid var(--border); border-radius:50%; display:grid; place-items:center; color:var(--foreground); }
.gstvt-site-footer { background:var(--card); color:var(--foreground); border-top:1px solid #e2e2df; margin-top:64px; font-family:var(--gstvt-public-font); }.gstvt-footer-inner { max-width:1600px; margin:auto; padding:48px 4% 24px; }
.gstvt-footer-intro { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-bottom:32px; }.gstvt-footer-intro p { color:var(--muted-foreground); margin:0; }
.gstvt-footer-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; padding:32px 0 48px; border-top:1px solid var(--border); }.gstvt-footer-columns section { display:flex; flex-direction:column; align-items:start; gap:14px; }.gstvt-footer-columns h2 { font-family:var(--gstvt-public-font); font-size:15px; font-weight:700; margin-bottom:6px; }.gstvt-site-footer a:hover { text-decoration:underline; }.gstvt-footer-bottom { border-top:1px solid var(--border); padding-top:24px; display:flex; gap:24px; flex-wrap:wrap; font-size:13px; color:var(--muted-foreground); }.gstvt-footer-bottom nav { display:flex; gap:20px; }.gstvt-footer-bottom > span:last-child { margin-left:auto; }
.gstvt-discover { max-width:1800px; margin:auto; padding:56px 4% 0; }.gstvt-discover-heading h1 { font-family:var(--gstvt-public-font); font-size:clamp(36px,4.5vw,68px); font-weight:650; letter-spacing:-.045em; line-height:1.06; margin:12px 0 20px; }.gstvt-discover-heading > p:last-child { color:var(--muted-foreground); font-size:17px; }
.gstvt-discover-search { margin:32px 0 40px; padding:22px; background:var(--gstvt-surface, #fff); border:1px solid var(--border); border-radius:20px; box-shadow:0 8px 32px #00000008; position:relative; z-index:1010; }
.gstvt-discover-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:24px; }.gstvt-discover-toolbar h2 { font-family:var(--gstvt-public-font); font-size:24px; letter-spacing:-.025em; }.gstvt-discover-toolbar p { margin:0; color:var(--muted-foreground); }.gstvt-view-toggle { white-space:nowrap; display:inline-flex; gap:8px; align-items:center; }
.gstvt-discover-results { display:grid; gap:28px; }.gstvt-discover-results.is-map { grid-template-columns:1fr 1fr; }.gstvt-discover-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }.is-list .gstvt-discover-cards { grid-template-columns:repeat(4,minmax(0,1fr)); }
.gstvt-stay-card { min-width:0; }.gstvt-stay-card a { color:var(--foreground); text-decoration:none; }.gstvt-stay-card img, .gstvt-stay-image-empty { width:100%; aspect-ratio:1.4; object-fit:cover; border-radius:16px; background:#eee; }.gstvt-stay-image-empty { display:grid; place-items:center; }.gstvt-stay-card small { display:block; color:var(--muted-foreground); font-size:12px; margin-top:12px; }.gstvt-stay-card h3 { font-size:17px; margin:5px 0; font-weight:650; }.gstvt-stay-card p { font-size:13px; color:var(--muted-foreground); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:7px; }.gstvt-stay-card strong { font-size:14px; }.gstvt-stay-card strong span { font-weight:400; color:var(--muted-foreground); }
.gstvt-discover-map, .gstvt-search-map { min-width:0; position:sticky; top:20px; align-self:start; }.gstvt-live-map { height:580px; min-height:350px; border-radius:18px; border:1px solid var(--border); z-index:0; background:var(--card); }.gstvt-map-price { width:max-content !important; }.gstvt-map-price span { display:block; white-space:nowrap; background:var(--gstvt-surface, #fff); color:var(--foreground); padding:7px 11px; border-radius:20px; box-shadow:0 2px 8px #0003; font-family:var(--gstvt-public-font); font-size:12px; font-weight:700; border:1px solid var(--border); }.gstvt-map-price:focus span, .gstvt-map-price:hover span { background:#171717; color:white; }
.gstvt-discover-more { text-align:center; margin-top:40px; }.gstvt-host-invitation { max-width:1600px; margin:80px auto 0; padding:40px 4%; display:grid; grid-template-columns:1fr 1.4fr; align-items:center; gap:48px; background:var(--card); border-radius:24px; }.gstvt-host-invitation h2 { font-size:clamp(28px,3vw,42px); letter-spacing:-.035em; font-family:var(--gstvt-public-font); }.gstvt-host-invitation p { color:var(--muted-foreground); }.gstvt-host-invitation img { width:100%; border-radius:14px; border:1px solid var(--border); box-shadow:0 16px 40px #0001; }
.gstvt-search-width { padding-left:3%; padding-right:3%; }.gstvt-search-layout { display:grid; gap:28px; }.gstvt-search-layout.is-map { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }.gstvt-search-cards { min-width:0; }.gstvt-search-layout.is-list { margin:auto; }
.gstvt-guest-field { position:relative; min-width:0; }.gstvt-guest-popover { position:absolute; top:100%; right:0; z-index:1100; width:290px; max-width:calc(100vw - 40px); padding:20px; margin-top:8px; background:var(--gstvt-surface, white); color:var(--foreground); border:1px solid var(--border); border-radius:16px; box-shadow:0 12px 32px #0002; }.gstvt-guest-popover .btn-group { align-items:center; gap:5px; }.gstvt-guest-popover .btn { min-height:36px; }.gstvt-guest-popover .btn-group .btn { border-radius:50% !important; width:36px; }.gstvt-guest-popover .hbs-step-value { padding:6px; background:transparent; color:var(--foreground); opacity:1; }.hbs-search-results-header { position:relative; z-index:1010; }
@media(max-width:1200px) {.is-list .gstvt-discover-cards { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) {.gstvt-site-actions .btn { display:none; }.gstvt-discover { padding:32px 20px 0; }.gstvt-discover-search { padding:16px; margin:24px 0; }.gstvt-discover-toolbar { align-items:start; }.gstvt-discover-toolbar h2 { font-size:20px; }.gstvt-discover-toolbar p { font-size:13px; }.gstvt-discover-results.is-map, .gstvt-search-layout.is-map { grid-template-columns:1fr; }.gstvt-discover-results.is-map .gstvt-discover-cards, .gstvt-search-layout.is-map .gstvt-search-cards { display:none; }.gstvt-live-map { height:65vh; }.is-list .gstvt-discover-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.gstvt-host-invitation { margin:48px 20px 0; padding:24px; grid-template-columns:1fr; gap:24px; }.gstvt-host-invitation h2 { font-size:30px; }.gstvt-footer-intro { flex-direction:column; align-items:start; }.gstvt-footer-columns { grid-template-columns:1fr; gap:32px; padding:24px 0; }.gstvt-footer-columns section { padding-bottom:24px; border-bottom:1px solid var(--border); }.gstvt-footer-bottom > span:last-child { margin-left:0; }.gstvt-site-footer { padding-bottom:75px; }.gstvt-search-width { padding-left:20px; padding-right:20px; } }
@media(prefers-reduced-motion:reduce) { .gstvt-live-map * { transition:none !important; } }
.gstvt-inspiration { max-width:1600px; margin:80px auto 0; padding:0 4%; }
.gstvt-section-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:28px; }.gstvt-section-heading h2, .gstvt-offers h2 { font-family:var(--gstvt-public-font); font-size:32px; font-weight:650; letter-spacing:-.035em; }.gstvt-section-heading p { color:var(--muted-foreground); margin-bottom:0; }.gstvt-section-heading > a, .gstvt-offers > div > a { color:var(--foreground); font-weight:600; font-size:14px; text-underline-offset:4px; }
.gstvt-destination-mosaic { display:grid; grid-template-columns:1.5fr 1fr; grid-template-rows:230px 230px; gap:24px; }.gstvt-destination-scene { position:relative; overflow:hidden; border-radius:20px; color:white; background:#303e3b; }.gstvt-destination-scene:first-child { grid-row:span 2; }.gstvt-destination-scene img { height:100%; width:100%; object-fit:cover; transition:transform .25s; }.gstvt-destination-scene:hover img { transform:scale(1.03); }.gstvt-destination-scene > div { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:end; padding:32px; background:linear-gradient(transparent 20%,#000a); }.gstvt-destination-scene h3 { font-size:28px; font-weight:650; color:white; margin:7px 0 12px; }.gstvt-destination-scene small { text-transform:uppercase; letter-spacing:.1em; font-size:11px; }.gstvt-destination-scene span { font-size:14px; }
.gstvt-destination-rail { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px; }.gstvt-destination-tile { color:var(--foreground); text-decoration:none; min-width:0; }.gstvt-destination-tile img { width:100%; aspect-ratio:1.3; object-fit:cover; border-radius:14px; }.gstvt-destination-tile h3 { font-size:17px; font-weight:650; margin:12px 0 5px; }.gstvt-destination-tile p { font-size:12px; color:var(--muted-foreground); }.gstvt-photo-credits { margin-top:18px; font-size:11px; color:#777; }.gstvt-photo-credits a { color:inherit; }.gstvt-photo-credits ul { padding-left:18px; }
.gstvt-offers { max-width:1600px; margin:80px auto 0; padding:48px 4%; display:grid; grid-template-columns:1fr 2fr; gap:40px; background:var(--card); border-radius:24px; }.gstvt-offers p { color:var(--muted-foreground); }.gstvt-offer-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }.gstvt-offer-cards article { border:1px solid #e7e2ee; border-radius:18px; background:var(--gstvt-surface, #fff); padding:28px; display:flex; flex-direction:column; align-items:start; }.gstvt-offer-label { font-size:11px; color:var(--foreground); background:var(--card); border-radius:30px; padding:6px 10px; margin-bottom:20px; }.gstvt-offer-cards h3 { font-size:21px; font-weight:650; }.gstvt-offer-cards strong { margin:auto 0 24px; font-size:24px; }.gstvt-offer-cards small { font-size:12px; color:var(--muted-foreground); font-weight:400; }
@media(max-width:1000px) { .gstvt-destination-rail { grid-template-columns:repeat(3,minmax(0,1fr)); }.gstvt-offers { grid-template-columns:1fr; } }
@media(max-width:767px) { .gstvt-inspiration { margin-top:48px; padding:0 20px; }.gstvt-section-heading { flex-direction:column; align-items:start; gap:12px; }.gstvt-section-heading h2, .gstvt-offers h2 { font-size:27px; }.gstvt-destination-mosaic { grid-template-columns:1fr 1fr; grid-template-rows:280px 220px; gap:14px; }.gstvt-destination-scene:first-child { grid-column:span 2; grid-row:span 1; }.gstvt-destination-scene > div { padding:18px; }.gstvt-destination-scene h3 { font-size:21px; }.gstvt-destination-scene small { font-size:9px; }.gstvt-destination-rail { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.gstvt-offers { margin:48px 20px 0; padding:24px; gap:24px; }.gstvt-offer-cards { grid-template-columns:1fr; }.gstvt-offer-cards article { padding:24px; } }
@media(prefers-reduced-motion:reduce) { .gstvt-destination-scene img { transition:none; } }
.gstvt-map-cluster span { display:grid; place-items:center; height:36px; border-radius:24px; background:#242126; color:white; border:2px solid white; box-shadow:0 2px 8px #0003; font:600 12px var(--gstvt-public-font); }

/* Guest website art direction. Scoped to public containers; workspace and admin retain their own design. */
@font-face { font-family: 'Guestivity Editorial'; src: url('../fonts/instrument-serif-regular.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'Guestivity Editorial'; src: url('../fonts/instrument-serif-italic.ttf') format('truetype'); font-style: italic; font-weight: 400; font-display: swap; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) {
    --gstvt-ink: var(--foreground); --gstvt-muted: var(--muted-foreground); --gstvt-blue: var(--primary); --gstvt-blue-strong: var(--primary);
    --gstvt-violet: var(--primary); --gstvt-line: var(--border); --gstvt-canvas: var(--background); --gstvt-soft-violet: var(--muted);
    --gstvt-soft-blue: var(--muted); --gstvt-paper: var(--background); --gstvt-forest: var(--foreground); --gstvt-citron: var(--secondary);
    --gstvt-serif: 'Guestivity Editorial', Georgia, serif; --hbs-blue: var(--primary); --hbs-ink: var(--foreground); --hbs-line: var(--border);
    background: var(--gstvt-paper); color: var(--gstvt-ink); min-height: 100vh;
    font-family: Inter, system-ui, sans-serif; font-weight: 400;
}
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(h1,h2,h3) { font-family: var(--gstvt-serif); font-weight: 400; letter-spacing: -.025em; line-height: 1.06; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(h1,h2,h3) em { font-weight: 400; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) h1 { font-size: clamp(2.8rem,5vw,5rem); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) h2 { font-size: clamp(2rem,3.5vw,3.8rem); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) h3 { font-size: 1.75rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) a { color: inherit; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(a,button,input,summary,select,textarea):focus-visible { outline: 3px solid var(--ring); outline-offset: 4px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .text-secondary { color: var(--gstvt-muted) !important; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .text-primary { color: var(--gstvt-forest) !important; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.hbs-eyebrow,.gstvt-eyebrow) { color: var(--gstvt-muted); font-family: Inter,system-ui,sans-serif; font-size: .64rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; line-height: 1.65; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .btn { border-radius: 3px; padding: 13px 21px; font-size: .85rem; font-weight: 500; transition: background .2s, color .2s, border-color .2s; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.btn-primary,.btn-dark) { background: var(--gstvt-forest); color: #fff; border-color: var(--gstvt-forest); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.btn-primary,.btn-dark):hover { background: var(--primary); border-color: var(--primary); color: #fff; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.btn-outline-dark,.btn-outline-secondary) { border-color: var(--border); color: var(--gstvt-forest); background: transparent; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.btn-outline-dark,.btn-outline-secondary):hover { color: #fff; background: var(--gstvt-forest); border-color: var(--gstvt-forest); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .form-control,:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .form-select { border-radius: 3px; border-color: var(--gstvt-line); color: var(--foreground); min-height: 46px; font-size: .92rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .form-label { font-size: .75rem; font-weight: 500; color: var(--foreground); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.hbs-form-section,.hbs-detail-panel,.hbs-empty-state) { background: var(--card); border: 1px solid var(--gstvt-line); border-radius: 5px; box-shadow: none; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.gstvt-main,.gstvt-page-main,.gstvt-public-main) { padding-bottom: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-home-band { display: none; } /* Superseded home-only CMS legacy band. */
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-mobile-nav { background: var(--gstvt-paper); color: var(--gstvt-forest); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-skip { position: absolute; left: 12px; top: -100px; background: var(--gstvt-surface, #fff); padding: 12px 18px; z-index: 10; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-skip:focus { top: 10px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-brand-period { color: #a5894c; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-actions { display: flex; align-items: center; gap: 20px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-manage-link { font-size: .75rem; text-decoration: none; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-account { width: 38px; height: 38px; border: 1px solid #b7bfaf; border-radius: 50%; display: grid; place-items: center; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-understated-link { display: inline-flex; align-items: center; gap: 24px; width: fit-content; font-size: .77rem; font-weight: 500; text-decoration: none; padding-bottom: 8px; border-bottom: 1px solid currentColor; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-understated-link span { transition: transform .25s; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-understated-link:hover span { transform: translate(3px,-3px); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-hero { max-width: 1700px; margin: auto; padding: 40px 4.5% 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-editorial { display: grid; grid-template-columns: 1.05fr 1fr; min-height: 550px; gap: 34px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-story { container-type: inline-size; min-width: 0; position: relative; padding: 38px 0 54px; display: flex; flex-direction: column; justify-content: center; align-items: start; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-story h1 { font-size: clamp(1.75rem,12cqi,5.5rem); line-height: 1.05; letter-spacing: -.035em; margin: 27px 0 30px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-story h1 em { color: var(--foreground); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-description { color: var(--gstvt-muted); font-size: .86rem; line-height: 1.9; margin-bottom: 32px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-edition { display: block; font-size: .49rem; letter-spacing: .15em; color: var(--muted-foreground); position: absolute; bottom: 4px; left: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-sun-dot { width: 7px; height: 7px; border-radius: 50%; background: #b88a45; display: inline-block; margin-right: 7px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo { width: 100%; min-width: 0; margin: 0; position: relative; overflow: hidden; min-height: 550px; background: #d1d5c2; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo::after { content: ''; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent,rgba(16,35,29,.74)); pointer-events: none; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo figcaption { position: absolute; bottom: 28px; left: 28px; right: 28px; z-index: 1; color: #fff; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo figcaption > span { font-family: var(--gstvt-serif); font-style: italic; font-size: 2.5rem; display: block; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo figcaption a { display: flex; justify-content: space-between; align-items: center; text-decoration: none; font-size: .68rem; letter-spacing: .04em; margin-top: 8px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-photo-number { position: absolute; top: 24px; left: 24px; z-index: 1; color: white; font-size: .48rem; letter-spacing: .12em; background: #233d35d9; padding: 7px 10px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-search { margin: 30px 0 0; padding: 23px 28px; background: var(--card); border: 1px solid var(--gstvt-line); position: relative; z-index: 5; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-search-intro { display: flex; align-items: center; gap: 18px; margin-bottom: 18px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-search-intro > span:last-child { font-family: var(--gstvt-serif); font-size: 1.35rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-promise { display: flex; justify-content: space-between; gap: 16px; padding: 22px 0; font-size: .65rem; color: var(--foreground); border-bottom: 1px solid var(--gstvt-line); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-promise span::before { content: '\2022'; margin-right: 10px; color: var(--foreground); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.gstvt-stay-collection,.gstvt-editorial-destinations,.gstvt-island-story,.gstvt-host-editorial) { width: auto; max-width: 1700px; margin: 0 auto; padding: 100px 4.5%; scroll-margin-top: 95px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-editorial-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 26px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-editorial-heading h2 { font-size: clamp(2.5rem,4.3vw,4.7rem); margin-bottom: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-toolbar p { font-size: .72rem; color: var(--gstvt-muted); margin: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-text-button { display: inline-flex; align-items: center; gap: 8px; border: 0; border-bottom: 1px solid var(--gstvt-line); background: transparent; color: var(--gstvt-forest); padding: 8px 0; font-size: .72rem; white-space: nowrap; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-editorial-stays { display: grid; grid-template-columns: 1fr 1.05fr; gap: 60px; align-items: stretch; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-photo { margin: 0; position: relative; min-height: 530px; overflow: hidden; background: #d8ddca; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-photo::after { content: ''; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent,#172e25e6); pointer-events: none; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-photo figcaption { position: absolute; bottom: 28px; left: 28px; right: 28px; z-index: 1; color: #fff; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-photo figcaption > span { font-family: var(--gstvt-serif); font-style: italic; font-size: 2.7rem; line-height: 1.05; display: block; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-photo figcaption a { display: flex; justify-content: space-between; align-items: center; text-decoration: none; font-size: .7rem; margin-top: 16px; gap: 16px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-list { border-top: 1px solid var(--gstvt-line); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-editorial-stay { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 16px; padding: 27px 0; border-bottom: 1px solid var(--gstvt-line); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-index { color: var(--gstvt-muted); font-size: .68rem; padding-top: 3px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-caption h3 { font-size: clamp(1.8rem,2.8vw,3rem); margin: 8px 0 15px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-caption h3 a { display: flex; justify-content: space-between; gap: 16px; text-decoration: none; align-items: center; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-arrow { display: block; font-size: 1.3rem; font-family: Inter,system-ui,sans-serif; transition: transform .25s; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-caption h3 a:hover .gstvt-stay-arrow { transform: translate(3px,-3px); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-caption .gstvt-eyebrow { margin: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: .72rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-meta strong { font-weight: 500; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-map { margin-top: 36px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-map p { font-size: .75rem; margin: 12px 0 0; color: var(--gstvt-muted); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-story { margin: 0; padding: 85px 7%; background: var(--muted); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-story > .gstvt-eyebrow { text-align: center; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-story h2 { font-size: clamp(4rem,8vw,9rem); text-align: center; margin: 32px auto 46px; line-height: .98; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-story h2 em { color: var(--foreground); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-bottom { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 40px; align-items: center; max-width: 1200px; margin: auto; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-bottom p { font-size: .9rem; line-height: 1.9; max-width: 540px; margin: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-symbol { font-size: 5.5rem; color: var(--foreground); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-bottom a { justify-self: end; font-size: .7rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-section-heading h2 { font-family: var(--gstvt-serif); font-size: clamp(3rem,4.5vw,5rem); font-weight: 400; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-section-heading > a { color: var(--gstvt-forest); font-size: .75rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-section-heading p { font-size: .85rem; max-width: 450px; line-height: 1.8; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-mosaic { display: grid; grid-template-columns: 1.2fr .85fr .85fr; grid-template-rows: auto; gap: 28px; padding-top: 30px; align-items: start; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene { color: #fff; grid-column: auto; grid-row: auto; height: 410px; border-radius: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene:first-child { grid-column: auto; grid-row: auto; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene:nth-child(2) { margin-top: 72px; height: 365px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene:nth-child(3) { margin-top: 140px; height: 365px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene > div { padding: 25px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene h3 { font-size: 2.7rem; font-family: var(--gstvt-serif); font-weight: 400; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene small,:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene span { font-size: .69rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-island-story { padding-top: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-island-story .gstvt-section-heading { border-top: 1px solid var(--gstvt-line); padding-top: 55px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-rail { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px 38px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-tile { display: grid; grid-template-columns: 90px 1fr; grid-template-rows: auto auto; column-gap: 20px; border-bottom: 1px solid var(--gstvt-line); padding: 0 0 22px; align-items: center; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-tile img { grid-row: 1 / 3; width: 90px; height: 105px; aspect-ratio: auto; border-radius: 0; margin: 0; object-fit: cover; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-tile h3 { font-family: var(--gstvt-serif); font-size: 2rem; font-weight: 400; align-self: end; margin: 0 0 8px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-tile p { font-size: .68rem; align-self: start; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-photo-credits { font-size: .64rem; color: var(--gstvt-muted); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-slow-story { position: relative; min-height: 510px; display: grid; align-items: center; padding: 70px 8%; overflow: hidden; color: #fff; background: #3d5145; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-slow-story > img { position: absolute; width: 100%; height: 100%; object-fit: cover; inset: 0; object-position: center 65%; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-slow-story::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#162c25c9,#162c2540); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-slow-story > div { position: relative; z-index: 1; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-slow-story .gstvt-eyebrow { color: #f0efdf; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-slow-story h2 { font-size: clamp(3.5rem,6vw,6.5rem); margin: 25px 0 35px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-host-editorial { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: center; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-host-editorial h2 { font-size: clamp(3.5rem,5vw,5.8rem); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-host-editorial-copy > p:not(.gstvt-eyebrow) { font-size: .86rem; line-height: 1.9; margin: 28px 0; max-width: 370px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-host-editorial figure { margin: 0; background: var(--card); padding: 35px 25px 20px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-host-editorial figure img { width: 100%; height: auto; box-shadow: 0 12px 28px #233d3514; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-host-editorial figcaption { font-size: .62rem; margin-top: 20px; text-align: center; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-footer { background: var(--card); color: var(--foreground); border: 0; margin-top: 0; padding-bottom: env(safe-area-inset-bottom); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-inner { max-width: 1700px; padding: 74px 4.5% 26px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-invitation { display: flex; justify-content: space-between; align-items: center; padding-bottom: 65px; border-bottom: 1px solid #f7f6ef38; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-invitation h2 { font-size: clamp(4rem,7vw,8rem); line-height: .95; margin: 22px 0 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-invitation .gstvt-eyebrow { color: var(--muted-foreground); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-round-link { display: grid; place-items: center; border: 1px solid #c7d5ba88; border-radius: 50%; width: 105px; height: 105px; font-size: 3.2rem; text-decoration: none; color: var(--gstvt-citron); transition: background .25s,color .25s; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-round-link:hover { background: var(--gstvt-citron); color: var(--gstvt-forest); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-content { display: grid; grid-template-columns: 1fr 1.8fr; gap: 60px; padding: 60px 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-intro { display: block; padding: 0; border: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-intro img { filter: none; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-intro p { color: var(--muted-foreground); font-size: .75rem; line-height: 1.9; margin: 24px 0 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; padding: 0; border: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-columns h2 { color: var(--foreground); font-family: Inter,system-ui,sans-serif; letter-spacing: .03em; font-size: .68rem; font-weight: 500; margin-bottom: 22px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-columns section a { display: block; margin-bottom: 13px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-bottom { font-size: .64rem; color: var(--muted-foreground); border-color: #f7f6ef38; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-bottom a { font-size: .64rem !important; }
/* Search, hotel and checkout retain their existing components and state. */
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-search-results-header { background: var(--muted); border-bottom: 1px solid var(--gstvt-line); padding: 12px 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-search-width { max-width: 1600px; padding-left: 4.5%; padding-right: 4.5%; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-search-width > div > div > h1 { font-size: clamp(2.5rem,4vw,4rem); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hotel-card { border-radius: 4px; border-color: var(--gstvt-line); box-shadow: none; background: var(--card); overflow: hidden; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hotel-image-link { overflow: hidden; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hotel-image { transition: transform .7s; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hotel-image-link:hover .hbs-hotel-image { transform: scale(1.035); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hotel-card-body { padding: 25px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hotel-card h2 { font-size: 1.9rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hotel-card h2 a { text-decoration: none; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-amenities span { background: var(--muted); border-radius: 2px; border-color: #dfe2d7; color: var(--foreground); font-size: .69rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-live-map { border-radius: 4px; border-color: var(--gstvt-line); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hotel-photo-gallery { border-radius: 5px; gap: 10px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-room-card { background: var(--card); border-color: var(--gstvt-line); border-radius: 4px; box-shadow: none; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-room-card h3 { font-size: 1.7rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-narrow { padding: 32px; border: 1px solid var(--gstvt-line); background: var(--card); margin-top: 24px; margin-bottom: 40px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-narrow h1 { font-size: 3.3rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .accordion-item { border-color: var(--gstvt-line); background: var(--card); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .accordion-button { color: var(--gstvt-forest); background: var(--card); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .accordion-button:not(.collapsed) { color: var(--gstvt-forest); background: var(--muted); }
/* Public product, pricing and informational CMS pages. */
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product { min-height: 600px; background: var(--muted); color: var(--gstvt-forest); overflow: hidden; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product > img { left: auto; right: 0; width: 48%; height: 100%; opacity: 1; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product .hbs-marketing-hero-shade { background: linear-gradient(90deg,var(--muted) 49%,#e9ecdf00 75%); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product .hbs-marketing-hero-copy { color: var(--gstvt-forest); padding-top: 70px; padding-bottom: 65px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product .hbs-marketing-hero-copy > :is(h1,p,.hbs-hero-actions,.hbs-hero-proof) { max-width: 52%; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product h1 { font-family: var(--gstvt-serif); font-size: clamp(3rem,5.5vw,6rem); font-weight: 400; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product p.text-white { color: var(--foreground) !important; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product .btn-light { background: var(--gstvt-forest); color: white; border-color: var(--gstvt-forest); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product .btn-outline-light { border-color: #83927c; color: var(--gstvt-forest); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hero-proof { border-color: #8f9e8466; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hero-proof span { color: var(--foreground); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.hbs-marketing-section,.gstvt-feature-section) { padding-top: 85px; padding-bottom: 85px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-section-muted { background: var(--card); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.hbs-section-heading h2,.gstvt-features-title,.gstvt-feature-heading h2) { font-family: var(--gstvt-serif); font-weight: 400; font-size: clamp(2.6rem,4.8vw,5rem); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.hbs-product-module,.hbs-channel-card) { border-radius: 3px; box-shadow: none; background: var(--card); border-color: var(--gstvt-line); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-product-module h3 { font-size: 1.8rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.hbs-product-shot,.gstvt-feature-figure a) { border-radius: 4px; box-shadow: 0 14px 40px #233d350c; border-color: var(--gstvt-line); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.hbs-price-card,.hbs-price-card-accent) { border-radius: 4px; background: var(--card); color: var(--gstvt-forest); border-color: #a1ad95; box-shadow: none; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-price-card-accent { background: var(--card); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-price-card-accent :is(p,li) { color: var(--gstvt-forest); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-price-card h3 { font-size: 4rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-relationship { background: var(--muted); border-radius: 4px; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-copy h3,:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-relationship h3 { font-family: var(--gstvt-serif); font-size: clamp(2.2rem,3.5vw,3.5rem); font-weight: 400; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-links a,:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-tags span { border-radius: 2px; background: var(--card); border-color: var(--gstvt-line); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-detail-hero { background: var(--muted); padding: 70px 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-detail-hero h1 { font-family: var(--gstvt-serif); font-size: clamp(3.5rem,6vw,6rem); font-weight: 400; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-table { background: var(--card); font-size: .86rem; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-payment-heading h3 { font-family: var(--gstvt-serif); font-size: clamp(2.7rem,4vw,4rem); font-weight: 400; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-logo-tile { border-radius: 3px; background: var(--card); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-cta { background: var(--gstvt-forest); padding: 65px 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-cta .btn-light { color: var(--gstvt-forest); background: var(--gstvt-paper); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-cta h2 { font-family: var(--gstvt-serif); font-weight: 400; font-size: clamp(2.7rem,4.5vw,5rem); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) [data-gstvt-reveal] { transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.3,1); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-reveal-wait { opacity: 0; transform: translateY(24px); }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) [id] { scroll-margin-top: 110px; }
@media (max-width:1100px) {
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-actions { gap: 12px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-editorial { min-height: 470px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo { min-height: 470px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-search-destination { grid-column: auto; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-field { grid-column: 1 / 3; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-bottom { grid-template-columns: .5fr 2fr; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-bottom a { grid-column: 2; justify-self: start; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-tile { grid-template-columns: 70px 1fr; gap: 12px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-tile img { width: 70px; height: 90px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-host-editorial { gap: 40px; }
}
@media (max-width:767px) {
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-hero { padding: 20px 5% 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-editorial { grid-template-columns: 1fr; gap: 22px; min-height: 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-story { padding: 25px 0 13px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-story h1 { margin: 21px 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-story > .gstvt-eyebrow { font-size: .55rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-description { font-size: .79rem; margin-bottom: 22px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-edition { display: none; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo { min-height: 320px; max-height: 410px; aspect-ratio: 1.3; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo figcaption { left: 20px; bottom: 20px; right: 20px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-photo figcaption > span { font-size: 2.1rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-hero-search { margin-top: 22px; padding: 19px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-search-intro { flex-direction: column; align-items: start; gap: 3px; margin-bottom: 18px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-search-destination { grid-column: 1 / -1; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-guest-promise { flex-direction: column; gap: 10px; font-size: .64rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.gstvt-stay-collection,.gstvt-editorial-destinations,.gstvt-island-story,.gstvt-host-editorial) { padding: 65px 5%; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-editorial-heading { flex-direction: column; align-items: start; gap: 20px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-editorial-heading h2 { font-size: 2.9rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-toolbar { align-items: start; flex-direction: column; gap: 10px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-editorial-stays { grid-template-columns: 1fr; gap: 30px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-collection-photo { min-height: 370px; }


    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-stay-caption h3 { font-size: 2.3rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-story { padding: 60px 5%; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-story h2 { font-size: clamp(3.7rem,12vw,5.5rem); }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-bottom { grid-template-columns: 1fr; gap: 25px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-symbol { font-size: 3.5rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-direct-bottom a { grid-column: 1; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-section-heading { align-items: start; flex-direction: column; gap: 25px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-section-heading h2 { font-size: 3.2rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-mosaic { grid-template-columns: 1fr; gap: 25px; padding-top: 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene,:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene:nth-child(2),:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-scene:nth-child(3) { height: 350px; margin: 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-island-story { padding-top: 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-rail { grid-template-columns: 1fr 1fr; gap: 24px 18px; overflow: visible; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-tile { display: block; min-width: 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-tile img { width: 100%; height: auto; aspect-ratio: 1.1; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-destination-tile h3 { margin: 14px 0 6px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-slow-story { min-height: 460px; padding: 50px 5%; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-slow-story h2 { font-size: 3.5rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-slow-story .gstvt-understated-link { font-size: .68rem; gap: 12px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-host-editorial { grid-template-columns: 1fr; gap: 40px; overflow: hidden; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-host-editorial figure { margin: 8px; padding: 25px 15px 15px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-inner { padding: 60px 5% 28px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-invitation { align-items: start; gap: 25px; padding-bottom: 40px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-invitation h2 { font-size: clamp(2.9rem,10vw,5rem); }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-round-link { width: 50px; height: 50px; flex-shrink: 0; font-size: 1.8rem; margin-top: 40px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-content { grid-template-columns: 1fr; gap: 36px; padding: 35px 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-columns { grid-template-columns: 1fr 1fr; gap: 30px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-columns section { border: 0; padding: 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-bottom { gap: 17px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-bottom > span:last-child { margin-left: 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-footer { padding-bottom: 75px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hotel-card-body { padding: 20px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-narrow { padding: 24px 18px; margin-top: 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product { display: block; min-height: 0; padding: 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product > img { width: 100%; height: 300px; position: relative; object-fit: cover; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product .hbs-marketing-hero-shade { display: none; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product .hbs-marketing-hero-copy { padding: 36px 5%; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product .hbs-marketing-hero-copy > :is(h1,p,.hbs-hero-actions,.hbs-hero-proof) { max-width: 100%; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product h1 { font-size: 3.4rem; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(.hbs-marketing-section,.gstvt-feature-section) { padding-top: 55px; padding-bottom: 55px; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-detail-hero { padding: 40px 0; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-feature-detail-hero h1 { font-size: 3.5rem; }
}
@media (prefers-reduced-motion:reduce) {
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) [data-gstvt-reveal],:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-reveal-wait { opacity: 1; transform: none; transition: none; }
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) :is(img,.gstvt-stay-arrow,.gstvt-round-link) { transition: none; }
}

/* Traveller introduction: a public page, with no authenticated UI dependency. */
.gstvt-travellers{background:var(--card);color:var(--foreground);overflow:hidden}.gstvt-travellers h1,.gstvt-travellers h2{font-weight:550;letter-spacing:-.065em;line-height:1.05}.gstvt-travellers em{font-family:Georgia,serif;font-weight:400;color:var(--foreground)}.gstvt-travellers-kicker{font-size:11px;letter-spacing:2.2px;font-weight:650}.gstvt-travellers-hero{text-align:center;padding:80px 6% 40px;background:radial-gradient(ellipse at 80% 50%,#dde9db77,transparent 55%)}.gstvt-travellers h1{font-size:clamp(52px,7vw,100px);margin:24px 0}.gstvt-travellers-hero>p:not(.gstvt-travellers-kicker):not(.gstvt-travellers-caption){font-size:18px;line-height:1.7;color:var(--foreground);max-width:650px;margin:0 auto}.gstvt-travellers-actions{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;margin:30px 0 56px}.gstvt-travellers a{color:var(--foreground);font-weight:550}.gstvt-travellers .gstvt-travellers-button{display:inline-flex;align-items:center;gap:24px;background:#263e31;color:#fff;padding:16px 24px;border-radius:9px;font-size:14px;text-decoration:none}.gstvt-travellers-button:hover{background:#355b45!important}
.gstvt-travellers-preview{max-width:1240px;margin:auto;border:1px solid #cbd2c7;border-radius:16px;overflow:hidden;box-shadow:0 32px 70px #23301e1c;background:var(--gstvt-surface, #fff);scroll-margin-top:110px}.gstvt-travellers-preview-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;text-align:left;gap:12px;font-size:12px;background:var(--card);border-bottom:1px solid #d5dbd0}.gstvt-travellers-preview-bar>span{display:flex;align-items:center;gap:8px}.gstvt-travellers-preview-bar i{height:7px;width:7px;background:#547a53;border-radius:50%}.gstvt-travellers-preview-bar>div{display:flex;gap:4px;border:1px solid #d5dbd0;border-radius:7px;padding:3px}.gstvt-travellers-preview-bar button{background:transparent;border:0;border-radius:4px;padding:6px 14px;color:var(--foreground);font-size:12px}.gstvt-travellers-preview-bar button[aria-pressed=true]{background:var(--gstvt-surface, #fff);color:var(--foreground);box-shadow:0 1px 4px #0001}.gstvt-travellers-preview img{display:block;width:100%;height:auto}.gstvt-travellers-caption{font-size:11px;color:var(--foreground);margin:22px 0 0}
.gstvt-travellers-manifesto{max-width:1260px;padding:80px 30px;margin:auto}.gstvt-travellers h2{font-size:clamp(36px,4.4vw,64px);margin:20px 0 28px}.gstvt-travellers-manifesto>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:50px}.gstvt-travellers-manifesto article{border-top:1px solid #cad2c6;padding-top:22px}.gstvt-travellers-manifesto article>span{font-size:9px;letter-spacing:1.1px;color:var(--foreground)}.gstvt-travellers h3{font-size:23px;letter-spacing:-.7px;margin:18px 0}.gstvt-travellers-manifesto article p,.gstvt-travellers-feature p{color:var(--foreground);line-height:1.8;font-size:15px}
.gstvt-travellers-feature{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);align-items:center;gap:60px;max-width:1440px;padding:75px 6%;margin:auto}.gstvt-travellers-feature>div{max-width:460px}.gstvt-travellers-feature h2{font-size:clamp(34px,3.6vw,54px)}.gstvt-travellers-feature ul{list-style:none;margin:24px 0;padding:0}.gstvt-travellers-feature li{font-size:13px;margin:12px 0;padding-left:22px;position:relative}.gstvt-travellers-feature li:before{content:'✓';position:absolute;left:0;color:var(--foreground)}.gstvt-travellers-feature figure{margin:0;min-width:0}.gstvt-travellers-feature img{width:100%;height:auto;border-radius:12px;box-shadow:0 20px 60px #27302526;border:1px solid #d7dcd3}.gstvt-travellers-feature figcaption{font-size:11px;color:var(--foreground);margin:18px 0}.gstvt-travellers-feature-reverse{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr)}.gstvt-travellers-feature-reverse>div{grid-column:2;grid-row:1}.gstvt-travellers-feature-reverse figure{grid-column:1;grid-row:1}
.gstvt-travellers-privacy{background:var(--card);display:flex;align-items:start;justify-content:center;gap:50px;padding:80px 10%;margin:50px 0}.gstvt-travellers-privacy>span{font-size:70px;padding:22px;border:1px solid #bdcbb3;border-radius:28px}.gstvt-travellers-privacy>div{max-width:690px}.gstvt-travellers-privacy p:not(.gstvt-travellers-kicker){color:var(--foreground);line-height:1.8}.gstvt-travellers-faq{max-width:860px;margin:80px auto;padding:0 24px}.gstvt-travellers-faq h2{font-size:36px}.gstvt-travellers-faq details{border-bottom:1px solid #d4d9cf;padding:22px 0}.gstvt-travellers-faq summary{cursor:pointer;font-weight:550}.gstvt-travellers-faq details p{color:var(--foreground);font-size:14px;line-height:1.8;margin:18px 0 0}.gstvt-travellers-outro{text-align:center;background:var(--card);padding:75px 24px}.gstvt-travellers-outro>a:last-child{display:block;margin-top:22px;font-size:12px}
@media(max-width:800px){.gstvt-travellers-hero{padding:55px 18px 25px}.gstvt-travellers-manifesto{padding:50px 24px}.gstvt-travellers-manifesto>div{grid-template-columns:1fr;gap:24px;margin-top:30px}.gstvt-travellers-feature,.gstvt-travellers-feature-reverse{grid-template-columns:1fr;gap:28px;padding:40px 24px}.gstvt-travellers-feature-reverse>div,.gstvt-travellers-feature-reverse figure{grid-column:auto;grid-row:auto}.gstvt-travellers-feature>div{max-width:none}.gstvt-travellers-privacy{padding:50px 24px;gap:24px;flex-direction:column}.gstvt-travellers-privacy>span{font-size:40px;padding:16px}.gstvt-travellers-preview-bar{padding:10px}.gstvt-travellers-preview-bar>span{font-size:10px}.gstvt-travellers-preview-bar button{padding:6px 10px}.gstvt-travellers-faq{margin:50px auto}.gstvt-travellers-hero>p:not(.gstvt-travellers-kicker):not(.gstvt-travellers-caption){font-size:16px}}
.gstvt-travel-panel small,.gstvt-travel-timeline time,.gstvt-travel-thread-list h2 span{color:color-mix(in srgb,var(--sb-muted) 85%,var(--sb-ink))}
.gstvt-page-shell .gstvt-travellers a{color:var(--foreground)}.gstvt-page-shell .gstvt-travellers a.gstvt-travellers-button{color:#fff}
.gstvt-trip-summary{padding:20px;border:1px solid var(--sb-line);background:var(--sb-bg);border-radius:12px}.gstvt-trip-summary>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}.gstvt-trip-summary>div>span:last-child{margin-left:auto;color:var(--sb-muted);font-size:11px}.gstvt-trip-summary p{font-size:13px;margin:14px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.gstvt-scrapbook .gstvt-booking-lookup .hbs-eyebrow{color:var(--sb-accent)}
.gstvt-travel-timeline:focus-visible{outline:2px solid var(--sb-accent);outline-offset:3px}

/* Hotel details and booking flows retain their shared structural layouts. */
.hbs-gallery {
    min-height: 340px;
    overflow: hidden;
    border-radius: var(--hbs-radius);
}

.gstvt-hotel-photo-gallery {
    min-height: 420px;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 0.6fr));
    grid-template-rows: repeat(2, minmax(170px, 1fr));
    gap: 0.75rem;
}

.gstvt-hotel-photo {
    display: block;
    overflow: hidden;
    color: inherit;
    background: #e5ebe8;
    border-radius: var(--hbs-radius);
    text-decoration: none;
}

.gstvt-hotel-photo-main {
    grid-row: span 2;
}

.gstvt-hotel-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.2s ease;
}

.gstvt-hotel-photo:hover img,
.gstvt-hotel-photo:focus-visible img {
    transform: scale(1.02);
}

.hbs-room-card {
    display: grid;
    grid-template-columns: minmax(190px, 28%) 1fr;
    overflow: hidden;
    background: var(--gstvt-surface, white);
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
}

.hbs-room-content {
    padding: 1.25rem;
}

.hbs-rate-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 0;
    border-top: 1px solid var(--hbs-line);
}

.hbs-detail-panel,
.hbs-form-section,
.hbs-sticky-panel,
.hbs-ops-panel {
    padding: 1.35rem;
    background: var(--gstvt-surface, white);
    border: 1px solid var(--hbs-line);
    border-radius: var(--hbs-radius);
}

.hbs-detail-panel,
.hbs-form-section,
.hbs-ops-panel {
    box-shadow: var(--gstvt-shadow-soft);
}

.hbs-sticky-panel {
    position: sticky;
    top: 84px;
}

.gstvt-hotel-inquiry {
    display: grid;
    gap: 0.75rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--gstvt-line);
}

.gstvt-hotel-inquiry .btn {
    justify-content: center;
}

.gstvt-organization-logo {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--hbs-line);
    border-radius: 8px;
    background: var(--gstvt-surface, #fff);
    color: var(--gstvt-ink);
    font-weight: 800;
}

.gstvt-organization-logo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}

.gstvt-organization-logo-large {
    width: 88px;
    height: 88px;
    flex-basis: 88px;
    font-size: 1.4rem;
}

.hbs-choice-row {
    display: flex;
    gap: 0.75rem;
    padding: 1rem;
    border: 1px solid var(--hbs-line);
}

.hbs-choice-row + .hbs-choice-row {
    margin-top: 0.6rem;
}

.hbs-choice-row label,
.hbs-choice-row small {
    display: block;
}

.hbs-checkout-thumb {
    width: 76px;
    height: 64px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #e5ebe8;
    border-radius: 4px;
}

.hbs-checkout-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hbs-summary-list {
    margin: 0;
}

.hbs-summary-list > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.45rem 0;
}

.hbs-summary-list dt {
    font-weight: 400;
    color: var(--hbs-muted);
}

.hbs-summary-list dd {
    margin: 0;
    text-align: right;
}

.hbs-confirmation-heading {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.hbs-confirmation-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    color: white;
    background: var(--hbs-green-2);
    border-radius: 50%;
}

.hbs-narrow {
    max-width: 520px;
    margin-inline: auto;
}

.hbs-narrow-page {
    max-width: 720px;
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.hbs-narrow-wide,
.hbs-legal-copy {
    max-width: 860px;
    margin-inline: auto;
}

.hbs-legal-copy h1 {
    font-size: 2.3rem;
}

.hbs-legal-copy h2 {
    margin-top: 2rem;
    font-size: 1.25rem;
}

/* Public tokens. Kept separate from the Workspace and Scrapbook palettes. */
:root { --radius:.65rem; --background:oklch(1 0 0); --foreground:oklch(.141 .005 285.823); --card:var(--background); --card-foreground:var(--foreground); --popover:var(--card); --popover-foreground:var(--foreground); --primary:oklch(.488 .243 264.376); --primary-foreground:oklch(.97 .014 254.604); --secondary:oklch(.967 .001 286.375); --secondary-foreground:var(--foreground); --muted:var(--secondary); --muted-foreground:oklch(.46 .016 285.938); --accent:var(--secondary); --accent-foreground:var(--foreground); --destructive:oklch(.577 .245 27.325); --border:oklch(.92 .004 286.32); --input:var(--border); --ring:oklch(.708 0 0); --font-sans:Inter,system-ui,sans-serif; }
:root[data-public-theme=dark] { color-scheme:dark; --background:oklch(.141 .005 285.823); --foreground:oklch(.985 0 0); --card:oklch(.21 .006 285.885); --secondary:oklch(.274 .006 286.033); --muted-foreground:oklch(.705 .015 286.067); --border:oklch(1 0 0 / 10%); --input:oklch(1 0 0 / 15%); --ring:oklch(.556 0 0); }
:root,body,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell) { --gstvt-surface:var(--card); --gstvt-paper:var(--background); --gstvt-canvas:var(--background); --gstvt-ink:var(--foreground); --gstvt-muted:var(--muted-foreground); --gstvt-blue:var(--primary); --gstvt-blue-strong:var(--primary); --gstvt-violet:var(--primary); --gstvt-line:var(--border); --gstvt-forest:var(--primary); --gstvt-citron:var(--secondary); --gstvt-soft:var(--secondary); --gstvt-soft-blue:var(--secondary); --gstvt-soft-violet:var(--secondary); --hbs-ink:var(--foreground); --hbs-muted:var(--muted-foreground); --hbs-paper:var(--card); --hbs-canvas:var(--background); --hbs-line:var(--border); --hbs-blue:var(--primary); --hbs-green:var(--primary); --hbs-radius:var(--radius); }
* { box-sizing:border-box; } body { margin:0; background:var(--background); color:var(--foreground); font-family:var(--font-sans); line-height:1.6; } img { max-width:100%; } button,input,select,textarea { font:inherit; } button,a,summary { -webkit-tap-highlight-color:transparent; } button,summary { cursor:pointer; } a { color:inherit; text-underline-offset:4px; } p { margin:0 0 1rem; } :focus-visible { outline:3px solid var(--ring); outline-offset:4px; } [hidden] { display:none!important; }
:is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) :is(h1,h2,h3) { font-family:var(--font-sans); font-weight:650; line-height:1.15; letter-spacing:-.04em; } h1 { font-size:clamp(2rem,4vw,4rem); } h2 { font-size:clamp(1.5rem,3vw,2.7rem); } h3 { font-size:1.3rem; } h1,h2,h3 { margin:0 0 1rem; } h1 em,h2 em { font-family:'Guestivity Editorial',Georgia,serif; color:var(--primary); } [data-public-theme=dark] :is(h1,h2) em { color:#a8c7ff; }
.gstvt-site-header { padding:20px max(24px,4vw); gap:24px; background:var(--background); border-bottom:1px solid var(--border); position:relative; z-index:30; }.gstvt-site-brand { color:var(--foreground); font:700 22px var(--font-sans); display:inline-flex; align-items:center; gap:12px; text-decoration:none; }.gstvt-site-brand img { width:32px;height:32px; } [data-public-theme=dark] .gstvt-site-brand img { filter:invert(1); }.gstvt-site-nav a,.gstvt-site-nav a[aria-current=page] { color:var(--foreground); }.gstvt-site-nav a[aria-current=page] { text-decoration:underline; }.gstvt-site-actions { display:flex; align-items:center; gap:12px; }
.gstvt-public-icon { display:inline-grid; place-items:center; width:42px;height:42px; border:0; background:transparent; color:var(--foreground); border-radius:50%; text-decoration:none!important; }.gstvt-public-icon:hover { background:var(--secondary); }.gstvt-public-button { display:inline-flex; justify-content:center; align-items:center; gap:8px; border:1px solid var(--border); border-radius:var(--radius); padding:10px 18px; background:var(--primary); color:var(--primary-foreground); text-decoration:none!important; font-weight:600; }.gstvt-public-outline { background:var(--card); color:var(--foreground); }.gstvt-guest-menu { display:none; position:relative; }.gstvt-guest-menu summary { list-style:none; display:grid; place-items:center; width:42px;height:42px; border-radius:50%; }.gstvt-guest-menu summary::-webkit-details-marker { display:none; }.gstvt-guest-menu nav { position:absolute; left:auto; right:0; top:52px; width:min(280px,calc(100vw - 32px)); max-height:calc(100dvh - 104px - env(safe-area-inset-bottom)); overflow-y:auto; overscroll-behavior:contain; background:var(--popover); color:var(--popover-foreground); border:1px solid var(--border); box-shadow:0 12px 40px #0002; padding:16px; border-radius:16px; display:grid; gap:4px; }.gstvt-guest-menu nav a { padding:10px; text-decoration:none; }.gstvt-guest-skip { position:absolute; left:12px; top:-120px; padding:12px; background:var(--card); }.gstvt-guest-skip:focus { top:12px; z-index:100; }
.gstvt-public-main { min-height:60vh; }.gstvt-public-document > :not(.gstvt-guest-hero) { overflow-wrap:anywhere; }.gstvt-site-footer { background:var(--card); color:var(--foreground); border-color:var(--border); }.gstvt-site-footer :is(a,p,small),.gstvt-footer-bottom { color:var(--muted-foreground); }.gstvt-footer-columns,.gstvt-footer-bottom { border-color:var(--border); }.gstvt-bottom-nav { display:none; }
/* Small compatibility vocabulary for existing code/CMS markup, implemented locally. */
.container,.container-fluid { width:100%; margin-inline:auto; padding-inline:clamp(20px,4vw,64px); }.container { max-width:1280px; }.row { display:flex; flex-wrap:wrap; margin-inline:-12px; }.row>* { padding-inline:12px; width:100%; min-width:0; }.d-flex { display:flex; }.d-grid { display:grid; }.d-block { display:block; }.d-none { display:none; }.flex-column { flex-direction:column; }.flex-wrap { flex-wrap:wrap; }.justify-content-between { justify-content:space-between; }.justify-content-center { justify-content:center; }.align-items-center { align-items:center; }.align-items-start { align-items:start; }.align-items-end { align-items:end; }.text-center { text-align:center; }.text-end { text-align:end; }.text-start { text-align:start; }.text-secondary,.text-muted { color:var(--muted-foreground)!important; }.text-primary { color:var(--primary)!important; }.small,small { font-size:.875rem; }.fw-bold { font-weight:700; }.w-100 { width:100%; }.h-100 { height:100%; }.position-relative { position:relative; }.ms-auto { margin-inline-start:auto; }.mt-auto { margin-top:auto; }.mb-0 { margin-bottom:0; }.mb-1 { margin-bottom:.25rem; }.mb-2 { margin-bottom:.5rem; }.mb-3 { margin-bottom:1rem; }.mb-4 { margin-bottom:1.5rem; }.mb-5 { margin-bottom:3rem; }.mt-2 { margin-top:.5rem; }.mt-3 { margin-top:1rem; }.mt-4 { margin-top:1.5rem; }.mt-5 { margin-top:3rem; }.gap-2 { gap:.5rem; }.gap-3 { gap:1rem; }.gap-4 { gap:1.5rem; }.p-3 { padding:1rem; }.p-4 { padding:1.5rem; }.py-3 { padding-block:1rem; }.py-4 { padding-block:1.5rem; }.py-5 { padding-block:3rem; }.pt-3 { padding-top:1rem; }.g-4 { row-gap:1.5rem; }.g-5 { row-gap:3rem; }.h3 { font-size:1.75rem!important; }.h4 { font-size:1.4rem!important; }.h5 { font-size:1.15rem!important; }.lead { font-size:1.2rem; }.rounded { border-radius:var(--radius); }.rounded-full { border-radius:9999px; }.border { border-width:1px; }.bg-light,.bg-white { background:var(--card); }
:is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--border); border-radius:var(--radius); padding:11px 18px; text-decoration:none!important; font:600 .9rem var(--font-sans); background:var(--card); color:var(--foreground); }.btn:disabled { opacity:.5; cursor:not-allowed; }:is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) :is(.btn-primary,.btn-dark) { background:var(--primary); border-color:var(--primary); color:var(--primary-foreground); }
.form-label { display:block; margin-bottom:6px; font-size:.85rem; font-weight:600; }:is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) :is(.form-control,.form-select),.form-control,.form-select { width:100%; min-width:0; padding:10px 12px; min-height:44px; border:1px solid var(--input); border-radius:var(--radius); background:var(--card); color:var(--foreground); }.input-group { display:flex; align-items:center; gap:6px; }.input-group-text { display:flex; }.alert { padding:16px; background:var(--secondary); border:1px solid var(--border); border-radius:var(--radius); }.alert-danger,.validation-message { color:var(--destructive); }.badge { display:inline-flex; padding:3px 9px; border-radius:999px; background:var(--secondary); color:var(--foreground); }.table { width:100%; border-collapse:collapse; }.table :is(td,th) { padding:12px; border-bottom:1px solid var(--border); text-align:left; }.table-responsive { overflow:auto; }
.gstvt-faq { border-bottom:1px solid var(--border); padding:20px 0; }.gstvt-faq summary { font-weight:650; }.gstvt-faq p { margin:16px 0 0; color:var(--muted-foreground); }
.hbs-search-form { display:grid; grid-template-columns:minmax(200px,2fr) repeat(3,minmax(130px,1fr)) auto; align-items:end; gap:16px; border:1px solid var(--border); border-radius:24px; padding:20px; background:var(--card); box-shadow:0 8px 30px #00000006; }.hbs-search-submit { min-height:46px; }.gstvt-guest-field { position:relative; }.gstvt-guest-popover,.hbs-suggestions { position:absolute; top:100%; left:0; z-index:40; background:var(--popover); color:var(--popover-foreground); border:1px solid var(--border); border-radius:16px; padding:16px; min-width:290px; width:100%; box-shadow:0 16px 36px #0002; }.hbs-suggestions { max-height:320px; overflow:auto; }.hbs-suggestion { display:flex; text-align:left; gap:12px; padding:12px; width:100%; border:0; background:transparent; color:inherit; border-radius:8px; }.hbs-suggestion:hover { background:var(--secondary); }.hbs-suggestion small { display:block; }.gstvt-guest-popover>div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; }.gstvt-guest-popover button:not(.btn) { border:1px solid var(--border); border-radius:50%; background:var(--card); color:inherit; min-width:32px; min-height:32px; }
.gstvt-search-width { max-width:1800px; }.gstvt-search-layout.is-list { display:block; }.gstvt-search-layout.is-map { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr); gap:28px; }.gstvt-search-cards>.d-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }.is-map .gstvt-search-cards>.d-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.hbs-hotel-card { display:flex; flex-direction:column; border:0; background:transparent; min-width:0; overflow:hidden; }.hbs-hotel-image-link { position:relative; display:block; }.hbs-hotel-image { width:100%; aspect-ratio:1.25; object-fit:cover; border-radius:18px; background:var(--secondary); }.hbs-hotel-card-body { display:flex; flex-direction:column; padding:16px 0 24px; flex:1; }.hbs-hotel-card h2 { font:650 1.1rem var(--font-sans)!important; letter-spacing:-.02em; }.hbs-hotel-card h2 a { text-decoration:none; }.hbs-amenities { display:flex; flex-wrap:wrap; gap:6px; font-size:.75rem; color:var(--muted-foreground); }.hbs-amenities span { padding:3px 8px; background:var(--secondary); border-radius:99px; }.hbs-promotion-badge { position:absolute; top:12px;left:12px; background:var(--card); color:var(--foreground); border-radius:99px; padding:5px 10px; font-size:.75rem; z-index:1; }.gstvt-search-map { position:sticky; top:16px; align-self:start; border:1px solid var(--border); border-radius:20px; overflow:hidden; background:var(--card); }.gstvt-live-map { min-height:450px; height:65vh; z-index:1; }.hbs-loading-state,.hbs-empty-state { padding:64px 24px; text-align:center; }.gstvt-search-filters { display:flex; flex-wrap:wrap; align-items:end; gap:16px; margin:0 0 28px; padding:20px; border:1px solid var(--border); border-radius:16px; background:var(--card); }.gstvt-search-filters label { flex:1; min-width:150px; font-size:.85rem; }.gstvt-search-filters input,.gstvt-search-filters select { margin-top:6px; }.gstvt-filter-chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; }.gstvt-filter-chips button { border:1px solid var(--border); border-radius:99px; padding:8px 14px; background:var(--card); color:var(--foreground); }.gstvt-filter-chips button[aria-pressed=true] { background:var(--foreground); color:var(--background); }
[data-gstvt-reveal] { opacity:1!important; transform:none!important; }.gstvt-hero-photo,.gstvt-collection-photo,.gstvt-host-editorial figure { border-radius:24px; overflow:hidden; }.gstvt-hero-photo img { border-radius:24px; }.gstvt-guest-hero { background:var(--background); }.gstvt-direct-story,.gstvt-host-editorial,.gstvt-offers { background:var(--secondary); color:var(--foreground); }.gstvt-direct-story p,.gstvt-host-editorial p { color:var(--muted-foreground); }.gstvt-traveller-marketing { background:var(--background); color:var(--foreground); }.gstvt-traveller-marketing :is(article,figure) { border-color:var(--border); }.gstvt-public-document .container { max-width:1200px; }.gstvt-public-document :is(.prose,.gstvt-legal-content) { max-width:78ch; margin-inline:auto; }
#blazor-error-ui { display:none; position:fixed; bottom:0; padding:16px; background:var(--card); border:1px solid var(--border); z-index:2000; }

/* Search controls also render without the legacy shared/Bootstrap stylesheet. */
.gstvt-search-destination-input { position:relative; }
.gstvt-search-destination-icon { position:absolute; inset-inline-start:12px; top:50%; transform:translateY(-50%); display:flex; align-items:center; pointer-events:none; color:var(--foreground); }
.hbs-search-form .gstvt-search-destination-input > .form-control { padding-inline-start:44px; }
.gstvt-search-destination-icon .material-symbols-outlined,
.gstvt-search-guests-value > .material-symbols-outlined { font-size:20px; line-height:1; flex-shrink:0; }
.gstvt-guest-field > button { display:flex; align-items:center; justify-content:space-between; gap:12px; text-align:start; }
.gstvt-search-guests-value { display:flex; align-items:center; gap:12px; min-width:0; text-align:start; }
@media(min-width:768px) { .col-md-6 { width:50%; }.col-md-4 { width:33.333%; }.flex-md-row { flex-direction:row; }.align-items-md-end { align-items:end; } }
@media(min-width:1024px) { .col-lg-6 { width:50%; }.col-lg-4 { width:33.333%; }.col-lg-8 { width:66.667%; }.col-lg-5 { width:41.667%; }.col-lg-7 { width:58.333%; }.py-lg-5 { padding-block:3rem; } }
@media(max-width:1100px) { .gstvt-site-nav { display:none; }.gstvt-guest-menu { display:block; }.gstvt-site-actions { margin-left:auto; }.hbs-search-form { grid-template-columns:repeat(2,minmax(0,1fr)); }.hbs-search-destination { grid-column:1/-1; }.gstvt-search-cards>.d-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.gstvt-search-layout.is-map { grid-template-columns:1fr; }.gstvt-search-map { position:relative; }.gstvt-live-map { height:400px; min-height:300px; } }
@media(max-width:600px) { .gstvt-site-header { padding:16px 20px; gap:8px; flex-wrap:nowrap; }.gstvt-site-brand { font-size:18px; }.gstvt-site-actions>.gstvt-public-button { display:none; }.gstvt-site-actions { gap:0; }.gstvt-search-cards>.d-grid,.is-map .gstvt-search-cards>.d-grid { grid-template-columns:1fr; }.hbs-search-form { padding:16px; gap:12px; }.hbs-search-form>.gstvt-guest-field { grid-column:1/-1; }.hbs-search-submit { grid-column:1/-1; }.gstvt-guest-popover { min-width:0; }.gstvt-footer-columns { grid-template-columns:1fr; }.gstvt-footer-intro { align-items:start; flex-direction:column; }.gstvt-site-footer { padding-bottom:0; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }

.gstvt-site-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:nowrap; }.gstvt-site-nav { display:flex; gap:24px; align-items:center; }.gstvt-site-nav a { font-size:.875rem; text-decoration:none; }.gstvt-site-nav a:hover { text-decoration:underline; }.gstvt-site-brand { letter-spacing:-.035em; }.gstvt-site-footer .gstvt-site-brand { color:var(--foreground); }
.gstvt-travellers { background:var(--background); color:var(--foreground); }.gstvt-travellers-hero { background:radial-gradient(ellipse at 80% 50%,color-mix(in srgb,var(--primary) 8%,transparent),transparent 55%); }.gstvt-travellers :is(p,a,figcaption,li) { color:var(--muted-foreground); }.gstvt-travellers .gstvt-travellers-button { background:var(--primary); color:var(--primary-foreground); }.gstvt-travellers :is(.gstvt-travellers-preview-bar,.gstvt-travellers-manifesto,.gstvt-travellers-privacy,.gstvt-travellers-close) { background:var(--card); color:var(--foreground); }.gstvt-travellers-preview-bar button { color:var(--foreground); }.gstvt-travellers-preview-bar button[aria-pressed=true] { background:var(--secondary); }.gstvt-travellers-hero>p:not(.gstvt-travellers-kicker):not(.gstvt-travellers-caption) { color:var(--muted-foreground); }.gstvt-travellers em { color:var(--primary); } [data-public-theme=dark] .gstvt-travellers em { color:#a8c7ff; }
@media(max-width:1100px) { .gstvt-site-nav { display:none; } }

.gstvt-search-toolbar { display:flex; gap:16px; align-items:end; margin-bottom:24px; }.gstvt-search-name { max-width:420px; flex:1; font-size:.85rem; }.gstvt-public-filter-sheet { width:min(480px,100vw)!important; max-width:100vw!important; overflow-y:auto; background:var(--card); color:var(--foreground); }.gstvt-public-filter-sheet .gstvt-search-filters { display:grid; border:0; margin:0; padding:24px; }.gstvt-search-toolbar button { min-height:44px; }.hbs-hotel-card { position:relative; }.gstvt-save-hotel { position:absolute; right:12px; top:12px; z-index:2; }.gstvt-save-button { background:var(--card); color:var(--foreground); box-shadow:0 2px 10px #0002; }.gstvt-save-error { display:block; max-width:180px; padding:8px; background:var(--card); border-radius:8px; font-size:.75rem; }

.gstvt-home-hotel-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }.gstvt-home-hotel { position:relative; min-width:0; }.gstvt-home-hotel-photo { display:grid; place-items:center; aspect-ratio:1.25; background:var(--secondary); border-radius:20px; overflow:hidden; }.gstvt-home-hotel-photo img { width:100%; height:100%; object-fit:cover; }.gstvt-home-hotel>div:last-child { padding:16px 0; }.gstvt-home-hotel h3 { font-size:1.1rem!important; margin:6px 0; }.gstvt-home-hotel :is(a,p) { text-decoration:none; }.gstvt-home-hotel small { color:var(--muted-foreground); }.gstvt-home-hotel p { font-size:.9rem; margin:0 0 8px; }.gstvt-home-hotel>div>a { font-size:.85rem; text-decoration:underline; }
@media(max-width:1000px) { .gstvt-home-hotel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .gstvt-home-hotel-grid { grid-template-columns:1fr; } }

:is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) .hbs-legal-copy { max-width:78ch; padding-block:16px 48px; } :is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) .hbs-legal-copy h1 { font-size:clamp(2rem,4vw,3.3rem); } :is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) .hbs-legal-copy h2 { font-size:1.4rem; margin-top:2rem; letter-spacing:-.02em; }.gstvt-feature-carousel .carousel-indicators { position:static; display:flex; gap:8px; margin:0; }.gstvt-feature-carousel [aria-pressed=true] { background:var(--primary); color:var(--primary-foreground); }.hbs-search-results-header { z-index:20; }.gstvt-hero-search { border-radius:24px; }.hbs-room-image { width:100%;height:100%;object-fit:cover; }.hbs-image-placeholder { display:grid;place-items:center;min-height:180px; }.hbs-narrow-page { margin-inline:auto; }
@media(max-width:767px) { .hbs-room-card { grid-template-columns:1fr; }.hbs-room-image { max-height:240px; }.hbs-rate-row { flex-wrap:wrap; }.hbs-sticky-panel { position:static; }.gstvt-hotel-photo-gallery { height:300px; }.gstvt-feature-carousel .gstvt-feature-figure { margin:0; } }

.gstvt-public-filter-sheet h2 { font:650 1.4rem/1.3 var(--font-sans); letter-spacing:-.025em; text-align:left; }.gstvt-public-filter-sheet p { text-align:left; }.gstvt-public-filter-sheet [data-slot=sheet-footer] { margin-top:auto; }.gstvt-public-filter-sheet button[aria-label=Close] { border-radius:9999px; }

:is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-footer { background:var(--card); color:var(--foreground); border-top:1px solid var(--border); } :is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-footer a { color:var(--foreground); } :is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-invitation h2 { color:var(--foreground); font-size:clamp(2.5rem,5vw,4.5rem); }.gstvt-site-footer .gstvt-round-link { color:var(--foreground); border-color:var(--border); }
[data-public-theme=dark] :is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-footer-intro img { filter:invert(1); }
[data-public-theme=dark] :is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) :is(.gstvt-text-button,.gstvt-section-heading>a,.gstvt-understated-link,.gstvt-feature-link) { color:#a8c7ff; }
:is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) .hbs-hero-actions .btn-light { color:var(--foreground); background:var(--card); }

:is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) .hbs-marketing-hero-product h1 { font-family:var(--font-sans); font-weight:650; }

/* Search stay controls and the map/results split. */
.hbs-search-form { grid-template-columns:minmax(180px,1.5fr) minmax(230px,1.2fr) minmax(265px,1.3fr) auto; }
.hbs-search-form > div { min-width:0; }
.gstvt-search-dates .gstvt-search-date-picker { width:100%; min-height:46px; justify-content:flex-start; border:1px solid var(--border); border-radius:12px; background:var(--card); color:var(--foreground); font-size:.9rem; }
.gstvt-search-dates .gstvt-search-date-picker span { overflow:hidden; text-overflow:ellipsis; }
.gstvt-guest-field > button { gap:8px; font-size:.9rem; }
.gstvt-guest-field > button > span:first-child { white-space:normal; }
.gstvt-search-page { min-width:0; }
.gstvt-search-panel { min-width:0; }
.gstvt-search-map-caption { position:absolute; bottom:26px; left:16px; right:16px; z-index:2; width:fit-content; margin:0; padding:8px 12px; background:var(--card); color:var(--muted-foreground); border:1px solid var(--border); border-radius:12px; font-size:.75rem; pointer-events:none; }
@media(min-width:1024px) {
    :is(.gstvt-page-shell,.gstvt-shell,body.gstvt-orchard-public):has(.gstvt-search-page.is-map) .gstvt-site-header { height:88px; min-height:88px; box-sizing:border-box; }
    .gstvt-search-page.is-map { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); height:calc(100dvh - 88px); min-height:500px; }
    .gstvt-search-page.is-map .gstvt-search-panel { overflow-y:auto; overscroll-behavior-y:contain; }
    .gstvt-search-page.is-map .gstvt-search-width { max-width:none; padding:20px 24px; }
    .gstvt-search-page.is-map .hbs-search-results-header { position:relative; top:auto; border-bottom:1px solid var(--border); background:var(--card); }
    .gstvt-search-page.is-map .hbs-search-form { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; padding:0; border:0; border-radius:0; box-shadow:none; }
    .gstvt-search-page.is-map .hbs-search-submit { grid-column:auto; width:100%; }
    .gstvt-search-page.is-map .gstvt-search-cards > .d-grid { grid-template-columns:1fr; gap:16px; }
    .gstvt-search-page.is-map .hbs-hotel-card { display:grid; grid-template-columns:minmax(150px,36%) minmax(0,1fr); border:1px solid var(--border); border-radius:18px; background:var(--card); }
    .gstvt-search-page.is-map .hbs-hotel-image { height:100%; min-height:210px; border-radius:0; }
    .gstvt-search-page.is-map .hbs-hotel-card-body { padding:18px; }
    .gstvt-search-page.is-map .gstvt-save-hotel { right:auto; left:12px; }
    .gstvt-search-page.is-map .hbs-promotion-badge { top:auto; bottom:12px; max-width:calc(100% - 24px); }
    .gstvt-search-page.is-map > .gstvt-search-map { position:relative; top:0; height:100%; align-self:stretch; border:0; border-left:1px solid var(--border); border-radius:0; }
    .gstvt-search-page.is-map > .gstvt-search-map .gstvt-live-map { height:100%; min-height:0; border:0; border-radius:0; }
    :is(.gstvt-page-shell,.gstvt-shell,body.gstvt-orchard-public):has(.gstvt-search-page.is-map) .gstvt-site-footer { display:none; }
}
@media(max-width:1100px) {
    .hbs-search-form { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
}
@media(max-width:1023px) {
    .gstvt-search-page.is-map .gstvt-search-cards { display:none; }
    .gstvt-search-page.is-map > .gstvt-search-map { margin:0 20px 24px; top:0; position:relative; }
    .gstvt-search-page.is-map .gstvt-search-panel > .gstvt-search-width { padding-block:20px; }
}
@media(max-width:639px) {
    .hbs-search-form { grid-template-columns:minmax(0,1fr); }
    .hbs-search-form > * { grid-column:1 / -1; }
    .gstvt-search-page.is-map > .gstvt-search-map { margin-inline:0; border-radius:0; }
}

.gstvt-search-page.is-list .gstvt-search-width { max-width:none; }
.gstvt-search-page.is-list .gstvt-search-layout { max-width:none; }
.gstvt-search-page.is-list .gstvt-search-cards > .d-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:1199px) { .gstvt-search-page.is-list .gstvt-search-cards > .d-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:899px) { .gstvt-search-page.is-list .gstvt-search-cards > .d-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:539px) { .gstvt-search-page.is-list .gstvt-search-cards > .d-grid { grid-template-columns:1fr; } }

.gstvt-public-button-small { min-height:36px; padding:6px 12px; font-size:.875rem; line-height:1.25rem; }

/* Hotel date discovery, shared by the web and hybrid hosts. */
.gstvt-stay-explorer { padding:24px; margin:24px 0; border:1px solid var(--gstvt-line); border-radius:20px; background:var(--gstvt-surface); }
.gstvt-stay-heading, .gstvt-stay-window, .gstvt-stay-controls, .gstvt-stay-axis { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
:is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell) .gstvt-stay-explorer .gstvt-stay-heading h2 { font-size:1.4rem; margin:0 0 12px; }
.gstvt-stay-window { font-size:.85rem; }
.gstvt-price-bars { height:140px; display:flex; gap:4px; align-items:end; margin:20px 10px 0; }
.gstvt-price-bar { flex:1; height:100%; min-width:0; display:flex; align-items:end; padding:0; background:transparent; border:0; cursor:pointer; }
.gstvt-price-bar span { width:100%; background:var(--primary); border-radius:6px 6px 2px 2px; opacity:.65; transition:height .2s,opacity .2s; }
.gstvt-price-bar:hover span, .gstvt-price-bar.is-selected span { opacity:1; }
.gstvt-price-bar.is-unavailable span { background:var(--muted-foreground); opacity:.3; }
.gstvt-price-bar:focus-visible { outline:2px solid var(--ring); outline-offset:3px; }
.gstvt-date-slider { padding:12px 10px; }
.gstvt-stay-axis { font-size:.75rem; color:var(--muted-foreground); margin-top:12px; }
.gstvt-stay-controls { margin:16px 0; }
.gstvt-availability-calendar summary { cursor:pointer; padding:12px 0; }
.gstvt-availability-days { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.gstvt-availability-days button { display:grid; gap:6px; padding:12px 6px; border:1px solid var(--gstvt-line); border-radius:10px; background:color-mix(in srgb,var(--primary) 9%,var(--gstvt-surface)); color:var(--foreground); font-size:.75rem; cursor:pointer; }
.gstvt-availability-days button.is-selected { border-color:var(--primary); }
.gstvt-availability-days button.is-unavailable { background:var(--muted); color:var(--muted-foreground); cursor:default; }
.gstvt-payment-term { display:inline-flex; border-radius:999px; padding:4px 10px; margin-top:6px; font-size:.8rem; background:var(--muted); color:var(--foreground); }
.gstvt-hotel-reviews { margin-top:40px; scroll-margin-top:100px; }
.gstvt-hotel-review { border-bottom:1px solid var(--gstvt-line); padding:20px 0; }
.gstvt-review-stars { display:block; color:var(--primary); letter-spacing:3px; margin:8px 0; }
.gstvt-review-summary { display:block; margin:8px 0; font-weight:600; }
.gstvt-hotel-review blockquote { margin:12px 0 0; padding:16px; background:var(--muted); border-radius:12px; }
@media(max-width:600px) { .gstvt-stay-explorer { padding:16px; } .gstvt-availability-days { grid-template-columns:repeat(2,minmax(0,1fr)); } .gstvt-stay-controls > div { width:100%; } }
@media(prefers-reduced-motion:reduce) { .gstvt-price-bar span { transition:none; } }

/* Keep the public theme glyph balanced with the neighbouring account icon. */
.gstvt-site-header .gstvt-public-icon[data-public-theme-toggle] .material-symbols-outlined {
    font-size: 20px;
    line-height: 1;
}
@media (prefers-reduced-motion: no-preference) {
    html { scroll-behavior: smooth; }
}

/* Public pricing: Blueprint components with Guestivity's shared theme. */
.gstvt-pricing-page { max-width:1180px; margin:auto; padding:72px 24px; color:var(--foreground); }
.gstvt-pricing-hero { text-align:center; max-width:850px; margin:0 auto 48px; }
.gstvt-pricing-kicker { font-size:.75rem; font-weight:700; letter-spacing:.16em; color:var(--muted-foreground); }
:is(.gstvt-page-shell,body.gstvt-orchard-public) .gstvt-pricing-hero h1 { font-size:clamp(2.3rem,4.4vw,4rem); line-height:1.12; letter-spacing:-.045em; margin:20px 0; }
.gstvt-pricing-hero em { color:var(--primary); font-style:normal; }
.gstvt-pricing-hero p { font-size:1.1rem; line-height:1.7; max-width:660px; margin:24px auto; color:var(--muted-foreground); }
.gstvt-pricing-promises { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:28px 0 14px; }
.gstvt-pricing-promises span { padding:8px 14px; border:1px solid var(--border); border-radius:999px; background:var(--card); font-size:.85rem; font-weight:600; }
.gstvt-pricing-hero small,.gstvt-pricing-fine { color:var(--muted-foreground); font-size:.8rem; line-height:1.7; }
.gstvt-pricing-plans { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:980px; margin:auto; }
.gstvt-pricing-page .gstvt-pricing-card { display:flex; flex-direction:column; background:var(--card); border:1px solid var(--border); border-radius:24px; padding:12px; box-shadow:0 12px 35px #00000006; }
.gstvt-pricing-page .gstvt-pricing-card.is-featured { border:2px solid var(--primary); background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 6%,var(--card)),var(--card) 65%); }
.gstvt-pricing-card .gstvt-pricing-card-header { gap:16px; }
.gstvt-pricing-card .gstvt-pricing-card-content { flex:1; }
.gstvt-pricing-card .gstvt-pricing-card-header h3 { font-size:1.3rem; }
.gstvt-pricing-price { font-size:3rem; font-weight:700; letter-spacing:-.05em; line-height:1.2; margin:12px 0; }
.gstvt-pricing-price span { display:block; font-size:.85rem; font-weight:400; letter-spacing:0; color:var(--muted-foreground); margin-top:10px; }
.gstvt-pricing-card ul { list-style:none; padding:0; margin:20px 0; display:grid; gap:14px; }
.gstvt-pricing-card li { display:flex; align-items:start; gap:10px; font-size:.95rem; }
.gstvt-pricing-card li svg { width:18px; height:18px; flex-shrink:0; color:var(--primary); margin-top:3px; }
.gstvt-pricing-cta { width:100%; }
.gstvt-pricing-section-heading { text-align:center; max-width:680px; margin:0 auto 32px; }
:is(.gstvt-page-shell,body.gstvt-orchard-public) .gstvt-pricing-page h2 { font-size:clamp(1.8rem,3vw,2.7rem); letter-spacing:-.035em; line-height:1.2; margin:12px 0; }
.gstvt-pricing-section-heading p { color:var(--muted-foreground); line-height:1.7; }
.gstvt-pricing-included,.gstvt-pricing-comparison,.gstvt-pricing-faq { margin-top:88px; }
.gstvt-pricing-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.gstvt-pricing-feature-grid article { padding:24px; border:1px solid var(--border); border-radius:18px; background:var(--card); }
.gstvt-pricing-feature-grid article > svg { width:24px; height:24px; color:var(--primary); }
.gstvt-pricing-feature-grid h3 { font-size:1.1rem; margin:18px 0 10px; }
.gstvt-pricing-feature-grid p { font-size:.9rem; color:var(--muted-foreground); line-height:1.7; margin:0; }
.gstvt-pricing-table-scroll { overflow-x:auto; border:1px solid var(--border); border-radius:18px; }
.gstvt-pricing-page .gstvt-pricing-table { width:100%; min-width:800px; border-collapse:collapse; text-align:left; font-size:.85rem; }
.gstvt-pricing-table th,.gstvt-pricing-table td { padding:20px; white-space:normal; width:25%; border-bottom:1px solid var(--border); vertical-align:top; line-height:1.6; }
.gstvt-pricing-table th { background:var(--card); font-weight:700; }
.gstvt-pricing-table tbody tr:nth-child(even) { background:var(--muted); }
.gstvt-pricing-table .gstvt-pricing-our-column { background:color-mix(in srgb,var(--primary) 7%,var(--card)); font-weight:600; }
.gstvt-pricing-sources { display:flex; gap:16px; flex-wrap:wrap; font-size:.8rem; }
.gstvt-pricing-marketplace-heading { margin-top:48px; }
.gstvt-enrollment { max-width:560px; margin:32px auto; padding:clamp(20px,4vw,40px); background:var(--card); color:var(--foreground); border:1px solid var(--border); border-radius:20px; }
.gstvt-enrollment h1 { font-size:clamp(26px,4vw,36px); line-height:1.2; margin:16px 0; }
.gstvt-enrollment h2 { font-size:24px; margin:28px 0 12px; }
.gstvt-enrollment p { line-height:1.65; color:var(--muted-foreground); margin:16px 0; }
.gstvt-enrollment a { color:var(--primary); }
.gstvt-enrollment-form input[type=email] { display:block; box-sizing:border-box; width:100%; padding:12px; margin:8px 0 16px; color:var(--foreground); background:var(--background); border:1px solid var(--border); border-radius:var(--radius); }
.gstvt-enrollment-form button { width:100%; padding:14px 20px; border:0; border-radius:var(--radius); background:var(--primary); color:var(--primary-foreground); cursor:pointer; font-weight:600; }
.gstvt-enrollment-form :is(input,button):focus-visible { outline:2px solid var(--ring); outline-offset:3px; }
.gstvt-enrollment .validation-summary-errors { color:var(--destructive); }
.gstvt-pricing-comparison > .gstvt-pricing-fine { margin-top:20px; }
.gstvt-pricing-faq { max-width:800px; margin-inline:auto; }
.gstvt-pricing-faq details { border-bottom:1px solid var(--border); padding:20px 0; }
.gstvt-pricing-faq summary { cursor:pointer; font-weight:600; }
.gstvt-pricing-faq details p { margin:16px 0 0; color:var(--muted-foreground); line-height:1.8; }
.gstvt-pricing-final { text-align:center; margin-top:80px; padding:48px 24px; border:1px solid var(--border); border-radius:24px; background:var(--card); }
.gstvt-pricing-final p { color:var(--muted-foreground); margin:20px 0; }
.gstvt-pricing-final > a { display:block; margin-top:20px; font-size:.9rem; }
@media(max-width:800px) { .gstvt-pricing-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .gstvt-pricing-page { padding:40px 20px; } .gstvt-pricing-plans,.gstvt-pricing-feature-grid { grid-template-columns:1fr; } .gstvt-pricing-page .gstvt-pricing-card { padding:4px; } .gstvt-pricing-promises { gap:6px; } .gstvt-pricing-promises span { font-size:.75rem; } }

.gstvt-pricing-card .gstvt-pricing-badge { width:fit-content; }

/* Multi-stay itineraries share the public Blueprint theme on every host. */
.gstvt-trip-booking { max-width: 1120px; margin: 0 auto; padding: 40px 24px 72px; color: var(--foreground); }
:is(.gstvt-shell,.gstvt-page-shell) .gstvt-trip-booking h1 { font-size: clamp(1.8rem, 4vw, 2.6rem); margin: 0 0 12px; }
:is(.gstvt-shell,.gstvt-page-shell) .gstvt-trip-booking h2 { font-size: 1.3rem; margin: 0 0 12px; }
.gstvt-trip-booking h3 { font-size: 1.05rem; margin: 0 0 8px; }
.gstvt-trip-booking p { margin: 8px 0 16px; }
.gstvt-trip-booking a { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }
.gstvt-trip-heading { display: flex; justify-content: space-between; align-items: start; gap: 20px; margin-bottom: 24px; }
.gstvt-trip-kicker { color: var(--muted-foreground); font-size: .75rem; letter-spacing: .1em; }
.gstvt-trip-card { padding: 24px; border: 1px solid var(--border); border-radius: 12px; background: var(--card); color: var(--card-foreground); min-width: 0; overflow-wrap: anywhere; }
.gstvt-trip-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: 16px; margin: 24px 0; }
.gstvt-trip-stops { list-style: none; display: grid; gap: 20px; margin: 24px 0; padding: 0; }
.gstvt-trip-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 12px 0 20px; }
.gstvt-trip-fieldset { border: 0; padding: 0; margin: 0 0 16px; min-width: 0; }
.gstvt-trip-booking label { display: block; font-size: .9rem; font-weight: 600; margin: 0 0 8px; }
.gstvt-trip-fields { display: grid; grid-template-columns: 2fr 2fr repeat(3,minmax(70px,1fr)); gap: 14px; align-items: end; }
.gstvt-trip-fields > div { min-width: 0; }
.gstvt-trip-guest { grid-template-columns: repeat(2,minmax(0,1fr)); margin: 24px 0; }
.gstvt-trip-results { margin: 20px 0; display: grid; gap: 12px; max-height: 420px; overflow-y: auto; }
.gstvt-trip-results article { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px; border: 1px solid var(--border); border-radius: 8px; }
.gstvt-trip-selection { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border); }
.gstvt-trip-selection a { display: inline-block; margin-top: 12px; }
.gstvt-trip-review { margin-top: 28px; }
.gstvt-trip-quote-stay { border-bottom: 1px solid var(--border); padding: 20px 0; margin-bottom: 20px; }
.gstvt-trip-quote-stay ul { list-style: disc; padding-left: 24px; margin: 12px 0; }
.gstvt-trip-money { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 20px 0; }
.gstvt-trip-money dt { color: var(--muted-foreground); font-size: .85rem; }
.gstvt-trip-money dd { margin: 4px 0; font-weight: 600; }
.gstvt-trip-muted { color: var(--muted-foreground); font-size: .85rem; }
.gstvt-trip-alert, .gstvt-trip-notice { border: 1px solid var(--border); border-left: 4px solid var(--primary); background: var(--muted); color: var(--foreground); border-radius: 6px; padding: 14px 18px; }
.gstvt-trip-alert { border-left-color: var(--destructive); }
.gstvt-trip-booking .gstvt-trip-terms { display: block; font-weight: 400; line-height: 1.8; }
.gstvt-trip-terms input { margin-right: 10px; accent-color: var(--primary); }
.gstvt-trip-link { display: inline-block; margin-right: 20px; }
.gstvt-trip-how { margin-top: 64px; padding-top: 40px; border-top: 1px solid var(--border); }
.gstvt-trip-how-header { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 32px; }
:is(.gstvt-shell,.gstvt-page-shell) .gstvt-trip-how h2 { font-size: clamp(1.8rem,3vw,2.4rem); margin-bottom: 0; }
.gstvt-trip-how-header > p { max-width: 34ch; margin: 0; color: var(--muted-foreground); }
.gstvt-trip-how-body { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); align-items: center; gap: 40px; }
.gstvt-trip-how-art { margin: 0; overflow: hidden; border-radius: 16px; background: #fcfaf3; }
.gstvt-trip-how-art img { display: block; width: 100%; height: auto; }
.gstvt-trip-how-steps { display: grid; gap: 28px; margin: 0; padding: 0; list-style: none; }
.gstvt-trip-how-steps li { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 16px; }
.gstvt-trip-how-number { display: grid; place-items: center; align-self: start; width: 36px; height: 36px; border: 1px solid var(--border); border-radius: 50%; color: var(--foreground); font-size: .8rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.gstvt-trip-how-steps h3 { margin: 4px 0 8px; font-size: 1.1rem; }
.gstvt-trip-how-steps p { margin: 0; color: var(--muted-foreground); font-size: .95rem; line-height: 1.65; }
.gstvt-trip-how .gstvt-trip-how-note { margin: 32px 0 0; padding: 18px 20px; border-radius: 10px; background: var(--secondary); color: var(--foreground); font-size: .9rem; }
.gstvt-trip-how-note strong { margin-right: 8px; }
@media(max-width: 820px) {
    .gstvt-trip-how-header { align-items: start; flex-direction: column; gap: 16px; }
    .gstvt-trip-how-header > p { max-width: 48ch; }
    .gstvt-trip-how-body { grid-template-columns: 1fr; gap: 28px; }
    .gstvt-trip-how-art { max-width: 600px; }
}
@media(max-width: 1000px) {
    .gstvt-trip-fields { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .gstvt-trip-fields > div:first-child, .gstvt-trip-fields > div:nth-child(2) { grid-column: span 3; }
    .gstvt-trip-guest { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .gstvt-trip-guest > div:first-child, .gstvt-trip-guest > div:nth-child(2) { grid-column: auto; }
}
@media(max-width: 600px) {
    .gstvt-trip-booking { padding: 24px 16px calc(40px + env(safe-area-inset-bottom)); }
    .gstvt-trip-card { padding: 18px; }
    .gstvt-trip-heading, .gstvt-trip-results article { flex-direction: column; gap: 12px; }
    .gstvt-trip-money { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .gstvt-trip-actions button { white-space: normal; height: auto; min-height: 40px; }
    .gstvt-trip-guest { grid-template-columns: 1fr; }
}

/* Hotel platform: shared Blazor page, using Blueprint cards, badges and buttons. */
.gstvt-hotel-platform { color:var(--foreground); }
.gstvt-hotel-platform h1:focus { outline:none; }
.gstvt-hotel-platform a.gstvt-platform-primary { color:var(--primary-foreground); }
.gstvt-platform-container { width:100%; max-width:1320px; margin-inline:auto; padding-inline:clamp(20px,4vw,64px); }
.gstvt-platform-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); background:var(--muted); }
.gstvt-platform-hero-copy { padding:clamp(40px,5vw,80px) clamp(24px,4vw,64px); min-width:0; max-width:820px; justify-self:end; }
.gstvt-hotel-platform .gstvt-platform-hero h1 { font-size:clamp(2.75rem,4.8vw,5rem); line-height:1.08; margin-bottom:24px; }
.gstvt-platform-hero-copy > p:not(.gstvt-platform-kicker) { max-width:600px; color:var(--muted-foreground); }
.gstvt-platform-kicker { font-size:.7rem; font-weight:650; letter-spacing:.13em; text-transform:uppercase; margin-bottom:20px; }
.gstvt-platform-hero-image { display:block; width:100%; height:100%; min-height:0; object-fit:cover; object-position:75% center; }
.gstvt-platform-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:28px 0 36px; }
.gstvt-hotel-platform .gstvt-platform-actions a { min-height:44px; height:auto; white-space:normal; text-align:center; text-decoration:none; }
.gstvt-platform-highlights { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:0; padding-top:24px; border-top:1px solid var(--border); }
.gstvt-platform-highlights dt { font-size:1.25rem; font-weight:650; }
.gstvt-platform-highlights dd { margin:6px 0 0; font-size:.75rem; line-height:1.6; color:var(--muted-foreground); }
.gstvt-platform-section { padding-block:clamp(48px,6vw,88px); scroll-margin-top:24px; }
.gstvt-platform-section-muted { background:var(--muted); }
.gstvt-platform-overview,.gstvt-platform-distribution { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr); gap:clamp(28px,4vw,64px); align-items:center; }
.gstvt-platform-distribution { align-items:start; }
.gstvt-hotel-platform .gstvt-platform-section h2 { font-size:clamp(1.9rem,3vw,3rem); line-height:1.15; margin-bottom:24px; }
.gstvt-platform-description,.gstvt-platform-heading > p:last-child { color:var(--muted-foreground); }
.gstvt-platform-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.gstvt-platform-screenshot { display:block; width:100%; height:auto; border:1px solid var(--border); border-radius:var(--radius); box-shadow:0 12px 36px #0000000a; }
.gstvt-platform-heading { max-width:800px; margin-bottom:36px; }
.gstvt-platform-workflows { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.gstvt-platform-channels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.gstvt-platform-channels > :last-child { grid-column:1 / -1; }
.gstvt-platform-card { min-width:0; box-shadow:none; }
.gstvt-platform-card-content { padding:24px; }
.gstvt-platform-card-content > svg,.gstvt-platform-channel-header > svg { width:28px; height:28px; color:var(--foreground); margin-bottom:20px; }
.gstvt-hotel-platform .gstvt-platform-card h3 { font-size:1.15rem; line-height:1.3; letter-spacing:-.02em; margin:0 0 12px; }
.gstvt-platform-card p { font-size:.875rem; line-height:1.7; color:var(--muted-foreground); margin:0; }
.gstvt-platform-channel-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
.gstvt-platform-channel-header > svg { flex-shrink:0; margin:0; }
.gstvt-platform-plans { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.gstvt-platform-plan { display:flex; flex-direction:column; min-width:0; box-shadow:none; }
.gstvt-platform-plan > :last-child { margin-top:auto; }
.gstvt-platform-plan-label { align-self:start; width:fit-content; margin-bottom:20px; }
.gstvt-hotel-platform .gstvt-platform-plan h3 { font-size:clamp(2.5rem,4vw,3.5rem); line-height:1.1; margin:0 0 20px; }
.gstvt-platform-plan h3 span { display:block; font:400 .875rem/1.6 var(--font-sans); color:var(--muted-foreground); letter-spacing:0; margin-top:8px; }
.gstvt-platform-plan p { color:var(--muted-foreground); line-height:1.7; font-size:.95rem; margin:0; }
.gstvt-platform-plan strong { color:var(--foreground); }
.gstvt-platform-plan-list { list-style:disc; padding-left:20px; margin:0; font-size:.9rem; }
.gstvt-platform-plan-list li { padding-left:4px; margin-bottom:12px; }
.gstvt-platform-pricing-note { margin:24px 0 0; font-size:.85rem; color:var(--muted-foreground); }
.gstvt-platform-pricing-note a { text-decoration:underline; }
.gstvt-platform-cta { padding-block:clamp(48px,6vw,80px); text-align:center; background:var(--muted); }
.gstvt-platform-cta p { max-width:680px; margin:20px auto 28px; color:var(--muted-foreground); }
.gstvt-hotel-platform .gstvt-platform-cta a { min-height:44px; height:auto; white-space:normal; }
.gstvt-platform-indicators { display:flex; gap:4px; }
.gstvt-platform-indicators .gstvt-platform-slide-control { width:32px; height:44px; padding:0; border:0; background:transparent; box-shadow:none; }
.gstvt-platform-indicators .gstvt-platform-slide-control::after { content:''; width:8px; height:8px; border-radius:50%; background:var(--muted-foreground); }
.gstvt-platform-indicators .gstvt-platform-slide-control[aria-pressed=true]::after { background:var(--foreground); transform:scale(1.4); }
.gstvt-hotel-platform .gstvt-feature-link { color:var(--foreground); }
@media (max-width:1100px) {
    .gstvt-platform-workflows { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .gstvt-platform-distribution { grid-template-columns:minmax(0,1fr); }
    .gstvt-platform-distribution > :first-child { max-width:720px; }
}
@media (max-width:900px) {
    .gstvt-platform-hero,.gstvt-platform-overview { grid-template-columns:minmax(0,1fr); }
    .gstvt-platform-hero-copy { max-width:none; width:100%; }
    .gstvt-platform-hero-image { height:clamp(260px,50vw,450px); object-position:center; }
}
@media (max-width:767px) {
    .gstvt-hotel-platform .gstvt-feature-row,.gstvt-hotel-platform .gstvt-feature-relationship { grid-template-columns:minmax(0,1fr); gap:28px; }
    .gstvt-hotel-platform .gstvt-feature-row-reverse .gstvt-feature-copy { order:0; }
    .gstvt-hotel-platform .gstvt-feature-relationship { padding:24px; }
}
@media (max-width:600px) {
    .gstvt-platform-workflows,.gstvt-platform-channels,.gstvt-platform-plans { grid-template-columns:minmax(0,1fr); }
    .gstvt-platform-highlights { grid-template-columns:minmax(0,1fr); gap:14px; }
    .gstvt-platform-highlights > div { display:grid; grid-template-columns:105px minmax(0,1fr); gap:12px; align-items:baseline; }
    .gstvt-platform-highlights dt { font-size:1.1rem; }
    .gstvt-platform-highlights dd { margin:0; }
}
.gstvt-hotel-platform .gstvt-feature-list { list-style:disc; }
/* Override the older editorial rules across the whole product page. */
.gstvt-page-shell .gstvt-hotel-platform .gstvt-feature-heading h2 { font-family:var(--font-sans); font-size:clamp(2rem,3.4vw,3.5rem); font-weight:650; line-height:1.15; }
.gstvt-page-shell .gstvt-hotel-platform :is(.gstvt-feature-copy,.gstvt-feature-relationship) h3 { font-family:var(--font-sans); font-size:clamp(1.7rem,2.5vw,2.5rem); font-weight:650; line-height:1.2; }
.gstvt-page-shell .gstvt-hotel-platform .gstvt-feature-list li::marker { color:var(--foreground); }
.gstvt-page-shell .gstvt-hotel-platform :is(.gstvt-feature-links a,.gstvt-feature-tags span,.gstvt-feature-figure a,.gstvt-feature-relationship) { border-radius:var(--radius); }
.gstvt-page-shell .gstvt-hotel-platform .gstvt-platform-cta h2 { max-width:900px; margin-inline:auto; font-size:clamp(1.9rem,3vw,3rem); line-height:1.2; text-wrap:balance; }

/* Embedded booking widgets: illustrated hotel website workflow. */
.gstvt-widget-demo{padding-block:clamp(56px,7vw,100px);background:var(--background);scroll-margin-top:24px}
.gstvt-widget-demo-heading{max-width:840px;margin-bottom:36px}
.gstvt-hotel-platform .gstvt-widget-demo-heading h2{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.15;text-wrap:balance;margin:0 0 18px}
.gstvt-widget-demo-heading>p:last-child{font-size:1.05rem;line-height:1.7;color:var(--muted-foreground);margin:0}
.gstvt-widget-demo-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;margin:0 0 40px;list-style:none}
.gstvt-widget-demo-steps li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;padding:18px 18px 18px 0;border-top:1px solid var(--border);min-width:0}
.gstvt-widget-demo-steps li>span{font-size:.8rem;font-weight:700;color:var(--muted-foreground);padding-top:3px}
.gstvt-widget-demo-steps h3{font-size:1rem;font-weight:650;margin:0 0 8px}
.gstvt-widget-demo-steps p{font-size:.9rem;line-height:1.6;color:var(--muted-foreground);margin:0}
.gstvt-widget-demo-carousel{max-width:1100px;margin-inline:auto}
.gstvt-widget-demo-carousel figure{margin:0}
.gstvt-widget-demo-carousel figure[hidden]{display:none!important}
.gstvt-widget-demo-carousel figure>a{display:block;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--muted)}
.gstvt-widget-demo-carousel picture{display:block}
.gstvt-widget-demo-carousel img{display:block;width:100%;height:auto;max-height:780px;object-fit:contain;object-position:center;background:var(--muted)}
.gstvt-widget-demo-carousel figcaption{margin-top:16px;color:var(--muted-foreground);font-size:.92rem;line-height:1.6}
.gstvt-widget-demo-carousel figcaption strong{color:var(--foreground)}
.gstvt-widget-demo-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:18px}
.gstvt-widget-demo-controls button{min-width:44px;min-height:44px;font-size:1.2rem}
.gstvt-widget-demo-controls span{font-size:.85rem;font-variant-numeric:tabular-nums;color:var(--muted-foreground)}
.gstvt-widget-demo-note{max-width:950px;margin:28px auto 0;color:var(--muted-foreground);font-size:.85rem;line-height:1.65}
.gstvt-widget-demo-link{text-align:center;margin:22px 0 0}
.gstvt-widget-demo-link a{display:inline-block;padding:12px 0;color:var(--foreground);font-weight:650;text-underline-offset:4px}
@media(max-width:767px){.gstvt-widget-demo-steps{grid-template-columns:1fr;gap:0;margin-bottom:26px}.gstvt-widget-demo-steps li{padding:14px 0}.gstvt-widget-demo-carousel figcaption{font-size:.85rem}}
@media(max-width:600px){.gstvt-widget-demo-carousel img{max-height:none}}

/* Guest age bands, occupant rates and immutable charge breakdowns. */
.gstvt-occupant-editor{margin:1rem 0;padding:1rem;border:1px solid var(--border,#dce1e8);border-radius:.65rem;background:var(--card,#fff);color:var(--foreground,#17212e);min-width:0}
.gstvt-occupant-editor h3{font-size:1rem;font-weight:650;margin:0 0 .75rem}.gstvt-occupant-editor h4{font-size:.9rem;font-weight:600;margin:1rem 0 .5rem}
.gstvt-occupant-editor p,.gstvt-occupant-editor small{font-size:.82rem;color:var(--muted-foreground,#526173);line-height:1.5}
.gstvt-occupant-editor label{display:block;font-size:.82rem;margin:.35rem 0}.gstvt-occupant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin:.75rem 0}
.gstvt-occupant-rate-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(80px,1fr) minmax(100px,1.4fr);gap:.75rem;align-items:center;border-top:1px solid var(--border,#dce1e8);padding:.5rem 0;font-size:.85rem}
.gstvt-occupant-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.gstvt-charge-row{display:flex;justify-content:space-between;gap:1rem;margin-top:.5rem;font-size:.85rem}.gstvt-charge-row>span{overflow-wrap:anywhere}.gstvt-charge-row>strong{white-space:nowrap}.gstvt-charge-saving{color:var(--foreground,#17212e);font-size:.8rem}
@media(max-width:480px){.gstvt-occupant-rate-row{grid-template-columns:1fr 1fr}.gstvt-occupant-rate-row>strong{grid-column:1/-1}.gstvt-occupant-editor{padding:.75rem}}

body.gstvt-orchard-public .gstvt-occupant-editor h3{font-size:1rem;font-family:var(--gstvt-public-font);font-weight:650;letter-spacing:normal}

.gstvt-occupant-date{width:100%;max-width:100%;min-width:0}

/* The date button already has a label; hide its redundant library icon. */
.gstvt-occupant-date > svg{display:none}

.hbs-checkout-thumb{color:#172723}

/* Travel-agent introduction shares the public theme and typography. */
.gstvt-stream-intro { background:var(--background);color:var(--foreground); }
.gstvt-stream-intro a.gstvt-public-button { color:var(--primary-foreground); }
.gstvt-stream-intro :is(h1,h2,h3,p) { margin-top:0; }
.gstvt-stream-intro h1 { font-size:clamp(2.75rem,6vw,5.75rem);line-height:1.08;letter-spacing:-.055em;font-weight:550;margin-bottom:28px; }
.gstvt-stream-intro h2 { font-size:clamp(2rem,3.6vw,3.5rem);line-height:1.15;letter-spacing:-.04em;font-weight:550;margin-bottom:24px; }
.gstvt-stream-intro em { font-family:Georgia,serif;font-weight:400; }
.gstvt-stream-intro p { line-height:1.75; }
.gstvt-stream-intro-hero { text-align:center;max-width:1100px;margin:auto;padding:100px 24px 88px; }
.gstvt-stream-intro-hero>p:not(.gstvt-eyebrow) { max-width:660px;margin:0 auto;font-size:1.125rem; }
.gstvt-stream-intro-actions { display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:28px;margin-top:32px; }
.gstvt-stream-intro-features { max-width:1200px;padding:64px 32px 88px;margin:auto;border-top:1px solid var(--border);scroll-margin-top:24px; }
.gstvt-stream-intro-heading { margin-bottom:48px; }
.gstvt-stream-intro-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px; }
.gstvt-stream-intro-grid h3 { font-size:1.25rem;margin:20px 0 12px; }
.gstvt-stream-intro-number { font-size:.875rem;border-bottom:1px solid var(--border);display:block;padding-bottom:16px; }
.gstvt-stream-intro-access { background:var(--secondary);text-align:center;padding:72px 24px; }
.gstvt-stream-intro-access>p:not(.gstvt-eyebrow) { max-width:640px;margin:0 auto 24px; }
.gstvt-stream-intro-faq { max-width:860px;padding:88px 24px;margin:auto; }
.gstvt-stream-intro-faq details { padding:22px 0;border-bottom:1px solid var(--border); }
.gstvt-stream-intro-faq summary { cursor:pointer;font-weight:600;line-height:1.5; }
.gstvt-stream-intro-faq details p { margin:18px 0 0; }
.gstvt-stream-intro-outro { text-align:center;padding:48px 24px 88px; }
.gstvt-stream-intro-preview { margin:64px auto 0;max-width:1040px;text-align:left; }
.gstvt-stream-intro-preview img,.gstvt-stream-intro-showcase img { display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 55px rgba(14,20,32,.10); }
.gstvt-stream-intro-preview a,.gstvt-stream-intro-showcase figure a { display:block;cursor:zoom-in;border-radius:12px; }
.gstvt-stream-intro-preview a:focus-visible,.gstvt-stream-intro-showcase figure a:focus-visible { outline:3px solid var(--ring,var(--primary));outline-offset:4px; }
.gstvt-stream-intro-preview figcaption,.gstvt-stream-intro-showcase figcaption { color:var(--muted-foreground);font-size:.8rem;line-height:1.5;margin-top:12px; }
.gstvt-stream-intro-heading>p:last-child { max-width:680px; }
.gstvt-stream-intro-showcase { max-width:1240px;margin:auto;padding:12px 32px 88px; }
.gstvt-stream-intro-showcase-item { display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(32px,5vw,72px);padding:76px 0;border-top:1px solid var(--border); }
.gstvt-stream-intro-showcase-item>div { max-width:450px; }
.gstvt-stream-intro-showcase-item figure { min-width:0;margin:0; }
.gstvt-stream-intro-showcase-reverse { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); }
.gstvt-stream-intro-showcase-reverse>div { grid-column:2;grid-row:1; }
.gstvt-stream-intro-showcase-reverse>figure { grid-column:1;grid-row:1; }
.gstvt-stream-intro-outro>p:not(.gstvt-eyebrow) { margin:0 auto 24px;max-width:540px; }
/* Six public destinations need the compact navigation before labels wrap. */
@media(max-width:1279px) { .gstvt-site-nav { display:none; }.gstvt-guest-menu { display:block; }.gstvt-site-actions { margin-left:auto; } }
@media(max-width:767px) {
    .gstvt-stream-intro-hero { padding:64px 24px; }
    .gstvt-stream-intro-features { padding:48px 24px; }
    .gstvt-stream-intro-grid { grid-template-columns:1fr;gap:24px; }
    .gstvt-stream-intro-heading { margin-bottom:32px; }
    .gstvt-stream-intro-access,.gstvt-stream-intro-faq { padding:56px 24px; }
    .gstvt-stream-intro-preview { margin-top:44px; }
    .gstvt-stream-intro-showcase { padding:0 24px 56px; }
    .gstvt-stream-intro-showcase-item,.gstvt-stream-intro-showcase-reverse { display:flex;flex-direction:column;align-items:stretch;gap:28px;padding:52px 0; }
    .gstvt-stream-intro-showcase-reverse>div,.gstvt-stream-intro-showcase-reverse>figure { grid-column:auto;grid-row:auto; }
}

/* Published booking offers: shared public hotel and checkout components. */
.gstvt-public-offer { border: 1px solid var(--gstvt-line, #cbd5d1); border-radius: 12px; padding: 20px; margin-block: 14px; background: var(--gstvt-surface, #fff); color: var(--gstvt-ink, #172723); overflow-wrap: anywhere; }
.gstvt-public-offer-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; }
.gstvt-public-offer h4 { font-size: 1.05rem; margin: 0 0 6px; }
.gstvt-public-offer p { font-size: .9rem; line-height: 1.55; margin-block: 10px; }
.gstvt-public-offer-price { display: flex; flex-direction: column; font-size: 1.15rem; font-weight: 700; }
.gstvt-public-offer-price > span:last-child { font-size: .8rem; font-weight: 400; }
.gstvt-public-offer summary { cursor: pointer; padding-block: 10px; font-size: .9rem; text-decoration: underline; }
.gstvt-public-offer-nights { margin-block: 10px; }
.gstvt-public-offer-nights > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding-block: 6px; border-bottom: 1px solid var(--gstvt-line, #cbd5d1); }
.gstvt-public-offer-nights dd { margin: 0; }
.gstvt-public-offer-select { display: inline-flex; justify-content: center; margin-top: 12px; padding: 12px 16px; border-radius: 8px; background: var(--gstvt-ink, #172723); color: var(--gstvt-surface, #fff); font-weight: 600; text-decoration: none; }
.gstvt-public-offer-select:hover { text-decoration: underline; }
.gstvt-public-offer-select:focus-visible, .gstvt-public-offer summary:focus-visible { outline: 3px solid var(--gstvt-violet, #7451db); outline-offset: 3px; }
.gstvt-public-offer-dates { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-block: 20px; }
@media (max-width: 600px) { .gstvt-public-offer { padding: 15px; } .gstvt-public-offer-select { width: 100%; box-sizing: border-box; } }
:is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-public-offer-select { background:var(--primary); color:var(--primary-foreground); }
.gstvt-public-offer { background:var(--card); color:var(--foreground); border-color:var(--border); }
.gstvt-metasearch-stay { max-width: 60rem; margin-inline: auto; padding: clamp(1rem, 4vw, 3rem); overflow-wrap: anywhere; }
.gstvt-metasearch-stay .gstvt-public-offer { margin-block: 1.5rem; }
.gstvt-page-shell .gstvt-metasearch-stay h1 { font-size: clamp(1.8rem, 4vw, 2.5rem); border: 0; margin-bottom: 1.5rem; }
.gstvt-page-shell .gstvt-metasearch-stay h2 { font-size: 1.5rem; }
.gstvt-page-shell .gstvt-metasearch-stay h3 { font-size: 1.15rem; }
.gstvt-hotel-photo-gallery:has(.gstvt-hotel-empty-gallery) { display:block; height:auto; min-height:0; }
.gstvt-hotel-empty-gallery { display:flex; align-items:center; justify-content:center; gap:12px; padding:36px 20px; border-radius:12px; background:var(--muted); color:var(--muted-foreground); }
.gstvt-room-offers { grid-column:1/-1; padding:0 16px 16px; min-width:0; }
/* Blueprint choice lists scroll on their keyboard-focusable listbox. */
.gstvt-choice-options[role="listbox"] { max-height:min(15rem, calc(100dvh - 2rem)); overflow-y:auto; }
.gstvt-choice-options[role="listbox"] > .overflow-auto { max-height:none; overflow:visible; }

/* Search guest ages share the booking controls; keep the popover usable on small screens. */
.gstvt-guest-popover { max-height:min(65dvh,640px); overflow-y:auto; }
.gstvt-guest-popover .gstvt-occupant-editor { margin:12px 0; padding:12px 0; }
.gstvt-guest-popover .gstvt-occupant-grid { grid-template-columns:1fr; }
.gstvt-guest-popover button[role="combobox"] { border-radius:8px; width:100%; text-align:left; }
.gstvt-search-adult-ages { display:flex; align-items:start; gap:8px; font-size:.875rem; }
.gstvt-search-adult-ages input { flex-shrink:0; margin-top:3px; }
.gstvt-search-stay-price + .gstvt-search-stay-price { margin-top:12px; }

.gstvt-search-page.is-list .gstvt-search-cards > .d-grid { grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr)); }
.gstvt-search-card-price { display:flex; flex-direction:column; align-items:stretch; gap:12px; margin-top:auto; padding-top:16px; }
.gstvt-search-card-price > a { align-self:start; }

.gstvt-trip-rate-choice { padding:16px 0; border-bottom:1px solid var(--border); }
.gstvt-trip-rate-choice button[aria-pressed="true"] { outline:2px solid var(--ring); outline-offset:2px; }

.gstvt-trip-booking .gstvt-search-date-picker { width:100%; max-width:100%; height:auto; min-height:40px; white-space:normal; }
.gstvt-trip-selected-rate { margin:8px 0; color:var(--foreground); }

.gstvt-local-declaration { margin: 1.5rem 0; padding: 1rem; border: 1px solid var(--gstvt-line, #d8dde3); border-radius: .5rem; }
.gstvt-local-declaration fieldset { border: 0; padding: 0; min-width: 0; }
:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-local-declaration h2 { font-size: 1.125rem; line-height: 1.4; margin: 0 0 .75rem; }
.gstvt-local-document { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin: 1rem 0; }
.gstvt-local-document label { display: grid; gap: .4rem; min-width: 0; }
.gstvt-local-accept { display: flex; align-items: flex-start; gap: .6rem; margin: 1rem 0; }
@media(max-width:600px) { .gstvt-local-document { grid-template-columns: minmax(0,1fr); } }

.gstvt-booking-form { border: 0; padding: 0; margin: 0; min-width: 0; }

:is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-local-action { height: auto; min-height: 2.5rem; white-space: normal; line-height: 1.4; padding: .6rem .8rem; }

.gstvt-stay-party{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin:1rem 0}.gstvt-stay-party label{display:flex;flex-direction:column;gap:.35rem;min-width:0}

.gstvt-rate-filters { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; margin: 1rem 0; }
.gstvt-rate-filters > label { display: grid; gap: .35rem; min-width: 10rem; }
.gstvt-rate-filters > .gstvt-local-accept { display: flex; align-items: center; align-self: center; }

.gstvt-book-submit { width:100%; min-height:44px; margin-top:1.5rem; }
.gstvt-book-price-status { margin-top:.5rem; color:var(--foreground); }

.gstvt-extras-cancellation { border: 1px solid var(--border, #d4dae2); border-radius: .5rem; padding: 1rem; margin-block: 1rem; min-width: 0; overflow-wrap: anywhere; }
.gstvt-extras-cancellation article { padding-block: .75rem; border-block-end: 1px solid var(--border, #d4dae2); }
.gstvt-extras-cancellation dl { margin-block: .75rem; }
.gstvt-extras-cancellation dl > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .25rem 1rem; }
.gstvt-extras-cancellation dd { margin: 0; }
.gstvt-extras-cancellation-accept { display: flex; align-items: flex-start; gap: .5rem; margin-block: 1rem; }
.gstvt-extras-cancellation button:not([role="checkbox"]) { max-width: 100%; white-space: normal; height: auto; min-height: 2.5rem; }
.gstvt-extras-cancellation h3 { font-size: 1.25rem; margin-block: 0 .75rem; }
.gstvt-extras-cancellation h4 { font-size: 1.05rem; margin-block: 0 .5rem; }
.gstvt-stripe-settlements { border: 1px solid var(--border, #d4dae2); border-radius: .5rem; padding: 1rem; margin-block: 1rem; min-width: 0; overflow-wrap: anywhere; }
.gstvt-stripe-settlements h3 { font-family: inherit; font-size: 1.15rem; font-weight: 650; line-height: 1.35; margin: 0 0 .5rem; }
.gstvt-stripe-settlement-row { display: grid; gap: .45rem; padding-block: .75rem; border-top: 1px solid var(--border, #d4dae2); min-width: 0; }
.gstvt-stripe-settlement-row > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .25rem 1rem; }
.gstvt-stripe-settlement-row small { font-size: .875rem; overflow-wrap: anywhere; }

/* Account type is an explicit choice before registration. */
.gstvt-signup-trigger { white-space: nowrap; }
.gstvt-site-header .gstvt-signup-trigger { display: inline-flex; }
/* Public anchor defaults must not override Blueprint's filled button contrast. */
:is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-header .gstvt-signup-trigger { color:var(--primary-foreground); }
.gstvt-signup-menu { width: min(21rem, calc(100vw - 1.5rem)); }
.gstvt-signup-menu [role="menuitem"] { gap: .75rem; padding: .9rem; align-items: center; }
.gstvt-signup-menu small { display: block; margin-top: .2rem; color: var(--muted-foreground); font-size: .75rem; }
.gstvt-signup-page { max-width: 72rem; margin: auto; padding: clamp(1.5rem, 5vw, 5rem) 1.25rem; }
.gstvt-signup-page > h1 { font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.15; }
.gstvt-signup-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 2rem 0; }
.gstvt-signup-options > a { display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; border: 1px solid var(--border); border-radius: 1rem; padding: 1.5rem; color: var(--foreground); background: var(--background); text-decoration: none; }
.gstvt-signup-options > a:hover { border-color: var(--primary); }
.gstvt-signup-options > a:focus-visible { outline: 2px solid var(--primary); outline-offset: 4px; }
.gstvt-signup-option-heading { display: flex; align-items: center; gap: .65rem; }
.gstvt-signup-option-heading svg { flex-shrink: 0; }
.gstvt-page-shell .gstvt-signup-options .gstvt-signup-option-heading h2 { margin: 0; font-size: 1.2rem; line-height: 1.3; letter-spacing: normal; white-space: nowrap; }
.gstvt-signup-options p { margin: 0; font-size: .95rem; color: var(--muted-foreground); }
.gstvt-signup-options > a > span { margin-top: auto; padding-top: .5rem; font-weight: 600; }
@media (max-width: 959px) { .gstvt-signup-options { grid-template-columns: 1fr; } }
@media (max-width: 420px) { .gstvt-site-actions > a.gstvt-public-outline { display: none; } }

@media (max-width: 600px) {
    :is(body.gstvt-orchard-public, .gstvt-page-shell, .gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-site-actions { gap: 4px; }
    .gstvt-site-brand { flex-shrink: 0; }
}
@media (max-width: 479px) { .gstvt-site-brand > span { display: none; } }

/* Stream marketing: shared public typography and restrained product previews. */
.gstvt-stream-signup-note { font-size:.875rem!important;color:var(--muted-foreground);margin-top:18px!important; }
.gstvt-stream-hotel-note { max-width:920px;margin:28px auto 0;color:var(--muted-foreground);font-size:.875rem;line-height:1.7; }
.gstvt-stream-intro-outro>p:last-child { margin-top:24px; }
#agent-stream { scroll-margin-top:90px; }

#agent-stream .gstvt-feature-row { margin-bottom:0; }

.gstvt-legal-page { padding:clamp(24px,5vw,64px) max(20px,env(safe-area-inset-right)) 64px max(20px,env(safe-area-inset-left)); }
.gstvt-legal-copy { max-width:78ch; margin-inline:auto; color:var(--foreground); overflow-wrap:anywhere; }
:is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-legal-copy h1 { font-size:clamp(2rem,4vw,3.3rem); letter-spacing:-.035em; line-height:1.15; margin:12px 0 20px; }
:is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-legal-copy h2 { font-size:1.4rem; margin:2.5rem 0 1rem; letter-spacing:-.02em; scroll-margin-top:100px; }
:is(body.gstvt-orchard-public,.gstvt-page-shell,.gstvt-shell:not(.gstvt-workspace-shell)) .gstvt-legal-copy h3 { font-size:1.1rem; margin:1.75rem 0 .75rem; }
.gstvt-legal-copy a { text-decoration:underline; text-underline-offset:4px; }
.gstvt-legal-eyebrow { text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; font-weight:600; color:var(--muted-foreground); }
.gstvt-legal-updated { color:var(--muted-foreground); font-size:.875rem; }
