:root{--blue: #87B7CF;--blue-dark: #5a94b0;--blue-light: #b8d4e3;--blue-pale: #e8f2f7;--pink: #A8778A;--pink-dark: #8a5a6e;--pink-light: #c49aaa;--pink-pale: #f5edf0;--charcoal: #1e1e1c;--ink: #2c2c2a;--mid: #5a5855;--muted: #8a8784;--light: #b8b5b0;--border: #e2ddd8;--border-light: #ede9e4;--stone: #d4cfc9;--warm-white: #faf8f5;--cream: #f5f1ec;--ivory: #f0ebe4;--white: #ffffff;--dark: #1a0a10;--dark-mid: #2a0f1a;--dark-warm: #1f0d14;--serif: "Cormorant Garamond", Georgia, serif;--sans: "Jost", system-ui, sans-serif;--text-xs: .65rem;--text-sm: .78rem;--text-base: .95rem;--text-md: 1.1rem;--text-lg: 1.2rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.8rem;--text-4xl: 3.8rem;--text-5xl: 5rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 56px;--space-10: 72px;--space-11: 96px;--space-12: 128px;--container-max: 1200px;--container-wide: 1400px;--container-x: clamp(20px, 5vw, 80px);--section-y: clamp(60px, 8vw, 120px);--ease: cubic-bezier(.25, .1, .25, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--fast: .18s var(--ease);--mid-speed: .32s var(--ease);--slow: .5s var(--ease-out);--shadow-sm: 0 2px 8px rgba(0,0,0,.06);--shadow-md: 0 4px 20px rgba(0,0,0,.1);--shadow-lg: 0 12px 48px rgba(0,0,0,.14);--z-base: 1;--z-raised: 10;--z-sticky: 100;--z-overlay: 200;--z-modal: 300;--z-toast: 400}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}html{overflow-x:clip}body{font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--warm-white);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}img,video{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}input,textarea,select{font-family:inherit}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:300;line-height:1.2;color:var(--charcoal)}.serif{font-family:var(--serif)}.sans{font-family:var(--sans)}.eyebrow{display:block;font-family:var(--sans);font-size:var(--text-xs);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:var(--space-3)}.eyebrow--pink{color:var(--pink)}.eyebrow--light{color:#ffffffb3}.eyebrow--muted{color:var(--muted)}.rule{width:48px;height:1px;background:var(--blue);border:none;margin:var(--space-5) 0}.rule--pink{background:var(--pink)}.rule--centre{margin-left:auto;margin-right:auto}.rule--light{background:#ffffff59}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-x)}.container--wide{max-width:var(--container-wide);margin:0 auto;padding:0 var(--container-x)}.container--narrow{max-width:760px;margin:0 auto;padding:0 var(--container-x)}.section{padding:var(--section-y) var(--container-x)}.section--ivory{background:var(--ivory)}.section--cream{background:var(--cream)}.section--white{background:var(--white)}.section--dark{background:var(--dark)}.section--blue{background:var(--blue-pale)}.section--pink{background:var(--pink-pale)}.text-centre{text-align:center}.section-header{text-align:center;margin-bottom:var(--space-9)}.section-header__title{font-family:var(--serif);font-size:clamp(2rem,4vw,3.2rem);font-weight:300;color:var(--charcoal);line-height:1.2;margin-bottom:var(--space-4)}.section-header__title--light{color:#fff}.section-header__lead{font-family:var(--sans);font-size:var(--text-md);color:var(--mid);line-height:1.8;max-width:600px;margin:0 auto}.btn{display:inline-block;font-family:var(--sans);font-size:var(--text-xs);font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:14px 32px;transition:all var(--mid-speed);text-decoration:none;cursor:pointer;border:none;position:relative;overflow:hidden}.btn--blue{background:var(--blue);color:var(--white)}.btn--blue:hover{background:var(--blue-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn--pink{background:var(--pink);color:var(--white)}.btn--pink:hover{background:var(--pink-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn--dark{background:var(--dark);color:var(--white)}.btn--dark:hover{background:var(--charcoal);transform:translateY(-1px)}.btn--outline{background:transparent;color:var(--charcoal);border:1px solid var(--charcoal)}.btn--outline:hover{background:var(--charcoal);color:var(--white)}.btn--outline-blue{background:transparent;color:var(--blue);border:1px solid var(--blue)}.btn--outline-blue:hover{background:var(--blue);color:var(--white)}.btn--ghost{background:transparent;color:#ffffffd9;border:1px solid rgba(255,255,255,.45)}.btn--ghost:hover{background:#ffffff1f;border-color:#ffffffd9}.btn--lg{padding:18px 44px;font-size:.72rem}.btn--sm{padding:10px 22px}.btn--full{width:100%;text-align:center}.link-text{font-family:var(--sans);font-size:var(--text-sm);font-weight:500;letter-spacing:.1em;color:var(--blue);text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:gap var(--fast),color var(--fast)}.link-text:hover{gap:10px;color:var(--blue-dark)}.link-text--pink{color:var(--pink)}.link-text--pink:hover{color:var(--pink-dark)}.link-text--dark{color:var(--charcoal)}.link-text--dark:hover{color:var(--blue)}.site-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);transition:background var(--mid-speed),box-shadow var(--mid-speed),padding var(--mid-speed);padding:0}.site-header__inner{max-width:var(--container-wide);margin:0 auto;padding:0 var(--container-x);display:flex;align-items:center;justify-content:space-between;height:80px;transition:height var(--mid-speed)}.site-header--scrolled{background:#1a2420f7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px #ffffff0f}.site-header--scrolled .site-header__inner{height:64px}.site-header--light{background:transparent}.site-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;z-index:2}.site-logo__img{height:38px;width:auto}.site-logo__text{font-family:var(--serif);font-size:1.4rem;font-weight:300;color:#fff;letter-spacing:.08em;line-height:1}.site-logo__text span{display:block;font-family:var(--sans);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--blue-light);margin-top:3px;font-weight:400}.site-nav{display:flex;align-items:center;gap:0}.site-nav__item{position:relative}.site-nav__link{display:flex;align-items:center;gap:5px;font-family:var(--sans);font-size:.72rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:#ffffffd1;padding:28px 16px;text-decoration:none;transition:color var(--fast);white-space:nowrap}.site-nav__link:hover,.site-nav__link.is-active{color:#fff}.site-nav__link--book{background:var(--blue);color:#fff!important;padding:10px 22px;margin-left:var(--space-4);font-weight:500}.site-nav__link--book:hover{background:var(--blue-dark)}.site-nav__chevron{width:10px;height:10px;opacity:.6;transition:transform var(--fast)}.site-nav__item:hover .site-nav__chevron{transform:rotate(180deg)}.site-nav__dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%) translateY(8px);min-width:220px;background:var(--dark);border-top:2px solid var(--blue);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--mid-speed),transform var(--mid-speed),visibility var(--mid-speed);z-index:var(--z-overlay)}.site-nav__item:hover .site-nav__dropdown{opacity:1;visibility:visible;pointer-events:all;transform:translate(-50%) translateY(0)}.site-nav__dropdown-link{display:block;font-family:var(--sans);font-size:.75rem;letter-spacing:.08em;color:#fff;padding:12px 20px;text-decoration:none;transition:color var(--fast),background var(--fast),padding-left var(--fast);border-bottom:1px solid rgba(255,255,255,.06)}.site-nav__dropdown-link:last-child{border-bottom:none}.site-nav__dropdown-link:hover{color:#fff;background:#ffffff0d;padding-left:26px}.site-nav__dropdown-link--highlight{color:var(--blue-light)!important}.nav-toggle{display:none;flex-direction:column;gap:5px;padding:8px;z-index:var(--z-modal);cursor:pointer;background:none;border:none}.nav-toggle__bar{display:block;width:24px;height:1.5px;background:#fff;transition:transform var(--mid-speed),opacity var(--mid-speed),width var(--fast);transform-origin:left center}.nav-toggle.is-open .nav-toggle__bar:nth-child(1){transform:rotate(45deg) translateY(-1px)}.nav-toggle.is-open .nav-toggle__bar:nth-child(2){opacity:0;width:0}.nav-toggle.is-open .nav-toggle__bar:nth-child(3){transform:rotate(-45deg) translateY(1px)}.mobile-menu{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--dark);z-index:var(--z-overlay);overflow-y:auto;padding:100px var(--container-x) var(--space-10);opacity:0;transform:translate(100%);transition:opacity var(--mid-speed),transform var(--mid-speed)}.mobile-menu.is-open{opacity:1;transform:translate(0)}.mobile-menu__group{margin-bottom:var(--space-7)}.mobile-menu__label{font-family:var(--sans);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin-bottom:var(--space-4);display:block}.mobile-menu__link{display:block;font-family:var(--serif);font-size:1.6rem;font-weight:300;color:#ffffffd9;padding:var(--space-2) 0;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.06);transition:color var(--fast),padding-left var(--fast)}.mobile-menu__link:hover{color:#fff;padding-left:var(--space-3)}.mobile-menu__link--book{color:var(--blue-light)!important;font-weight:400}.mobile-menu__social{display:flex;gap:var(--space-5);margin-top:var(--space-7)}.mobile-menu__social a{font-family:var(--sans);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:#ffffff73;text-decoration:none;transition:color var(--fast)}.mobile-menu__social a:hover{color:#ffffffd9}.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden}.hero--interior{min-height:55vh;align-items:flex-end}.hero--attraction{min-height:clamp(480px,52vw,820px);height:clamp(480px,52vw,820px)}.hero--medium{min-height:70vh}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero__bg img,.hero__bg .placeholder-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(to top,#1a0a10f2,#1a0a108c 45%,#1a0a1000)}.hero__content{position:relative;z-index:2;max-width:var(--container-wide);margin:0 auto;padding:var(--space-11) var(--container-x) clamp(12px,2.5vh,28px);width:100%}.hero__content--centre{text-align:center;display:flex;flex-direction:column;align-items:center}.hero__eyebrow{margin-bottom:var(--space-4)}.hero--attraction .hero__title{font-size:clamp(2.4rem,4vw,4rem)}.hero__title{font-family:var(--serif);font-size:clamp(1.75rem,7vw,7rem);font-weight:300;color:#fff;line-height:1.05;margin-bottom:var(--space-5);max-width:800px}.hero__sub{font-family:var(--sans);font-size:clamp(.9rem,1.5vw,1.1rem);color:#fff;line-height:1.85;max-width:560px;margin-bottom:var(--space-7);font-weight:300}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-4)}.hero__scroll{position:absolute;bottom:var(--space-7);right:var(--container-x);z-index:2;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);font-family:var(--sans);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:#ffffff73;writing-mode:vertical-rl}.hero__scroll:after{content:"";display:block;width:1px;height:48px;background:linear-gradient(to bottom,rgba(255,255,255,.45),transparent);margin-top:var(--space-2)}.placeholder-img{position:relative;width:100%;height:100%;background:linear-gradient(135deg,var(--blue-pale) 0%,#dbe8ef 100%);display:flex;align-items:center;justify-content:center;overflow:hidden}.placeholder-img--dark{background:linear-gradient(135deg,var(--dark) 0%,var(--dark-mid) 100%)}.placeholder-img--pink{background:linear-gradient(135deg,var(--pink-pale) 0%,#e8d5da 100%)}.placeholder-img:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(135,183,207,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(135,183,207,.08) 1px,transparent 1px);background-size:40px 40px}.placeholder-img__inner{position:relative;z-index:1;text-align:center;padding:var(--space-6)}.placeholder-img__icon{width:48px;height:48px;margin:0 auto var(--space-4);opacity:.3}.placeholder-img__label{font-family:var(--sans);font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-dark);display:block}.placeholder-img--dark .placeholder-img__label{color:#ffffff80}.placeholder-img__dims{font-family:var(--sans);font-size:.58rem;color:var(--blue);opacity:.6;display:block;margin-top:var(--space-2);letter-spacing:.1em}.placeholder-img--dark .placeholder-img__dims{color:#ffffff4d}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6)}.room-card{background:var(--white);overflow:hidden;transition:transform var(--mid-speed),box-shadow var(--mid-speed)}.room-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.room-card__image{position:relative;height:260px;overflow:hidden}.room-card__image img,.room-card__image .placeholder-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--slow)}.room-card:hover .room-card__image img,.room-card:hover .room-card__image .placeholder-img{transform:scale(1.04)}.room-card__badge{position:absolute;top:var(--space-4);right:var(--space-4);background:var(--dark);color:#ffffffd9;font-family:var(--sans);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:5px 12px}.room-card__body{padding:var(--space-6)}.room-card__title{font-family:var(--serif);font-size:1.4rem;font-weight:300;color:var(--charcoal);margin-bottom:var(--space-2);line-height:1.3}.room-card__subtitle{font-family:var(--sans);font-size:.78rem;color:var(--muted);margin-bottom:var(--space-4);letter-spacing:.04em}.room-card__desc{font-family:var(--sans);font-size:.88rem;color:var(--mid);line-height:1.75;margin-bottom:var(--space-5)}.room-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);margin-bottom:var(--space-5)}.room-card__meta-item{font-family:var(--sans);font-size:.75rem;color:var(--mid);display:flex;flex-direction:column;gap:2px}.room-card__meta-item strong{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-weight:500}.attractions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-5)}.attraction-card{background:var(--white);overflow:hidden;transition:transform var(--mid-speed),box-shadow var(--mid-speed)}.attraction-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.attraction-card__image{position:relative;height:220px;overflow:hidden}.attraction-card__image img,.attraction-card__image .placeholder-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--slow)}.attraction-card:hover .attraction-card__image img,.attraction-card:hover .attraction-card__image .placeholder-img{transform:scale(1.04)}.attraction-card__band{position:absolute;bottom:0;left:0;background:var(--blue);color:#fff;font-family:var(--sans);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;padding:5px 12px}.attraction-card__body{padding:var(--space-5)}.attraction-card__title{font-family:var(--serif);font-size:1.2rem;font-weight:300;color:var(--charcoal);margin-bottom:var(--space-3);line-height:1.3}.attraction-card__desc{font-family:var(--sans);font-size:.85rem;color:var(--mid);line-height:1.7;margin-bottom:var(--space-4)}.attraction-card__links{display:flex;gap:var(--space-5);flex-wrap:wrap;align-items:center}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-6)}.blog-card{display:flex;flex-direction:column;background:var(--white);overflow:hidden;transition:transform var(--mid-speed),box-shadow var(--mid-speed)}.blog-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.blog-card__image{height:220px;overflow:hidden}.blog-card__image img,.blog-card__image .placeholder-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--slow)}.blog-card:hover .blog-card__image img,.blog-card:hover .blog-card__image .placeholder-img{transform:scale(1.04)}.blog-card__category{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pink);padding:var(--space-5) var(--space-6) var(--space-2)}.blog-card__title{font-family:var(--serif);font-size:1.3rem;font-weight:300;color:var(--charcoal);padding:0 var(--space-6) var(--space-3);line-height:1.3}.blog-card__excerpt{font-family:var(--sans);font-size:.85rem;color:var(--mid);line-height:1.75;padding:0 var(--space-6) var(--space-5);flex:1}.blog-card__date{font-family:var(--sans);font-size:.72rem;color:var(--muted);padding:0 var(--space-6) var(--space-5);letter-spacing:.06em}.book-direct{background:var(--dark);padding:var(--section-y) var(--container-x)}.book-direct__grid{max-width:var(--container-max);margin:0 auto;display:grid;grid-template-columns:1fr 420px;gap:var(--space-11);align-items:center}.book-direct__benefits{margin:var(--space-7) 0}.book-direct__benefit{display:flex;align-items:flex-start;gap:var(--space-5);padding:var(--space-5) 0;border-bottom:1px solid rgba(255,255,255,.07)}.book-direct__benefit-icon{width:32px;height:32px;border:1px solid var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.book-direct__benefit-icon:after{content:"✦";color:var(--blue);font-size:.55rem}.book-direct__benefit-text{font-family:var(--sans);font-size:.88rem;color:#fff;line-height:1.7}.book-direct__benefit-text strong{display:block;color:#ffffffeb;font-weight:500;font-size:.9rem;margin-bottom:2px}.book-direct__note{font-family:var(--sans);font-size:.78rem;color:#ffffff61;line-height:1.65;padding:var(--space-4) var(--space-5);border-left:2px solid rgba(255,255,255,.1);margin-top:var(--space-5)}.book-direct__image{height:560px;overflow:hidden}.book-direct__image img,.book-direct__image .placeholder-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.booking-strip{background:var(--dark-mid);padding:var(--section-y) var(--container-x);text-align:center;position:relative;overflow:hidden}.booking-strip:before{content:"";position:absolute;top:-80px;left:50%;transform:translate(-50%);width:600px;height:clamp(480px,52vw,820px);background:radial-gradient(circle,rgba(135,183,207,.08) 0%,transparent 70%);pointer-events:none}.booking-strip__inner{position:relative;z-index:1;max-width:760px;margin:0 auto}.booking-strip__widget{margin-top:var(--space-8)}.reviews-strip{background:var(--dark);padding:var(--section-y) var(--container-x)}.reviews-platforms{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;margin-bottom:var(--space-10)}.review-platform{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-8);background:#ffffff0a;border:1px solid rgba(255,255,255,.08);text-decoration:none;transition:background var(--fast),border-color var(--fast);min-width:160px}.review-platform:hover{background:#87b7cf14;border-color:#87b7cf4d}.review-platform__logo{font-family:var(--sans);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#ffffff73}.review-platform__score{font-family:var(--serif);font-size:2.2rem;font-weight:300;color:#fff;line-height:1}.review-platform__label{font-family:var(--sans);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-light)}.review-card{padding:var(--space-8);position:relative}.review-card__quote-mark{font-family:var(--serif);font-size:5rem;color:var(--blue);opacity:.25;line-height:.5;display:block;margin-bottom:var(--space-4)}.review-card__text{font-family:var(--serif);font-size:1.15rem;font-style:italic;font-weight:300;color:#ffffffd9;line-height:1.8;margin-bottom:var(--space-5)}.review-card__author{font-family:var(--sans);font-size:.78rem;font-weight:500;font-style:normal;letter-spacing:.1em;color:#fff;display:block}.review-card__source{font-family:var(--sans);font-size:.68rem;color:#fff6;letter-spacing:.08em;margin-top:var(--space-2)}.review-carousel{position:relative;overflow:hidden}.review-carousel__track{display:flex;transition:transform var(--slow)}.review-carousel__slide{flex:0 0 100%}.review-carousel__controls{display:flex;align-items:center;justify-content:center;gap:var(--space-5);margin-top:var(--space-7)}.review-carousel__prev,.review-carousel__next{width:40px;height:40px;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:#ffffffb3;cursor:pointer;background:none;transition:all var(--fast)}.review-carousel__prev:hover,.review-carousel__next:hover{border-color:var(--blue);color:var(--blue)}.review-carousel__dots{display:flex;gap:var(--space-3)}.review-carousel__dot{width:6px;height:6px;border-radius:50%;background:#ffffff40;border:none;cursor:pointer;transition:background var(--fast),transform var(--fast);padding:0}.review-carousel__dot.is-active{background:var(--blue);transform:scale(1.3)}.editorial-split{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.editorial-split--reverse .editorial-split__image{order:2}.editorial-split--reverse .editorial-split__content{order:1}.editorial-split__image{overflow:hidden}.editorial-split__image img,.editorial-split__image .placeholder-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.editorial-split__content{display:flex;align-items:center;padding:var(--space-11) var(--space-10)}.editorial-split__content--cream{background:var(--cream)}.editorial-split__content--ivory{background:var(--ivory)}.editorial-split__content--dark{background:var(--dark)}.editorial-split__content--blue{background:var(--blue-pale)}.awards-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-7);margin-top:var(--space-9);padding-top:var(--space-7);border-top:1px solid rgba(255,255,255,.08)}.award-badge{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.award-badge__label{font-family:var(--sans);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#fff6}.site-footer{background:var(--charcoal);padding:var(--space-11) var(--container-x) 0}.site-footer__grid{max-width:var(--container-wide);margin:0 auto;display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr 1.2fr;gap:var(--space-10);padding-bottom:var(--space-8);border-bottom:1px solid rgba(255,255,255,.08)}.site-footer__brand p{font-family:var(--sans);font-size:.83rem;color:#ffffff73;line-height:1.85;margin-top:var(--space-5);max-width:300px}.site-footer__social{display:flex;gap:var(--space-5);margin-top:var(--space-5)}.site-footer__social-link{font-family:var(--sans);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:#fff6;text-decoration:none;transition:color var(--fast)}.site-footer__social-link:hover{color:var(--blue-light)}.site-footer__title{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin-bottom:var(--space-5)}.site-footer__links{display:flex;flex-direction:column;gap:var(--space-3)}.site-footer__link{font-family:var(--sans);font-size:.82rem;color:#ffffff80;text-decoration:none;transition:color var(--fast),padding-left var(--fast);display:block}.site-footer__link:hover{color:#ffffffd9;padding-left:var(--space-2)}.site-footer__contact-item{font-family:var(--sans);font-size:.85rem;color:#ffffff8c;line-height:1.8;margin-bottom:var(--space-4)}.site-footer__contact-item a{color:#ffffff8c;text-decoration:none;transition:color var(--fast)}.site-footer__contact-item a:hover{color:var(--blue-light)}.site-footer__bottom{max-width:var(--container-wide);margin:0 auto;padding:var(--space-6) 0 var(--space-3);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.site-footer__copy{font-family:var(--sans);font-size:.72rem;color:#ffffff47;letter-spacing:.06em}.site-footer__legal{display:flex;gap:var(--space-6)}.site-footer__legal a{font-family:var(--sans);font-size:.72rem;color:#ffffff47;text-decoration:none;letter-spacing:.06em;transition:color var(--fast)}.site-footer__legal a:hover{color:#ffffffa6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-family:var(--sans);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mid);font-weight:500}.form-input,.form-select,.form-textarea{font-family:var(--sans);font-size:.9rem;color:var(--ink);background:var(--warm-white);border:1px solid var(--border);padding:12px 16px;transition:border-color var(--fast),box-shadow var(--fast);outline:none;width:100%;font-weight:300}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #87b7cf26}.form-textarea{resize:vertical;min-height:140px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal--delay-1{transition-delay:.1s}.reveal--delay-2{transition-delay:.2s}.reveal--delay-3{transition-delay:.3s}.reveal--delay-4{transition-delay:.4s}.review-stars{display:flex;gap:3px}.review-stars__star{width:14px;height:14px;color:var(--blue)}@media (max-width: 1024px){.site-nav{display:none}.nav-toggle{display:flex}.mobile-menu{display:block}.book-direct__grid{grid-template-columns:1fr}.book-direct__image{height:400px}.editorial-split{grid-template-columns:1fr}.editorial-split--reverse .editorial-split__image{order:1}.editorial-split--reverse .editorial-split__content{order:2}.editorial-split__image{height:380px}.site-footer__grid{grid-template-columns:1fr 1fr;gap:var(--space-8)}}@media (max-width: 768px){:root{--section-y: 60px;--container-x: 20px}.hero--attraction .hero__title{font-size:clamp(2.4rem,4vw,4rem)}.rooms-grid,.attractions-grid,.blog-grid{grid-template-columns:1fr}.reviews-platforms{flex-direction:column;align-items:stretch}.form-row{grid-template-columns:1fr}.site-footer__grid{grid-template-columns:1fr;gap:var(--space-7)}.site-footer__bottom{flex-direction:column;text-align:center}.hero__actions{flex-direction:column}.hero__actions .btn{width:100%;text-align:center}.from-rosedene-label{display:none}.walking-pillars-grid{grid-template-columns:1fr!important}.walking-two-col,.page-walking-great-orme [style*="grid-template-columns:1fr 340px"],.page-walking-great-orme [style*="grid-template-columns:1fr 1fr"],.page-walking-great-orme [style*="grid-template-columns:repeat(3"],.page-walking-snowdonia [style*="grid-template-columns:1fr 1fr"],.page-golf [style*="grid-template-columns:1fr 1fr"],.page-golf [style*="grid-template-columns:1.1fr 1fr"],.page-golf [style*="grid-template-columns:1fr 1.2fr"],.page-golf [style*="grid-template-columns:1.2fr 1fr"],.page-golf [style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr!important}.page-walking-great-orme .container>div[style*=grid-template-columns]{grid-template-columns:1fr!important}.page-walking-coastal .container>div[style*=grid-template-columns]{grid-template-columns:1fr!important}.page-walking-snowdonia .container>div[style*=grid-template-columns]{grid-template-columns:1fr!important}.walking-two-col,.page-walking-great-orme [style*="grid-template-columns:1fr 340px"],.page-walking-great-orme [style*="grid-template-columns:1fr 1fr"],.page-walking-great-orme [style*="grid-template-columns:repeat(3"],.page-walking-snowdonia [style*="grid-template-columns:1fr 1fr"],.page-golf [style*="grid-template-columns:1fr 1fr"],.page-golf [style*="grid-template-columns:1.1fr 1fr"],.page-golf [style*="grid-template-columns:1fr 1.2fr"],.page-golf [style*="grid-template-columns:1.2fr 1fr"],.page-golf [style*="grid-template-columns:repeat(3,1fr)"],.restaurant-featured-card{grid-template-columns:1fr!important}.restaurant-featured-card>div:first-child{min-height:260px}.hero--attraction .hero__actions{display:none}.hero--attraction .hero__sub{margin-bottom:var(--space-4)}.hero--attraction .hero--attraction .hero__title{font-size:clamp(2.4rem,4vw,4rem)}.hero--attraction .hero__content{padding:var(--space-4) var(--container-x) var(--space-2)!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}.font-size-toggle{position:fixed;bottom:24px;right:24px;z-index:999;display:flex;align-items:center;gap:4px;background:#784356eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50px;padding:6px 10px;box-shadow:0 4px 20px #0003}.font-size-toggle__label{font-family:var(--sans);font-size:9.6px;letter-spacing:.12em;text-transform:uppercase;color:#fff9;padding-right:6px}.font-size-toggle__btn{border:none;background:transparent;color:#ffffffb3;cursor:pointer;border-radius:50px;padding:4px 8px;font-family:var(--serif);font-weight:400;transition:all .2s;line-height:1}.font-size-toggle__btn:hover{color:#fff;background:#ffffff26}.font-size-toggle__btn.is-active{color:#fff;background:#ffffff40}.font-size-toggle__btn--sm{font-size:13.6px}.font-size-toggle__btn--md{font-size:16px}.font-size-toggle__btn--lg{font-size:18.4px}html.fs-normal{font-size:16px}html.fs-large{font-size:19px}html.fs-xlarge{font-size:22px}html.fs-large .sticky-book-cta a,html.fs-xlarge .sticky-book-cta a{font-size:11.52px!important}@media (max-width: 768px){.restaurant-featured-card[style*=grid-template-columns],.restaurant-featured-card{grid-template-columns:1fr!important;display:grid!important}.restaurant-featured-card>div:first-child{min-height:260px}.dining-crosslink-grid,.dining-crosslink-grid[style*=grid-template-columns]{grid-template-columns:1fr!important}}html.fs-xlarge .restaurant-featured-card[style*=grid-template-columns],html.fs-large .restaurant-featured-card[style*=grid-template-columns]{grid-template-columns:1fr!important}.rd-devices-panel,.rd-devices-section{overflow:visible}@keyframes kenBurns{0%{transform:scale(1)}to{transform:scale(1.08)}}.hero__bg--kb img,.hero__bg--kb .placeholder-img{animation:kenBurns 24s ease-in-out infinite alternate;transform-origin:center center}.page-home .hero__title{letter-spacing:.005em;font-size:clamp(1.75rem,7vw,7rem);line-height:1.05}.page-home .hero__sub{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.05rem,1.8vw,1.4rem);color:#ffffffd9;max-width:540px;margin:var(--space-5) auto var(--space-7);line-height:1.55}.hero__title-line{display:inline-block;line-height:1}.hero__title-line--xs,.hero__title-line--sm,.hero__title-line--md,.hero__title-line--lg,.hero__title-line--xl,.hero__title-line--section{font-size:inherit;line-height:inherit;letter-spacing:inherit}html.fs-large .hero__title{font-size:clamp(1.75rem,8.3vw,7rem)}html.fs-xlarge .hero__title{font-size:clamp(1.75rem,9.6vw,7rem)}.page-home .hero__actions{justify-content:center;gap:var(--space-4)}.btn--burgundy{background:var(--burgundy);color:var(--white)}.btn--burgundy:hover{background:var(--dark);color:var(--white);transform:translateY(-1px);box-shadow:var(--shadow-md)}.eyebrow--gold{color:var(--gold)}.rule--gold{background:var(--gold)}.section-header--left{text-align:left;max-width:720px;margin-left:0;margin-right:auto}.section-end-cta{margin-top:var(--space-9);text-align:center}.intro-block{text-align:center;max-width:760px;margin:0 auto;padding:0 var(--container-x)}.intro-block__title{font-family:var(--serif);font-size:clamp(2rem,4.5vw,3.4rem);font-weight:300;color:var(--charcoal);line-height:1.15;margin:var(--space-6) 0 var(--space-7)}.intro-block__paragraph{font-family:var(--sans);font-size:var(--text-md);color:var(--mid);line-height:1.9;margin-bottom:var(--space-5)}.intro-block .eyebrow{margin-top:var(--space-7)}.rooms-rail{position:relative;margin-top:var(--space-9)}.rooms-rail__viewport{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:var(--space-3)}.rooms-rail__viewport::-webkit-scrollbar{display:none}.rooms-rail__track{display:flex;gap:var(--space-6);padding:0 var(--container-x)}.room-rail-card{flex:0 0 78vw;scroll-snap-align:center;display:flex;flex-direction:column}@media (min-width: 768px){.room-rail-card{flex:0 0 46vw}}@media (min-width: 1024px){.room-rail-card{flex:0 0 30vw;max-width:380px;scroll-snap-align:start}}.room-rail-card__image{position:relative;aspect-ratio:4 / 3;overflow:hidden;margin-bottom:var(--space-5);display:block}.room-rail-card__image img,.room-rail-card__image .placeholder-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s var(--ease)}.room-rail-card:hover .room-rail-card__image img,.room-rail-card:hover .room-rail-card__image .placeholder-img{transform:scale(1.04)}.room-rail-card__eyebrow{font-family:var(--sans);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:var(--space-2)}.room-rail-card__title{font-family:var(--serif);font-size:1.6rem;font-weight:300;color:var(--white);line-height:1.25;margin-bottom:var(--space-2)}.room-rail-card__title a{color:inherit;text-decoration:none;transition:color var(--fast)}.room-rail-card:hover .room-rail-card__title a{color:var(--blue-light)}.room-rail-card__meta{font-family:var(--sans);font-size:var(--text-sm);color:#ffffff8c;margin-bottom:var(--space-3);line-height:1.6}.room-rail-card__link{font-family:var(--sans);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--blue-light);text-decoration:none;display:inline-flex;gap:6px;transition:gap var(--fast),color var(--fast);align-self:flex-start}.room-rail-card__link:hover{gap:12px;color:var(--white)}.rooms-rail__nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-top:var(--space-8);flex-wrap:wrap}.rooms-rail__arrows{display:flex;gap:var(--space-3)}.rooms-rail__arrow{width:48px;height:48px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#ffffffd9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--mid-speed),color var(--mid-speed),border-color var(--mid-speed)}.rooms-rail__arrow:hover{background:var(--white);color:var(--dark);border-color:var(--white)}.rooms-rail__view-all{font-family:var(--sans);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(196,160,82,.35);padding-bottom:4px;transition:border-color var(--fast),color var(--fast)}.rooms-rail__view-all:hover{color:var(--white);border-bottom-color:var(--white)}.feature-split{display:grid;grid-template-columns:1fr;gap:0;align-items:stretch}.feature-split__image{aspect-ratio:4 / 5;overflow:hidden}.feature-split__image img,.feature-split__image .placeholder-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.feature-split__content{padding:var(--space-9) var(--container-x);display:flex;flex-direction:column;justify-content:center;background:var(--cream)}.feature-split__content h2{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:300;color:var(--charcoal);line-height:1.2;margin:var(--space-4) 0 var(--space-5)}.feature-split__content p{font-family:var(--sans);font-size:var(--text-md);color:var(--mid);line-height:1.85;max-width:480px;margin-bottom:var(--space-6)}@media (min-width: 1024px){.feature-split{grid-template-columns:60% 40%}.feature-split__image{aspect-ratio:auto;min-height:640px}.feature-split__content{padding:var(--space-10) var(--space-9)}}.guide-feature{position:relative;min-height:70vh;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center}.guide-feature__bg{position:absolute;top:0;right:0;bottom:0;left:0}.guide-feature__bg img,.guide-feature__bg .placeholder-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.guide-feature__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#1a0a108c,#1a0a10d1)}.guide-feature__content{position:relative;z-index:1;max-width:720px;padding:var(--space-9) var(--container-x)}.guide-feature__title{font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.6rem);font-weight:300;color:var(--cream);line-height:1.15;margin:var(--space-4) 0 var(--space-5)}.guide-feature__lead{font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,1.7vw,1.3rem);color:#ffffffd1;line-height:1.7;margin-bottom:var(--space-7)}.attractions-asym{display:grid;grid-template-columns:1fr;gap:var(--space-7);margin-top:var(--space-9)}.attraction-asym-card{display:block;text-decoration:none;color:inherit}.attraction-asym-card__image{position:relative;aspect-ratio:4 / 5;overflow:hidden;margin-bottom:var(--space-4)}.attraction-asym-card__image img,.attraction-asym-card__image .placeholder-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s var(--ease)}.attraction-asym-card:hover .attraction-asym-card__image img,.attraction-asym-card:hover .attraction-asym-card__image .placeholder-img{transform:scale(1.04)}.attraction-asym-card__label{font-family:var(--sans);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--blue-dark);margin-bottom:var(--space-2)}.attraction-asym-card__title{font-family:var(--serif);font-size:1.55rem;font-weight:300;color:var(--charcoal);line-height:1.25}@media (min-width: 1024px){.attractions-asym{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:var(--space-7)}.attraction-asym-card:nth-child(1){grid-row:span 2;display:flex;flex-direction:column}.attraction-asym-card:nth-child(1) .attraction-asym-card__image{aspect-ratio:auto;flex:1;min-height:560px}.attraction-asym-card:nth-child(2) .attraction-asym-card__image,.attraction-asym-card:nth-child(3) .attraction-asym-card__image{aspect-ratio:16 / 11}}.reviews-editorial{text-align:center;max-width:820px;margin:0 auto;padding:0 var(--container-x)}.reviews-editorial__slide{min-height:200px}.reviews-editorial__quote{font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,2.8vw,1.95rem);font-weight:400;line-height:1.5;color:var(--charcoal);margin:var(--space-5) 0 var(--space-6)}.reviews-editorial__quote:before{content:"“";color:var(--pink);margin-right:.12em}.reviews-editorial__quote:after{content:"”";color:var(--pink);margin-left:.12em}.reviews-editorial__author{font-family:var(--sans);font-size:var(--text-sm);letter-spacing:.18em;text-transform:uppercase;color:var(--charcoal);font-weight:500}.reviews-editorial__source{font-family:var(--sans);font-size:var(--text-xs);color:var(--pink-dark);margin-top:var(--space-2);letter-spacing:.16em;text-transform:uppercase}.reviews-editorial__nav{display:flex;justify-content:center;align-items:center;gap:var(--space-5);margin-top:var(--space-8)}.reviews-editorial__arrow{width:42px;height:42px;border:1px solid var(--pink-light);background:transparent;color:var(--pink-dark);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--mid-speed),color var(--mid-speed),border-color var(--mid-speed)}.reviews-editorial__arrow:hover{background:var(--pink);border-color:var(--pink);color:var(--white)}.reviews-editorial__dots{display:flex;gap:10px}.reviews-editorial__dot{width:8px;height:8px;border-radius:50%;background:var(--pink-light);border:none;cursor:pointer;opacity:.55;transition:opacity var(--fast),background var(--fast),transform var(--fast)}.reviews-editorial__dot.is-active{background:var(--pink-dark);opacity:1;transform:scale(1.3)}.reviews-editorial-platforms{margin-top:var(--space-9);padding-top:var(--space-7);border-top:1px solid rgba(168,119,138,.25);display:flex;justify-content:center;gap:clamp(28px,5vw,72px);flex-wrap:wrap}.reviews-editorial-platform{text-align:center;text-decoration:none;font-family:var(--sans);color:var(--charcoal);transition:opacity var(--fast)}.reviews-editorial-platform:hover{opacity:.7}.reviews-editorial-platform__name{display:block;font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--mid);margin-bottom:6px}.reviews-editorial-platform__score{display:block;font-family:var(--serif);font-size:1.7rem;font-weight:400;color:var(--pink-dark);line-height:1}.reviews-editorial-platform__label{display:block;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mid);margin-top:6px}.find-us-split{display:grid;grid-template-columns:1fr;gap:var(--space-9);align-items:center}.find-us-split__text h2{font-family:var(--serif);font-size:clamp(1.8rem,3.4vw,2.8rem);font-weight:300;color:var(--cream);line-height:1.2;margin:var(--space-4) 0 var(--space-6)}.find-us-split__address{font-family:var(--serif);font-size:1.2rem;font-style:normal;color:#ffffffd1;line-height:1.7;margin-bottom:var(--space-5)}.find-us-split__phone{display:inline-block;font-family:var(--serif);font-size:1.4rem;color:var(--blue-light);text-decoration:none;margin-bottom:var(--space-5);letter-spacing:.04em;transition:color var(--fast)}.find-us-split__phone:hover{color:var(--white)}.find-us-split__lead{font-family:var(--sans);font-size:var(--text-base);color:#ffffffa6;line-height:1.85;margin-bottom:var(--space-7);max-width:440px}.find-us-split__map{aspect-ratio:4 / 5;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.find-us-split__map img,.find-us-split__map .placeholder-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}@media (min-width: 1024px){.find-us-split{grid-template-columns:1fr 1fr;gap:var(--space-10)}}.journal-row{display:grid;grid-template-columns:1fr;gap:var(--space-7);margin-top:var(--space-9)}@media (min-width: 768px){.journal-row{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.journal-row{grid-template-columns:repeat(3,1fr);gap:var(--space-8)}}.journal-card{display:block;text-decoration:none;color:inherit}.journal-card__image{aspect-ratio:3 / 2;overflow:hidden;margin-bottom:var(--space-5)}.journal-card__image img,.journal-card__image .placeholder-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s var(--ease)}.journal-card:hover .journal-card__image img,.journal-card:hover .journal-card__image .placeholder-img{transform:scale(1.04)}.journal-card__category{font-family:var(--sans);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--pink);margin-bottom:var(--space-2)}.journal-card__title{font-family:var(--serif);font-size:1.55rem;font-weight:300;color:var(--charcoal);line-height:1.25;margin-bottom:var(--space-3);transition:color var(--fast)}.journal-card:hover .journal-card__title{color:var(--burgundy)}.journal-card__excerpt{font-family:var(--sans);font-size:var(--text-sm);color:var(--mid);line-height:1.75;margin-bottom:var(--space-4)}.journal-card__more{font-family:var(--sans);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--blue-dark);display:inline-flex;gap:6px;transition:gap var(--fast),color var(--fast)}.journal-card:hover .journal-card__more{gap:12px;color:var(--burgundy)}.home-footer-cta{text-align:center;padding:var(--space-10) var(--container-x);background:var(--dark);position:relative}.home-footer-cta__ornament{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-7);color:var(--gold);font-size:.7rem;letter-spacing:.4em;opacity:.85}.home-footer-cta__ornament:before,.home-footer-cta__ornament:after{content:"";width:64px;height:1px;background:#c4a05273}.home-footer-cta__title{font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.4rem);font-weight:300;color:var(--cream);line-height:1.15;margin:0 auto var(--space-5);max-width:720px}.home-footer-cta__sub{font-family:var(--serif);font-size:1.15rem;color:#ffffffa6;margin-bottom:var(--space-8);line-height:1.7}.home-footer-cta__sub a{color:var(--blue-light);text-decoration:none;transition:color var(--fast)}.home-footer-cta__sub a:hover{color:var(--white)}.home-footer-cta__buttons{margin-top:var(--space-6, 28px);display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}.hero--editorial{min-height:clamp(540px,65vh,760px)}.hero--editorial .hero__title{font-size:clamp(1.75rem,7vw,7rem);line-height:1.05;letter-spacing:.005em}.hero--editorial .hero__sub{font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,1.8vw,1.35rem);color:#ffffffd9;font-weight:400;max-width:620px;line-height:1.55}.editorial-intro{text-align:left;max-width:760px;margin:0 auto;padding:0 var(--container-x)}.editorial-intro--centred{text-align:center}.editorial-intro__rule{width:56px;height:1px;background:var(--gold);border:0;margin:0 0 var(--space-6)}.editorial-intro--centred .editorial-intro__rule{margin-left:auto;margin-right:auto}.editorial-intro__title{font-family:var(--serif);font-size:clamp(1.8rem,4vw,3rem);font-weight:300;color:var(--charcoal);line-height:1.18;margin-bottom:var(--space-6)}.editorial-intro__paragraph{font-family:var(--sans);font-size:var(--text-md);color:var(--mid);line-height:1.9;margin-bottom:var(--space-5)}.editorial-intro__cta{margin-top:var(--space-5);display:inline-block}.editorial-section-header{margin-bottom:var(--space-9);display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap}.editorial-section-header__inner{max-width:720px}.editorial-section-header .eyebrow{margin-bottom:var(--space-3)}.editorial-section-header__rule{width:40px;height:1px;background:var(--pink);border:0;margin-bottom:var(--space-4)}.editorial-section-header__rule--gold{background:var(--gold)}.editorial-section-header__rule--light{background:#fff6}.editorial-section-header__title{font-family:var(--serif);font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:300;color:var(--charcoal);line-height:1.18;margin-bottom:var(--space-3)}.editorial-section-header__title--light{color:var(--cream)}.editorial-section-header__lead{font-family:var(--sans);font-size:var(--text-base);color:var(--mid);line-height:1.85;max-width:540px}.editorial-section-header__lead--light{color:#ffffffb3}.editorial-section-header__sidekick{align-self:flex-end}.editorial-grid{display:grid;grid-template-columns:1fr;gap:var(--space-7)}@media (min-width: 768px){.editorial-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.editorial-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-8)}}.editorial-grid--two{display:grid;grid-template-columns:1fr;gap:var(--space-7)}@media (min-width: 768px){.editorial-grid--two{grid-template-columns:repeat(2,1fr);gap:var(--space-9)}}.editorial-grid--four{display:grid;grid-template-columns:1fr;gap:var(--space-7)}@media (min-width: 768px){.editorial-grid--four{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1280px){.editorial-grid--four{grid-template-columns:repeat(4,1fr);gap:var(--space-7)}}.editorial-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;position:relative;background:transparent}.editorial-card__image{position:relative;aspect-ratio:4 / 5;overflow:hidden;margin-bottom:var(--space-5);display:block;background:var(--ivory)}.editorial-card__image--landscape{aspect-ratio:3 / 2}.editorial-card__image img,.editorial-card__image .placeholder-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s var(--ease)}.editorial-card:hover .editorial-card__image img,.editorial-card:hover .editorial-card__image .placeholder-img{transform:scale(1.04)}.editorial-card__badge{position:absolute;top:var(--space-4);left:var(--space-4);padding:6px 14px;font-family:var(--sans);font-size:.62rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--white);background:color-mix(in srgb,var(--badge-dark, #1a0a10) 78%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2}.editorial-card__badge--gold{background:color-mix(in srgb,var(--badge-gold, var(--gold)) 92%,transparent);color:var(--dark)}.editorial-card__badge--burgundy{background:var(--burgundy)}.editorial-card__badge--right{left:auto;right:var(--space-4)}.editorial-card__date{position:absolute;top:var(--space-4);left:var(--space-4);padding:8px 12px;text-align:center;background:var(--burgundy);color:var(--white);min-width:56px;z-index:2}.editorial-card__date-day{display:block;font-family:var(--serif);font-size:1.5rem;font-weight:400;line-height:1}.editorial-card__date-month{display:block;font-family:var(--sans);font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;margin-top:2px;opacity:.85}.editorial-card__eyebrow{font-family:var(--sans);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--blue-dark);margin-bottom:var(--space-2)}.editorial-card__eyebrow--gold{color:var(--gold)}.editorial-card__eyebrow--pink{color:var(--pink)}.editorial-card__title{font-family:var(--serif);font-size:1.55rem;font-weight:300;color:var(--charcoal);line-height:1.25;margin-bottom:var(--space-3);transition:color var(--fast)}.editorial-card:hover .editorial-card__title{color:var(--burgundy)}.editorial-card__subtitle{font-family:var(--serif);font-style:italic;font-size:var(--text-md);color:var(--mid);margin-bottom:var(--space-3)}.editorial-card__excerpt{font-family:var(--sans);font-size:var(--text-sm);color:var(--mid);line-height:1.75;margin-bottom:var(--space-4);flex:1}.editorial-card__meta{font-family:var(--sans);font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-4);display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;line-height:1.5}.editorial-card__meta-divider{width:4px;height:4px;border-radius:50%;background:var(--muted);display:inline-block}.editorial-card__link{font-family:var(--sans);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--blue-dark);display:inline-flex;align-items:center;gap:6px;margin-top:auto;transition:gap var(--fast),color var(--fast)}.editorial-card:hover .editorial-card__link{gap:12px;color:var(--burgundy)}.editorial-card--on-dark .editorial-card__title{color:var(--cream)}.editorial-card--on-dark:hover .editorial-card__title{color:var(--blue-light)}.editorial-card--on-dark .editorial-card__excerpt{color:#ffffffa6}.editorial-card--on-dark .editorial-card__meta{color:#ffffff80}.editorial-card--on-dark .editorial-card__meta-divider{background:#ffffff80}.editorial-card--on-dark .editorial-card__link{color:var(--blue-light)}.editorial-card--on-dark:hover .editorial-card__link{color:var(--white)}.editorial-filters{margin-bottom:var(--space-8)}.editorial-filters__row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.editorial-filters__label{font-family:var(--sans);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin-right:var(--space-2);min-width:64px}.editorial-filter-chip{font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.08em;padding:9px 18px;background:transparent;color:var(--charcoal);border:1px solid var(--border);cursor:pointer;text-decoration:none;display:inline-block;transition:all .2s var(--ease)}.editorial-filter-chip:hover{border-color:var(--blue);color:var(--blue-dark)}.editorial-filter-chip.is-active{background:var(--blue);border-color:var(--blue);color:var(--white)}.editorial-filter-chip--pink.is-active{background:var(--pink);border-color:var(--pink)}.editorial-filters__clear{font-family:var(--sans);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mid);background:transparent;border:none;cursor:pointer;text-decoration:underline;margin-left:var(--space-3);padding:9px 0}.editorial-jumplinks{background:var(--dark);padding:var(--space-6) var(--container-x);border-bottom:1px solid rgba(196,160,82,.18);position:sticky;top:64px;z-index:var(--z-sticky)}@media (max-width: 1024px){.editorial-jumplinks{top:64px}}@media (max-width: 768px){.editorial-jumplinks{position:static;top:auto}}.editorial-jumplinks__inner{max-width:var(--container-wide);margin:0 auto;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.editorial-jumplink{font-family:var(--sans);font-size:.66rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:9px 18px;border:1px solid rgba(196,160,82,.35);color:#f5f0ebc7;text-decoration:none;transition:all var(--mid-speed)}.editorial-jumplink:hover{border-color:var(--gold);color:var(--gold)}.editorial-pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-9);flex-wrap:wrap}.editorial-pagination a,.editorial-pagination span{font-family:var(--sans);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;padding:10px 16px;border:1px solid var(--border);color:var(--charcoal);text-decoration:none;transition:border-color var(--fast),background var(--fast),color var(--fast);min-width:44px;text-align:center}.editorial-pagination a:hover{border-color:var(--burgundy);color:var(--burgundy)}.editorial-pagination .is-current{background:var(--dark);border-color:var(--dark);color:var(--white)}.editorial-pagination .is-disabled{opacity:.35;pointer-events:none}.editorial-empty{text-align:center;padding:var(--space-11) var(--container-x)}.editorial-empty__rule{width:48px;height:1px;background:var(--gold);border:0;margin:0 auto var(--space-6)}.editorial-empty__title{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:300;color:var(--mid);font-style:italic;margin-bottom:var(--space-6)}.dining-featured-card{display:grid;grid-template-columns:1fr;background:var(--white);border:1px solid var(--border);overflow:hidden}.dining-featured-card__image{aspect-ratio:4/3;overflow:hidden;background:var(--cream)}.dining-featured-card__image img,.dining-featured-card__image .placeholder-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .6s var(--ease)}.dining-featured-card:hover .dining-featured-card__image img,.dining-featured-card:hover .dining-featured-card__image .placeholder-img{transform:scale(1.04)}.dining-featured-card__body{padding:var(--space-8);display:flex;flex-direction:column;justify-content:center}.dining-featured-card__meta{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;font-family:var(--sans);font-size:var(--text-xs)}.dining-featured-card__cuisine{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;font-weight:500}.dining-featured-card__price,.dining-featured-card__distance{color:var(--mid)}.dining-featured-card__title{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:300;color:var(--charcoal);line-height:1.2;margin:0 0 var(--space-4)}.dining-featured-card__body p{font-family:var(--sans);font-size:var(--text-base);color:var(--mid);line-height:1.85;margin:0 0 var(--space-5)}.dining-featured-card__signature{margin-bottom:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-light)}.dining-featured-card__signature-label{display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:var(--space-2)}.dining-featured-card__signature-text{font-family:var(--sans);font-size:var(--text-sm);color:var(--mid);font-style:italic}.dining-featured-card__links{display:flex;gap:var(--space-5);flex-wrap:wrap;align-items:center}@media (min-width: 1024px){.dining-featured-card{grid-template-columns:1fr 1fr;min-height:480px}.dining-featured-card--reverse .dining-featured-card__image{order:2}.dining-featured-card--reverse .dining-featured-card__body{order:1}.dining-featured-card__image{aspect-ratio:auto}}.editorial-book-strip{background:var(--cream);padding:var(--space-5) var(--container-x);border-bottom:1px solid var(--border-light);text-align:center}.editorial-book-strip p{font-family:var(--sans);font-size:var(--text-sm);color:var(--mid);letter-spacing:.04em}.editorial-book-strip strong{font-weight:500;color:var(--charcoal);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;display:inline-block;margin-right:var(--space-3)}.editorial-book-strip a{color:var(--burgundy);text-decoration:none;border-bottom:1px solid var(--burgundy);padding-bottom:2px;margin-left:var(--space-3);font-weight:500;transition:color var(--fast),border-color var(--fast)}.editorial-book-strip a:hover{color:var(--dark);border-color:var(--dark)}.editorial-article{display:grid;grid-template-columns:1fr;gap:var(--space-9);align-items:start}@media (min-width: 1024px){.editorial-article{grid-template-columns:1fr 340px;gap:var(--space-10)}}.editorial-article__body{min-width:0}.editorial-article__sidebar{display:flex;flex-direction:column;gap:var(--space-5)}@media (min-width: 1024px){.editorial-article__sidebar{position:sticky;top:96px}}.editorial-article__lead{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,1.9vw,1.5rem);font-weight:400;color:var(--charcoal);line-height:1.55;margin-bottom:var(--space-7);max-width:640px}.editorial-article__body-prose{font-family:var(--sans);font-size:var(--text-base);color:var(--mid);line-height:1.85;margin-top:var(--space-7);max-width:680px}.editorial-article__body-prose p{margin-bottom:var(--space-5)}.editorial-article__body-prose h2{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:300;color:var(--charcoal);margin:var(--space-8) 0 var(--space-4);line-height:1.25}.editorial-article__body-prose h3{font-family:var(--serif);font-size:1.4rem;font-weight:400;color:var(--charcoal);margin:var(--space-7) 0 var(--space-4);line-height:1.3}.editorial-article__body-prose ul,.editorial-article__body-prose ol{padding-left:var(--space-6);margin-bottom:var(--space-5)}.editorial-article__body-prose li{margin-bottom:var(--space-3);list-style:disc}.editorial-article__body-prose ol li{list-style:decimal}.editorial-article__body-prose a{color:var(--burgundy);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color var(--fast)}.editorial-article__body-prose a:hover{color:var(--blue-dark)}.editorial-article__body-prose blockquote{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--charcoal);border-left:2px solid var(--gold);padding:var(--space-2) 0 var(--space-2) var(--space-6);margin:var(--space-7) 0}.editorial-article__body-prose strong{color:var(--charcoal);font-weight:500}.editorial-article__body-prose hr{border:0;width:48px;height:1px;background:var(--gold);margin:var(--space-8) 0}.editorial-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-5);padding:0}.editorial-list li{display:flex;align-items:flex-start;gap:var(--space-4);font-family:var(--sans);font-size:var(--text-base);color:var(--mid);line-height:1.7}.editorial-list li:before{content:"✦";color:var(--gold);flex-shrink:0;font-size:.85rem;margin-top:4px}.editorial-block{margin-top:var(--space-8)}.editorial-block__title{font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,1.8rem);font-weight:300;color:var(--charcoal);margin-bottom:var(--space-5);line-height:1.25}.editorial-block--callout{background:var(--cream);padding:var(--space-7);border-left:2px solid var(--gold)}.editorial-block--dark{background:var(--dark);padding:var(--space-7);color:var(--cream)}.editorial-block--dark .editorial-block__title{color:var(--cream)}.editorial-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}.editorial-tag{font-family:var(--sans);font-size:.62rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--burgundy);background:transparent;border:1px solid var(--pink-light);padding:6px 14px}.editorial-pills{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}.editorial-pill{background:var(--white);border:1px solid var(--border);font-family:var(--sans);font-size:.82rem;color:var(--charcoal);padding:8px 16px;font-style:italic}.editorial-facts{background:var(--cream);border:1px solid var(--border);padding:var(--space-6) var(--space-7)}.editorial-facts__title{display:block;font-family:var(--sans);font-size:.62rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--border)}.editorial-facts__row{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border-light);align-items:flex-start}.editorial-facts__row:last-child{border-bottom:0}.editorial-facts__label{font-family:var(--sans);font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mid);flex-shrink:0}.editorial-facts__value{font-family:var(--sans);font-size:var(--text-sm);color:var(--charcoal);text-align:right;line-height:1.5}.editorial-facts__note{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-light);font-family:var(--serif);font-style:italic;font-size:var(--text-sm);color:var(--mid);line-height:1.6}.editorial-cta-panel{background:var(--dark);padding:var(--space-7);display:flex;flex-direction:column;gap:var(--space-4)}.editorial-cta-panel--cream{background:var(--cream);border:1px solid var(--border)}.editorial-cta-panel__eyebrow{font-family:var(--sans);font-size:.62rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.editorial-cta-panel--cream .editorial-cta-panel__eyebrow{color:var(--burgundy)}.editorial-cta-panel__title{font-family:var(--serif);font-size:1.5rem;font-weight:300;color:var(--cream);line-height:1.2;margin:0}.editorial-cta-panel--cream .editorial-cta-panel__title{color:var(--charcoal)}.editorial-cta-panel__lead{font-family:var(--sans);font-size:var(--text-sm);color:#ffffffa6;line-height:1.7}.editorial-cta-panel--cream .editorial-cta-panel__lead{color:var(--mid)}.editorial-cta-panel__buttons{display:flex;flex-direction:column;gap:var(--space-2)}.detail-context-strip{background:var(--burgundy);padding:var(--space-4) var(--container-x);border-bottom:1px solid rgba(196,160,82,.18)}.detail-context-strip__inner{max-width:var(--container-wide);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-6)}.detail-context-strip__item{display:flex;align-items:center;gap:var(--space-3);font-family:var(--sans);font-size:.82rem;color:#ffffffd9}.detail-context-strip__label{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.detail-context-strip__back{margin-left:auto;font-family:var(--sans);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#ffffff8c;text-decoration:none;transition:color var(--fast)}.detail-context-strip__back:hover{color:var(--gold)}.editorial-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-3);margin-top:var(--space-7)}.editorial-gallery__item{display:block;overflow:hidden;aspect-ratio:3 / 2;cursor:zoom-in;background:var(--ivory)}.editorial-gallery__item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s var(--ease);display:block}.editorial-gallery__item:hover img{transform:scale(1.04)}.editorial-lightbox{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0a0508f0;align-items:center;justify-content:center}.editorial-lightbox.is-open{display:flex}.editorial-lightbox__close,.editorial-lightbox__prev,.editorial-lightbox__next{position:absolute;background:none;border:none;color:#ffffffb3;cursor:pointer;transition:color var(--fast)}.editorial-lightbox__close{top:24px;right:28px;font-size:2rem;line-height:1;padding:8px}.editorial-lightbox__prev{left:16px;top:50%;transform:translateY(-50%);font-size:2.4rem;padding:16px}.editorial-lightbox__next{right:16px;top:50%;transform:translateY(-50%);font-size:2.4rem;padding:16px}.editorial-lightbox__close:hover,.editorial-lightbox__prev:hover,.editorial-lightbox__next:hover{color:var(--gold)}.editorial-lightbox__img{max-height:88vh;max-width:88vw;-o-object-fit:contain;object-fit:contain;display:block}.editorial-lightbox__caption{position:absolute;bottom:24px;left:50%;transform:translate(-50%);font-family:var(--sans);font-size:.7rem;letter-spacing:.16em;color:#ffffff73}.hero--detail .hero__title{font-size:clamp(2rem,4.5vw,3.6rem);line-height:1.1}.hero--detail .hero__sub{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1rem,1.6vw,1.2rem);color:#ffffffd9;max-width:580px;line-height:1.5}.hero--detail .hero__actions{gap:var(--space-3);flex-wrap:wrap}.editorial-article__footer{margin-top:var(--space-9);padding-top:var(--space-6);border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:var(--space-5);align-items:center}.editorial-faq-list{display:flex;flex-direction:column;gap:1px;margin-top:var(--space-7);background:var(--border-light);border:1px solid var(--border-light)}.editorial-faq-list__item{display:grid;grid-template-columns:1fr;gap:var(--space-2);padding:var(--space-5) var(--space-6);background:var(--warm-white)}@media (min-width: 768px){.editorial-faq-list__item{grid-template-columns:180px 1fr;gap:var(--space-7);padding:var(--space-5) var(--space-7);align-items:baseline}}.editorial-faq-list__label{font-family:var(--sans);font-size:.65rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.editorial-faq-list__value{font-family:var(--sans);font-size:var(--text-base);color:var(--mid);line-height:1.75}.editorial-callout{margin-top:var(--space-8);padding:var(--space-7);background:var(--cream);border-left:3px solid var(--gold)}.editorial-callout p{font-family:var(--sans);font-size:var(--text-base);color:var(--mid);line-height:1.8;margin-bottom:var(--space-4)}.editorial-platform-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media (min-width: 640px){.editorial-platform-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.editorial-platform-grid{grid-template-columns:repeat(4,1fr);gap:var(--space-6)}}.editorial-platform-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-5);background:var(--white);border:1px solid var(--border);border-top:3px solid var(--gold);text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-top-color .3s var(--ease);text-align:center}.editorial-platform-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px #7843561f;border-top-color:var(--burgundy)}.editorial-platform-card__icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-2)}.editorial-platform-card__name{display:block;font-family:var(--sans);font-size:.62rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--mid);margin-bottom:var(--space-2)}.editorial-platform-card__score{display:block;font-family:var(--serif);font-size:2.6rem;font-weight:300;color:var(--burgundy);line-height:1;margin-bottom:4px}.editorial-platform-card__label{display:block;font-family:var(--sans);font-size:.72rem;color:var(--mid);letter-spacing:.06em}.editorial-platform-card__cta{font-family:var(--sans);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-top:var(--space-3)}.editorial-review-grid{display:block;max-width:760px;margin:0 auto;padding:0}@media (min-width: 900px){.editorial-review-grid{-moz-column-count:2;column-count:2;-moz-column-gap:var(--space-10);column-gap:var(--space-10);max-width:1180px;display:block}.editorial-review-card{-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid;display:block;width:100%}}@media (min-width: 1280px){.editorial-review-grid{max-width:1280px;-moz-column-gap:var(--space-12, 6rem);column-gap:var(--space-12, 6rem)}}.editorial-review-card{background:transparent;border:0;border-radius:0;box-shadow:none;padding:var(--space-9) 0 var(--space-8);display:block;position:relative;text-align:center;transition:none}.editorial-review-card+.editorial-review-card{border-top:1px solid rgba(196,160,82,.3)}.editorial-review-card+.editorial-review-card:before{content:"✦";position:absolute;top:-.7rem;left:50%;transform:translate(-50%);background:var(--ivory);padding:0 var(--space-3);font-size:.85rem;color:var(--gold);letter-spacing:.04em}.editorial-review-card:hover{transform:none;box-shadow:none}.editorial-review-card__header{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-5)}.editorial-review-card__source{display:none}.editorial-review-card__stars{color:var(--gold);letter-spacing:6px;font-size:1rem;line-height:1}.editorial-review-card__text{font-family:var(--serif);font-style:normal;font-size:clamp(1.15rem,1.7vw,1.45rem);font-weight:300;color:var(--charcoal);line-height:1.55;margin:0 auto;max-width:640px;position:relative;text-align:center}.editorial-review-card__text:before{content:none}.editorial-review-card__text:after{content:none}.editorial-review-card__footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-3);padding-top:var(--space-6);margin-top:var(--space-5);border-top:0}.editorial-review-card__author{font-family:var(--sans);font-size:.7rem;font-weight:500;font-style:normal;color:var(--charcoal);letter-spacing:.18em;text-transform:uppercase}.editorial-review-card__author:before{content:"—  ";color:var(--gold);letter-spacing:0}.editorial-review-card__date{font-family:var(--sans);font-size:.65rem;color:var(--mid);letter-spacing:.16em;text-transform:uppercase}.editorial-review-card__footer .review-source-icon{line-height:0}.editorial-review-card__footer .review-source-icon svg{height:16px;width:auto;opacity:.85}.editorial-review-card__footer>*:not(:last-child):after{content:"·";margin-left:var(--space-3);color:var(--gold);opacity:.6}.editorial-review-card[data-source]{border-left:0}.editorial-review-card[data-source]:before{content:""}.editorial-review-card[data-source]+.editorial-review-card[data-source]:before{content:"✦"}.walking-pillars{display:grid;grid-template-columns:1fr;gap:var(--space-6);margin-top:var(--space-9)}@media (min-width: 768px){.walking-pillars{grid-template-columns:repeat(3,1fr)}}.walking-pillar{text-align:center;padding:var(--space-8) var(--space-6);background:var(--cream);border:1px solid var(--border);border-top:3px solid var(--gold);display:flex;flex-direction:column;align-items:center;text-decoration:none;transition:border-top-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}.walking-pillar:hover{transform:translateY(-3px);border-top-color:var(--burgundy);box-shadow:0 12px 32px #7843561a}.walking-pillar__icon{color:var(--gold);margin-bottom:var(--space-5)}.walking-pillar__title{font-family:var(--serif);font-size:1.4rem;font-weight:400;color:var(--charcoal);margin-bottom:var(--space-3)}.walking-pillar__lead{font-family:var(--sans);font-size:var(--text-sm);color:var(--mid);line-height:1.85;margin-bottom:var(--space-5);flex:1}.walking-pillar__link{font-family:var(--sans);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--burgundy);font-weight:500;display:inline-flex;gap:6px;transition:gap var(--fast),color var(--fast)}.walking-pillar:hover .walking-pillar__link{gap:12px;color:var(--dark)}.walk-card{background:#f5f0eb0a;border:1px solid rgba(196,160,82,.18);padding:var(--space-7)}.walk-card__head{display:grid;grid-template-columns:1fr;gap:var(--space-4);margin-bottom:var(--space-5)}@media (min-width: 768px){.walk-card__head{grid-template-columns:1fr auto;align-items:start;gap:var(--space-6)}}.walk-card__eyebrow{font-family:var(--sans);font-size:.62rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:var(--space-2)}.walk-card__title{font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,1.8rem);font-weight:300;color:var(--cream);line-height:1.2;margin:0}.walk-card__chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}@media (min-width: 768px){.walk-card__chips{justify-content:flex-end}}.walk-chip{font-family:var(--sans);font-size:.7rem;padding:4px 12px;border:1px solid rgba(196,160,82,.3);color:#f5f0ebc7;background:#ffffff0a}.walk-chip--gold{background:#c4a0522e;color:var(--gold);border-color:#c4a05266}.walk-card__body p{font-family:var(--sans);font-size:var(--text-sm);color:#ffffffb8;line-height:1.85;margin-bottom:var(--space-4)}.walk-card__body p:last-child{margin-bottom:0}.walk-card__body a{color:var(--blue-light)}.walk-card__body a:hover{color:var(--gold)}.walk-card__note{font-family:var(--sans);font-size:.78rem;color:#ffffff73;line-height:1.6;font-style:italic;margin-top:var(--space-4)}.walk-card__sub-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5);margin-top:var(--space-5)}@media (min-width: 768px){.walk-card__sub-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-5)}}.walk-sub-card{background:#ffffff0a;border:1px solid rgba(196,160,82,.14);padding:var(--space-5)}.walk-sub-card__title{font-family:var(--serif);font-size:1.1rem;font-weight:400;color:var(--cream);margin:0 0 var(--space-3)}.walk-sub-card__chips{display:flex;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;font-family:var(--sans);font-size:.7rem}.walk-sub-card__chips span:first-child{color:var(--gold)}.walk-sub-card__chips span{color:#ffffff80}.walk-sub-card__body{font-family:var(--sans);font-size:var(--text-sm);color:#ffffffa6;line-height:1.75;margin:0}.walks-table-wrap{overflow-x:auto}.walks-table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:var(--text-sm);min-width:640px}.walks-table thead tr{border-bottom:1px solid rgba(196,160,82,.3)}.walks-table th{text-align:left;padding:var(--space-4) var(--space-5);color:var(--gold);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500}.walks-table tbody tr{border-bottom:1px solid rgba(255,255,255,.06)}.walks-table tbody tr:nth-child(2n){background:#ffffff06}.walks-table td{padding:var(--space-4) var(--space-5);color:#ffffffb8}.walks-table td:first-child{color:var(--cream);font-weight:400}.walks-table td:last-child{color:var(--blue-light)}@media (max-width:768px){.walks-table,.walks-table tbody,.walks-table tr,.walks-table td{display:block;width:100%;min-width:0}.walks-table thead{display:none}.walks-table tr{margin-bottom:.9rem;padding:.95rem 1.05rem;border:1px solid rgba(196,160,82,.28);border-radius:3px}.walks-table td{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.22rem 0!important;border:0;font-size:.92rem;word-break:break-word}.walks-table td::before{content:attr(data-label);flex:0 0 auto;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;opacity:.62}.walks-table td:not([data-label])::before{content:none}.walks-table td:first-child{display:block;font-family:var(--serif);font-size:1.18rem;line-height:1.25;padding:0 0 .6rem!important;margin-bottom:.55rem;border-bottom:1px solid rgba(196,160,82,.22)}.walks-table td:first-child::before{content:none}.walks-table-wrap{overflow:visible}}.editorial-timeline{display:flex;flex-direction:column}.editorial-timeline__step{display:grid;grid-template-columns:1fr;gap:var(--space-3);padding:var(--space-7) 0}@media (min-width: 640px){.editorial-timeline__step{grid-template-columns:110px 1fr;gap:var(--space-7)}}.editorial-timeline__step:not(:last-child){border-bottom:1px solid var(--border)}.editorial-timeline__when{font-family:var(--sans);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);padding-top:4px}@media (min-width: 640px){.editorial-timeline__when{text-align:right}}.editorial-timeline__title{font-family:var(--serif);font-size:1.4rem;font-weight:400;color:var(--charcoal);margin:0 0 var(--space-3)}.editorial-timeline__body{font-family:var(--sans);font-size:var(--text-sm);color:var(--mid);line-height:1.85;margin:0 0 var(--space-3)}.editorial-timeline__cta{font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--burgundy);font-weight:500;text-decoration:none;transition:color var(--fast)}.editorial-timeline__cta:hover{color:var(--dark)}.editorial-resources{display:grid;grid-template-columns:1fr;gap:var(--space-5);margin-top:var(--space-7)}@media (min-width: 640px){.editorial-resources{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.editorial-resources{grid-template-columns:repeat(4,1fr)}}.editorial-resource{display:block;padding:var(--space-6);background:var(--white);border:1px solid var(--border);text-decoration:none;transition:border-color .2s var(--ease)}.editorial-resource:hover{border-color:var(--burgundy)}.editorial-resource__domain{font-family:var(--sans);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:var(--space-2);display:block}.editorial-resource__title{font-family:var(--serif);font-size:1.1rem;font-weight:400;color:var(--charcoal);margin:0 0 var(--space-3)}.editorial-resource__lead{font-family:var(--sans);font-size:var(--text-sm);color:var(--mid);line-height:1.7;margin:0}.error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--dark);padding:clamp(60px,10vw,120px) var(--container-x);position:relative;overflow:hidden}.error-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(ellipse at 18% 50%,rgba(168,119,138,.1) 0%,transparent 60%),radial-gradient(ellipse at 82% 22%,rgba(135,183,207,.07) 0%,transparent 50%);pointer-events:none}.error-page__inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:clamp(40px,6vw,80px);max-width:1040px;width:100%;align-items:center}@media (min-width: 768px){.error-page__inner{grid-template-columns:1fr 1fr}}.error-page__left{text-align:center}@media (min-width: 768px){.error-page__left{text-align:left}}.error-page__number{font-family:var(--serif);font-size:clamp(8rem,18vw,16rem);font-weight:300;color:transparent;-webkit-text-stroke:1px rgba(196,160,82,.28);line-height:.85;display:block;margin-bottom:clamp(20px,3vw,32px);letter-spacing:-.02em}.error-page__rule{display:flex;align-items:center;gap:12px;margin-bottom:clamp(16px,3vw,28px);justify-content:center}@media (min-width: 768px){.error-page__rule{justify-content:flex-start}}.error-page__rule-line{height:1px;width:56px;background:linear-gradient(to right,rgba(196,160,82,.55),transparent)}.error-page__rule-diamond{width:5px;height:5px;background:var(--gold);transform:rotate(45deg);flex-shrink:0}.error-page__title{font-family:var(--serif);font-size:clamp(1.8rem,4vw,3rem);font-weight:300;color:var(--cream);line-height:1.15;margin:clamp(14px,2vw,22px) 0 clamp(20px,3vw,32px);letter-spacing:.005em}.error-page__text{font-family:var(--sans);font-size:var(--text-base);color:#f5e8d08c;line-height:1.85;margin-bottom:clamp(28px,4vw,44px);max-width:460px}@media (max-width: 767px){.error-page__text{margin-left:auto;margin-right:auto}}.error-page__actions{display:flex;flex-direction:column;gap:12px;align-items:stretch}@media (min-width: 768px){.error-page__actions{flex-direction:row;align-items:flex-start}}.error-page__right{display:flex;flex-direction:column;align-items:center;gap:28px}@media (max-width: 767px){.error-page__right{display:none}}.error-page__fleur{opacity:.22}.error-page__links{width:100%;border:1px solid rgba(196,160,82,.14);padding:32px;background:#f5e8d005}.error-page__links-title{font-family:var(--serif);font-size:.9rem;font-weight:400;color:#f5e8d06b;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px;display:block}.error-page__link-item{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid rgba(196,160,82,.1);text-decoration:none;transition:padding .2s var(--ease)}.error-page__link-item:last-child{border-bottom:0}.error-page__link-item:hover{padding-left:4px}.error-page__link-item:hover .error-page__link-text{color:var(--cream)}.error-page__link-item:hover .error-page__link-arrow{color:var(--gold)}.error-page__link-text{font-family:var(--sans);font-size:var(--text-sm);color:#f5e8d099;letter-spacing:.04em;flex:1;transition:color .2s var(--ease)}.error-page__link-arrow{font-size:.78rem;color:#c4a05252;transition:color .2s var(--ease)}.editorial-card{position:relative}.editorial-card__primary-link{color:inherit;text-decoration:none;transition:color var(--fast)}.editorial-card__primary-link:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.editorial-card:hover .editorial-card__primary-link{color:var(--burgundy)}.editorial-card--on-dark:hover .editorial-card__primary-link{color:var(--blue-light)}.editorial-card__actions{display:flex;align-items:center;gap:var(--space-5);margin-top:auto;flex-wrap:wrap;position:relative;z-index:2}.editorial-card__actions .editorial-card__link{margin-top:0}.find-place-link{font-family:var(--sans);font-size:.66rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--mid);text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:color var(--fast),gap var(--fast);position:relative;z-index:2}.find-place-link:hover{color:var(--burgundy);gap:9px}.find-place-link svg{flex-shrink:0}.editorial-card--on-dark .find-place-link{color:#ffffff8c}.editorial-card--on-dark .find-place-link:hover{color:var(--gold)}.attraction-asym-card{position:relative}.attraction-asym-card__title-link{color:inherit;text-decoration:none;transition:color var(--fast)}.attraction-asym-card__title-link:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.attraction-asym-card:hover .attraction-asym-card__title-link{color:var(--burgundy)}.attraction-asym-card .find-place-link{margin-top:var(--space-3);display:inline-flex}.hero--detail{min-height:clamp(520px,62vh,720px)}.editorial-card__primary-link:before,.attraction-asym-card__title-link:before{display:none}.editorial-card__image,.attraction-asym-card__image{display:block;cursor:pointer}.reviews-editorial__track{display:grid;grid-template-areas:"slide";margin-bottom:var(--space-7)}.reviews-editorial__track>.reviews-editorial__slide{grid-area:slide;min-height:0;opacity:0;pointer-events:none;transition:opacity .45s var(--ease)}.reviews-editorial__track>.reviews-editorial__slide.is-active{opacity:1;pointer-events:auto}@media (max-width: 768px){.site-footer__grid{grid-template-columns:1fr 1fr!important;gap:var(--space-7) var(--space-6)}.site-footer__grid>.site-footer__brand{grid-column:1 / -1;order:0}.site-footer__grid>nav[aria-label=Stay]{order:1}.site-footer__grid>nav[aria-label=Explore]{order:2}.site-footer__grid>nav[aria-label=Dining]{order:3}.site-footer__grid>div:not(.site-footer__brand):last-child{order:4}}.site-footer__badges{display:flex;align-items:center;gap:var(--badge-spacing, 32px);flex-wrap:nowrap;justify-content:center}.site-footer__badge{height:64px;width:auto;opacity:.85;transition:opacity .25s var(--ease)}.site-footer__badge:hover{opacity:1}@media (max-width: 480px){.site-footer__badges{gap:var(--space-4)}.site-footer__badge{height:52px}}.hero__title-line--color-blue{color:#87b7cf}.hero__title-line--color-burgundy{color:#784356}.hero__title-line--color-gold{color:#c4a052}.hero__title-line--color-pink{color:#c49aaa}.hero__title-line--color-cream{color:#f5f0eb}.hero__title-line--italic{font-style:italic}.hero__content--left{text-align:left}.hero__content--left .hero__eyebrow{display:block;text-align:left}.hero__content--left .hero__title{text-align:left;max-width:800px}.hero__content--left .hero__sub{max-width:540px;text-align:left;margin-left:0}.hero__content--left .hero__actions{justify-content:flex-start;text-align:left}.intro-block__cms-body{font-family:var(--sans);font-size:var(--text-md);color:var(--mid);line-height:1.9;max-width:740px;margin-left:auto;margin-right:auto}.intro-block__cms-body p{margin-bottom:var(--space-5)}.intro-block__cms-body p:last-child{margin-bottom:0}.editorial-intro__cms-body{font-family:var(--sans);font-size:var(--text-md);color:var(--mid);line-height:1.85;max-width:720px;margin-left:auto;margin-right:auto}.editorial-intro__cms-body p{margin-bottom:var(--space-5)}.editorial-intro__cms-body p:last-child{margin-bottom:0}.guide-feature__cms-body{font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,1.7vw,1.3rem);color:#ffffffd1;line-height:1.65;max-width:540px;margin:0 auto var(--space-5)}.guide-feature__cms-body p{margin-bottom:var(--space-3)}.guide-feature__cms-body p:last-child{margin-bottom:0}.hero__title-line--section{font-size:inherit;line-height:inherit;letter-spacing:inherit;font-weight:300}.review-source-icon{display:inline-flex;align-items:center;line-height:0}.review-source-icon svg{display:block}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.review-source-icon__fallback{font-family:var(--sans);font-size:.62rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--burgundy)}.newsletter-signup{background:linear-gradient(180deg,#1a1a1a,#0d0d0d);color:#ffffffd9;padding:clamp(3rem,6vw,5rem) clamp(1rem,4vw,2rem);text-align:center;border-bottom:1px solid rgba(196,160,82,.15)}.newsletter-signup__inner{max-width:640px;margin:0 auto}.newsletter-signup__eyebrow{color:var(--gold, #c4a052);font-family:Jost,sans-serif;font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;display:block;margin-bottom:1rem}.newsletter-signup__title{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.8rem,4.5vw,2.8rem);font-weight:300;color:#fffffff2;margin:0 0 1rem;line-height:1.15}.newsletter-signup__lede{font-size:.95rem;line-height:1.65;color:#ffffffb3;max-width:560px;margin:0 auto 2rem}.newsletter-signup__form{margin-top:2rem}.newsletter-signup__row{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:1rem}.newsletter-signup__input{flex:1 1 180px;min-width:0;padding:.85rem 1rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.18);color:#fff;font-family:Jost,sans-serif;font-size:.95rem;border-radius:2px;transition:border-color .2s,background .2s}.newsletter-signup__input::-moz-placeholder{color:#fff6}.newsletter-signup__input::placeholder{color:#fff6}.newsletter-signup__input:focus{outline:none;border-color:var(--gold, #c4a052);background:#ffffff1a}.newsletter-signup__btn{padding:.85rem 2rem;background:var(--rd-burgundy, #784356);color:#fff;border:none;font-family:Jost,sans-serif;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:2px;transition:background .2s;flex:0 0 auto}.newsletter-signup__btn:hover{background:#8d4f63}.newsletter-signup__consent{display:flex;align-items:flex-start;gap:.6rem;font-size:.8rem;color:#ffffff8c;line-height:1.5;margin-top:.5rem;text-align:left;max-width:540px;margin-left:auto;margin-right:auto}.newsletter-signup__consent input{margin-top:.2rem;flex-shrink:0;accent-color:var(--gold, #c4a052)}.newsletter-signup__success{background:#22c55e1f;border:1px solid rgba(34,197,94,.4);color:#bbf7d0;padding:.85rem 1rem;border-radius:4px;font-size:.9rem;margin-bottom:1.25rem}.newsletter-signup__error{color:#fca5a5;font-size:.85rem;margin-top:.5rem}@media (max-width: 580px){.newsletter-signup__row{flex-direction:column}.newsletter-signup__btn{width:100%}}.hero--cinematic{min-height:100vh;align-items:flex-end}.hero--cinematic .hero__title{max-width:880px}.hero--cinematic .hero__title-line--xs,.hero--cinematic .hero__title-line--sm,.hero--cinematic .hero__title-line--md,.hero--cinematic .hero__title-line--lg,.hero--cinematic .hero__title-line--xl,.hero--cinematic .hero__title-line--section{font-size:inherit;line-height:inherit;letter-spacing:inherit}.hero--cinematic .hero__sub{font-size:clamp(1rem,1.55vw,1.2rem);max-width:620px}@media (max-width: 768px){.hero--cinematic{min-height:85vh}}.hero--cinematic .hero__content:has(.hero__actions){padding-bottom:calc(var(--space-11) * 2)}@media (max-width: 768px){.hero--cinematic .hero__content:has(.hero__actions){padding-bottom:calc(var(--space-9) * 2)}}.hero--interior .hero__content:has(.hero__actions){padding-bottom:clamp(30px,6.25vh,70px)}.intro-block__paragraph:last-of-type{margin-bottom:0}.intro-block__cta{margin:var(--space-6) 0 var(--space-6)!important}.intro-block__cms-body p:has(>br:only-child),.intro-block__cms-body p:empty{display:none}@media (min-width: 1024px){.feature-split:has(>*:first-child .editorial-facts),.feature-split:has(>*:first-child.editorial-facts){grid-template-columns:minmax(260px,32%) 1fr;gap:var(--space-9);align-items:start}.feature-split:has(>*:last-child .editorial-facts),.feature-split:has(>*:last-child.editorial-facts){grid-template-columns:1fr minmax(260px,32%);gap:var(--space-9);align-items:start}}.mobile-rooms-sign{display:none}@media (max-width: 768px),(orientation: landscape) and (max-height: 600px){.page-home .hero__actions{display:none!important}.page-home .hero--cinematic .hero__content,.page-home .hero--cinematic .hero__content:has(.hero__actions){padding-bottom:clamp(20px,5vh,48px)!important}.mobile-rooms-sign{display:inline-block;position:absolute;top:5px;left:50%;width:clamp(150px,44vw,195px);padding:9px 14px 11px;background:var(--blue);color:#fff;text-decoration:none;text-align:center;font-family:Jost,sans-serif;font-size:.62rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border-radius:0 0 14px 14px;box-shadow:0 8px 18px #00000047,inset 0 -2px #0000001a;transform-origin:top center;transition:background .2s ease;z-index:5;transform:translate(-50%) rotateX(0);animation:rosedene-sign-swing 4.5s ease-in-out infinite}.mobile-rooms-sign:before,.mobile-rooms-sign:after{content:"";position:absolute;top:-5px;width:1.5px;height:5px;background:#78435666}.mobile-rooms-sign:before{left:14px}.mobile-rooms-sign:after{right:14px}.mobile-rooms-sign:hover,.mobile-rooms-sign:focus{background:var(--blue-dark);color:#fff}}@keyframes rosedene-sign-swing{0%,to{transform:translate(-50%) rotateX(0)}25%{transform:translate(-50%) rotateX(-7deg)}75%{transform:translate(-50%) rotateX(7deg)}}@media (min-width: 769px) and (min-height: 601px){.hero__title{font-size:clamp(2.8rem,7vw,6rem);line-height:1.1}.page-home .hero__title{font-size:clamp(2.6rem,7vw,5.4rem);line-height:1.04;letter-spacing:.005em}.hero--editorial .hero__title{font-size:clamp(2.4rem,5.5vw,4.6rem);line-height:1.05;letter-spacing:.005em}.hero__title-line--xs{font-size:clamp(1.2rem,2.5vw,1.8rem);line-height:1.25;letter-spacing:.04em}.hero__title-line--sm{font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.15}.hero__title-line--md{font-size:clamp(2.2rem,5vw,4rem);line-height:1.1}.hero__title-line--lg{font-size:clamp(2.8rem,7vw,5.4rem);line-height:1.05}.hero__title-line--xl{font-size:clamp(3.4rem,9vw,7rem);line-height:1}.hero__title-line--section{font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.2;letter-spacing:.01em}.hero--cinematic .hero__title-line--xs{font-size:clamp(1.3rem,2.6vw,1.95rem);line-height:1.25;letter-spacing:.04em}.hero--cinematic .hero__title-line--sm{font-size:clamp(1.85rem,4.4vw,3.15rem);line-height:1.16}.hero--cinematic .hero__title-line--md{font-size:clamp(2.35rem,5.5vw,4.4rem);line-height:1.12}.hero--cinematic .hero__title-line--lg{font-size:clamp(2.8rem,7vw,6rem);line-height:1.1}.hero--cinematic .hero__title-line--xl{font-size:clamp(3.3rem,8.5vw,7rem);line-height:1.05}}.wa-bubble{position:fixed;left:0;bottom:24px;display:inline-flex;flex-direction:column;align-items:center;gap:8px;padding:12px 7px;background:#25d366;color:#fff;text-decoration:none;font-family:var(--font-sans, inherit);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-radius:0 10px 10px 0;box-shadow:3px 4px 12px #00000029,1px 1px 3px #00000014;z-index:1200;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease,bottom .18s ease}.wa-bubble:hover,.wa-bubble:focus-visible{background:#1ebe5d;transform:translate(2px);box-shadow:-5px 6px 16px #00000038,-1px 1px 4px #0000001a}.wa-bubble:focus-visible{outline:3px solid rgba(37,211,102,.35);outline-offset:2px}.wa-bubble__icon{width:18px;height:18px;display:block;flex:none}.wa-bubble__label{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;line-height:1}@keyframes wa-bubble-in{0%{transform:translate(-40px);opacity:0}to{transform:translate(0);opacity:1}}.wa-bubble{animation:wa-bubble-in .42s cubic-bezier(.22,1,.36,1) .6s backwards}@media (prefers-reduced-motion: reduce){.wa-bubble{animation:none;transition:none}.wa-bubble:hover{transform:none}}@media (min-width: 1024px){.font-size-toggle{right:128px}}@media (max-width: 768px){.wa-bubble{padding:4px 3px;gap:3px;font-size:.48rem;letter-spacing:.06em;border-radius:0 6px 6px 0}.wa-bubble__icon{width:10px;height:10px}}

.wlk-head{text-align:center;max-width:760px;margin:0 auto var(--space-10);}
    .wlk-head__rule{display:block;width:1px;height:44px;margin:0 auto var(--space-6);
      background:linear-gradient(180deg,transparent,var(--pink-light));}
    .wlk-head__rule--gold{background:linear-gradient(180deg,transparent,var(--gold));}
    .wlk-head--light .wlk-head__rule{background:linear-gradient(180deg,transparent,var(--gold));}
    .wlk-head__eyebrow{display:block;font-family:var(--sans);font-size:var(--text-xs);
      font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);
      margin-bottom:var(--space-5);}
    .wlk-head__eyebrow--pink{color:var(--pink-dark);}
    .wlk-head__title{font-family:var(--serif);font-weight:300;
      font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.08;color:var(--ink);margin:0;}
    .wlk-head__title em{font-style:italic;color:var(--pink-dark);}
    .wlk-head--light .wlk-head__title{color:#fff;}
    .wlk-head--light .wlk-head__title em{color:var(--gold);}
    .wlk-head__title .hero__title-line--italic{color:var(--pink-dark);}
    .wlk-head--light .wlk-head__title .hero__title-line--italic{color:var(--gold);}
    .wlk-split__title .hero__title-line--italic{color:var(--cream);opacity:.72;}
    .wlk-facts{display:grid;grid-template-columns:repeat(4,1fr);
      margin:var(--space-10) auto 0;max-width:820px;
      border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
    .wlk-fact{padding:var(--space-6) var(--space-4);text-align:center;
      border-right:1px solid var(--border);}
    .wlk-fact:last-child{border-right:0;}
    .wlk-fact b{display:block;font-family:var(--serif);font-weight:300;
      font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1;color:var(--pink-dark);}
    .wlk-fact span{display:block;margin-top:var(--space-3);font-family:var(--sans);
      font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--mid);}
    .wlk-diff{font-style:normal;font-family:var(--sans);font-size:.7rem;
      font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;}
    .wlk-diff--easy{color:#8fbf9f;}
    .wlk-diff--moderate{color:var(--gold);}
    .wlk-diff--strenuous{color:#d98a8a;}
    .page-walking .walks-table td:first-child{font-family:var(--serif);font-size:1.05rem;}
    .wlk-mauve{background:var(--pink-dark);color:var(--cream);}
    .wlk-split{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
      gap:var(--space-11);align-items:start;}
    .wlk-split__lead{position:sticky;top:var(--space-9);align-self:start;}
    .wlk-split__eyebrow{display:block;font-family:var(--sans);font-size:var(--text-xs);
      font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);
      margin-bottom:var(--space-5);}
    .wlk-split__title{font-family:var(--serif);font-weight:300;
      font-size:clamp(2rem,3.8vw,2.9rem);line-height:1.1;color:#fff;margin:0 0 var(--space-6);}
    .wlk-split__title em{font-style:italic;color:var(--cream);opacity:.72;}
    .wlk-split__body p{font-size:var(--text-base);line-height:1.85;
      color:rgba(255,255,255,.82);margin:0 0 var(--space-5);}
    .wlk-split__actions{display:flex;gap:var(--space-4);flex-wrap:wrap;
      align-items:center;margin-top:var(--space-7);}
    .wlk-split__ghost{display:inline-block;padding:var(--space-4) var(--space-7);
      font-family:var(--sans);font-size:var(--text-xs);font-weight:600;letter-spacing:.16em;
      text-transform:uppercase;text-decoration:none;color:var(--cream);
      border:1px solid rgba(255,255,255,.42);
      transition:background var(--mid-speed),color var(--mid-speed),border-color var(--mid-speed);}
    .wlk-split__ghost:hover{background:var(--cream);border-color:var(--cream);
      color:var(--pink-dark);}
    .wlk-kit{list-style:none;margin:0;padding:0;display:grid;
      grid-template-columns:1fr 1fr;gap:var(--space-9) var(--space-8);}
    .wlk-kit li{position:relative;padding-left:var(--space-7);}
    .wlk-kit li::before{content:'\2713';position:absolute;left:0;top:.12em;
      font-family:var(--sans);font-size:.9rem;color:var(--gold);font-weight:600;}
    .wlk-kit h3{font-family:var(--serif);font-weight:500;font-size:1.3rem;
      color:#fff;margin:0 0 var(--space-3);line-height:1.2;}
    .wlk-kit p{font-size:var(--text-sm);line-height:1.78;
      color:rgba(255,255,255,.78);margin:0;}
    .wlk-day{list-style:none;margin:0 auto;padding:0;max-width:860px;
      border-top:1px solid var(--border);}
    .wlk-day li{display:grid;grid-template-columns:minmax(0,10.5rem) 1fr;
      gap:var(--space-7);align-items:start;padding:var(--space-8) 0;
      border-bottom:1px solid var(--border);}
    .wlk-day__when{font-family:var(--serif);font-weight:300;
      font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1;color:var(--stone);
      letter-spacing:-.01em;white-space:nowrap;transition:color var(--mid-speed);}
    .wlk-day li:hover .wlk-day__when{color:var(--pink-dark);}
    .wlk-day__c h3{font-family:var(--serif);font-weight:500;
      font-size:clamp(1.3rem,2vw,1.6rem);color:var(--ink);margin:0 0 var(--space-3);line-height:1.18;}
    .wlk-day__c p{font-size:var(--text-base);line-height:1.8;color:var(--mid);margin:0;}
    .wlk-day__go{display:inline-block;margin-top:var(--space-5);font-family:var(--sans);
      font-size:var(--text-xs);font-weight:600;letter-spacing:.16em;text-transform:uppercase;
      color:var(--pink-dark);text-decoration:none;border-bottom:1px solid var(--pink-light);
      padding-bottom:2px;transition:border-color var(--mid-speed);}
    .wlk-day__go::after{content:' \2192';}
    .wlk-day__go:hover{border-bottom-color:var(--pink-dark);}
    .wlk-res{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--space-11);}
    .wlk-res__i{display:block;text-decoration:none;padding:var(--space-7) 0 var(--space-6);
      border-bottom:1px solid var(--border);transition:border-color var(--mid-speed);}
    .wlk-res__i:hover{border-bottom-color:var(--pink-light);}
    .wlk-res__dom{display:block;font-family:var(--sans);font-size:.68rem;
      font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
      margin-bottom:var(--space-3);}
    .wlk-res__i h4{display:flex;align-items:baseline;gap:var(--space-4);
      margin:0 0 var(--space-3);font-family:var(--serif);font-weight:300;
      font-size:clamp(1.35rem,2.1vw,1.7rem);line-height:1.15;color:var(--ink);
      transition:color var(--mid-speed);}
    .wlk-res__i:hover h4{color:var(--pink-dark);}
    .wlk-res__i h4::before{content:'';flex:1 1 auto;order:2;height:0;
      border-bottom:1px dotted var(--stone);transform:translateY(-.3em);opacity:.85;}
    .wlk-res__i h4::after{content:'\2192';order:3;flex:none;
      display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
      border-radius:50%;border:1px solid var(--gold);background:transparent;
      font-family:var(--sans);font-size:1.3rem;line-height:1;color:var(--gold);
      transform:translateY(.12em);
      transition:transform .45s var(--ease-out),background var(--mid-speed),
                 color var(--mid-speed),border-color var(--mid-speed);}
    .wlk-res__i:hover h4::after{transform:translateY(.12em) translateX(8px);
      background:var(--pink-dark);border-color:var(--pink-dark);color:#fff;}
    .wlk-res__i p{font-size:var(--text-sm);line-height:1.75;color:var(--mid);
      margin:0;max-width:44ch;}
    :is(.dark) .wlk-head__title,
    :is(.dark) .wlk-day__c h3,
    :is(.dark) .wlk-res__i h4{color:var(--cream);}
    :is(.dark) .wlk-fact b{color:var(--gold);}
    @media (prefers-reduced-motion: reduce){
      .wlk-res__i h4::after{transition:none;}
    }
    @media (max-width: 980px){
      .wlk-split{grid-template-columns:1fr;gap:var(--space-9);}
      .wlk-split__lead{position:static;}
      .wlk-res{grid-template-columns:1fr;gap:0;}
    }
    @media (max-width: 760px){
      .wlk-facts{grid-template-columns:1fr 1fr;}
      .wlk-fact:nth-child(2){border-right:0;}
      .wlk-fact:nth-child(-n+2){border-bottom:1px solid var(--border);}
      .wlk-kit{grid-template-columns:1fr;gap:var(--space-7);}
      .wlk-day li{grid-template-columns:1fr;gap:var(--space-4);
        padding:var(--space-7) 0;}
      .wlk-day__when{font-size:var(--text-xs);font-weight:600;
        letter-spacing:.18em;text-transform:uppercase;color:var(--pink-dark);
        font-family:var(--sans);}
      .wlk-res__i h4{display:block;}
      .wlk-res__i h4::before,
      .wlk-res__i h4::after{display:none;}
    }
.wlk-head__lead{max-width:64ch;margin:var(--space-6) auto 0;font-size:var(--text-base);
  line-height:1.85;color:var(--mid);}
.wlk-head--light .wlk-head__lead{color:rgba(255,255,255,.78);}
.wlk-walk{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:var(--space-11);align-items:start;padding:var(--space-10) 0;
  border-top:1px solid var(--border);}
.wlk-walk:first-of-type{border-top:0;}
.wlk-walk__eyebrow{display:block;font-family:var(--sans);font-size:var(--text-xs);
  font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);
  margin-bottom:var(--space-4);}
.wlk-walk__title{font-family:var(--serif);font-weight:300;
  font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.1;color:var(--ink);
  margin:0 0 var(--space-5);}
.wlk-walk__title em{font-style:italic;color:var(--pink-dark);}
.wlk-walk__body p{font-size:var(--text-base);line-height:1.85;color:var(--mid);
  margin:0 0 var(--space-5);}
.wlk-walk__body p:last-child{margin-bottom:0;}
.wlk-walk__body a{color:var(--pink-dark);text-decoration:none;
  border-bottom:1px solid var(--pink-light);}
.wlk-walk__body a:hover{border-bottom-color:var(--pink-dark);}
.wlk-walk__body--wide p{max-width:74ch;}
.wlk-walk__go{display:inline-block;margin-top:var(--space-6);font-family:var(--sans);
  font-size:var(--text-xs);font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--pink-dark);text-decoration:none;border-bottom:1px solid var(--pink-light);
  padding-bottom:2px;transition:border-color var(--mid-speed);}
.wlk-walk__go:hover{border-bottom-color:var(--pink-dark);}
.wlk-walk__aside{display:flex;flex-direction:column;gap:var(--space-6);}
.wlk-walk__media{overflow:hidden;border-radius:2px;aspect-ratio:4/3;}
.wlk-walk__media img{display:block;width:100%;height:100%;object-fit:cover;
  transition:transform 900ms var(--ease-out);}
.wlk-walk:hover .wlk-walk__media img{transform:scale(1.03);}
.wlk-walk--flip .wlk-walk__copy{order:2;}
.wlk-walk--flip .wlk-walk__aside{order:1;}
.wlk-chips{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-6);}
.wlk-chip{display:inline-block;padding:.34rem .8rem;font-family:var(--sans);
  font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mid);border:1px solid var(--border);border-radius:2px;white-space:nowrap;}
.wlk-chip--gold{color:var(--pink-dark);border-color:var(--gold);}
.wlk-info{border-top:1px solid var(--gold);padding-top:var(--space-5);}
.wlk-info__title{display:block;font-family:var(--sans);font-size:var(--text-xs);
  font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);
  margin-bottom:var(--space-4);}
.wlk-info__list{margin:0;}
.wlk-info__row{display:flex;justify-content:space-between;align-items:baseline;
  gap:var(--space-5);padding:var(--space-3) 0;border-bottom:1px solid var(--border);}
.wlk-info__row:last-child{border-bottom:0;}
.wlk-info__row dt{font-family:var(--sans);font-size:var(--text-xs);letter-spacing:.1em;
  text-transform:uppercase;color:var(--stone);margin:0;flex:0 0 auto;}
.wlk-info__row dd{margin:0;font-size:var(--text-sm);color:var(--ink);text-align:right;}
.wlk-summit{padding:var(--space-10) 0 0;border-top:1px solid var(--border);}
.wlk-callout{margin:var(--space-7) 0;}
.wlk-warn{margin:var(--space-6) 0 0;padding:var(--space-5) var(--space-6);
  font-size:var(--text-sm);line-height:1.75;color:var(--mid);
  border-left:2px solid var(--gold);background:rgba(196,160,82,.06);}
.wlk-warn strong{color:var(--ink);}
.walks-table--light{background:transparent;}
.walks-table--light thead tr{border-bottom:1px solid rgba(42,15,26,.18);}
.walks-table--light th{color:var(--pink-dark);}
.walks-table--light tbody tr{border-bottom:1px solid var(--border);}
.walks-table--light tbody tr:nth-child(even){background:rgba(42,15,26,.02);}
.walks-table--light td{color:var(--mid);}
.walks-table--light td:first-child{color:var(--ink);}
.walks-table--light td:last-child{color:var(--mid);}
.wlk-seasons{display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  margin-top:var(--space-10);border-top:1px solid var(--border);}
.wlk-season{position:relative;padding:var(--space-7) var(--space-6) var(--space-7) 0;}
.wlk-season:not(:last-child)::before{content:'';position:absolute;top:var(--space-7);
  right:var(--space-5);bottom:var(--space-7);width:1px;background:var(--border);}
.wlk-season__when{display:block;font-family:var(--sans);font-size:.68rem;
  font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);
  margin-bottom:var(--space-3);}
.wlk-season__name{font-family:var(--serif);font-weight:300;
  font-size:clamp(1.5rem,2.4vw,1.95rem);line-height:1.1;color:var(--ink);
  margin:0 0 var(--space-4);}
.wlk-season p{font-size:var(--text-sm);line-height:1.8;color:var(--mid);margin:0;}
.wlk-pack{margin-top:var(--space-10);padding:var(--space-9) 0 0;
  border-top:1px solid var(--gold);}
.wlk-pack__title{display:block;font-family:var(--sans);font-size:var(--text-xs);
  font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);
  margin-bottom:var(--space-7);}
.wlk-pack__list{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:1fr 1fr;gap:var(--space-7) var(--space-9);}
.wlk-pack__list li{position:relative;padding-left:var(--space-7);}
.wlk-pack__list li::before{content:'\2713';position:absolute;left:0;top:.1em;
  font-family:var(--sans);font-size:.9rem;font-weight:600;color:var(--gold);}
.wlk-pack__list h4{font-family:var(--serif);font-weight:500;font-size:1.22rem;
  color:var(--ink);margin:0 0 var(--space-2);line-height:1.2;}
.wlk-pack__list p{font-size:var(--text-sm);line-height:1.75;color:var(--mid);margin:0;}
.wlk-pack__list em{font-style:italic;color:var(--pink-dark);}
.wlk-pack__note{margin:var(--space-8) 0 0;font-size:var(--text-sm);line-height:1.8;
  color:var(--mid);}
.wlk-pack__note a{color:var(--pink-dark);text-decoration:none;
  border-bottom:1px solid var(--pink-light);}
.wlk-faq{max-width:820px;margin:0 auto;}
:is(.dark) .wlk-walk__title,
:is(.dark) .wlk-season__name,
:is(.dark) .wlk-pack__list h4{color:var(--cream);}
:is(.dark) .wlk-info__row dd{color:var(--cream);}
:is(.dark) .walks-table--light td:first-child{color:var(--cream);}
:is(.dark) .wlk-warn strong{color:var(--cream);}
@media (prefers-reduced-motion: reduce){
  .wlk-walk__media img{transition:none;}
}
@media (max-width: 980px){
  .wlk-walk{grid-template-columns:1fr;gap:var(--space-8);padding:var(--space-9) 0;}
  .wlk-walk--flip .wlk-walk__copy{order:1;}
  .wlk-walk--flip .wlk-walk__aside{order:2;}
  .wlk-seasons{grid-template-columns:1fr 1fr;}
  .wlk-season:nth-child(2)::before{display:none;}
}
@media (max-width: 760px){
  .wlk-seasons{grid-template-columns:1fr;border-top:0;}
  .wlk-season{padding:var(--space-6) 0;border-top:1px solid var(--border);}
  .wlk-season:not(:last-child)::before{display:none;}
  .wlk-pack__list{grid-template-columns:1fr;gap:var(--space-6);}
  .wlk-info__row{flex-direction:column;gap:2px;}
  .wlk-info__row dd{text-align:left;}
  .wlk-warn{padding:var(--space-4) var(--space-5);}
}
.wlk-sibs-sec{padding-top:var(--space-9);padding-bottom:var(--space-9);}
.wlk-sibs__title{font-family:var(--serif);font-weight:300;
  font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.15;color:var(--ink);
  margin:0 0 var(--space-7);text-align:center;}
.wlk-siblings{display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid var(--border);}
.wlk-sib{position:relative;display:block;text-decoration:none;color:inherit;
  padding:var(--space-7) var(--space-6) var(--space-7) 0;}
.wlk-sib:not(:last-child)::before{content:'';position:absolute;top:var(--space-7);
  right:var(--space-5);bottom:var(--space-7);width:1px;background:var(--border);}
.wlk-sib__kicker{display:block;font-family:var(--sans);font-size:.66rem;
  font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);
  margin-bottom:var(--space-3);}
.wlk-sib h3{font-family:var(--serif);font-weight:300;
  font-size:clamp(1.3rem,2.1vw,1.65rem);line-height:1.15;color:var(--ink);margin:0;
  transition:color var(--mid-speed);}
.wlk-sib h3::after{content:'';display:block;width:24px;height:1px;background:var(--gold);
  margin:var(--space-4) 0;transition:width .5s var(--ease-out);}
.wlk-sib:hover h3{color:var(--pink-dark);}
.wlk-sib:hover h3::after{width:56px;}
.wlk-sib p{font-size:var(--text-sm);line-height:1.75;color:var(--mid);margin:0;}
:is(.dark) .wlk-sibs__title,
:is(.dark) .wlk-sib h3{color:var(--cream);}
@media (max-width: 900px){
  .wlk-siblings{grid-template-columns:1fr;border-top:0;}
  .wlk-sib{padding:var(--space-6) 0;border-top:1px solid var(--border);}
  .wlk-sib:not(:last-child)::before{display:none;}
}
.wlk-walk__credit{margin:calc(var(--space-3) * -1) 0 0;font-family:var(--sans);
  font-size:.68rem;line-height:1.5;letter-spacing:.02em;color:var(--stone);}
.wlk-walk__credit a{color:var(--stone);text-decoration:underline;
  text-underline-offset:2px;}
.wlk-walk__credit a:hover{color:var(--pink-dark);}
:is(.dark) .wlk-walk__credit,
:is(.dark) .wlk-walk__credit a{color:rgba(245,241,236,.55);}
.wlk-lead{font-family:var(--serif);font-weight:300;font-style:italic;
  font-size:clamp(1.3rem,2.4vw,1.75rem);line-height:1.5;color:var(--ink);
  margin:var(--space-4) 0 0;}
.wlk-rule{border:0;width:48px;height:1px;background:var(--gold);
  margin:var(--space-6) 0;}
.wlk-prose p{font-size:var(--text-base);line-height:1.85;color:var(--mid);
  margin:0 0 var(--space-5);}
.wlk-prose p:last-child{margin-bottom:0;}
.wlk-prose a{color:var(--pink-dark);text-decoration:none;
  border-bottom:1px solid var(--pink-light);}
.wlk-prose a:hover{border-bottom-color:var(--pink-dark);}
.wlk-routes{display:flex;flex-direction:column;gap:var(--space-6);}
.wlk-route{padding:var(--space-8);border:1px solid rgba(196,160,82,.22);
  border-radius:3px;background:rgba(255,255,255,.03);}
.wlk-route__head{display:grid;grid-template-columns:1fr auto;gap:var(--space-6);
  align-items:start;margin-bottom:var(--space-6);}
.wlk-route__head--stack{grid-template-columns:1fr;}
.wlk-route__eyebrow{display:block;font-family:var(--sans);font-size:var(--text-xs);
  font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);
  margin-bottom:var(--space-3);}
.wlk-route__title{font-family:var(--serif);font-weight:300;
  font-size:clamp(1.6rem,2.8vw,2.2rem);line-height:1.12;color:#fff;margin:0;}
.wlk-route__body p{font-size:var(--text-base);line-height:1.8;
  color:rgba(255,255,255,.76);margin:0 0 var(--space-5);}
.wlk-route__body p:last-child{margin-bottom:0;}
.wlk-route__body a{color:var(--blue-light);text-decoration:none;
  border-bottom:1px solid rgba(135,183,207,.4);}
.wlk-route__body a:hover{border-bottom-color:var(--blue-light);}
.wlk-route__note{font-family:var(--sans);font-size:var(--text-sm)!important;
  color:rgba(255,255,255,.55)!important;padding-top:var(--space-4);
  border-top:1px solid rgba(255,255,255,.1);}
.wlk-route .wlk-chip{color:rgba(255,255,255,.74);border-color:rgba(255,255,255,.2);}
.wlk-route .wlk-chip--gold{color:var(--gold);border-color:rgba(196,160,82,.55);}
.wlk-route .wlk-chips{margin-bottom:0;}
.wlk-subroutes{display:grid;grid-template-columns:repeat(3,1fr);
  gap:var(--space-7);margin-top:var(--space-6);}
.wlk-subroutes--two{grid-template-columns:1fr 1fr;}
.wlk-subroute{padding-top:var(--space-5);border-top:1px solid rgba(196,160,82,.28);}
.wlk-subroute h4{font-family:var(--serif);font-weight:500;font-size:1.2rem;
  color:#fff;margin:0 0 var(--space-3);line-height:1.2;}
.wlk-subroute__chips{display:flex;flex-wrap:wrap;gap:var(--space-3);
  margin-bottom:var(--space-4);}
.wlk-subroute__chips span{font-family:var(--sans);font-size:.68rem;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;color:var(--gold);white-space:nowrap;}
.wlk-subroute p{font-size:var(--text-sm)!important;line-height:1.75;
  color:rgba(255,255,255,.68)!important;margin:0!important;}
.wlk-subroute a{color:var(--blue-light);}
.wlk-goats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-10);
  align-items:center;margin-top:var(--space-9);}
.wlk-goats__title{font-family:var(--serif);font-weight:300;
  font-size:clamp(1.5rem,2.5vw,1.95rem);line-height:1.15;color:var(--ink);
  margin:0 0 var(--space-5);}
.wlk-goats__media{overflow:hidden;border-radius:2px;aspect-ratio:4/3;}
.wlk-goats__media img{display:block;width:100%;height:100%;object-fit:cover;}
.wlk-species-wrap{margin-top:var(--space-10);}
.wlk-species{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:1fr 1fr;gap:var(--space-6) var(--space-9);
  border-top:1px solid var(--border);padding-top:var(--space-7);}
.wlk-species li{position:relative;padding-left:var(--space-7);}
.wlk-species li::before{content:'';position:absolute;left:0;top:.55em;
  width:8px;height:8px;border-radius:50%;background:var(--gold);}
.wlk-species h4{font-family:var(--serif);font-weight:500;font-size:1.18rem;
  color:var(--ink);margin:0 0 var(--space-2);line-height:1.2;}
.wlk-species p{font-size:var(--text-sm);line-height:1.75;color:var(--mid);margin:0;}
.wlk-species__note{margin-top:var(--space-6);font-family:var(--sans);
  font-size:var(--text-sm);color:var(--mid);}
.wlk-species__note a{color:var(--pink-dark);text-decoration:none;
  border-bottom:1px solid var(--pink-light);}
.wlk-res__i--static{cursor:default;}
.wlk-res__i--static h4::after{display:none;}
.wlk-res__i--static h4::before{display:none;}
:is(.dark) .wlk-lead,
:is(.dark) .wlk-goats__title,
:is(.dark) .wlk-species h4{color:var(--cream);}
@media (max-width: 980px){
  .wlk-subroutes{grid-template-columns:1fr;gap:var(--space-6);}
  .wlk-subroutes--two{grid-template-columns:1fr;}
  .wlk-goats{grid-template-columns:1fr;gap:var(--space-7);}
  .wlk-species{grid-template-columns:1fr;gap:var(--space-6);}
}
@media (max-width: 760px){
  .wlk-route{padding:var(--space-6);}
  .wlk-route__head{grid-template-columns:1fr;gap:var(--space-4);}
}
.wlk-summit__media{margin:var(--space-7) 0 var(--space-8);}
.wlk-summit__media > picture,
.wlk-summit__media > img{display:block;}
.wlk-summit__media img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;
  border-radius:2px;display:block;}
.wlk-summit__media figcaption{margin-top:var(--space-3);}
@media (max-width: 760px){
  .wlk-summit__media img{aspect-ratio:3/2;}
  .wlk-summit__media{margin:var(--space-6) 0 var(--space-7);}
}
.wlk-goats__fig{margin:0;}
.wlk-goats__fig figcaption{margin-top:var(--space-3);}
.hero__credit{position:absolute;right:var(--space-5);bottom:var(--space-4);z-index:3;
  margin:0;font-family:var(--sans);font-size:.62rem;line-height:1.4;letter-spacing:.02em;
  color:rgba(255,255,255,.55);text-shadow:0 1px 3px rgba(0,0,0,.55);max-width:60vw;
  text-align:right;}
.hero__credit a{color:rgba(255,255,255,.75);text-decoration:underline;
  text-underline-offset:2px;}
.hero__credit a:hover{color:#fff;}
@media (max-width: 760px){
  .hero__credit{font-size:.56rem;right:var(--space-4);bottom:var(--space-3);max-width:80vw;}
}
.wlk-dests{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);
  margin-top:var(--space-9);}
.wlk-dest{position:relative;isolation:isolate;overflow:hidden;border-radius:3px;
  aspect-ratio:3/4;background:var(--dark);display:flex;}
.wlk-dest__media{position:absolute;inset:0;z-index:0;}
.wlk-dest__media img{width:100%;height:100%;object-fit:cover!important;display:block;
  transition:transform 1.4s var(--ease-out);}
.wlk-dest:hover .wlk-dest__media img{transform:scale(1.06);}
.wlk-dest::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,
    rgba(26,10,16,.94) 0%, rgba(26,10,16,.80) 26%,
    rgba(26,10,16,.34) 55%, rgba(26,10,16,.10) 100%);
  transition:opacity var(--mid-speed);}
.wlk-dest:hover::after{opacity:.92;}
.wlk-dest__body{position:relative;z-index:2;margin-top:auto;width:100%;
  padding:var(--space-7) var(--space-6) var(--space-6);}
.wlk-dest__kicker{display:inline-block;font-family:var(--sans);font-size:.64rem;
  font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);
  margin-bottom:var(--space-3);}
.wlk-dest__title{font-family:var(--serif);font-weight:300;
  font-size:clamp(1.6rem,2.6vw,2.15rem);line-height:1.08;margin:0 0 var(--space-4);}
.wlk-dest__title a{color:#fff;text-decoration:none;}
.wlk-dest__title a::after{content:'';position:absolute;inset:0;z-index:3;}
.wlk-dest:hover .wlk-dest__title a{color:var(--cream);}
.wlk-dest__lead{font-size:var(--text-sm);line-height:1.7;
  color:rgba(255,255,255,.80);margin:0 0 var(--space-5);}
.wlk-dest__go{display:inline-block;font-family:var(--sans);font-size:var(--text-xs);
  font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#fff;
  border-bottom:1px solid rgba(196,160,82,.75);padding-bottom:3px;
  transition:border-color var(--mid-speed),color var(--mid-speed);}
.wlk-dest__go::after{content:' \2192';}
.wlk-dest:hover .wlk-dest__go{color:var(--gold);border-bottom-color:var(--gold);}
.wlk-dest__credit{position:absolute;right:var(--space-4);bottom:var(--space-3);
  z-index:4;font-family:var(--sans);font-size:.54rem;line-height:1.35;
  color:rgba(255,255,255,.42);text-align:right;max-width:70%;}
.wlk-dest__credit a{color:rgba(255,255,255,.6);text-decoration:underline;
  text-underline-offset:2px;}
.wlk-dest__credit a:hover{color:#fff;}
@media (prefers-reduced-motion: reduce){
  .wlk-dest__media img{transition:none;}
  .wlk-dest:hover .wlk-dest__media img{transform:none;}
}
@media (max-width: 980px){
  .wlk-dests{grid-template-columns:1fr 1fr;gap:var(--space-5);}
}
@media (max-width: 700px){
  .wlk-dests{grid-template-columns:1fr;gap:var(--space-5);}
  .wlk-dest{aspect-ratio:16/10;}
  .wlk-dest__body{padding:var(--space-6) var(--space-5) var(--space-5);}
  .wlk-dest__lead{display:none;}   
}
.wlk-walk__credit{font-size:.60rem;}
.hero__credit{font-size:.56rem;}
.wlk-dest__credit{font-size:.49rem;}
@media (max-width: 760px){
  .hero__credit{font-size:.52rem;}
}
.wcp2{max-width:1180px;}
.wcp2__head{text-align:center;margin-bottom:var(--space-11);}
.wcp2__rule{border:0;width:1px;height:54px;margin:0 auto var(--space-6);
  background:linear-gradient(180deg,transparent,var(--gold));}
.wcp2__title{font-family:var(--serif);font-weight:300;
  font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.06;color:var(--ink);margin:0;}
.wcp2__title em{font-style:italic;color:var(--pink-dark);}
.wcp2__stage{position:relative;isolation:isolate;}
.wcp2__map{display:block;width:100%;}
.wcp2__map img{display:block;width:100%;height:auto;opacity:.15;}
.wcp2__copy{position:absolute;top:43%;transform:translateY(-50%);
  left:19%;width:62%;z-index:1;color:var(--ink);
  text-shadow:0 0 6px rgba(247,242,236,.95), 0 0 18px rgba(247,242,236,.8);}
.wcp2__copy p{font-family:var(--sans);color:var(--ink);
  font-size:clamp(1rem,1.22vw,1.12rem);line-height:1.85;margin:0 0 var(--space-5);}
.wcp2__copy p:last-child{margin-bottom:0;}
.wcp2__copy p:first-of-type{font-family:var(--serif);font-weight:300;
  font-size:clamp(1.3rem,2.05vw,1.72rem);line-height:1.5;color:var(--ink);
  margin-bottom:var(--space-6);}
.wcp2__copy a{color:var(--pink-dark);text-decoration:none;
  border-bottom:1px solid var(--pink-light);transition:border-color var(--mid-speed);}
.wcp2__copy a:hover{border-bottom-color:var(--pink-dark);}
.wcp2__copy p:first-of-type a{border-bottom-width:1px;}
.wcp2__shape{display:block;width:22%;height:100%;}
.wcp2__shape--l{float:left;
  shape-outside:polygon(0 0, 100% 0, 62% 26%, 30% 55%, 74% 82%, 100% 100%, 0 100%);}
.wcp2__shape--r{float:right;
  shape-outside:polygon(100% 0, 100% 100%, 0 100%, 46% 74%, 22% 40%, 58% 14%, 0 0);}
.wcp2__facts{display:grid;grid-template-columns:repeat(4,1fr);
  margin-top:var(--space-9);border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);}
.wcp2__fact{padding:var(--space-7) var(--space-4);text-align:center;
  border-right:1px solid var(--border);}
.wcp2__fact:last-child{border-right:0;}
.wcp2__fact b{display:block;font-family:var(--serif);font-weight:300;
  font-size:clamp(2rem,3.8vw,2.9rem);line-height:1;color:var(--pink-dark);}
.wcp2__fact span{display:block;margin-top:var(--space-3);font-family:var(--sans);
  font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--mid);}
:is(.dark) .wcp2__title,
:is(.dark) .wcp2__copy p:first-of-type{color:var(--cream);}
:is(.dark) .wcp2__fact b{color:var(--gold);}
:is(.dark) .wcp2__map img{filter:brightness(1.35);}
@media (max-width: 900px){
  .wcp2__copy{position:static;transform:none;top:auto;left:auto;width:100%;
    margin-top:var(--space-7);font-size:var(--text-base);text-shadow:none;}
  .wcp2__copy p:first-of-type{font-size:clamp(1.2rem,4.4vw,1.5rem);}
  .wcp2__shape{display:none;}
  .wcp2__map{max-width:520px;margin:0 auto;}
  .wcp2__map img{opacity:1;}
}
@media (max-width: 620px){
  .wcp2__facts{grid-template-columns:1fr 1fr;}
  .wcp2__fact:nth-child(2){border-right:0;}
  .wcp2__fact:nth-child(-n+2){border-bottom:1px solid var(--border);}
}


/* ═══════════════════════════════════════════════════════════════════════════
   WHAT'S ON — one stylesheet for the page
   Consolidated 2026-08-09, replacing nineteen appended patches that had begun
   to contradict each other (a 1140px clamp fighting a wider container, grids
   declaring more columns than there were cards, three near-identical creams
   set one at a time, and four different card aspect ratios).

   The page reads as a sequence of grounds. Two dark moments, one mauve, the
   rest light, and each dark one earns its place by what it is about:

     hero        photograph
     intro       #faf7f2   lightest
     listings    ivory     the site default
     night band  #241a1e   dark   — the pitch
     year round  #8a5a6e   mauve  — butted to the band above
     diary       ivory
     editorial   #f7f3ec
     after six   #1e1a19   dark   — the section is about the evening
     FAQ         #e9e1d6
     footer CTA  dark      (site component)

   Every event image on this page is 16:9, so every image box is 16:9 and
   nothing is cropped or letterboxed. One card treatment, one row treatment,
   one heading treatment, one spacing scale.
   ═══════════════════════════════════════════════════════════════════════ */

:root{
  --wo-band:clamp(48px,5.5vw,92px);   /* padding inside a section          */
  --wo-stack:clamp(30px,3.8vw,58px);  /* between blocks within a section   */
  --wo-gap:clamp(16px,2.1vw,30px);    /* grid gutters                      */
  --wo-measure:47rem;                 /* reading width for body copy       */
  --wo-hair:rgba(0,0,0,.10);
  --wo-hair-light:rgba(255,255,255,.14);
}

/* ── 1 · hero ──────────────────────────────────────────────────────────── */
.hero--whats-on .hero__title{font-size:clamp(2.6rem,9vw,6.4rem);letter-spacing:-.012em;text-shadow:0 2px 34px rgba(18,6,12,.42);margin-bottom:var(--space-4)}
.hero--whats-on .hero__eyebrow{font-size:.78rem;letter-spacing:.3em;color:#d8b26a;margin-bottom:var(--space-5)}
.hero--whats-on .hero__sub{font-size:clamp(1.02rem,1.5vw,1.32rem);color:rgba(255,255,255,.95);max-width:44ch;line-height:1.62;text-shadow:0 1px 18px rgba(18,6,12,.5)}

/* ── 2 · intro ─────────────────────────────────────────────────────────── */
.wo-intro{background:#faf7f2 !important;padding-top:var(--wo-band) !important;padding-bottom:calc(var(--wo-band) * .82) !important}
.wo-intro .editorial-intro__cms-body,
.wo-intro .editorial-intro__paragraph{color:#4a453f;font-size:clamp(1.04rem,1.25vw,1.16rem);line-height:1.72;max-width:54ch;margin-inline:auto}
.wo-intro .editorial-intro__cms-body p,
.wo-intro .editorial-intro__paragraph p{margin:0 0 1.05rem}
.wo-intro .editorial-intro__cms-body p:last-child,
.wo-intro .editorial-intro__paragraph p:last-child{margin-bottom:0}
.wo-intro .editorial-intro__title{font-size:clamp(2rem,3.6vw,3.1rem);letter-spacing:-.008em}

.wo-intro__meta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem 1.4rem;margin:26px 0 0;font-family:var(--sans);font-size:.68rem;letter-spacing:.19em;text-transform:uppercase;color:#8a8279}
.wo-intro__meta span{position:relative}
.wo-intro__meta span + span::before{content:"";position:absolute;left:-.75rem;top:50%;width:3px;height:3px;border-radius:50%;background:var(--pink-light);transform:translateY(-50%)}

/* off the centre line on anything wider than a tablet */
@media (min-width:1000px){
  .wo-intro .editorial-intro{max-width:1280px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);column-gap:clamp(36px,4vw,76px);align-items:start;text-align:left}
  .wo-intro .editorial-intro__rule{grid-column:1;grid-row:1;margin-inline:0;width:52px}
  .wo-intro .editorial-intro__title{grid-column:1;grid-row:2;text-align:left;margin-bottom:0}
  .wo-intro .editorial-intro__cms-body,
  .wo-intro .editorial-intro__paragraph{grid-column:2;grid-row:1 / span 2;margin-inline:0;text-align:left}
  .wo-intro__meta{grid-column:2;grid-row:3;justify-content:flex-start;margin-top:14px}
}

/* ── 3 · the listings container ────────────────────────────────────────── */
.wo-block{margin-bottom:var(--wo-stack)}
.wo-block:last-child{margin-bottom:0}

/* the site container is 1200px everywhere. On a large monitor that reads as a
   phone layout stretched, so this page alone steps up. */
@media (min-width:1400px){ .wo-results .container{max-width:1360px} }
@media (min-width:1700px){ .wo-results .container{max-width:1560px} }
@media (min-width:2200px){ .wo-results .container{max-width:1800px} }

/* ── 4 · one card treatment ────────────────────────────────────────────── */
.wo-card,.wo-feat{display:block;text-decoration:none;color:inherit;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.wo-card__img,.wo-feat__img{position:relative;aspect-ratio:16/9;overflow:hidden;background:transparent;margin-bottom:14px;border-radius:2px;
  box-shadow:0 14px 30px -18px rgba(38,24,30,.55),0 2px 6px -3px rgba(38,24,30,.25);
  transition:box-shadow .4s ease}
.wo-card:hover .wo-card__img,.wo-feat:hover .wo-feat__img{box-shadow:0 24px 48px -20px rgba(38,24,30,.62),0 3px 10px -4px rgba(38,24,30,.3)}
.wo-card:hover,.wo-feat:hover{transform:translateY(-3px)}
.wo-card__img picture,.wo-card__img img,
.wo-feat__img picture,.wo-feat__img img{display:block;width:100%;height:100%;object-fit:cover !important;object-position:center;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.wo-card:hover .wo-card__img img,
.wo-feat:hover .wo-feat__img img{transform:scale(1.045)}

.wo-card__when,.wo-feat__eyebrow{display:block;font-family:var(--sans);font-size:.68rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--pink-dark);margin-bottom:6px}
.wo-card__title,.wo-feat__title{font-family:var(--serif);font-weight:400;line-height:1.2;margin:0 0 4px;color:var(--ink);transition:color .3s ease}
.wo-card__title{font-size:1.24rem}
.wo-feat__title{font-weight:300;font-size:clamp(1.35rem,2.1vw,1.8rem);margin:.4rem 0 .7rem}
.wo-card:hover .wo-card__title,.wo-feat:hover .wo-feat__title{color:var(--pink-dark)}
.wo-card__venue{font-family:var(--sans);font-size:.78rem;color:#8a8279;letter-spacing:.02em}
.wo-feat__body{padding-top:var(--space-4)}
.wo-feat__chips{margin-bottom:.7rem}
.wo-feat__lead{font-size:.93rem;line-height:1.62;color:var(--mid);margin:0 0 .8rem}
.wo-feat__go{font-family:var(--sans);font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--pink-dark)}

/* column counts must divide into the number of cards, or the row breaks up */
.wo-feats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-9) var(--wo-gap);margin-bottom:var(--wo-stack)}   /* 6 cards */
.wo-month__cards{display:grid;gap:var(--wo-gap);margin:0 0 30px}                                                             /* 3 cards */
@media (min-width:700px){ .wo-month__cards{grid-template-columns:repeat(3,1fr)} }
@media (min-width:1100px){ .wo-feats{grid-template-columns:repeat(3,1fr)} }

/* ── 5 · the fold-away remainder ───────────────────────────────────────── */
.wo-more{margin:0 0 8px}
.wo-more__toggle{list-style:none;cursor:pointer;font-family:var(--sans);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pink-dark);padding:15px 0;border-top:1px solid var(--wo-hair);display:flex;align-items:center;gap:10px;transition:color .3s ease}
.wo-more__toggle::-webkit-details-marker{display:none}
.wo-more__toggle::after{content:"+";font-size:1.05rem;line-height:1}
.wo-more[open] .wo-more__toggle::after{content:"\2013"}
.wo-more__toggle:hover{color:var(--pink)}

/* ── 6 · the diary index ───────────────────────────────────────────────── */
.wo-rows{max-width:920px;margin-inline:auto;border-top:1px solid var(--border)}
@media (min-width:1400px){ .wo-rows{max-width:1100px} }
.wo-row{display:grid;grid-template-columns:8.5rem minmax(0,1fr) 11rem 5.5rem 1.2rem;align-items:baseline;gap:1.1rem;padding:1.1rem .4rem;border-bottom:1px solid var(--border);text-decoration:none;color:inherit;transition:background-color .22s ease,padding-left .22s ease}
.wo-row:hover{background-color:rgba(0,0,0,.022);padding-left:.9rem}
.wo-row__when{font-family:var(--sans);font-size:.71rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.wo-row__title{font-family:var(--serif);font-size:1.1rem;line-height:1.3;color:var(--ink)}
.wo-row:hover .wo-row__title{color:var(--pink-dark)}
.wo-row__venue,.wo-row__price{font-family:var(--sans);font-size:.76rem;color:var(--mid)}
.wo-row__price{text-align:right;white-space:nowrap}
.wo-row__go{color:var(--pink-dark);opacity:0;transition:opacity .22s ease;text-align:right}
.wo-row:hover .wo-row__go{opacity:1}

/* ── 7 · the photographic month bands ──────────────────────────────────── */
.wo-month__banner{position:relative;isolation:isolate;min-height:clamp(180px,21vw,290px);display:flex;align-items:flex-end;overflow:hidden;margin:0 0 clamp(24px,3.2vw,40px)}
.wo-month__banner-img{position:absolute;inset:0;z-index:0}
.wo-month__banner-img picture,.wo-month__banner-img img{display:block;width:100%;height:100%;object-fit:cover !important;object-position:center}
.wo-month__banner::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(22,19,17,.84) 0%,rgba(22,19,17,.44) 58%,rgba(22,19,17,.22) 100%)}
.wo-month__banner-in{position:relative;z-index:2;padding:clamp(20px,3vw,38px)}
.wo-month__banner-count{display:block;font-family:var(--sans);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:#e9cdd8;margin-bottom:9px}
.wo-month__banner-title{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1;margin:0;color:#fff;letter-spacing:-.005em}
.wo-month__banner-title em{font-style:italic;opacity:.7}

/* ── 8 · the two full-bleed bands ──────────────────────────────────────────
   Both break out of the container. Safe because html and body are already
   overflow-x: clip. They butt against each other deliberately: dark into
   mauve, with no cream stripe between. */
.wo-night-band,.wo-yr{margin-inline:calc(50% - 50vw);width:auto;max-width:none}

/* ── "Making a night of it" — the Your Base treatment ──────────────────────
   Same shape as the walking pages: gold eyebrow, serif heading, copy and two
   buttons on the left, a tick list on the right. Dark ground rather than the
   mauve, so the two bands below it still read as separate chapters. */
.wo-night-band{position:relative;display:grid;gap:0;background:#241a1e;margin-top:var(--wo-stack);margin-bottom:0;
  margin-inline:calc(50% - 50vw);width:auto;max-width:none;
  padding-block:clamp(44px,5vw,86px);
  padding-inline:max(clamp(20px,5vw,48px),calc(50vw - 780px))}
@media (min-width:940px){
  .wo-night-band{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);column-gap:clamp(44px,5vw,96px);align-items:start}
}
.wo-night-band__lead{display:flex;flex-direction:column;align-items:flex-start}
.wo-night-band__eyebrow{display:block;font-family:var(--sans);font-size:.68rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:#c4a052;margin:0 0 18px}
.wo-night-band__title{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,3.6vw,2.9rem);line-height:1.08;letter-spacing:-.008em;margin:0 0 24px;color:#f6f1ea;text-align:left}
.wo-night-band .wo-night{max-width:44ch}
.wo-night-band .wo-night p{margin:0 0 1.1rem;line-height:1.72;text-align:left;color:rgba(255,255,255,.8);font-size:.98rem}
.wo-night-band .wo-night p:last-child{margin-bottom:0}
.wo-night-band .wo-night strong{display:block;margin-bottom:.15rem;color:#f2ece5;font-weight:500}
.wo-night-band .wo-night a{color:#e9cdd8;text-decoration:underline;text-underline-offset:.18em}
.wo-night-band .wo-night a:hover{color:#fff}
.wo-night-band__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px;margin-top:clamp(26px,3vw,36px)}
.wo-night-band .btn--burgundy{background:#5e3b4a;color:#f5f1ec;border:1px solid #5e3b4a}
.wo-night-band .btn--burgundy:hover{background:#6f4759;border-color:#6f4759;color:#fff}
.wo-night-band__ghost{display:inline-flex;align-items:center;justify-content:center;padding:.86rem 1.6rem;border:1px solid rgba(255,255,255,.4);color:#f5f1ec;font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:border-color .3s ease,background .3s ease}
.wo-night-band__ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}

.wo-night-kit{list-style:none;margin:0;padding:0;display:grid;gap:clamp(26px,3vw,42px) clamp(28px,3vw,54px)}
@media (min-width:700px){ .wo-night-kit{grid-template-columns:repeat(2,1fr)} }
@media (max-width:939px){ .wo-night-kit{margin-top:clamp(34px,5vw,52px)} }
.wo-night-kit li{position:relative;padding-left:2rem}
.wo-night-kit li::before{content:"\2713";position:absolute;left:0;top:.05rem;color:#c4a052;font-size:1rem;line-height:1.3}
.wo-night-kit h3{font-family:var(--serif);font-weight:400;font-size:1.16rem;line-height:1.24;margin:0 0 .45rem;color:#f6f1ea}
.wo-night-kit p{margin:0;font-family:var(--sans);font-size:.86rem;line-height:1.65;color:rgba(255,255,255,.72)}

@media (max-width:640px){
  .wo-night-band{padding-inline:20px;padding-block:38px}
}
/* ── the two bands are ONE composition ──────────────────────────────────────
   They share a column split, so the right edge of the photograph and the
   division in the mauve band below fall on exactly the same vertical line.
   Previously they were two unrelated grids (42.5% and 41%, one edge to edge
   and one inside heavy padding) which is why nothing lined up and the dark
   copy floated in the middle of an empty panel. */
.wo-night-band,.wo-yr{display:grid;gap:0}
@media (min-width:940px){ .wo-night-band,.wo-yr{grid-template-columns:minmax(0,46fr) minmax(0,54fr)} }
.wo-night-band{position:relative;background:#241a1e;margin-top:var(--wo-stack);margin-bottom:0;overflow:hidden}
.wo-night-band__img{position:relative;min-height:340px}
.wo-night-band__img picture,.wo-night-band__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover !important;display:block}
.wo-night-band__txt{max-width:none;margin-inline:0;display:flex;flex-direction:column;justify-content:center;
  padding:clamp(34px,4.4vw,72px) max(clamp(24px,3vw,56px),calc(50vw - 780px)) clamp(34px,4.4vw,72px) clamp(30px,3.4vw,64px)}
.wo-night-band__title{max-width:15ch}
.wo-night-band .wo-night{max-width:48ch}
/* single column. The two-column set was tried and rejected 2026-08-09 -
   newspaper columns do not suit copy this short. */
.wo-night-band__title{font-family:var(--serif);font-weight:300;font-size:clamp(1.85rem,3.4vw,2.75rem);line-height:1.06;margin:0;color:#f6f1ea;letter-spacing:-.005em;text-align:left}
.wo-night-band__rule{display:block;width:48px;height:1px;background:var(--pink-light);margin:20px 0 22px}
.wo-night-band .wo-night p{margin:0 0 1.05rem;line-height:1.62;text-align:left;color:#cbc2bb;font-size:.97rem}
.wo-night-band .wo-night p:last-child{margin-bottom:0}
.wo-night-band .wo-night strong{display:block;margin-bottom:.15rem;color:#f2ece5;font-weight:500}
.wo-night-band .wo-night a{color:var(--pink-light);text-decoration:underline;text-underline-offset:.18em}
.wo-night-band .wo-night a:hover{color:#fff}
.wo-night-wrap{max-width:38rem}
.wo-night-band__cta{display:inline-flex;align-items:center;gap:.6rem;margin-top:clamp(22px,2.6vw,32px);padding:.86rem 1.6rem;background:#f5f1ec;color:#3a2028;border:1px solid #f5f1ec;border-radius:2px;font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;align-self:flex-start;transition:background .3s ease,color .3s ease,transform .3s ease}
.wo-night-band__cta::after{content:"\2192";font-size:.9rem;line-height:1}
.wo-night-band__cta:hover{background:#fff;color:#24141a;transform:translateY(-2px)}


/* year-round, on the mauve, hard against the band above */
.wo-yr{background:var(--pink-dark);margin-top:0;margin-bottom:var(--wo-stack);align-items:stretch}
/* column 1 carries the copy, so it is inset to the page measure. Column 1 of
   the band above carries the photograph, which bleeds. Same spine either way. */
.wo-yr__lead{padding:clamp(34px,4.4vw,72px) clamp(28px,3.4vw,54px) clamp(34px,4.4vw,72px) max(clamp(20px,5vw,48px),calc(50vw - 780px));
  display:flex;flex-direction:column;justify-content:center}
.wo-yr__grid{padding:clamp(34px,4.4vw,72px) max(clamp(20px,5vw,48px),calc(50vw - 780px)) clamp(34px,4.4vw,72px) clamp(30px,3.4vw,64px)}
@media (max-width:939px){
  .wo-yr__lead,.wo-yr__grid{padding-inline:clamp(20px,5vw,48px)}
  .wo-yr__grid{padding-top:0}
}
.wo-yr__eyebrow{display:block;font-family:var(--sans);font-size:.68rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:#c4a052;margin:0 0 14px}
.wo-yr__title{font-family:var(--serif);font-weight:300;font-size:clamp(1.95rem,3.5vw,2.8rem);line-height:1.08;letter-spacing:-.008em;margin:0 0 20px;color:#fff}
.wo-yr__title em{font-style:italic;color:#e9cdd8}
.wo-yr__body p{font-family:var(--sans);font-size:1rem;line-height:1.74;color:rgba(255,255,255,.84);margin:0 0 1.05rem;max-width:42ch}
.wo-yr__body p:last-child{margin-bottom:0}
.wo-yr__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:28px}
.wo-yr__ghost{font-family:var(--sans);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:#f5f1ec;text-decoration:none;transition:color .3s ease}
.wo-yr__ghost:hover{color:#fff}
.wo-yr .btn--burgundy{background:#f5f1ec;color:#5e3b4a;border-color:#f5f1ec}
.wo-yr .btn--burgundy:hover{background:#fff;color:#4a2c39;border-color:#fff}

.wo-yr__grid{display:grid;gap:var(--wo-gap);grid-template-columns:repeat(2,1fr)}
@media (min-width:1180px){ .wo-yr__grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:520px){ .wo-yr__grid{grid-template-columns:1fr} }

/* the cards read as objects sitting on the mauve rather than holes cut in it —
   a real drop shadow does most of that work, the translucent panel the rest */
.wo-yr .wo-card,.wo-card--yr{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);padding:9px 9px 14px;border-radius:2px;
  box-shadow:0 18px 38px -20px rgba(28,12,20,.72),0 3px 10px -4px rgba(28,12,20,.4);
  transition:background .35s ease,border-color .35s ease,box-shadow .4s ease,transform .4s cubic-bezier(.2,.7,.2,1)}
.wo-yr .wo-card:hover,.wo-card--yr:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);transform:translateY(-5px);
  box-shadow:0 30px 56px -22px rgba(28,12,20,.8),0 5px 14px -5px rgba(28,12,20,.5)}
.wo-yr .wo-card__img{margin-bottom:12px;box-shadow:none}
.wo-yr .wo-card:hover .wo-card__img{box-shadow:none}
.wo-yr .wo-card__body{padding:0 5px}
.wo-yr .wo-card__when{display:inline-flex;align-items:center;gap:7px;font-size:.6rem;letter-spacing:.2em;color:#e6c6d3;margin-bottom:7px}
.wo-yr .wo-card__when::before{content:"";width:14px;height:1px;background:#c4a052;flex:0 0 auto}
.wo-yr .wo-card__title{font-size:1.08rem;line-height:1.24;margin-bottom:5px;color:#fff}
.wo-yr .wo-card:hover .wo-card__title{color:#f0d7e0}
.wo-yr .wo-card__venue{font-size:.74rem;letter-spacing:.03em;color:rgba(255,255,255,.68)}

/* ── 9 · the closing sections ──────────────────────────────────────────── */
.wo-ed{background:#f7f3ec;padding-top:var(--wo-band);padding-bottom:var(--wo-band)}
.wo-eve{background:#1e1a19;padding-top:var(--wo-band);padding-bottom:var(--wo-band)}
.wo-faq{background:#e9e1d6;padding-top:calc(var(--wo-band) * .9);padding-bottom:var(--wo-band)}

.wo-ed__in{max-width:var(--wo-measure);margin-inline:auto;padding-inline:clamp(20px,5vw,32px)}
.wo-faq .wo-ed__in{max-width:50rem}
@media (min-width:1400px){
  .wo-ed__in{max-width:52rem}
  .wo-faq .wo-ed__in{max-width:56rem}
}

.wo-ed__eyebrow{display:block;font-family:var(--sans);font-size:.68rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--pink-dark);margin:0 0 14px}
.wo-ed__title{font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.1;letter-spacing:-.008em;margin:0 0 clamp(22px,3vw,34px);color:var(--ink)}
.wo-ed__body{font-family:var(--sans);color:#4a453f;font-size:1.02rem;line-height:1.78}
.wo-ed__body p{margin:0 0 1.15rem;max-width:66ch}
.wo-ed__body p:last-child{margin-bottom:0}
.wo-ed__lead{font-size:1.16rem !important;line-height:1.62;color:#3b3630;margin-bottom:1.9rem !important}
.wo-ed__body h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.32rem,2.1vw,1.62rem);line-height:1.22;color:var(--ink);margin:2.4rem 0 .85rem;padding-top:1.5rem;border-top:1px solid var(--wo-hair)}
.wo-ed__body h3:first-of-type{margin-top:2rem}
.wo-ed__body a{color:var(--pink-dark);text-decoration:underline;text-underline-offset:.16em}
.wo-ed__body a:hover{color:var(--pink)}
.wo-eve .wo-ed__body strong{display:block;font-family:var(--sans);font-weight:500;margin-bottom:.2rem}

/* the heading sits in a rail beside the copy rather than above it */
@media (min-width:1100px){
  .wo-ed .wo-ed__in,.wo-eve .wo-ed__in,.wo-faq .wo-ed__in{max-width:1280px;display:grid;grid-template-columns:minmax(0,.44fr) minmax(0,1fr);column-gap:clamp(40px,4.5vw,84px);align-items:start}
  .wo-ed__eyebrow{grid-column:1;grid-row:1}
  .wo-ed__title{grid-column:1;grid-row:2;position:sticky;top:120px;margin-bottom:0}
  .wo-ed__body,.wo-faq__list{grid-column:2;grid-row:1 / span 2}
}

/* "After six" reverses out — the section is about the evening */
.wo-eve .wo-ed__eyebrow{color:#c4a052}
.wo-eve .wo-ed__title{color:#f6f1ea}
.wo-eve .wo-ed__body{color:#bdb5ae}
.wo-eve .wo-ed__lead{color:#e6e0d9 !important}
.wo-eve .wo-ed__body strong{color:#fff}
.wo-eve .wo-ed__body h3{color:#f0eae3;border-top-color:var(--wo-hair-light)}
.wo-eve .wo-ed__body a{color:#e9cdd8}
.wo-eve .wo-ed__body a:hover{color:#fff}

/* ── 10 · FAQ ──────────────────────────────────────────────────────────── */
.wo-faq__list{border-top:1px solid var(--wo-hair)}
.wo-faq__item{border-bottom:1px solid var(--wo-hair)}
.wo-faq__q{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.15rem 0;font-family:var(--serif);font-size:clamp(1.08rem,1.7vw,1.28rem);font-weight:400;line-height:1.34;color:var(--ink);transition:color .3s ease}
.wo-faq__q::-webkit-details-marker{display:none}
.wo-faq__q::after{content:"+";font-family:var(--sans);font-size:1.15rem;line-height:1.3;color:var(--pink-dark);flex:0 0 auto}
.wo-faq__item[open] .wo-faq__q::after{content:"\2013"}
.wo-faq__q:hover{color:var(--pink-dark)}
.wo-faq__a{padding:0 0 1.35rem;font-family:var(--sans);font-size:.98rem;line-height:1.74;color:#4a453f;max-width:64ch}
.wo-faq__a p{margin:0 0 .95rem}
.wo-faq__a p:last-child{margin-bottom:0}
.wo-faq__a a{color:var(--pink-dark);text-decoration:underline;text-underline-offset:.16em}

/* ── 11 · legacy, still referenced by the blade in places ──────────────── */
.wo-month__head{margin-bottom:var(--space-7);text-align:center}
.wo-month__head .wlk-head__title{font-size:clamp(1.6rem,3vw,2.3rem)}
.wo-block--ongoing .wo-row{grid-template-columns:8.5rem minmax(0,1fr) 11rem 1.2rem}
.section--dark .wo-night p{color:rgba(255,255,255,.84)}
.section--dark .wo-night strong{color:#fff}
.section--dark .wo-night a{color:var(--gold);text-decoration:underline;text-underline-offset:.18em}
.section--dark .wo-night a:hover{color:#fff}
.section--dark .editorial-intro__rule{background:linear-gradient(180deg,transparent,var(--gold))}

/* ── 12 · portrait phones ──────────────────────────────────────────────── */
@media (max-width:900px){
  .wo-feats{grid-template-columns:1fr;gap:var(--space-8)}
  .wo-row,.wo-block--ongoing .wo-row{grid-template-columns:1fr auto;gap:.3rem .8rem;padding:.95rem .2rem}
  .wo-row__when{grid-column:1/-1}
  .wo-row__title{grid-column:1}
  .wo-row__venue{grid-column:1;font-size:.72rem}
  .wo-row__price{grid-column:2;grid-row:2}
  .wo-row__go{display:none}
  .wo-row:hover{padding-left:.2rem}
}
@media (max-width:640px){
  .wo-intro__meta{flex-direction:column;gap:.42rem;font-size:.62rem;letter-spacing:.16em;margin-top:20px}
  .wo-intro__meta span + span::before{display:none}
  .wo-intro + .section{padding-top:clamp(26px,7vw,40px) !important}
  .wo-yr{padding-inline:18px;padding-block:26px}
  .wo-yr .wo-card,.wo-card--yr{padding:8px 8px 12px}
  .wo-month__banner{min-height:150px;margin-bottom:22px}
  .wo-night-band__txt{padding-inline:20px;margin-inline:0}
  .wo-night-band__img{min-height:210px}
  .wo-ed__in{padding-inline:20px}
}

/* ── 13 · dark theme ───────────────────────────────────────────────────── */
:is(.dark) .wo-card__title{color:#ece6df}
:is(.dark) .wo-card__venue{color:#9b938b}
:is(.dark) .wo-more__toggle{border-top-color:var(--wo-hair-light)}
:is(.dark) .wo-intro{background:#1c1a19 !important}
:is(.dark) .wo-intro .editorial-intro__cms-body,
:is(.dark) .wo-intro .editorial-intro__paragraph{color:#c4bcb4}
:is(.dark) .wo-intro__meta{color:#9b938b}
:is(.dark) .wo-ed{background:#201d1b}
:is(.dark) .wo-eve{background:#121010}
:is(.dark) .wo-faq{background:#171514}
:is(.dark) .wo-ed__title,:is(.dark) .wo-faq__q{color:#ece6df}
:is(.dark) .wo-ed__body,:is(.dark) .wo-faq__a{color:#c4bcb4}
:is(.dark) .wo-ed__lead{color:#ded7cf}
:is(.dark) .wo-ed__body h3{color:#ece6df;border-top-color:var(--wo-hair-light)}
:is(.dark) .wo-faq__list,:is(.dark) .wo-faq__item{border-color:var(--wo-hair-light)}
:is(.dark) .wo-yr{background:#6f4759}

/* ── night band · photograph, copy, ticks ──────────────────────────────────
   Three columns on a wide screen. The photograph bleeds to the left edge, so
   the padding lives on the two text cells rather than on the band. */
.wo-night-band{padding-inline:0}
.wo-night-band__img{position:relative;min-height:300px;overflow:hidden}
.wo-night-band__img picture,.wo-night-band__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover !important;display:block}
.wo-night-band__lead{padding:clamp(40px,4.6vw,80px) clamp(26px,2.6vw,44px) clamp(40px,4.6vw,80px) clamp(30px,3.4vw,60px)}
.wo-night-kit{padding:clamp(40px,4.6vw,80px) max(clamp(20px,5vw,48px),calc(50vw - 780px)) clamp(40px,4.6vw,80px) 0}

@media (min-width:1240px){
  .wo-night-band{grid-template-columns:minmax(0,.66fr) minmax(0,.86fr) minmax(0,1.08fr);column-gap:0}
}
@media (min-width:940px) and (max-width:1239px){
  .wo-night-band{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:0}
  .wo-night-kit{grid-column:1 / -1;padding-left:clamp(30px,3.4vw,60px);padding-top:0}
}
@media (max-width:939px){
  .wo-night-band{grid-template-columns:1fr}
  .wo-night-band__img{min-height:220px}
  .wo-night-band__lead,.wo-night-kit{padding-inline:clamp(20px,5vw,40px)}
  .wo-night-kit{padding-top:0;padding-bottom:clamp(34px,6vw,52px)}
}
/* ── night band · photograph back to 42% ────────────────────────────────────
   It was .85fr against 1.15fr (42%) before the tick list went in; adding a
   third column squeezed it to 25%. The photograph holds 42% at every desktop
   width now, and the copy and ticks share what is left. */
@media (min-width:1240px){
  .wo-night-band{grid-template-columns:42fr 26fr 32fr}
}
@media (min-width:940px) and (max-width:1239px){
  .wo-night-band{grid-template-columns:42fr 58fr}
  .wo-night-band__img{grid-row:1 / span 2}
  .wo-night-band__lead{grid-column:2;grid-row:1}
  .wo-night-kit{grid-column:2;grid-row:2;padding-top:0;padding-left:clamp(26px,2.6vw,44px)}
}

/* ── night band · RESTORED to its original two-column layout ────────────────
   Photograph left at 42%, copy right. Reverses the three-column split and the
   25% photograph that went with it. */
.wo-night-band{display:grid;gap:0;background:#241a1e;margin-top:var(--wo-stack);margin-bottom:0;overflow:hidden;
  margin-inline:calc(50% - 50vw);width:auto;max-width:none;padding:0}
@media (min-width:860px){
  .wo-night-band{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
}
@media (min-width:940px) and (max-width:1239px){
  .wo-night-band{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
}
@media (min-width:1240px){
  .wo-night-band{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
}
.wo-night-band__img{position:relative;min-height:340px;grid-row:auto;grid-column:auto}
.wo-night-band__img picture,.wo-night-band__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover !important;display:block}
.wo-night-band__txt{max-width:620px;margin-inline:auto;grid-row:auto;grid-column:auto;
  padding:clamp(30px,4vw,58px) clamp(28px,4vw,56px)}
@media (min-width:1400px){ .wo-night-band__txt{max-width:680px} }
@media (max-width:640px){
  .wo-night-band{grid-template-columns:1fr}
  .wo-night-band__img{min-height:210px}
  .wo-night-band__txt{padding-inline:20px;margin-inline:0}
}
/* the rebuild left align-items:start on the band, which let the photo cell
   collapse to its min-height. It stretches to the full height of the section. */
.wo-night-band{align-items:stretch}
@media (min-width:860px){ .wo-night-band{align-items:stretch} }
@media (min-width:940px){ .wo-night-band{align-items:stretch} }
@media (min-width:1240px){ .wo-night-band{align-items:stretch} }
.wo-night-band__img{align-self:stretch;height:100%}

/* ── night band · text column, Your Base treatment ─────────────────────────
   Photograph untouched at 42% and full height. The copy was a 557px block
   centred in a 1740px column, which left voids either side; it now sits
   against the photograph and reads across a sensible measure. */
.wo-night-band__txt{max-width:none;margin-inline:0;display:flex;flex-direction:column;justify-content:center;
  padding:clamp(40px,4.6vw,80px) clamp(30px,3vw,60px) clamp(40px,4.6vw,80px) clamp(34px,3.4vw,68px)}
.wo-night-band__eyebrow{display:block;font-family:var(--sans);font-size:.68rem;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;color:#c4a052;margin:0 0 18px}
.wo-night-band__title{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,3.4vw,2.9rem);
  line-height:1.08;letter-spacing:-.008em;margin:0 0 24px;color:#f6f1ea;text-align:left}
.wo-night-band .wo-night{max-width:52ch}
.wo-night-band .wo-night p{margin:0 0 1.15rem;line-height:1.72;text-align:left;color:rgba(255,255,255,.8);font-size:.99rem}
.wo-night-band .wo-night p:last-child{margin-bottom:0}
.wo-night-band .wo-night strong{display:block;margin-bottom:.2rem;color:#f6f1ea;font-weight:500}
.wo-night-band .wo-night a{color:#e9cdd8;text-decoration:underline;text-underline-offset:.18em}
.wo-night-band .wo-night a:hover{color:#fff}
.wo-night-band__cta{align-self:flex-start;margin-top:clamp(26px,3vw,38px)}
/* ── night band · directions ───────────────────────────────────────────────
   Two outline buttons under the main call to action. Apple Maps on an iPhone,
   Google Maps everywhere else, walking directions in both. */
.wo-night-band__actions{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center;margin-top:clamp(24px,2.8vw,34px)}
.wo-night-band__cta{margin-top:0}
.wo-night-dirs{margin-top:clamp(22px,2.4vw,30px)}
.wo-night-dirs__label{display:block;font-family:var(--sans);font-size:.62rem;font-weight:500;letter-spacing:.22em;
  text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:11px}
.wo-night-dirs__row{display:flex;flex-wrap:wrap;gap:10px}
.wo-night-dirs__btn{display:inline-flex;align-items:center;gap:.5rem;padding:.62rem 1.05rem;
  border:1px solid rgba(255,255,255,.28);color:#f0e8e2;background:transparent;border-radius:2px;
  font-family:var(--sans);font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;transition:border-color .3s ease,background .3s ease,color .3s ease}
.wo-night-dirs__btn::before{content:"\27A4";font-size:.7rem;line-height:1;color:#c4a052;transform:rotate(-45deg)}
.wo-night-dirs__btn:hover{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.08);color:#fff}
@media (max-width:520px){
  .wo-night-dirs__row{flex-direction:column;align-items:flex-start}
  .wo-night-dirs__btn{width:100%;justify-content:flex-start}
}
/* ── night band · text, styled like the Your Base section ──────────────────
   Measured: a 483px copy block in a 1740px column, 1190px of it empty, body
   at 15.8px and the heading capped at 15 characters. The type now carries the
   column. The bold lead-ins in the copy are set as serif sub-headings, the
   same treatment the reference gives its item titles. No ticks.
   The photograph is not touched: 42% and full height. */
.wo-night-band__title{max-width:20ch;font-size:clamp(2.2rem,3.4vw,3.5rem);line-height:1.06;margin:0 0 28px}
.wo-night-band__eyebrow{font-size:.72rem;letter-spacing:.26em;margin:0 0 20px}
.wo-night-band__txt{padding-left:clamp(38px,4vw,84px);padding-right:clamp(30px,3vw,64px)}

.wo-night-band .wo-night{max-width:62ch}
.wo-night-band .wo-night p{font-size:clamp(1.02rem,1.05vw,1.18rem);line-height:1.78;
  color:rgba(255,255,255,.82);margin:0 0 1.6rem}
.wo-night-band .wo-night p:last-child{margin-bottom:0}

/* the lead-ins become sub-headings rather than bold body text */
.wo-night-band .wo-night strong{display:block;font-family:var(--serif);font-weight:400;
  font-size:clamp(1.18rem,1.4vw,1.42rem);line-height:1.26;color:#f6f1ea;
  margin:0 0 .5rem;letter-spacing:.002em}
.wo-night-band .wo-night strong a{color:inherit;text-decoration:none}
.wo-night-band .wo-night strong a:hover{color:#e9cdd8}
.wo-night-band .wo-night a{color:#e9cdd8;text-decoration:underline;text-underline-offset:.18em}

.wo-night-dirs{margin-top:clamp(26px,2.8vw,36px)}

/* ── night band · three columns, photo still 42% ───────────────────────────
   Photograph 42%, copy 24%, ticks 34%. The photograph keeps exactly the width
   it had; the tick list takes the 1081px that was empty to the right of the
   copy rather than the copy being asked to stretch and become unreadable. */
@media (min-width:1240px){
  .wo-night-band{grid-template-columns:42fr 24fr 34fr;align-items:stretch}
}
@media (min-width:940px) and (max-width:1239px){
  .wo-night-band{grid-template-columns:42fr 58fr;align-items:stretch}
  .wo-night-band__img{grid-row:1 / span 2}
  .wo-night-band__txt{grid-column:2;grid-row:1}
  .wo-night-kit{grid-column:2;grid-row:2;padding-top:0}
}
@media (max-width:939px){
  .wo-night-band{grid-template-columns:1fr}
  .wo-night-kit{padding-top:0}
}

.wo-night-kit{list-style:none;margin:0;padding:clamp(40px,4.6vw,80px) clamp(34px,3.4vw,68px) clamp(40px,4.6vw,80px) clamp(28px,2.8vw,52px);
  display:grid;gap:clamp(24px,2.6vw,38px) clamp(26px,2.6vw,46px);align-content:center}
@media (min-width:1500px){ .wo-night-kit{grid-template-columns:repeat(2,1fr)} }
.wo-night-kit li{position:relative;padding-left:1.9rem}
.wo-night-kit li::before{content:"\2713";position:absolute;left:0;top:.12rem;color:#c4a052;font-size:1rem;line-height:1.2}
.wo-night-kit h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.14rem,1.3vw,1.32rem);line-height:1.24;margin:0 0 .42rem;color:#f6f1ea}
.wo-night-kit p{margin:0;font-family:var(--sans);font-size:.9rem;line-height:1.68;color:rgba(255,255,255,.72)}
@media (max-width:939px){
  .wo-night-kit{padding-inline:clamp(20px,5vw,40px);padding-bottom:clamp(34px,6vw,52px)}
}
/* ── What's On · the first section finally says what it is ─────────────────
   Six featured events sat under the filters with no heading at all. */
.wo-feats__head{margin:0 0 clamp(24px,3vw,38px)}
.wo-feats__eyebrow{display:block;font-family:var(--sans);font-size:.68rem;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;color:var(--pink-dark);margin:0 0 12px}
.wo-feats__title{font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,3.2vw,2.6rem);
  line-height:1.1;letter-spacing:-.008em;margin:0;color:var(--ink)}
:is(.dark) .wo-feats__title{color:#ece6df}
/* ── hero title · close the gap between the two lines ──────────────────────
   Measured 2026-08-09: the h1 renders at 102.4px with a 107.5px line-height,
   but each title line is only 70.4px tall, so 37px of leading fell between
   them on desktop. On a phone the h1 is smaller than the lines, so it never
   showed — which is why mobile looked right and desktop did not.
   The lines become blocks and set their own leading; the br is redundant. */
.hero--whats-on .hero__title{line-height:1}
.hero--whats-on .hero__title-line{display:block;line-height:1.06}
.hero--whats-on .hero__title br{display:none}

/* ── night band · type sized to match the section below it ─────────────────
   Was heading 56px / body 18.9px, which sat much larger than the year-round
   band underneath. Matched to the .wo-yr scale so the two read as siblings. */
.wo-night-band__title{font-size:clamp(1.95rem,3.5vw,2.8rem);margin:0 0 22px}
.wo-night-band__eyebrow{font-size:.68rem;letter-spacing:.24em;margin:0 0 14px}
.wo-night-band .wo-night p{font-size:1rem;line-height:1.74;margin:0 0 1.3rem}
.wo-night-band .wo-night strong{font-size:1.14rem;line-height:1.26;margin:0 0 .42rem}
.wo-night-kit h3{font-size:1.08rem;line-height:1.26}
.wo-night-kit p{font-size:.88rem;line-height:1.66}

/* ── year-round band · use the width, like the band above it ───────────────
   Measured on prod at 3011px: the lead carried 733px of left padding and the
   grid 733px of right, so the section was squeezed into a 1560px column while
   the night band beside it used the full 3026px. Eleven events then had to
   fit three across in 837px, leaving two orphans on a fourth row.
   Now: full width, matching per-cell padding, four across so eleven reads
   4 + 4 + 3, and slightly larger throughout. */
.wo-yr__lead{padding:clamp(44px,5vw,86px) clamp(30px,3vw,60px) clamp(44px,5vw,86px) clamp(34px,3.4vw,84px)}
.wo-yr__grid{padding:clamp(44px,5vw,86px) clamp(34px,3.4vw,84px) clamp(44px,5vw,86px) clamp(30px,3vw,60px)}

@media (min-width:1500px){
  .wo-yr__grid{grid-template-columns:repeat(4,1fr)}
}

/* a touch larger, as asked */
.wo-yr__title{font-size:clamp(2.1rem,3.7vw,3rem)}
.wo-yr__body p{font-size:1.04rem;line-height:1.76;max-width:44ch}
.wo-yr .wo-card__title,.wo-card--yr .wo-card__title{font-size:1.16rem;line-height:1.26}
.wo-yr .wo-card__venue,.wo-card--yr .wo-card__venue{font-size:.78rem}
.wo-yr .wo-card__when,.wo-card--yr .wo-card__when{font-size:.63rem}
.wo-yr .wo-card,.wo-card--yr{padding:11px 11px 16px}

/* ── year-round band · content aligned to the page, not the screen edge ────
   Going full width put the lead copy hard against the left of a 3026px band
   and stranded the cards on the right. The band stays edge to edge in mauve,
   but its content now lines up with the 1640px column the rest of the page
   uses, and the grid goes back to three columns so the cards are a sensible
   size rather than either tiny or enormous. */
.wo-yr__lead{padding:clamp(44px,5vw,86px) clamp(30px,3vw,56px) clamp(44px,5vw,86px) max(clamp(20px,5vw,48px),calc(50vw - 820px))}
.wo-yr__grid{padding:clamp(44px,5vw,86px) max(clamp(20px,5vw,48px),calc(50vw - 820px)) clamp(44px,5vw,86px) clamp(30px,3vw,56px)}
@media (min-width:940px){ .wo-yr{grid-template-columns:38fr 62fr} }
@media (min-width:1180px){ .wo-yr__grid{grid-template-columns:repeat(3,1fr)} }
@media (min-width:1500px){ .wo-yr__grid{grid-template-columns:repeat(3,1fr)} }

/* ── year-round · two featured, the rest underneath ────────────────────────
   The two large ones are picked at random on each page load, so a repeat
   visitor sees a different pair. Every event is still rendered either way. */
.wo-yr__stack{display:flex;flex-direction:column;gap:clamp(20px,2.4vw,34px)}
.wo-yr__feature{display:grid;gap:clamp(16px,2vw,28px)}
@media (min-width:760px){ .wo-yr__feature{grid-template-columns:repeat(2,1fr)} }

.wo-card--yrbig .wo-card__title{font-size:clamp(1.24rem,1.5vw,1.5rem);line-height:1.22;margin-bottom:.45rem}
.wo-card--yrbig .wo-card__lead{margin:0 0 .55rem;font-family:var(--sans);font-size:.86rem;line-height:1.6;
  color:rgba(255,255,255,.72)}
.wo-card--yrbig .wo-card__when{margin-bottom:9px}

/* the remainder, smaller */
.wo-yr__grid{grid-template-columns:repeat(2,1fr)}
@media (min-width:900px){ .wo-yr__grid{grid-template-columns:repeat(3,1fr)} }
.wo-yr__grid .wo-card__title{font-size:.99rem;line-height:1.24}
.wo-yr__grid .wo-card__venue{font-size:.72rem}
.wo-yr__grid .wo-card__when{font-size:.58rem;margin-bottom:5px}
.wo-yr__grid .wo-card{padding:8px 8px 12px}
@media (max-width:520px){ .wo-yr__grid{grid-template-columns:1fr} }
/* ── What's On · tighter vertical scale ────────────────────────────────────
   Every section was running on a generous band of padding which added up to a
   very tall page. Roughly a third out of the vertical rhythm throughout,
   without touching any of the layouts or type sizes. */
:root{
  --wo-band:clamp(34px,3.6vw,60px);
  --wo-stack:clamp(22px,2.6vw,38px);
}
.wo-ed,.wo-eve{padding-top:var(--wo-band);padding-bottom:var(--wo-band)}
.wo-faq{padding-top:calc(var(--wo-band) * .9);padding-bottom:var(--wo-band)}
.wo-intro{padding-top:clamp(34px,3.8vw,62px) !important;padding-bottom:clamp(28px,3vw,48px) !important}

.wo-night-band__txt{padding-top:clamp(30px,3.2vw,54px);padding-bottom:clamp(30px,3.2vw,54px)}
.wo-night-kit{padding-top:clamp(30px,3.2vw,54px);padding-bottom:clamp(30px,3.2vw,54px)}
.wo-night-band__img{min-height:280px}

.wo-yr__lead{padding-top:clamp(32px,3.4vw,58px);padding-bottom:clamp(32px,3.4vw,58px)}
.wo-yr__grid{padding-top:clamp(32px,3.4vw,58px);padding-bottom:clamp(32px,3.4vw,58px)}

.wo-month__banner{min-height:clamp(140px,15vw,210px);margin-bottom:clamp(18px,2.2vw,30px)}
.wo-block{margin-bottom:clamp(30px,3.4vw,50px)}
.wo-feats{margin-bottom:clamp(26px,3vw,44px)}
.wo-feats__head{margin-bottom:clamp(18px,2.2vw,28px)}
.wo-month__cards{margin-bottom:22px}

/* ── year-round · a list, not a fourth grid of cards ───────────────────────
   Two columns of names with a venue tag, hairline separated. Roughly a third
   of the height the card grid took, and a change of texture between the diary
   above and the editorial below - which is what the page was short of. */
.wo-yr__list{list-style:none;margin:0;padding:0;display:grid;gap:0 clamp(30px,3vw,64px);
  border-top:1px solid rgba(255,255,255,.2)}
@media (min-width:820px){ .wo-yr__list{grid-template-columns:repeat(2,1fr)} }
.wo-yr__list li{border-bottom:1px solid rgba(255,255,255,.2)}
.wo-yr__list a{display:flex;align-items:baseline;justify-content:space-between;gap:1.2rem;
  padding:.9rem 0;text-decoration:none;transition:padding-left .28s ease,color .28s ease}
.wo-yr__list a:hover{padding-left:.55rem}
.wo-yr__name{font-family:var(--serif);font-weight:400;font-size:1.08rem;line-height:1.3;color:#fff}
.wo-yr__tag{font-family:var(--sans);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.58);white-space:nowrap;flex:0 0 auto}
.wo-yr__list a:hover .wo-yr__name{color:#f0d7e0}
@media (max-width:520px){
  .wo-yr__list a{flex-direction:column;gap:.2rem;padding:.8rem 0}
  .wo-yr__tag{white-space:normal}
}
/* ── year-round · thumbnail rows ───────────────────────────────────────────
   The list rhythm, which suits reference items, with a small square picture
   on each row so the section still carries imagery. A fraction of the height
   of a card grid and a different texture from the diary above it. */
.wo-yr__rows{list-style:none;margin:0;padding:0;display:grid;gap:0 clamp(28px,2.8vw,56px)}
@media (min-width:820px){ .wo-yr__rows{grid-template-columns:repeat(2,1fr)} }
.wo-yr__row{border-bottom:1px solid rgba(255,255,255,.16)}
.wo-yr__row:first-child,.wo-yr__row:nth-child(2){border-top:1px solid rgba(255,255,255,.16)}
@media (max-width:819px){ .wo-yr__row:nth-child(2){border-top:0} }

.wo-yr__row a{display:grid;grid-template-columns:56px minmax(0,1fr) 1rem;align-items:center;
  gap:clamp(12px,1.2vw,18px);padding:.72rem 0;text-decoration:none;
  transition:padding-left .3s cubic-bezier(.2,.7,.2,1)}
.wo-yr__row a:hover{padding-left:.5rem}

.wo-yr__thumb{display:block;width:56px;height:56px;overflow:hidden;border-radius:2px;
  background:rgba(0,0,0,.18);flex:0 0 auto}
.wo-yr__thumb picture,.wo-yr__thumb img{display:block;width:100%;height:100%;
  object-fit:cover !important;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.wo-yr__row a:hover .wo-yr__thumb img{transform:scale(1.08)}

.wo-yr__meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.wo-yr__name{font-family:var(--serif);font-weight:400;font-size:1.06rem;line-height:1.25;color:#fff;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wo-yr__tag{font-family:var(--sans);font-size:.64rem;letter-spacing:.15em;text-transform:uppercase;
  color:rgba(255,255,255,.55)}
.wo-yr__go{font-size:.85rem;color:rgba(255,255,255,.35);opacity:0;transition:opacity .3s ease,color .3s ease}
.wo-yr__row a:hover .wo-yr__go{opacity:1;color:#f0d7e0}
.wo-yr__row a:hover .wo-yr__name{color:#f0d7e0}

@media (max-width:520px){
  .wo-yr__row a{grid-template-columns:48px minmax(0,1fr);gap:12px}
  .wo-yr__thumb{width:48px;height:48px}
  .wo-yr__go{display:none}
  .wo-yr__name{white-space:normal}
}
/* ── year-round · six pictures, the rest as text ───────────────────────────
   Fixed height whatever the count. Six cards shuffled per visit, then a
   compact list for the remainder so twenty events cost a few hundred pixels
   rather than a few thousand. */
.wo-yr__cards{display:grid;gap:clamp(14px,1.5vw,22px)}
@media (min-width:640px){ .wo-yr__cards{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1024px){ .wo-yr__cards{grid-template-columns:repeat(3,1fr)} }

.wo-yr__card{display:block;text-decoration:none;color:inherit;
  transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.wo-yr__card:hover{transform:translateY(-3px)}
.wo-yr__card-img{display:block;aspect-ratio:16/9;overflow:hidden;border-radius:2px;
  background:rgba(0,0,0,.16);
  box-shadow:0 12px 26px -16px rgba(28,12,20,.7);transition:box-shadow .35s ease}
.wo-yr__card:hover .wo-yr__card-img{box-shadow:0 20px 38px -18px rgba(28,12,20,.8)}
.wo-yr__card-img picture,.wo-yr__card-img img{display:block;width:100%;height:100%;
  object-fit:cover !important;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.wo-yr__card:hover .wo-yr__card-img img{transform:scale(1.05)}
.wo-yr__card-body{display:block;padding-top:.62rem}
.wo-yr__card-title{display:block;font-family:var(--serif);font-weight:400;font-size:1rem;
  line-height:1.28;color:#fff;margin-bottom:.14rem}
.wo-yr__card:hover .wo-yr__card-title{color:#f0d7e0}
.wo-yr__card-tag{display:block;font-family:var(--sans);font-size:.61rem;letter-spacing:.15em;
  text-transform:uppercase;color:rgba(255,255,255,.55)}

/* the remainder */
.wo-yr__more{margin-top:clamp(22px,2.4vw,34px);padding-top:clamp(16px,1.8vw,24px);
  border-top:1px solid rgba(255,255,255,.18)}
.wo-yr__more-label{display:block;font-family:var(--sans);font-size:.62rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:#c4a052;margin-bottom:.7rem}
.wo-yr__morelist{list-style:none;margin:0;padding:0;display:grid;gap:.2rem clamp(20px,2.4vw,44px)}
@media (min-width:640px){ .wo-yr__morelist{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1280px){ .wo-yr__morelist{grid-template-columns:repeat(3,1fr)} }
.wo-yr__morelist a{display:block;padding:.3rem 0;font-family:var(--sans);font-size:.86rem;
  line-height:1.45;color:rgba(255,255,255,.76);text-decoration:none;
  transition:color .25s ease,padding-left .25s ease}
.wo-yr__morelist a:hover{color:#fff;padding-left:.35rem}
/* ── year-round · horizontal scroller ──────────────────────────────────────
   One fixed-height strip. Six events or thirty take the same vertical space,
   which is what every grid attempt failed at. */
.wo-yr__scroller{position:relative}
.wo-yr__scrollhead{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  margin:0 0 .9rem;padding-bottom:.7rem;border-bottom:1px solid rgba(255,255,255,.18)}
.wo-yr__count{font-family:var(--sans);font-size:.63rem;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;color:#c4a052}
.wo-yr__nav{display:flex;gap:.4rem;flex:0 0 auto}
.wo-yr__arrow{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.3);border-radius:50%;background:transparent;color:#f5f1ec;
  font-size:.9rem;line-height:1;cursor:pointer;
  transition:background .28s ease,border-color .28s ease,opacity .28s ease}
.wo-yr__arrow:hover:not(:disabled){background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.6)}
.wo-yr__arrow:disabled{opacity:.25;cursor:default}
.wo-yr__arrow:focus-visible{outline:2px solid #e9cdd8;outline-offset:2px}

.wo-yr__track{list-style:none;margin:0;padding:0 0 .4rem;display:flex;gap:18px;
  overflow-x:auto;scroll-snap-type:x proximity;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none}
.wo-yr__track::-webkit-scrollbar{display:none}
.wo-yr__track > li{flex:0 0 246px;scroll-snap-align:start}

.wo-yr__tile{display:block;text-decoration:none;color:inherit;
  transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.wo-yr__tile:hover{transform:translateY(-3px)}
.wo-yr__tile-img{display:block;aspect-ratio:16/9;overflow:hidden;border-radius:2px;
  background:rgba(0,0,0,.18);box-shadow:0 12px 26px -16px rgba(28,12,20,.75);
  transition:box-shadow .35s ease}
.wo-yr__tile:hover .wo-yr__tile-img{box-shadow:0 20px 38px -18px rgba(28,12,20,.85)}
.wo-yr__tile-img picture,.wo-yr__tile-img img{display:block;width:100%;height:100%;
  object-fit:cover !important;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.wo-yr__tile:hover .wo-yr__tile-img img{transform:scale(1.06)}
.wo-yr__tile-body{display:block;padding-top:.55rem}
.wo-yr__tile-title{display:block;font-family:var(--serif);font-weight:400;font-size:.97rem;
  line-height:1.26;color:#fff;margin-bottom:.1rem}
.wo-yr__tile:hover .wo-yr__tile-title{color:#f0d7e0}
.wo-yr__tile-tag{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.15em;
  text-transform:uppercase;color:rgba(255,255,255,.55)}

/* a fade so the strip reads as scrollable */
.wo-yr__scroller::after{content:"";position:absolute;right:0;bottom:.4rem;width:56px;top:3.6rem;
  pointer-events:none;background:linear-gradient(to right,rgba(138,90,110,0),rgba(138,90,110,.92))}

@media (max-width:520px){
  .wo-yr__track > li{flex:0 0 196px}
  .wo-yr__scroller::after{width:34px}
}
@media (prefers-reduced-motion:reduce){
  .wo-yr__track{scroll-behavior:auto}
  .wo-yr__tile,.wo-yr__tile-img img{transition:none}
}
/* the year-round column was stretching its children to fill the section
   height, which is what put ~170px of empty mauve between each row */
.wo-yr{align-items:start}
.wo-yr__lead{align-self:start}

/* ── year-round scroller · second pass ─────────────────────────────────────
   Tiles were 246px and mean; arrows were a hairline outline that vanished
   against the mauve. Bigger tiles, solid arrows, a stronger head rule. */
.wo-yr__track > li{flex:0 0 300px}
@media (min-width:1600px){ .wo-yr__track > li{flex:0 0 330px} }
.wo-yr__track{gap:22px}

.wo-yr__tile-title{font-size:1.06rem;line-height:1.25;margin-bottom:.16rem}
.wo-yr__tile-tag{font-size:.63rem}
.wo-yr__tile-body{padding-top:.68rem}

.wo-yr__scrollhead{margin-bottom:1.1rem;padding-bottom:.85rem;
  border-bottom:1px solid rgba(255,255,255,.28)}
.wo-yr__count{font-size:.66rem;color:#e6c6d3}

.wo-yr__arrow{width:38px;height:38px;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.42);color:#fff;font-size:.95rem}
.wo-yr__arrow:hover:not(:disabled){background:#f5f1ec;border-color:#f5f1ec;color:#5e3b4a}
.wo-yr__arrow:disabled{opacity:.3}

.wo-yr__scroller::after{top:4.1rem}
@media (max-width:520px){ .wo-yr__track > li{flex:0 0 230px} }

/* ── FIX · the scroller was blowing the grid apart ─────────────────────────
   A grid column sizes to its content unless told otherwise, and the track is
   12 x 300px of flex children = 3600px. That forced the right column wide and
   crushed the left one to about 110px, so the copy set one word per line.
   minmax(0,..) plus min-width:0 lets the track scroll inside its column
   instead of dictating the column's width. */
@media (min-width:940px){
  .wo-yr{grid-template-columns:minmax(0,38fr) minmax(0,62fr)}
}
.wo-yr > *{min-width:0}
.wo-yr__scroller{min-width:0;max-width:100%;overflow:hidden}
.wo-yr__track{min-width:0;max-width:100%}
.wo-yr__lead{min-width:0}

/* ── year-round scroller · wheel handling ──────────────────────────────────
   smooth scroll-behaviour fights a wheel handler, so the track scrolls
   instantly and only the arrow buttons animate (they pass behavior:smooth
   to scrollBy themselves). Tiles sized so one peeks in from the right, which
   is what tells you there is more to see. */
.wo-yr__track{scroll-behavior:auto;overscroll-behavior-x:contain}
.wo-yr__scroller{scrollbar-gutter:stable}
@media (hover:hover) and (pointer:fine){
  .wo-yr__track{cursor:default}
}
/* ── year-round strip · finish ─────────────────────────────────────────────
   Room above the strip so it does not crowd the section top, a wider peek at
   the next tile so it plainly continues, and focus states on the arrows. */
.wo-yr__scroller{padding-top:.35rem}
.wo-yr__scrollhead{margin-bottom:1.25rem}
.wo-yr__track{padding-right:64px;scroll-padding-left:0}
.wo-yr__scroller::after{width:72px}

/* the tile itself */
.wo-yr__tile-img{border-radius:3px}
.wo-yr__tile:focus-visible{outline:2px solid #e9cdd8;outline-offset:4px;border-radius:3px}
.wo-yr__tile:focus-visible .wo-yr__tile-img{box-shadow:0 20px 38px -18px rgba(28,12,20,.85)}


@media (prefers-reduced-motion:reduce){
  .wo-yr__tile,.wo-yr__tile-img,.wo-yr__tile-img img{transition:none}
  .wo-yr__tile:hover{transform:none}
}
/* ── year-round · six tiles, three across ──────────────────────────────────
   Small enough that six sit in two tidy rows. No scrolling, no script. The
   grid is capped so the tiles stay modest on a wide monitor instead of
   stretching to 600px each. */
.wo-yr__six{display:grid;gap:clamp(14px,1.4vw,22px);max-width:1020px}
@media (min-width:620px){ .wo-yr__six{grid-template-columns:repeat(3,1fr)} }
@media (max-width:619px){ .wo-yr__six{grid-template-columns:repeat(2,1fr)} }

.wo-yr__six-item{display:block;text-decoration:none;color:inherit;
  transition:transform .32s cubic-bezier(.2,.7,.2,1)}
.wo-yr__six-item:hover{transform:translateY(-3px)}
.wo-yr__six-img{display:block;aspect-ratio:16/9;overflow:hidden;border-radius:3px;
  background:rgba(0,0,0,.16);box-shadow:0 10px 22px -14px rgba(28,12,20,.7);
  transition:box-shadow .32s ease}
.wo-yr__six-item:hover .wo-yr__six-img{box-shadow:0 18px 32px -16px rgba(28,12,20,.82)}
.wo-yr__six-img picture,.wo-yr__six-img img{display:block;width:100%;height:100%;
  object-fit:cover !important;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.wo-yr__six-item:hover .wo-yr__six-img img{transform:scale(1.05)}
.wo-yr__six-name{display:block;font-family:var(--serif);font-weight:400;font-size:.97rem;
  line-height:1.24;color:#fff;margin:.55rem 0 .1rem}
.wo-yr__six-item:hover .wo-yr__six-name{color:#f0d7e0}
.wo-yr__six-tag{display:block;font-family:var(--sans);font-size:.59rem;letter-spacing:.15em;
  text-transform:uppercase;color:rgba(255,255,255,.55)}
.wo-yr__six-item:focus-visible{outline:2px solid #e9cdd8;outline-offset:4px;border-radius:3px}

/* the remainder, one quiet line */
.wo-yr__rest{max-width:1020px;margin:clamp(18px,2vw,28px) 0 0;padding-top:clamp(14px,1.6vw,20px);
  border-top:1px solid rgba(255,255,255,.18);
  font-family:var(--sans);font-size:.84rem;line-height:1.85;color:rgba(255,255,255,.72)}
.wo-yr__rest > span:first-child{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:#c4a052;margin-right:.5rem}
.wo-yr__rest a{color:rgba(255,255,255,.82);text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.24);transition:color .25s ease,border-color .25s ease}
.wo-yr__rest a:hover{color:#fff;border-color:#fff}
.wo-yr__sep{color:rgba(255,255,255,.35);margin:0 .1rem}
/* ── year-round · put the "also on" line back in the right column ──────────
   It was the third child of a two-column grid, so it wrapped to column one,
   which on a full-bleed band starts off the left of the screen. And the tiles
   were still ~390px; capped tighter so six sit small in two rows. */
@media (min-width:940px){
  .wo-yr__six{grid-column:2}
  .wo-yr__rest{grid-column:2}
}
.wo-yr__six{max-width:760px;gap:clamp(12px,1.1vw,16px)}
.wo-yr__rest{max-width:760px}
.wo-yr__six-name{font-size:.9rem;margin:.45rem 0 .08rem}
.wo-yr__six-tag{font-size:.55rem}

/* ── year-round · six to a row, two rows, all of them ──────────────────────
   Twelve small tiles rather than six large ones. */
.wo-yr__six{max-width:1150px;grid-template-columns:repeat(6,1fr);gap:12px}
@media (max-width:1400px){ .wo-yr__six{grid-template-columns:repeat(4,1fr)} }
@media (max-width:900px){ .wo-yr__six{grid-template-columns:repeat(3,1fr)} }
@media (max-width:560px){ .wo-yr__six{grid-template-columns:repeat(2,1fr)} }
.wo-yr__six-name{font-size:.78rem;line-height:1.22;margin:.4rem 0 .05rem}
.wo-yr__six-tag{font-size:.5rem;letter-spacing:.13em}
.wo-yr__six-img{border-radius:2px;box-shadow:0 6px 14px -9px rgba(28,12,20,.65)}

/* ── year-round · centre the tiles against the copy ────────────────────────
   The grid is 304px tall in a 597px section, so with align-items:start it sat
   at the top with 269px of empty mauve underneath. The copy column sets the
   height; the tiles now sit centred against it. */
@media (min-width:940px){
  .wo-yr__six{align-self:center}
  .wo-yr__lead{align-self:center}
}

/* ── announcement banner · hang it off the hero ────────────────────────────
   The section_above slot renders INSIDE the intro section, so the section's
   top padding pushed the banner down the page and it could never meet the
   hero. Pulling it up by exactly that padding puts it flush against the
   hero's underside, like a label. The padding is held in a variable so the
   pull and the padding can never drift apart. */
.wo-intro{--wo-intro-pt:clamp(34px,3.8vw,62px);padding-top:var(--wo-intro-pt) !important}
.wo-intro > .widget-slot--section_above{
  margin-top:calc(-1 * var(--wo-intro-pt));
  margin-bottom:clamp(26px,3vw,46px);
}

/* ── announcement banner · sit it on the hero's edge, properly ─────────────
   The previous attempt pulled the slot up by a variable while the section's
   real padding stayed at 120px, so the banner ended up tucked BEHIND the
   hero. Rather than guess the padding, remove it entirely when a banner is
   present and let the banner itself be the top of the section. :has() means
   a page with no banner keeps its normal spacing. */
.wo-intro:has(> .widget-slot--section_above){padding-top:0 !important}
.wo-intro > .widget-slot--section_above{
  margin-top:0;
  margin-bottom:clamp(26px,3vw,46px);
}

/* ── announcement banner · the actual cause ────────────────────────────────
   The section_above slot is position:absolute, so it occupies no space and the
   intro content sat underneath it at the same offset. Margins on an absolute
   element do nothing useful here. Put it back in normal flow: it then sits
   flush under the hero and pushes the copy down by its own height. */
.wo-intro > .widget-slot--section_above{
  position:static;
  margin-top:0;
  margin-bottom:clamp(26px,3vw,46px);
}

/* ═══════════════════════════════════════════════════════════════════════════
   VENUE PAGES  (/whats-on/venue-cymru, /whats-on/motorsport-lounge)
   Built 2026-08-09. No inline styles, no JavaScript.
   ═══════════════════════════════════════════════════════════════════════ */

.vn-in{max-width:1200px;margin-inline:auto;padding-inline:clamp(20px,5vw,64px)}
.vn-eyebrow{display:block;font-family:var(--sans);font-size:.68rem;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;color:var(--pink-dark);margin:0 0 12px}
.vn-h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,3.4vw,2.7rem);
  line-height:1.1;letter-spacing:-.008em;margin:0 0 clamp(20px,2.6vw,32px);color:var(--ink)}

/* ── hero ─────────────────────────────────────────────────────────────── */
.vn-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;
  min-height:clamp(340px,42vw,540px);overflow:hidden;background:#241a1e}
.vn-hero__img{position:absolute;inset:0;z-index:0}
.vn-hero__img picture,.vn-hero__img img{display:block;width:100%;height:100%;
  object-fit:cover !important;object-position:center}
.vn-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(20,14,16,.88) 0%,rgba(20,14,16,.5) 55%,rgba(20,14,16,.26) 100%)}
.vn-hero__in{position:relative;z-index:2;width:100%;max-width:1200px;margin-inline:auto;
  padding:clamp(28px,4vw,60px) clamp(20px,5vw,64px)}
.vn-hero__eyebrow{display:block;font-family:var(--sans);font-size:.68rem;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;color:#d8b26a;margin:0 0 14px}
.vn-hero__title{font-family:var(--serif);font-weight:300;font-size:clamp(2.1rem,4.6vw,3.8rem);
  line-height:1.05;letter-spacing:-.01em;margin:0 0 16px;color:#fff;
  text-shadow:0 2px 28px rgba(18,6,12,.42);max-width:20ch}
.vn-hero__sub{font-family:var(--sans);font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.62;
  color:rgba(255,255,255,.92);max-width:52ch;margin:0;text-shadow:0 1px 16px rgba(18,6,12,.5)}

/* ── what it is ───────────────────────────────────────────────────────── */
.vn-intro{background:#faf7f2;padding-block:clamp(44px,5vw,84px)}
.vn-intro__grid{display:grid;gap:clamp(30px,4vw,64px)}
@media (min-width:960px){ .vn-intro__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start} }
.vn-intro__addr{font-family:var(--sans);font-size:1.02rem;color:var(--ink);margin:0 0 .5rem;font-weight:500}
.vn-intro__walk{font-family:var(--sans);font-size:1rem;line-height:1.74;color:#4a453f;margin:0;max-width:44ch}
.vn-intro__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:clamp(22px,2.6vw,32px)}
.vn-btn{display:inline-flex;align-items:center;padding:.86rem 1.6rem;background:var(--pink-dark);
  color:#f5f1ec;border:1px solid var(--pink-dark);border-radius:2px;font-family:var(--sans);
  font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;
  transition:background .3s ease,border-color .3s ease}
.vn-btn:hover{background:var(--pink);border-color:var(--pink);color:#fff}
.vn-ghost{font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--pink-dark);text-decoration:none;transition:color .3s ease}
.vn-ghost:hover{color:var(--pink)}

.vn-facts{list-style:none;margin:0;padding:0;display:grid;gap:clamp(20px,2.4vw,32px) clamp(26px,3vw,48px)}
@media (min-width:700px){ .vn-facts{grid-template-columns:repeat(2,1fr)} }
.vn-facts li{position:relative;padding-left:1.9rem}
.vn-facts li::before{content:"\2713";position:absolute;left:0;top:.1rem;color:#c4a052;font-size:.95rem}
.vn-facts h3{font-family:var(--serif);font-weight:400;font-size:1.14rem;line-height:1.26;
  margin:0 0 .4rem;color:var(--ink)}
.vn-facts p{margin:0;font-family:var(--sans);font-size:.9rem;line-height:1.68;color:#5a544c}

/* ── the diary ────────────────────────────────────────────────────────── */
.vn-diary{background:var(--ivory);padding-block:clamp(44px,5vw,84px)}
.vn-month{margin-top:clamp(28px,3.4vw,48px)}
.vn-month:first-of-type{margin-top:clamp(20px,2.4vw,32px)}
.vn-month__head{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;
  padding-bottom:.7rem;border-bottom:1px solid rgba(0,0,0,.12)}
.vn-month__title{font-family:var(--serif);font-weight:300;font-size:clamp(1.5rem,2.6vw,2.1rem);
  line-height:1;margin:0;color:var(--ink)}
.vn-month__title em{font-style:italic;color:var(--pink-dark)}
.vn-month__count{font-family:var(--sans);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;
  color:#8a8279;flex:0 0 auto}

.vn-rows{list-style:none;margin:0;padding:0}
.vn-rows li{border-bottom:1px solid rgba(0,0,0,.09)}
.vn-row{display:grid;grid-template-columns:96px 9rem minmax(0,1fr) 6rem 1.2rem;align-items:center;
  gap:1.1rem;padding:.85rem .3rem;text-decoration:none;color:inherit;
  transition:background-color .25s ease,padding-left .25s ease}
.vn-row:hover{background-color:rgba(0,0,0,.022);padding-left:.8rem}
.vn-row__img{display:block;width:96px;aspect-ratio:16/9;overflow:hidden;border-radius:2px;background:#e6ded4}
.vn-row__img picture,.vn-row__img img{display:block;width:100%;height:100%;object-fit:cover !important;
  transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.vn-row:hover .vn-row__img img{transform:scale(1.06)}
.vn-row__when{font-family:var(--sans);font-size:.7rem;font-weight:500;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold);white-space:nowrap}
.vn-row__title{font-family:var(--serif);font-size:1.08rem;line-height:1.3;color:var(--ink)}
.vn-row:hover .vn-row__title{color:var(--pink-dark)}
.vn-row__price{font-family:var(--sans);font-size:.76rem;color:var(--mid);text-align:right;white-space:nowrap}
.vn-row__go{color:var(--pink-dark);opacity:0;text-align:right;transition:opacity .25s ease}
.vn-row:hover .vn-row__go{opacity:1}
.vn-row:focus-visible{outline:2px solid var(--pink-dark);outline-offset:2px}

.vn-empty{font-family:var(--sans);font-size:1rem;color:#5a544c;margin:clamp(20px,2.4vw,32px) 0 0;max-width:58ch}

/* ── stay ─────────────────────────────────────────────────────────────── */
.vn-stay{background:#241a1e;padding-block:clamp(44px,5vw,84px)}
.vn-stay .vn-eyebrow{color:#c4a052}
.vn-stay .vn-h2{color:#f6f1ea}
.vn-stay__copy{font-family:var(--sans);font-size:1rem;line-height:1.74;color:rgba(255,255,255,.82);
  margin:0;max-width:56ch}
.vn-stay .vn-btn{background:#f5f1ec;color:#5e3b4a;border-color:#f5f1ec}
.vn-stay .vn-btn:hover{background:#fff;border-color:#fff;color:#4a2c39}
.vn-stay .vn-ghost{color:#e9cdd8}
.vn-stay .vn-ghost:hover{color:#fff}

/* ── narrow screens ───────────────────────────────────────────────────── */
@media (max-width:820px){
  .vn-row{grid-template-columns:72px minmax(0,1fr);gap:.75rem 1rem;padding:.8rem .2rem}
  .vn-row__img{width:72px}
  .vn-row__when{grid-column:2;font-size:.64rem}
  .vn-row__title{grid-column:2;font-size:1rem}
  .vn-row__price{grid-column:2;text-align:left;font-size:.72rem}
  .vn-row__go{display:none}
  .vn-row:hover{padding-left:.2rem}
}

/* ── dark theme ───────────────────────────────────────────────────────── */
:is(.dark) .vn-intro{background:#1c1a19}
:is(.dark) .vn-diary{background:#171514}
:is(.dark) .vn-h2,:is(.dark) .vn-facts h3,:is(.dark) .vn-row__title,
:is(.dark) .vn-month__title{color:#ece6df}
:is(.dark) .vn-intro__walk,:is(.dark) .vn-facts p{color:#c4bcb4}
:is(.dark) .vn-rows li,:is(.dark) .vn-month__head{border-color:rgba(255,255,255,.13)}
/* ── year-round · five to a row, ten in total ──────────────────────────────
   Same overall width as before, so five tiles come out wider than six did.
   Ten maximum; when there are more they rotate on each visit. */
.wo-yr__six{grid-template-columns:repeat(5,1fr);gap:14px}
@media (max-width:1400px){ .wo-yr__six{grid-template-columns:repeat(4,1fr)} }
@media (max-width:1100px){ .wo-yr__six{grid-template-columns:repeat(3,1fr)} }
@media (max-width:700px){  .wo-yr__six{grid-template-columns:repeat(2,1fr)} }
.wo-yr__six-name{font-size:.86rem;line-height:1.24;margin:.45rem 0 .06rem}
.wo-yr__six-tag{font-size:.54rem}

/* ── venue pages · the diary, as cards ─────────────────────────────────────
   Three picture cards a month, the rest folded behind one line. Replaces a
   thirty-three row list. */
.vn-cards{display:grid;gap:clamp(16px,2vw,28px);margin-top:clamp(20px,2.4vw,32px)}
@media (min-width:700px){ .vn-cards{grid-template-columns:repeat(3,1fr)} }
.vn-card{display:block;text-decoration:none;color:inherit;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.vn-card:hover{transform:translateY(-3px)}
.vn-card__img{display:block;aspect-ratio:16/9;overflow:hidden;border-radius:2px;background:#e6ded4;
  box-shadow:0 12px 26px -16px rgba(38,24,30,.5);transition:box-shadow .35s ease;margin-bottom:.7rem}
.vn-card:hover .vn-card__img{box-shadow:0 20px 36px -18px rgba(38,24,30,.6)}
.vn-card__img picture,.vn-card__img img{display:block;width:100%;height:100%;object-fit:cover !important;
  transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.vn-card:hover .vn-card__img img{transform:scale(1.045)}
.vn-card__when{display:block;font-family:var(--sans);font-size:.66rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--pink-dark);margin-bottom:.3rem}
.vn-card__title{display:block;font-family:var(--serif);font-weight:400;font-size:1.16rem;line-height:1.24;
  color:var(--ink);margin-bottom:.24rem}
.vn-card:hover .vn-card__title{color:var(--pink-dark)}
.vn-card__price{display:block;font-family:var(--sans);font-size:.74rem;color:var(--mid)}
.vn-card:focus-visible{outline:2px solid var(--pink-dark);outline-offset:4px;border-radius:2px}

.vn-more{margin-top:clamp(16px,1.8vw,24px)}
.vn-more__toggle{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.6rem;
  padding:.85rem 0;border-top:1px solid rgba(0,0,0,.1);
  font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  color:var(--pink-dark);transition:color .3s ease}
.vn-more__toggle::-webkit-details-marker{display:none}
.vn-more__toggle::after{content:"+";font-size:1.05rem;line-height:1}
.vn-more[open] .vn-more__toggle::after{content:"\2013"}
.vn-more__toggle:hover{color:var(--pink)}
.vn-more .vn-rows{border-top:1px solid rgba(0,0,0,.08)}
.vn-more .vn-row{grid-template-columns:9rem minmax(0,1fr) 6rem 1.2rem}
@media (max-width:820px){ .vn-more .vn-row{grid-template-columns:1fr auto} }

:is(.dark) .vn-card__title{color:#ece6df}
:is(.dark) .vn-more__toggle{border-top-color:rgba(255,255,255,.13)}
/* ── year-round tiles · lift them off the mauve ────────────────────────────
   A soft drop shadow so the tiles sit on the ground rather than being holes
   cut in it, deepening on hover. */
.wo-yr__six-img{box-shadow:0 10px 20px -10px rgba(24,10,16,.55),0 2px 5px -2px rgba(24,10,16,.35)}
.wo-yr__six-item:hover .wo-yr__six-img{box-shadow:0 18px 32px -12px rgba(24,10,16,.68),0 4px 9px -3px rgba(24,10,16,.45)}

/* ── venue pages · the walk, turn by turn ──────────────────────────────────
   A numbered trail is honest structure here: the steps are a real sequence
   and the order is the information. Vertical on narrow screens, a wrapping
   trail on wide ones. */
.vn-route-wrap{margin-top:clamp(22px,2.6vw,30px)}
.vn-route__label{display:block;font-family:var(--sans);font-size:.64rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:#8a8279;margin-bottom:.85rem}
.vn-route{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .2rem;
  counter-reset:vnstep}
.vn-route__step{counter-increment:vnstep;display:flex;align-items:center;gap:.55rem;
  font-family:var(--sans);font-size:.86rem;line-height:1.4;color:var(--ink)}
.vn-route__step::before{content:counter(vnstep);flex:0 0 auto;
  width:1.45rem;height:1.45rem;display:grid;place-items:center;border-radius:50%;
  background:var(--pink-dark);color:#f7f2ee;
  font-size:.62rem;font-weight:500;letter-spacing:0}
/* The arrow is the connector between steps, so it never trails the last one. */
.vn-route__step:not(:last-child)::after{content:"\2192";margin:0 .55rem 0 .35rem;color:#b9ada4;font-size:.9rem}
.vn-route__step:last-child{font-weight:500;color:var(--pink-dark)}

@media (max-width:600px){
  .vn-route{flex-direction:column;align-items:flex-start;gap:.55rem}
  .vn-route__step:not(:last-child)::after{content:none}
}

:is(.dark) .vn-route__step{color:#ded6ce}
:is(.dark) .vn-route__step:last-child{color:#e9c3d2}
:is(.dark) .vn-route__step:not(:last-child)::after{color:#6d635c}
/* ── venue pages · let the hero breathe ────────────────────────────────────
   Capped at 540px the band went to 5.6:1 on a wide monitor, which showed
   about a third of a 3:2 photograph. Height now tracks the viewport so the
   band stays near 3:1, and the crop is biased upward to hold the sky and the
   roofline rather than the shingle. */
.vn-hero{min-height:clamp(380px,44vw,680px)}
@media (min-width:2000px){ .vn-hero{min-height:min(32vw,900px)} }
.vn-hero__img picture,.vn-hero__img img{object-position:50% 62%}
/* ── what's on · straight into the two venue diaries ──────────────────────
   Two plain links, sat on the band between sections. */
.wo-venuelinks-wrap{background:var(--ivory);padding-block:clamp(18px,2.2vw,30px)}
.wo-venuelinks{display:flex;flex-wrap:wrap;gap:.9rem 2.4rem;margin:0;
  padding-top:clamp(16px,2vw,26px);border-top:1px solid rgba(0,0,0,.1)}
.wo-venuelinks__a{font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--pink-dark);text-decoration:none;transition:color .3s ease}
.wo-venuelinks__a:hover{color:var(--pink)}
:is(.dark) .wo-venuelinks-wrap{background:#171514}
:is(.dark) .wo-venuelinks{border-top-color:rgba(255,255,255,.13)}
/* ── venue pages · FAQ ─────────────────────────────────────────────────────
   Native details/summary, so it works with no JavaScript at all. */
.vn-faq{background:#faf7f2;padding-block:clamp(44px,5vw,84px)}
.vn-faq__list{max-width:820px;margin-top:clamp(20px,2.4vw,32px)}
.vn-faq__item{border-bottom:1px solid rgba(0,0,0,.1)}
.vn-faq__q{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;
  padding:1.15rem 0;font-family:var(--serif);font-size:1.08rem;line-height:1.36;color:var(--ink);
  transition:color .3s ease}
.vn-faq__q::-webkit-details-marker{display:none}
.vn-faq__q::after{content:"+";flex:0 0 auto;font-family:var(--sans);font-size:1.15rem;line-height:1.2;color:var(--pink-dark)}
.vn-faq__item[open] .vn-faq__q::after{content:"\2013"}
.vn-faq__q:hover{color:var(--pink-dark)}
.vn-faq__a{padding:0 0 1.25rem;max-width:66ch}
.vn-faq__a p{margin:0 0 .8rem;font-family:var(--sans);font-size:.95rem;line-height:1.74;color:#5a544c}
.vn-faq__a p:last-child{margin-bottom:0}
:is(.dark) .vn-faq{background:#1c1a19}
:is(.dark) .vn-faq__q{color:#ece6df}
:is(.dark) .vn-faq__item{border-bottom-color:rgba(255,255,255,.13)}
:is(.dark) .vn-faq__a p{color:#c4bcb4}
/* ── what's on · the venue signposts ───────────────────────────────────────
   Two placements. The chips sit at the head of the diary, aligned with the
   filter bar beneath them. The pair at the foot of the editorial is centred,
   and carries its own container: the one it used before had no rules at all,
   so it ran the full width of the screen. */
.wo-venuelinks__in{max-width:var(--wo-measure,56rem);margin-inline:auto;
  padding-inline:clamp(20px,5vw,32px)}
.wo-venuelinks{justify-content:center;text-align:center}

.wo-venuechips{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem .8rem;
  margin:0 0 clamp(18px,2.2vw,28px)}
.wo-venuechips__label{font-family:var(--sans);font-size:.64rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:#8a8279;margin-right:.3rem}
.wo-venuechips__chip{display:inline-flex;align-items:center;padding:.52rem 1.05rem;
  border:1px solid rgba(94,59,74,.3);border-radius:100px;
  font-family:var(--sans);font-size:.74rem;font-weight:500;letter-spacing:.06em;
  color:var(--pink-dark);text-decoration:none;white-space:nowrap;
  transition:background-color .3s ease,border-color .3s ease,color .3s ease}
.wo-venuechips__chip:hover{background:var(--pink-dark);border-color:var(--pink-dark);color:#f7f2ee}
.wo-venuechips__chip:focus-visible{outline:2px solid var(--pink-dark);outline-offset:3px}

@media (max-width:560px){
  .wo-venuechips__label{flex:1 0 100%;margin:0 0 .2rem}
}

:is(.dark) .wo-venuechips__chip{border-color:rgba(233,195,210,.34);color:#e9c3d2}
:is(.dark) .wo-venuechips__chip:hover{background:#e9c3d2;color:#2a1f24}
/* The Explore Rooms hanging sign must stay pegged to the section's top
   edge. The base rule inside the mobile media query sets position:absolute,
   but production resolved it to `relative`, dropping the sign back into
   flow so it sat 65px down (60px section padding + the 5px offset) instead
   of 5px. CSS and markup were byte-identical to staging, which rendered it
   correctly, so rather than keep hunting the override this raises
   specificity from 0,1,0 to 0,3,0 - it cannot lose on the cascade. */
@media (max-width: 768px), (orientation: landscape) and (max-height: 600px) {
  .page-home .section--has-rooms-sign .mobile-rooms-sign { position: absolute !important; top: 5px !important; }
}


/* ══ GUEST OFFERS — partner discounts for people staying with us ═══════════
   Consolidated 2026-08-22 from six separately-appended blocks (and three
   separate max-width:768px queries, which is how stacked patches start
   fighting each other). One section, one mobile query, one width variable.

   Markup: resources/views/components/offer-badge.blade.php  (badge, 4 variants)
           resources/views/components/offer-panel.blade.php  (sidebar panel)
   The badge is ABSENT rather than hidden when there is no live offer —
   HasPartnerOffer::listingOffer() applies the master switch, the per-venue
   toggle, agreed/live status and the date window before it ever renders.

   Variants:  (base)   listing cards, inline
              --hero   over a hero image; light text on a dark ground
              --corner label pinned to a listing card's photo, bottom-right
              --sticky mobile rail copy; see section 5
   ═══════════════════════════════════════════════════════════════════════ */

/* ── 1. base ─────────────────────────────────────────────────────────────── */
.guest-offer-badge {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 var(--space-2);
  margin-top: var(--space-3);
  padding: 7px 14px;
  border: 1px solid color-mix(in srgb, var(--gold) 55%, transparent);
  background: color-mix(in srgb, var(--gold) 12%, transparent);
  font-family: var(--sans);
  line-height: 1.35;
}
.guest-offer-badge__mark {
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  white-space: nowrap;
  color: color-mix(in srgb, var(--dark) 62%, var(--gold));
}
.guest-offer-badge__text {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--dark);
}
.guest-offer-badge__terms {
  flex-basis: 100%;
  margin-top: 3px;
  font-size: 0.72rem;
  line-height: 1.4;
  opacity: 0.72;
  color: var(--dark);
}

/* Dark theme, and the explore listing's dark sections. */
:is(.dark) .guest-offer-badge,
.editorial-card--on-dark .guest-offer-badge {
  border-color: color-mix(in srgb, var(--gold) 60%, transparent);
  background: color-mix(in srgb, var(--gold) 16%, transparent);
}
:is(.dark) .guest-offer-badge__mark,
.editorial-card--on-dark .guest-offer-badge__mark { color: var(--gold); }
:is(.dark) .guest-offer-badge__text,
:is(.dark) .guest-offer-badge__terms,
.editorial-card--on-dark .guest-offer-badge__text,
.editorial-card--on-dark .guest-offer-badge__terms { color: var(--white); }

/* ── 2. --hero: over a hero photograph ───────────────────────────────────── */
.guest-offer-badge--hero {
  /* Belongs to the venue NAME, not the distance line under it. .hero__title
     carries margin-bottom: var(--space-5) (20px); this used to add 16px on top
     with nothing below, so the label drifted down and read as part of the
     practical details. -8px leaves ~12px above and a clear 20px break below. */
  margin-top: -8px;
  margin-bottom: var(--space-5);
  border-color: color-mix(in srgb, var(--gold) 70%, transparent);
  background: color-mix(in srgb, #000 38%, transparent);
  backdrop-filter: blur(6px);
}
.guest-offer-badge--hero .guest-offer-badge__mark { color: var(--gold); }
.guest-offer-badge--hero .guest-offer-badge__text,
.guest-offer-badge--hero .guest-offer-badge__terms { color: var(--white); }

/* ── 3. --corner: on a listing card's photo, bottom-right ────────────────── */
/* Anchor to the IMAGE box. .editorial-card__image is already positioned;
   .dining-featured-card__image is not. Never anchor to .dining-featured-card
   itself — it is overflow:hidden and making the whole card a containing block
   moves other absolute children. */
.dining-featured-card__image { position: relative; }

.guest-offer-badge--corner {
  position: absolute;
  right: 0;
  bottom: 20px;
  /* Clears .editorial-card__primary-link::before, the full-card click overlay
     at z-index 1. pointer-events:none so it cannot eat that click. */
  z-index: 2;
  display: block;
  margin-top: 0;
  padding: 7px 14px 8px;
  /* Sized to meet the balanced lines. text-wrap: balance shortens the lines
     but leaves the box at its cap, so at 78% a long label sat in a band 85px
     wider than the words. 62% closes that to 33px and still lets a 188px
     one-line label stay on one line. */
  max-width: 62%;
  border: 0;
  background: var(--gold);
  backdrop-filter: none;
  box-shadow: 0 2px 10px color-mix(in srgb, #000 18%, transparent);
  pointer-events: none;
}
.guest-offer-badge--corner .guest-offer-badge__mark {
  display: block;
  font-size: 0.5rem;
  letter-spacing: 0.2em;
  color: color-mix(in srgb, var(--dark) 78%, transparent);
}
.guest-offer-badge--corner .guest-offer-badge__text {
  display: block;
  margin-top: 1px;
  font-size: 0.82rem;
  line-height: 1.2;
  color: var(--dark);
  /* Greedy wrapping broke "10% discount on green fees & bowls hire" after
     "bowls" and left "hire" alone on the second line. Balance splits the
     lines evenly. Browsers without it simply get the old greedy wrap. */
  text-wrap: balance;
}
/* Solid gold is its own ground — the dark-theme and on-dark-section overrides
   above must not repaint it. Featured cards alternate --reverse, so this can
   land on a photograph or on the white card body and has to read on both. */
:is(.dark) .guest-offer-badge--corner,
.editorial-card--on-dark .guest-offer-badge--corner {
  background: var(--gold);
  border: 0;
}
:is(.dark) .guest-offer-badge--corner .guest-offer-badge__mark,
.editorial-card--on-dark .guest-offer-badge--corner .guest-offer-badge__mark {
  color: color-mix(in srgb, var(--dark) 78%, transparent);
}
:is(.dark) .guest-offer-badge--corner .guest-offer-badge__text,
.editorial-card--on-dark .guest-offer-badge--corner .guest-offer-badge__text {
  color: var(--dark);
}
@media (max-width: 600px) {
  .guest-offer-badge--corner { max-width: 88%; bottom: 16px; }
}

/* ── 4. sidebar panel ────────────────────────────────────────────────────── */
/* Between "At a Glance" and the booking panel. Built on .editorial-facts so it
   matches the panel above it; the gold left edge marks it as the perk rather
   than another block of facts. */
.guest-offer-panel {
  border-left: 3px solid var(--gold);
}
.guest-offer-panel__headline {
  margin: 0;
  padding-bottom: var(--space-3);
  font-family: var(--serif);
  font-size: 1.35rem;
  line-height: 1.25;
  color: var(--charcoal);
}
.guest-offer-panel__detail {
  margin: 0 0 var(--space-2);
  font-family: var(--sans);
  font-size: var(--text-sm);
  line-height: 1.6;
  color: var(--mid);
}
.guest-offer-panel__headline + .editorial-facts__row,
.guest-offer-panel__detail + .editorial-facts__row {
  border-top: 1px solid var(--border-light);
}
:is(.dark) .guest-offer-panel__headline { color: var(--white); }
:is(.dark) .guest-offer-panel__detail { color: var(--white); opacity: 0.78; }

/* ── 5. sticky rail — hidden above mobile ────────────────────────────────── */
.offer-sticky-rail { display: none; }

/* ══ MOBILE ═══════════════════════════════════════════════════════════════
   ONE query. It was three, each touching .guest-offer-badge--hero, which is
   precisely how stacked patches end up overriding one another.

   How the label behaves on a phone: the in-hero copy is present but INVISIBLE,
   purely to hold its slot open in the hero's bottom-aligned flow. The visible
   label is the sticky rail copy, which rests in that slot and then docks under
   the menu. Both are the same markup, so they are the same size.
   ═══════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* ONE width for the label and the buttons, so a change to one cannot leave
     the other behind. On :root, not .hero--detail, because the sticky rail
     lives outside the hero and needs it too — that split is what let them
     drift apart twice. */
  :root { --detail-cta-w: 17rem; }

  /* -- the hero, when it carries a label -- */
  /* !important is load-bearing: .hero--interior .hero__content:has(.hero__actions)
     is more specific than this (0,3,0 vs 0,2,0), and .hero--attraction's mobile
     padding is itself !important. Without it the label floats ~40px off the strip.
     :has() scopes the flex change to heroes that actually carry a label, so every
     other hero keeps its existing block layout. */
  .hero .hero__content:has(.guest-offer-badge--hero) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 0 !important;
  }
  .hero--detail .hero__actions {
    align-self: stretch;
    width: 100%;
    align-items: center;
  }
  .hero--detail .hero__actions .btn {
    width: 100%;
    max-width: var(--detail-cta-w);
  }

  /* -- the in-hero copy: invisible, but its box holds the slot open -- */
  /* NOT display:none. That releases the space, the hero's bottom-aligned
     content drops into it, and the rail label then lands on top of the button.
     border-bottom:0 is kept so its height matches the rail copy exactly. */
  .hero .guest-offer-badge--hero { visibility: hidden; }
  .hero .hero__content:has(.guest-offer-badge--hero) .guest-offer-badge--hero {
    order: 99;                        /* last, wherever it sits in the markup */
    align-self: center;
    margin: var(--space-6) 0 0;
    max-width: var(--detail-cta-w);
    border-bottom: 0;
  }

  /* -- the visible copy: a sticky rail costing zero flow space -- */
  /* Real position:sticky, mirroring .rs-stay__book__sticky on the rooms page,
     so the BROWSER does the moving and it is genuinely smooth. Natural height
     pulled up by exactly that height (--offer-h, measured in the component)
     means nothing has to move when it docks — no lurch.
     --offer-sticky-top tracks the menu's LIVE bottom edge; the 130px fallback
     is the unscrolled header height (64px is its SCROLLED height, and using
     that left the label behind the bar).
     The rail must stay a DIRECT CHILD OF <main> or sticky stops persisting. */
  .offer-sticky-rail {
    display: flex;
    justify-content: center;
    position: sticky;
    top: var(--offer-sticky-top, 130px);
    z-index: 99;
    margin-top: calc(-1 * var(--offer-h, 42px));
    pointer-events: none;
  }
  .offer-sticky-rail > .guest-offer-badge {
    margin: 0;
    /* SOLID, not the --hero translucent ground. Docked it sits over ivory
       page copy, and 38% black over ivory is grey. Solid keeps it identical
       in both states, which is the whole point of the two copies. */
    background: var(--badge-dark, #1a0a10);
    backdrop-filter: none;
    width: 100%;
    max-width: var(--detail-cta-w);
    flex-wrap: nowrap;
    white-space: nowrap;
    border-radius: 6px 6px 0 0;       /* resting: a tab sitting on the strip */
    border-bottom: 0;
    transition: border-radius .18s ease;
  }
  .offer-sticky-rail.is-pinned > .guest-offer-badge {
    border-radius: 0 0 6px 6px;       /* docked: hanging from the menu */
    border-top: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--gold) 70%, transparent);
  }
}
