.birthday{--ink:#482b2e;--paper:#f5f0dc;--butter:#f3e6a8;background:var(--paper);color:var(--ink)}.birthday :is(a,button):focus-visible{outline-offset:6px;outline:2px solid}.b-cover{color:#fff8e8;background:#272933;height:100svh;min-height:740px;position:relative;overflow:hidden}.b-cover>img{object-fit:cover;object-position:50% 43%;width:100%;height:100%;position:absolute}.b-cover-shade{background:linear-gradient(90deg,#17151dc9,#0000 70%),linear-gradient(#0000 55%,#17151d60);position:absolute;inset:0}.b-cover-copy{z-index:2;position:absolute;top:22%;left:7vw}.b-label{letter-spacing:.15em;text-transform:uppercase;font-size:13px;line-height:1.6}.b-cover h1{letter-spacing:-.075em;margin:36px 0;font-family:Georgia,serif;font-size:clamp(80px,10vw,166px);font-weight:400;line-height:.88}.b-cover h1 span{padding-left:7vw;font-style:italic;display:block}.b-cover-note{margin:30px 0;font-size:20px;line-height:1.6}.b-pill{background:var(--butter);min-height:52px;color:var(--ink);border-radius:40px;justify-content:space-between;align-items:center;gap:48px;padding:16px 24px;font-size:15px;display:inline-flex}.b-pill:hover{background:#fff4c9}.b-pill span{font-size:21px}.b-cover-bottom{font-size:14px;position:absolute;bottom:32px;left:7vw}.b-intro{max-width:1000px;margin:auto;padding:130px 8vw}.b-intro h2{letter-spacing:-.04em;margin:30px 0;font:400 clamp(44px,6vw,78px)/1.1 Georgia,serif}.b-intro>p:last-child{max-width:590px;font:22px/1.7 Georgia,serif}@media (max-width:700px){.b-cover{height:100svh;min-height:740px}.b-cover>img{object-position:64% 30%}.b-cover-copy{top:auto;bottom:100px;left:7vw}.b-cover h1{margin:20px 0;font-size:86px}.b-cover-note{margin:24px 0;font-size:18px}.b-cover-shade{background:linear-gradient(#0000 20%,#161623d9),linear-gradient(90deg,#17151d50,#0000)}.b-cover .b-label{font-size:12px}.b-intro{padding:90px 7vw}.b-intro>p:last-child{font-size:21px}}.b-cover>img{transform:translateY(var(--cover-shift,0px)) scale(var(--cover-scale,1));will-change:transform}.b-cover-edition{letter-spacing:.04em;font-size:13px;position:absolute;bottom:32px;right:6vw}.b-underlined{color:inherit;background:0 0;border:0;border-bottom:1px solid;align-items:center;gap:35px;padding:14px 0;font-size:15px;display:inline-flex}.b-intro .b-underlined{margin-top:30px}.b-intro>p:nth-last-child(2){max-width:650px;font:21px/1.7 Georgia,serif}.b-intro h2{letter-spacing:-.06em;font-size:clamp(58px,7vw,108px);line-height:1.03}.b-reading{border-top:1px solid #482b2e30;position:relative}.b-reader-bar{z-index:35;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);height:64px;color:var(--ink);background:#f5f0dcf5;border-bottom:1px solid #482b2e25;align-items:center;gap:28px;padding:0 4vw;display:flex;position:sticky;top:0}.b-page-count{font-variant-numeric:tabular-nums;font-size:15px}.b-page-count>span{opacity:.5}.b-reader-bar nav{gap:2px;margin-right:auto;display:flex}.b-reader-bar nav a{place-items:center;width:30px;min-height:44px;display:grid}.b-reader-bar nav a span{background:#482b2e55;border-radius:50%;width:5px;height:5px;transition:width .25s,background .25s;display:block}.b-reader-bar nav a[aria-current] span{background:var(--ink);border-radius:6px;width:23px}.b-reader-bar>button,.b-reader-bar>a{color:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 4px;font-size:14px;display:flex}.b-progress{transform-origin:0;width:100%;height:2px;transform:scaleX(var(--read-progress,0));background:#6b363d;position:absolute;bottom:-1px;left:0}.b-reading-grid{grid-template-columns:42% 58%;align-items:start;display:grid}.b-portrait{color:#fffbe8;background:#9d927e;height:calc(100svh - 64px);position:sticky;top:64px;overflow:hidden}.b-portrait img{object-fit:cover;object-position:50% 50%;width:100%;height:100%;transform:scale(1.07) translateY(var(--portrait-shift,0px))}.b-portrait:after{content:"";background:linear-gradient(#0000,#21191b70);position:absolute;inset:65% 0 0}.b-portrait figcaption{z-index:1;letter-spacing:-.045em;font:italic 48px/1.05 Georgia,serif;position:absolute;bottom:7%;left:8%;right:8%}.b-portrait figcaption span{display:block}.b-letter-section{border-bottom:1px solid #482b2e28;padding:90px 0 65px;scroll-margin-top:0}.b-letter-section:last-child{border:0;padding-bottom:110px}.b-section-meta{letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:30px;margin-bottom:36px;font-size:12px;display:flex}.b-section-meta>span:first-child{letter-spacing:0;font:italic 20px Georgia,serif}.b-letter-section>p.b-aside{color:#765158;margin-top:34px;font-size:17px;font-style:italic;line-height:1.7}.b-letter-section>p.b-signature{letter-spacing:-.05em;margin-top:50px;font:italic 46px Georgia,serif}.b-signature>span{letter-spacing:.1em;text-transform:uppercase;margin-top:20px;font:12px -apple-system,BlinkMacSystemFont,sans-serif;display:block}.b-next{border-bottom:1px solid #482b2e70;align-items:center;gap:30px;margin-top:20px;padding:12px 0;font-size:14px;display:inline-flex}.b-postscript{color:#fff3dc;background:#492c31;grid-template-columns:1fr 1fr;min-height:700px;display:grid;position:relative}.b-ps-photo{height:100%;min-height:700px;overflow:hidden}.b-ps-photo img{object-fit:cover;object-position:50% 40%;width:100%;height:100%}.b-ps-copy{align-self:center;padding:100px 7vw}.b-ps-copy h2{letter-spacing:-.06em;margin:35px 0;font:400 clamp(65px,7vw,110px)/.95 Georgia,serif}.b-ps-copy>p:not(.b-label){margin-bottom:25px;font:21px/1.6 Georgia,serif}.b-last-aside{max-width:350px;margin-top:30px;font:italic 18px/1.6 Georgia,serif}.b-keep{text-align:center;background:var(--butter);padding:130px 7vw 55px}.b-keep h2{letter-spacing:-.055em;max-width:650px;margin:28px auto;font:400 clamp(40px,5vw,72px)/1.08 Georgia,serif}.b-keep>p:not(.b-label){margin-bottom:35px;font:21px/1.7 Georgia,serif}.b-keep .b-pill{background:var(--ink);color:#fff8e6}.b-back{justify-content:center;align-items:center;gap:12px;max-width:180px;margin:90px auto 0;padding:10px;font-size:14px;display:flex}.birthday .chapter-header{background:linear-gradient(#14141f55,#0000)}@media (min-width:1500px){.b-letter-pages{padding:0 9vw}.b-letter-section>p{font-size:22px}}@media (max-width:900px){.b-reading-grid{grid-template-columns:35% 65%}.b-letter-pages{padding:0 6vw}.b-portrait figcaption{font-size:37px}.b-postscript,.b-ps-photo{min-height:600px}.b-ps-copy{padding:65px 6vw}.b-reader-bar{gap:20px}}@media (max-width:700px){.b-cover>img{object-position:50% 42%;height:76%}.b-cover{background:#242530}.b-cover h1{font-size:76px;line-height:.9}.b-cover h1 span{padding-left:44px}.b-cover-copy{bottom:85px}.b-cover-copy .b-label{font-size:11px}.b-cover-shade{background:linear-gradient(#0000 35%,#242530a6 62%,#242530ee 81%,#242530 97%)}.b-cover-bottom{bottom:28px}.b-cover-edition{display:none}.b-cover-note{margin:22px 0;font-size:17px}.b-intro h2{font-size:60px}.b-intro>p:nth-last-child(2){font-size:20px}.b-reading-grid{display:block}.b-portrait{height:85svh;min-height:520px;position:relative;top:0}.b-portrait img{object-position:50% 50%;transform:none}.b-portrait figcaption{font-size:56px;bottom:8%;left:7vw}.b-letter-pages{padding:0 7vw}.b-letter-section{padding:65px 0 48px}.b-letter-section h2{font-size:42px}.b-letter-section>p{font-size:19px;line-height:1.8}.b-section-meta{margin-bottom:25px}.b-reader-bar{gap:14px;height:58px;padding:0 5vw}.b-reader-bar nav{gap:0}.b-reader-bar nav a{width:21px}.b-reader-bar nav a[aria-current] span{width:15px}.b-reader-bar>a span{display:none}.b-reader-bar>button{gap:4px;font-size:15px}.b-page-count{white-space:nowrap;font-size:12px}.b-large-type .b-letter-section>p:not(.b-aside):not(.b-signature){font-size:23px}.b-postscript{min-height:0;display:block}.b-ps-photo{height:85vw;min-height:0}.b-ps-photo img{object-position:50% 57%}.b-ps-copy{padding:70px 7vw 80px}.b-ps-copy h2{font-size:77px}.b-keep{padding:90px 7vw 40px}.b-keep>p:not(.b-label){font-size:19px}.b-back{margin-top:70px}}@media (max-width:360px){.b-reader-bar{gap:9px}.b-reader-bar nav a{width:19px}.b-cover h1{font-size:69px}.b-cover-copy .b-label{font-size:10px}.b-letter-section h2{font-size:38px}}@media (prefers-reduced-motion:reduce){.b-cover>img,.b-portrait img{will-change:auto;transform:none!important}.b-progress{transition:none}}@media print{.birthday .chapter-header,.b-reader-bar,.b-cover,.b-intro,.b-portrait,.b-postscript,.b-keep,.b-next{display:none}.b-reading-grid{display:block}.b-letter-pages{padding:0}.b-letter-section{break-after:page;border:0;padding:20px 0}.b-letter-section>p{font-size:12pt;line-height:1.6}.b-letter-section h2{font-size:30pt}.birthday{color:#241d1d;background:#fff}}.birthday{--ink:#352116;--paper:#eddbb6;--butter:#e4c28d;background:#251d1b}.b-intro{background:var(--keepsake-paper) center/100% 100% no-repeat;filter:drop-shadow(0 15px 25px #0b040670);max-width:850px;color:var(--ink);margin:80px auto;padding:95px 100px 110px}.b-intro h2{font-size:clamp(48px,5vw,76px)}.b-intro>p:nth-last-child(2){font:29px/1.4 LetterHand,cursive}.b-reading{background:#251d1b;border-top:1px solid #6e574233}.b-reader-bar{color:#ecd7b4;background:#2d221fee;border-color:#755d3d66}.b-reader-bar nav a span{background:#ad947b88}.b-reader-bar nav a[aria-current] span,.b-progress{background:#e4c28d}.b-reading-grid{grid-template-columns:36% 64%}.b-portrait{border:8px solid #dac6a2;border-bottom-width:35px;height:calc(100svh - 145px);margin:45px 0 0 3vw;top:95px;transform:rotate(-1deg);box-shadow:0 18px 40px #0004}.b-portrait img{object-position:50% 50%}.b-portrait figcaption{letter-spacing:0;font:42px/1.1 LetterHand,cursive}.b-letter-pages{padding:45px 3vw 90px}.b-letter-section,.b-letter-section:last-child{background:var(--keepsake-paper) center/100% 100% no-repeat;filter:drop-shadow(0 13px 16px #0b03064d);color:var(--ink);border:0;margin:0 0 38px;padding:75px clamp(40px,5vw,85px) 70px;scroll-margin-top:88px}.b-section-meta{color:#775738;margin-bottom:30px;font-size:12px}.b-letter-section h2{letter-spacing:-.02em;margin-bottom:32px;font:500 clamp(38px,4.2vw,58px)/1.06 LetterHand,cursive}.b-letter-section>p{margin-bottom:27px;font:500 28px/1.4 LetterHand,cursive}.b-letter-section>p.b-aside{color:#6b4934;margin-top:32px;font:500 25px/1.4 LetterHand,cursive}.b-letter-section>p.b-signature{letter-spacing:0;font:500 44px/1.1 LetterHand,cursive}.b-large-type .b-letter-section>p:not(.b-aside):not(.b-signature){font-size:33px}.b-section-meta>span:first-child{font:26px LetterHand,cursive}.b-postscript{color:#eed9b8;background:#251d1b}.b-ps-copy{background:var(--keepsake-paper) center/100% 100% no-repeat;color:var(--ink);filter:drop-shadow(0 15px 20px #0005);margin:40px 3vw;padding:75px 60px}.b-ps-copy h2{letter-spacing:-.02em;font:500 75px/.95 LetterHand,cursive}.b-ps-copy>p:not(.b-label),.b-last-aside{font:27px/1.4 LetterHand,cursive}.b-keep{color:#edd9b9;background:#251d1b}.b-keep .b-pill{color:#342117;background:#e4c28d}.b-next{border-color:#77573877}@media (max-width:1000px){.b-reading-grid{grid-template-columns:31% 69%}.b-letter-pages{padding:32px 2vw 60px}.b-letter-section,.b-letter-section:last-child{padding:65px 48px 60px}.b-portrait{border-width:5px 5px 25px;margin-left:2vw}.b-portrait figcaption{font-size:34px}.b-ps-copy{padding:65px 42px}}@media (max-width:700px){.b-intro{margin:32px 10px;padding:70px 35px 75px}.b-intro h2{font-size:54px}.b-intro>p:nth-last-child(2){font-size:26px}.b-reading-grid{display:block}.b-portrait{border-width:7px 7px 30px;height:65svh;min-height:390px;max-height:650px;margin:30px 7vw 35px;position:relative;top:0}.b-portrait figcaption{font-size:44px}.b-letter-pages{padding:0 8px 45px}.b-letter-section,.b-letter-section:last-child{margin-bottom:24px;padding:60px 32px 65px;scroll-margin-top:74px}.b-letter-section>p{margin-bottom:25px;font-size:26px;line-height:1.38}.b-letter-section h2{margin-bottom:27px;font-size:43px}.b-letter-section>p.b-aside{font-size:24px}.b-large-type .b-letter-section>p:not(.b-aside):not(.b-signature){font-size:31px}.b-section-meta{letter-spacing:.06em;gap:19px}.b-ps-copy{margin:30px 10px;padding:60px 35px 70px}.b-ps-copy h2{font-size:73px}.b-cover-copy .b-label{font-size:12px}}@media print{.birthday{background:#fff}.b-letter-section,.b-letter-section:last-child{filter:none;background:0 0;padding:20px 0}.b-letter-section>p{font:12pt/1.6 Georgia,serif}.b-letter-section h2{font:30pt Georgia,serif}}
