@font-face{font-family:Poppins;src:url('assets/Poppins-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('assets/Poppins-SemiBold.ttf') format('truetype');font-weight:600 800;font-display:swap}
:root{--green:#063c2d;--deep:#052e24;--cream:#faf8f0;--gold:#ad8427;--line:#ddd6bd;--muted:#537065;font-family:Poppins,Arial,sans-serif;font-synthesis:none;color:var(--green);background:var(--cream)}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #ad8427;outline-offset:7px}button{touch-action:manipulation}[hidden]{display:none!important}img{display:block;max-width:100%}.eyebrow{font-size:.875rem;letter-spacing:.24em;font-weight:600}.envelope-scene{min-height:100svh;display:flex;align-items:center;flex-direction:column;justify-content:center;overflow:hidden;padding:38px 24px 28px;background:radial-gradient(ellipse at 50% 60%,#e9e1c9 0,rgba(237,231,212,.35) 35%,transparent 65%),var(--cream)}.intro{text-align:center;z-index:2}.intro h1{font-size:clamp(1.65rem,3.8vw,2.55rem);font-weight:400;line-height:1.3;letter-spacing:-.045em;margin:16px 0 0}.envelope-wrap{width:min(720px,88vw);margin:16px auto 0;perspective:1200px}.envelope-button{display:block;position:relative;width:100%;padding:0;border:0;background:none;color:#f6e0a0;transform:translateY(0);transition:transform .4s ease;filter:drop-shadow(0 30px 22px #052e2425)}.envelope-button:hover{transform:translateY(-7px)}.envelope-button:active{transform:translateY(-2px)}.envelope-art{width:100%;height:auto;pointer-events:none}.recipient{position:absolute;left:15%;right:15%;top:70%;display:flex;flex-direction:column;gap:5px;align-items:center;pointer-events:none;text-align:center}.recipient-label{font-size:clamp(.7rem,1.4vw,.8rem);letter-spacing:.2em;color:#efdfaebf}.recipient-name{font-size:clamp(1.25rem,3vw,1.9rem);line-height:1.25;max-width:100%;overflow-wrap:anywhere;font-weight:400;text-shadow:0 1px 2px #0005}.open-hint{font-size:.9rem;letter-spacing:.04em;margin:12px 0 32px;color:#536458}.cover-details{display:flex;gap:22px;justify-content:center;align-items:center;font-size:.82rem;letter-spacing:.12em;font-weight:600}.divider{width:1px;height:18px;background:#bca363}.cover-footer{font-size:.875rem;color:#5c7167;margin:17px 0 0}.opening .envelope-button{animation:envelope-open 1.1s cubic-bezier(.4,0,.25,1) forwards;pointer-events:none}.opening .open-hint,.opening .intro,.opening .cover-details,.opening .cover-footer{opacity:0;transition:opacity .5s}.opening .envelope-button:after{content:"";position:absolute;inset:10%;background:radial-gradient(ellipse,rgba(255,228,145,.6),transparent 55%);mix-blend-mode:screen;pointer-events:none;animation:seal-light .8s ease forwards}@keyframes envelope-open{0%{transform:translateY(0) scale(1);opacity:1}30%{transform:translateY(-10px) scale(1.035);opacity:1}100%{transform:translateY(120px) scale(.92) rotateX(16deg);opacity:0}}@keyframes seal-light{0%{opacity:0}50%{opacity:1}100%{opacity:0}}.view-header{width:min(1080px,100%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:28px 28px 22px}.text-button{display:flex;align-items:center;gap:10px;font-size:.875rem;padding:8px 0;border:0;background:none;color:var(--green)}.text-button span{font-size:1.25rem}.header-brand{font-size:.875rem;letter-spacing:.12em}.header-brand b{font-weight:600;letter-spacing:.16em}.invitation-view{min-height:100svh;background:linear-gradient(135deg,#e6ece6,var(--cream) 45%,#eee4c7);padding-bottom:40px;animation:reveal-letter .75s ease both}.letter-wrap{width:min(700px,calc(100% - 40px));margin:0 auto}.letter-recipient{font-size:.875rem;letter-spacing:.12em;text-align:center;margin:8px 0 20px;color:#456353}.invitation-artwork{box-shadow:0 25px 75px #123c2b25;border:1px solid #fdfaf2;overflow:hidden}.invitation-artwork img{width:100%;height:auto}.invitation-actions{text-align:center;padding:30px 0 0}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:26px;text-decoration:none;min-height:54px;font-size:.9375rem;padding:16px 27px;border-radius:3px;line-height:1.5}.primary-button{border:1px solid var(--green);background:var(--green);color:#fffbed;box-shadow:0 6px 18px #063c2d16}.primary-button:hover{background:#0a513c}.primary-button span{color:#f0d587;font-size:1.3rem}.invitation-actions p{font-size:.8125rem;color:var(--muted);margin:23px 0 0}.programme-view{max-width:1120px;margin:0 auto;min-height:100svh;padding-bottom:28px;animation:reveal-letter .45s ease both}.programme-heading{padding:36px 44px 34px}.programme-heading h2{font-size:clamp(2.3rem,5vw,4rem);font-weight:600;line-height:1.15;letter-spacing:-.055em;margin:20px 0 18px}.programme-heading h2 span{font-weight:400}.programme-heading p{color:var(--muted);font-size:1rem;margin:0}.day-switch{display:flex;gap:5px;margin:0 44px;border-bottom:1px solid #c9d1c6}.day-switch button{border:0;background:none;color:#426355;padding:17px 20px;font-size:.9375rem;border-bottom:3px solid transparent;position:relative;top:1px}.day-switch button[aria-selected=true]{border-bottom-color:var(--green);font-weight:600;color:var(--green)}.day-panel{margin:0 44px}.day-title{display:flex;align-items:center;gap:28px;padding:35px 0 30px}.day-number{font-weight:400;font-size:4.5rem;letter-spacing:-.08em;line-height:1;color:#b0924a}.day-title .eyebrow{font-size:.8rem}.day-title h3{font-size:1.4rem;line-height:1.35;letter-spacing:-.04em;margin:6px 0 0;font-weight:600}.schedule{list-style:none;padding:0;margin:0}.schedule li{display:grid;grid-template-columns:132px 1fr;gap:25px;border-top:1px solid var(--line);padding:22px 0}.session-time{font-size:.875rem;color:#3d5d4f;padding-top:4px;font-variant-numeric:tabular-nums;white-space:nowrap}.session-copy h4{font-size:1.05rem;font-weight:600;line-height:1.5;letter-spacing:-.015em;margin:0}.session-copy p{font-size:.9375rem;line-height:1.7;color:#537065;margin:6px 0 0}.session-host{display:block;font-size:.8125rem;color:#567061;margin-top:7px}.programme-footer{border-top:1px solid var(--line);margin:12px 44px 0;padding:34px 0 0;text-align:center}.secondary-button{color:var(--green);border:1px solid #65826f;background:transparent}.secondary-button:hover{background:#e8ece2}.programme-footer p{font-size:.875rem;color:var(--muted);margin:26px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.noscript{position:fixed;bottom:0;background:#fff6dc;border-top:1px solid #c5b57e;padding:20px;width:100%;text-align:center}@keyframes reveal-letter{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.envelope-scene{padding:35px 14px 30px}.intro .eyebrow{font-size:.75rem;letter-spacing:.16em}.intro h1{margin-top:17px}.envelope-wrap{width:min(105vw,650px);margin:35px -12px 0}.open-hint{margin-top:20px;margin-bottom:38px;font-size:.875rem}.cover-details{flex-direction:column;gap:10px;font-size:.8125rem;letter-spacing:.12em}.divider{display:none}.cover-footer{font-size:.8rem;text-align:center;margin-top:25px}.recipient{top:70%;gap:4px}.recipient-label{font-size:.7rem}.recipient-name{font-size:1.35rem}.view-header{padding:18px 20px}.header-brand{font-size:.75rem;white-space:nowrap}.text-button{font-size:.8125rem;gap:6px}.letter-wrap{width:calc(100% - 24px)}.letter-recipient{font-size:.8125rem;margin:8px 0 16px}.invitation-actions{padding-top:23px}.primary-button{width:calc(100% - 20px)}.invitation-actions p{font-size:.75rem;line-height:1.8}.programme-heading{padding:30px 24px}.programme-heading p{font-size:.9375rem;line-height:1.7}.day-switch{margin:0 20px;gap:0}.day-switch button{font-size:.8125rem;padding:16px 12px;flex:1}.day-panel{margin:0 24px}.day-title{gap:23px;padding-top:32px}.day-number{font-size:3.8rem}.day-title h3{font-size:1.2rem}.day-title .eyebrow{font-size:.75rem}.schedule li{grid-template-columns:1fr;gap:7px;padding:20px 0}.session-time{font-size:.8125rem;font-weight:600;color:#8a712e;padding:0}.session-copy h4{font-size:1rem}.session-copy p{font-size:.9375rem}.programme-footer{margin:12px 24px 0}.secondary-button{font-size:.875rem;padding:14px 18px;gap:16px;width:100%}}
.producer{text-align:center;font-size:.8125rem;line-height:1.7;color:#496658;margin:24px 0 0;font-weight:600}.producer span{font-weight:400}.opening .producer{opacity:0;transition:opacity .5s}
@media(max-width:600px){.producer{font-size:.75rem;max-width:300px;margin:22px auto 0}.producer span{display:block}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.envelope-button:hover{transform:none}}
