:root { --ink:#482d4b; --cream:#fff8fb; --pink:#f78db8; --blue:#b9dcff; --orange:#ffc7a9; --lilac:#d9c7ff; --mint:#bfead5; --butter:#fff0a8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:"DM Mono", monospace; overflow:hidden; }
.site-header { position:fixed; z-index:5; top:0; left:0; width:100%; height:72px; padding:22px 3vw; display:flex; justify-content:space-between; align-items:center; color:white; mix-blend-mode:difference; }
.wordmark { color:inherit; text-decoration:none; letter-spacing:.13em; font-size:16px; font-weight:500; }.wordmark span{font-size:12px;margin-left:4px}.site-header nav{display:flex;gap:30px}.site-header a,.menu-button{font:inherit;font-size:11px;letter-spacing:.08em;color:inherit;text-decoration:none}.menu-button{display:none;border:0;background:transparent}
.gallery { height:100vh; display:flex; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--pink) transparent; }.panel { flex:0 0 100vw; height:100vh; scroll-snap-align:start; position:relative; overflow:hidden; display:flex; align-items:center; padding:8vw; }.panel-copy{position:relative;z-index:2;max-width:480px}.eyebrow{font-size:11px;letter-spacing:.13em;margin:0 0 18px}.panel h1,.panel h2,.panel h3{font-family:"Playfair Display",serif;font-weight:500;margin:0}.panel h1{font-size:clamp(48px,7vw,106px);line-height:.9;letter-spacing:-.06em}.panel h2{font-size:clamp(45px,5.5vw,88px);line-height:.94;letter-spacing:-.055em}.panel h3{font-size:29px;line-height:1.02}.intro,.panel-copy>p:not(.eyebrow):not(.tiny-note){font-family:"Playfair Display",serif;font-size:18px;line-height:1.35;max-width:370px}.text-link{display:inline-block;margin-top:14px;color:inherit;text-decoration:none;font-size:11px;letter-spacing:.1em;border-bottom:1px solid currentColor;padding-bottom:6px}.text-link span{font-size:18px;margin-left:10px}.vertical-note{position:absolute;right:32px;bottom:28px;font-size:10px;letter-spacing:.1em;writing-mode:vertical-rl}
.hero { background:#39254b; color:#fff9fc; }.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%;}.hero-tint{position:absolute;inset:0;background:linear-gradient(90deg,rgba(48,18,45,.65),rgba(56,22,68,.1) 66%,rgba(91,47,92,.18));}.hero-copy{margin-left:7vw}.hero-copy .intro{font-family:"DM Mono",monospace;font-size:13px;line-height:1.7;margin-top:30px}
.portrait-panel{background:linear-gradient(135deg,#c7b5f4,#eec5e4 55%,#ffd4bd);color:#58305b;gap:7vw}.photo-frame{height:min(67vh,620px);width:min(38vw,470px);background:linear-gradient(145deg,#ffd8e5,#f19bc1 45%,#c1adf1);display:grid;place-items:center;box-shadow:14px 14px 0 #fff6a8}.photo-frame span,.collage-photo span{font-size:12px;text-align:center;line-height:1.4;letter-spacing:.14em;color:#6a4164}.dark-copy{margin-top:22vh}.tiny-note{font-size:10px!important;line-height:1.5!important;opacity:.68;margin-top:28px}.scribble{position:absolute;bottom:8vh;right:9vw;font-family:"Playfair Display",serif;font-size:26px;font-style:italic;transform:rotate(-8deg);color:#fff7f5}
.notes-panel{background:linear-gradient(120deg,#fff0ae,#ffd5e3 50%,#c2e7de);gap:25px;align-items:center}.notes-heading{align-self:flex-start;margin-top:18vh;width:31vw}.note-card{width:300px;min-height:400px;padding:30px 26px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:9px 9px 0 #8c5b8b;transform:rotate(-2deg)}.note-card+ .note-card{transform:rotate(3deg);margin-top:14vh}.peach-card{background:#ffd2dc}.blue-card{background:#c1e4ff}.date,.read-more{font:inherit;font-size:10px;letter-spacing:.08em}.note-card p:not(.date){font-family:"Playfair Display",serif;line-height:1.4}.read-more{border:0;border-bottom:1px solid var(--ink);background:none;padding:0 0 5px;align-self:flex-start;cursor:pointer}
.collage-panel{background:linear-gradient(135deg,#bce8d1,#bde2ff 52%,#f8c7da);display:block;padding:0}.collage-photo{position:absolute;background:linear-gradient(150deg,#d6a9df,#ffd1b9 45%,#e9f4ad);box-shadow:0 8px 17px #805b7877}.photo-one{width:38vw;height:70vh;left:11vw;top:17vh;display:grid;place-items:center;transform:rotate(-4deg)}.photo-two{width:28vw;height:46vh;left:48vw;top:8vh;background:linear-gradient(145deg,#b9e4ff,#d8b4ed 55%,#ffceac);transform:rotate(5deg)}.photo-three{width:25vw;height:39vh;left:64vw;top:52vh;background:linear-gradient(145deg,#fff0a8,#f9aac9 40%,#afdcca);transform:rotate(-4deg)}.collage-caption{position:absolute;left:10vw;bottom:7vh;color:#4d765f;font-size:12px;letter-spacing:.13em}
.book-panel{background:linear-gradient(120deg,#ffd0df,#f6c8fb 46%,#bde1ff);gap:8vw;justify-content:center}.book-cover{background:linear-gradient(145deg,#ed8bb4,#ba9be7);width:min(31vw,400px);height:min(59vh,575px);padding:33px;color:#fff9ef;box-shadow:14px 14px 0 #fff0a8;display:flex;flex-direction:column}.book-cover span{font-size:12px;letter-spacing:.16em}.book-cover h2{font-size:clamp(36px,4vw,61px);margin:auto 0 0;line-height:.92}.book-cover p{font-family:"Playfair Display",serif;font-style:italic;font-size:19px}.book-cover b{font-size:24px;align-self:flex-end}.buy-button{background:#6b4070;color:#fff7fc;display:inline-flex;gap:24px;align-items:center;text-decoration:none;padding:15px 18px;font-size:11px;letter-spacing:.08em;margin-top:15px}.buy-button span{font-size:20px}.book-copy{margin-top:12vh}
.closing-panel{background:linear-gradient(110deg,#f89dc2,#d0b5f5 56%,#ace3da);color:#5d315d;display:block;padding-top:25vh}.closing-panel h2{font-size:clamp(72px,12vw,170px)}.closing-panel footer{position:absolute;bottom:28px;left:8vw;font-size:10px;letter-spacing:.1em}
dialog{border:0;background:#fff8ef;color:var(--ink);width:min(590px,88vw);padding:55px;box-shadow:12px 12px 0 #21202a}dialog::backdrop{background:#17151acc}.close-dialog{position:absolute;top:13px;right:18px;border:0;background:none;font-size:30px;cursor:pointer}.close-dialog+h2{font-family:"Playfair Display",serif;font-size:42px;line-height:.95;margin:10px 0 25px}dialog p:last-child{font-family:"Playfair Display",serif;font-size:19px;line-height:1.5}
@media (max-width:700px){body{overflow:auto}.site-header{height:58px;padding:16px 20px}.site-header nav{display:none}.menu-button{display:block}.gallery{height:auto;display:block;overflow:visible}.panel{height:100svh;padding:24px;min-height:640px}.hero-copy{margin-left:0}.portrait-panel{display:block;padding-top:110px}.photo-frame{width:57vw;height:48vh;box-shadow:8px 8px 0 #eda9a5}.dark-copy{position:absolute;right:25px;bottom:75px;max-width:45vw}.dark-copy h2{font-size:43px}.dark-copy p{font-size:14px!important}.scribble{right:25px;bottom:25px;font-size:19px}.notes-panel{height:auto;min-height:100svh;display:block;padding-top:100px}.notes-heading{width:auto;margin:0 0 35px}.note-card{width:82vw;min-height:310px;margin:0 0 25px}.note-card+.note-card{margin:0 0 25px 10vw}.photo-one{width:55vw;left:8vw}.photo-two{width:43vw;left:48vw}.photo-three{width:42vw;left:45vw}.book-panel{display:flex;gap:25px;justify-content:flex-start;padding-top:90px}.book-cover{width:45vw;height:48vh;padding:20px}.book-cover h2{font-size:33px}.book-cover p{font-size:14px}.book-copy{margin-top:18vh;max-width:42vw}.book-copy h2{font-size:42px}.book-copy>p{font-size:14px!important}.vertical-note{right:15px}.closing-panel{padding-top:25vh}}
.photo-panel {
  padding: 0;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.photo-panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.photo-one,
.photo-two,
.photo-three {
  object-fit: cover;
}
