@font-face{font-family:"TT Firs Neue";src:url("assets/fonts/TTFirsNeue-Regular.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"TT Firs Neue";src:url("assets/fonts/TTFirsNeue-Medium.woff") format("woff");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"TT Firs Neue";src:url("assets/fonts/TTFirsNeue-DemiBold.woff") format("woff");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url("assets/fonts/Manrope-Regular.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url("assets/fonts/Manrope-SemiBold.woff") format("woff");font-style:normal;font-weight:600 800;font-display:swap}
:root{--ink:#064e43;--mint:#c3d9cc;--cream:#fbf7ee;--gold:#e6aa35;--coral:#ce614e;--heading:"TT Firs Neue",Arial,sans-serif;--body:Manrope,Arial,sans-serif;--gutter:clamp(24px,7vw,136px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.6}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}h1,h2,h3,h1 *,h2 *,h3 *{font-family:var(--heading);font-style:normal}h1,h2,h3{font-weight:500}h2 em{font-weight:inherit}a:focus-visible{outline:3px solid #b57116;outline-offset:6px}header{min-height:96px;padding:24px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:32px;background:var(--mint);position:relative;z-index:2}.brand{display:inline-flex;align-items:center;text-decoration:none;flex-shrink:0}.brand img{display:block;width:180px;height:auto}.header-note{font-size:15px;line-height:1.5}.header-link{font-size:15px;line-height:1.5;text-decoration:none;border-bottom:1px solid #064e4350;padding-bottom:7px}.header-link span{margin-left:20px}.hero{min-height:750px;position:relative;background:var(--mint);overflow:hidden}.hero-art{position:absolute;inset:0;background:url('assets/knitted-christmas.jpg') no-repeat right bottom / auto 100%}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#c3d9cc 0%,#c3d9ccf5 17%,#c3d9ccaa 34%,transparent 52%)}.hero-content{position:relative;z-index:1;padding:42px 0 70px var(--gutter);width:51%}.eyebrow{font-size:14px;line-height:1.5;letter-spacing:1.2px;font-weight:600;margin-bottom:24px}h1{font-size:clamp(58px,5.5vw,84px);line-height:1.06;letter-spacing:-2.5px;margin-bottom:24px}h1 strong{display:inline-block;font-size:clamp(125px,12vw,184px);font-weight:500;line-height:1.04;letter-spacing:-8px;color:#d69b2c;text-shadow:0 3px 0 #fff6,1px 6px 5px #77521b25}h1 em{font-size:.82em}.hero-message{font-size:22px;line-height:1.55;margin-bottom:28px}.button{padding:18px 26px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid var(--ink);background:var(--ink);color:var(--cream);text-decoration:none;font-size:17px;font-weight:600;line-height:1.45;border-radius:40px;transition:background .2s}.button:hover{background:#0b6556}.button span{font-size:23px}.hero-caption{position:absolute;bottom:20px;left:var(--gutter);font-size:14px;line-height:1.4;z-index:1}.letter{padding:64px var(--gutter);display:grid;grid-template-columns:150px minmax(0,1fr);gap:42px}.section-label{font-size:13px;line-height:1.5;letter-spacing:1px;padding-top:8px}.section-heart{display:block;width:66px;height:62px;color:var(--coral);margin-top:30px}.section-heart svg,.inline-heart svg,.cover-symbol svg{display:block;width:100%;height:100%}h2{font-size:clamp(36px,3.2vw,52px);line-height:1.18;letter-spacing:-1.5px;margin-bottom:28px}.letter-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;font-size:20px;line-height:1.65}.signature{font-family:var(--heading);font-size:23px;line-height:1.45;font-weight:500;margin-top:22px}.books{background:#eef0e5;padding:64px var(--gutter) 48px;border-top:1px solid #064e4310}.books-heading{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:56px;align-items:end;margin-bottom:40px}.books-heading h2{margin-bottom:0;max-width:830px}.books-intro{font-size:20px;line-height:1.65;max-width:450px}.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.book-card{min-width:0;display:grid;grid-template-rows:auto 1fr}.book-scene{height:350px;position:relative;display:flex;align-items:center;justify-content:center;border-radius:90px 90px 8px 8px;padding-top:24px;overflow:hidden}.scene-one{background:#d0dfd0}.scene-two{background:#e5ddc9}.scene-three{background:#e8c8b7}.book-tag{position:absolute;top:24px;font-size:12px;line-height:1.5;letter-spacing:.8px;font-weight:600;z-index:1}.book-cover{width:190px;height:260px;padding:21px 18px;position:relative;transform:rotate(-8deg);border-radius:2px 7px 7px 2px;box-shadow:12px 15px 19px #17392a33,inset 6px 0 2px #0002,3px 0 0 #f2ecdf,6px 1px 0 #c3bdb0;display:flex;flex-direction:column;justify-content:space-between}.book-author{font-size:9px;letter-spacing:.6px;line-height:1.5}.book-cover strong{font-family:var(--heading);font-size:25px;line-height:1.06;letter-spacing:-.6px;font-weight:500}.book-cover small{font-size:8px;letter-spacing:.4px;line-height:1.4}.cover-one{background:#07594e;color:#fff4d8}.cover-symbol{width:37px;height:35px;color:#e9bd62}.cover-two{background:#fcf4e0;color:#245359;transform:rotate(5deg)}.cover-two strong{font-size:24px}.cover-two i{font-size:25px;font-style:normal}.cover-line{height:15px;border-top:1px solid #c8a759;border-bottom:1px solid #c8a759}.cover-three{background:#c4523d;color:#fff4dc;transform:rotate(-6deg)}.cover-three strong{font-size:19px;line-height:1.12;letter-spacing:-.6px}.cover-three b{font-size:42px;font-weight:500}.scene-number{position:absolute;bottom:14px;right:20px;font:500 24px/1 var(--heading);opacity:.6}.book-details{padding-top:24px;display:flex;flex-direction:column}.author{font-size:16px;line-height:1.5;margin-bottom:12px;min-height:24px}.book-details h3{font-size:28px;line-height:1.22;letter-spacing:-.6px;margin-bottom:18px;min-height:70px}.book-details>p:not(.author){font-size:18px;line-height:1.65;margin-bottom:24px}.book-link{margin-top:auto;padding:18px 0;border-top:1px solid #064e4340;font-size:17px;font-weight:600;line-height:1.4;text-decoration:none;display:flex;align-items:center;justify-content:space-between;gap:12px}.book-link:hover{text-decoration:underline;text-underline-offset:5px}.book-link span{font-size:24px}.books-note{margin-top:30px;font-size:15px;line-height:1.6}.wish-section{text-align:left;padding:64px var(--gutter);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;align-items:start;background:var(--cream)}.wish-heading .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:24px}.inline-heart{display:inline-flex;flex-shrink:0;width:26px;height:25px;color:var(--coral)}.wish-section h2{margin-bottom:0}.wish-body{font-size:22px;line-height:1.65;padding-top:43px}.wish-body>p+p{margin-top:18px}.wish-body .signature{font-size:23px;margin-top:25px}footer{padding:30px var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:32px;border-top:1px solid #064e4320}footer .brand img{width:160px}footer p{font-size:15px;line-height:1.5;max-width:440px}footer>span{font-size:14px;line-height:1.5;letter-spacing:.5px}
@media(min-width:1700px){.hero{min-height:840px}.hero-art{background-size:cover}.hero-content{padding-top:54px}.letter{grid-template-columns:180px minmax(0,1fr);gap:48px}.book-scene{height:390px}.book-cover{width:212px;height:285px}.book-cover strong{font-size:28px}.cover-two strong{font-size:27px}.cover-three strong{font-size:22px}.book-details h3{min-height:75px}}
@media(max-width:1150px){:root{--gutter:5vw}.header-note{display:none}.letter{grid-template-columns:110px minmax(0,1fr);gap:28px}.letter-columns{font-size:19px;gap:28px}.books-heading{grid-template-columns:1fr;gap:24px}.books-intro{max-width:760px}.book-grid{gap:22px}.book-scene{height:320px;border-radius:70px 70px 8px 8px}.book-tag{font-size:10px}.book-cover{width:164px;height:235px;padding:18px 15px}.book-cover strong{font-size:23px}.cover-two strong{font-size:22px}.cover-three strong{font-size:17px}.cover-three b{font-size:36px}.book-details h3{font-size:25px;min-height:92px}.book-details>p:not(.author){font-size:17px}.author{font-size:15px}.wish-section{gap:36px}.wish-body{font-size:20px}footer{flex-wrap:wrap}footer>span{margin-left:auto}}
@media(max-width:850px){header{min-height:86px}.brand img{width:155px}.header-link{font-size:14px}.hero{min-height:720px}.hero-content{width:62%;padding-top:36px}.hero-art{background-position:62% bottom}.hero-art:after{background:linear-gradient(90deg,#c3d9cc 0%,#c3d9cce8 22%,transparent 68%)}h1{font-size:60px}h1 strong{font-size:132px}.hero-message{font-size:20px}.hero-caption{font-size:13px}.letter{grid-template-columns:1fr;gap:22px;padding-top:48px;padding-bottom:48px}.section-label{display:flex;align-items:center;justify-content:space-between;padding-top:0}.section-heart{width:32px;height:30px;margin:0}.letter h2{font-size:39px}.letter-columns{gap:28px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}.book-scene{height:340px}.book-cover{width:190px;height:260px}.book-cover strong{font-size:25px}.cover-two strong{font-size:24px}.cover-three strong{font-size:19px}.book-tag{font-size:12px}.book-details h3{font-size:28px;min-height:0}.author{min-height:0}.book-details>p:not(.author){font-size:18px}.wish-section{grid-template-columns:1fr;gap:28px;padding-top:48px;padding-bottom:48px}.wish-body{padding-top:0;max-width:690px}.wish-section h2{font-size:40px}footer{gap:20px}footer p{order:3;max-width:none;width:100%}}
@media(max-width:600px){:root{--gutter:24px}body{font-size:18px}header{min-height:78px;padding-top:20px;padding-bottom:20px;gap:18px}.brand img{width:140px}.header-link{font-size:13px;max-width:160px}.header-link span{margin-left:8px}.hero{min-height:1030px}.hero-content{width:100%;padding-top:28px;padding-right:var(--gutter);padding-bottom:0}.hero-content .eyebrow{font-size:13px;margin-bottom:18px}h1{font-size:56px;line-height:1.04;letter-spacing:-2px;margin-bottom:20px}h1 strong{font-size:126px;letter-spacing:-6px}h1 em{font-size:46px}h1 br:last-of-type{display:none}h1 em{margin-left:8px}.hero-message{font-size:19px;line-height:1.55;margin-bottom:22px}.hero-content .button{font-size:16px;padding:16px 22px}.hero-art{top:370px;background-size:auto 640px;background-position:78% bottom}.hero-art:after{background:linear-gradient(180deg,#c3d9cc 0%,#c3d9cc00 25%)}.hero-caption{bottom:16px;left:var(--gutter);right:var(--gutter);font-size:12px}.eyebrow{font-size:13px;letter-spacing:.7px;margin-bottom:18px}.section-label{font-size:12px}.letter{padding-top:36px;padding-bottom:36px;gap:20px}h2,.letter h2{font-size:32px;line-height:1.2;letter-spacing:-.8px;margin-bottom:22px}.letter-columns{grid-template-columns:1fr;gap:18px;font-size:18px;line-height:1.65}.signature{font-size:21px;margin-top:20px}.books{padding-top:38px;padding-bottom:32px}.books-heading{gap:22px;margin-bottom:30px}.books-heading h2{margin-bottom:0}.books-intro{font-size:18px;line-height:1.65}.book-grid{grid-template-columns:1fr;gap:34px}.book-scene{height:350px;border-radius:76px 76px 8px 8px}.book-tag{font-size:12px}.book-cover{width:196px;height:266px}.book-details{padding-top:20px}.author{font-size:16px;margin-bottom:12px}.book-details h3{font-size:28px;line-height:1.22;margin-bottom:18px}.book-details>p:not(.author){font-size:18px;line-height:1.65;margin-bottom:20px}.book-link{font-size:17px;padding:17px 0}.books-note{font-size:14px;margin-top:24px}.wish-section{padding-top:36px;padding-bottom:36px;gap:22px}.wish-heading .eyebrow{font-size:12px;gap:10px;margin-bottom:20px}.wish-section h2{font-size:32px;line-height:1.2}.wish-body{font-size:19px;line-height:1.65}.wish-body .signature{font-size:21px}.wish-body>p+p{margin-top:16px}footer{padding-top:25px;padding-bottom:25px;gap:18px}footer .brand img{width:140px}footer>span{font-size:12px;max-width:140px;text-align:right}footer p{font-size:15px}}
@media(max-width:360px){:root{--gutter:20px}.brand img{width:124px}.header-link{font-size:12px}h1{font-size:50px}h1 strong{font-size:112px}h1 em{font-size:40px}.hero-content .button{font-size:15px;gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
