:root{--navy: #14213d;--navy-deep: #0c172e;--navy-soft: #233355;--orange: #d56a2a;--orange-soft: #e89253;--cream: #f3ece0;--paper: #fbf6ec;--ink: #1a1a1a;--ink-soft: #4a4a4a;--rule: rgba(20,33,61,.18);--serif: "Cormorant Garamond", "Times New Roman", serif;--sans: "Manrope", -apple-system, BlinkMacSystemFont, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}.letter,.letter *{box-sizing:border-box;-webkit-font-smoothing:antialiased}body:has(.letter){margin:0;padding:0;font-family:var(--sans);font-weight:400;color:var(--ink);background:var(--navy-deep);line-height:1.5;overflow-x:hidden}body:has(.letter):before{content:"";position:fixed;inset:0;background:radial-gradient(1200px 600px at 50% -200px,rgba(213,106,42,.1),transparent 70%),radial-gradient(900px 700px at 50% 110%,rgba(20,33,61,.6),transparent 70%),var(--navy-deep);z-index:-2}.frame{max-width:440px;margin:0 auto;background:var(--paper);min-height:100vh;position:relative;overflow:hidden;box-shadow:0 30px 90px #00000059,0 0 0 1px #ffffff0a}.letter section{position:relative;padding:0}.pad{padding-left:28px;padding-right:28px}.padv{padding-top:80px;padding-bottom:80px}.padv-l{padding-top:120px;padding-bottom:120px}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);display:inline-flex;align-items:center;gap:10px}.eyebrow:before{content:"";display:inline-block;width:18px;height:1px;background:var(--orange)}.eyebrow.center{justify-content:center}.eyebrow.no-rule:before{display:none}.display{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.01em}.display .it{font-style:italic;font-weight:300}.rule{height:1px;background:var(--rule);border:0;margin:0}.reveal{opacity:0;transform:translateY(14px);transition:opacity .9s ease,transform .9s ease}.reveal.in{opacity:1;transform:none}.cover{height:100svh;min-height:640px;color:var(--paper);background:linear-gradient(180deg,#0c172e33,#0c172e0d 25%,#0c172e73 65%,#0c172eeb),url(/uploads/_W1A6475.JPG) center 30% / cover no-repeat;display:flex;flex-direction:column;justify-content:space-between;padding:36px 28px 32px}.cover-top{display:flex;justify-content:space-between;align-items:flex-start;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#f3ece0d9}.cover-top .dot{color:var(--orange)}.cover-mid{text-align:center;transform:translateY(-30px)}.cover-mid .salut{font-family:var(--serif);font-style:italic;font-weight:300;font-size:26px;color:var(--paper);margin-bottom:18px;letter-spacing:.01em}.cover-eleven{font-family:var(--serif);font-weight:300;font-size:220px;line-height:.85;letter-spacing:-.04em;color:var(--paper);text-shadow:0 4px 30px rgba(0,0,0,.35);margin:0;position:relative;display:inline-block}.cover-eleven .yrs{position:absolute;bottom:12px;right:-68px;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange-soft);writing-mode:vertical-rl;text-orientation:mixed}.cover-caption{margin-top:26px;font-family:var(--serif);font-size:22px;font-style:italic;font-weight:400;color:var(--paper);line-height:1.3}.cover-caption b{font-style:normal;font-weight:500;color:var(--orange-soft)}.cover-bot{display:flex;justify-content:space-between;align-items:flex-end;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#f3ece0b3}.scroll-hint{display:flex;flex-direction:column;align-items:center;gap:6px}.scroll-hint .line{width:1px;height:28px;background:#f3ece08c;animation:drip 2.2s ease-in-out infinite;transform-origin:top}@keyframes drip{0%{transform:scaleY(0);opacity:.2}40%{transform:scaleY(1);opacity:1}to{transform:scaleY(1);opacity:0}}.opening{background:var(--paper);padding:84px 32px;color:var(--navy)}.opening h2{margin:18px 0 24px;font-family:var(--serif);font-weight:500;font-size:38px;line-height:1.05;letter-spacing:-.01em}.opening h2 em{color:var(--orange);font-weight:500}.opening p{font-family:var(--serif);font-size:20px;line-height:1.55;color:var(--ink);margin:0 0 18px;font-weight:400}.opening p .drop{float:left;font-family:var(--serif);font-size:64px;line-height:.82;color:var(--orange);padding:6px 10px 0 0;font-weight:500}.opening .sig{margin-top:28px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--navy-soft)}.numbers{background:var(--navy);color:var(--paper);padding:96px 28px 110px;overflow:hidden;position:relative}.numbers:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--orange),transparent);opacity:.7}.numbers .eyebrow{color:var(--orange-soft)}.numbers .eyebrow:before{background:var(--orange-soft)}.num-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:14px;row-gap:8px;margin:28px 0 0;align-items:end}.num-cell{position:relative}.num-cell .big{font-family:var(--serif);font-weight:300;font-size:180px;line-height:.85;letter-spacing:-.05em;color:var(--paper)}.num-cell .big.orange{color:var(--orange)}.num-cell .lbl{margin-top:14px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#f3ece0b3;line-height:1.6}.num-cell .lbl b{color:var(--orange-soft);font-weight:500;display:block;margin-bottom:4px}.num-divider{grid-column:1 / -1;height:1px;background:#f3ece02e;margin:28px 0 24px}.num-statement{margin-top:16px;font-family:var(--serif);font-size:26px;line-height:1.35;font-style:italic;font-weight:300;color:var(--paper)}.num-statement b{font-style:normal;color:var(--orange-soft);font-weight:500}.num-coincidence{margin-top:38px;display:flex;gap:14px;align-items:center;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#f3ece08c}.num-coincidence .dot{width:6px;height:6px;background:var(--orange);border-radius:50%;flex-shrink:0}.poem{background:var(--paper);padding:100px 36px;color:var(--ink);position:relative}.poem .ornament{text-align:center;color:var(--orange);font-family:var(--serif);font-size:24px;letter-spacing:.4em;margin-bottom:14px}.poem h2{text-align:center;margin:0 0 6px;font-family:var(--serif);font-weight:400;font-style:italic;font-size:44px;line-height:1;letter-spacing:-.01em;color:var(--navy)}.poem .sub{text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:56px}.stanza{margin:0 0 40px;font-family:var(--serif);font-weight:400;font-size:20px;line-height:1.5;color:var(--ink);position:relative;padding-left:38px}.stanza .num{position:absolute;left:0;top:6px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--orange);font-weight:500}.stanza .em{font-style:italic;color:var(--navy)}.stanza.center{text-align:center;padding-left:0;font-style:italic;color:var(--navy);font-size:24px}.stanza.center .num{position:static;display:block;margin-bottom:10px}.stanza .repeat{display:block;color:var(--orange)}.poem .closer{text-align:center;margin-top:8px;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--navy-soft)}.plate{position:relative;width:100%;background:var(--navy-deep);overflow:hidden}.plate img{display:block;width:100%;height:auto}.plate .cap{position:absolute;left:18px;bottom:18px;right:18px;color:var(--paper);font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.6);display:flex;justify-content:space-between;gap:10px}.plate .cap b{color:var(--orange-soft);font-weight:500}.songs{background:var(--navy-deep);color:var(--paper);padding:96px 28px 110px;position:relative}.songs:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--orange),transparent);opacity:.7}.songs h2{margin:18px 0 8px;font-family:var(--serif);font-weight:400;font-size:40px;letter-spacing:-.01em;line-height:1.05}.songs h2 em{color:var(--orange);font-style:italic}.songs .lead{font-family:var(--serif);font-size:18px;font-style:italic;font-weight:300;color:#f3ece0bf;margin:0 0 36px;line-height:1.5}.song{border-top:1px solid rgba(243,236,224,.18);padding:22px 0;position:relative;cursor:pointer;transition:padding .4s ease}.song:last-of-type{border-bottom:1px solid rgba(243,236,224,.18)}.song-row{display:grid;grid-template-columns:36px 1fr 24px;align-items:baseline;gap:10px}.song .idx{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--orange);padding-top:6px}.song .meta{min-width:0}.song .title{font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.15;color:var(--paper);margin:0;letter-spacing:-.005em}.song .artist{margin-top:4px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#f3ece08c}.song .chev{width:20px;height:20px;border:1px solid rgba(243,236,224,.4);border-radius:50%;display:grid;place-items:center;color:#f3ece0b3;font-size:12px;transition:transform .4s ease,background .4s ease,color .4s ease,border-color .4s ease;align-self:center;margin-top:6px}.song.open .chev{transform:rotate(45deg);background:var(--orange);color:var(--navy-deep);border-color:var(--orange)}.song-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s ease,margin .5s ease;margin-top:0}.song.open .song-body{grid-template-rows:1fr;margin-top:18px}.song-body>.inner{overflow:hidden}.song-body .pad-inner{padding:4px 8px 6px 46px}.lyric{font-family:var(--serif);font-size:19px;line-height:1.55;font-style:italic;font-weight:300;color:var(--paper)}.lyric .note{color:var(--orange-soft);font-style:normal;font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;display:block;margin:14px 0 6px}.lyric .blank{color:#f3ece066;font-style:italic}.lyric .why{margin-top:18px;font-family:var(--sans);font-style:normal;font-size:13px;line-height:1.55;color:#f3ece0b3;font-weight:300;border-left:1px solid var(--orange);padding-left:12px}.gallery{background:var(--paper);padding:100px 0 60px}.gallery .hd{padding:0 32px;margin-bottom:44px}.gallery h2{margin:18px 0 8px;font-family:var(--serif);font-weight:400;font-size:40px;letter-spacing:-.01em;line-height:1;color:var(--navy)}.gallery h2 em{color:var(--orange);font-style:italic}.gallery .lead{font-family:var(--serif);font-size:18px;font-style:italic;font-weight:300;color:var(--ink-soft);margin:0;line-height:1.45}.gal-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 12px}.gal{position:relative;overflow:hidden;background:var(--navy-deep);aspect-ratio:2 / 3}.gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.gal:hover img,.gal:active img{transform:scale(1.04)}.gal.wide{grid-column:1 / -1;aspect-ratio:3 / 2}.gal.tall{aspect-ratio:2 / 3}.gal .cap{position:absolute;left:12px;bottom:12px;right:12px;color:var(--paper);font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.7);pointer-events:none;opacity:0;transition:opacity .4s ease}.gal:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(12,23,46,.7) 100%);pointer-events:none;opacity:0;transition:opacity .4s ease}.gal:hover:after,.gal:active:after{opacity:1}.gal:hover .cap,.gal:active .cap{opacity:1}.lightbox{position:fixed;inset:0;background:#080e1cf2;display:none;align-items:center;justify-content:center;z-index:100;padding:24px;cursor:zoom-out}.lightbox.show{display:flex}.lightbox img{max-width:100%;max-height:92vh;object-fit:contain;box-shadow:0 30px 80px #0009}.lightbox .close{position:absolute;top:20px;right:24px;color:var(--paper);font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;background:none;border:0}.closing{background:var(--navy);color:var(--paper);padding:110px 32px 90px;text-align:center;position:relative;overflow:hidden}.closing:before{content:"11";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--serif);font-size:500px;font-weight:300;color:#ffffff0a;line-height:1;letter-spacing:-.08em;pointer-events:none}.closing>*{position:relative}.closing h2{margin:18px 0 24px;font-family:var(--serif);font-weight:400;font-style:italic;font-size:40px;line-height:1.1;color:var(--paper)}.closing h2 em{color:var(--orange);font-style:italic}.closing p{font-family:var(--serif);font-size:20px;line-height:1.5;color:#f3ece0d9;margin:0 0 22px;font-weight:300;font-style:italic}.signature{margin-top:60px;font-family:Cormorant Garamond,serif;font-style:italic;font-weight:400;font-size:56px;color:var(--orange);line-height:1;transform:rotate(-3deg);display:inline-block}.closing .yours{margin-top:20px;font-family:var(--serif);font-style:italic;font-size:18px;color:#f3ece0bf}.footer-meta{margin-top:70px;display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#f3ece073}.footer-meta .dot{color:var(--orange)}.footer-heart{margin:24px auto 0;width:22px;height:22px;color:var(--orange)}@media(min-width:540px){body:has(.letter){padding:24px 0}.frame{border-radius:4px}}.corner-num{font-family:var(--serif);font-weight:300;font-size:18px;color:var(--orange)}.player{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:10px 14px 10px 10px;background:#ffffff0a;border:1px solid rgba(243,236,224,.14);border-radius:100px;margin-bottom:22px;transition:background .4s ease,border-color .4s ease;cursor:default}.player.playing{background:#d56a2a1a;border-color:#d56a2a73}.player.loading{opacity:.6}.play-btn{width:32px;height:32px;border-radius:50%;border:0;background:var(--orange);color:var(--navy-deep);display:grid;place-items:center;cursor:pointer;padding:0;transition:transform .2s ease;-webkit-tap-highlight-color:transparent}.play-btn:active{transform:scale(.92)}.play-btn .icon-play,.play-btn .icon-pause{display:block}.play-btn .icon-pause,.player.playing .play-btn .icon-play{display:none}.player.playing .play-btn .icon-pause{display:block}.icon-play{width:0;height:0;border-left:9px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px}.icon-pause{width:9px;height:10px;background:linear-gradient(to right,currentColor 0 36%,transparent 36% 64%,currentColor 64% 100%)}.scrub{height:24px;position:relative;cursor:pointer;display:flex;align-items:center;min-width:0}.scrub:before{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:2px;background:#f3ece02e;border-radius:2px}.scrub .fill{position:absolute;left:0;top:50%;transform:translateY(-50%);height:2px;background:var(--orange);border-radius:2px;width:0%}.scrub .head{position:absolute;left:0%;top:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:var(--orange);border-radius:50%;box-shadow:0 0 0 4px #d56a2a2e;opacity:0;transition:opacity .2s ease}.player.playing .head{opacity:1}.time{font-family:var(--mono);font-size:10px;color:#f3ece0b3;letter-spacing:.04em;white-space:nowrap;font-variant-numeric:tabular-nums}.player-status{grid-column:1 / -1;margin-top:2px;padding-left:48px;font-family:var(--mono);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:#d56a2ab3;opacity:0;transition:opacity .3s ease}.player.demo .player-status{opacity:1}.egg-trigger{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:filter .3s ease,text-shadow .3s ease}.egg-trigger.hint{animation:eggPulse 1.4s ease-in-out infinite}@keyframes eggPulse{0%,to{text-shadow:0 4px 30px rgba(0,0,0,.35);filter:brightness(1)}50%{text-shadow:0 4px 30px rgba(0,0,0,.35),0 0 60px rgba(213,106,42,.65);filter:brightness(1.05)}}.egg-counter{position:absolute;bottom:-28px;left:50%;transform:translate(-50%);font-family:var(--mono);font-size:9px;letter-spacing:.22em;color:var(--orange-soft);opacity:0;transition:opacity .3s;white-space:nowrap;text-transform:uppercase}.egg-counter.show{opacity:1}.egg-overlay{position:fixed;inset:0;background:var(--navy-deep);z-index:200;transform:translateY(101%);transition:transform .75s cubic-bezier(.2,.85,.2,1);overflow-y:auto;color:var(--paper);padding:40px 28px 80px;max-width:440px;margin:0 auto}@media(min-width:540px){.egg-overlay{box-shadow:0 30px 90px #00000059}}.egg-overlay.show{transform:none}.egg-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.egg-head .eyebrow{color:var(--orange-soft)}.egg-head .eyebrow:before{background:var(--orange-soft)}.egg-close{background:none;border:1px solid rgba(243,236,224,.35);color:var(--paper);font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:8px 14px;border-radius:100px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.egg-close:hover{background:#f3ece00f;border-color:#f3ece080}.egg-overlay h2{margin:24px 0 6px;font-family:var(--serif);font-weight:400;font-style:italic;font-size:44px;line-height:1;color:var(--paper);letter-spacing:-.005em}.egg-overlay h2 em{color:var(--orange);font-style:italic;font-weight:400}.egg-sub{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange-soft);margin-bottom:36px}.egg-list{list-style:none;padding:0;margin:0;counter-reset:egg}.egg-list li{counter-increment:egg;padding:22px 0 22px 50px;border-top:1px solid rgba(243,236,224,.14);position:relative;font-family:var(--serif);font-size:22px;line-height:1.4;color:var(--paper);font-weight:400;opacity:0;transform:translateY(10px);transition:opacity .55s ease,transform .55s ease}.egg-list li:last-child{border-bottom:1px solid rgba(243,236,224,.14)}.egg-list li:before{content:counter(egg,decimal-leading-zero);position:absolute;left:0;top:28px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--orange);font-weight:500}.egg-list li em{font-style:italic;color:var(--orange-soft);font-weight:400}.egg-overlay.show .egg-list li{opacity:1;transform:none}.egg-overlay.show .egg-list li:nth-child(1){transition-delay:.25s}.egg-overlay.show .egg-list li:nth-child(2){transition-delay:.31s}.egg-overlay.show .egg-list li:nth-child(3){transition-delay:.37s}.egg-overlay.show .egg-list li:nth-child(4){transition-delay:.43s}.egg-overlay.show .egg-list li:nth-child(5){transition-delay:.49s}.egg-overlay.show .egg-list li:nth-child(6){transition-delay:.55s}.egg-overlay.show .egg-list li:nth-child(7){transition-delay:.61s}.egg-overlay.show .egg-list li:nth-child(8){transition-delay:.67s}.egg-overlay.show .egg-list li:nth-child(9){transition-delay:.73s}.egg-overlay.show .egg-list li:nth-child(10){transition-delay:.79s}.egg-overlay.show .egg-list li:nth-child(11){transition-delay:.85s}.egg-postscript{margin-top:50px;text-align:center;font-family:var(--serif);font-style:italic;color:#f3ece0a6;font-size:17px;line-height:1.4;padding:0 20px}.egg-sig{margin-top:28px;text-align:center;font-family:var(--serif);font-style:italic;font-size:38px;color:var(--orange);transform:rotate(-3deg)}
