@font-face{font-family:BMW;src:url('./fonts/BMWTypeNextKr-Light.otf') format('opentype');font-weight:100 300;font-display:swap}
@font-face{font-family:BMW;src:url('./fonts/BMWTypeNextKr-Regular.otf') format('opentype');font-weight:400 500;font-display:swap}
@font-face{font-family:BMW;src:url('./fonts/BMWTypeNextKr-Bold.otf') format('opentype');font-weight:600 900;font-display:swap}
:root{color-scheme:dark;--bg:#101915;--ink:#f1eee6;--muted:#a6aea5;--gold:#c7b78b;--line:#ffffff20}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 38%,#2b3c2f66,transparent 57%),var(--bg);color:var(--ink);font-family:BMW,Arial,sans-serif;min-height:100svh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:7px}button:disabled{cursor:wait}button{color:inherit}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.grain{position:fixed;inset:0;opacity:.035;pointer-events:none;z-index:8;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E")}header{height:108px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:17px;font-size:11px;line-height:1.4;letter-spacing:2px}.brand>span:first-child{font-size:23px;letter-spacing:1px;font-weight:600}.brand-divider{height:28px;width:1px;background:var(--line)}.edition{font-size:10px;letter-spacing:3px;color:var(--gold)}main{padding:57px 24px 44px}.scene{text-align:center;margin:auto;max-width:850px}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:3px;display:flex;align-items:center;justify-content:center;gap:10px}.eyebrow i{width:5px;height:5px;border-radius:50%;background:var(--gold)}h1,h2{font-weight:300;font-size:42px;letter-spacing:-2px;line-height:1.55;margin:21px 0 17px}h1 em,h2 em{font-style:normal;color:#d1c19b}.lead{color:var(--muted);font-size:13px;font-weight:300;line-height:1.95;margin:0}.envelope{display:block;position:relative;width:430px;height:266px;margin:48px auto 29px;padding:0;border:0;background:transparent;perspective:1200px;filter:drop-shadow(0 25px 24px #0006);transition:transform .5s}.envelope:hover{transform:translateY(-5px) rotate(-1deg)}.envelope-base{position:absolute;inset:0;background:linear-gradient(125deg,#e2dac7,#c5b899);border-radius:3px;box-shadow:inset 0 0 0 1px #fffc}.envelope-fold{position:absolute;inset:0;background:linear-gradient(145deg,#cec2a6,#e2d7bd);clip-path:polygon(0 0,50% 57%,100% 0,100% 100%,0 100%)}.envelope-fold:after{content:'';position:absolute;inset:0;background:#ffffff08;clip-path:polygon(0 100%,50% 47%,100% 100%)}.envelope-flap{position:absolute;inset:0 0 auto;height:150px;background:linear-gradient(180deg,#e6decb,#c5b99b);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;z-index:3;transition:transform 1s .25s,filter 1s}.envelope-wordmark{position:absolute;z-index:4;top:27px;left:0;right:0;font-size:11px;letter-spacing:5px;color:#514a39;transition:opacity .3s}.envelope-wordmark b{font-weight:400}.seal{position:absolute;left:calc(50% - 35px);top:104px;z-index:5;height:70px;width:70px;border-radius:50%;background:linear-gradient(135deg,#a99057,#ddca98 45%,#a78c51);box-shadow:0 3px 9px #50432966,inset 0 0 0 4px #c4ac76,inset 0 0 0 5px #8e774e;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:transform .4s,opacity .4s;color:#514128}.seal>span{font-family:Georgia,serif;font-size:26px;font-style:italic}.seal small{font-size:4px;letter-spacing:1px;margin-top:3px}.envelope-bottom{position:absolute;bottom:20px;left:24px;right:24px;display:flex;justify-content:space-between;font-size:7px;letter-spacing:2px;color:#746a53}.letter-peek{position:absolute;inset:13px 22px;background:#f2eedf;display:flex;justify-content:center;align-items:center;color:#756747;font-family:Georgia,serif;letter-spacing:3px;transition:transform 1s .7s;z-index:1}.opening .seal{transform:scale(1.3);opacity:0}.opening .envelope-flap{transform:rotateX(180deg);filter:brightness(.8);z-index:0}.opening .envelope-wordmark{opacity:0}.opening .letter-peek{transform:translateY(-85px)}.intro.leaving{opacity:0;transform:translateY(-15px);transition:opacity .45s,transform .45s}.text-open{border:0;background:none;font-size:14px;letter-spacing:.3px;padding:10px 15px}.text-open span{color:var(--gold);margin-left:16px}.hint{font-size:10px;color:#839087;margin:5px 0 34px}.event-strip{display:flex;justify-content:center;gap:45px;border-top:1px solid var(--line);padding-top:25px;max-width:520px;margin:auto}.event-strip>div{text-align:left}.event-strip small{display:block;color:#84938a;font-size:8px;letter-spacing:2px;margin-bottom:7px}.event-strip span{font-size:11px;letter-spacing:1px}footer{padding:26px 5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;color:#849188;font-size:8px;letter-spacing:1.4px}.demo-note{letter-spacing:.3px}.reveal{max-width:520px;animation:arrive .9s both}.reveal h2{font-size:37px;line-height:1.45}.ticket{margin:30px auto 18px;text-align:left;background:#e8e2d3;color:#243a30;padding:24px 29px 15px;position:relative;box-shadow:0 20px 70px #0005;max-width:386px}.ticket-top{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:#59695c}.ticket-title{position:relative;font-size:41px;line-height:1.06;letter-spacing:-1px;font-weight:300;margin:27px 0}.ticket-title em{font-family:BMW,Arial,sans-serif;font-size:46px;font-weight:400}.ticket-title svg{position:absolute;right:0;top:0;width:69px;height:89px;fill:none;stroke:#7d8a6d;stroke-width:1}.ticket-rule{display:flex;align-items:center;gap:7px;margin-bottom:24px}.ticket-rule span{height:1px;background:#bcc1ae;flex:1}.ticket-rule b{font-weight:400;font-size:7px;letter-spacing:1px;white-space:nowrap}.code-label{text-align:center;font-size:11px;color:#66725f;letter-spacing:1px}.code-label span{font-size:7px;border:1px solid #9da58d;padding:2px 4px;margin-left:4px}.code{text-align:center;font-size:39px;font-weight:500;letter-spacing:7px;margin:9px 0 17px;font-variant-numeric:tabular-nums}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;background:#263e31;color:#f4f0e3;border:0;padding:15px 18px;font-size:12px}.primary:hover{background:#365440}.ticket-meta{display:grid;grid-template-columns:64px 1fr;gap:8px;font-size:10px;margin:20px 0}.ticket-meta span{color:#72806d}.ticket-meta strong{font-weight:500}.ticket-bottom{border-top:1px dashed #b6b8a6;padding-top:13px;text-align:center;font-size:7px;letter-spacing:2px;color:#7d8773}.actions{display:flex;gap:12px;max-width:386px;margin:auto}.actions button{flex:1;background:none;border:1px solid #ffffff30;padding:13px 8px;font-size:11px}.actions button:hover{border-color:var(--gold)}.actions span{padding-left:9px;color:var(--gold)}.qualification{font-size:9px;line-height:1.9;color:#939f95;margin:21px 0}.replay{background:none;border:0;color:var(--gold);font-size:11px;padding:10px}.guide{text-align:left;border:1px solid var(--line);padding:22px;max-width:386px;margin:16px auto}.guide h3{font-size:14px;font-weight:500;margin:0 0 18px}.guide ol{padding-left:19px}.guide li{padding-left:6px;margin:16px 0;font-size:11px;color:var(--gold)}.guide b{display:block;color:var(--ink);font-weight:400;margin-bottom:4px}.guide li span{display:block;font-size:10px;line-height:1.8;color:var(--muted)}.guide p{font-size:10px;line-height:1.8;color:var(--gold);border-top:1px solid var(--line);padding-top:15px}.guide a{display:block;margin-top:12px;text-decoration:underline}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);padding:13px 22px;background:#eee8da;color:#203329;font-size:12px;z-index:20;opacity:0;pointer-events:none;transition:.25s;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}@keyframes arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media(min-width:1000px){main{min-height:calc(100svh - 177px)}}@media(max-width:600px){header{height:80px;padding:0 23px}.brand{font-size:8px;gap:12px;letter-spacing:1.3px}.brand>span:first-child{font-size:19px}.edition{font-size:7px;letter-spacing:1.5px}main{padding:40px 20px 32px}.eyebrow{font-size:7px;letter-spacing:1.8px}h1{font-size:27px;letter-spacing:-1.3px;margin:22px 0 15px}.lead{font-size:11px;line-height:1.95}.envelope{width:min(100%,350px);height:auto;aspect-ratio:430/266;margin-top:44px;margin-bottom:24px}.envelope-flap{height:56.4%}.seal{width:60px;height:60px;left:calc(50% - 30px);top:38%}.seal>span{font-size:22px}.envelope-wordmark{top:21px;font-size:9px;letter-spacing:3px}.envelope-bottom{font-size:6px;left:17px;right:17px;bottom:17px}.text-open{font-size:12px}.hint{font-size:9px;margin-bottom:30px}.event-strip{gap:25px;padding-top:22px}.event-strip small{font-size:6px;letter-spacing:1.2px}.event-strip span{font-size:9px;letter-spacing:.4px}footer{flex-direction:column;align-items:center;text-align:center;padding:22px;gap:9px;font-size:7px}.reveal h2{font-size:29px}.ticket{padding:22px}.qualification{font-size:8px}.ticket-title{font-size:37px}.ticket-title em{font-size:43px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.envelope-fold{z-index:2}.envelope-bottom{z-index:2}.ticket-title em{font-style:normal;font-weight:300}.letter-peek{font-family:BMW,Arial,sans-serif}

/* Original course photograph extracted from the supplied Illustrator artwork. */
:root{--bg:#173c1e;--ink:#fffef7;--muted:#e2eadc;--gold:#f0dfb8;--line:#ffffff45}
body{background:#173c1e;isolation:isolate}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(5,22,10,.30) 0%,rgba(10,32,13,.27) 42%,rgba(5,22,10,.66) 100%),url('./assets/golf-course.jpg') center 38% / cover no-repeat}
header{background:linear-gradient(180deg,#061a1566,transparent);border-bottom-color:#ffffff40}
h1,h2{color:#fffef8;text-shadow:0 2px 22px #06220ba6}
h1 em,h2 em{color:#fff0cd}
.eyebrow,.edition{color:#fff0cc;text-shadow:0 1px 10px #082408}
.lead{color:#f2f5e9;text-shadow:0 1px 12px #072509}
.envelope{filter:drop-shadow(0 25px 30px #08210b88)}
.hint,.event-strip small{color:#dbe8d4;text-shadow:0 1px 10px #072509}
.event-strip{border-top-color:#ffffff55}
.event-strip span,.text-open{color:#fffef7;text-shadow:0 1px 8px #082408}
footer{background:#102615ba;color:#d6e2ce;border-top-color:#ffffff30}
.actions button{background:#112c1ccf;border-color:#dce8d060;backdrop-filter:blur(8px)}
.qualification{color:#e6eddf;text-shadow:0 1px 8px #071e0d}
.guide{background:#102c1eee;backdrop-filter:blur(12px)}
.replay{color:#fff0cc;text-shadow:0 1px 10px #051b0b}
@media(max-width:600px){body:before{background-position:32% center}.lead{line-height:1.95}header{background:#0b27194a}}

/* Supplied anniversary lockups: preserve proportions and original colors. */
.anniversary-header{display:block;width:72px;height:auto;object-fit:contain;flex-shrink:0}
.anniversary-ticket{position:absolute;right:0;top:8px;width:67px;height:auto;object-fit:contain}
@media(max-width:600px){header{height:90px}.anniversary-header{width:57px}.anniversary-ticket{width:58px;top:10px}.ticket-title{padding-right:70px}}

.bavarian-logo{display:block;width:290px;height:auto}.brand{max-width:70%}@media(max-width:600px){.bavarian-logo{width:215px;max-width:100%}}

.experience-cta{display:flex;align-items:center;justify-content:space-between;max-width:386px;margin:0 auto 12px;background:#eee8da;color:#203329;padding:16px 20px;font-size:13px;font-weight:500}.experience-cta:hover{background:#fff6e4}.experience-cta:focus-visible{outline:2px solid white;outline-offset:4px}

.intro-experience{margin:0 auto 28px;max-width:430px}

.destination-invite{max-width:640px;margin:16px auto 0;font-size:13px;line-height:1.8;color:#fff0cd;text-wrap:balance;word-break:keep-all;text-shadow:0 1px 12px #082408}@media(max-width:600px){.destination-invite{max-width:320px;font-size:11px;margin-top:14px}}

.destination-premium{margin:22px auto 0;font-size:15px;font-weight:500;line-height:1.7;color:#fff0cd;text-shadow:0 1px 12px #082408;word-break:keep-all}.destination-premium+.destination-invite{margin-top:5px}@media(max-width:600px){.destination-premium{font-size:12px;margin-top:18px}}
