/* The public directory follows the destination theme's forest, paper and sand palette. */
.gi-public:has(.gv-directory) .gi-header:not(.is-scrolled){background:var(--gi-forest)}
.gv-directory{color:var(--gi-text);background:var(--gi-paper)}.gv-directory *{box-sizing:border-box}.gv-directory [hidden]{display:none!important}.gv-directory :focus-visible{outline:3px solid #b28843;outline-offset:4px}.gv-directory h1,.gv-directory h2,.gv-directory h3{color:var(--gi-ink);font-family:var(--gi-serif);font-weight:600;letter-spacing:-.025em}.gv-directory p{line-height:1.85}.gv-directory svg.ti{width:21px;height:21px;flex:0 0 21px}
.gv-intro,.gv-detail-hero{padding:calc(var(--gi-header-h,108px) + 38px) 0 60px;background:linear-gradient(115deg,var(--gi-cream),#f0eee4)}.gv-breadcrumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:38px;font-size:12px;line-height:1.7;color:var(--gi-muted)}.gv-breadcrumb a{color:var(--gi-forest);text-decoration:none}.gv-breadcrumb a:hover{text-decoration:underline}.gv-intro__layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr);gap:70px;align-items:center}.gv-eyebrow{display:block;font:700 11px/1.7 var(--gi-sans);text-transform:uppercase;letter-spacing:.13em;color:#61766b;margin-bottom:13px}.gv-intro h1{font-size:clamp(35px,3.7vw,60px);line-height:1.23;margin:0 0 22px;max-width:20ch}.gv-intro__copy{max-width:65ch;font-size:15px;color:#52665e}.gv-intro__copy p{margin:0 0 26px}
.gv-search{margin-top:28px;max-width:740px}.gv-search>label{display:block;font-size:12px;font-weight:700;color:var(--gi-ink);margin-bottom:9px}.gv-search>div{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 8px 8px 18px;border:1px solid #cdd8cf;background:var(--gi-paper);border-radius:12px;box-shadow:0 10px 30px #123d2b05}.gv-search input{width:100%;min-width:0;padding:8px 0;border:0!important;background:transparent;box-shadow:none!important;color:var(--gi-ink);font:400 14px/1.6 var(--gi-sans)}.gv-search input:focus{outline:none}.gv-search>div:focus-within{outline:2px solid var(--gi-forest);outline-offset:2px}.gv-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:13px 21px;border:1px solid var(--gi-forest);border-radius:8px;background:var(--gi-forest);color:#fff!important;text-decoration:none!important;font:700 12px/1.6 var(--gi-sans);cursor:pointer;transition:background .15s,transform .15s}.gv-button:hover{background:#1b594b;transform:translateY(-1px)}.gv-button--outline{background:transparent;color:var(--gi-forest)!important;border-color:#aabcb2}.gv-button--outline:hover{background:#e5ece3}.gv-intents{display:flex;gap:9px;flex-wrap:wrap;margin-top:19px}.gv-intents a{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--gi-forest);border-bottom:1px solid #b4c2b7;padding:8px 0;text-decoration:none;margin-right:9px}.gv-intents svg.ti{width:15px;height:15px;flex-basis:15px}
.gv-how{padding:29px;border:1px solid #d1dbd0;background:#ffffff8c;border-radius:16px}.gv-how ol{list-style:none;padding:0;margin:0;display:grid;gap:23px}.gv-how li{display:grid;grid-template-columns:42px 1fr;gap:14px}.gv-how li>span{display:grid;place-items:center;background:#e7ede3;color:var(--gi-forest);width:42px;height:42px;border-radius:11px}.gv-how strong{font-size:13px;font-weight:700;line-height:1.6}.gv-how li p{font-size:12px;color:#60736a;margin:6px 0 0}.gv-trust-note{display:flex;align-items:flex-start;gap:10px;margin:25px 0 0;padding-top:20px;border-top:1px solid #d6dfd2;font-size:11px;color:#61766b}.gv-trust-note svg.ti{width:17px;height:17px;flex-basis:17px;margin-top:2px}
.gv-section{padding:70px 0}.gv-section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.gv-section-head h2{font-size:clamp(28px,2.6vw,39px);line-height:1.35;margin:0}.gv-section-head p{max-width:52ch;margin:12px 0 0;color:var(--gi-muted);font-size:13px}.gv-section-head>.gv-card-link{flex-shrink:0}.gv-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.gv-category{position:relative;isolation:isolate;display:flex;align-items:end;min-height:240px;padding:22px;overflow:hidden;border-radius:13px;color:#fff;text-decoration:none;background:var(--gi-forest)}.gv-category>img,.gv-category__shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .3s}.gv-category__shade{z-index:-1;background:linear-gradient(180deg,#0d2c2610,#08281fda)}.gv-category:hover>img{transform:scale(1.04)}.gv-category__icon{position:absolute;top:18px;left:20px;display:grid;place-items:center;width:39px;height:39px;border-radius:10px;border:1px solid #ffffff55;background:#0d2c263b;backdrop-filter:blur(8px)}.gv-category h3{font:600 18px/1.45 var(--gi-sans);letter-spacing:-.02em;color:#fff;margin:0 0 9px}.gv-category div>span{font-size:10px;color:#e0e6d9}.gv-category>svg{position:absolute;right:19px;top:27px;color:#fff}.gv-category>div{padding-right:10px}
.gv-section--places{background:#f0f2eb;scroll-margin-top:100px}.gv-place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gv-place-card{border:1px solid #d9dfd4;border-radius:15px;background:var(--gi-paper);overflow:hidden;max-width:520px}.gv-place-card__photo{display:block;position:relative;aspect-ratio:16/11;overflow:hidden}.gv-place-card__photo img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.gv-place-card:hover img{transform:scale(1.035)}.gv-place-card__photo>span{position:absolute;left:18px;bottom:17px;background:var(--gi-paper);padding:7px 10px;border-radius:5px;font-size:10px;font-weight:700;color:var(--gi-forest)}.gv-place-card__body{padding:23px}.gv-place-card h3{margin:0;font-size:27px;line-height:1.3}.gv-place-card h3 a{color:inherit;text-decoration:none}.gv-place-card p{font-size:12px;color:var(--gi-muted);margin:14px 0 20px}.gv-card-link{display:inline-flex;align-items:center;gap:9px;color:var(--gi-forest);font-size:12px;line-height:1.6;font-weight:700;text-decoration:none}.gv-card-link:hover{text-decoration:underline}.gv-empty{padding:45px 24px;text-align:center;border:1px dashed #bfcec0;border-radius:14px;display:grid;justify-items:center;gap:15px}.gv-empty>span{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e1e9dd;color:var(--gi-forest)}.gv-empty h3{font-size:27px;margin:0}.gv-empty p{font-size:13px;max-width:62ch;color:var(--gi-muted);margin:0 0 6px}.gv-help{padding:60px 0;background:#e9e8dc;border-top:1px solid #d8dfd2}.gv-help>.gi-shell{display:flex;align-items:center;justify-content:space-between;gap:35px}.gv-help h2{font-size:30px;line-height:1.4;margin:0}.gv-help p{max-width:75ch;font-size:13px;color:#60736a;margin:12px 0 0}.gv-help .gv-button{flex-shrink:0}
.gv-detail-hero__layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px}.gv-detail-hero h1{font-size:clamp(44px,5vw,75px);line-height:1.15;margin:0 0 22px}.gv-detail-hero__text>p{font-size:15px;max-width:54ch;color:#52665e;margin:0 0 24px}.gv-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.gv-badges span{display:inline-flex;gap:7px;align-items:center;background:#e1e9dd;border-radius:30px;padding:8px 12px;font-size:11px;color:var(--gi-forest)}.gv-badges svg.ti{width:16px;height:16px;flex-basis:16px}.gv-detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 25px}.gv-photo-mosaic{height:470px;display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:1fr 1fr;gap:13px}.gv-photo-mosaic a{display:block;overflow:hidden;border-radius:13px}.gv-photo-mosaic .gv-mosaic-0{grid-row:1/3}.gv-photo-mosaic img{width:100%;height:100%;object-fit:cover}.gv-detail-section{padding:65px 0}.gv-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:75px;align-items:start}.gv-detail-layout>main{min-width:0}.gv-prose{font-size:15px;line-height:1.9}.gv-prose h2{font-size:28px;margin:0 0 18px;line-height:1.5}.gv-prose p{color:#53665e;margin:0 0 30px}.gv-prose p:last-child{margin-bottom:0}.gv-visitor-note{margin-top:36px;border-left:3px solid var(--gi-sand);border-radius:0 12px 12px 0;background:var(--gi-cream);padding:27px;display:grid;grid-template-columns:25px 1fr;gap:14px}.gv-visitor-note>span{color:#887243;padding-top:3px}.gv-visitor-note h2{font-size:23px;margin:0 0 14px}.gv-visitor-note p{font-size:12px;margin:0 0 13px;color:#53665e}.gv-visitor-note p:last-child{margin-bottom:0}.gv-visitor-note a{color:var(--gi-forest);text-decoration:underline}.gv-practical{position:sticky;top:110px}.gv-practical>section{padding:27px;border:1px solid #d2ddcf;background:#f5f6ef;border-radius:14px}.gv-practical h2{font-size:26px;margin:0 0 23px}.gv-contact-row{display:grid;grid-template-columns:21px 1fr;gap:12px;margin-bottom:22px}.gv-contact-row>svg{color:var(--gi-forest);margin-top:3px}.gv-contact-row small{display:block;color:var(--gi-muted);font-size:10px;margin-bottom:7px}.gv-contact-row p,.gv-contact-row a{color:var(--gi-ink);font-size:12px;font-weight:600;line-height:1.8;margin:0;text-decoration:none;overflow-wrap:anywhere}.gv-contact-row a:hover{text-decoration:underline}.gv-contact-buttons{display:grid;gap:17px;padding-top:18px;border-top:1px solid #d5dfd0}.gv-practical-note{font-size:11px;color:#61766b;margin:20px 0 0}
.gv-gallery{background:var(--gi-cream);scroll-margin-top:95px}.gv-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.gv-gallery-grid>a{position:relative;display:block;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#e0e5d8}.gv-gallery-grid img{width:100%;height:100%;object-fit:cover}.gv-gallery-grid a>span{position:absolute;right:12px;bottom:12px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fffc;color:var(--gi-forest)}@media(max-width:1100px){.gv-intro__layout{gap:35px;grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr)}.gv-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gv-detail-hero__layout{gap:35px}.gv-photo-mosaic{height:410px}.gv-detail-layout{grid-template-columns:minmax(0,1fr) 290px;gap:35px}.gv-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.gv-intro,.gv-detail-hero{padding-top:calc(var(--gi-header-h,80px) + 30px);padding-bottom:40px}.gv-intro__layout,.gv-detail-hero__layout{grid-template-columns:1fr;gap:30px}.gv-intro h1{max-width:24ch}.gv-how ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gv-how li{grid-template-columns:1fr;gap:10px}.gv-how{padding:22px}.gv-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gv-section{padding:45px 0}.gv-place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gv-detail-hero__layout{grid-template-columns:1fr 1fr;align-items:start}.gv-detail-hero h1{font-size:44px}.gv-photo-mosaic{height:390px;gap:9px;grid-template-columns:1fr}.gv-photo-mosaic .gv-mosaic-0{grid-row:1/3}.gv-photo-mosaic a:not(:first-child){display:none}.gv-detail-layout{grid-template-columns:1fr}.gv-practical{position:static}.gv-detail-layout .gv-prose{font-size:14px}.gv-detail-section{padding:40px 0}.gv-section-head{align-items:start;flex-direction:column;gap:10px}.gv-help>.gi-shell{align-items:start;flex-direction:column;gap:24px}.gv-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.gv-intro h1{font-size:35px;line-height:1.3}.gv-breadcrumb{margin-bottom:26px;font-size:10px}.gv-search>div{grid-template-columns:21px minmax(0,1fr);gap:8px;padding:12px}.gv-search .gv-button{grid-column:1/-1;width:100%}.gv-search input{font-size:13px}.gv-how ol{grid-template-columns:1fr;gap:19px}.gv-how li{grid-template-columns:37px 1fr;gap:12px}.gv-how li>span{width:37px;height:37px}.gv-category-grid{gap:12px}.gv-category{min-height:200px;padding:16px}.gv-category h3{font-size:15px}.gv-category__icon{left:15px;top:14px;width:32px;height:32px}.gv-category>svg{right:14px;top:19px;width:17px;height:17px}.gv-category div>span{font-size:9px}.gv-place-grid{grid-template-columns:1fr}.gv-section-head h2{font-size:29px}.gv-detail-hero__layout{grid-template-columns:1fr}.gv-detail-hero h1{font-size:45px}.gv-detail-hero__text>p{font-size:14px}.gv-photo-mosaic{height:340px;grid-template-columns:1.1fr 1fr}.gv-photo-mosaic a:not(:first-child){display:block}.gv-detail-actions .gv-button{flex:1;padding:12px;font-size:11px}.gv-photo-mosaic img{object-position:center}.gv-prose h2{font-size:25px}.gv-visitor-note{padding:20px;grid-template-columns:1fr;gap:8px}.gv-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gv-help h2{font-size:26px}.gv-help .gv-button{width:100%}}
@media(prefers-reduced-motion:reduce){.gv-directory *{scroll-behavior:auto!important;transition:none!important}}

/* A photograph fills the available viewport; its intrinsic pixel size does not cap the viewer. */
.gv-photo-dialog{position:fixed;inset:0;box-sizing:border-box;width:calc(100% - 24px);height:calc(100vh - 24px);height:calc(100dvh - 24px);max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid #456053;border-radius:12px;background:#10251d;color:#f7f2e8;box-shadow:0 30px 100px #0008}
.gv-photo-dialog:not([open]){display:none}.gv-photo-dialog::backdrop{background:#06170ff2;backdrop-filter:blur(4px)}
.gv-photo-dialog__inner{height:100%;min-height:0;padding:12px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px}
.gv-photo-dialog figure{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;min-width:0;margin:0;text-align:center}
.gv-photo-stage{min-height:0;min-width:0;overflow:auto;scrollbar-gutter:stable both-edges;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;border-radius:6px;cursor:zoom-in}
.gv-photo-canvas{min-width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;padding:12px}
.gv-photo-dialog figure img{display:block;flex:none;margin:0;max-width:none;max-height:none;border-radius:3px;object-fit:contain;user-select:none;-webkit-user-drag:none}
.gv-photo-stage.is-zoomed{cursor:grab}.gv-photo-stage.is-dragging{cursor:grabbing}
.gv-photo-dialog figcaption{max-width:none;max-height:3.5em;overflow:auto;margin:8px 48px 0;padding:0 12px;font:400 12px/1.65 var(--gi-sans);color:#e0e7dc}
.gv-photo-dialog button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid #587063;border-radius:8px;background:#203d30;color:#fff;cursor:pointer;touch-action:manipulation}
.gv-photo-dialog button:hover{background:#365644}.gv-photo-dialog button:disabled{opacity:.4;cursor:default}.gv-photo-dialog button:focus-visible{outline:3px solid var(--gi-sand);outline-offset:2px}
.gv-photo-close{position:absolute;z-index:2;right:18px;top:18px;box-shadow:0 4px 16px #0005}
.gv-photo-controls{display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap;margin:0;padding:0 48px 2px}
.gv-photo-controls__group{display:flex;align-items:center;justify-content:center;gap:12px}
.gv-photo-controls span{min-width:55px;text-align:center;font:500 12px/1.4 var(--gi-sans);font-variant-numeric:tabular-nums}
@media(max-width:560px){.gv-photo-dialog{width:calc(100% - 8px);height:calc(100vh - 8px);height:calc(100dvh - 8px);border-radius:8px}.gv-photo-dialog__inner{padding:6px;gap:7px}.gv-photo-dialog figcaption{font-size:11px;margin:7px 0 0;padding:0 6px}.gv-photo-controls{gap:7px 16px;padding:0 0 max(2px,env(safe-area-inset-bottom))}.gv-photo-controls__group{gap:6px}.gv-photo-controls span{min-width:45px}.gv-photo-close{right:12px;top:12px}}
