/* 5T-G: site search (F31), sitemap (F32) and their entry points in the shell. */
.site-header .header-search-link{display:inline-flex;align-items:center;gap:8px;color:var(--paper);font-size:13px;text-decoration:none;padding:10px 0;border-bottom:1px solid transparent;white-space:nowrap}
.site-header .header-search-link svg{flex:none}
.site-header .header-search-link:hover,.site-header .header-search-link[aria-current=page]{color:var(--lime);border-bottom-color:var(--lime)}
@media(min-width:1200px){.site-header .header-search-link span{font-size:16px}}
/* Between 1200 and 1365px the English menu leaves room only for the icon; the label stays for screen readers. */
@media(min-width:1200px) and (max-width:1365px){.site-header .header-inner{gap:20px}.site-header .primary-navigation{gap:16px}.site-header .navigation-list{gap:14px}.site-header .header-cta{gap:10px}.lang-en .site-header .navigation-list a,.lang-en .site-header .header-cta{font-size:15px}.site-header .header-search-link span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
@media(max-width:1199px){.js .site-header .primary-navigation.is-open .header-search-link,html:not(.js) .site-header .header-search-link{display:none}}
.site-header .header-search-mobile{display:none}
@media(max-width:1199px){.site-header .header-search-mobile{display:inline-flex;align-items:center;justify-content:center;order:2;margin-left:auto;flex:none;width:48px;height:48px;color:var(--paper);border:1px solid #ffffff80}.site-header .header-search-mobile:hover,.site-header .header-search-mobile[aria-current=page]{color:var(--forest);background:var(--lime);border-color:var(--lime)}.site-header .menu-toggle{margin-left:10px;flex:none;white-space:nowrap}}
.footer-utility{display:flex;flex-wrap:wrap;gap:6px 22px}
.footer-utility a{color:inherit;text-decoration:none;border-bottom:1px solid #ffffff55;padding-bottom:2px}
.footer-utility a:hover{color:var(--lime);border-bottom-color:var(--lime)}
@media(max-width:1199px){.footer-utility{margin-top:14px}}

.g-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;margin:0 0 70px}
.g-breadcrumb a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}
.g-eyebrow{font-size:12px;letter-spacing:.18em;line-height:1.5;font-weight:700;text-transform:uppercase;margin:0 0 18px}

/* Search */
.g-search-hero{background:var(--forest);color:var(--paper);padding-top:36px;padding-bottom:72px;position:relative;overflow:hidden}
.g-search-hero:after{content:"";position:absolute;right:-180px;bottom:-320px;width:620px;height:620px;border-radius:50%;border:1px solid #e9ff862e;box-shadow:0 0 0 90px #ffffff05,0 0 0 180px #ffffff04;pointer-events:none}
.g-search-hero .g-breadcrumb{color:#cddacd}
.g-search-hero .g-eyebrow{color:var(--lime)}
.g-search-hero h1{font-size:clamp(50px,7.2vw,112px);line-height:1.04;letter-spacing:-.065em;margin:0 0 46px;color:var(--paper);animation:g-rise .7s both}
.g-search-form{max-width:1040px;position:relative;z-index:1;animation:g-rise .7s .08s both}
.g-search-form>label{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#cddacd;margin-bottom:12px}
.g-search-field{display:flex;align-items:stretch;border-bottom:2px solid var(--lime)}
.g-search-field input{flex:1;min-width:0;background:transparent;border:0;border-radius:0;color:var(--paper);font:inherit;font-size:clamp(22px,2.6vw,36px);padding:14px 4px;letter-spacing:-.02em}
.g-search-field input::placeholder{color:#9fb3a5}
.g-search-field input:focus{outline:none;background:#ffffff0d}
.g-search-field input::-webkit-search-cancel-button{filter:invert(1)}
.g-search-field button{display:inline-flex;align-items:center;gap:12px;background:var(--lime);color:var(--forest);border:0;border-radius:0;padding:0 26px;font:inherit;font-size:16px;font-weight:700;cursor:pointer;margin-bottom:-2px}
.g-search-field button:hover{background:var(--paper)}
.g-search-field:focus-within{box-shadow:0 2px 0 0 var(--lime)}
.g-search-help{font-size:15px;line-height:1.6;color:#cddacd;margin:18px 0 0;max-width:640px}

.g-search-body{background:var(--paper);padding-top:0;padding-bottom:120px}
.g-type-tabs{border-bottom:1px solid var(--forest);overflow-x:auto;scrollbar-width:thin}
.g-type-tabs ul{list-style:none;display:flex;margin:0;padding:0;min-width:max-content}
.g-type-tabs li+li{border-left:1px solid var(--line)}
.g-type-tabs a{display:flex;align-items:center;gap:12px;min-height:70px;padding:16px 24px;text-decoration:none;font-size:16px;font-weight:600;color:var(--forest);transition:background .2s,color .2s}
.g-type-tabs a span{font-size:13px;font-variant-numeric:tabular-nums;color:var(--sage);border:1px solid var(--line);padding:2px 8px}
.g-type-tabs a:hover,.g-type-tabs a[aria-current=page]{background:var(--forest);color:var(--lime)}
.g-type-tabs a:hover span,.g-type-tabs a[aria-current=page] span{color:var(--lime);border-color:#e9ff8666}

.g-search-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:clamp(40px,6vw,100px);align-items:start;padding-top:50px}
.g-results-heading{font-size:clamp(30px,3.4vw,52px);line-height:1.15;letter-spacing:-.05em;margin:0 0 10px;overflow-wrap:anywhere}
.g-results-status{font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--sage);margin:0 0 30px}
.g-result-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--forest)}
.g-result{display:grid;grid-template-columns:130px minmax(0,1fr);gap:clamp(18px,3vw,44px);padding:32px 0;border-bottom:1px solid var(--line)}
.g-result-kind{margin:6px 0 0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--forest);border-left:4px solid var(--lime);padding:3px 0 3px 10px;align-self:start}
.g-result-event .g-result-kind,.g-result-news .g-result-kind,.g-result-press .g-result-kind{border-left-color:var(--vermilion)}
.g-result-page .g-result-kind{border-left-color:var(--sage)}
.g-result h3{font-size:clamp(22px,2.1vw,31px);line-height:1.3;letter-spacing:-.035em;margin:0 0 8px}
.g-result h3 a{text-decoration:none;color:var(--forest)}
.g-result h3 a:hover{color:var(--vermilion-dark);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.g-result-path{font-size:12px;color:var(--sage);margin:0 0 14px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.g-result-excerpt{font-size:16px;line-height:1.75;color:var(--muted);margin:0 0 14px;max-width:760px}
.g-result-meta{display:flex;flex-wrap:wrap;gap:6px 0;font-size:13px;color:var(--forest);margin:0}
.g-result-meta span+span:before{content:"·";margin:0 10px;color:var(--sage)}
.g-search-body mark{background:var(--lime);color:var(--forest);padding:0 .12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.g-empty{border-top:1px solid var(--forest);padding:44px 0}
.g-empty h3{font-size:clamp(26px,2.8vw,42px);letter-spacing:-.045em;line-height:1.2;margin:0 0 14px}
.g-empty p{font-size:17px;line-height:1.7;color:var(--muted);margin:0;max-width:620px}

.g-empty h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin:0 0 14px}
.g-empty-elsewhere,.g-empty-suggest{margin-top:36px}
.g-empty-elsewhere ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.g-empty-elsewhere a{display:inline-flex;align-items:center;gap:14px;background:var(--forest);color:var(--paper);padding:16px 22px;text-decoration:none;font-weight:600;font-size:17px}
.g-empty-elsewhere a span{font-weight:400;color:#cddacd;font-size:14px}
.g-empty-elsewhere a b{color:var(--lime);font-size:20px;transition:transform .25s}
.g-empty-elsewhere a:hover b{transform:translate(3px,-3px)}
.g-aside-block{border-top:1px solid var(--forest);padding:22px 0 34px}
.g-aside-block h2{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin:0 0 16px;color:var(--forest)}
.g-aside-block p{font-size:16px;line-height:1.6;margin:0 0 16px}
.g-elsewhere{background:#e7eadf;border-top-color:transparent;padding:22px 22px 26px}
.g-elsewhere ul,.g-destinations,.g-chips{list-style:none;margin:0;padding:0}
.g-elsewhere a{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #11221f33;text-decoration:none;font-weight:600}
.g-elsewhere a span{font-weight:400;color:var(--muted);font-size:14px}
.g-elsewhere a:hover{color:var(--vermilion-dark)}
.g-chips{display:flex;flex-wrap:wrap;gap:8px}
.g-chips a{display:inline-block;border:1px solid var(--forest);padding:9px 14px;text-decoration:none;font-size:15px}
.g-chips a:hover{background:var(--forest);color:var(--lime)}
.g-destinations li{border-bottom:1px solid var(--line)}
.g-destinations a{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;text-decoration:none;font-size:16px}
.g-destinations a span{font-size:20px;transition:transform .25s}
.g-destinations a:hover{color:var(--vermilion-dark)}
.g-destinations a:hover span{transform:translate(3px,-3px)}
.g-arrow-link{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid currentColor;padding:8px 0;font-weight:700;text-decoration:none;font-size:15px}
.g-arrow-link span{font-size:22px;transition:transform .25s}
.g-arrow-link:hover span{transform:translate(4px,-4px)}
.g-search-start{padding-top:56px}
.g-start-lead{font-size:clamp(20px,2vw,28px);line-height:1.5;letter-spacing:-.02em;max-width:820px;margin:0 0 44px}
.g-start-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,5vw,90px)}
.g-search-body .pagination{margin-top:36px}

/* Sitemap */
.g-map-hero{background:#e7eadf;color:var(--forest);padding-top:36px;padding-bottom:70px;position:relative;overflow:hidden}
.g-map-hero:before{content:"";position:absolute;inset:auto -5% -1px auto;width:55%;height:70%;background:repeating-linear-gradient(90deg,#11221f14 0 1px,transparent 1px 64px),repeating-linear-gradient(0deg,#11221f14 0 1px,transparent 1px 64px);-webkit-mask-image:linear-gradient(135deg,transparent 20%,#000);mask-image:linear-gradient(135deg,transparent 20%,#000);pointer-events:none}
.g-map-hero .g-breadcrumb{color:var(--muted);position:relative;z-index:1}
.g-map-hero .g-eyebrow{color:var(--sage)}
.g-map-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);gap:clamp(30px,6vw,100px);align-items:end;position:relative;z-index:1}
.g-map-hero h1{font-size:clamp(56px,8vw,124px);line-height:1.04;letter-spacing:-.07em;margin:0;animation:g-rise .7s both}
.g-map-hero-side{border-top:1px solid var(--forest);padding-top:18px}
.g-map-hero-side p{font-size:17px;line-height:1.6;margin:0 0 18px}
.g-map-count{display:flex;align-items:baseline;gap:12px}
.g-map-count strong{font-size:clamp(48px,5vw,76px);line-height:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.g-map-body{background:var(--paper);padding-top:30px;padding-bottom:120px}
.g-map-group{display:grid;grid-template-columns:minmax(200px,.34fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);border-top:1px solid var(--forest);padding:40px 0 46px}
.g-map-group header{display:flex;flex-direction:column;gap:16px}
.g-map-index{font:600 clamp(40px,4.4vw,64px)/.9 YSDInter,sans-serif;letter-spacing:-.08em;color:#bccab9}
.g-map-group h2{font-size:clamp(26px,2.6vw,40px);line-height:1.2;letter-spacing:-.045em;margin:0}
.g-map-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,60px)}
.g-map-list>li{border-bottom:1px solid var(--line);padding:14px 0}
.g-map-list>li:has(.g-map-children){grid-column:1/-1}
.g-map-landing{display:inline-flex;align-items:baseline;gap:12px;font-size:clamp(19px,1.7vw,24px);font-weight:600;letter-spacing:-.02em;text-decoration:none;color:var(--forest)}
.g-map-landing:hover{color:var(--vermilion-dark);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.g-map-n{font-size:12px;font-weight:700;background:var(--lime);padding:2px 8px;letter-spacing:0}
.g-map-children{list-style:none;margin:14px 0 4px;padding:0 0 0 18px;border-left:2px solid var(--lime);display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 34px}
.g-map-children li{padding:7px 0;display:flex;flex-direction:column;gap:2px}
.g-map-children a{font-size:15px;line-height:1.45;text-decoration:none;border-bottom:1px solid transparent;align-self:flex-start}
.g-map-children a:hover{border-bottom-color:currentColor;color:var(--vermilion-dark)}
.g-map-note{font-size:12px;color:var(--sage)}

@keyframes g-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.g-search-hero h1,.g-search-form,.g-map-hero h1{animation:none}.g-destinations a span,.g-arrow-link span{transition:none}}

@media(max-width:1023px){
  .g-search-layout{grid-template-columns:1fr}
  .g-map-hero-grid{grid-template-columns:1fr}
  .g-map-group{grid-template-columns:1fr}
  .g-map-group header{flex-direction:row;align-items:baseline}
}
@media(max-width:699px){
  .g-breadcrumb{margin-bottom:44px}
  .g-search-hero{padding-bottom:48px}
  .g-search-hero h1{margin-bottom:32px}
  .g-search-field button{padding:0 16px}
  .g-search-field button span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .g-type-tabs a{min-height:58px;padding:12px 16px;font-size:15px}
  .g-result{grid-template-columns:1fr;gap:10px;padding:26px 0}
  .g-result-kind{margin:0;justify-self:start}
  .g-start-grid{grid-template-columns:1fr}
  .g-map-list{grid-template-columns:1fr}
  .g-map-children{grid-template-columns:1fr}
}
/* Narrow phones: the brand name yields space so the search and menu buttons stay whole. */
@media(max-width:419px){.site-header .brand{flex-shrink:1;min-width:0;gap:9px}.site-header .brand-text{font-size:11px;max-width:84px}.site-header .header-search-mobile{width:44px;height:44px}.site-header .menu-toggle{margin-left:8px;padding-left:12px;padding-right:12px}}
@media(max-width:359px){.site-header .brand-text{display:none}}
