*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:#f5f2e9;color:#233e35;font:15px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #aa784b;outline-offset:6px}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.08}h2{font-size:clamp(34px,3.8vw,56px);letter-spacing:-1.5px;margin-bottom:28px}h3{font-size:30px}em{font-weight:400}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:15px}.skip:focus{top:0}header{height:148px;display:grid;grid-template-columns:1fr 170px 1fr;align-items:center;padding:10px 5%;gap:30px}header nav,.header-right{display:flex;gap:30px;align-items:center;font-size:12px}.header-right{justify-content:flex-end}.brand{width:138px;justify-self:center}.brand img{mix-blend-mode:multiply;width:100%;height:132px;object-fit:contain}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:#233e35;color:#fff;padding:16px 23px;font-size:13px;border:0}.button:hover{background:#43564b}.small{padding:13px 18px}.hero{display:grid;grid-template-columns:47% 53%;min-height:610px}.hero-copy{background:#233e35;color:#f5f2e9;padding:42px 9% 35px 10.6%;display:flex;flex-direction:column;justify-content:space-between}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;line-height:1.5}.hero .eyebrow{color:#c9bb97}.date{font-size:15px;letter-spacing:1px;margin-bottom:24px}h1{font-size:clamp(38px,4.25vw,67px);letter-spacing:-1.8px;margin-bottom:24px}h1 em{display:block;font-size:.84em;color:#d5c4a3;margin-top:10px;white-space:nowrap}.tour{font-size:13px;letter-spacing:1px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.hero-bottom p{font-size:12px;margin:0;color:#d4dacf}.round-link{border:1px solid #d5c4a380;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;font-size:27px}.hero-photo{position:relative;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% center}.photo-caption{position:absolute;bottom:25px;right:25px;color:white;font-size:9px;letter-spacing:2px}.intro-line{display:flex;justify-content:space-between;border-bottom:1px solid #d6d3c7;padding:22px 5%;font-size:9px;letter-spacing:2px;color:#6b7264}.section{padding:95px 7%}.feature{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;align-items:center}.feature>div>p:not(.eyebrow){max-width:470px}.lead{font-family:Georgia,serif;font-size:21px;line-height:1.4}.text-link{display:inline-flex;gap:20px;border:0;border-bottom:1px solid #a79a7f;background:transparent;padding:5px 0;font-size:12px;text-align:left}.text-link:hover{color:#8d6743}.dates article{display:grid;grid-template-columns:100px 1fr;gap:25px;border-top:1px solid #c7c8b9;padding:27px 0}.dates h3{font-size:26px;margin-bottom:9px}.dates p{font-size:12px;margin-bottom:13px}.dates .eyebrow{font-size:9px}.day{display:flex;flex-direction:column;text-align:center}.day strong{font:62px/1 Georgia,serif}.day span{font-size:9px;letter-spacing:1.5px;margin-top:12px}.ticket-note{font-size:11px;color:#677062;border-top:1px solid #c7c8b9;padding-top:20px}.programme{background:#eae6db}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-head h2{margin-bottom:0}.events{display:grid;grid-template-columns:1fr 1fr;gap:45px}.event-img{aspect-ratio:1/1;overflow:hidden}.event img{width:100%;height:100%;object-fit:contain;object-position:center}.event-meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;margin:23px 0 16px}.event h3{font-size:39px;display:flex;justify-content:space-between;margin-bottom:10px}.event h3 span{font-family:Arial;font-size:25px}.event p{font-size:13px;margin-bottom:13px}.place{display:grid;grid-template-columns:1.05fr 1fr;background:#233e35;color:#f5f2e9}.place>img{width:100%;height:570px;object-fit:cover}.place>div{padding:85px 13%;align-self:center}.place .eyebrow{color:#c9bb97}.place p:not(.eyebrow){font-size:14px;color:#dbe0d5}.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.visit-grid article{border-top:1px solid #b9beac;padding-top:20px}.number{font-size:9px;letter-spacing:2px}.visit h3{margin:27px 0 20px;font-size:30px}.visit p{font-size:13px;max-width:260px;min-height:65px}footer{padding:50px 7% 20px;background:#e7e3d7;display:grid;grid-template-columns:1fr 1fr;gap:25px}footer>div:first-child{display:flex;gap:25px;align-items:center}footer img{width:115px;mix-blend-mode:multiply}footer p{font-size:12px}footer .eyebrow{display:block;margin-top:10px}.footer-mail{display:block;font:32px/1.3 Georgia,serif;margin:16px 0}.footer-base{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;font-size:10px;border-top:1px solid #c6c8b9;margin-top:25px;padding-top:20px}dialog{border:0;padding:48px;max-width:570px;width:calc(100% - 30px);background:#f5f2e9;color:#233e35}dialog::backdrop{background:#12251dde;backdrop-filter:blur(5px)}dialog h2{font-size:38px}dialog p{font-size:14px}.close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:30px}@media(min-width:1600px){.hero{min-height:720px}}@media(max-width:1000px){header{gap:15px;padding:10px 4%;grid-template-columns:1fr 130px 1fr}header nav,.header-right{gap:15px}.hotel-link{display:none}.hero{min-height:540px}.hero-copy{padding:30px 8%}h1{font-size:43px}.hero-photo img{object-position:50% center}.section{padding:70px 5%}.feature{gap:6%}.dates article{grid-template-columns:70px 1fr;gap:15px}.place>div{padding:50px 10%}.place>img{height:500px}}@media(max-width:650px){header{height:108px;grid-template-columns:1fr 94px 1fr;gap:8px}header nav{flex-direction:column;gap:5px;align-items:flex-start;font-size:11px}.brand{width:94px}.brand img{height:96px}.small{font-size:10px;padding:10px 12px;gap:8px}.small span{display:none}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:30px 6%}.hero-heading{margin-top:20px}h1{font-size:clamp(38px,9vw,55px);letter-spacing:-1px}h1 em{white-space:normal}.hero-bottom{margin-top:10px}.hero-photo{height:360px}.hero-photo img{object-fit:cover;object-position:center 50%}.intro-line{padding:18px 6%;font-size:8px;gap:20px}.intro-line span:last-child{display:none}.section{padding:55px 6%}.feature,.events,.place,.visit-grid{grid-template-columns:1fr}.feature{gap:38px}.dates article{grid-template-columns:75px 1fr;gap:20px}.section-head{display:block;margin-bottom:30px}.section-head>.text-link{margin-top:23px}.events{gap:40px}.event h3{font-size:35px}.place>img{height:330px}.place>div{padding:45px 6%}.visit-grid{gap:30px}.visit h3{margin-top:20px}.visit p{min-height:0;max-width:none}footer{padding:35px 6% 20px;grid-template-columns:1fr}.footer-base{flex-wrap:wrap;gap:15px}dialog{padding:40px 25px}dialog h2{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.event img{transition:none}}
.programme-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 0 0;margin-top:40px;border-top:1px solid #b9beac;font-size:11px}.programme-row strong{font:32px Georgia,serif}@media(max-width:650px){.programme-row{flex-wrap:wrap}.programme-row strong{font-size:27px}}

/* Vector arrows render consistently across desktop and mobile fonts. */
.arrow-icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.125em}.text-link,.button{align-items:center}.round-link .arrow-icon{width:24px;height:24px}.event h3 .arrow-icon{width:24px;height:24px}

/* Return the navigation when scrolling up, keeping its space in the page. */
html{scroll-padding-top:190px}
header{position:sticky;top:0;z-index:50;height:172px;background:#f5f2e9;transition:transform .25s ease,box-shadow .25s ease}
header.is-scrolled{box-shadow:0 3px 18px #233e3514}
header.is-hidden{transform:translateY(-105%)}
header:focus-within{transform:translateY(0)}
.brand{width:160px}.brand img{height:156px}
@media(min-width:651px) and (max-width:1000px){header{grid-template-columns:1fr 160px 1fr}}
@media(max-width:650px){html{scroll-padding-top:144px}header{height:126px;grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr)}.brand{width:112px}.brand img{height:110px}}
@media(prefers-reduced-motion:reduce){header{transition:none}}

/* Larger primary navigation on desktop; preserve the original mobile layout. */
@media(min-width:651px){header nav,.hotel-link{font-size:16px}}

/* Language switch stays visible on desktop and mobile. */
.header-right{display:grid;grid-template-columns:auto auto;gap:12px 24px;justify-content:end;align-items:center}
.language-switch{grid-column:1/-1;display:flex;justify-content:flex-end;gap:6px}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;font-size:11px;letter-spacing:1px;border-bottom:1px solid transparent}
.language-switch a[aria-current=page]{border-color:#a79a7f;font-weight:700}
.language-switch a:hover{color:#8d6743}
@media(max-width:1000px){.header-right{grid-template-columns:1fr;gap:5px}.header-right .small{justify-self:end}}
@media(max-width:650px){.language-switch{gap:0}.language-switch a{min-width:25px;min-height:32px;font-size:10px;letter-spacing:0}.header-right .small{max-width:100%;padding:9px 8px;line-height:1.4}.event-meta{gap:10px}header nav a{line-height:1.4}}
