:root{--ink:#153f36;--green:#175b49;--red:#a23824;--cream:#fffbed;--gold:#ffdf7e;--blue:#d5edf3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--cream);color:var(--ink);font:1.1rem/1.7 'Trebuchet MS',Arial,sans-serif}a{color:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,.brand{font-family:Georgia,'Times New Roman',serif;font-weight:700;line-height:1.06}h1{font-size:clamp(3.4rem,6vw,5.7rem);letter-spacing:-.045em;margin:18px 0 26px}h1 em,h2 em{color:var(--red);font-weight:400}h2{font-size:clamp(2.5rem,4.3vw,4.1rem);letter-spacing:-.035em;margin:14px 0 24px}h3{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.025em;margin:18px 0 24px}p{margin:0 0 20px}cite{font-style:italic}.eyebrow{font-size:.82rem;font-weight:700;letter-spacing:.16em;line-height:1.6}.skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:12px}header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:20px max(5vw,20px);gap:20px;background:rgba(255,251,237,.97);border-bottom:1px solid #175b4925}.brand{font-size:1.8rem;text-decoration:none;white-space:nowrap}.brand em{color:var(--red);font-weight:400}.brand small{display:block;font:700 .65rem/1.9 'Trebuchet MS',sans-serif;letter-spacing:.18em;margin-top:5px}nav{display:flex;gap:28px;flex-wrap:wrap}nav a{font-size:.95rem;text-decoration:none;font-weight:700}nav a:hover{color:var(--red)}a:focus-visible{outline:3px solid var(--red);outline-offset:5px}.hero{max-width:1400px;margin:auto;padding:72px 6vw 90px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px}.intro{max-width:480px;font-size:1.17rem}.button{display:inline-block;border-radius:30px;padding:14px 27px;background:var(--green);color:white;text-decoration:none;font-size:1rem;font-weight:700;transition:background .15s,transform .15s}.button:hover{background:#103e32;transform:translateY(-2px)}.byline{font-size:.82rem;margin:24px 0 0}.hero-books{position:relative;display:flex;align-items:center;justify-content:center;padding:30px 0 65px;min-width:0}.hero-cover{width:53%;flex-shrink:0;box-shadow:0 22px 32px #153f3625;border-radius:4px;overflow:hidden}.first{transform:rotate(-9deg);z-index:1;margin-right:-8%}.second{transform:rotate(8deg);margin-top:75px}.caption{position:absolute;bottom:0;font-size:.9rem;font-style:italic;text-align:center}.ribbon{background:var(--gold);display:flex;justify-content:center;gap:6vw;padding:23px 20px;flex-wrap:wrap;font-family:Georgia,serif;font-size:1.5rem}.section{padding:90px 6vw;max-width:1400px;margin:auto}.section-top{text-align:center;max-width:720px;margin:0 auto 60px}.section-top>p:last-child{color:#4d655c}.book{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding:0 0 75px;scroll-margin-top:25px}.book:last-child{padding-bottom:0}.cover-stage{padding:45px;display:flex;justify-content:center;border-radius:80px 12px 80px 12px}.island{background:var(--blue)}.savanna{background:#ffe0aa}.cover-stage img{max-width:305px;width:100%;box-shadow:0 17px 30px #153f3628}.book-copy{max-width:485px}.book-note{font-family:Georgia,serif;font-style:italic;font-size:1.1rem;color:#536858}.reverse .cover-stage{order:2}.reverse .book-copy{order:1}.story{max-width:none;background:var(--green);color:white;display:grid;grid-template-columns:1fr 1.25fr;gap:8%;padding-left:max(6vw,calc((100vw - 1232px)/2));padding-right:max(6vw,calc((100vw - 1232px)/2))}.story .eyebrow{color:var(--gold)}.story h2{max-width:500px}.dedication{font-family:Georgia,serif;font-size:1.7rem;line-height:1.5;color:var(--gold)}.story>div:last-child{max-width:630px}.gifts{text-align:center;padding-top:100px;padding-bottom:100px}.gifts>p:not(.eyebrow){max-width:690px;margin:0 auto 30px}.gift-words{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;margin:35px 0}.gift-words span{border:1px solid #175b4945;border-radius:30px;padding:8px 20px;font-size:.95rem}.contact{max-width:none;text-align:center;background:var(--blue);padding:65px 6vw}.contact h2{font-size:2.7rem}.contact p{max-width:570px;margin:0 auto 18px}.email{font-size:clamp(1rem,3vw,1.45rem);text-underline-offset:6px;overflow-wrap:anywhere}footer{padding:35px 6vw;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}footer p{font-size:.8rem;margin:0}footer .brand{font-size:1.45rem}@media(max-width:850px){header{position:relative;flex-direction:column;padding:20px}header .brand{text-align:center}nav{gap:20px;justify-content:center}html{scroll-padding-top:24px}.hero{padding:45px 7vw 55px;grid-template-columns:1fr;gap:20px}.hero-copy{text-align:center}.intro{margin-left:auto;margin-right:auto}.hero-books{max-width:580px;width:90%;margin:auto;padding-top:20px}.hero-cover{max-width:270px}.ribbon{gap:25px;font-size:1.2rem}.section{padding:60px 7vw}.book{gap:6%;}.cover-stage{padding:25px;border-radius:50px 8px 50px 8px}.story{padding:60px 7vw;gap:30px}.dedication{font-size:1.45rem}footer{justify-content:center;text-align:center}}@media(max-width:580px){nav{gap:12px 20px}nav a{font-size:.85rem}.hero{padding-top:35px}h1{font-size:3.35rem}.hero-books{width:94%;padding-bottom:50px}.second{margin-top:40px}.caption{font-size:.8rem}.book,.story{grid-template-columns:1fr}.book{gap:30px;padding-bottom:55px}.cover-stage{max-width:400px;width:100%;margin:auto;padding:30px}.cover-stage img{max-width:245px}.book-copy{max-width:none}.reverse .cover-stage,.reverse .book-copy{order:initial}.section-top{margin-bottom:40px}.story{gap:15px}.gift-words{gap:10px}.gift-words span{font-size:.85rem}footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.family-photo{margin:32px 0 0;max-width:400px}.photo-window{position:relative;aspect-ratio:345/287;overflow:hidden;border-radius:8px}.photo-window img{position:absolute;width:166.6667%;max-width:none;left:-35.942%;top:-86.411%}.family-photo figcaption{font-size:.9rem;margin-top:12px;color:var(--gold)}

.gifts{display:grid;grid-template-columns:minmax(180px,.7fr) 1.3fr;gap:7%;align-items:center;text-align:left}.gigi-portrait{background:var(--cream);isolation:isolate;border-radius:0;padding:20px;max-width:360px}.gigi-portrait img{max-height:500px;width:auto;margin:auto;mix-blend-mode:multiply}.gift-copy>p:not(.eyebrow){max-width:650px}.gifts .gift-words{justify-content:flex-start}@media(max-width:650px){.gifts{grid-template-columns:1fr;text-align:center;gap:30px}.gigi-portrait{max-width:230px;margin:auto}.gigi-portrait img{max-height:290px}.gifts .gift-words{justify-content:center}}
