:root{--heading-font:'Libre Caslon Display',Georgia,serif;--signature-font:'Caveat',cursive;--heading-scale:1;--gallery-columns:3;--gallery-gap:32px;--page-width:1320px}
body>main:not(.contribute-main){display:flex;flex-direction:column}body [hidden]{display:none!important}
.masthead,.hero{max-width:var(--page-width)}.memories,.closing,footer{width:100%;max-width:var(--page-width)}
.memories,.closing{margin-left:auto;margin-right:auto}.closing{width:calc(100% - 70px)}
.hero h1{font-family:var(--heading-font);font-size:calc(clamp(5.5rem,10vw,10rem)*var(--heading-scale));overflow-wrap:anywhere}.hero h1 .emma-name,.card-name,.closing-script,.personal-dedication,.personal-signature,.album-dialog p{font-family:var(--signature-font)}
.section-top h2,.contribute-main h1{font-family:var(--heading-font)}.gallery-hint,.closing-script,#hero-note{white-space:pre-wrap;overflow-wrap:anywhere}
.grid{grid-template-columns:repeat(var(--gallery-columns),minmax(0,1fr));gap:var(--gallery-gap)}
.card{border-color:var(--line)}.grid .card,.album-page{border-bottom-color:var(--line);border-right-color:var(--line)}.photo{background:var(--line)}
.photo-empty,.card:nth-child(4n+1) .photo-empty{background:linear-gradient(145deg,var(--paper),var(--line));color:var(--muted)}
.card:nth-child(4n+2) .photo-empty{background:linear-gradient(145deg,var(--line),var(--blue-soft));color:var(--ink)}
.card:nth-child(4n+3) .photo-empty{background:linear-gradient(145deg,var(--blue-soft),var(--blue-mid));color:var(--ink)}
.card:nth-child(4n) .photo-empty{background:linear-gradient(145deg,var(--blue-mid),var(--blue));color:var(--ink)}
.album-buttons button:hover{background:var(--line)}.primary-action:hover{background:var(--ink)}
html[data-hero-layout=centered] .hero{grid-template-columns:1fr;text-align:center;padding-top:45px}html[data-hero-layout=centered] .hero-copy{padding-bottom:0}html[data-hero-layout=centered] .hero h1 .emma-name{transform-origin:center}html[data-hero-layout=centered] .hero-playground{max-width:550px}
html[data-hero-layout=photo-first] .hero-copy{order:2}html[data-hero-layout=photo-first] .hero-playground{order:1}
.hero:has(.hero-playground[hidden]){grid-template-columns:1fr}.hero:has(.hero-playground[hidden]) .hero-copy{text-align:center}.hero:has(.hero-playground[hidden]) .emma-name{transform-origin:center}
html[data-photo-shape=square] .grid .photo{aspect-ratio:1}html[data-photo-shape=portrait] .grid .photo{aspect-ratio:.8}
html[data-photo-frame=clean] .card{padding:6px 6px 0;border-width:1px;box-shadow:none}html[data-photo-frame=clean] .card-bottom{padding:12px}
html[data-photo-frame=rounded] .card{border-radius:18px;padding:9px 9px 0}html[data-photo-frame=rounded] .card .photo{border-radius:12px}
html[data-card-tilt=false] .grid .card,html[data-card-tilt=false] .grid .card:hover{transform:none}
html[data-gallery-layout=rows] .grid{grid-template-columns:1fr}html[data-gallery-layout=rows] .grid .card{display:grid;grid-template-columns:180px 1fr;gap:16px;transform:none;padding:12px}html[data-gallery-layout=rows] .grid .photo{aspect-ratio:1}html[data-gallery-layout=rows] .card-bottom{padding:12px}
html[data-album-transition=fade] .album-page{transform:translate3d(0,0,20px) rotate(-3deg);transition:opacity 1s;opacity:0}html[data-album-transition=fade] .album-page[data-position="0"]{opacity:1}html[data-album-transition=fade] .album-page:not([data-position="0"]){pointer-events:none}
html[data-album-transition=slide] .album-page{transform:translateX(180px) scale(.85);transition:transform .8s,opacity .8s}html[data-album-transition=slide] .album-page[data-position="0"]{transform:translateX(0);opacity:1}html[data-album-transition=slide] .album-page[data-position="-1"]{transform:translateX(-100px) scale(.85);opacity:.35}html[data-album-transition=slide] .album-page[data-position="1"]{transform:translateX(100px) scale(.85);opacity:.35}
@media(max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-gallery-columns="1"] .grid{grid-template-columns:1fr}}
@media(max-width:700px){.hero h1{font-size:calc(clamp(4.8rem,20vw,7rem)*var(--heading-scale))}html[data-hero-layout=photo-first] .hero-playground{margin-bottom:24px}.hero h1 .emma-name{font-size:.7em}.masthead{gap:16px;align-items:flex-start}.personal-dedication,.personal-signature{overflow-wrap:anywhere}.grid{gap:min(var(--gallery-gap),28px)}}
@media(max-width:480px){.memories{width:calc(100% - 24px)}.closing{width:calc(100% - 48px)}.grid{grid-template-columns:1fr}html[data-gallery-layout=rows] .grid .card{grid-template-columns:100px minmax(0,1fr);gap:5px}html[data-gallery-layout=rows] .card-name{font-size:1.4rem}.closing{flex-wrap:wrap}.hero h1{font-size:calc(clamp(3.6rem,18vw,6rem)*var(--heading-scale))}}
.hero h1{line-height:1.1}
@media(prefers-reduced-motion:reduce){html[data-album-transition] .album-page{transition:none}}

#video-preview,#video-note{display:block;width:100%;max-height:60vh;background:#000;border-radius:8px;margin:12px 0;object-fit:contain}#video-note[hidden]{display:none}
