@font-face{font-family:Hanken Grotesk;src:url(/fonts/hanken-grotesk.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Heading Fallback;src:local(Arial);size-adjust:100%;ascent-override:95%;descent-override:25%;line-gap-override:0%}:root{--bg:oklch(98.2% .009 100);--ink:oklch(30% .055 155);--surface:oklch(99.5% .006 100);--accent:oklch(39% .075 155);--accent-2:oklch(39% .065 90);--muted:oklch(42% .025 155);--mint:oklch(93.5% .035 145);--gold:oklch(87% .085 90);--yellow:oklch(92% .11 95);--line:oklch(30% .055 155/.2);--art-cake:oklch(79% .075 133);--art-icing:oklch(91% .065 125);--art-line:oklch(51% .055 145);--art-plate:oklch(88.5% .024 145);--art-shadow:oklch(30% .055 155/.06);--confetti-green:var(--accent);--confetti-gold:var(--gold);--confetti-yellow:var(--yellow);--confetti-sage:var(--art-cake);--confetti-coral:oklch(62% .09 70);--font-display:"Hanken Grotesk", "Heading Fallback", Arial, sans-serif;--font-body:Georgia, "Times New Roman", serif;--radius-s:4px;--radius-m:12px;--radius-round:100vmax;--gutter:48px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--space-6:64px;--space-7:96px;--space-8:128px;--grain-opacity:.025;--grain-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.83' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%2361744e' filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E");--ease-out:cubic-bezier(.22, .61, .36, 1);--dur-1:.14s;--dur-2:.26s;color:var(--ink);background:var(--bg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:19px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer;font:inherit;color:inherit}::selection{background:var(--gold);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;font-weight:700}h1,h2{letter-spacing:-.045em}h2{font-size:clamp(38px,4.2vw,56px);line-height:1.13}h3{letter-spacing:-.025em;font-size:27px;line-height:1.3}p{text-wrap:pretty;line-height:1.8}svg{flex-shrink:0;display:block}.content-width{max-width:1344px;width:calc(100% - var(--gutter) * 2);margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:2000;background:var(--accent);color:var(--surface);font-family:var(--font-display);padding:16px;position:fixed;top:12px;left:16px;transform:translateY(-150%)}.skip-link:focus{transform:none}.masthead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:var(--space-3);min-height:100px;font-family:var(--font-display);display:flex}.brand{letter-spacing:-1.2px;align-items:center;gap:10px;min-height:44px;font-size:27px;font-weight:700;display:flex}.brand svg{width:26px;height:26px}.masthead nav{gap:32px;margin-left:40px;display:flex}.masthead nav a{align-items:center;min-height:44px;font-size:16px;font-weight:550;display:flex;position:relative}.masthead nav a:after{content:"";transform-origin:0;height:1px;transition:transform var(--dur-2) var(--ease-out);background:currentColor;position:absolute;bottom:5px;left:0;right:0;transform:scaleX(0)}.masthead nav a:hover:after{transform:scaleX(1)}.sender{font-size:14px}.birthday-hero{border-bottom:1px solid var(--line);padding-bottom:56px;position:relative}.hero-composition{justify-content:center;padding-block:66px 72px;display:flex;position:relative}.hero-copy{z-index:1;text-align:center;width:100%;position:relative}.hero-copy h1{letter-spacing:-.055em;max-width:900px;margin-inline:auto;font-size:clamp(64px,7.2vw,104px);font-weight:750;line-height:.99}.hero-copy h1>span{display:block}.hero-copy .hero-recipient{letter-spacing:-.038em;margin-top:13px;font-size:.52em;line-height:1.2}.hero-copy>p{max-width:740px;color:var(--ink);margin:32px auto 29px;font-size:23px;line-height:1.65}.celebrate-button{background:var(--accent);color:var(--surface);border-radius:var(--radius-round);min-height:60px;font-family:var(--font-display);transition:background var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);box-shadow:0 3px 0 oklch(from var(--accent) calc(l - .07) c h);border:0;justify-content:center;align-items:center;gap:13px;padding:0 27px;font-size:17px;font-weight:600;display:inline-flex}.celebrate-button svg{width:27px;height:27px}.button-arrow{transition:transform var(--dur-2) var(--ease-out);margin-left:18px;font-size:26px;line-height:1}.celebrate-button:hover{background:var(--ink)}.celebrate-button:hover .button-arrow{transform:translate(2px,-2px)}.celebrate-button:active{transform:scale(.96)}.cake-art{width:clamp(150px,16vw,224px);position:absolute;bottom:30px;left:-8px;transform:rotate(-6deg)}.birthday-cake{width:100%;height:auto}.hero-stamp{position:absolute;top:142px;right:23px;transform:rotate(8deg)}.birthday-stamp{background:var(--gold);width:125px;height:151px;padding:12px;-webkit-mask-image:radial-gradient(circle at 5px 5px,#0000 4px,#000 4.5px),linear-gradient(#000,#000);mask-image:radial-gradient(circle at 5px 5px,#0000 4px,#000 4.5px),linear-gradient(#000,#000);-webkit-mask-position:-5px -5px,50%;mask-position:-5px -5px,50%;-webkit-mask-size:10px 10px,calc(100% - 10px) calc(100% - 10px);mask-size:10px 10px,calc(100% - 10px) calc(100% - 10px);-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat;-webkit-mask-clip:border-box,border-box;mask-clip:border-box,border-box;-webkit-mask-origin:border-box,border-box;mask-origin:border-box,border-box;-webkit-mask-composite:source-over;mask-composite:add;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.stamp-inside{border:1px solid var(--accent-2);height:100%;color:var(--accent-2);font-family:var(--font-display);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:8px;display:flex}.stamp-inside>span:first-child{font-size:12px}.stamp-number{letter-spacing:-.06em;font-size:51px;font-weight:750;line-height:1}.stamp-inside>svg{width:18px;height:18px}.scroll-cue{width:44px;height:44px;font-family:var(--font-display);justify-content:center;align-items:center;font-size:27px;display:flex;position:absolute;bottom:10px;left:calc(50% - 22px)}.certificate-section{padding-block:var(--space-7) var(--space-8)}.certificate-paper{background:var(--mint);isolation:isolate;max-width:1136px;margin-inline:auto;padding:22px;position:relative;box-shadow:3px 8px oklch(30% .055 155/.06)}.certificate-paper:before{content:"";z-index:-1;pointer-events:none;background-image:var(--grain-image);opacity:var(--grain-opacity);position:absolute;inset:0}.certificate-frame{border:1px solid var(--accent);outline:1px solid oklch(from var(--accent) l c h / .35);outline-offset:-7px;padding:42px 65px 48px}.certificate-star{width:25px;height:25px;margin:0 auto 25px}.certificate-frame>h2{text-align:center;letter-spacing:-.04em;max-width:740px;margin-inline:auto;font-size:48px;line-height:1.07}.certificate-subtitle{text-align:center;max-width:650px;margin:20px auto 0;font-size:19px;line-height:1.65}.certificate-recipient{font-family:var(--font-display);justify-content:center;align-items:baseline;gap:18px;margin-top:38px;display:flex}.certificate-recipient>span{font-size:21px;font-weight:600}.certificate-recipient>strong{letter-spacing:-.05em;font-size:70px;font-weight:700;line-height:1.1}.certificate-position{border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;margin-top:26px;padding-block:18px;font-size:18px;line-height:1.65}.certificate-position>strong{font-family:var(--font-display);margin-right:5px;font-size:18px;font-weight:700}.certificate-justification{margin-top:33px}.certificate-justification>h3{font-size:22px;font-weight:700}.certificate-justification>p{margin-top:13px;font-size:19px;line-height:1.85}.certificate-signoff{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:35px;margin-top:31px;padding-top:29px;display:flex}.certificate-signoff>div:first-child{max-width:600px}.certificate-signoff p{margin-bottom:11px;font-size:18px}.certificate-signoff strong{font-family:var(--font-display);font-size:21px;font-weight:650;line-height:1.55;display:block}.award-seal{width:130px;color:var(--accent-2);flex-shrink:0;position:relative;transform:rotate(-7deg)}.award-seal>svg{width:100%;height:auto}.seal-type{font-family:var(--font-display);flex-direction:column;align-items:center;gap:3px;display:flex;position:absolute;top:28px;left:0;right:0}.seal-type>span{font-size:8px;font-weight:600}.seal-type>strong{letter-spacing:-.04em;font-size:33px;font-weight:750;line-height:1.1}.wishes-section{gap:var(--space-7);padding-bottom:var(--space-8);grid-template-columns:.65fr 1.35fr;align-items:start;display:grid}.wishes-section>h2{max-width:400px;font-size:46px;line-height:1.15;position:sticky;top:48px}.wish-list{min-width:0;margin:0;padding:0;list-style:none}.wish-row{border-top:1px solid var(--line);grid-template-columns:31px 1fr;gap:23px;padding-block:34px;display:grid}.wish-row:first-child{border-top:0;padding-top:0}.wish-row:last-child{padding-bottom:0}.wish-number{font-family:var(--font-display);font-variant-numeric:tabular-nums;padding-top:5px;font-size:15px;font-weight:550}.wish-row h3{font-size:27px;line-height:1.35}.wish-row p{margin-top:17px;font-size:19px;line-height:1.8}.faq-section{gap:var(--space-7);padding-block:80px var(--space-7);border-top:1px solid var(--line);grid-template-columns:.65fr 1.35fr;align-items:start;display:grid}.faq-section>h2{font-size:64px}.faq-list{min-width:0}.faq-item{border-bottom:1px solid var(--line)}.faq-item:first-child{border-top:1px solid var(--line)}.faq-item>summary{cursor:pointer;font-family:var(--font-display);grid-template-columns:31px 1fr 24px;align-items:baseline;gap:23px;padding-block:29px;font-size:23px;font-weight:650;line-height:1.4;list-style:none;display:grid}.faq-item>summary::-webkit-details-marker{display:none}.faq-number{font-variant-numeric:tabular-nums;font-size:15px;font-weight:550}.faq-toggle{align-self:center;width:22px;height:22px;position:relative}.faq-toggle:before,.faq-toggle:after{content:"";background:var(--accent);height:1.5px;position:absolute;top:10px;left:3px;right:3px}.faq-toggle:after{transition:transform var(--dur-2) var(--ease-out);transform:rotate(90deg)}.faq-item[open] .faq-toggle:after{transform:rotate(0)}.faq-item>summary:hover{color:var(--accent)}.faq-item>p{margin:-4px 47px 29px 54px;font-size:18px;line-height:1.8}.footer{border-top:1px solid var(--line);font-family:var(--font-display);justify-content:flex-end;padding-block:20px;display:flex}.footer>a{align-items:center;gap:23px;min-height:44px;font-size:15px;display:inline-flex}.footer>a>span{font-size:25px}.not-found{flex-direction:column;justify-content:center;align-items:center;gap:32px;min-height:100svh;padding:32px;display:flex}.not-found>h1{font-size:clamp(90px,15vw,170px)}@media (width<=1150px){:root{--gutter:32px}.hero-copy h1{font-size:85px}.hero-copy>p{max-width:650px;font-size:22px}.cake-art{width:165px;bottom:35px;left:-8px}.hero-stamp{top:127px;right:2px}.birthday-stamp{width:104px;height:132px;padding:10px}.stamp-inside{gap:8px;padding:5px}.stamp-inside>span:first-child{font-size:10px}.stamp-number{font-size:43px}.stamp-inside>svg{width:16px;height:16px}.certificate-frame{padding:38px 43px 43px}.certificate-frame>h2{font-size:44px}.certificate-position{text-align:left}.wishes-section,.faq-section{grid-template-columns:.6fr 1.4fr;gap:55px}.wishes-section>h2{font-size:39px}.wish-row h3{font-size:25px}.wish-row{gap:18px}.faq-item>summary{gap:18px;font-size:22px}.faq-item>p{margin-left:49px;margin-right:0}}@media (width<=900px){.masthead nav{gap:25px;margin-left:0}.masthead nav a{font-size:15px}.sender{font-size:13px}.hero-composition{padding-top:58px;padding-bottom:190px}.hero-copy h1{font-size:80px}.hero-copy>p{max-width:630px;margin-top:28px;font-size:21px}.cake-art{width:155px;bottom:6px;left:17px}.hero-stamp{top:auto;bottom:24px;right:32px}.birthday-hero{padding-bottom:48px}.certificate-section{padding-block:72px 90px}.certificate-paper{padding:16px}.certificate-frame{padding:32px 32px 37px}.certificate-frame>h2{font-size:39px}.certificate-subtitle{font-size:18px}.certificate-recipient{margin-top:29px}.certificate-recipient>strong{font-size:61px}.certificate-position,.certificate-justification>p{font-size:18px}.certificate-signoff strong{font-size:20px}.award-seal{width:112px}.seal-type{gap:2px;top:24px}.seal-type>strong{font-size:29px}.seal-type>span{font-size:7px}.wishes-section{grid-template-columns:1fr;gap:42px;padding-bottom:88px}.wishes-section>h2{max-width:640px;font-size:46px;position:static}.wish-row{gap:25px}.wish-row h3{font-size:27px}.faq-section{grid-template-columns:1fr;gap:38px;padding-block:68px 72px}.faq-section>h2{font-size:56px}.faq-item>summary{gap:25px;font-size:24px}.faq-item>p{margin-left:56px;margin-right:35px;font-size:19px}}@media (width<=600px){:root{--gutter:22px}html{scroll-padding-top:25px}.masthead{flex-wrap:wrap;gap:12px;min-height:86px;padding-block:13px 0}.brand{min-height:44px;font-size:25px}.brand svg{width:23px;height:23px}.sender{margin-left:auto;font-size:13px}.masthead nav{border-top:1px solid var(--line);order:3;justify-content:space-between;gap:15px;width:100%}.masthead nav a{min-height:44px;font-size:15px}.hero-composition{padding-block:42px 190px}.hero-copy h1{letter-spacing:-.055em;font-size:clamp(44px,10.8vw,65px);line-height:1.02}.hero-copy .hero-recipient{letter-spacing:-.035em;margin-top:13px;font-size:.49em;line-height:1.35}.hero-copy>p{max-width:430px;margin-block:26px;font-size:19px;line-height:1.7}.celebrate-button{gap:11px;min-height:58px;padding-inline:23px;font-size:16px}.celebrate-button svg{width:25px;height:25px}.button-arrow{margin-left:12px;font-size:24px}.cake-art{width:145px;bottom:10px;left:3px}.hero-stamp{bottom:24px;right:23px}.birthday-stamp{width:100px;height:128px}.certificate-section{padding-block:53px 68px}.certificate-paper{width:calc(100% + 10px);margin-left:-5px;padding:10px}.certificate-frame{outline-offset:-4px;padding:26px 19px 30px}.certificate-star{width:21px;height:21px;margin-bottom:22px}.certificate-frame>h2{letter-spacing:-.04em;font-size:clamp(25px,6.3vw,36px);line-height:1.13}.certificate-subtitle{margin-top:18px;font-size:17px;line-height:1.75}.certificate-recipient{gap:12px;margin-top:29px}.certificate-recipient>span{font-size:18px}.certificate-recipient>strong{font-size:49px}.certificate-position{margin-top:23px;padding-block:19px;font-size:17px;line-height:1.8}.certificate-position>strong{margin-bottom:5px;margin-right:0;font-size:18px;display:block}.certificate-justification{margin-top:25px}.certificate-justification>h3{font-size:21px;line-height:1.35}.certificate-justification>p{margin-top:13px;font-size:17px;line-height:1.85}.certificate-signoff{margin-top:25px;padding-top:23px;display:block}.certificate-signoff p{margin-bottom:12px;font-size:17px}.certificate-signoff strong{font-size:19px;line-height:1.6}.award-seal{width:102px;margin:21px 0 0 auto}.seal-type{gap:2px;top:22px}.seal-type>strong{font-size:27px}.seal-type>span{font-size:6px}.wishes-section{gap:34px;padding-bottom:65px}.wishes-section>h2{font-size:38px;line-height:1.16}.wish-row{grid-template-columns:25px 1fr;gap:14px;padding-block:29px}.wish-number{padding-top:3px;font-size:14px}.wish-row h3{font-size:24px;line-height:1.35}.wish-row p{margin-top:15px;font-size:18px;line-height:1.8}.faq-section{gap:28px;padding-block:54px 58px}.faq-section>h2{font-size:48px}.faq-item>summary{grid-template-columns:22px 1fr 19px;gap:12px;padding-block:24px;font-size:21px;line-height:1.4}.faq-number{font-size:13px}.faq-toggle{width:19px;height:19px}.faq-toggle:before,.faq-toggle:after{left:2px;right:2px}.faq-item>p{margin-bottom:25px;margin-left:34px;margin-right:0;font-size:17px;line-height:1.8}.footer{padding-block:13px}}@media (width<=360px){:root{--gutter:18px}.hero-copy h1{font-size:42px}.hero-copy .hero-recipient{font-size:21px}.hero-copy>p{font-size:18px}.cake-art{width:133px;left:-3px}.hero-stamp{right:13px}.certificate-frame{padding-inline:15px}.certificate-recipient>strong{font-size:45px}.certificate-frame>h2{font-size:24px}.wishes-section>h2{font-size:35px}.wish-row h3{font-size:23px}.wish-row p{font-size:17px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.celebrate-button:active{transform:none}}
