@font-face{font-family:'Young Serif';src:url('/assets/young-serif.woff2') format('woff2');font-display:swap;font-weight:300 700}
@font-face{font-family:'DM Sans';src:url('/assets/dm-sans-normal.woff2') format('woff2');font-display:swap;font-weight:100 1000}
:root{
  --paper:#fff;--cream:#fff;--sage:#e5ebe3;--ink:#20382d;--muted:#506155;--line:#d0d9cf;
  --forest:#20382d;--deep:#182d24;--light-line:#687a6c;--light-ink:#e4e8d9;--sand:#e8c66a;
  --display:'Young Serif',Georgia,serif;--body:'DM Sans',Arial,sans-serif;--gutter:clamp(20px,5.3vw,84px);
  --header-height:88px;--header-compact-height:64px;--viewport-height:100vh;--card-photo-height:clamp(155px,16vw,245px);
  --ease-out:cubic-bezier(.22,1,.36,1);
  color:var(--ink);background:var(--paper);font:400 1rem/1.6 var(--body);color-scheme:light;
}
@supports(height:100dvh){:root{--viewport-height:100dvh}}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-block-start:var(--header-height)}
body,h1,h2,h3,p,dl,dd{margin:0}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-underline-offset:.22em}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button[disabled]{cursor:wait;opacity:.65}
[hidden]{display:none!important}
::selection{color:var(--deep);background:var(--sand)}
:focus-visible{outline:3px solid #916914;outline-offset:4px}
.hero :focus-visible,.contact-info :focus-visible,.site-footer :focus-visible{outline-color:var(--sand)}
.skip{position:fixed;z-index:4;top:12px;left:12px;padding:10px 16px;background:var(--cream);transform:translateY(-180%)}
.skip:focus{transform:none}
.shell{width:min(100% - var(--gutter)*2,1320px);margin-inline:auto}
.section{padding-block:clamp(64px,8.5vw,126px)}
section[id],.inquiry[id]{scroll-margin-top:20px}
h1,h2,h3{font-family:var(--display);font-weight:480;line-height:1.03;letter-spacing:-.035em}
h2{font-size:clamp(2.7rem,5.15vw,5.25rem);text-wrap:balance}
h3{font-size:clamp(1.7rem,2.6vw,2.35rem)}
.arrow{flex:none;width:20px;height:20px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s ease}
.button,.text-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;font-weight:700}
.button{min-height:48px;padding:11px 18px;border:1px solid transparent;border-radius:4px;line-height:1.25;font-size:.9rem;transition:background .18s ease,color .18s ease}
.button-primary{background:var(--forest);color:var(--cream)}
.button-primary:hover{background:#355646}
.button:hover .arrow,.text-link:hover .arrow{transform:translateX(3px)}
.text-link{align-self:start;justify-content:flex-start;font-size:.9rem;text-decoration:underline;text-decoration-color:#829487;text-underline-offset:5px;text-decoration-thickness:1px}
.js body:has(> main > .hero){
  --hero-header-overlap:var(--header-height);
  --hero-header-shade:linear-gradient(180deg,#101f19d4,#101f19cc var(--header-height),transparent calc(var(--header-height) + 100px));
}
/* Keep the page in place while the visible bar gets shorter. */
.site-header{
  --header-bar-height:var(--header-height);
  position:sticky;inset-block-start:0;z-index:2;min-height:var(--header-height);color:var(--cream);pointer-events:none;
  margin-block-end:calc(0px - var(--hero-header-overlap,0px));
}
.site-header.is-condensed{--header-bar-height:var(--header-compact-height)}
.site-header :focus-visible{outline-color:var(--sand);outline-offset:2px}
.header-inner{
  position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:var(--header-bar-height);
  width:auto;padding-inline:max(clamp(14px,2.25vw,52px),calc((100% - 1440px)/2));pointer-events:auto;
}
.header-inner::before{
  content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:var(--deep) url('/assets/cernes-chene.svg') no-repeat max(0px,calc((100vw - 1544px)/2)) 48% / 330px auto;
  box-shadow:inset 0 -1px #e8c66a44;
}
.js body:has(> main > .hero) .site-header:not(.is-condensed) .header-inner::before{opacity:0}
.site-header.is-condensed .header-inner{box-shadow:0 5px 18px #182d2440}
.brand{flex:none;display:inline-flex;align-items:center;gap:10px;text-decoration:none;white-space:nowrap}
.brand-logo{width:57px;height:auto;object-fit:contain}
.site-header.is-condensed .brand-logo{width:43px}
.brand span{display:block;font:500 1.34rem/1.06 var(--display);letter-spacing:-.035em}
.brand small{display:block;margin-top:5px;color:var(--sand);font:700 .59rem/1.15 var(--body);letter-spacing:.15em;text-transform:uppercase}
#navigation{display:flex;align-items:center;gap:clamp(8px,.8vw,15px)}
.nav-link{position:relative;display:flex;align-items:center;min-height:44px;white-space:nowrap;text-decoration:none;font-size:.86rem;font-weight:650}
.nav-link::after{
  content:'';position:absolute;inset:auto 0 5px;block-size:2px;border-radius:2px;background:currentColor;
  opacity:0;transform:scaleX(.45);transform-origin:left;
}
.nav-link:is(:hover,:focus-visible,.nav-active),.nav-group:has(details[open])>.nav-link{color:var(--sand)}
.nav-link:is(:hover,:focus-visible,.nav-active)::after,.nav-group:has(details[open])>.nav-link::after{opacity:1;transform:scaleX(1)}
.nav-group{position:relative;display:flex;align-items:center;gap:2px}
.nav-disclosure summary{display:grid;place-items:center;width:25px;height:44px;cursor:pointer;list-style:none;border-radius:5px}
.nav-disclosure summary::-webkit-details-marker{display:none}
.nav-disclosure summary:hover,.nav-disclosure[open]>summary{color:var(--sand);background:#e8c66a1b}
.nav-disclosure summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nav-disclosure[open]>summary svg{transform:rotate(180deg)}
.nav-group:has(>a[href='/hebergements/']){--nav-photo:url('/assets/gites.webp')}
.nav-group:has(>a[href='/restaurant-saint-savinien/']){--nav-photo:url('/assets/restaurant.webp');--nav-photo-pos:44% center}
.nav-group:has(>a[href='/vacances-saint-savinien/']){--nav-photo:url('/assets/activites.webp')}
.nav-group:has(>a[href='/groupes/']){--nav-photo:url('/assets/groupe-randonnee-sentier-boise.webp')}
.nav-group:has(>a[href='/salles-et-evenements/']){--nav-photo:url('/assets/repas-de-groupe-sous-les-arbres.webp')}
.nav-disclosure ul:has(a[href='/location-salle-charente-maritime/']:is(:hover,:focus-visible)){--nav-photo:url('/assets/salle-tables-nappees.webp')}
.nav-disclosure ul:has(a[href='/seminaires/']:is(:hover,:focus-visible)){--nav-photo:url('/assets/seminaire-salle-chaises-bois.webp')}
.nav-disclosure ul:has(a[href='/evenements/']:is(:hover,:focus-visible)){--nav-photo:url('/assets/fete-privee-table-jardin.webp')}
.nav-disclosure ul:has(a[href='/stop-lunch/']:is(:hover,:focus-visible)){--nav-photo:url('/assets/stop-lunch-poisson-grille.webp')}
.nav-disclosure ul{
  --nav-image-width:146px;
  position:absolute;z-index:2;inset:calc(100% + 10px) auto auto -12px;
  display:grid;align-content:center;width:max-content;min-width:calc(236px + var(--nav-image-width));
  min-height:156px;margin:0;padding:8px calc(var(--nav-image-width) + 16px) 8px 8px;
  color:var(--ink);background:var(--sage);box-shadow:0 14px 32px #172b2340;border-radius:12px;list-style:none;
}
.nav-disclosure ul::after{
  content:'';position:absolute;inset:8px 8px 8px auto;width:var(--nav-image-width);border-radius:7px;
  background:var(--nav-photo) var(--nav-photo-pos,center) / cover no-repeat;pointer-events:none;
}
.nav-disclosure:not([open]) ul{display:none}
.nav-group:nth-last-of-type(-n+2) .nav-disclosure ul{inset-inline:auto -12px}
.nav-disclosure a{display:block;padding:10px 12px;border-radius:6px;font-size:.89rem;font-weight:640;text-decoration:none}
.nav-disclosure a:is(:hover,[aria-current]){background:var(--paper);text-decoration:underline}
.nav-disclosure a:focus-visible{outline-color:#916914;outline-offset:-2px}
.header-contact{
  gap:8px;min-height:44px;margin-inline-start:5px;padding:5px 5px 5px 13px;border-radius:24px;
  color:var(--deep);background:var(--sand);white-space:nowrap;
}
.header-contact:is(:hover,[aria-current]){background:var(--cream);color:var(--deep)}
.header-contact svg{width:28px;height:28px;padding:5px;border:1px solid #182d2466;border-radius:50%;stroke-width:1.7}
.header-contact:hover .arrow{transform:rotate(-12deg)}
.menu-toggle{display:none;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid #e8c66a8c;border-radius:24px;padding:7px 12px;background:transparent;color:var(--cream);font-size:.88rem;font-weight:700}
.menu-toggle:hover,.menu-toggle[aria-expanded='true']{color:var(--deep);background:var(--sand)}
.menu-toggle svg{display:none}
.menu-toggle::after{
  content:'';width:19px;height:19px;background:currentColor;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M3 8h18M8 16h13'/%3E%3C/svg%3E") center/contain no-repeat;
}
.menu-toggle[aria-expanded='true']::after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='m6 6 12 12M18 6 6 18'/%3E%3C/svg%3E")}
.hero{
  --hero-padding-top:clamp(88px,22vh,220px);
  --hero-padding-bottom:clamp(26px,5.5vh,64px);
  --hero-text-shade:linear-gradient(0deg,#101f19f5 0%,#101f19c7 29%,#101f195c 53%,transparent 78%);
  position:relative;isolation:isolate;display:grid;align-items:end;overflow:hidden;
  min-block-size:calc(var(--viewport-height) - var(--header-height) + var(--hero-header-overlap,0px));
  padding-block:calc(var(--hero-padding-top) + var(--hero-header-overlap,0px)) var(--hero-padding-bottom);
  background:var(--deep);color:#fff;
}
.hero-image,.hero::before{position:absolute;inset:0}
.hero-image{z-index:-2;object-position:50% 59%}
.hero::before{
  content:'';z-index:-1;
  background-image:var(--hero-header-shade,none),var(--hero-text-shade);
}
.hero-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px 36px}
.hero-content{max-width:730px}
.hero h1{font:510 clamp(2.45rem,6vw,6rem)/1.02 var(--display);letter-spacing:-.037em;overflow-wrap:anywhere}
.hero h1 span{display:block;margin-top:10px;font:600 clamp(1.08rem,2vw,1.75rem)/1.25 var(--body);letter-spacing:0}
.hero-copy{max-width:55ch;margin-top:13px;color:#f5f8f5;font-size:clamp(.95rem,1.32vw,1.12rem);line-height:1.45}
.hero-actions,.hero-secondary{display:flex;align-items:center;flex-wrap:wrap;gap:4px 21px}
.hero-actions{margin-top:19px}
.hero-button{background:#fff;color:var(--deep)}
.hero-button:hover{background:#e6efe8}
.hero-link{min-height:44px;display:inline-flex;align-items:center;font-size:.89rem;font-weight:700;text-decoration-color:#e4e8e0}
.hero-link:hover{text-decoration-thickness:2px}
.hero-place{display:flex;align-items:center;gap:7px;color:#f5f8f5;font-size:.78rem;font-weight:700;line-height:1.3}
.hero-place svg{width:17px;height:17px;flex:none;stroke:currentColor;fill:none;stroke-width:1.45}
.intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(32px,6vw,95px);align-items:center}
.intro h2{text-wrap:initial;max-width:660px}
.intro p,.section-lead p{color:var(--muted);max-width:63ch;margin-top:14px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:19px 13px;border-block:1px solid var(--line)}
.facts>div{padding-inline:clamp(7px,1.5vw,24px)}
.facts>div:first-child{padding-left:0}
.facts>div+div{border-left:1px solid var(--line)}
.facts dt{font:490 clamp(2.05rem,4.1vw,4.4rem)/1 var(--display);letter-spacing:-.05em;overflow-wrap:anywhere}
.facts dd{font-size:.83rem;line-height:1.35;margin-top:4px;color:var(--muted)}
.stays-section{background:var(--sage)}
.section-lead{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:10px 50px;align-items:end;margin-bottom:clamp(32px,5.5vw,64px)}
.section-lead h2{text-wrap:initial}
.section-lead p{max-width:52ch}
.stays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,27px);align-items:stretch}
.stay{display:flex;min-width:0;flex-direction:column;background:var(--cream);border-radius:12px;overflow:hidden}
.card-photo{position:relative;block-size:var(--card-photo-height);overflow:hidden;background:#d7dcd8;border-radius:4px}
.card-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.stay .card-photo{border-radius:0}
.stay-body{display:flex;flex:1;flex-direction:column;padding:clamp(18px,2.3vw,32px)}
.stay-meta{margin-block:5px 10px;color:#496351;font-size:.82rem;font-weight:700}
.stay-body>p:not(.stay-meta){color:var(--muted);font-size:.94rem;margin-bottom:17px}
.stay .text-link{margin-top:auto}
.intro .text-link{margin-top:17px}
.home-discovery h2{margin-bottom:26px}
.home-discovery+.home-discovery{border-top:1px solid var(--line)}
.home-discovery .section-lead h2{margin-bottom:0}
.home-discovery .section-lead .text-link{margin-top:9px}
.discovery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,36px)}
.destination-grid{--card-photo-height:clamp(184px,24vw,340px);grid-template-columns:repeat(2,minmax(0,1fr))}
.section-lead #destinations-title{text-wrap:balance}
img[src='/assets/saintes-arc-de-germanicus.webp']{object-position:50% 20%}
.event-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.discovery-item a{display:block;text-decoration:none}
.discovery-item h3{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0 8px;font:500 1.65rem/1.1 var(--display)}
.discovery-item a:hover h3{text-decoration:underline}
.discovery-item p{color:var(--muted);font-size:.92rem}
.page-heading figure,.photo-gallery figure{margin:0;min-width:0}
.photo-credit,.discovery-item .photo-credit{margin-top:7px;color:var(--muted);font-size:.75rem;line-height:1.4}
.photo-credit a,.discovery-item .photo-credit a{display:inline;text-decoration:underline}
.photo-gallery ul{list-style:none;padding:0;margin:0}
.photo-gallery a{display:block}
.photo-gallery ul:has(>li:only-child){grid-template-columns:minmax(0,560px)}
.photo-gallery .photo-credit a{display:inline}
.news-section{padding-block:clamp(25px,5vw,72px) clamp(56px,8vw,110px)}
.news-heading{max-width:780px;margin-bottom:clamp(23px,4vw,50px)}
.news-heading h1{font-size:clamp(2.8rem,6vw,5.7rem);overflow-wrap:anywhere}
.news-heading p{margin-top:12px;color:var(--muted);font-size:1.08rem;max-width:62ch;overflow-wrap:anywhere}
.news-heading .news-date{margin-bottom:9px}
.news-date{display:block;color:#476351;font-size:.83rem;font-weight:700;font-variant-numeric:tabular-nums}
.news-card{min-width:0;background:#fff;border-radius:8px;overflow:hidden}
.news-card>a{display:block;height:100%;text-decoration:none}
.news-card>a:focus-visible{outline-offset:-4px}
.news-card a:hover :is(h2,h3){text-decoration:underline}
.news-card .card-photo{border-radius:0}
.news-card-copy{padding:clamp(16px,2.4vw,25px);overflow-wrap:anywhere}
.news-card-copy :is(h2,h3){margin-block:8px;font-size:clamp(1.55rem,2.55vw,2.4rem);text-wrap:initial}
.news-card-copy p,.news-empty{color:var(--muted)}
.article-photo{width:min(100%,940px);max-block-size:520px;aspect-ratio:1.9;overflow:hidden;border-radius:6px}
.article-body{max-width:70ch;margin-block:23px 28px;white-space:pre-wrap;overflow-wrap:anywhere}
.breadcrumbs{padding-block:20px 16px;color:var(--muted);font-size:.81rem;font-weight:650}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:4px 0;list-style:none;padding:0;margin:0}
.breadcrumbs li+li::before{content:'/';margin-inline:9px;color:#738375}
.breadcrumbs [aria-current]{color:var(--ink)}
.page-heading{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(28px,5.5vw,86px);padding-block:10px clamp(40px,6vw,88px)}
.page-heading h1,.contact-info h1,.faq h1{font-size:clamp(3rem,5.7vw,6rem);line-height:.98;overflow-wrap:anywhere}
.page-heading p{max-width:61ch;margin-top:16px;color:var(--muted);font-size:clamp(1rem,1.5vw,1.17rem)}
.page-heading .button{margin-top:22px}
.page-heading-image{aspect-ratio:1.5;background:#c4cfb7;border-radius:5px;overflow:hidden}
.page-reading{padding-block:0 clamp(42px,6vw,84px)}
.page-reading-split{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(24px,5vw,76px);align-items:start}
.page-copy{max-width:720px}
.page-copy section{padding:19px 0;border-top:1px solid var(--line)}
.page-copy h2,.page-practical>h2{font-size:clamp(1.75rem,3vw,2.65rem);text-wrap:initial}
.page-copy h3{font-size:1.55rem}
.page-copy p,.page-practical p{margin-top:7px;color:var(--muted)}
.page-practical{background:var(--sage);padding:clamp(18px,3vw,32px);border-radius:5px}
.page-practical ul{padding-left:19px;margin:12px 0 0}
.page-practical li+li{margin-top:4px}
.page-practical .facts{margin-top:16px}
.page-practical .facts dt{font-size:clamp(1.6rem,3vw,2.65rem)}
.page-practical .page-copy section{padding:10px 0 8px}
.page-practical .page-copy h2{margin-bottom:14px}
.page-practical .page-copy+h2{margin-top:16px}
.related{background:var(--sage);padding-block:clamp(30px,4vw,55px)}
.related+.related{border-top:1px solid var(--line)}
.related h2,.subsection-heading{font-size:clamp(2.1rem,4vw,3.8rem);text-wrap:initial;margin-bottom:18px}
.related ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 23px;list-style:none;margin:0;padding:0}
.related-link{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #b7c6b6;padding:12px 0;text-decoration:none;font-weight:680}
.related-link:hover{text-decoration:underline}
.faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:26px clamp(32px,7vw,100px);align-items:start}
.faq h1{max-width:10ch}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;position:relative;padding:16px 36px 16px 0;font-weight:700}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after,.faq-list summary::before{content:'';width:13px;height:1px;background:currentColor;position:absolute;right:8px;top:50%}
.faq-list summary::after{transform:rotate(90deg);transition:transform .18s ease}
.faq-list details[open] summary::after{transform:rotate(0)}
.faq-list p{padding:0 27px 17px 0;color:var(--muted);max-width:68ch}
.contact{background:var(--forest);color:var(--cream)}
.contact-grid{display:grid;gap:clamp(28px,6vw,90px);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start}
.contact-info .text-link{color:#f5d782;text-decoration-color:#a99861}
.access-note{margin-top:27px}
.access-note h2,.inquiry h2{font-size:clamp(1.55rem,2.6vw,2.35rem);text-wrap:initial}
.access-note p{margin-top:5px;color:var(--light-ink)}
.contact-info>p{margin-top:13px;color:var(--light-ink)}
.contact-info address{display:grid;gap:5px;margin-block:28px 18px;font-style:normal}
.contact-info address span{margin-bottom:9px}
.contact-info address a{justify-self:start;overflow-wrap:anywhere}
.contact-info .season{font-size:.9rem;margin-bottom:24px}
.inquiry{color:var(--ink);background:var(--cream);border-radius:12px;padding:clamp(18px,3.2vw,43px)}
.inquiry>p{margin-top:6px;color:var(--muted);font-size:.87rem}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin-block:18px 13px}
.form-grid label{display:grid;gap:5px;font-size:.84rem;font-weight:690}
.form-grid :is(input,select,textarea){display:block;width:100%;min-width:0;min-height:44px;padding:8px 10px;color:var(--ink);background:var(--cream);border:1px solid #8c9a8b;border-radius:4px;font-size:1rem;font-weight:400}
.form-grid textarea{resize:vertical}
.form-grid .wide{grid-column:1/-1}
.form-grid .trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.inquiry button{margin-top:15px}
.inquiry .form-status:not(:empty){margin-top:14px;font-weight:650}
.form-status[data-state='error']{color:#8c312b}
.site-footer{padding-block:37px 23px;background:var(--deep);color:var(--light-ink)}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-bottom:23px;border-bottom:1px solid var(--light-line)}
.footer-identity{display:flex;gap:15px;align-items:center}
.footer-logo{width:70px;height:78px;object-fit:contain}
.footer-brand{font:500 2rem/1 var(--display);color:var(--cream);text-decoration:none}
.footer-top p{margin-top:5px;font-size:.85rem}
.footer-top nav{display:flex;flex-wrap:wrap;gap:8px 21px;font-size:.87rem}
.footer-legal{display:flex;flex-wrap:wrap;gap:2px 19px;margin-top:10px;font-size:.85rem}
.footer-legal a{display:inline-flex;align-items:center;min-height:32px}
.legal-document{max-width:74ch;padding-block:clamp(20px,4vw,50px) clamp(58px,7vw,100px);overflow-wrap:anywhere}
.legal-document h1{margin-bottom:1.35rem;font-size:clamp(2.6rem,5.7vw,5rem)}
.legal-document h2{margin:1.65rem 0 .55rem;font-size:clamp(1.5rem,3vw,2.35rem);text-wrap:initial}
.legal-document h3{margin:1.15rem 0 .4rem;font-size:1.35rem}
.legal-document p+p,.legal-document li+li{margin-top:.55rem}
.legal-document ul,.legal-document ol{margin-block:.7rem 1rem;padding-inline-start:1.4rem}
.legal-document table{width:100%;table-layout:fixed;border-collapse:collapse;margin-block:.9rem}
.legal-document td{padding:8px;border:1px solid var(--line);vertical-align:top}
.legal-intro{padding:14px 16px;margin-bottom:1.1rem;border-radius:6px;background:var(--sage)}
.cookie-notice{
  position:fixed;z-index:1;inset-inline-end:max(12px,env(safe-area-inset-right));
  inset-block-end:max(12px,env(safe-area-inset-bottom));
  display:flex;align-items:center;gap:12px;width:min(100% - 24px,380px);padding:12px;
  border-radius:12px;color:var(--ink);background:var(--cream);box-shadow:0 8px 24px #182d2440;
}
.cookie-notice p{min-width:0;font-size:.875rem;line-height:1.45;overflow-wrap:anywhere}
.cookie-notice a{display:inline-flex;align-items:center;min-height:24px;font-weight:700}
.cookie-notice .button{flex:none;min-height:44px;padding:8px 12px}
@media(max-width:1230px){
  :root{--header-height:74px;--header-compact-height:60px}
  html:not(.js){scroll-padding-block-start:0}
  html:not(.js) .site-header{position:relative}
  .header-inner{flex-wrap:wrap;gap:10px;padding-block:4px}
  .header-inner::before{background-size:285px auto}
  .brand-logo{width:51px}
  .site-header.is-condensed .brand-logo{width:40px}
  .menu-toggle:not([hidden]){display:inline-flex}
  #navigation{
    flex:1 0 100%;display:grid;grid-template-columns:1fr;align-items:start;gap:0;
    padding:7px 12px 13px;border-radius:12px;color:var(--ink);background:var(--sage);
  }
  #navigation :focus-visible{outline-color:#916914;outline-offset:-2px}
  .nav-link{min-height:51px;padding-inline:10px;white-space:normal;font-size:1rem;font-weight:680}
  .nav-link::after{inset:auto auto 8px 10px;width:24px}
  .nav-link:is(:hover,:focus-visible,.nav-active),.nav-group:has(details[open])>.nav-link{color:var(--ink)}
  .nav-link.nav-active::after{background:#916914}
  #navigation>:is(.nav-link,.nav-group)+:is(.nav-link,.nav-group){border-top:1px solid var(--line)}
  .nav-group{display:block}
  .nav-group>.nav-link{padding-inline-end:60px}
  .nav-disclosure summary{position:absolute;inset:4px 4px auto auto;width:44px;height:44px;border-radius:22px;background:var(--paper)}
  .nav-disclosure summary:hover,.nav-disclosure[open]>summary{color:var(--cream);background:var(--forest)}
  .nav-disclosure ul{position:static;width:auto;min-width:0;min-height:0;margin:0 4px 7px;padding:3px 5px;background:var(--paper);box-shadow:none;border-radius:8px}
  .nav-disclosure ul::after{display:none}
  .nav-disclosure a:is(:hover,[aria-current]){background:var(--sage)}
  .header-contact{justify-self:stretch;justify-content:space-between;margin:9px 4px 0;padding-inline-start:13px}
  .js #navigation{display:none}
  .js #navigation.open{
    display:grid;position:absolute;inset:calc(100% + 8px) max(14px,2.25vw) auto auto;
    width:min(100% - 28px,460px);max-block-size:calc(var(--viewport-height) - var(--header-bar-height) - 16px);
    overflow:auto;overscroll-behavior:contain;box-shadow:0 14px 32px #172b2340;
  }
}
@media(max-width:1020px){
  .event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  :root{--card-photo-height:clamp(152px,49vw,236px)}
  body:has(> main > .hero) .cookie-notice{inset-block-start:calc(var(--header-height) + 8px);inset-block-end:auto}
  .section{padding-block:64px}
  .intro,.section-lead,.page-heading,.page-reading-split,.contact-grid,.faq{grid-template-columns:1fr}
  .section-lead{margin-bottom:27px}
  .section-lead p{margin-top:0}
  .intro,.faq{gap:24px}
  .facts{max-width:520px}
  .stays{grid-template-columns:1fr}
  .discovery-grid,.related ul{grid-template-columns:1fr}
  .destination-grid{--card-photo-height:clamp(185px,49vw,265px)}
  .page-heading{gap:22px}
  .page-heading-image{aspect-ratio:1.55}
  .faq h1{max-width:none}
  .footer-top{align-items:flex-start;flex-direction:column}
}
@media(max-width:760px){
  .hero-layout{grid-template-columns:1fr;gap:10px}
  .hero h1{font-size:clamp(2rem,8.4vw,4rem)}
  .hero-image{object-position:51% 54%}
  .hero{--hero-text-shade:linear-gradient(0deg,#101f19f7,#101f19de 34%,#101f1970 58%,transparent 82%)}
}
@media(max-width:480px) and (max-height:680px){
  .hero{--hero-padding-top:72px;--hero-padding-bottom:18px}
  .hero h1 span{margin-top:6px}
  .hero-copy{font-size:.9rem;margin-top:8px}
  .hero-actions{margin-top:12px}
}
@media(min-width:581px) and (max-height:540px){
  .hero{--hero-padding-top:24px;--hero-padding-bottom:18px}
  .hero h1{font-size:clamp(2rem,9vh,3.4rem)}
  .hero h1 span,.hero-copy{margin-top:6px}
  .hero-copy{font-size:.92rem}
  .hero-actions{margin-top:10px}
}
@media(max-width:400px){
  .brand{gap:8px}
  .brand-logo{width:46px}
  .brand span{font-size:1.21rem}
  .hero-secondary{column-gap:15px}
  .form-grid{grid-template-columns:1fr}
}
@media(max-width:360px){
  .menu-toggle{width:44px;justify-content:center;padding:0}
  .menu-toggle span{display:none}
  .hero-secondary{column-gap:12px}
  .hero-link{font-size:.8rem}
  .hero-place{font-size:.73rem}
}
@media(max-width:290px){.cookie-notice{flex-direction:column;align-items:flex-start}}
@media print{.cookie-notice{display:none}}
@media(prefers-reduced-motion:no-preference){
  .header-inner{transition:min-height 260ms var(--ease-out),box-shadow 260ms var(--ease-out)}
  .header-inner::before{transition:opacity 260ms var(--ease-out)}
  .brand-logo{transition:width 260ms var(--ease-out)}
  .stay,.news-card{transition:transform 230ms var(--ease-out),box-shadow 230ms var(--ease-out)}
  .card-photo img{transition:transform 520ms var(--ease-out)}
  .nav-link::after{transition:opacity 160ms var(--ease-out),transform 180ms var(--ease-out)}
  .nav-link,.nav-disclosure summary,.menu-toggle{transition:background-color 160ms var(--ease-out),color 160ms var(--ease-out)}
  .nav-disclosure summary svg{transition:transform 180ms var(--ease-out)}
  .nav-disclosure[open] ul{animation:menu-enter 180ms var(--ease-out)}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .stay:hover,.news-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px #17352620}
  .stay:hover .card-photo img,.discovery-item a:hover .card-photo img,
  .news-card a:hover .card-photo img,.photo-gallery a:hover .card-photo img{transform:scale(1.045)}
  .discovery-item a:hover .arrow{transform:translateX(4px)}
}
@keyframes menu-enter{from{opacity:.65;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1230px) and (prefers-reduced-motion:no-preference){
  .js #navigation.open{animation:menu-enter 180ms var(--ease-out);transition:max-block-size 260ms var(--ease-out)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
