:root{color:#f3ead8;font-synthesis:none;text-rendering:optimizelegibility;--forest:#0b211a;--forest-deep:#07110e;--forest-mid:#12372c;--cream:#f3ead8;--muted:#b9b5a8;--gold:#d4af6a;--gold-soft:#eed29b;--line:#d4af6a52;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Montserrat", sans-serif;background:#0b1713;font-family:Montserrat,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--forest-deep);min-width:320px;min-height:100vh;color:var(--cream);margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a,button{color:inherit}::selection{background:var(--gold);color:var(--forest-deep)}:focus-visible{outline:2px solid var(--gold-soft);outline-offset:4px}.skip-link{z-index:1000;background:var(--gold);color:var(--forest-deep);padding:12px 18px;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:20;border-bottom:1px solid #f2e2c22b;padding:23px clamp(20px,5vw,76px);position:absolute;inset:0 0 auto}.site-header.solid{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#081510f5;position:sticky}.nav-inner{justify-content:space-between;align-items:center;gap:28px;max-width:1440px;margin:auto;display:flex}.wordmark{color:var(--gold-soft);font-family:var(--serif);letter-spacing:.11em;font-size:32px;line-height:.8;text-decoration:none}.wordmark small{color:var(--cream);font:8px var(--sans);letter-spacing:.36em;text-align:center;padding-top:8px;display:block}.nav-links{align-items:center;gap:clamp(16px,2.5vw,38px);display:flex}.nav-links a,.nav-links button{color:var(--cream);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:7px 0;font-size:10px;text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-links button:hover{color:var(--gold)}.nav-actions{align-items:center;gap:18px;display:flex}.menu-toggle{color:var(--cream);cursor:pointer;background:0 0;border:0;display:none}.button{border:1px solid var(--gold);background:var(--gold);color:#17170f;text-transform:uppercase;letter-spacing:.16em;cursor:pointer;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:13px 23px;font-size:10px;font-weight:600;text-decoration:none;transition:transform .25s,background .25s,color .25s;display:inline-flex}.button:hover{background:var(--gold-soft);transform:translateY(-2px)}.button-outline{color:var(--gold-soft);background:0 0}.button-outline:hover{background:var(--gold);color:#17170f}.button-dark{background:var(--forest);color:var(--cream)}.button:disabled{opacity:.6;cursor:wait;transform:none}.hero{background:#0c241b;align-items:flex-end;min-height:min(920px,100svh);display:flex;position:relative;overflow:hidden}.hero:before{content:"";background:linear-gradient(90deg,#050d0aeb 0%,#06110c8f 44%,#040c0914 100%),linear-gradient(#0000 52%,#040c09bf 100%),url(/images/bosleys-hero.jpg) 50% 82%/cover no-repeat;position:absolute;inset:0;transform:scale(1.01)}.hero:after{content:"";pointer-events:none;border:1px solid #e2be7845;position:absolute;inset:18px}.hero-content{z-index:1;width:min(1440px,100%);margin:0 auto;padding:185px clamp(28px,9vw,140px) 98px;position:relative}.eyebrow{color:var(--gold);letter-spacing:.32em;text-transform:uppercase;font-size:9px;font-weight:500}.hero h1{max-width:760px;color:var(--cream);font:400 clamp(64px, 9.3vw, 132px)/.82 var(--serif);letter-spacing:-.04em;margin:20px 0}.hero h1 em{color:var(--gold-soft);font-weight:400}.hero-copy{color:#e4ddcf;max-width:490px;font:300 14px/1.9 var(--sans);letter-spacing:.04em;margin:0 0 31px}.hero-foot{color:#f3ead8b3;letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:25px;margin-top:70px;font-size:9px;display:flex}.scroll-cue{z-index:2;writing-mode:vertical-rl;color:var(--gold-soft);letter-spacing:.25em;text-transform:uppercase;font-size:9px;position:absolute;bottom:100px;right:clamp(30px,7vw,100px)}.section{padding:clamp(75px,10vw,145px) clamp(22px,7vw,110px)}.section-inner{max-width:1240px;margin:0 auto}.section-label{color:var(--gold);letter-spacing:.28em;text-transform:uppercase;align-items:center;gap:14px;margin-bottom:21px;font-size:9px;font-weight:500;display:flex}.section-title{color:var(--cream);font:400 clamp(42px, 6vw, 74px)/.96 var(--serif);letter-spacing:-.025em;margin:0}.section-title em{color:var(--gold-soft);font-weight:400}.intro{background:var(--forest)}.intro-grid{grid-template-columns:.72fr 1.28fr;align-items:start;gap:clamp(40px,10vw,150px);display:grid}.intro-aside{color:var(--gold);font:400 16px/1.6 var(--serif);letter-spacing:.04em;padding-top:14px}.intro-text{color:#ded8c9;max-width:740px;font:400 clamp(20px,2.4vw,31px)/1.53 var(--serif)}.intro-text strong{color:var(--gold-soft);font-weight:500}.events-section{background:#101d17}.press-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0b1712;padding:36px clamp(22px,7vw,110px)}.press-inner{justify-content:space-between;align-items:center;gap:35px;display:flex}.press-inner .section-label{flex:none;margin:0}.press-logos{flex:1;justify-content:space-around;align-items:center;gap:28px;display:flex}.press-logos img{object-fit:contain;filter:grayscale()brightness(1.6);max-width:150px;max-height:48px}.press-logos span{color:var(--gold-soft);font:500 20px var(--serif)}.event-feature{border:1px solid var(--line);background:#0b1712;grid-template-columns:1.02fr .98fr;margin-top:53px;display:grid}.event-art{background:var(--forest);min-height:500px;position:relative;overflow:hidden}.event-art img{object-fit:cover;object-position:50% 62%;filter:brightness(.77);width:100%;height:100%;min-height:500px}.event-art:after{content:"";background:linear-gradient(#0000,#050c0994);position:absolute;inset:35% 0 0}.event-date-stamp{z-index:1;background:var(--gold);color:#1a1a13;text-align:center;align-content:center;width:72px;height:78px;display:grid;position:absolute;top:26px;left:26px}.event-date-stamp b{font:600 29px/.9 var(--serif)}.event-date-stamp span{letter-spacing:.15em;text-transform:uppercase;margin-top:5px;font-size:8px}.event-info{flex-direction:column;justify-content:center;padding:clamp(34px,5vw,72px);display:flex}.event-info h3{font:400 clamp(37px,4.2vw,57px)/.96 var(--serif);margin:15px 0 12px}.event-info .description{color:#c6c2b6;max-width:520px;margin:18px 0 27px;font-size:12px;line-height:1.9}.event-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#ded8c9;letter-spacing:.08em;flex-wrap:wrap;gap:10px 23px;padding:20px 0;font-size:10px;display:flex}.event-meta span{align-items:center;gap:9px;display:flex}.event-meta svg{color:var(--gold)}.event-price{color:var(--gold-soft);font:500 22px var(--serif);margin:23px 0}.event-actions{flex-wrap:wrap;align-items:center;gap:13px;display:flex}.events-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px;display:grid}.event-row{color:var(--cream);border:1px solid #d4af6a38;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;text-decoration:none;transition:border .2s,background .2s;display:flex}.event-row:hover{border-color:var(--gold);background:#d4af6a0d}.event-row strong{font:500 24px var(--serif);display:block}.event-row span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:7px;font-size:9px;display:block}.event-row .price{color:var(--gold);font:500 18px var(--serif)}.feed-note{color:var(--muted);margin-top:20px;font-size:10px;line-height:1.7}.empty-events{border:1px solid var(--line);background:linear-gradient(120deg,#14372bcc,#09140fd1);grid-template-columns:1fr .7fr;align-items:center;gap:35px;margin-top:50px;padding:clamp(30px,6vw,70px);display:grid}.empty-events p{max-width:520px;color:var(--muted);font-size:12px;line-height:1.9}.signup-inline{gap:8px;display:flex}.signup-inline input{flex:1;min-width:0}.feature-block{background:#101d17;grid-template-columns:1fr 1fr;min-height:520px;display:grid}.feature-block:nth-of-type(2n) .feature-image{order:2}.feature-image{background:#1a3025;min-height:420px;position:relative;overflow:hidden}.feature-image img{object-fit:cover;filter:brightness(.65)saturate(.75);width:100%;height:100%;transition:transform .8s;position:absolute;inset:0}.feature-block:hover .feature-image img{transform:scale(1.025)}.feature-image:after{content:"";background:linear-gradient(#0000 30%,#06100b61);position:absolute;inset:0}.image-caption{z-index:1;color:#f3ead8d9;letter-spacing:.2em;text-transform:uppercase;font-size:9px;position:absolute;bottom:30px;left:34px}.feature-copy{flex-direction:column;justify-content:center;padding:clamp(40px,8vw,110px);display:flex}.feature-copy p{color:#c9c4b7;max-width:440px;margin:22px 0 29px;font-size:12px;line-height:1.9}.feature-copy .button{align-self:flex-start}.features-wrap{background:#101d17;padding:0 clamp(22px,7vw,110px) clamp(75px,10vw,145px)}.features-inner{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:1240px;margin:auto;overflow:hidden}.booking{background:var(--forest-mid)}.booking-grid{grid-template-columns:.9fr 1.1fr;min-height:460px;display:grid}.booking-image{min-height:400px;position:relative;overflow:hidden}.booking-image img{object-fit:cover;object-position:center 72%;width:100%;height:100%;position:absolute;inset:0}.booking-image:after{content:"";background:linear-gradient(90deg,#0000 60%,#12372c73);position:absolute;inset:0}.booking-copy{padding:clamp(38px,6vw,84px)}.booking-facts{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;margin:30px 0;display:grid}.booking-facts div{border-bottom:1px solid var(--line);padding:18px 10px 17px 0}.booking-facts small{color:var(--gold);letter-spacing:.2em;text-transform:uppercase;margin-bottom:7px;font-size:8px;display:block}.booking-facts span{color:#e1dbce;font:400 19px var(--serif)}.booking-facts a{color:var(--gold-soft);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:6px;margin-top:8px;font-size:9px;text-decoration:none;display:inline-flex}.booking-facts a:hover{color:var(--cream)}.booking-copy p{color:#c3c8bd;font-size:11px;line-height:1.9}.testimonials{background:var(--forest);text-align:center;position:relative}.quote-mark{color:var(--gold);font:400 68px/.6 var(--serif)}.quote-text{max-width:780px;min-height:100px;font:400 clamp(25px,4vw,42px)/1.35 var(--serif);margin:25px auto}.quote-name{color:var(--gold-soft);letter-spacing:.2em;text-transform:uppercase;font-size:9px}.carousel-controls{justify-content:center;gap:12px;margin-top:30px;display:flex}.icon-button{border:1px solid var(--line);width:42px;height:42px;color:var(--gold);cursor:pointer;background:0 0;place-items:center;display:grid}.icon-button:hover{background:#d4af6a1f}.explore{background:#101d17}.explore-grid{grid-template-columns:1fr 1fr 1fr;gap:17px;margin-top:46px;display:grid}.explore-card{border:1px solid #d4af6a40;flex-direction:column;justify-content:flex-end;min-height:335px;padding:28px;text-decoration:none;display:flex;position:relative;overflow:hidden}.explore-card img{object-fit:cover;filter:brightness(.43)saturate(.72);width:100%;height:100%;transition:transform .5s,filter .5s;position:absolute;inset:0}.explore-card:hover img{filter:brightness(.6);transform:scale(1.04)}.explore-card:after{content:"";background:linear-gradient(#0000,#050d09eb);position:absolute;inset:25% 0 0}.explore-card>:not(img){z-index:1;position:relative}.explore-card small{color:var(--gold);letter-spacing:.2em;text-transform:uppercase;font-size:8px}.explore-card h3{font:400 34px var(--serif);margin:9px 0 0}.contact{background:#0b1712}.contact-grid{grid-template-columns:.8fr 1.2fr;gap:clamp(42px,9vw,125px);display:grid}.contact-copy p{color:#c2c0b5;max-width:400px;font-size:12px;line-height:1.9}.contact-details{gap:17px;margin-top:32px;display:grid}.contact-details a{color:var(--gold-soft);align-items:center;gap:14px;font-size:12px;text-decoration:none;display:flex}.contact-details svg{color:var(--gold)}.enquiry-form{grid-template-columns:1fr 1fr;gap:17px;display:grid}.form-field{flex-direction:column;gap:8px;display:flex}.form-field.full{grid-column:1/-1}.form-field label{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;font-size:8px}.form-field input,.form-field textarea,.signup-inline input{width:100%;color:var(--cream);background:#f3ead809;border:1px solid #d4af6a47;border-radius:0;outline:none;padding:14px 13px}.form-field input:focus,.form-field textarea:focus,.signup-inline input:focus{border-color:var(--gold)}.form-field textarea{resize:vertical;min-height:120px}.form-status{min-height:18px;color:var(--gold-soft);grid-column:1/-1;font-size:11px;line-height:1.6}.faq{background:#13291f}.faq-grid{grid-template-columns:.75fr 1.25fr;gap:70px;display:grid}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;color:var(--cream);text-align:left;font:500 23px var(--serif);cursor:pointer;background:0 0;border:0;justify-content:space-between;gap:20px;padding:22px 0;display:flex}.faq-question svg{color:var(--gold);flex:none;transition:transform .2s}.faq-question[aria-expanded=true] svg{transform:rotate(45deg)}.faq-answer{color:#c2c1b7;max-width:650px;padding:0 35px 23px 0;font-size:11px;line-height:1.9}.subscribe{background:var(--gold);color:#182119}.subscribe-inner{justify-content:space-between;align-items:center;gap:45px;display:flex}.subscribe .section-label{color:#394132}.subscribe .section-title{color:#172219}.subscribe p{color:#3f493a;font-size:11px;line-height:1.8}.subscribe-form{flex-wrap:wrap;gap:8px;width:min(475px,100%);display:flex}.subscribe-form>input{color:#172219;background:#ffffff2e;border:1px solid #0e221773;flex:1;min-width:0;padding:15px}.subscribe-form>input::placeholder{color:#53614e}.subscribe-form .button{border-color:var(--forest);background:var(--forest);color:var(--cream)}.subscribe-status{color:#263828;margin-top:10px;font-size:10px}.subscribe-consent{color:#3f493a;flex-basis:100%;align-items:center;gap:8px;font-size:8px;line-height:1.5;display:flex}.subscribe-consent input{width:14px;height:14px;accent-color:var(--forest);flex:none}.signup-inline{flex-wrap:wrap;display:flex}.signup-inline .subscribe-consent{color:var(--muted)}.form-status a{color:var(--gold-soft)}.footer{background:#070e0b;padding:55px clamp(22px,7vw,110px) 24px}.footer-main{grid-template-columns:1fr 1fr 1fr;gap:35px;max-width:1240px;margin:auto;padding-bottom:38px;display:grid}.footer-brand p{color:#aaa99c;max-width:280px;font-size:10px;line-height:1.8}.footer-heading{color:var(--gold);letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px;font-size:8px}.footer-links{align-content:start;gap:12px;display:grid}.footer-links a{color:#d3cfbf;width:max-content;font-size:10px;text-decoration:none}.footer-links a:hover{color:var(--gold)}.footer-bottom{color:#888c7e;letter-spacing:.08em;border-top:1px solid #d4af6a33;justify-content:space-between;gap:20px;max-width:1240px;margin:auto;padding-top:20px;font-size:8px;display:flex}.social-row{gap:13px;display:flex}.social-row a{color:var(--gold)}.cookie-banner{z-index:50;border:1px solid var(--line);background:#10241b;align-items:center;gap:22px;max-width:650px;padding:20px 22px;display:flex;position:fixed;bottom:20px;right:22px;box-shadow:0 18px 50px #00000059}.cookie-banner p{color:#d2d0c5;margin:0;font-size:10px;line-height:1.7}.cookie-banner .button{white-space:nowrap;min-height:39px;padding:10px 15px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#030806d1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--gold);background:#0b1712;width:min(900px,100%);max-height:90vh;position:relative;overflow:auto}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.modal-head h2{font:400 28px var(--serif);margin:0}.modal-close{color:var(--gold);cursor:pointer;background:0 0;border:0}.checkout-fallback{text-align:center;padding:35px}.checkout-fallback p{color:#c8c2b4;font-size:12px;line-height:1.8}.state-panel{border:1px solid var(--line);color:#d8d2c5;margin:30px 0 0;padding:24px;font-size:11px;line-height:1.8}.state-panel.error{border-color:#da85698c}.state-panel a{color:var(--gold)}.subpage-hero{background:linear-gradient(90deg,#040d09ed,#07140eb3),url(/images/bosleys-hero.jpg) 50% 52%/cover;padding:180px clamp(22px,7vw,110px) 76px;position:relative}.subpage-hero .section-inner{max-width:1240px}.subpage-content{background:var(--forest);min-height:55vh;padding:70px clamp(22px,7vw,110px) 110px}.subpage-content .section-inner{max-width:950px}.subpage-content p,.subpage-content li{color:#c9c3b7;font-size:13px;line-height:2}.subpage-content h2{color:var(--gold-soft);font:400 36px var(--serif);margin-top:42px}.menu-course{border-bottom:1px solid var(--line);justify-content:space-between;gap:25px;padding:20px 0;display:flex}.menu-course h3{font:400 25px var(--serif);margin:0}.menu-course p{margin:5px 0 0;font-size:10px}.menu-course span{color:var(--gold);font:500 19px var(--serif)}.menu-coming-image{object-fit:cover;filter:brightness(.8)saturate(.82);width:100%;max-height:440px;margin:26px 0 35px;display:block}.gallery-grid{grid-template-columns:1.2fr .8fr;gap:15px;display:grid}.gallery-grid img{object-fit:cover;filter:brightness(.8);width:100%;height:420px}.gallery-grid img:nth-child(2){height:330px;margin-top:90px}.event-detail-grid{grid-template-columns:.95fr 1.05fr;align-items:start;gap:55px;display:grid}.event-detail-image{object-fit:cover;object-position:center 60%;width:100%;min-height:480px}.event-detail-copy p{color:#c9c3b7;font-size:12px;line-height:2}.event-detail-copy .event-meta{margin:28px 0 20px}.event-detail-copy .button{margin-top:14px}.loading-skeleton{background:linear-gradient(100deg,#15291f 20%,#1d3629 40%,#15291f 60%) 0 0/200% 100%;min-height:230px;animation:1.5s ease-in-out infinite skeleton}@keyframes skeleton{to{background-position-x:-200%}}.reveal{animation:.7s both rise}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.nav-links{gap:15px}.nav-links a{font-size:8px}.nav-actions .button{padding:11px 14px}.event-feature{grid-template-columns:1fr 1fr}.event-art,.event-art img{min-height:440px}.feature-copy{padding:42px}.contact-grid{gap:45px}}@media (width<=700px){html{scroll-padding-top:70px}.site-header{padding:17px 20px;position:absolute}.site-header.solid{position:sticky}.wordmark{font-size:27px}.nav-actions .button{display:none}.menu-toggle{place-items:center;width:42px;height:42px;display:grid}.nav-links{border-bottom:1px solid var(--line);background:#0b1a13;flex-direction:column;align-items:stretch;gap:0;padding:12px 22px 22px;display:none;position:absolute;top:100%;left:0;right:0}.nav-links.open{display:flex}.nav-links a,.nav-links button{text-align:left;border-bottom:1px solid #d4af6a26;padding:15px 0;font-size:10px}.hero{align-items:flex-end;min-height:100svh}.hero:before{background:linear-gradient(90deg,#050d0ab3,#06110c4d),linear-gradient(#040c091a 28%,#040c09e6 100%),url(/images/bosleys-hero.jpg) 54%/cover no-repeat}.hero:after{inset:10px}.hero-content{padding:150px 30px 64px}.hero h1{font-size:clamp(68px,17vw,100px)}.hero-copy{max-width:350px;font-size:12px}.hero-foot{margin-top:48px;font-size:8px}.scroll-cue{display:none}.section{padding:75px 24px}.intro-grid,.event-feature,.booking-grid,.contact-grid,.faq-grid,.empty-events,.event-detail-grid{grid-template-columns:1fr}.press-inner{flex-direction:column;align-items:flex-start}.press-logos{flex-wrap:wrap;justify-content:flex-start;width:100%}.intro-grid{gap:24px}.intro-aside{max-width:210px;font-size:14px}.intro-text{font-size:25px}.event-feature{margin-top:35px}.event-art,.event-art img{min-height:360px;max-height:470px}.event-info{padding:32px 26px}.events-list{grid-template-columns:1fr}.event-row{padding:18px}.empty-events{gap:20px;padding:28px 22px}.signup-inline{flex-direction:column}.signup-inline .button{width:100%}.features-wrap{padding:0 24px 75px}.feature-block{grid-template-columns:1fr;min-height:auto}.feature-block:nth-of-type(2n) .feature-image{order:0}.feature-image{min-height:320px}.feature-copy{padding:36px 26px 44px}.feature-copy p{margin:17px 0 22px}.booking-grid{min-height:auto}.booking-image{min-height:340px}.booking-copy{padding:35px 25px 45px}.booking-facts{grid-template-columns:1fr 1fr}.quote-text{min-height:155px}.explore-grid{grid-template-columns:1fr}.explore-card{min-height:260px}.contact-grid{gap:42px}.enquiry-form{grid-template-columns:1fr}.form-field.full{grid-column:auto}.faq-grid{gap:35px}.faq-question{font-size:21px}.subscribe-inner{display:block}.subscribe-form{margin-top:25px}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column}.cookie-banner{flex-direction:column;align-items:stretch;gap:12px;padding:16px;bottom:12px;left:12px;right:12px}.cookie-banner .button{width:100%}.subpage-hero{padding:150px 24px 65px}.subpage-content{padding:55px 24px 80px}.gallery-grid{grid-template-columns:1fr}.gallery-grid img,.gallery-grid img:nth-child(2){height:290px;margin:0}.event-detail-image{min-height:350px;max-height:480px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
