@font-face{font-family:Oswald;src:url('assets/oswald-bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{color-scheme:dark;--black:#11110f;--yellow:#f9e729;--muted:#a5a59b;--line:#34342d}
*{box-sizing:border-box}
.icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex-shrink:0;overflow:visible}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--black);color:#f8f7ed;font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:5;opacity:.035;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='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.6' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:6px}::selection{background:var(--yellow);color:var(--black)}
.site-shell{max-width:1680px;margin:auto;overflow:hidden}
.topbar{height:100px;margin:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}
.monogram{font-weight:700;font-size:26px;letter-spacing:-1.5px;display:flex;align-items:center;gap:7px}.monogram span{color:var(--yellow);font-size:30px;line-height:1}
.edition,.live-label{font-size:10px;letter-spacing:1.7px;font-weight:700}.edition{color:var(--muted)}.live-label{display:flex;align-items:center;gap:8px}.live-label i{width:7px;height:7px;border-radius:50%;background:var(--yellow);box-shadow:0 0 12px #f9e72955}
.hero{position:relative;min-height:780px;padding:68px 6% 88px;display:grid;grid-template-columns:1.17fr 1fr;gap:20px;align-items:center}
.hero-copy{position:relative;z-index:2}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;margin:0 0 30px}.hero .eyebrow{color:var(--muted);display:flex;align-items:center;gap:10px}.tiny-star{color:var(--yellow);font-size:18px;line-height:1}
.birthday-label{display:inline-block;background:var(--yellow);color:var(--black);padding:8px 14px;font-size:14px;font-weight:700;letter-spacing:1.8px;transform:rotate(-3deg);margin:4px 0 18px 4px}
h1,h2{font-family:Oswald,Impact,'Arial Narrow',sans-serif;font-weight:700;margin:0}h1{font-size:clamp(80px,9.8vw,155px);line-height:1.03;letter-spacing:-3px}h1>span{display:block;color:var(--yellow)}.name-dot{color:#f8f7ed}
.intro{font-size:14px;line-height:1.8;color:#b9b9ae;margin:24px 0 27px}
.salute-button{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:13px 20px;border:1px solid var(--yellow);background:var(--yellow);border-radius:0;color:var(--black);font-size:14px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}
.salute-button:hover{background:#fff36b;transform:translateY(-3px);box-shadow:5px 5px 0 #f9e72922}.salute-button:active{transform:translateY(0)}.salute-button svg{width:23px;height:23px}.button-arrow{font-size:23px;margin-left:20px;line-height:1}.button-caption{display:block;color:#87877c;font-size:10px;letter-spacing:.25px;margin-top:12px}
.hero-art{position:relative;aspect-ratio:1;width:100%;max-width:540px;margin:0 auto 66px;isolation:isolate}.orbit{border:1px solid #414133;border-radius:50%;position:absolute;inset:1%;transform:rotate(-25deg)}.orbit-one:after{content:"";position:absolute;top:16%;left:13%;background:var(--yellow);border:5px solid var(--black);width:18px;height:18px;border-radius:50%}.orbit-two{inset:11%;border-style:dashed;border-color:#36362d;transform:rotate(19deg)}
.orbit-label{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:var(--black);padding:10px;font-size:8px;letter-spacing:2px;white-space:nowrap;color:#87877c}
.starburst{position:absolute;inset:17%;height:66%;width:66%;color:var(--yellow);filter:drop-shadow(0 0 42px #f9e72909);animation:star-turn 75s linear infinite}
.starburst-copy{position:absolute;inset:27%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--black);transform:rotate(-9deg);text-align:center;gap:11px}.starburst-copy>span{font-size:8px;font-weight:700;letter-spacing:1.2px;white-space:nowrap}.starburst-copy strong{font-family:Oswald,Impact,sans-serif;font-weight:700;font-size:clamp(32px,4.8vw,68px);line-height:1.04;letter-spacing:-1.5px}.starburst-copy strong span{font-style:italic}
.floating-spark{position:absolute;color:var(--yellow);font-size:45px;line-height:1}.spark-one{top:4%;right:10%;transform:rotate(13deg)}.spark-two{bottom:11%;left:2%;font-size:24px}.little-note{position:absolute;bottom:-32px;right:5%;font-size:12px;color:#a4a497;line-height:1.6;transform:rotate(-7deg)}.little-note strong{color:#eeeee1}.little-note svg{position:absolute;left:-85px;top:0;width:70px;height:50px;color:var(--yellow);transform:rotate(10deg)}
.scroll-note{position:absolute;bottom:29px;left:6%;right:6%;border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.7px;color:#a4a497}.scroll-note span:last-child{font-size:18px;color:var(--yellow);line-height:.8}
.ticker{background:var(--yellow);color:var(--black);padding:19px 0;overflow:hidden;border-top:1px solid var(--yellow);border-bottom:1px solid var(--yellow)}.ticker-track{width:max-content;white-space:nowrap;display:flex;align-items:center;font-family:Oswald,Impact,sans-serif;font-size:24px;line-height:1;letter-spacing:1px;animation:ticker-scroll 32s linear infinite;will-change:transform}.ticker-group{display:flex;align-items:center;justify-content:space-around;gap:35px;padding-right:35px;min-width:100vw;flex-shrink:0}.ticker span{font-size:32px}
@keyframes ticker-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.wish-section{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:100px 6% 95px}.wish-heading .eyebrow{color:var(--muted);font-size:9px;letter-spacing:1.3px;margin-bottom:27px}h2{font-size:clamp(40px,5.2vw,76px);line-height:1.2;letter-spacing:-1.3px}h2 span{color:var(--yellow)}.wish-star{display:block;color:var(--yellow);font-size:90px;margin:23px 0 0 6px;line-height:1}
.letter{max-width:470px;font-size:14px;line-height:1.95;color:#b9b9ae}.letter p{margin:0 0 20px}.letter .letter-salutation{color:#f8f7ed;font-size:21px;font-weight:700;margin-bottom:19px;line-height:1.4}.letter .letter-closing{color:#f8f7ed;font-weight:700}.signature{display:flex;gap:12px;align-items:center;color:var(--yellow);font-size:14px;margin-top:30px;font-weight:700}.signature-line{display:block;width:32px;height:1px;background:var(--yellow)}.signature>span:last-child{font-size:23px;margin-left:auto}
.footer{margin:0 6%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:29px 0 35px}.footer>span{font-size:10px;letter-spacing:1.2px;font-weight:700}.footer-star{color:var(--yellow);font-size:16px;margin-left:6px}.footer p{font-size:10px;color:#909085}.footer a{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);font-size:20px;color:var(--yellow)}
#fireworks{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:10}.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}
@keyframes star-turn{to{transform:rotate(360deg)}}
@media(min-width:1600px){.hero{min-height:860px}}
@media(max-width:1000px){.hero{min-height:720px;gap:6px;padding-top:55px;padding-bottom:90px}h1{font-size:11vw}.hero-art{margin-bottom:25px}.starburst-copy{gap:8px}.starburst-copy>span{font-size:6px}.little-note{font-size:10px}.edition{font-size:8px}.wish-section{gap:6%}.letter{font-size:13px}.footer p{font-size:9px}}
@media(max-width:650px){
 .topbar{height:77px;margin:0 6%;gap:12px}.monogram{font-size:24px}.monogram span{font-size:29px}.edition{display:none}.live-label{font-size:9px;letter-spacing:1.3px}
 .hero{display:block;min-height:auto;padding:42px 6% 68px}.hero-copy{position:relative}.hero .eyebrow{font-size:8px;letter-spacing:1.45px;gap:8px;margin-bottom:29px}.tiny-star{font-size:15px}.birthday-label{font-size:11px;padding:7px 10px;letter-spacing:1.3px;margin:0 0 19px 3px}
 h1{font-size:clamp(70px,18vw,117px);line-height:1.08;letter-spacing:-1.5px}.intro{font-size:12px;line-height:1.9;margin:22px 0 24px;max-width:350px}.salute-button{min-height:54px;padding:12px 17px;font-size:13px}.button-arrow{margin-left:18px}.button-caption{font-size:9px;margin-top:11px}
 .hero-art{position:absolute;right:-36px;top:125px;width:170px;max-width:none;margin:0;z-index:0;opacity:.8}.orbit{border-color:#53533b}.orbit-two{border-color:#41412e}.orbit-label,.little-note,.spark-two{display:none}.starburst{inset:21%;width:58%;height:58%}.starburst-copy{inset:31%;gap:5px}.starburst-copy>span{font-size:4px;letter-spacing:.4px}.starburst-copy strong{font-size:20px;letter-spacing:-.5px}.spark-one{font-size:25px;top:-20px;right:45px}.hero-art .orbit-one:after{width:12px;height:12px;border-width:3px}
 .scroll-note{font-size:8px;letter-spacing:1.25px;bottom:20px;padding-top:14px}.ticker{padding:15px 0}.ticker-track{font-size:19px}.ticker-group{gap:22px;padding-right:22px}.ticker span{font-size:26px}
 .wish-section{display:block;padding:50px 6% 42px}.wish-heading{position:relative}.wish-heading .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:19px}h2{font-size:clamp(40px,10.4vw,65px);line-height:1.24;letter-spacing:-.7px}.wish-star{position:absolute;right:2px;bottom:4px;font-size:48px;margin:0}.letter{font-size:13px;line-height:1.95;margin-top:35px;max-width:none}.letter .letter-salutation{font-size:20px}.letter p{margin-bottom:17px}.signature{font-size:13px;margin-top:25px}.footer{flex-wrap:wrap;position:relative;gap:0;padding:25px 48px 27px 0}.footer>span{font-size:9px}.footer p{width:100%;font-size:9px;margin:10px 0 0}.footer a{position:absolute;right:0;top:27px}
}
@media(max-width:370px){.hero-art{width:115px;right:-18px;top:92px}.starburst-copy strong{font-size:14px}.starburst-copy>span{display:none}.intro{font-size:11px}.hero .eyebrow{letter-spacing:1px}.wish-star{display:none}.letter{font-size:12px}}
.new-site{margin:0 6% 72px;padding:clamp(28px,5vw,64px);background:var(--yellow);color:var(--black)}
.new-site h2{font-size:clamp(36px,6.3vw,90px);line-height:1.15;letter-spacing:-.8px;text-wrap:balance}
.new-site h2 .gift-quote{display:block;color:var(--black);margin-top:.8em;font-size:clamp(24px,3.4vw,48px);line-height:1.35;font-style:italic;letter-spacing:0;text-wrap:pretty}
.new-site p{max-width:650px;margin:28px 0 0;font-size:clamp(14px,1.7vw,22px);font-weight:700;line-height:1.7}
@media(max-width:650px){.new-site{margin-bottom:42px;padding:28px 20px}.new-site h2{font-size:clamp(34px,10vw,58px)}.new-site p{margin-top:20px}}
.live-label{margin-left:auto}
.hero .eyebrow{align-items:flex-start}
.family-credit{display:block;margin-top:8px;color:var(--yellow);font-size:13px;letter-spacing:.3px;line-height:1.5}
.portrait-wrap{position:relative;width:91%;max-width:440px;justify-self:end;margin:0 10px 25px 0}
.portrait-caption{margin:0 0 20px;color:var(--muted);font-size:9px;letter-spacing:2px;font-weight:700;text-align:center}
.portrait-card{position:relative;margin:0;padding:9px 9px 0;background:var(--yellow);color:var(--black);transform:rotate(-4deg);box-shadow:12px 15px 0 #f9e72916}
.portrait-card img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border:1px solid #11110f33}
.portrait-card figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:55px;padding:9px 9px;font-size:11px;font-weight:700;letter-spacing:1.1px}
.portrait-card figcaption>span:last-child{font-size:29px;line-height:1}
.portrait-sticker{position:absolute;right:-24px;bottom:58px;transform:rotate(8deg);padding:12px 17px;background:var(--black);border:2px solid var(--yellow);box-shadow:5px 5px 0 #11110f55;color:var(--yellow);font-family:Oswald,Impact,sans-serif;font-size:22px;line-height:1.2;text-align:center}
.portrait-spark{position:absolute;left:-31px;top:16px;color:var(--yellow);font-size:47px;line-height:1}
@media(max-width:1000px) and (min-width:651px){.portrait-wrap{width:88%;margin-right:5px}.portrait-card figcaption{font-size:8px;letter-spacing:.5px}.portrait-sticker{font-size:17px;right:-15px;padding:9px 12px}}
@media(max-width:650px){.portrait-wrap{width:85%;max-width:330px;margin:45px auto 37px}.portrait-caption{font-size:8px;letter-spacing:1.3px;margin-bottom:19px}.portrait-card{padding:7px 7px 0;box-shadow:8px 10px 0 #f9e72916}.portrait-card figcaption{min-height:44px;padding:8px 5px;font-size:8px;letter-spacing:.6px}.portrait-card figcaption>span:last-child{font-size:24px}.portrait-sticker{right:-19px;bottom:45px;padding:8px 12px;font-size:18px}.portrait-spark{font-size:35px;left:-23px;top:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
