@font-face{font-family:Cleopatra;src:url('assets/fonts-v8/cleopatra.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--ink:#0D1215;--gold:#FFCB71;--white:#F9F9F9;--muted:#b1b3b2;--line:#ffcb7138;--display:Cleopatra,'Bodoni Moda',serif;color-scheme:dark;font-family:Onest,Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-padding-top:110px;scrollbar-gutter:stable}body{margin:0;background:var(--ink);color:var(--white)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:7px}::selection{color:var(--ink);background:var(--gold)}.skip-link{position:fixed;top:-100px;left:20px;padding:16px;z-index:100;background:var(--gold);color:var(--ink)}.skip-link:focus{top:12px}.site-header{position:fixed;top:0;left:0;right:0;z-index:30;padding:24px 4.8vw;display:flex;justify-content:space-between;align-items:center;gap:30px;background:linear-gradient(var(--ink),#0d1215e6 45%,#0d121500);min-height:95px}.brand{display:flex;align-items:center;gap:9px;flex-shrink:0}.brand svg{width:43px;height:43px}.brand>span{font-family:var(--display);font-size:22px;color:var(--gold)}nav{display:flex;gap:34px;align-items:center;font-size:12px}nav a{padding:10px 0}nav a:hover{color:var(--gold)}nav .nav-date{padding:13px 20px;border:1px solid var(--line);border-radius:2px;color:var(--gold);display:flex;gap:27px}.journey{height:360svh;position:relative}.journey-stage{height:100svh;position:sticky;top:0;overflow:hidden}.entry{position:absolute;inset:0;z-index:3;pointer-events:none}.entry-world{width:100%;height:100%;display:block}.black-field,.door-panel{fill:var(--ink)}.temple-mark{fill:var(--gold)}.door-line{fill:none;stroke:var(--gold);stroke-width:1;opacity:.7}.door-handle{fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round}.entry-name{position:absolute;text-align:center;left:0;width:100%;color:var(--gold);padding:0 20px}.entry-name h1{font-family:var(--display);font-size:clamp(62px,7.9vw,112px);line-height:1.13;font-weight:400;letter-spacing:-.035em;margin:0}.entry-name p{font-size:12px;letter-spacing:.12em;margin:18px 0 0;color:var(--white)}.entry-venue{position:absolute;bottom:35px;left:4.8vw;font-size:12px;line-height:1.7;margin:0;color:var(--gold)}.entry-venue span{display:block;font-size:10px;color:var(--muted)}.scroll-invitation{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:16px;font-size:10px;color:var(--gold);white-space:nowrap}.scroll-invitation svg{height:30px;width:17px;stroke:currentColor;stroke-width:1;fill:none}.journey-caption{position:absolute;right:4.8vw;bottom:40px;z-index:5;color:var(--muted);font-size:10px}.skip-journey{position:absolute;right:4.8vw;top:115px;z-index:5;font-size:10px;color:var(--muted);padding:7px 0}.skip-journey span{margin-left:10px}.skip-journey:hover{color:var(--gold)}.arrival{position:absolute;inset:0;padding:115px 6vw 65px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;isolation:isolate;visibility:hidden}.arrival-sun{width:190px;max-width:32vw;margin:0 0 25px;color:var(--gold)}.arrival-sun svg{width:100%;display:block}.arrival-location{font-size:11px;color:var(--muted);margin:0 0 26px;letter-spacing:.035em}.arrival h2{font-family:var(--display);color:var(--gold);font-weight:400;font-size:clamp(72px,9.5vw,145px);line-height:1.03;letter-spacing:-.025em;margin:0}.arrival-caption{font-size:13px;line-height:1.7;color:var(--muted);margin:25px 0 20px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px;padding:14px 0;border-bottom:1px solid var(--gold);color:var(--gold)}.text-link:hover{color:var(--white);border-color:var(--white)}.arrival-link{font-size:11px;border-color:var(--line)}.horizon{position:absolute;left:0;bottom:-1px;width:100%;height:130px;fill:none;stroke:var(--gold);stroke-width:1;opacity:.2;z-index:-1}.content-section{max-width:1600px;margin:0 auto;padding:125px 8vw}.spirit{min-height:850px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw}.section-kicker{font-size:12px;line-height:1.4;font-weight:400;color:var(--muted);margin:0 0 30px}.spirit h2,.event h2,.programme h2,.contact h2{font-family:var(--display);font-weight:400;letter-spacing:-.02em;color:var(--gold);margin:0;font-size:clamp(52px,5.5vw,84px);line-height:1.12}.body-copy{font-size:15px;line-height:1.85;max-width:390px;margin:35px 0 0;color:var(--white)}.body-copy.secondary{color:var(--muted);font-size:13px;margin:18px 0 24px}.mascot{margin:0;align-self:center;text-align:center}.mascot-art{width:100%;max-width:480px;margin:0 auto}.mascot-art>svg{width:100%;display:block;height:auto;overflow:visible}.mascot figcaption{font-size:10px;line-height:1.7;color:var(--muted);margin-top:-30px}.gold-frieze{overflow:hidden;margin:0 auto;max-width:1600px}.gold-frieze svg{width:100%;height:54px;fill:none;stroke:var(--gold);stroke-width:1;opacity:.55}.event{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center;padding-top:125px;padding-bottom:145px}.date-block{color:var(--gold);text-align:center;position:relative}.date-block .section-kicker{margin-bottom:10px;text-align:left}.big-date{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.date-day{font-family:var(--display);font-size:clamp(155px,20vw,290px);line-height:.97;letter-spacing:-.08em;display:block;margin-right:.08em}.date-month{font-family:var(--display);font-size:clamp(40px,5.8vw,78px);line-height:1;margin-top:12px}.date-year{font-size:15px;letter-spacing:.45em;margin:28px 0 0 .45em}.event-details h2{font-size:clamp(40px,4vw,62px);margin-bottom:42px}.event-details dl{margin:0}.event-details dl>div{border-top:1px solid var(--line);padding:19px 0;display:grid;grid-template-columns:72px 1fr;gap:20px}.event-details dt{font-size:11px;color:var(--muted);line-height:1.7}.event-details dd{margin:0;font-size:14px;line-height:1.7}.event-details dd span{font-size:12px;color:var(--muted)}.event-links{display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin-top:25px}.button-gold{padding:17px 22px;background:var(--gold);color:var(--ink);font-size:12px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:48px}.button-gold:hover{background:var(--white)}.programme{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:640px;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}.programme-orbit{position:absolute;left:50%;top:50%;width:560px;height:560px;margin:-280px 0 0 -280px;z-index:-1;opacity:.18}.programme-orbit svg{width:100%;height:100%;fill:none;stroke:var(--gold);stroke-width:1}.programme-copy{background:var(--ink);padding:25px 55px;position:relative}.programme h2{font-size:clamp(50px,5vw,76px)}.programme p:not(.section-kicker){font-size:14px;line-height:1.8;color:var(--muted);margin:24px 0 28px}.programme .section-kicker{margin-bottom:24px}.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:12vw;align-items:center;padding-top:125px;padding-bottom:120px}.contact h2{font-size:clamp(42px,4.4vw,65px)}.contact-copy{font-size:13px;line-height:1.8;max-width:330px}.contact-copy p{color:var(--muted);margin:0 0 25px}.contact-copy a{display:table;color:var(--gold);padding:6px 0}.contact-copy a:hover{text-decoration:underline;text-underline-offset:5px}.site-footer{border-top:1px solid var(--line);padding:65px 4.8vw 30px;overflow:hidden}.footer-brand{display:block;text-align:center;font-family:var(--display);font-size:clamp(48px,12vw,182px);line-height:1.2;letter-spacing:-.035em;color:var(--gold);padding-bottom:55px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;color:var(--muted);font-size:10px;line-height:1.6}.footer-bottom a:hover{color:var(--gold)}.footer-bottom a span{margin-left:8px}.page-progress{position:fixed;bottom:0;left:0;height:2px;background:var(--gold);width:100%;z-index:40;transform:scaleX(0);transform-origin:left;pointer-events:none}body.reduced-motion .journey{height:100svh}body.reduced-motion .journey-stage{position:relative}body.reduced-motion .entry,body.reduced-motion .scroll-invitation,body.reduced-motion .journey-caption,body.reduced-motion .skip-journey{display:none}body.reduced-motion .arrival{visibility:visible}
@media(min-width:1600px){.content-section{padding-left:130px;padding-right:130px}}
@media(max-width:900px){.site-header{padding:20px 5vw}.brand>span{font-size:19px}nav{gap:20px;font-size:11px}nav .nav-date{gap:15px;padding:12px 15px}.content-section{padding:90px 6vw}.spirit{gap:4vw;min-height:730px}.spirit h2{font-size:56px}.body-copy{font-size:14px}.mascot figcaption{margin-top:-15px}.event{gap:7vw}.event-details dl>div{grid-template-columns:55px 1fr;gap:12px}.event-details h2{font-size:40px}.date-day{font-size:22vw}.programme{min-height:600px}.contact{gap:7vw}.contact h2{font-size:47px}}
@media(max-width:600px){html{scroll-padding-top:100px}.site-header{padding:17px 6vw;min-height:80px;gap:10px}.brand{gap:4px}.brand svg{width:33px;height:33px}.brand>span{font-size:16px}nav{gap:15px;font-size:10px}.site-header nav>a:not(.nav-date){display:none}nav .nav-date{font-size:10px;padding:11px 12px;gap:10px}.journey{height:305svh}.entry-name h1{font-size:clamp(44px,12vw,72px);letter-spacing:-.04em}.entry-name p{font-size:10px;letter-spacing:.08em;margin-top:14px}.entry-venue{bottom:83px;left:0;width:100%;text-align:center;font-size:11px}.entry-venue span{font-size:9px}.scroll-invitation{bottom:27px;font-size:9px;gap:12px}.scroll-invitation svg{height:27px}.journey-caption{display:none}.skip-journey{top:93px;right:6vw;font-size:9px}.arrival{padding:125px 6vw 100px}.arrival-sun{width:150px;max-width:44vw;margin-bottom:28px}.arrival-location{font-size:9px;max-width:250px;line-height:1.6;margin-bottom:28px}.arrival h2{font-size:clamp(53px,14vw,86px);line-height:1.12}.arrival-caption{font-size:12px;margin:28px 0 20px}.horizon{height:100px}.content-section{padding:75px 7vw}.spirit{grid-template-columns:1fr;gap:30px;min-height:0}.section-kicker{font-size:11px;margin-bottom:25px}.spirit h2{font-size:clamp(49px,12vw,70px);line-height:1.13}.body-copy{font-size:14px;line-height:1.8;max-width:100%;margin-top:26px}.body-copy.secondary{font-size:12px}.mascot{margin-top:0}.mascot-art{max-width:340px}.mascot figcaption{font-size:9px;margin-top:-15px}.gold-frieze svg{width:200%;max-width:none;height:44px}.event{grid-template-columns:1fr;gap:65px;padding-top:70px;padding-bottom:80px}.date-block .section-kicker{text-align:center;margin-bottom:28px}.date-day{font-size:clamp(180px,55vw,260px)}.date-month{font-size:57px}.date-year{font-size:13px;margin-top:25px}.event-details h2{font-size:43px;margin-bottom:30px}.event-details dl>div{grid-template-columns:62px 1fr;padding:18px 0}.event-details dd{font-size:13px}.event-links{gap:12px}.button-gold{font-size:11px;gap:28px;padding:16px 19px}.programme{min-height:580px;padding:65px 6vw}.programme-orbit{width:480px;height:480px;margin:-240px 0 0 -240px;opacity:.14}.programme-copy{padding:25px 5px;width:100%}.programme h2{font-size:45px}.programme p:not(.section-kicker){font-size:12px;max-width:280px;margin:24px auto 28px}.programme p br{display:none}.contact{grid-template-columns:1fr;gap:35px;padding-top:75px;padding-bottom:75px}.contact h2{font-size:42px}.contact-copy{font-size:12px;max-width:100%}.site-footer{padding:40px 6vw 25px}.footer-brand{font-size:12vw;padding-bottom:38px}.footer-bottom{display:grid;grid-template-columns:1fr;gap:17px;font-size:9px}.footer-bottom .back-top{position:absolute;right:6vw;margin-top:-18px}.page-progress{height:2px}}
@media(max-height:600px) and (min-width:601px){.site-header{padding-top:16px;min-height:75px}.entry-name h1{font-size:64px}.entry-name p{margin-top:10px}.entry-venue{bottom:25px}.scroll-invitation{bottom:22px}.arrival{padding:85px 5vw 40px}.arrival-sun{width:110px;margin-bottom:10px}.arrival-location{margin-bottom:15px}.arrival h2{font-size:13svh}.arrival-caption{font-size:11px;margin:15px 0 5px}.journey-caption{bottom:30px}.skip-journey{top:80px}}
@media(prefers-reduced-motion:reduce){.journey{height:100svh}.journey-stage{position:relative}.entry,.scroll-invitation,.journey-caption,.skip-journey{display:none}.arrival{visibility:visible}}

@media(max-height:550px){.site-header{min-height:66px;padding-top:12px;padding-bottom:12px}.brand svg{width:30px;height:30px}.brand>span{font-size:17px}.skip-journey{top:75px}.entry-name h1{font-size:clamp(33px,7vw,62px)}.entry-name p{font-size:9px;margin-top:7px}.entry-venue{bottom:20px;left:5vw;text-align:left;width:auto;font-size:10px}.entry-venue span{display:none}.scroll-invitation{bottom:18px;font-size:8px}.scroll-invitation svg{height:20px}.journey-caption{display:none}.arrival{padding:74px 6vw 28px}.arrival-sun{width:80px;margin-bottom:8px}.arrival-location{font-size:8px;margin-bottom:9px}.arrival h2{font-size:clamp(34px,12svh,66px);line-height:1.05}.arrival-caption{font-size:10px;line-height:1.4;margin:10px 0 4px}.arrival-link{font-size:9px;padding:8px 0}.horizon{height:55px}}
@media(max-width:600px){.footer-bottom{grid-template-columns:1fr auto;column-gap:10px;row-gap:5px}.footer-bottom>span{grid-column:1;grid-row:1}.footer-bottom>a:not(.back-top){grid-column:1/-1;grid-row:2;padding:12px 0}.footer-bottom .back-top{position:static;right:auto;margin:0;grid-column:2;grid-row:1;min-height:44px;display:flex;align-items:center}}
