@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:wght@400;500;600&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#080f0e;--panel:#101b17;--gold:#d3ad79;--text:#eee8da;--muted:#a5aaa2;--line:#b89a6938}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;position:absolute;inset:0 0 auto;z-index:10;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:25px;letter-spacing:5px}.brand span{display:block;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:2.6px;color:var(--gold)}nav{display:flex;align-items:center;gap:38px;font-size:13px}nav a:hover{color:var(--gold)}.nav-cta{border:1px solid var(--line);padding:12px 23px}.nav-cta span{margin-left:25px}.hero{min-height:900px;height:100svh;max-height:1150px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-art{position:absolute;inset:0;background:linear-gradient(90deg,#080f0e 2%,#080f0eeb 26%,#080f0e44 65%),linear-gradient(0deg,#080f0e,transparent 25%),url('assets/forest.png') center/cover no-repeat}.hero-content{position:relative;margin:130px 0 110px 10%;max-width:760px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:3px;color:var(--gold);margin:0 0 25px}h1,h2,h3{font-family:'Bodoni Moda',Georgia,serif;font-weight:400;margin:0;line-height:1.05}h1{font-size:clamp(85px,9.5vw,156px);letter-spacing:-5px;color:var(--gold)}h1 em{display:inline-block;margin-left:95px;font-weight:400}em{font-weight:400}.hero-description{color:#c3c5ba;margin:30px 0;font-size:17px;line-height:1.9}.button{display:inline-flex;gap:46px;justify-content:space-between;align-items:center;border:1px solid var(--gold);background:var(--gold);color:#102019;padding:17px 26px;font-size:14px;font-weight:600;cursor:pointer;transition:.25s}.button:hover{background:#e9cda6;transform:translateY(-2px)}.hero-meta{font-size:11px;letter-spacing:2px;margin-top:40px;color:#c3bba9}.hero-meta span{margin:0 20px;color:var(--gold)}.scroll{position:absolute;bottom:35px;left:6%;font-size:10px;letter-spacing:2px}.scroll span{display:inline-block;margin-left:28px;font-size:25px;color:var(--gold)}.edition{position:absolute;right:5%;bottom:43px;font-size:10px;letter-spacing:2px;color:var(--muted)}.section{padding:120px 8%}.invitation{text-align:center;max-width:1180px;margin:auto}.invitation p:not(.eyebrow){max-width:660px;margin:32px auto;color:var(--muted)}h2{font-size:clamp(45px,5.2vw,78px)}h2 em{color:var(--gold)}.ornament{display:block;color:var(--gold);font-size:38px;margin-top:40px}@media(max-width:700px){header{height:80px;padding:0 6%}.brand{font-size:18px;letter-spacing:3px}.brand span{font-size:8px;letter-spacing:1.3px}nav{gap:0}nav>a:not(.nav-cta){display:none}.nav-cta{padding:9px 13px;font-size:12px}.nav-cta span{margin-left:8px}.hero{min-height:780px;max-height:1000px}.hero-art{background-position:center;background-size:auto 100%;opacity:.7}.hero-content{margin:95px 7% 90px}.hero h1{font-size:88px;letter-spacing:-3px}.hero h1 em{margin-left:45px}.hero-description{font-size:16px}.hero-meta{font-size:10px;letter-spacing:1px}.hero-meta span{margin:0 9px}.edition{display:none}.eyebrow{font-size:11px;letter-spacing:2px}.section{padding:80px 7%}}
[hidden]{display:none!important}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #efd2a2;outline-offset:5px}.muted{color:var(--muted)}.section-heading{display:flex;gap:30px;justify-content:space-between;align-items:end;margin-bottom:55px}.draft-note{display:inline-block;color:var(--muted);font-size:12px;max-width:230px;line-height:1.6}.facts{border-block:1px solid var(--line);background:#101813}.facts-grid{display:grid;grid-template-columns:repeat(3,1fr)}.facts article{padding:10px 42px;border-left:1px solid var(--line)}.facts article:first-child{padding-left:0;border:0}.fact-number{font-size:11px;letter-spacing:2px;color:var(--gold)}.facts h3{font-size:42px;margin:25px 0 18px}.facts p{color:#b5baaf;font-size:15px}.facts small{color:var(--muted);font-size:12px}.programme{display:grid;grid-template-columns:1fr 1fr;gap:80px}.programme .muted{margin:30px 0}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:grid;grid-template-columns:65px 1fr;gap:25px;padding:0 0 34px 27px;position:relative;border-left:1px solid var(--line)}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:'✧';position:absolute;left:-9px;top:-6px;color:var(--gold);background:var(--bg)}time{font-size:13px;color:var(--gold);padding-top:4px}.timeline h3{font-size:32px}.timeline p{font-size:14px;color:var(--muted);margin:10px 0 0}.location{display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:center;padding-top:20px}.location-photo{position:relative;height:590px;overflow:hidden}.location-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.8)}.location-photo:after{content:'';position:absolute;inset:15px;border:1px solid #e4bf813f;pointer-events:none}.location-photo>span{position:absolute;bottom:35px;left:35px;font-size:11px;letter-spacing:3px}.location-copy h2{font-size:62px}.location-copy>p:not(.eyebrow){color:var(--muted);margin:30px 0}.location-copy address{font-style:normal;font-size:14px;margin:0 0 30px}.location-copy address strong{font-weight:500;color:var(--gold)}.text-link{font-size:13px;border-bottom:1px solid var(--line);padding-bottom:8px;color:var(--gold);display:inline-block}.text-link:hover{color:var(--text)}.source-note{font-size:11px;color:var(--muted);margin-top:22px}.source-note a{text-decoration:underline}.registration{background:radial-gradient(ellipse at 5% 80%,#361b2090,transparent 50%),#111b16;display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;border-block:1px solid var(--line)}.registration-intro{position:sticky;top:90px;align-self:start}.registration-intro>p:not(.eyebrow){max-width:335px;color:var(--muted);margin-top:28px}.rsvp-note{display:flex;align-items:center;gap:20px;margin:35px 0 55px;color:var(--gold);font-size:14px}.rsvp-note>span{font-size:45px}.prototype-note{font-size:12px!important;line-height:1.8;color:var(--muted);border-left:1px solid var(--line);padding-left:16px}.prototype-note strong{font-weight:500;color:#c5c8bc}.form-panel{background:#080f0e77;padding:42px;border:1px solid var(--line)}.form-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.form-heading h3{font-size:38px}.form-heading>span{font-size:11px;color:var(--muted)}form>label, .form-grid>label,#attendance-details>label, .extra-fields label{display:block;margin-bottom:24px;font-size:13px;color:#d0d4c8}input:not([type=radio]):not([type=checkbox]),textarea{width:100%;display:block;margin-top:8px;color:var(--text);background:#15211b;border:1px solid #52605066;padding:13px 14px;border-radius:0;font-size:14px;line-height:1.7;transition:border .2s}input::placeholder,textarea::placeholder{color:#889185}input:hover,textarea:hover{border-color:#a5a489}fieldset{border:0;padding:0;margin:0 0 25px;min-width:0}legend{font-size:13px;color:#d0d4c8;margin-bottom:10px;padding:0}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:9px}.segmented.three{grid-template-columns:repeat(3,1fr)}.segmented label{cursor:pointer;position:relative}.segmented input{position:absolute;opacity:0;inset:0;pointer-events:none}.segmented span{display:flex;justify-content:center;align-items:center;text-align:center;font-size:12px;border:1px solid #53615166;min-height:46px;padding:9px 4px;color:#b2bcad;transition:.2s}.segmented input:checked+span{background:#d3ad7914;color:#e3c395;border-color:var(--gold)}.segmented input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.optional{float:right;color:var(--muted);font-size:11px}.field-hint{display:block;font-size:11px;color:#a6afa1;margin:9px 0 0;line-height:1.7}.extra-fields{border-block:1px solid var(--line);margin:28px 0}.extra-fields summary{list-style:none;cursor:pointer;padding:17px 0;font-size:13px;display:flex;justify-content:space-between}.extra-fields summary::-webkit-details-marker{display:none}.extra-fields summary span{color:var(--gold)}.extra-fields[open] summary span{transform:rotate(45deg)}.consent{display:flex!important;align-items:flex-start;gap:12px;font-size:11px!important;line-height:1.8;margin-bottom:24px!important}.consent input{width:17px;height:17px;accent-color:var(--gold);flex-shrink:0;margin-top:3px}.inline-button{border:0;padding:0;background:none;text-decoration:underline;cursor:pointer;font-size:inherit}.submit{width:100%}.centered{text-align:center}.success-star{color:var(--gold);font-size:65px}#confirmation{padding-block:40px}#confirmation h3{font-size:44px}#confirmation>p:not(.eyebrow){color:var(--muted)}#confirmation-details{font-size:14px;color:var(--gold);margin:24px 0}#confirmation .button{margin-top:20px}.map-wrap{position:relative;height:440px;background:#14231d;border:1px solid var(--line);overflow:hidden}.map-wrap iframe{width:100%;height:100%;border:0;filter:invert(.92) hue-rotate(140deg) saturate(.48) contrast(.9)}.map-label{position:absolute;left:35px;top:35px;padding:26px 30px;background:#0a1712ed;border:1px solid var(--line);pointer-events:auto}.map-label .eyebrow{font-size:10px;letter-spacing:2px}.map-label h3{font-size:45px;margin-top:10px;color:var(--gold)}.map-label p{font-size:13px;color:#bdc6b5}.travel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}.travel-grid h3{font-size:30px}.travel-grid p{font-size:14px;color:var(--muted)}.closing{text-align:center;padding:0 7% 110px}.closing .ornament{margin:0 0 32px}.closing h2{font-size:60px}.closing .text-link{margin-top:38px}footer{padding:35px 6%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;align-items:center}footer .brand{font-size:18px;letter-spacing:3px}footer>span{font-size:10px;color:var(--muted)}footer>div{display:flex;gap:18px}footer button{border:0;background:none;padding:5px 0;font-size:11px;color:var(--muted);cursor:pointer}dialog{background:#111d17;border:1px solid var(--gold);color:var(--text);max-width:670px;width:calc(100% - 32px);padding:55px;max-height:85svh}dialog::backdrop{background:#030907dd;backdrop-filter:blur(7px)}dialog h2{font-size:44px}dialog p:not(.eyebrow){color:#b3bdae;font-size:14px}dialog .button{margin-top:18px}.dialog-close{position:absolute;right:18px;top:10px;border:0;background:none;font-size:30px;cursor:pointer;color:var(--gold)}.hero-deer{height:85px;width:85px;object-fit:contain;margin:0 0 20px 3px;filter:drop-shadow(0 0 16px #d3ad7920)}.star{position:absolute;color:var(--gold);animation:twinkle 6s ease-in-out infinite;pointer-events:none}.star-one{font-size:46px;top:140px;right:5px}.star-two{font-size:22px;bottom:140px;right:15px;animation-delay:-3s}.star-one:before{content:'';position:absolute;width:1px;height:130px;background:linear-gradient(transparent,var(--gold));left:50%;bottom:48px;opacity:.5}.intro{position:fixed;inset:0;background:#07110dfc;z-index:100;display:grid;place-items:center;transition:opacity .75s,visibility .75s;pointer-events:none}.intro.done{opacity:0;visibility:hidden}.intro-inner{text-align:center;animation:introIn 1.3s ease both}.intro-deer{width:130px;height:130px;object-fit:contain;animation:deerIn 1.8s ease both}.intro-title{font-family:'Bodoni Moda',Georgia,serif;font-size:clamp(58px,8vw,112px);line-height:1.1;color:var(--gold);margin:18px}.intro-rule{display:block;width:180px;height:1px;margin:30px auto;background:var(--gold);transform-origin:center;animation:lineIn 1.5s ease both}.intro button{position:absolute;bottom:40px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--gold);font-size:12px;pointer-events:auto;cursor:pointer;padding:10px}.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s ease}.js .reveal.visible{opacity:1;transform:none}.hero-art{will-change:transform}.intro[aria-hidden=true] button{visibility:hidden}.intro:not(.done)[aria-hidden=false] button{visibility:visible}@keyframes twinkle{50%{opacity:.35;transform:scale(.8)}}@keyframes introIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes deerIn{from{opacity:0;filter:blur(12px);transform:scale(.8)}to{opacity:1;filter:blur(0);transform:scale(1)}}@keyframes lineIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:701px){.hero-content{margin-top:180px}.hero{min-height:1000px}}@media(max-width:1050px){.location,.registration,.programme{gap:40px}.form-panel{padding:27px}.location-copy h2{font-size:49px}.section{padding-inline:6%}.facts article{padding-inline:25px}.facts h3{font-size:34px}footer{flex-wrap:wrap}.hero h1{font-size:115px}.hero-deer{height:65px;width:65px}}@media(max-width:700px){.section-heading{display:block;margin-bottom:35px}.section-heading>.draft-note{margin-top:20px;max-width:none}.section-heading>.text-link{margin-top:25px}.facts-grid,.programme,.location,.registration,.travel-grid{grid-template-columns:1fr}.facts article{border-left:0;border-top:1px solid var(--line);padding:25px 0}.facts article:first-child{padding-top:0}.facts h3{margin:16px 0;font-size:40px}.facts article:last-child{padding-bottom:0}.programme{gap:45px}.location{padding-top:0;gap:35px}.location-photo{height:360px}.location-copy h2{font-size:48px}.registration{gap:35px}.registration-intro{position:static}.registration-intro h2 br{display:none}.rsvp-note{margin:25px 0}.registration-intro>.prototype-note{max-width:none}.form-panel{padding:24px 18px}.form-grid{gap:12px}.form-heading h3{font-size:33px}.segmented span{font-size:11px}.travel-grid{gap:30px}.map-wrap{height:450px}.map-label{left:12px;top:12px;padding:16px 20px;max-width:195px}.map-label h3{font-size:32px}.map-label p{font-size:12px}.map-label .eyebrow{font-size:8px}.map-label .text-link{font-size:11px}.closing h2{font-size:44px}.closing{padding-bottom:75px}footer{display:block;text-align:center}footer>span{display:block;margin:17px 0}footer>div{justify-content:center;flex-wrap:wrap}dialog{padding:40px 25px}.hero h1{font-size:88px}.hero-content{margin-top:125px}.hero-deer{width:64px;height:64px}.hero-meta{margin-top:28px}.star-one{right:4px;top:135px;font-size:32px}.star-two{right:10px}.hero{min-height:830px}.hero-description{margin:24px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.intro{display:none!important}.js .reveal{opacity:1;transform:none}.hero-art{transform:none!important}}

/* Editorial type scale */
h1,h2,h3,.intro-title{font-optical-sizing:auto}h1{font-size:clamp(82px,8.8vw,140px);line-height:1.04;letter-spacing:-5px}h2{font-size:clamp(42px,4.6vw,68px);line-height:1.17;letter-spacing:-2px}h3{letter-spacing:-.8px}.hero h1 em{margin-left:65px}.invitation h2{line-height:1.3}.hero-art{background-image:linear-gradient(90deg,#080f0edf 0%,#080f0e70 48%,#080f0e08 80%),linear-gradient(0deg,#080f0e,transparent 35%),url('assets/forest.png')}.button{justify-content:center;gap:0}.nav-cta{text-align:center}.hero-deer{width:90px;height:90px}.intro-deer{width:155px;height:155px}.hero-content{max-width:780px}.facts h3{font-size:35px}.timeline h3{font-size:28px}.location-copy h2{font-size:52px}.travel-grid h3{font-size:27px}.closing h2{font-size:54px}.intro-title{font-size:clamp(46px,7.5vw,100px)}@media(max-width:1050px){.hero h1{font-size:105px}.location-copy h2{font-size:43px}.facts h3{font-size:31px}}@media(max-width:700px){.hero h1{font-size:clamp(64px,13.8vw,92px);letter-spacing:-3px}.hero h1 em{margin-left:32px}.hero-content{margin-right:5%;margin-left:7%;width:88%}.hero-deer{height:80px;width:80px}.hero{min-height:810px}.hero-art{background-position:60% center;background-size:auto 100%}.star-one{right:8px;top:135px;font-size:28px}.hero-description{max-width:270px}h2{letter-spacing:-1.5px}.facts h3{font-size:37px}.location-copy h2{font-size:41px}.closing h2{font-size:37px}.intro-title em{display:block}.form-heading h3{font-size:30px}}

/* Final art direction: upright editorial typography and immersive forest sections. */
em{font-style:normal}h1,h2,h3,.intro-title{font-style:normal}.hero h1 em{margin-left:65px}.forest-full{position:relative;min-height:100svh;padding:130px 8%;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(0deg,#080f0e 0%,#080f0e33 25%,#080f0e55 70%,#080f0e 100%),url('assets/forest.png') center/cover no-repeat}.forest-full .location-copy{position:relative;max-width:680px;padding:50px 35px;background:radial-gradient(ellipse,#06120edf,#06120e80 58%,transparent 73%)}.forest-full .location-copy h2{font-size:clamp(44px,5.4vw,80px);line-height:1.15}.forest-full .location-copy>p:not(.eyebrow){color:#d0d2c5;font-size:17px;margin:30px auto;max-width:530px}.forest-full address{color:#d9dbcd;font-size:15px}.location-caption{position:absolute;bottom:35px;left:0;right:0;font-size:11px;letter-spacing:3px;color:#b8beac}.footer-forest{background:linear-gradient(#080f0e 0%,#07100c70 24%,#06100bb5 65%,#050d08ed 100%),url('assets/forest.png') center 70%/cover no-repeat}.footer-forest .closing{padding:140px 7% 150px;min-height:640px}.footer-forest .closing h2{line-height:1.3}.footer-forest footer{background:#050d0855}.intro{background:radial-gradient(ellipse at center,#152619f2,#050c08fc),url('assets/forest.png') center/cover}.intro-inner{position:relative}.intro-inner:before{content:'';position:absolute;width:280px;height:280px;top:-75px;left:50%;border:1px solid #d3ad7940;border-radius:50%;transform:translateX(-50%);animation:halo 3s ease both;pointer-events:none}.intro-deer{width:160px;height:160px;animation:deerAwaken 2.6s cubic-bezier(.18,.7,.25,1) both;transform-origin:center 65%;filter:drop-shadow(0 0 20px #e2b57433)}.intro-title{animation:titleReveal 1.6s .55s both}.intro-rule{animation:lineIn 1.8s .7s ease both}.intro-inner>.eyebrow{animation:titleReveal 1.4s .8s both}.intro.done .intro-deer,.intro.done .intro-title,.intro.done .intro-rule,.intro.done .intro-inner,.intro.done .intro-inner:before,.intro.done .eyebrow{animation:none}.hero-deer{animation:emblemGlow 7s ease-in-out infinite}.intro-title em{display:block}@keyframes deerAwaken{0%{opacity:0;transform:perspective(500px) rotateY(-70deg) scale(.55) translateY(20px);filter:blur(10px) brightness(2.5)}45%{opacity:1;filter:blur(0) brightness(1.3)}75%{transform:perspective(500px) rotateY(8deg) scale(1.05) translateY(0)}100%{opacity:1;transform:perspective(500px) rotateY(0) scale(1);filter:drop-shadow(0 0 25px #edc88750)}}@keyframes halo{0%{opacity:0;transform:translateX(-50%) scale(.6) rotate(-90deg)}100%{opacity:1;transform:translateX(-50%) scale(1) rotate(0)}}@keyframes titleReveal{from{opacity:0;transform:translateY(16px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}@keyframes emblemGlow{50%{filter:drop-shadow(0 0 18px #d3ad7960);transform:translateY(-3px)}}@media(max-width:700px){.hero h1 em{margin-left:32px}.forest-full{padding:90px 6%;min-height:850px;background-position:64% center}.forest-full .location-copy{padding:30px 0}.forest-full .location-copy h2{font-size:44px}.forest-full .location-copy>p:not(.eyebrow){font-size:16px}.footer-forest .closing{padding:100px 6%;min-height:560px}.footer-forest{background-position:70% center}.intro-deer{width:135px;height:135px}.intro-inner:before{width:240px;height:240px;top:-60px}.intro-title{font-size:62px}.form-panel .optional{float:none;display:block}.intro .eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){.intro{display:none!important}}

html:not(.js) .intro{display:none}h1,h2,h3{overflow-wrap:break-word}@media(max-width:700px){input:not([type=radio]):not([type=checkbox]),textarea{font-size:16px}}
/* Carry the reference palette and forest atmosphere through the whole invitation. */
:root{--gold:#dbb283;--line:#d1a66f40;--bg:#070e11;--panel:#111b19}body{background:#070e11}.hero-art{background-image:linear-gradient(90deg,#070e11ad,#070e1140 48%,#070e1108 85%),linear-gradient(0deg,#070e11,transparent 32%),url('assets/forest.png')}.invitation{max-width:none;position:relative;background:linear-gradient(90deg,#160b1499,#071218eb 28%,#071218eb 72%,#220c1499),url('assets/forest.png') center 22%/cover}.invitation:before,.invitation:after{content:'';position:absolute;top:45px;bottom:45px;width:1px;background:linear-gradient(transparent,#d3ad7980,transparent)}.invitation:before{left:4%}.invitation:after{right:4%}.invitation p:not(.eyebrow){color:#bac2be}.facts{background:linear-gradient(100deg,#250f1af0,#091615ed 50%,#21101bf0),url('assets/forest.png') center/cover}.facts h3,.timeline h3{color:#e8c6a0}.programme{position:relative;background:linear-gradient(90deg,#061215dd,#061215f2 50%,#201019d9),url('assets/forest.png') left bottom/cover}.programme:before{content:'✧';position:absolute;left:6%;bottom:30px;color:var(--gold);font-size:29px}.timeline li:before{background:#0c1719}.forest-full{background-image:linear-gradient(0deg,#0b1114,#080f0e22 25%,#080f0e33 70%,#0b1114),url('assets/forest.png')}.registration{background:linear-gradient(90deg,#230e1abb,#091510d6 50%,#1c0e17aa),url('assets/forest.png') center/cover}.registration-intro>p:not(.eyebrow){color:#bdc6bc}.form-panel{background:#071410ed;border:1px solid #d3ad7970;box-shadow:0 25px 90px #02070866}.registration .rsvp-note{color:#e3ba8b}.arrival{background:linear-gradient(#091312e8,#091312f5 50%,#160e18e3),url('assets/forest.png') center bottom/cover}.footer-forest{background-image:linear-gradient(#0e1417 0%,#100d1244 23%,#190a1480 65%,#080c10ed 100%),url('assets/forest.png')}.footer-forest .closing{position:relative}.footer-forest .closing:before{content:'';position:absolute;inset:30px 4%;border:1px solid #d3ad7959;pointer-events:none}.closing h2{color:#ebd2af}.button{background:linear-gradient(115deg,#be925c,#e2c197 55%,#bd915f);border-color:#d5aa79;color:#131810}.button:hover{background:linear-gradient(115deg,#dab17b,#f3d8b1 55%,#d4ab7a)}.text-link{color:#e3bc8b}.hero-deer{filter:drop-shadow(0 0 24px #d99f5370)}.intro{background-image:radial-gradient(ellipse at center,#0b1914ce,#050c08ed),url('assets/forest.png')}

/* The opening is a living event mark, with the invitation below it. */
.hero{justify-content:center;text-align:center;min-height:900px;max-height:none;height:100svh}.hero-content{margin:130px auto 100px;width:88%;max-width:1000px;display:flex;flex-direction:column;align-items:center}.hero-deer{width:160px;height:160px;margin:0 0 15px}.hero-angermann{font-family:'Bodoni Moda',Georgia,serif;font-weight:400;font-size:23px;letter-spacing:10px;margin:0 0 18px;padding-left:10px}.hero h1{font-size:clamp(90px,9.7vw,158px);line-height:.94;letter-spacing:-6px;position:relative}.hero h1 em{display:block;margin:0}.hero h1 br{display:none}.hero .button{margin-top:42px;background:transparent;color:#e6c398;min-width:190px;padding:13px 30px;border-color:#d3ad79a0}.hero .button:hover{background:#d3ad7929}.hero-meta{margin-top:22px;font-size:10px}.hero-art{background-image:linear-gradient(0deg,#070e11 0%,#070e1110 25%,#070e1120 75%,#070e1160 100%),url('assets/forest.png');background-size:cover;background-position:center}.hero-content:before{content:'';position:absolute;inset:8% 6% 13%;border:1px solid #d3ad7940;border-radius:50%;pointer-events:none}.star-one{top:37%;right:9%;font-size:40px}.star-two{bottom:20%;left:10%;right:auto;font-size:28px}.scroll{left:50%;transform:translateX(-50%);bottom:25px;white-space:nowrap;color:#ccbaa4}.intro-deer{width:220px;height:220px}.intro-title{font-size:clamp(80px,10vw,160px);line-height:.98;letter-spacing:-5px;margin-top:20px}.intro-inner>.eyebrow{font-family:'Bodoni Moda',Georgia,serif;font-size:22px;letter-spacing:10px;margin:15px 0 25px}.intro-inner:before{width:420px;height:420px;top:-60px}.intro-rule{margin-top:40px;width:230px}.hero-angermann{color:#ebc39a}@media(max-width:700px){.hero{min-height:800px;height:100svh}.hero-content{margin:100px auto 80px;width:94%}.hero-deer{width:145px;height:145px;margin-bottom:20px}.hero-angermann{font-size:16px;letter-spacing:6px;padding-left:6px;margin-bottom:22px}.hero h1{font-size:clamp(64px,15vw,95px);letter-spacing:-3px;line-height:1.04}.hero h1 em{margin-left:0}.hero .button{margin-top:34px}.hero-meta{font-size:9px;margin-top:24px}.hero-content:before{inset:10% 7% 19%}.star-one{right:6%;top:37%;font-size:27px}.star-two{left:7%;bottom:23%;font-size:22px}.intro-deer{width:190px;height:190px}.intro-title{font-size:70px;letter-spacing:-3px}.intro-inner>.eyebrow{font-size:17px;letter-spacing:7px}.intro-inner:before{width:290px;height:290px;top:-40px}.intro-rule{width:180px}}

/* Original moodboard opener. Alternating imagery and quiet dark sections. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mood-opener{background:#030c12;min-height:900px;height:100svh;max-height:1200px;isolation:isolate}.original-mark{position:absolute;inset:0;display:block}.original-mark img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:brightness(.93)}.mood-opener:after{content:'';position:absolute;inset:auto 0 0;height:170px;background:linear-gradient(transparent,#030c12e8);z-index:1;pointer-events:none}.opener-cta{position:absolute;bottom:63px;left:50%;transform:translateX(-50%);z-index:2;background:#091017bc!important;color:#f1ce9f!important;margin:0!important;min-width:180px}.opener-cta:hover{transform:translateX(-50%) translateY(-2px)}.mood-opener .scroll{z-index:2;bottom:22px}.intro{background:#030c12;overflow:hidden}.intro-original{position:absolute;inset:0;display:block;animation:moodAwaken 3.9s ease both}.intro-original img{width:100%;height:100%;object-fit:contain}.intro-glint{position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#e3b98418 49%,#ffe2b942 50%,#e3b98418 51%,transparent 70%);mix-blend-mode:screen;animation:goldSweep 3.3s .35s both;pointer-events:none}.intro.done .intro-original,.intro.done .intro-glint{animation:none}.intro button{bottom:22px;z-index:2;background:#030c12b0;padding:10px 20px}.invitation{background:#081114}.facts{background:linear-gradient(110deg,#1e111a,#151319);border-color:#d1a66f35}.programme{background:#081211}.programme:before{display:none}.timeline li:before{background:#081211}.registration{background:radial-gradient(ellipse at 0% 100%,#2c142080,transparent 50%),#0c1915}.form-panel{background:#07110fee}.arrival{background:#081114}.footer-forest{background-image:linear-gradient(#081114,transparent 24%,#080f1455 65%,#080f14ed),url('assets/forest.png')}.facts h3{font-size:32px}.forest-full .location-copy{background:radial-gradient(ellipse,#06120edf,#06120e80 58%,transparent 73%)}@keyframes moodAwaken{0%{opacity:0;transform:scale(1.15);filter:blur(10px) brightness(.45)}40%{opacity:1;filter:blur(0) brightness(.85)}100%{opacity:1;transform:scale(1);filter:brightness(1)}}@keyframes goldSweep{0%{transform:translateX(-100%);opacity:0}30%{opacity:1}100%{transform:translateX(100%);opacity:0}}@media(max-width:700px){.mood-opener{min-height:780px;max-height:1000px;height:100svh}.original-mark img{object-fit:cover;object-position:center}.intro-original img{object-fit:cover;object-position:center}.opener-cta{bottom:63px}.mood-opener:after{height:180px}.facts h3{font-size:32px}.hero .button{margin-top:0}header{background:linear-gradient(#030c12c0,#030c1280)}}@media(prefers-reduced-motion:reduce){.original-mark{transform:none!important}.intro-original,.intro-glint{animation:none!important}}

/* Responsive campaign artwork: identical framing during and after the intro. */
h1,h2,h3,h1 em,h2 em,h3 em{color:var(--gold);font-style:normal}
h1 em,h2 em,h3 em{color:inherit}
.back-to-top{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;border:1px solid #dbb28380;background:#071114ed;color:#edc9a0;font-size:11px;letter-spacing:.8px;box-shadow:0 4px 24px #0004;backdrop-filter:blur(12px);transition:background .2s,border-color .2s}
.back-to-top:hover{background:#22302c;border-color:var(--gold)}
.back-to-top:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
footer{padding-bottom:90px}
@media(max-width:700px){
 .mood-opener{height:100svh;min-height:560px;max-height:none}
 .intro{height:100svh;bottom:auto;min-height:560px}
 .original-mark{transform:none!important}
 .original-mark img,.intro-original img{position:absolute;left:50%;top:48%;width:112%;max-width:none;height:auto;object-fit:contain;transform:translate(-50%,-40%);mask-image:linear-gradient(to bottom,transparent,black 12%,black 88%,transparent)}
 .intro-original{transform-origin:50% 48%;animation-name:mobileMoodAwaken}
 .mood-opener:after{height:120px}
 .opener-cta{bottom:calc(91px + env(safe-area-inset-bottom));min-height:48px}
 .mood-opener .scroll{bottom:calc(64px + env(safe-area-inset-bottom));font-size:9px;letter-spacing:1.8px}
 .intro button{bottom:calc(28px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);white-space:nowrap;min-height:44px}
 .back-to-top{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));padding:10px 13px;font-size:10px}
 header .brand{font-size:17px;letter-spacing:3px}header .brand span{font-size:7px;letter-spacing:1.3px}
 header .nav-cta{padding:9px 14px;min-height:44px;display:flex;align-items:center}
}
@keyframes mobileMoodAwaken{0%{opacity:0;transform:scale(1.04);filter:blur(7px) brightness(.55)}40%{opacity:1;filter:blur(0) brightness(.9)}100%{opacity:1;transform:scale(1);filter:brightness(1)}}
/* A quieter closing perspective from the same winter forest campaign. */
.footer-forest{background-image:linear-gradient(#081114,transparent 24%,#080f1440 65%,#080f14e8),url('assets/forest-closing.png');background-position:center;background-size:cover}
@media(max-width:700px){.footer-forest{background-position:58% center}}
/* Full-bleed desktop opener, with the original wordmark kept in frame. */
@media(min-width:701px){
 .mood-opener{height:100svh;min-height:700px;max-height:none}
 .original-mark img,.intro-original img{object-fit:cover;object-position:50% 30%}
}
/* Quiet, asynchronous light in the canopy. */
.forest-atmosphere{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.branch-lights{position:absolute;inset:0}
.branch-glimmer{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:#fff0c9;opacity:0;box-shadow:0 0 6px #ffe1a8,0 0 17px #dda267b3;animation:branchShimmer var(--period) var(--delay) ease-in-out infinite}
.branch-glimmer:nth-child(4n):before,.branch-glimmer:nth-child(4n):after{content:'';position:absolute;left:50%;top:50%;width:1px;height:15px;background:linear-gradient(transparent,#ffe9bf,transparent);transform:translate(-50%,-50%)}
.branch-glimmer:nth-child(4n):after{transform:translate(-50%,-50%) rotate(90deg);height:11px}
.shooting-star{position:absolute;left:var(--x);top:var(--y);width:100px;height:1px;background:linear-gradient(90deg,transparent,#edd3ad 85%,#fff5df);opacity:0;transform:rotate(145deg);transform-origin:right center;filter:drop-shadow(0 0 3px #eccb98);animation:shootingPass var(--period) var(--delay) linear infinite}
.shooting-star:after{content:'';position:absolute;right:0;top:-1px;width:3px;height:3px;border-radius:50%;background:#fff5df}
.intro.done .forest-atmosphere *,.motion-paused .forest-atmosphere *{animation-play-state:paused}
@keyframes branchShimmer{0%,42%,100%{opacity:0;transform:scale(.5)}54%{opacity:.8;transform:scale(1)}64%{opacity:.13;transform:scale(.7)}73%{opacity:.45;transform:scale(.8)}84%{opacity:0;transform:scale(.5)}}
@keyframes shootingPass{0%{opacity:0;transform:translate(0,0) rotate(145deg)}1%{opacity:.8}5%{opacity:0;transform:translate(-260px,180px) rotate(145deg)}100%{opacity:0;transform:translate(-260px,180px) rotate(145deg)}}
@media(max-width:700px){.branch-lights{top:calc(48% - 44.8vw);height:112vw;bottom:auto}.shooting-star{width:64px}.branch-glimmer{box-shadow:0 0 5px #ffe1a8,0 0 10px #dda26799}}
@media(prefers-reduced-motion:reduce){.forest-atmosphere{display:none}}
/* A star-shaped return control matches the campaign ornaments. */
.back-to-top{width:56px;height:56px;min-height:56px;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;filter:drop-shadow(0 2px 8px #000a);transition:filter .2s,transform .2s}
.back-to-top:hover{background:none;transform:translateY(-3px);filter:drop-shadow(0 0 9px #dbb28370)}
.return-star{fill:#dbb283;stroke:#f5dfbe;stroke-width:.75}
.return-arrow{fill:none;stroke:#111b1a;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.branch-glimmer{box-shadow:0 0 5px #fff4d4,0 0 13px #ffdc9a,0 0 26px #dc995999}
.branch-glimmer:nth-child(4n):before{height:22px}
.branch-glimmer:nth-child(4n):after{height:16px}
@keyframes branchShimmer{0%,28%,100%{opacity:.03;transform:scale(.5)}43%{opacity:1;transform:scale(1.2)}56%{opacity:.18;transform:scale(.7)}69%{opacity:.8;transform:scale(1)}84%{opacity:.03;transform:scale(.5)}}

/* Separate logo and forest: only the suspended mark turns. */
.suspended-logo{position:absolute;left:50%;top:47%;width:min(87vw,94svh);aspect-ratio:1;transform:translate(-50%,-50%);perspective:1400px;z-index:2;pointer-events:none}
.logo-pivot{width:100%;height:100%;transform-origin:50% 10%;transform-style:preserve-3d;animation:suspendedTurn 18s ease-in-out infinite;will-change:transform}
.logo-face{display:block;width:100%;height:100%;background:#dfb987;mask:url('assets/logo-isolated.png') center/contain no-repeat;filter:drop-shadow(0 0 6px #d4a26933)}
.intro .suspended-logo{animation:logoArrival 1.8s ease both}
.intro-glint{z-index:3}
.opener-cta,.mood-opener .scroll{z-index:4}
.motion-paused .logo-pivot,.intro.done .logo-pivot{animation-play-state:paused}
@keyframes suspendedTurn{0%,10%{transform:rotateZ(-1deg) rotateY(0deg)}22%{transform:rotateZ(2deg) rotateY(35deg)}42%{transform:rotateZ(-2deg) rotateY(145deg)}62%{transform:rotateZ(1.5deg) rotateY(255deg)}78%,90%{transform:rotateZ(-1deg) rotateY(360deg)}100%{transform:rotateZ(-1deg) rotateY(360deg)}}
@keyframes logoArrival{from{opacity:0;filter:blur(5px)}to{opacity:1;filter:blur(0)}}
@media(max-width:700px){
 .original-mark img,.intro-original img{position:static;left:auto;top:auto;width:100%;height:100%;object-fit:cover;object-position:center;transform:none;mask-image:none}
 .suspended-logo{width:98vw;top:46%;perspective:800px}
 .branch-lights{top:0;height:100%;bottom:0}
 .logo-face{background:#dfb987}
}
@media(prefers-reduced-motion:reduce){.logo-pivot{animation:none;transform:none}.intro .suspended-logo{animation:none}}
.suspended-logo{width:min(62vw,66svh)}
@media(max-width:700px){.suspended-logo{width:84vw}}
/* Requested 50% of the previous logo size. */
.suspended-logo{width:min(43.5vw,47svh)}
@media(max-width:700px){.suspended-logo{width:49vw}}
/* Constant angular velocity and a softly shifting metallic surface. */
.logo-pivot{animation:smoothLogoTurn 22s linear infinite;transform-origin:50% 10%}
.logo-face{position:relative;background:linear-gradient(115deg,#ad7941 0%,#dcaf70 18%,#fff1c4 29%,#c49558 39%,#e6bf82 54%,#fff5d1 65%,#bb884e 76%,#e4bc7c 90%,#ad7941 100%);background-size:260% 100%;animation:metalLight 7.4s ease-in-out infinite;filter:drop-shadow(0 0 3px #f2cb8155)}
.logo-face:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#fff8debb 49%,transparent 62%);mix-blend-mode:screen;animation:logoSheen 6.3s linear infinite}
.logo-face:after{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,#fffbe7 0 1px,transparent 1.6px),radial-gradient(circle,#fff2c7 0 .8px,transparent 1.4px);background-size:19px 23px,31px 29px;background-position:3px 7px,13px 11px;opacity:.4;mix-blend-mode:screen;animation:goldDust 3.7s ease-in-out infinite alternate}
@keyframes smoothLogoTurn{from{transform:rotateZ(-.8deg) rotateY(0deg)}to{transform:rotateZ(-.8deg) rotateY(360deg)}}
@keyframes metalLight{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes logoSheen{0%{transform:translateX(-100%);opacity:0}15%{opacity:.7}55%{transform:translateX(100%);opacity:0}100%{transform:translateX(100%);opacity:0}}
@keyframes goldDust{from{opacity:.15}to{opacity:.6}}
@media(prefers-reduced-motion:reduce){.logo-pivot,.logo-face,.logo-face:before,.logo-face:after{animation:none!important}}
@media(max-width:700px){.branch-lights{top:38%;height:62%;bottom:0}}
.motion-paused .logo-face,.motion-paused .logo-face:before,.motion-paused .logo-face:after,.intro.done .logo-face,.intro.done .logo-face:before,.intro.done .logo-face:after{animation-play-state:paused}
/* The logo rests front-facing between individual, irregularly scheduled turns. */
.logo-pivot{animation:none;transform:rotateZ(-.8deg) rotateY(0deg)}
.logo-pivot.logo-turning{animation:occasionalLogoTurn var(--turn-duration,10s) cubic-bezier(.4,0,.3,1) 1 both}
@keyframes occasionalLogoTurn{from{transform:rotateZ(-.8deg) rotateY(0deg)}to{transform:rotateZ(-.8deg) rotateY(var(--turn-angle,360deg))}}
@media(prefers-reduced-motion:reduce){.logo-pivot.logo-turning{animation:none!important}}
/* A single gold sleigh crossing, with the same fine light as the shooting stars. */
.santa-flight{position:absolute;z-index:3;left:0;top:18%;width:clamp(230px,24vw,370px);color:#e8c899;pointer-events:none;opacity:0;filter:drop-shadow(0 0 4px #e8c89988);animation:santaCross 12s 8s linear 1 both;will-change:transform}
.santa-flight svg{display:block;width:100%;height:auto;overflow:visible}
@keyframes santaCross{0%{opacity:0;transform:translate3d(-110%,14px,0) rotate(-3deg)}9%{opacity:.85}48%{opacity:.9;transform:translate3d(45vw,-12px,0) rotate(-1deg)}88%{opacity:.8}100%{opacity:0;transform:translate3d(calc(100vw + 100%),-28px,0) rotate(-3deg)}}
.motion-paused .santa-flight{animation-play-state:paused}
@media(max-width:700px){.santa-flight{top:23%;width:225px;animation-duration:10s}}
@media(prefers-reduced-motion:reduce){.santa-flight{display:none;animation:none!important}}
/* Articulated gallop and a flight path from the distance into the foreground. */
.santa-flight{top:15%;width:clamp(290px,29vw,460px);color:#dcb889;filter:drop-shadow(0 0 2px #e6c59060);transform-origin:70% 50%;animation:santaDepthCross 16s 8s linear 1 both}
.santa-flight>svg{animation:sleighFloat 1.65s ease-in-out infinite;transform-origin:38% 67%}
.deer-gallop{animation:reindeerBound 1.1s ease-in-out infinite;transform-origin:35px 43px}
.deer-leader{animation-delay:-.37s}
.deer-front-legs{transform-box:fill-box;transform-origin:0 0;animation:frontStride 1.1s ease-in-out infinite}
.deer-hind-legs{transform-box:fill-box;transform-origin:100% 0;animation:hindStride 1.1s ease-in-out infinite}
.santa-rider{transform-box:fill-box;transform-origin:50% 100%;animation:riderSway 1.65s ease-in-out infinite}
@keyframes santaDepthCross{
 0%{opacity:0;transform:translate3d(-100%,-45px,0) scale(.2) rotate(-7deg)}
 12%{opacity:.3;transform:translate3d(0vw,-36px,0) scale(.3) rotate(-6deg)}
 35%{opacity:.65;transform:translate3d(22vw,-20px,0) scale(.48) rotate(-4deg)}
 58%{opacity:.85;transform:translate3d(46vw,15px,0) scale(.73) rotate(-1deg)}
 80%{opacity:.9;transform:translate3d(77vw,68px,0) scale(1.08) rotate(2deg)}
 100%{opacity:0;transform:translate3d(calc(100vw + 110%),130px,0) scale(1.4) rotate(4deg)}
}
@keyframes reindeerBound{0%,100%{transform:translateY(2px) rotate(2deg)}30%{transform:translateY(-5px) rotate(-4deg)}62%{transform:translateY(-2px) rotate(-1deg)}}
@keyframes frontStride{0%,100%{transform:rotate(-22deg)}50%{transform:rotate(25deg)}}
@keyframes hindStride{0%,100%{transform:rotate(24deg)}50%{transform:rotate(-26deg)}}
@keyframes sleighFloat{0%,100%{transform:translateY(2px) rotate(.7deg)}50%{transform:translateY(-3px) rotate(-1deg)}}
@keyframes riderSway{0%,100%{transform:rotate(2deg)}50%{transform:rotate(-3deg)}}
.motion-paused .santa-flight,.motion-paused .santa-flight *{animation-play-state:paused}
@media(max-width:700px){.santa-flight{top:24%;width:280px;animation-duration:15s}}
@media(prefers-reduced-motion:reduce){.santa-flight,.santa-flight *{animation:none!important}}
