@font-face{font-family:Be Vietnam Pro;src:url("assets/be-vietnam-pro.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Lora;src:url("assets/lora.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Lora;src:url("assets/lora-italic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}
:root{color-scheme:light;--blue:#134d91;--navy:#10346a;--ink:#253d58;--gold:#d1a450;--ivory:#fffdf5;--paper-scale:1;--paper-width:840px;--paper-height:980px;font-family:Be Vietnam Pro,Arial,sans-serif;font-synthesis:weight}
*{box-sizing:border-box}body{margin:0;background:#17457d;color:var(--ink);min-width:280px;min-height:100svh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #f6c868;outline-offset:5px}button{touch-action:manipulation}button:disabled{cursor:default}img{max-width:100%;height:auto}p,h1,h2{margin:0}[hidden]{display:none!important}.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}
.world{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1;isolation:isolate}.garden{position:absolute;inset:-8px;background:url("assets/moonlit-garden-2026.png") center center/cover no-repeat;animation:sky-drift 22s ease-in-out infinite alternate}.moon-halo{position:absolute;right:0;top:-5%;width:33vw;height:45vh;background:radial-gradient(ellipse,#ffdb783a,transparent 66%);mix-blend-mode:screen;animation:moon-breathe 6s ease-in-out infinite}.lantern{position:absolute;object-fit:contain;transform-origin:50% 0;filter:drop-shadow(0 14px 17px #062d6055);animation:lantern-sway 6s ease-in-out infinite alternate}.lantern-left{left:3.8%;top:-5%;width:clamp(150px,16vw,250px)}.lantern-right{right:1%;top:17%;width:clamp(130px,12vw,194px);animation-delay:-3s;animation-duration:7.3s}.lantern-far{left:19%;top:-18%;width:110px;filter:blur(.5px);animation-duration:8s;animation-delay:-1s;opacity:.78}.little-celebration{position:absolute;bottom:3.2%;left:2%;width:clamp(230px,25vw,390px);animation:children-bob 5s ease-in-out infinite}.little-celebration img{display:block;filter:drop-shadow(0 20px 16px #00295b66)}.side-title{position:absolute;top:41%;left:5.5%;color:#ffe4a3;text-align:center;text-shadow:0 3px 24px #10346a;transform:rotate(-6deg)}.side-title>span{font-size:12px;letter-spacing:.38em}.side-title p{font:500 clamp(28px,3vw,46px)/1.2 Lora,serif;margin:10px 0}.side-title em{font-weight:400}.side-rule{width:70px;height:1px;background:linear-gradient(90deg,transparent,#f4d693,transparent);margin:15px auto 12px}.side-title small{font-size:10px;letter-spacing:.2em}.side-date{position:absolute;right:6%;top:61%;text-align:center;color:#ffe5b0;text-shadow:0 2px 20px #153765}.side-date>span:first-child{display:block;font:500 82px/1 Lora,serif}.side-date>span:nth-child(2){display:block;font-size:11px;letter-spacing:.22em;margin-top:8px}.side-date i{display:block;width:40px;height:1px;background:#ead093;margin:20px auto}.side-date small{font:italic 20px/1.6 Lora,serif}
.stardust{position:absolute;inset:0}.star{position:absolute;width:var(--size);height:var(--size);left:var(--x);top:var(--y);border-radius:50%;background:#ffdd89;box-shadow:0 0 7px 2px #ffe4aa80;animation:firefly var(--duration) ease-in-out var(--delay) infinite}.star:nth-child(4n){border-radius:0;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);width:8px;height:8px}.shooting-star{position:absolute;left:24%;top:7%;width:130px;height:1px;background:linear-gradient(90deg,transparent,#ffe8a7);transform:rotate(22deg);animation:shoot 13s linear infinite;opacity:0}
.topbar{height:70px;position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 38px;z-index:5;color:#fff6dc}.wordmark{display:flex;gap:14px;align-items:center}.wordmark b{font-size:19px;letter-spacing:.06em}.wordmark>span{border-left:1px solid #ffffff45;padding-left:14px;font-size:10px;letter-spacing:.16em}.view-nav{display:flex;border:1px solid #f1d49b55;background:#0c377659;backdrop-filter:blur(14px);padding:4px;border-radius:40px;gap:2px;position:absolute;left:50%;transform:translateX(-50%)}.view-nav button{border:0;border-radius:30px;background:none;color:#fff4d6;padding:10px 19px;font-size:12px;white-space:nowrap;transition:background .25s,color .25s}.view-nav button span{margin-right:5px;opacity:.6;font-size:10px}.view-nav button[aria-current=page]{background:#fff3d9;color:#153a6d;box-shadow:0 2px 8px #061d3540}.motion-toggle{width:34px;height:34px;display:grid;place-items:center;border:1px solid #f1d49b55;border-radius:50%;background:#0c377660;color:#fff1cb;font-size:15px;backdrop-filter:blur(10px)}
#experience{position:relative;perspective:2000px}.view{position:relative}.invitation-view{min-height:calc(100svh - 112px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 30px 8px;gap:23px}.paper-fit{width:calc(var(--paper-width)*var(--paper-scale));height:calc(var(--paper-height)*var(--paper-scale));flex:none;position:relative}.paper-stack{position:relative;width:var(--paper-width);transform:scale(var(--paper-scale));transform-origin:top left;isolation:isolate}.back-sheet{position:absolute;inset:0;background:linear-gradient(145deg,#408ed2,#114e99 60%,#072855);border:2px solid #bbd9e2;box-shadow:0 12px 35px #071e4866;z-index:-1;border-radius:4px}.sheet-one{transform:translate(-8px,1px) rotate(-2.3deg)}.sheet-two{transform:translate(7px,-3px) rotate(1.6deg);border-color:#d4af64}.invitation-paper{position:relative;width:780px;background:radial-gradient(ellipse at 50% 20%,#ffffff 0,transparent 75%),linear-gradient(120deg,#fdf8e9,#fffefa 48%,#f6eedb);border:12px solid #13529a;border-radius:4px;padding:29px 36px 25px;box-shadow:inset 0 0 0 2px #d3af62,inset 0 0 0 7px #fefcf4,inset 0 0 0 8px #d8bd84,0 25px 80px #001a5060;cursor:pointer;transition:box-shadow .3s}.invitation-paper:hover{box-shadow:inset 0 0 0 2px #e4bd6e,inset 0 0 0 7px #fefcf4,inset 0 0 0 8px #d8bd84,0 25px 85px #001a5060,0 0 25px #f8d27b44}.paper-corner{position:absolute;color:#c89d46;font:25px Georgia,serif;background:#fffaf0;width:23px;height:23px;line-height:23px;text-align:center}.corner-tl{top:2px;left:2px}.corner-tr{right:2px;top:2px}.corner-bl{bottom:2px;left:2px}.corner-br{bottom:2px;right:2px}.letter-head{display:flex;justify-content:space-between;gap:16px;align-items:center;color:var(--navy);font-size:10px;font-weight:700;line-height:1.7}.issuer{display:flex;align-items:center;gap:13px}.anniversary-logo{width:109px;flex:none;object-fit:contain}.issuer div{white-space:nowrap}.national{text-align:center;white-space:nowrap;font-size:9.7px}.national p:nth-child(2){font-size:10px;font-weight:400}.national>span{display:block;height:1px;width:145px;background:#7190a9;margin:7px auto 0}.issued-date{font-size:12px;font-style:italic;text-align:right;margin-top:17px;color:#46617b}.letter-title{display:flex;align-items:center;justify-content:center;gap:33px;margin:12px 0 1px}.letter-title h1{font:700 65px/1.25 Lora,serif;letter-spacing:.035em;color:#13539c;text-shadow:1px 2px 0 #f6d48c,2px 4px 0 #d3a950,3px 5px 12px #d0b57f66}.small-star{color:#bc9145;font:31px Georgia,serif}.letter-subtitle{text-align:center;font-size:10.5px;font-weight:500;letter-spacing:.25em;color:#5a7088}.gold-divider{width:220px;margin:13px auto 19px;height:1px;background:linear-gradient(90deg,transparent,#c69e4d,transparent);position:relative;text-align:center}.gold-divider span{position:relative;top:-13px;font-size:22px;color:#ba8e32;background:#fffdf8;padding:0 13px}.letter-body{font-size:15px;line-height:1.55;letter-spacing:-.015em}.intro p{margin-bottom:8px;text-indent:25px;text-align:justify}.committee{text-align:center;font-weight:750;color:#144c84;margin:15px 0 10px;font-size:14px}.salutation{font-weight:700;color:#144c84;margin:0 0 5px 25px}.guests{padding:0 0 0 43px;margin:0 0 12px;list-style:none}.guests li{position:relative;margin:2px 0}.guests li:before{content:'–';position:absolute;left:-16px;color:#967331}.attendance{text-indent:25px;margin:0 0 13px}.event-details{border-left:3px solid #c9a25b;background:linear-gradient(90deg,#e8f0f8,#eef3f660);padding:10px 15px;font-size:14px;border-radius:0 5px 5px 0;color:#13477c}.event-details p{display:flex;align-items:center;gap:10px}.event-details p+p{margin-top:5px}.detail-icon{font:24px/1 Georgia,serif;width:22px;flex:none;text-align:center}.pin-icon{font-size:26px}.letter-ending{display:flex;justify-content:space-between;gap:24px;margin-top:19px;min-height:130px}.welcome{font:italic 500 17px/1.5 Lora,serif;color:#1c5487;padding-top:9px}.signature{text-align:center;min-width:220px;font-size:12px;color:#25486d}.signature p:first-child{font-size:12px;font-weight:600}.signature p:nth-child(2){font-weight:600;margin-top:2px}.signature img{display:block;width:105px;height:81px;object-fit:contain;mix-blend-mode:multiply;margin:3px auto 0}.signature strong{display:block;font-size:14px;margin-top:1px}.paper-bottom-rule{height:1px;background:linear-gradient(90deg,transparent,#c9a35f,transparent);text-align:center;margin:14px 40px 0}.paper-bottom-rule span{color:#b68a37;background:#fcf7eb;position:relative;top:-13px;padding:0 10px;font-size:21px}
.open-program{display:flex;gap:13px;align-items:center;justify-content:center;border:1px solid #e1c384;background:linear-gradient(120deg,#fff6d9,#ead199);color:#174178;border-radius:40px;box-shadow:0 5px 20px #05295540,0 0 28px #e8c87622;padding:10px 20px;font-size:12px;font-weight:500;flex:none;position:relative;transition:transform .2s,box-shadow .2s}.open-program:hover{transform:translateY(-2px);box-shadow:0 7px 24px #05295560,0 0 30px #fbd57355}.open-program>span:last-child{font-size:22px;line-height:1}.touch-orbit{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid #a47d36;border-radius:50%;animation:touch-pulse 3s ease-in-out infinite;font-size:16px}.site-footer{min-height:42px;padding:10px 38px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#fff2d0;font-size:10px;letter-spacing:.12em}.site-footer i{margin:0 10px;font-style:normal}.site-footer a{font-size:11px;letter-spacing:0;padding:6px 0}.site-footer a:hover{text-decoration:underline}
.program-view{min-height:calc(100svh - 112px);padding:16px 32px 20px;display:flex;justify-content:center;align-items:center}.program-card{width:min(100%,1000px);border:1px solid #ebcd8f;border-radius:12px;background:#fffdf6;box-shadow:0 30px 90px #031c5366,0 0 0 5px #125092,0 0 0 6px #dab979;overflow:hidden}.program-header{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:26px 38px 24px;background:radial-gradient(ellipse at 90% 0,#327cbb70,transparent 70%),#104581;color:#fff5dc;border-bottom:3px solid #d5af64;position:relative}.program-eyebrow{font-size:10px;letter-spacing:.25em;color:#f0d29b;margin-bottom:9px}.program-header h2{font:500 37px/1.25 Lora,serif;letter-spacing:-.02em}.program-header h2 br{display:none}.program-header h2 em{color:#ffe1a3;font-weight:500;padding-left:10px}.program-date{font-size:12px;margin-top:13px;color:#dae8f8}.program-logo{padding:13px 16px;background:#fffcf2;border:1px solid #dfc58d;border-radius:7px;flex:none;transform:rotate(3deg);box-shadow:0 5px 15px #001b4a25}.program-logo img{display:block;width:135px}.agenda-scroll{overflow:auto;max-height:calc(100svh - 367px);min-height:200px;scrollbar-width:thin;scrollbar-color:#bba069 #f5efdF;overscroll-behavior:contain}.agenda{width:100%;border-collapse:collapse;font-size:14px;line-height:1.55;text-align:left}.agenda thead{position:sticky;top:0;z-index:1;background:#f4ebd7}.agenda th{padding:10px 20px;color:#75633e;font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:500}.agenda td{padding:11px 20px;border-bottom:1px solid #e9e5dc}.agenda th:first-child,.agenda td:first-child{width:65px;text-align:center;padding-left:27px;color:#9c8b6a;font:12px/1.6 Lora,serif}.agenda th:nth-child(2),.agenda td:nth-child(2){width:170px;white-space:nowrap}.agenda td:nth-child(2){font-size:13px;color:#17538a;font-weight:600}.agenda td:last-child{padding-right:38px}.agenda td p+p{margin-top:4px}.agenda tr:last-child td{border-bottom:0}.agenda tbody tr:nth-child(even){background:#f1f5f8}.agenda tbody tr:nth-child(6),.agenda tbody tr:nth-child(7){background:#fbf2de}.agenda tbody tr{transition:background .25s}.agenda tbody tr:hover{background:#e8f0f6}.program-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 34px;border-top:1px solid #d6c5a2;background:#fcf8ef;color:#214b78}.program-footer button{border:0;background:none;color:inherit;padding:5px 0;font-size:12px}.program-footer button span{margin-right:9px}.program-footer a{font-size:11px;padding:8px 0}.program-footer a:hover{text-decoration:underline}body[data-view=program] .little-celebration{opacity:.35;transition:opacity .4s}body[data-view=program] .side-title,body[data-view=program] .side-date{opacity:0;transition:opacity .3s}
.page-in{animation:page-arrival .85s cubic-bezier(.2,.65,.2,1) both}.click-spark{position:fixed;pointer-events:none;background:#ffe4a2;z-index:20;border-radius:1px;width:5px;height:5px;box-shadow:0 0 8px #ffdf87}.noscript{position:fixed;inset:25% 10% auto;background:white;padding:25px;border:4px solid #d5af64;z-index:100;font-size:18px;line-height:1.7}.noscript a{text-decoration:underline}
@keyframes sky-drift{from{transform:scale(1.015) translate(0,0)}to{transform:scale(1.04) translate(-4px,3px)}}@keyframes moon-breathe{50%{opacity:.4;transform:scale(1.08)}}@keyframes lantern-sway{from{transform:rotate(-5deg)}to{transform:rotate(5deg)}}@keyframes children-bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}@keyframes firefly{0%,100%{opacity:0;transform:translate(0,15px) scale(.6)}45%{opacity:.9}65%{opacity:.65;transform:translate(15px,-20px) scale(1)}}@keyframes shoot{0%,80%,100%{opacity:0;transform:translate(0,0) rotate(22deg)}81%{opacity:.8}86%{opacity:0;transform:translate(430px,180px) rotate(22deg)}}@keyframes touch-pulse{50%{box-shadow:0 0 0 6px #be955718}}@keyframes page-arrival{from{opacity:0;transform:translateY(28px) rotateX(5deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}
.motion-paused *,.motion-paused *:before,.motion-paused *:after,.tab-hidden *{animation-play-state:paused!important}.motion-paused .star{opacity:.45}
@media(min-width:1800px){.side-title{left:10%;top:40%}.little-celebration{left:5%;bottom:5%}.side-date{right:11%}}
@media(max-width:1100px){.side-title{left:3%;top:43%}.side-title p{font-size:30px}.side-title>span{font-size:10px}.side-title small{font-size:8px}.little-celebration{left:-2%;width:235px}.side-date{right:4%}.side-date>span:first-child{font-size:60px}.side-date small{font-size:17px}.wordmark>span{display:none}.lantern-left{left:-3%}.lantern-right{right:-4%}}
@media(max-width:760px){.topbar{padding:0 18px;height:64px;gap:10px}.wordmark b{font-size:14px}.view-nav{position:static;transform:none;margin-left:auto}.view-nav button{padding:9px 12px;font-size:11px}.view-nav button span{display:none}.motion-toggle{width:30px;height:30px;flex:none}.world .side-title,.world .side-date,.lantern-far{display:none}.lantern-left{width:105px;left:-20px;top:28px;opacity:.9}.lantern-right{width:95px;right:-23px;top:65px;opacity:.85}.little-celebration{width:170px;left:-35px;bottom:-20px;opacity:.7}.garden{background-position:64% center}.moon-halo{width:70vw;height:40vh}.invitation-view{min-height:calc(100svh - 120px);padding:26px 16px 14px;gap:24px}.paper-fit{width:100%;height:auto!important;max-width:580px}.paper-stack{width:100%;transform:none!important}.invitation-paper{width:100%;padding:25px 24px 25px;border-width:7px;cursor:pointer}.sheet-one{transform:translate(-2px,0) rotate(-1.2deg)}.sheet-two{transform:translate(2px,-2px) rotate(1deg)}.letter-head{flex-direction:column;gap:16px;font-size:10px;line-height:1.7}.issuer{gap:12px;justify-content:center}.anniversary-logo{width:94px}.national{font-size:9px;line-height:1.8}.national p:nth-child(2){font-size:10px}.national>span{margin-top:4px}.issued-date{font-size:10px;margin-top:20px;text-align:center}.letter-title{gap:13px;margin-top:14px}.letter-title h1{font-size:clamp(36px,8.7vw,51px);letter-spacing:0}.small-star{font-size:20px}.letter-subtitle{font-size:8px;line-height:1.6;letter-spacing:.14em;margin-top:6px}.gold-divider{width:160px;margin:17px auto 23px}.letter-body{font-size:14px;line-height:1.75;letter-spacing:0}.intro p{text-align:left;text-indent:0;margin-bottom:13px}.committee{font-size:12px;line-height:1.75;margin:19px 0 14px}.salutation{margin-left:0}.guests{padding-left:16px;margin:8px 0 17px}.guests li{margin:7px 0}.attendance{text-indent:0}.event-details{padding:11px 12px;font-size:12px;line-height:1.7;margin-top:19px}.event-details p{align-items:flex-start;gap:6px}.event-details .detail-icon{font-size:21px;margin-top:2px;width:18px}.letter-ending{flex-direction:column;align-items:center;gap:22px;margin-top:24px}.welcome{font-size:15px;text-align:center;padding:0}.signature{font-size:11px}.signature p:first-child{font-size:11px}.signature strong{font-size:13px}.signature img{width:100px;height:auto}.paper-bottom-rule{margin-top:22px}.open-program{font-size:11px;padding:9px 12px;gap:8px;max-width:100%;line-height:1.5}.touch-orbit{width:22px;height:22px;flex:none}.site-footer{padding:15px 18px;min-height:56px;font-size:8px;letter-spacing:.06em;position:relative}.site-footer i{margin:0 3px}.site-footer a{font-size:10px}.program-view{padding:23px 16px 16px;min-height:calc(100svh - 120px);align-items:flex-start}.program-card{border-radius:7px}.program-header{padding:23px 22px;gap:10px;align-items:flex-start}.program-header h2{font-size:clamp(24px,5.5vw,32px);line-height:1.35}.program-header h2 br{display:block}.program-header h2 em{padding:0;display:block}.program-eyebrow{font-size:8px;line-height:1.7;letter-spacing:.17em}.program-date{font-size:10px;line-height:1.7;max-width:220px}.program-logo{padding:6px;width:75px;margin-top:8px}.program-logo img{width:100%}.agenda-scroll{max-height:none;overflow:visible;min-height:0}.agenda{font-size:12px;line-height:1.75}.agenda thead{position:static}.agenda th{font-size:8px;padding:9px 7px}.agenda th:first-child,.agenda td:first-child{width:24px;font-size:10px;padding:12px 6px 12px 12px}.agenda th:nth-child(2),.agenda td:nth-child(2){width:81px;white-space:normal;font-size:11px;padding:12px 7px;line-height:1.7}.agenda td:nth-child(2) span{display:block}.agenda td{padding:12px 8px;vertical-align:top}.agenda td:last-child{padding-right:12px}.program-footer{padding:14px 16px;gap:8px}.program-footer button,.program-footer a{font-size:10px}.program-footer button span{margin-right:3px}body[data-view=program] .little-celebration{opacity:.45}}
@media(max-width:360px){.topbar{padding:0 12px}.view-nav button{padding:9px}.invitation-paper{padding:23px 17px}.issuer{gap:9px;font-size:8px}.anniversary-logo{width:75px}.national{font-size:8px}.national p:nth-child(2){font-size:9px}.open-program{font-size:10px}.site-footer{padding:13px 15px}.program-header{padding:21px 16px}.program-logo{width:60px}.program-header h2{font-size:22px}.program-eyebrow{font-size:7px}.agenda td:nth-child(2){width:73px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.star{opacity:.35}}
@media print{body{background:white}.world,.topbar,.site-footer,.open-program{display:none}.invitation-view{padding:0;display:block}.paper-fit,.paper-stack{width:100%!important;height:auto!important;transform:none!important}.invitation-paper{width:100%;box-shadow:none}.back-sheet{display:none}.program-view{padding:0}.program-card{box-shadow:none}.agenda-scroll{max-height:none;overflow:visible}.program-footer{display:none}}

/* Readable desktop sheet with compact formal heading and generous surrounding artwork. */
#program-title:focus{outline:none}
@media(min-width:761px){
 .invitation-paper{width:840px;padding:23px 38px 20px}
 .letter-body{font-size:16px;line-height:1.46}
 .anniversary-logo{width:98px}.letter-head{font-size:10px}.national{font-size:9px}
 .issued-date{margin-top:12px}.letter-title{margin-top:8px}.letter-title h1{font-size:58px;line-height:1.15}
 .gold-divider{margin:13px auto 17px}.intro p{margin-bottom:7px}
 .committee{font-size:14px;margin:13px 0 9px}.guests{margin-bottom:10px}.guests li{margin:1px 0}
 .letter-ending{margin-top:15px;min-height:118px}.signature img{width:87px;height:67px}.signature strong{font-size:13px}
 .signature p:first-child{font-size:11px}.paper-bottom-rule{margin-top:10px}
 .site-footer{height:42px;padding:4px 38px}
}
@media(min-width:761px) and (max-height:800px){
 .little-celebration{width:210px;bottom:2%}.side-title{top:37%}.side-title p{font-size:31px}
 .side-date{top:64%}.side-date>span:first-child{font-size:58px}.side-date i,.side-date small{display:none}
 .lantern-left{width:170px}.lantern-right{width:130px}
}

/* Three-scene invitation: the envelope is the entrance to the letter. */
.view-nav button:disabled{opacity:.46;cursor:default}
.cover-view{min-height:calc(100svh - 112px);display:grid;place-items:center;padding:14px 24px 25px;overflow:hidden}
.cover-content{width:min(100%,690px);text-align:center;color:#fff2ce;position:relative}
.cover-eyebrow{font-size:10px;letter-spacing:.26em;color:#ffedbf;margin-bottom:15px}
.cover-content h1{font:500 clamp(38px,4.2vw,62px)/1.16 Lora,serif;text-shadow:0 4px 24px #08244c55}
.cover-content h1>span{font-size:.49em;letter-spacing:.11em;display:inline-block;margin-bottom:8px}
.cover-content h1 em{font-weight:400;color:#ffe09d}
.cover-dedication{font:italic 15px/1.6 Lora,serif;margin-top:14px;color:#f3e9cc}
.cover-date{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:22px;letter-spacing:.18em;font-size:11px;color:#ffe7b2}
.cover-date i{width:26px;height:1px;background:#f4d59b99}
.envelope-stage{position:relative;width:min(100%,540px);margin:60px auto 0;perspective:1400px}
.envelope-button{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;color:inherit;perspective:1400px}
.envelope{position:relative;display:block;width:100%;aspect-ratio:1.65;isolation:isolate;transform-style:preserve-3d;filter:drop-shadow(0 20px 25px #03265755);animation:envelope-float 5.5s ease-in-out infinite}
.envelope-button:hover .envelope{filter:drop-shadow(0 23px 28px #03265788) drop-shadow(0 0 16px #efd18a30)}
.envelope-shadow{position:absolute;left:10%;right:10%;bottom:15px;height:45px;background:#072a54;filter:blur(22px);border-radius:50%;opacity:.4;animation:envelope-shadow 5.5s ease-in-out infinite}
.envelope-back,.envelope-pocket,.envelope-flap,.envelope-fold,.envelope-border{position:absolute;inset:0;display:block;border-radius:9px}
.envelope-back{z-index:1;background:linear-gradient(150deg,#103968,#2074ba 65%,#174d88);box-shadow:inset 0 0 0 2px #d1b277,inset 0 0 30px #041e4866}
.letter-peek{position:absolute;inset:6% 6% 4%;z-index:2;display:flex;flex-direction:column;align-items:center;padding:18px;background:linear-gradient(130deg,#f8edce,#fffdf7 50%,#f6e9ce);border:1px solid #dbc18b;border-radius:4px;color:#194c80;box-shadow:0 0 0 5px #fcf8e7,inset 0 0 0 3px #fffcf5,inset 0 0 0 4px #d9bb7c;will-change:transform}
.letter-peek img{width:70px;margin:0 0 8px}.letter-peek small{font-size:9px;letter-spacing:.13em}.letter-peek b{font:500 27px/1.3 Lora,serif;margin:8px 0}.letter-peek i{font-style:normal;font-size:10px;letter-spacing:.1em}
.inner-light{position:absolute;inset:-20% -10% 15%;background:radial-gradient(ellipse,#ffeac588,transparent 65%);opacity:0;z-index:3;pointer-events:none;mix-blend-mode:screen}
.envelope-pocket{z-index:3;background:linear-gradient(160deg,#2874b5,#104580 80%);clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%)}
.envelope-fold{z-index:4}.fold-left{background:linear-gradient(128deg,#438dc6,#1c609e 65%,#3d80b5);clip-path:polygon(0 0,51% 54%,0 100%)}.fold-right{background:linear-gradient(230deg,#4188bf,#1c5c99 65%,#3b7fb3);clip-path:polygon(100% 0,49% 54%,100% 100%)}
.envelope-border{z-index:5;inset:9px;border:1px solid #e5c68899;pointer-events:none}
.envelope-border:after{content:'✧';position:absolute;bottom:10px;left:calc(50% - 10px);width:20px;font:20px Georgia,serif;color:#edcf8e}
.envelope-flap{z-index:6;background:linear-gradient(170deg,#3a87c4 0,#17568f 55%,#0f396b 100%);clip-path:polygon(0 0,100% 0,50% 58%);transform-origin:center top;backface-visibility:visible;will-change:transform;box-shadow:inset 0 2px #e8cf91}
.flap-border{display:block;position:absolute;inset:9px;background:#e2c284;clip-path:polygon(0 0,50% 54.5%,100% 0,100% .55%,50% 55.1%,0 .55%)}
.flap-monogram{position:absolute;top:11%;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.26em;color:#f5dda3}
.envelope-inscription{position:absolute;z-index:7;top:69%;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:8px;color:#ffe5a8;pointer-events:none}
.envelope-inscription b{font:italic 31px/1 Lora,serif;font-weight:400;text-shadow:0 2px 5px #0a2d5580}.envelope-inscription small{font-size:8px;letter-spacing:.22em}
.seal{display:grid;place-items:center;position:absolute;left:calc(50% - 38px);top:calc(54% - 38px);width:76px;height:76px;z-index:8;border-radius:50%;background:conic-gradient(from 10deg,#f8e7aa,#b68032,#f2d790,#c99a4c,#fff1bc,#c58e35,#f8e7aa);box-shadow:0 6px 12px #05244666,inset 0 0 0 2px #f0d299,inset 0 0 0 5px #c39a54;overflow:hidden}
.seal-face{display:flex;flex-direction:column;align-items:center;justify-content:center;width:60px;height:60px;border:1px solid #a17736;border-radius:50%;background:radial-gradient(circle at 30% 20%,#ffedb8,#d4a652);color:#725017;text-shadow:0 1px #fff1c0}.seal-face b{font:500 31px/1 Lora,serif}.seal-face small{font-size:8px;letter-spacing:.2em;margin-top:3px}.seal-glint{position:absolute;inset:-70%;background:linear-gradient(100deg,transparent 40%,#fff4ce99 50%,transparent 60%);transform:translateX(-80%) rotate(20deg);animation:seal-shimmer 6s ease-in-out infinite}
.open-hint{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:30px;font-size:12px;letter-spacing:.06em;color:#fff3cf}.open-hint>span{font-size:20px;color:#efcf86;animation:touch-pulse 3s ease-in-out infinite}
.envelope-stage.is-opening .envelope,.envelope-stage.is-opening .envelope-shadow{animation-play-state:paused}.envelope-stage.is-opening .open-hint{opacity:0;transition:opacity .2s}
@keyframes envelope-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}
@keyframes envelope-shadow{50%{transform:scaleX(.92);opacity:.28}}
@keyframes seal-shimmer{0%,62%{transform:translateX(-80%) rotate(20deg)}82%,100%{transform:translateX(80%) rotate(20deg)}}

/* Two formal heading blocks, with the approved logo in its own far-left column. */
.letter-head{display:grid;grid-template-columns:84px minmax(0,1fr) minmax(0,1.12fr);gap:16px;align-items:start;color:#15354f;font-family:"Times New Roman",serif}
.letter-head>.anniversary-logo{grid-column:1;grid-row:1;width:84px;justify-self:start;align-self:center}
.issuer,.national{display:block;text-align:center;white-space:nowrap;font-size:15px;font-weight:700;line-height:1.75}
.issuer{grid-column:2;grid-row:1}.national{grid-column:3;grid-row:1}
.national p:nth-child(2){font-size:15px;font-weight:700}
.issuer>span,.national>span{display:block;height:1px;width:88%;background:#526a7b;margin:2px auto 0}
/* A faint rendering of the supplied event PDF sits beneath the text on the original gold paper. */
.invitation-paper{isolation:isolate}
.invitation-paper:before{content:"";position:absolute;z-index:-1;pointer-events:none;left:2%;right:2%;top:50%;aspect-ratio:1800/1052;transform:translateY(-50%);background:url("assets/event-backdrop-2026.png") center/contain no-repeat;opacity:.16;filter:blur(.65px) saturate(.85);mask-image:radial-gradient(ellipse at center,#000 35%,#000b 60%,transparent 78%)}
.signature{min-width:190px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.signature p:first-child,.signature p:nth-child(2),.signature strong{font-weight:700}
.signature img{width:130px;height:101px;margin:0;object-fit:contain;mix-blend-mode:multiply}
.letter-ending{min-height:105px;align-items:center}.welcome{padding:0}
.drummer-celebration{position:absolute;bottom:3%;right:2%;width:clamp(240px,24vw,360px);animation:children-bob 5.8s ease-in-out -2s infinite}
.drummer-celebration img{display:block;filter:drop-shadow(0 18px 16px #00295b66)}
.side-date{top:41%;right:8%}.side-date i{margin:12px auto}.side-date small{font-size:17px}.side-date>span:first-child{font-size:65px}
.side-title{top:35%}.little-celebration{width:clamp(240px,26vw,390px);bottom:3%}
.paper-mascots{display:none}
body[data-view=cover] .side-title,body[data-view=cover] .side-date{opacity:0}
body[data-view=program] .little-celebration,body[data-view=program] .drummer-celebration{opacity:1}
@media(min-width:1800px){.drummer-celebration{right:5%;width:390px}.side-date{right:12%}.little-celebration{width:410px}}
@media(min-width:761px) and (max-width:1100px){.little-celebration{width:210px;left:-2%}.drummer-celebration{width:210px;right:-2%}.side-title{left:1%;top:35%}.side-title p{font-size:26px}.side-date{right:3%;top:40%}.side-date small{display:none}.cover-content{max-width:590px}.envelope-stage{max-width:500px}}
@media(min-width:761px) and (max-height:800px){.cover-content h1{font-size:42px}.cover-eyebrow{margin-bottom:8px}.cover-dedication{margin-top:8px}.envelope-stage{width:460px;margin-top:46px}.cover-date{margin-top:16px}.open-hint{margin-top:20px}.cover-view{padding:5px 24px 22px}.little-celebration,.drummer-celebration{width:225px}.side-date{top:40%}.side-title{top:32%}}
@media(max-width:760px){
 .wordmark>span{display:none}.view-nav button{font-size:10px;padding:9px 10px}.topbar{padding:0 12px;gap:8px}.wordmark b{font-size:13px}
 .cover-view{padding:22px 23px 180px;min-height:calc(100svh - 120px);align-items:start}
 .cover-eyebrow{font-size:8px;line-height:1.8;letter-spacing:.14em;margin-bottom:12px}.cover-content h1{font-size:34px}.cover-content h1>span{font-size:22px}.cover-dedication{font-size:12px;margin-top:12px}
 .envelope-stage{max-width:440px;margin-top:45px}.envelope{aspect-ratio:1.58}.seal{width:56px;height:56px;left:calc(50% - 28px);top:calc(54% - 28px)}.seal-face{width:44px;height:44px}.seal-face b{font-size:24px}.seal-face small{font-size:6px}.flap-monogram{font-size:8px}.envelope-inscription{gap:6px}.envelope-inscription b{font-size:25px}.envelope-inscription small{font-size:6px;letter-spacing:.16em}.envelope-border:after{bottom:4px;font-size:14px}.envelope-border{inset:7px}.letter-peek{padding:12px}.letter-peek img{width:50px;margin-bottom:5px}.letter-peek small{font-size:7px}.letter-peek b{font-size:20px;margin:5px 0}.letter-peek i{font-size:8px}.open-hint{margin-top:22px;font-size:11px;gap:10px}.cover-date{font-size:10px;margin-top:16px}
 .little-celebration{width:170px;bottom:55px;left:-6px;opacity:1}.drummer-celebration{width:166px;bottom:55px;right:-4px}
 body:not([data-view=cover]) .little-celebration,body:not([data-view=cover]) .drummer-celebration{display:none}
 .paper-mascots{display:flex;justify-content:space-between;align-items:flex-end;width:min(100%,560px);height:108px;position:relative;z-index:1;pointer-events:none;margin-top:-10px;margin-bottom:-24px}
 .paper-mascots img{display:block;width:auto;height:132px;max-width:48%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 6px 8px #06295244);animation:children-bob 5s ease-in-out infinite}.paper-mascots img+img{animation-delay:-2s}
 .letter-head{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:16px 12px;line-height:1.65}
 .letter-head>.anniversary-logo{grid-row:1;grid-column:1;width:84px;align-self:center}
 .letter-head .issuer{display:none}
 .national{grid-row:2;grid-column:1 / -1;font-size:12px;white-space:normal;line-height:1.65}.national p:nth-child(2){font-size:12px}.national>span{width:112px;max-width:45%;margin-top:5px}
 .program-logo{transform:none}
 .letter-ending{gap:16px}.signature img{width:128px;height:100px}
 .sheet-one{transform:translate(-2px,0) rotate(-.6deg)}.sheet-two{transform:translate(2px,-2px) rotate(.5deg)}
}
@media(max-width:360px){.topbar{padding:0 9px;gap:5px}.wordmark b{font-size:11px}.view-nav{padding:3px}.view-nav button{padding:9px 7px;font-size:9px}.motion-toggle{width:27px;height:27px}.cover-view{padding-left:20px;padding-right:20px}.cover-content h1{font-size:28px}.cover-eyebrow{font-size:7px}.envelope-inscription b{font-size:23px}.envelope-inscription small{font-size:5.5px}.envelope-stage{margin-top:38px}.little-celebration{width:150px}.drummer-celebration{width:148px}.letter-head{gap:14px 10px}.letter-head>.anniversary-logo{width:75px}.issuer,.national,.national p:nth-child(2){font-size:11px}}
@media print{.cover-view,.paper-mascots{display:none!important}}
@media(min-width:761px) and (max-width:960px) and (max-height:500px) and (pointer:coarse){
 .letter-head .issuer{display:none}
 .letter-head .national{grid-column:1 / -1;grid-row:2}
 .letter-head .national>span{width:112px;max-width:45%}
 .program-logo{transform:none}
}
