@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600&family=Italiana&display=swap');
.section{max-width:1440px;margin:auto;padding:105px 8%}h2{font:clamp(45px,5.2vw,77px)/1.08 var(--serif);letter-spacing:-2px;margin:0}h2 em{font-family:Georgia,serif;font-weight:400;font-size:.88em}h3{font:32px/1.2 var(--serif);margin:0 0 14px}.intro{text-align:center;border-top:1px solid var(--line);background:#f6efe62b}.intro-line{font-family:Georgia,serif;font-style:italic;font-size:23px;color:#766345}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;text-align:left;max-width:860px;margin:45px auto 0}.intro-grid p{margin:0;color:#62574a}.section-heading{margin-bottom:48px}.experience{position:relative}.experience-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}figure{margin:0}.training-image{position:relative;overflow:hidden}.training-image img{width:100%;height:540px;object-fit:cover;display:block;transition:transform 1s}.training-image:hover img{transform:scale(1.03)}figcaption{font-size:11px;letter-spacing:2.7px}.training-image figcaption{position:absolute;bottom:0;padding:22px;color:white;width:100%;background:linear-gradient(transparent,#181510b8)}.benefit{display:flex;gap:22px;padding:25px 0;border-bottom:1px solid var(--line)}.benefit:first-child{padding-top:0}.benefit p{color:#65594b;margin:0;font-size:15px}.number{font:italic 24px Georgia,serif;color:var(--gold);padding-top:4px}.gift{display:flex;align-items:center;gap:35px;margin-top:65px;border:1px solid #a88e59;border-radius:100px;padding:28px 55px}.gift-symbol{font-size:70px;color:var(--gold);line-height:1}.gift .eyebrow{font-size:10px;margin-bottom:9px}.gift h3{font-size:36px;margin:0}.gift>p{margin:0 0 0 auto;border-left:1px solid var(--line);padding-left:40px;color:#65594b;font-size:14px}.details{display:grid;grid-template-columns:1fr 1fr;gap:90px;background:#c5b49b40;border-block:1px solid var(--line)}.venue-name{font:32px/1.2 var(--serif);margin:0}.venue-name+p{font-size:13px;color:#6b5a45}.detail-list>div{padding:22px 0;border-bottom:1px solid var(--line)}.detail-list>div:first-child{padding-top:0}.detail-list span{font-size:10px;letter-spacing:2px;color:#75613c}.detail-list p{font:30px/1.2 var(--serif);margin:8px 0}.detail-list small{font-size:13px;color:#645747}.price-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.price-row p{font-size:51px}.community{text-align:center}.team-image{margin-top:55px}.team-image img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover}.team-image figcaption{padding-top:22px;color:#7c694a}.faq{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;border-top:1px solid var(--line)}.faq h2{font-size:54px}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:23px 0;font-size:17px}summary::-webkit-details-marker{display:none}summary span{font-size:24px;line-height:1;color:var(--gold);transition:transform .3s}details[open] summary span{transform:rotate(45deg)}.answer{font-size:15px;color:#65594b;padding-bottom:16px;animation:answer .3s ease-out}.answer a{text-decoration:underline;overflow-wrap:anywhere}.contact{text-align:center;padding-top:65px;padding-bottom:100px}.contact-link{display:inline-block;font-size:20px;margin-top:25px;border-bottom:1px solid var(--gold);padding-bottom:8px;overflow-wrap:anywhere;max-width:100%}footer{padding:40px 8%;border-top:1px solid var(--line);display:flex;align-items:center;gap:35px;font-size:12px;max-width:1440px;margin:auto}footer p{margin-left:auto}footer .brand{font-size:35px}.reveal{transition:opacity .85s ease,transform .85s cubic-bezier(.2,.65,.3,1)}.js-motion .reveal{opacity:0;transform:translateY(27px)}.js-motion .reveal.visible{opacity:1;transform:translateY(0)}.hero-copy{animation:enter 1s ease both}.hero-art{animation:enter 1.3s .12s ease both}@keyframes enter{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes answer{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.experience-layout{gap:35px}.gift{padding:25px 30px;gap:25px}.gift>p{padding-left:25px}.faq{gap:35px}.faq h2{font-size:43px}}@media(max-width:760px){.section{padding:70px 7%}h2{font-size:46px;letter-spacing:-1.5px}.intro-grid,.experience-layout,.details,.faq{grid-template-columns:1fr;gap:30px}.intro-grid{margin-top:30px;gap:20px}.intro-line{font-size:20px}.training-image img{height:390px}.gift{border-radius:22px;flex-wrap:wrap;padding:26px;gap:20px;margin-top:35px}.gift-symbol{font-size:48px}.gift h3{font-size:31px}.gift>p{margin:0;padding:20px 0 0;border-left:0;border-top:1px solid var(--line);width:100%}.detail-list{margin-top:15px}.details{gap:30px}.team-image{margin-top:32px}.team-image img{min-height:270px;object-fit:cover}.contact-link{font-size:16px}footer{flex-wrap:wrap;gap:22px;padding:35px 7%}footer p{margin-left:0}footer .brand{width:100%;text-align:center;margin-bottom:10px}.faq h2{font-size:46px}.gift .eyebrow{letter-spacing:1.5px}}@media(prefers-reduced-motion:reduce){.js-motion .reveal{opacity:1;transform:none}}
:root{--sand:#ddd2c3;--ink:#302a23;--gold:#8b703b;--line:#ab916454;--serif:'Italiana',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--sand);font:16px/1.65 'DM Sans',sans-serif}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 15% 30%,#f5ede17d,transparent 55%),radial-gradient(ellipse at 83% 65%,#9e8b7230,transparent 60%);}a{color:inherit;text-decoration:none}button{font:inherit}header{position:relative;z-index:5;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:28px 6%;border-bottom:1px solid var(--line)}.brand{font:42px/.9 Georgia,serif;letter-spacing:-3px}.brand span{display:block;font:9px/1.8 'DM Sans',sans-serif;letter-spacing:4px;text-align:center;margin-top:9px}nav{display:flex;gap:36px;font-size:14px}nav a{position:relative}nav a:after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}nav a:hover:after{width:100%}.button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:14px 32px;background:var(--ink);color:#fff8ec;font-size:14px;transition:background .3s,transform .3s;letter-spacing:.5px}.button:hover{background:#725c36;transform:translateY(-3px)}.button.small{min-height:44px;padding:10px 26px}.hero{max-width:1440px;position:relative;margin:auto;min-height:770px;display:grid;grid-template-columns:1fr 1fr;padding:74px 8% 95px;gap:7%}.eyebrow{font-size:12px;letter-spacing:2.7px;font-weight:500;margin:0 0 26px}h1{font:clamp(85px,9.3vw,144px)/.83 var(--serif);letter-spacing:-5px;margin:0;position:relative}h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-7px;font-size:.93em}h1 .year{font:18px 'DM Sans',sans-serif;letter-spacing:8px;display:inline-block;writing-mode:vertical-rl;margin-left:22px}.gold-rule{height:1px;background:var(--gold);width:78px;margin:32px 0 24px}.hero-intro{font-size:18px;line-height:1.7;margin-bottom:25px}.ticket-note{font-size:12px;margin:13px 0;letter-spacing:.5px}.hero-art{position:relative;padding:0 15px 25px 0;align-self:center}.hero-photo{height:560px;overflow:hidden;border-radius:48% 48% 2px 2px;position:relative}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:49% center;transition:transform 1.2s}.hero-photo:hover img{transform:scale(1.035)}.arch-outline{position:absolute;inset:-17px -5px 43px 22px;border:1px solid #9e824e;border-radius:48% 48% 0 0}.photo-caption{position:absolute;right:35px;bottom:44px;color:white;font-size:10px;letter-spacing:3px;text-shadow:0 1px 8px #000}.photo-orbit{position:absolute;width:105px;height:105px;left:-49px;bottom:66px;border:1px solid #a78a4c;border-radius:50%;background:radial-gradient(circle at 30% 25%,#f7e9b970,#a7863020 50%,#87612020);backdrop-filter:blur(3px)}.scroll-label{position:absolute;bottom:32px;left:8%;font-size:10px;letter-spacing:2px;display:flex;align-items:center;gap:20px}.scroll-label span{font-size:22px}.bubbles{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.bubble{position:absolute;border-radius:50%;border:1px solid #ab853d35;background:radial-gradient(circle at 28% 25%,#fff5d355,transparent 60%,#a7813320);animation:float var(--duration) ease-in-out infinite alternate;opacity:.65}@keyframes float{from{transform:translate3d(0,30px,0)}to{transform:translate3d(25px,-65px,0)}}.skip{position:fixed;left:15px;top:-100px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}@media(max-width:760px){header{padding:22px 6%}nav{display:none}.brand{font-size:34px}.hero{padding:50px 7% 75px;grid-template-columns:1fr;gap:45px}.eyebrow{font-size:10px;letter-spacing:1.7px}h1{font-size:100px}.hero-art{margin-left:22px}.hero-photo{height:440px}.hero-intro{font-size:17px}.scroll-label{bottom:20px}h1 .year{font-size:15px}.button.small{padding:10px 18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Slightly reinforce the fine serif strokes without changing the typeface. */
h2, h3, .venue-name, .detail-list p {
  -webkit-text-stroke: 0.3px currentColor;
}
/* Venue, contact and staggered heading reveals. */
.venue-name + .postcode{font-size:23px;font-weight:600;letter-spacing:2px;color:var(--ink);margin:20px 0 24px}
.directions{background:transparent;border:1px solid var(--gold);color:var(--ink)}
.directions:hover{color:#fff8ec}
.contact-form{max-width:760px;margin:44px auto 0;text-align:left}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-form label{display:block;font-size:14px;font-weight:500;margin-bottom:24px}
.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:9px;padding:15px 17px;border:1px solid #9b856967;border-radius:2px;background:#fffaf33d;color:var(--ink);font:16px/1.5 'DM Sans',sans-serif;transition:border-color .25s,background .25s,box-shadow .25s}
.contact-form textarea{resize:vertical;min-height:150px}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--gold);outline-offset:3px;background:#fffaf37d}
.contact-form .button{border:0;cursor:pointer}
.form-help,#form-status{font-size:14px;color:#62574a;line-height:1.6}
.form-help{margin:0 0 22px}#form-status{margin-bottom:0}
.heading-word{display:inline-block}
.heading-motion .heading-word{opacity:0;transform:translateY(24px) rotate(1.5deg);filter:blur(3px);transition:opacity .8s ease,transform .95s cubic-bezier(.16,1,.3,1),filter .85s ease;transition-delay:var(--word-delay,0ms)}
.heading-motion.heading-visible .heading-word{opacity:1;transform:translateY(0) rotate(0);filter:blur(0)}
@media(max-width:760px){header{flex-wrap:wrap;gap:23px}header nav{display:flex;order:3;width:100%;justify-content:center;gap:38px;padding-top:5px} .form-row{grid-template-columns:1fr;gap:0}.contact-form{margin-top:32px}}
@media(prefers-reduced-motion:reduce){.heading-motion .heading-word{opacity:1;transform:none;filter:none}}

@media(max-width:760px){header nav{gap:clamp(18px,5vw,38px)}}

.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.contact-form .button:disabled{opacity:.65;cursor:wait;transform:none}
/* Logo */
header .brand {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  line-height: 1;
  letter-spacing: normal;
}

.brand img {
  display: block;
  width: 150px;
  max-width: 100%;
  height: auto;
}

header .brand img {
  transition: opacity 0.25s ease, transform 0.25s ease;
}

@media (hover: hover) {
  header .brand:hover img {
    opacity: 0.85;
    transform: translateY(-2px);
  }
}

@media (max-width: 760px) {
  header .brand img {
    width: 125px;
  }
}