:root{
  --pink:#f8b6cd; --pink-soft:#fde4ec; --rose:#e8508e; --rose-deep:#c93473;
  --ink:#4a1730; --cream:#fff8fa; --strip-h:0px;
  --lift-light:0 1px 1px rgba(0,0,0,.06),0 2px 6px rgba(0,0,0,.10),0 6px 18px rgba(0,0,0,.06);
  --lift-body:0 1px 1px rgba(0,0,0,.06),0 2px 6px rgba(0,0,0,.10);
  --lift-dark:0 1px 2px rgba(0,0,0,.45),0 3px 10px rgba(0,0,0,.35),0 8px 24px rgba(0,0,0,.25);
  --serif:'Instrument Serif',Georgia,serif; --sans:'DM Sans',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
.concept-strip{position:relative;z-index:60;background:var(--ink);color:#fff;font-size:12px;letter-spacing:.08em;text-align:center;padding:9px 44px;line-height:1.3}
.concept-strip button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:0;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:6px 10px}
.site-header{position:fixed;left:0;right:0;top:var(--strip-h);z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(18px,4vw,48px);transition:background .25s}
.site-header.solid{background:rgba(255,248,250,.94)}
.logo{font-family:var(--serif);font-size:28px;text-decoration:none;color:var(--ink);text-shadow:var(--lift-light);line-height:1}
.nav{display:flex;gap:28px;align-items:center}
.nav a{font-size:11px;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:var(--ink);text-shadow:var(--lift-body);font-weight:500}
.btn{display:inline-block;font:500 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;padding:17px 30px;border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;transition:background .2s,color .2s}
.nav a.btn{color:#fff;text-shadow:none}
.btn:hover{background:var(--rose-deep);border-color:var(--rose-deep)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:500}

/* HERO: pink gingham field, one photo, one satin ribbon bow */
.gingham{background-color:var(--pink);
  background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.5) 0 30px,transparent 30px 60px),repeating-linear-gradient(90deg,rgba(255,255,255,.5) 0 30px,transparent 30px 60px)}
.hero{position:relative;overflow:hidden;min-height:calc(100svh - var(--strip-h));padding:calc(var(--strip-h) + 150px) 0 40px;text-align:center;display:flex;flex-direction:column;align-items:center}
.stage{position:relative;width:100%;display:flex;justify-content:center}
.frame{width:min(88vw,58svh);aspect-ratio:1/1;position:relative;box-shadow:0 18px 40px rgba(120,20,70,.22)}
.frame img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.band{position:absolute;left:0;right:0;top:calc(var(--bandY,0px));height:var(--bandH,30px);transform:translateY(-50%);
  background:linear-gradient(180deg,#d63b7e 0%,#f27aa8 22%,#ffc2da 42%,#ee6598 62%,#cf3376 100%);
  box-shadow:0 3px 8px rgba(120,20,70,.25)}
.bow{position:absolute;left:50%;top:var(--bandY,0px);width:var(--bowW,520px);transform:translate(-50%,-41.6%);filter:drop-shadow(0 6px 8px rgba(120,20,70,.28))}
.tail{transform-box:fill-box;transform-origin:50% 0;animation:sway 5s ease-in-out infinite}
.tail.r{animation-delay:-2.5s}
@keyframes sway{0%,100%{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}
.hero-copy{margin-top:34px;display:flex;flex-direction:column;align-items:center;gap:20px;position:relative;z-index:3}
.hero-copy .eyebrow{text-shadow:var(--lift-light);color:var(--ink)}

/* sections */
section{position:relative}
.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(18px,4vw,48px)}
.sets{padding:110px 0 90px}
.sets h2,.book h2{font-family:var(--serif);font-weight:400;font-size:clamp(48px,8vw,108px);line-height:.98;text-shadow:var(--lift-light)}
.sets h2 em,.book h2 em{color:var(--rose-deep);font-style:italic}
.sets .lead{max-width:520px;margin-top:22px;font-size:17px;text-shadow:var(--lift-body)}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:56px}
.tiles .t{aspect-ratio:4/5;overflow:hidden;background:var(--pink-soft)}
.tiles img{width:100%;height:100%;object-fit:cover}
.note{margin-top:26px;font-size:14px;letter-spacing:.04em}
.book{padding:100px 0 110px;background:var(--pink-soft)}
.book .grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(30px,6vw,90px);align-items:center}
.arch{width:min(100%,400px);aspect-ratio:9/16;max-height:78svh;border-radius:999px 999px 0 0;overflow:hidden;background:var(--pink);margin:0 auto;box-shadow:0 18px 40px rgba(120,20,70,.18)}
.arch video{width:100%;height:100%;object-fit:cover}
.facts{margin:38px 0 40px;border-top:1px solid rgba(74,23,48,.35)}
.facts li{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding:20px 0;border-bottom:1px solid rgba(74,23,48,.35)}
.facts b{font-family:var(--serif);font-weight:400;font-size:clamp(30px,4vw,44px);line-height:1;color:var(--rose-deep);white-space:nowrap}
.facts span{font-size:15px;text-align:right}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
footer{padding:54px 0 60px;background:var(--ink);color:#fff}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:26px;align-items:flex-end}
footer .logo{color:#fff;text-shadow:var(--lift-dark);font-size:34px}
footer p{font-size:13px;letter-spacing:.06em;line-height:1.9;text-shadow:var(--lift-dark)}
footer a{text-underline-offset:3px}
.sticky-bar{display:none}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}
.reveal.in{opacity:1;transform:none}

@media (max-width:820px){
  .nav a:not(.btn){display:none}
  .nav .btn{padding:13px 18px;font-size:11px}
  .logo{font-size:24px}
  .hero{padding-top:calc(var(--strip-h) + 120px);min-height:0}
  .frame{width:min(84vw,46svh)}
  .hero-btn{display:none}
  .hero-copy{margin-top:26px}
  .hero{padding-bottom:32px}
  .tiles{grid-template-columns:repeat(2,1fr);gap:10px}
  .book .grid{grid-template-columns:1fr}
  .arch{width:min(78%,340px)}
  .sets{padding:80px 0 70px}.book{padding:70px 0 80px}
  .sticky-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--cream);border-top:1px solid rgba(74,23,48,.25);padding:10px 16px}
  .sticky-bar .btn{display:block;text-align:center;width:100%}
  body{padding-bottom:70px}
  .nav .btn{display:none}
  .site-header{justify-content:center}
}
@media (prefers-reduced-motion:reduce){.tail{animation:none}.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
