:root{
  --navy:#101936;--navy-2:#17224a;--gold:#e3b54d;--gold-2:#f5cf73;--cream:#fbf7ef;--ink:#101426;--muted:#5f657a;--lilac:#eeeaf9;--white:#fff;--shadow:0 24px 70px rgba(10,16,38,.18);--radius:26px;--max:1120px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}a{color:inherit;text-decoration:none}img,svg{max-width:100%}.container{width:min(var(--max),calc(100% - 32px));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:12px;background:var(--gold);color:var(--navy);padding:10px 14px;border-radius:10px;z-index:99}.skip-link:focus{left:12px}.site-header{position:sticky;top:0;z-index:20;background:rgba(16,25,54,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.09)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;color:var(--white)}.brand-mark{width:48px;height:48px;border:1px solid rgba(227,181,77,.85);border-radius:18px;display:grid;place-items:center;color:var(--gold);flex:none}.brand-mark svg{width:34px;height:34px}.brand strong{display:block;font-family:'Playfair Display',serif;font-size:1.58rem;line-height:1}.brand small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;opacity:.86}.nav-links{display:flex;align-items:center;gap:26px;color:#f6f1e8;font-weight:700;font-size:.94rem}.nav-links a:not(.nav-cta){opacity:.92}.nav-links a:hover{color:var(--gold)}.nav-cta,.btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--navy);border-radius:999px;padding:13px 24px;font-weight:800;box-shadow:0 12px 28px rgba(227,181,77,.25)}.nav-toggle{display:none;background:none;border:0;padding:8px}.nav-toggle span{display:block;width:27px;height:2px;background:#fff;margin:6px 0}.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;min-height:620px;display:flex;align-items:center}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,12,31,.96) 0%,rgba(12,18,43,.82) 44%,rgba(12,18,43,.25) 100%),radial-gradient(circle at 79% 38%,rgba(227,181,77,.62),transparent 15%),radial-gradient(circle at 72% 30%,rgba(255,255,255,.22),transparent 11%),linear-gradient(135deg,#0e1738,#3d3868 58%,#b78a51);}.hero-bg:after{content:"";position:absolute;right:5%;top:18%;width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,#ffe1a1 0 4%,rgba(255,217,143,.35) 5% 17%,transparent 18%),repeating-radial-gradient(circle,rgba(255,255,255,.08) 0 2px,transparent 3px 20px);filter:blur(.2px);opacity:.7}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:48px;padding:74px 0}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--gold);font-size:.82rem;font-weight:800;margin:0 0 14px}.hero h1,.section h2,.testimonials h2,.cta-band h2{font-family:'Playfair Display',serif;line-height:1.04;margin:0;color:inherit}.hero h1{font-size:clamp(3.2rem,7vw,5.9rem);max-width:680px}.hero h1 span{color:var(--gold)}.hero-text{font-size:1.18rem;max-width:520px;margin:24px 0 0}.button-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 25px;font-weight:800;border:1px solid transparent}.btn-ghost{border-color:rgba(255,255,255,.75);color:#fff}.btn-dark{background:var(--navy);color:#fff}.hero-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow);border-radius:var(--radius);padding:34px;backdrop-filter:blur(16px);max-width:410px;margin-left:auto}.hero-card h2{font-size:2rem;margin:0 0 14px}.orb{width:86px;height:86px;border-radius:50%;background:radial-gradient(circle,#ffe6a6 0 12%,#e3b54d 13% 28%,rgba(227,181,77,.16) 29% 100%);box-shadow:0 0 80px rgba(227,181,77,.55);margin-bottom:24px}.section{padding:86px 0}.split{display:grid;grid-template-columns:.9fr 1.2fr;gap:70px;align-items:center}.section-copy h2{font-size:clamp(2.2rem,4vw,3.4rem);color:var(--navy);margin-bottom:18px}.section-copy p{color:#30384b;font-size:1.05rem}.photo-collage{display:grid;grid-template-columns:1.6fr 1fr;gap:14px}.photo{border-radius:18px;min-height:180px;box-shadow:var(--shadow);position:relative;overflow:hidden;background:linear-gradient(135deg,#efe7dc,#2e3865)}.photo span{position:absolute;left:18px;bottom:18px;color:#fff;font-weight:800;text-shadow:0 2px 12px #000;line-height:1.55;max-width:calc(100% - 36px)}.photo-large{grid-row:span 2;min-height:370px;background:linear-gradient(rgba(16,25,54,.1),rgba(16,25,54,.7)),radial-gradient(circle at 50% 28%,#f4cf80,transparent 9%),linear-gradient(135deg,#c8b7a2,#293050 65%)}.photo-small.one{background:linear-gradient(rgba(16,25,54,.2),rgba(16,25,54,.75)),linear-gradient(135deg,#dfb58b,#33426d)}.photo-small.two{background:linear-gradient(rgba(16,25,54,.2),rgba(16,25,54,.75)),linear-gradient(135deg,#dcc4aa,#151c3d)}.events-band{background:linear-gradient(120deg,#f7f4fb,#e9e3f7)}.events-grid{display:grid;grid-template-columns:.8fr 1.35fr;gap:48px;align-items:start}.ticket-panel{background:#fff;border:1px solid rgba(16,25,54,.12);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;min-height:310px}.ticket-header{display:flex;align-items:center;gap:14px;margin-bottom:18px;color:var(--navy)}.ticket-header h3{margin:0;font-size:1.35rem}.calendar-icon{width:42px;height:42px;display:grid;place-items:center;border:2px solid var(--navy);border-radius:12px;font-size:1.4rem;color:transparent;position:relative}.calendar-icon:before,.calendar-icon:after{content:"";position:absolute;background:var(--navy)}.calendar-icon:before{width:20px;height:2px;top:12px}.calendar-icon:after{width:24px;height:2px;top:22px}.feature-strip{background:#fff;padding:34px 0}.features{display:grid;grid-template-columns:repeat(5,1fr);gap:0}.feature{text-align:center;padding:22px 20px;border-left:1px solid #e7e8ef}.feature:first-child{border-left:0}.feature span{font-size:2.3rem;color:var(--navy)}.feature h3{font-size:.98rem;margin:12px 0 6px;color:var(--navy)}.feature p{font-size:.9rem;color:var(--muted);margin:0}.testimonials{background:var(--navy);color:#fff}.centre{text-align:center}.testimonials h2{font-size:clamp(2rem,4vw,3rem)}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:42px}.quote-grid blockquote{margin:0;border-left:2px solid rgba(227,181,77,.7);padding:4px 0 4px 26px;font-size:1.08rem}.quote-grid cite{display:block;margin-top:16px;color:var(--gold);font-style:normal;font-weight:800}.cta-band{background:linear-gradient(135deg,#5b568e,#806fa9);color:#fff;padding:34px 0}.cta-content{display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-content h2{font-size:2rem}.cta-content p{margin:8px 0 0}.footer{background:#0b132d;color:#e9edf8;padding:54px 0 22px}.footer-grid{display:grid;grid-template-columns:1.3fr .75fr 1fr 1.15fr;gap:42px}.footer h3{font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold)}.footer a{display:block;color:#eef2ff;margin:7px 0}.footer p{color:#c9d0e8}.small-print{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:18px;font-size:.85rem;color:#b5bdd7}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:860px){.nav{height:74px}.nav-toggle{display:block}.nav-links{position:absolute;left:16px;right:16px;top:82px;background:rgba(16,25,54,.98);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:18px;display:none;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{padding:10px}.nav-cta{text-align:center}.hero{min-height:auto}.hero-grid,.split,.events-grid{grid-template-columns:1fr}.hero-grid{padding:54px 0}.hero-card{margin:0;max-width:none}.photo-collage{grid-template-columns:1fr}.photo-large{min-height:260px}.features{grid-template-columns:1fr 1fr}.feature{border-left:0;border-top:1px solid #e7e8ef}.quote-grid,.footer-grid{grid-template-columns:1fr}.cta-content{align-items:flex-start;flex-direction:column}.hero h1{font-size:3.25rem}}@media(max-width:520px){.brand strong{font-size:1.25rem}.brand small{font-size:.57rem}.brand-mark{width:42px;height:42px}.hero h1{font-size:2.75rem}.section{padding:64px 0}.features{grid-template-columns:1fr}.button-row .btn{width:100%}.ticket-panel{padding:18px}}
