/* Editorial collage: large type, illustrated chapters, and real overlapping cards. */
:root { --serif:'Cormorant Garamond',Georgia,serif; --sans:'Inter',Arial,sans-serif; }
body { font-size:20px; line-height:1.7; background:#27382e; }
main { position:relative; isolation:isolate; padding-bottom:0; }
.section { width:calc(100% - 32px); margin-inline:16px; margin-top:-40px; border-radius:32px 32px 0 0; padding:clamp(80px,8vw,130px) clamp(24px,6vw,96px) 110px; overflow:clip; box-shadow:0 -14px 45px #17251c33; transform-origin:50% 100%; }
.section.stackable { position:sticky; top:var(--stack-top); }
.section-inner { max-width:1250px; }
h2 { font:500 clamp(56px,6.5vw,100px)/.97 var(--serif); letter-spacing:-.045em; margin:.35em 0 .4em; text-wrap:balance; }
h3 { font:600 clamp(30px,3vw,44px)/1.05 var(--serif); }
.section-heading { max-width:850px; }
.lede,.explore-card p,.map-steps p,.attendance-cta p:last-child { font-size:clamp(18px,1.45vw,22px); line-height:1.7; }
.eyebrow,.hero-kicker { font-size:14px; letter-spacing:.18em; }
.brand { font-size:16px; }
.nav a { font-size:14px; letter-spacing:.1em; }
.language button { font-size:13px; }
.hero { position:sticky; top:0; min-height:100svh; z-index:0; }
.hero-art { inset:-160px 0 auto; height:calc(100% + 320px); object-fit:cover; transform:translate3d(0,var(--hero-shift,0px),0); }
.hero-content { top:30%; left:7%; width:86%; animation:none; transform:translate3d(0,var(--hero-text-shift,0px),0); opacity:var(--hero-opacity,1); }
.hero-content h1 { font-size:clamp(76px,10vw,154px); line-height:.9; font-weight:500; }
.hero-date { font-size:clamp(23px,2.5vw,35px); }
.hero-place,.scroll-cue { font-size:15px; }
.hero-copy { bottom:70px; }
.vector-library { position:absolute; width:0; height:0; overflow:hidden; }
.chapter-art { position:absolute; z-index:0; pointer-events:none; color:var(--gold); width:330px; height:400px; right:1%; top:80px; opacity:.28; transform:rotate(12deg); }
.chapter-art--sprig { right:-50px; height:580px; width:390px; }
.chapter-art--mountains { width:90%; height:430px; left:5%; top:auto; bottom:30px; opacity:.28; transform:none; color:#bdd3b5; }
.chapter-art--sun { width:290px; height:290px; top:40px; right:35px; color:#694f26; opacity:.45; }
.chapter-art--postmark { top:60px; right:4%; width:230px; height:210px; opacity:.65; color:#edd6a6; transform:rotate(-15deg); }
.chapter-art--rings { top:45px; right:30px; width:200px; height:200px; opacity:.25; }
.chapter-icon { width:76px; height:62px; display:block; color:var(--terracotta); margin-bottom:18px; }
.welcome-emblem { width:95px; height:95px; color:var(--terracotta); margin:10px auto 25px; }
.intro { background-color:#f6eedf; background-image:radial-gradient(ellipse at 0% 15%,#b4c4a654,transparent 52%),repeating-linear-gradient(0deg,#795e3210 0 1px,transparent 1px 5px); }
.intro .section-inner { max-width:950px; }
.intro .section-heading { margin-bottom:0; }
.intro .lede { max-width:720px; }
.welcome-copy p:first-child { font:500 clamp(28px,3vw,38px)/1.2 var(--serif); color:var(--olive); }
.invite-card { width:320px; padding:15px; transform:rotate(-5deg); box-shadow:12px 15px 0 #a8844840,0 22px 45px #26312826; }
.invite-card p { font-size:13px; }
.travel { background:#34483c; color:#f5efdf; }
.travel::before { inset:0; width:100%; height:100%; border-radius:0; opacity:.13; background:url('assets/sacred-valley-landscape.png') center/cover; }
.travel h2,.travel h3,.travel .lede,.travel .route,.travel .eyebrow { color:#f4ecd9; }
.travel .split { grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); gap:6%; align-items:start; }
.travel .chapter-icon { color:#d6be88; width:130px; }
.travel .route { font-size:23px; letter-spacing:.02em; }
.journey-map { margin:20px 0 0; padding:25px; background:#f3ecd9; color:var(--olive); border-radius:5px; transform:rotate(2deg); box-shadow:14px 15px 0 #c1ad8155,0 25px 40px #14271f55; }
.map-layout { display:block; }
.journey-map h3 { color:var(--olive); font-size:38px; }
.journey-map .eyebrow { color:var(--terracotta); font-size:13px; }
.map-art { display:block; max-height:420px; }
.map-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.map-steps li { padding:30px 0 0; border:0; }
.map-steps li::before { top:0; font-size:20px; }
.map-steps strong { font-size:26px; }
.map-steps p { font-size:15px; line-height:1.5; }
.map-caption { font-size:14px; margin-top:15px; line-height:1.5; }
.quiet-button { font-size:15px; }
.week { background-color:#d8d7b8; background-image:linear-gradient(#6e795112 1px,transparent 1px),linear-gradient(90deg,#6e795112 1px,transparent 1px); background-size:36px 36px; }
.week .section-heading { max-width:800px; }
.timeline { gap:25px; align-items:start; margin-top:60px; }
.timeline-item { background:#fff9eb; border-radius:2px; padding:14px 22px 30px; box-shadow:5px 9px 0 #6b78572e; transform:rotate(-2deg); }
.timeline-item:nth-child(2) { transform:rotate(2.5deg); margin-top:45px; }
.timeline-item:nth-child(3) { transform:rotate(-1deg); margin-top:12px; }
.timeline-item img { width:calc(100% + 16px); margin:-6px -8px 25px; height:210px; }
.timeline-item .date { font-size:14px; }
.tentative { font-size:12px; letter-spacing:.06em; }
.stay { background-color:#eddac3; background-image:radial-gradient(ellipse at 100% 30%,#b9896540,transparent 65%); }
.stay .chapter-art { color:#786247; left:-90px; right:auto; transform:rotate(-24deg); top:90px; }
.stay-image { transform:rotate(-5deg); padding:16px 16px 60px; }
.stay-image figcaption { position:static; margin-top:14px; color:var(--olive); font-size:14px; text-shadow:none; }
.stay-card { border-radius:0; border:0; border-left:2px solid var(--terracotta); padding:22px 28px; }
.stay-card.featured { box-shadow:7px 7px 0 #8b70462e; }
.explore { background:#8d4d3b; color:#fff2df; }
.explore h2,.explore h3,.explore .lede,.explore-card p,.explore .eyebrow,.explore-card a { color:#fff2df; }
.explore-intro { grid-template-columns:1.25fr .75fr; }
.explore-image { transform:rotate(6deg); padding:12px 12px 45px; background:#fff2df; box-shadow:12px 12px 0 #44282040; margin-top:170px; }
.explore-image img { aspect-ratio:4/5; }
.explore-card { border-color:#f2d6b078; }
.explore-card a { font-size:16px; letter-spacing:0; }
.card-index { color:#e7c991; font-size:44px; margin-bottom:24px; }
.help { background:#f3eddf; background-image:repeating-linear-gradient(90deg,transparent 0 79px,#b49e7320 79px 80px); }
.help .section-heading { max-width:900px; }
.help summary { font-size:30px; }
.footer { font-size:16px; min-height:220px; }
.title-word { display:inline-block; will-change:transform,opacity; }
.text-reveal .title-word { opacity:0; transform:translateY(35px) rotate(2deg); transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1); transition-delay:calc(var(--word-index)*65ms); }
.text-reveal.revealed .title-word { opacity:1; transform:none; }
.title-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.reveal-ready { opacity:1; transform:none; }
@media (max-width:900px) {
 .travel .split,.explore-intro { grid-template-columns:1fr; }
 .journey-map { max-width:640px; margin:40px auto 0; }
 .explore-image { max-width:440px; margin:20px auto 0; }
 .explore-image img { aspect-ratio:16/9; }
 .chapter-art--postmark { top:30px; opacity:.24; }
}
@media (max-width:760px) {
 body { font-size:18px; }
 .section { width:calc(100% - 16px); margin-inline:8px; margin-top:-28px; padding:66px 22px 85px; border-radius:24px 24px 0 0; }
 .section.stackable { position:sticky; top:var(--stack-top); }
 h2 { font-size:clamp(48px,12vw,72px); }
 h3 { font-size:34px; }
 .brand { font-size:14px; }
 .nav a { font-size:12px; letter-spacing:.04em; }
 .hero { min-height:max(730px,100svh); }
 .hero-art { top:-100px; height:calc(100% + 200px); transform:translate3d(0,var(--hero-shift,0px),0); }
 .hero-content { top:35%; left:6%; width:88%; text-align:center; }
 .hero-content h1 { font-size:clamp(59px,15vw,100px); white-space:normal; }
 .hero-place { font-size:13px; letter-spacing:.15em; }
 .hero-copy { bottom:65px; }
 .chapter-art { opacity:.18; }
 .chapter-art--sun { width:160px; height:160px; right:-15px; }
 .chapter-art--sprig { width:210px; right:-65px; }
 .timeline { gap:25px; }
 .timeline-item:nth-child(2),.timeline-item:nth-child(3) { margin-top:0; }
 .journey-map { padding:15px; transform:rotate(1deg); box-shadow:5px 7px 0 #c1ad8155; }
 .map-steps { grid-template-columns:1fr; gap:0; }
 .map-steps li { padding:10px 0 10px 34px; border-top:1px solid var(--line); }
 .map-steps li::before { top:10px; }
 .map-steps p { font-size:16px; }
 .map-art { margin:0 -8px; width:calc(100% + 16px); max-width:none; }
 .map-art text { font-size:17px; }
 .map-art .map-small { font-size:14px; }
 .help summary { font-size:26px; }
 .stay-image { max-width:90%; }
 .attendance-cta { margin-inline:0; }
}
@media (prefers-reduced-motion:reduce) {
 .hero,.section.stackable { position:relative; top:auto; }
 .hero-art,.hero-content { transform:none !important; opacity:1 !important; }
 .text-reveal .title-word { opacity:1; transform:none; }
}
@media print {
 .hero,.section.stackable { position:relative; top:auto; }
 .text-reveal .title-word { opacity:1; transform:none; }
}
/* Tactile travel journal: grain, fibers, translucent tape and personal photographs. */
:root { --serif:'Fraunces',Georgia,serif; --sans:'Source Sans 3',Arial,sans-serif; --hand:'Caveat','Segoe Print',cursive; }
h2 { font-weight:400; font-size:clamp(48px,5.8vw,84px); line-height:1.07; letter-spacing:-.045em; }
h3 { font-weight:500; font-size:clamp(28px,2.7vw,38px); line-height:1.15; }
.hero-content h1 { font-family:var(--serif); font-weight:400; font-size:clamp(68px,8vw,120px); letter-spacing:-.06em; }
.hero-date { letter-spacing:.06em; }
body { background-color:#d5c5a9; background-image:url('assets/paper-grain.svg'); }
.section { isolation:isolate; border:1px solid #79664b24; }
.section::after { content:""; position:absolute; inset:0; border:0; z-index:0; background:url('assets/paper-grain.svg') repeat; background-size:240px; opacity:.55; mix-blend-mode:multiply; pointer-events:none; }
.section-inner { z-index:1; }
.intro { background-color:#f3e8d1; background-image:radial-gradient(ellipse at 6% 20%,#e2d1acaa,transparent 58%),linear-gradient(105deg,transparent 47%,#8e6e3514 49.8%,#fff8e858 50.2%,transparent 53%); }
.travel { background:#d8ddc6; color:#2c4135; }
.travel::before { opacity:.10; filter:sepia(.6); }
.travel h2,.travel h3,.travel .lede,.travel .route,.travel .eyebrow { color:#2c4135; }
.travel .chapter-icon,.travel .chapter-art { color:#697853; }
.week { background-color:#e2d9b9; background-image:linear-gradient(#89764e15 1px,transparent 1px),linear-gradient(90deg,#89764e15 1px,transparent 1px); }
.stay { background-color:#e9d7bf; background-image:radial-gradient(ellipse at 85% 40%,#b9905938,transparent 62%); }
.explore { background:#e6c4ac; color:#4a3428; }
.explore h2,.explore h3,.explore .lede,.explore-card p,.explore .eyebrow,.explore-card a { color:#4a3428; }
.explore-card { border-color:#7f56385e; }
.explore .chapter-art--postmark { color:#845536; }
.card-index { color:#95603d; }
.help { background-color:#eee5d3; background-image:repeating-linear-gradient(0deg,transparent 0 35px,#8c86641b 35px 36px); }
.footer { background-color:#35483a; background-image:url('assets/paper-grain.svg'); background-blend-mode:soft-light; }
.journey-map,.timeline-item,.stay-card,.invite-card,.taped-photo { background-image:url('assets/paper-grain.svg'); }
.journey-map { box-shadow:12px 12px 0 #8371472e,0 20px 35px #24372a22; }
.handwritten-signature { display:inline-block; font:500 clamp(49px,6vw,76px)/1.25 var(--hand); color:#6e5137; transform:rotate(-4deg); margin-top:10px; letter-spacing:-.035em; }
.welcome-signoff { font:400 23px/1.7 var(--serif); }
.memory-board { display:grid; grid-template-columns:1fr 1.1fr; align-items:center; gap:40px; padding:50px 20px 60px; position:relative; margin:20px auto 30px; max-width:940px; }
.taped-photo { --paper-angle:-4deg; position:relative; margin:0; padding:14px 14px 10px; background-color:#fff9ec; box-shadow:3px 8px 10px #4e3d2526,0 24px 32px #4e3d251a; overflow:visible; transform-origin:50% 15%; z-index:1; }
.taped-photo::before,.taped-photo::after { content:""; position:absolute; z-index:2; width:100px; height:35px; top:-15px; left:calc(50% - 50px); transform:rotate(-8deg); background:linear-gradient(90deg,#e4d49e85,#eee6bfba 46%,#c4b57778); border-left:1px dashed #9f916840; border-right:1px dashed #9f916840; box-shadow:0 1px 3px #47351d14; backdrop-filter:blur(.6px); pointer-events:none; }
.taped-photo::after { top:auto; bottom:36px; left:auto; right:-22px; width:73px; height:27px; transform:rotate(-43deg); opacity:.8; }
.taped-photo img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
.taped-photo figcaption { color:#72543c; font:500 clamp(24px,2.5vw,32px)/1.2 var(--hand); margin:14px 0 6px; text-align:center; }
.memory-board .taped-photo:nth-child(2) { --paper-angle:5deg; margin-top:70px; }
.memory-thread { position:absolute; bottom:2px; left:20%; width:70%; height:90px; fill:none; stroke:#997144; stroke-width:2; stroke-linecap:round; }
.travel-memory { max-width:290px; margin:65px auto 10px; --paper-angle:-6deg; }
.explore-image.taped-photo { --paper-angle:5deg; margin:70px 0 0; padding:14px 14px 10px; max-width:390px; }
.explore-image.taped-photo img { aspect-ratio:auto; }
.timeline .timeline-item { --paper-angle:-2deg; overflow:visible; position:relative; }
.timeline .timeline-item:nth-child(2) { --paper-angle:2.5deg; }
.timeline .timeline-item:nth-child(3) { --paper-angle:-1deg; }
.timeline .timeline-item,.taped-photo,.explore-image.taped-photo { transform:translate3d(0,var(--paper-lift,0px),0) rotate(var(--paper-angle,-2deg)) perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition:transform .22s ease-out,box-shadow .22s ease-out; }
.timeline .timeline-item.is-lifted,.taped-photo.is-lifted { box-shadow:0 24px 40px #4a342839; z-index:3; }
.chapter-icon,.welcome-emblem { overflow:visible; }
@media (max-width:900px) { .explore-image.taped-photo { margin:45px auto 0; } }
@media (max-width:760px) {
 h2 { font-size:clamp(42px,10.6vw,64px); }
 .hero-content h1 { font-size:clamp(48px,12.5vw,80px); }
 .memory-board { gap:32px; padding:35px 6px 60px; grid-template-columns:1fr; max-width:360px; }
 .memory-board .taped-photo { max-width:290px; width:94%; justify-self:start; }
 .memory-board .taped-photo:nth-child(2) { margin-top:0; justify-self:end; }
 .travel-memory { width:85%; margin-top:45px; }
 .taped-photo::after { right:-10px; }
 .explore-image.taped-photo { width:90%; }
 .memory-thread { bottom:-15px; left:0; width:100%; }
 .welcome-signoff { font-size:21px; }
 .timeline .timeline-item { transition:box-shadow .22s ease; }
}
@media (prefers-reduced-motion:reduce) {
 .timeline .timeline-item,.taped-photo,.explore-image.taped-photo { transform:rotate(var(--paper-angle,-2deg)); }
}
/* Stable composited header surfaces: fade opacity, never swap gradient/solid backgrounds. */
.site-header,.site-header.scrolled { background:transparent; box-shadow:none; isolation:isolate; transition:color .28s ease; }
.site-header::before,.site-header::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; transition:opacity .28s ease; }
.site-header::before { background:linear-gradient(#17251cca,#17251c00); opacity:1; }
.site-header::after { background:var(--paper) url('assets/paper-grain.svg'); box-shadow:0 1px 0 var(--line); opacity:0; }
.site-header.scrolled::before { opacity:0; }
.site-header.scrolled::after { opacity:1; }
.site-header .language button.active,.site-header:not(.scrolled) .language button.active { background:var(--paper); color:var(--olive); box-shadow:inset 0 0 0 1px var(--line); }
/* Natural-flow hero: no pinning or additional scroll distance. */
.hero-stage { height:auto; min-height:0; position:relative; }
.hero-stage .hero { height:100svh; min-height:640px; position:relative; top:auto; }
.hero-art { top:-260px; height:calc(100% + 520px); transform:translate3d(0,var(--hero-shift,0px),0) scale(var(--hero-scale,1.09)); backface-visibility:hidden; }
.hero-content { will-change:transform; }
.hero-stage .hero-copy { bottom:65px; }
@media (max-width:760px) {
 .site-header::before { opacity:0; }
 .site-header::after { opacity:1; }
 .site-header,.site-header.scrolled { color:var(--olive); }
 .site-header .language button.active,.site-header:not(.scrolled) .language button.active { background:var(--olive); color:var(--paper); }
 .hero-stage { height:auto; min-height:0; }
 .hero-stage .hero { min-height:620px; }
 .hero-art { top:-175px; height:calc(100% + 350px); }
}
@media (prefers-reduced-motion:reduce) {
 .hero-stage { height:auto; min-height:0; }
 .hero-stage .hero { position:relative; }
 .hero-art { transform:none !important; }
 .site-header::before,.site-header::after { transition:none; }
}
@media print { .hero-stage { height:auto; min-height:0; } .hero-stage .hero { position:relative; } }
/* Native cursor stays responsive; decorative trails never intercept page input. */
@media (hover:hover) and (pointer:fine) {
 html,body,a,button,summary,.quiet-button { cursor:url('assets/paper-cursor.svg') 3 3,auto; }
 input,textarea,[contenteditable="true"] { cursor:text; }
}
.flight-effects { position:fixed; inset:0; z-index:1000; pointer-events:none; overflow:hidden; contain:strict; }
.cursor-dot { position:absolute; width:3px; height:3px; border-radius:50%; background:#785638; box-shadow:0 0 0 1px #fff7e980; pointer-events:none; }
.tap-flight { position:absolute; width:1px; height:1px; overflow:visible; pointer-events:none; }
.tap-flight svg { position:absolute; overflow:visible; }
.tap-flight .tap-route { fill:none; stroke:#8b623c; stroke-width:1.5; stroke-dasharray:1 9; stroke-linecap:round; }
.tap-plane { position:absolute; left:-10px; top:-10px; width:28px; height:28px; filter:drop-shadow(0 2px 2px #50361d30); }
@media print { .flight-effects { display:none; } }

/* Two matching ImageGen plates, with a genuine transparent floral foreground. */
.hero-art,.hero-foreground { position:absolute; inset:-5% 0 auto; width:100%; height:110%; object-fit:cover; object-position:center; pointer-events:none; backface-visibility:hidden; }
.hero-art { transform:translate3d(0,var(--hero-shift,0px),0); }
.hero-foreground { z-index:1; transform:translate3d(0,var(--hero-foreground-shift,0px),0); }
.hero-content,.hero-copy { z-index:2; }
.chapter-art--quipu { width:260px; height:260px; right:3%; top:auto; bottom:25px; color:#896442; transform:rotate(-8deg); opacity:.30; }
.help .chapter-art--quipu { right:1%; bottom:5px; width:230px; transform:rotate(9deg); }
@media(max-width:760px) {
 .hero-art { object-position:58% center; }
 .hero-foreground { object-position:12% center; }
 .chapter-art--quipu { width:165px; height:165px; right:8px; bottom:4px; opacity:.24; }
 .help .chapter-art--quipu { width:155px; height:155px; }
}
@media(prefers-reduced-motion:reduce) { .hero-foreground { transform:none; } }

/* Image enlargement uses the browser's modal top layer, above every stacked chapter. */
img[data-enlarge] { cursor:zoom-in; }
.hero-art[data-enlarge] { pointer-events:auto; }
img[data-enlarge]:focus-visible { outline:3px solid #9a643c; outline-offset:5px; }
.image-viewer { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:48px 24px 60px; border:0; background:transparent; overflow:hidden; color:#fff8e8; }
.image-viewer[open] { display:flex; flex-direction:column; align-items:center; justify-content:center; }
.image-viewer::backdrop { background:#17251ceb; backdrop-filter:blur(6px); }
.image-viewer-image { display:block; width:auto; height:auto; max-width:calc(100vw - 48px); max-height:calc(100dvh - 120px); object-fit:contain; box-shadow:0 16px 70px #0007; cursor:zoom-out; animation:photo-enlarge .22s ease-out; }
.image-viewer-close { position:absolute; right:16px; top:10px; width:44px; height:44px; border:1px solid #fff8e880; border-radius:50%; background:#24382d; color:#fff8e8; font:32px/1 Arial,sans-serif; cursor:pointer; }
.image-viewer-hint { position:absolute; bottom:14px; left:12px; right:12px; text-align:center; font:16px/1.4 var(--sans); }
@keyframes photo-enlarge { from {opacity:0;transform:scale(.96)} to {opacity:1;transform:scale(1)} }
@media(max-width:760px) { .image-viewer { padding-inline:12px; } .image-viewer-image { max-width:calc(100vw - 24px); } }
@media(prefers-reduced-motion:reduce) { .image-viewer-image { animation:none; } }

/* Four depth planes: sky, mountains, village/lake, and near flowers. */
.hero-sky,.hero-mountains { position:absolute; inset:-5% 0 auto; width:100%; height:110%; object-fit:cover; object-position:center; pointer-events:none; backface-visibility:hidden; will-change:transform; }
.hero-sky { z-index:0; transform:translate3d(0,var(--hero-sky-shift,0px),0); }
.hero-mountains { z-index:1; transform:translate3d(0,var(--hero-mountains-shift,0px),0); }
.hero-art { z-index:2; }
/* Keep the original bright flowers above the landscape-only shading. */
.hero-foreground { z-index:4; }
.hero::before { z-index:3; }
.hero-content,.hero-copy { z-index:5; }
@media(max-width:760px) { .hero-sky,.hero-mountains { object-position:58% center; } }
@media(prefers-reduced-motion:reduce) { .hero-sky,.hero-mountains { transform:none; } }

/* Reveal the original couple through the landscape shade, like warm evening light. */
.hero-couple-light { position:absolute; inset:-5% 0 auto; width:100%; height:110%; z-index:3; pointer-events:none; transform:translate3d(0,var(--hero-shift,0px),0); opacity:0; mask-image:radial-gradient(ellipse var(--couple-rx,130px) var(--couple-ry,180px) at var(--couple-x,25%) var(--couple-y,69%),#000 12%,#000c 42%,transparent 100%); }
.hero-couple-light img { width:100%; height:100%; object-fit:cover; object-position:center; filter:brightness(1.12) saturate(1.12); }
.hero-couple-light::after { content:""; position:absolute; inset:0; background:radial-gradient(ellipse var(--couple-rx,130px) var(--couple-ry,180px) at var(--couple-x,25%) var(--couple-y,69%),#ffde8c24,transparent 80%); }
.hero-couple-light.is-lit { opacity:1; animation:couple-light-arrives 2s .35s ease-out both; }
@keyframes couple-light-arrives { from {opacity:0} to {opacity:1} }
@media(max-width:760px),(max-aspect-ratio:1/1) {
 .hero-art,.hero-mountains,.hero-sky,.hero-couple-light img { object-position:18% center; }
}
@media(prefers-reduced-motion:reduce) { .hero-couple-light { transform:none; } .hero-couple-light.is-lit { animation:none; } }
