:root{--jardin:#BEBF83;--printemps:#FFFFFF;--creme:#FFFFFF;--marbre:#FFFFFF;--primary:#3E4A2E;--primary-dark:#2E3C23;--bg:#FFFFFF;--surface:#FFFFFF;--ink:#2E3C23;--muted:#526245;--line:#72815C;--accent:var(--jardin);--sea:var(--jardin);--sea-light:#FFFFFF;--white:#FFFFFF;--display:"Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;--body:"Avenir Next",Avenir,"Segoe UI",sans-serif;--z-header:10;--z-menu:20}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65}body.modal-open{overflow:hidden}button,input,textarea{font:inherit}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.12;text-wrap:balance}h2{font-size:clamp(2.1rem,4vw,3.5rem);letter-spacing:-.025em}h3{font-size:1.9rem}p{text-wrap:pretty;color:var(--muted)}.section-wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.section-space{padding-block:104px}.demo-banner{background:var(--primary-dark);color:var(--white);text-align:center;padding:8px 20px;font-size:12px;letter-spacing:.03em}.demo-banner span{margin:0 8px}.site-header{height:88px;padding-inline:max(48px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:var(--z-header);background:var(--sea);border-bottom:1px solid var(--line)}.monogram{font:34px var(--display);color:var(--primary);text-decoration:none;white-space:nowrap}.monogram span{font-style:italic;font-size:25px;margin-inline:3px}.site-header nav{display:flex;gap:36px;font-size:14px}.site-header nav a{text-decoration:none;position:relative;padding-block:10px}.site-header nav a:hover{color:var(--primary)}.site-header nav a:after{content:"";position:absolute;bottom:4px;left:0;width:100%;height:1px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .2s}.site-header nav a:hover:after{transform:scaleX(1)}.menu-toggle{display:none}.hero{padding-block:70px 86px;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:90px;min-height:660px}.hero-intro{font-size:14px;letter-spacing:.08em;color:var(--primary);margin-bottom:24px}.hero h1{font-size:clamp(3.6rem,7vw,6rem);color:var(--primary);max-width:440px;letter-spacing:-.035em;line-height:1.03}.ampersand{font-style:italic;font-size:.66em;display:inline-block}.hero-description{margin-top:26px;max-width:400px}.wedding-date{margin-block:28px;font-size:18px;color:var(--ink)}.wedding-date span{display:block;font-size:13px;color:var(--muted);margin-top:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:50px;padding:13px 24px;border:1px solid var(--primary);background:var(--primary);color:var(--white);font-size:14px;text-decoration:none;border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:var(--primary-dark);transform:translateY(-2px)}.button span{font-size:21px}.hero-portrait{padding:0 8px;text-align:center}.portrait-frame{aspect-ratio:4/4.7;border-radius:48% 48% 3px 3px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;outline:1px solid var(--line);outline-offset:-15px}.portrait-initials{font:clamp(4rem,8vw,7rem) var(--display);color:var(--primary);display:flex;align-items:center;gap:6px}.portrait-initials span{font-size:.55em;font-style:italic;transform:translateY(22px)}.photo-label{font-size:13px;color:var(--muted);margin-top:36px}.portrait-caption{font:italic 20px var(--display);display:block;margin-top:22px;color:var(--primary)}.countdown-band{background:var(--primary);color:var(--white)}.countdown-inner{padding-block:45px;display:flex;justify-content:space-between;align-items:center;gap:40px}.countdown-band h2{font-size:2.3rem}.countdown-band p{font-size:13px;color:var(--white);margin-top:16px;opacity:.88}.countdown{display:flex;gap:32px;text-align:center}.countdown div{min-width:72px}.countdown strong{display:block;font:54px var(--display);font-variant-numeric:tabular-nums;font-weight:400}.countdown span{font-size:13px}.section-heading{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;align-items:start;margin-bottom:56px}.section-heading p{max-width:410px;padding-top:7px}.couple-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px}.person{display:grid;grid-template-columns:145px 1fr;gap:26px;align-items:center}.person h3{font-size:2.3rem;color:var(--primary);margin-bottom:16px}.person p{font-size:15px}.person-photo{height:210px;background:var(--surface);display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:50% 50% 3px 3px}.person-photo>span{font:64px var(--display);color:var(--primary)}.person-photo small{font-size:11px;text-align:center;max-width:110px;margin-top:12px;color:var(--muted)}.groom{background:var(--accent)}.story-section{background:var(--surface)}.timeline{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;position:relative}.timeline:before{content:"";position:absolute;left:24px;right:0;top:25px;height:1px;background:var(--line)}.timeline li{position:relative}.chapter{width:52px;height:52px;border:1px solid var(--line);background:var(--surface);color:var(--primary);border-radius:50%;display:grid;place-items:center;font:20px var(--display);margin-bottom:30px;position:relative}.story-date{display:block;font-size:12px;color:var(--muted);min-height:40px}.timeline h3{margin-block:8px 16px;color:var(--primary)}.timeline p{font-size:15px}.venue-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:88px}.venue-info h3{margin-bottom:30px;color:var(--primary)}dl{margin:0}dl>div{margin-bottom:22px}dt{font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--primary);margin-bottom:5px}dd{margin:0;font-size:16px}dd small{display:block;color:var(--muted);font-size:14px;margin-top:3px}.map-panel{border:1px solid var(--line);border-radius:4px;overflow:hidden;align-self:start}.map-panel iframe{width:100%;height:310px;border:0;display:block;background:var(--surface)}.map-caption{padding:25px 28px}.map-caption strong{font-weight:500}.map-caption p{font-size:13px;margin-block:8px 15px}.text-link{border:0;border-bottom:1px solid currentColor;border-radius:0;background:none;color:var(--primary);padding:5px 0;text-decoration:none;font-size:14px;display:inline-flex;align-items:center;gap:14px;line-height:1.5;min-height:36px}.text-link:hover{color:var(--primary-dark)}.gifts-section{background:var(--surface)}.gift-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:110px;align-items:center}.gift-intro h2{color:var(--primary)}.gift-intro p{max-width:470px;margin-block:22px 28px}.pix-note{padding:28px 0 28px 45px;border-left:1px solid var(--line)}.small-monogram{font:30px var(--display);color:var(--primary);display:block;margin-bottom:20px}.pix-note h3{font-size:1.8rem}.pix-note p{margin-block:14px;font-size:15px}.pix-note small{display:block;color:var(--muted);font-size:12px;margin-top:22px}footer{padding-block:52px;text-align:center}.footer-names{font:32px var(--display);text-decoration:none;color:var(--primary)}footer p{margin-block:12px 20px;font-size:14px}footer small{font-size:12px;color:var(--muted)}dialog{border:0;border-radius:8px;padding:32px;width:min(960px,calc(100% - 32px));max-height:calc(100dvh - 48px);color:var(--ink);background:var(--bg);overscroll-behavior:contain}dialog::backdrop{background:rgb(52 45 56/.7)}dialog[open]{animation:dialog-in .2s ease-out}.dialog-header{display:flex;justify-content:space-between;align-items:start;gap:18px}.dialog-header h2{font-size:2.3rem}.dialog-kicker{font-size:13px;color:var(--primary);margin-bottom:10px}.close-button{width:44px;height:44px;flex-shrink:0;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:50%;font-size:28px;line-height:1}.close-button:hover{background:var(--surface)}.dialog-intro{margin-block:18px 12px;max-width:600px}.demo-note{font-size:13px;background:var(--surface);padding:12px 15px;color:var(--muted);border-radius:3px}.gift-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 22px;margin-top:28px}.gift-card{border:1px solid var(--line);border-radius:5px;overflow:hidden}.gift-art{height:115px;background:var(--surface);display:grid;place-items:center;color:var(--primary);font:38px var(--display)}.gift-card:nth-child(even) .gift-art{background:var(--accent)}.gift-card-content{padding:20px}.gift-card h3{font-size:24px;min-height:54px}.gift-card p{font-size:14px;margin-block:12px}.gift-price{display:block;color:var(--primary);font-size:17px;margin-bottom:14px;font-weight:600}.gift-card .button{width:100%;min-height:44px;padding:10px 12px}.gift-card small{font-size:11px;color:var(--muted);display:block;margin-top:9px}.gift-detail-body{padding-top:12px}#gift-detail,#pix-dialog{max-width:530px}.detail-symbol{font:42px var(--display);display:block;color:var(--primary);margin-bottom:20px}#gift-detail h2{font-size:2.6rem}#gift-detail-description{margin-block:16px}.detail-price{font-size:25px;color:var(--primary);font-weight:500;display:block;margin-bottom:18px}.gift-detail-body label{font-size:13px;display:block;margin-block:18px 7px}.gift-detail-body textarea{width:100%;resize:none;background:var(--bg);color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:12px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.gift-detail-body .button{width:100%;margin-top:12px}.gift-detail-body small{display:block;font-size:12px;color:var(--muted)}.copy-status{font-size:14px;min-height:24px;margin-block:12px;color:var(--primary)}#pix-dialog>p{margin-block:18px}.pix-placeholder{padding:25px;background:var(--surface);font:24px var(--display);margin-top:24px;color:var(--primary)}.skip-link{position:fixed;left:10px;top:-100px;background:var(--white);padding:12px;z-index:30}.skip-link:focus{top:10px}@keyframes dialog-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1000px){.hero h1 .ampersand{display:block;line-height:.75;margin:8px 0 8px 94px}}
@media(max-width:1000px){.hero{gap:40px}.section-wrap{width:calc(100% - 64px)}.site-header{padding-inline:32px}.site-header nav{gap:24px}.hero h1{max-width:370px}.couple-grid{gap:30px}.person{grid-template-columns:110px 1fr;gap:18px}.person-photo{height:180px}.section-heading{gap:40px}.venue-layout{gap:40px}.gift-intro{gap:55px}.countdown{gap:16px}.countdown strong{font-size:44px}.timeline{gap:20px}}
@media(max-width:700px){html{scroll-padding-top:80px}.section-wrap{width:calc(100% - 40px)}.section-space{padding-block:64px}.demo-banner{font-size:10px;padding-inline:10px}.demo-banner span{margin-inline:3px}.site-header{height:72px;padding-inline:20px}.menu-toggle{display:flex;gap:12px;align-items:center;min-height:44px;border:0;background:none;color:var(--primary);font-size:14px;padding:6px}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--sea);padding:15px 20px 24px;border-bottom:1px solid var(--line);flex-direction:column;gap:0;z-index:var(--z-menu)}.site-header nav.is-open{display:flex}.site-header nav a{padding:13px 6px}.hero{grid-template-columns:1fr;gap:36px;min-height:0;padding-block:44px 50px;text-align:center}.hero-intro{font-size:12px;margin-bottom:18px}.hero h1{font-size:clamp(3.3rem,12vw,5rem);max-width:100%;line-height:1.08}.hero-description{margin:22px auto 0;max-width:340px;font-size:15px}.wedding-date{font-size:17px;margin-block:22px}.wedding-date span{font-size:12px}.hero-portrait{max-width:320px;width:100%;margin:auto}.portrait-frame{aspect-ratio:1.15}.portrait-initials{font-size:64px}.photo-label{margin-top:24px;font-size:12px}.portrait-caption{font-size:18px;margin-top:18px}.countdown-inner{display:block;text-align:center;padding-block:36px}.countdown-band h2{font-size:2rem}.countdown-band h2 br{display:none}.countdown-band p{font-size:12px;margin-top:12px}.countdown{justify-content:space-between;gap:6px;margin-top:28px}.countdown div{min-width:0;flex:1}.countdown strong{font-size:40px}.countdown span{font-size:12px}.section-heading{grid-template-columns:1fr;gap:16px;margin-bottom:32px}.section-heading p{padding:0;font-size:15px}.couple-grid{grid-template-columns:1fr;gap:35px}.person{grid-template-columns:116px 1fr;gap:22px}.person h3{font-size:2rem;margin-bottom:12px}.person p{font-size:14px}.timeline{grid-template-columns:1fr;gap:34px}.timeline:before{left:22px;top:24px;bottom:40px;width:1px;height:auto}.timeline li{display:grid;grid-template-columns:46px 1fr;gap:24px}.chapter{width:46px;height:46px;margin:0}.story-date{min-height:0;font-size:12px}.timeline h3{font-size:1.8rem;margin-block:9px 13px}.timeline p{font-size:15px}.venue-layout{grid-template-columns:1fr;gap:28px}.venue-info h3{font-size:1.8rem}.map-panel iframe{height:270px}.map-caption{padding:20px}.gift-intro{grid-template-columns:1fr;gap:40px}.gift-intro p{font-size:15px;margin-block:20px 25px}.pix-note{border-left:0;border-top:1px solid var(--line);padding:32px 0 0}.small-monogram{margin-bottom:12px}footer{padding-block:40px}dialog{padding:22px;max-height:calc(100dvh - 24px);width:calc(100% - 20px)}.dialog-header h2{font-size:1.9rem}.dialog-intro{font-size:14px}.gift-grid{grid-template-columns:1fr 1fr;gap:14px}.gift-card-content{padding:14px}.gift-card h3{font-size:21px;min-height:48px}.gift-card p{font-size:12px}.gift-art{height:85px}.gift-price{font-size:15px}.gift-card .button{font-size:12px;padding:8px;gap:5px}.gift-card small{font-size:10px}#gift-detail h2{font-size:2.2rem}.dialog-header .text-link{font-size:13px}.demo-note{font-size:12px}.gift-detail-body{padding-top:20px}}
@media(max-width:360px){.gift-grid{grid-template-columns:1fr}.person{grid-template-columns:95px 1fr;gap:16px}.hero h1{font-size:3.1rem}.countdown strong{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Jardin palette: Marbre base, Jardin navigation, Printemps surfaces, Creme accents. */
.demo-banner{background:var(--sea-light);color:var(--primary-dark)}
.hero{gap:66px;padding-block:52px 76px;min-height:650px}
.hero-intro{display:inline-block;padding-bottom:8px;border-bottom:3px solid var(--accent)}
.chapel-portrait{margin:0;padding:0;position:relative}
.chapel-portrait .portrait-frame{aspect-ratio:4/4.5;overflow:hidden;background:var(--sea-light);border-color:var(--line);outline:0;isolation:isolate}
.chapel-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;position:absolute;inset:0}
.chapel-seal{position:absolute;bottom:24px;right:24px;background:var(--accent);color:var(--primary-dark);width:76px;height:76px;display:grid;place-content:center;grid-auto-flow:column;gap:4px;border-radius:50%;font:24px var(--display);border:4px solid var(--white)}
.chapel-seal i{font-size:20px}
.chapel-credit{font-size:11px;color:var(--muted);display:block;margin-top:9px}
.chapel-credit a{text-underline-offset:3px}
.countdown-band{position:relative;background:var(--sea);color:var(--primary-dark);border-radius:50% 50% 0 0 / 24px 24px 0 0}
.countdown-band h2,.countdown-band p{color:var(--primary-dark)}
.countdown-inner{padding-block:54px 48px}
.countdown strong{color:var(--primary)}
.countdown span{color:var(--primary-dark)}
.story-section{background:var(--sea-light)}
.chapter{background:var(--white);border-color:var(--line)}
.timeline li:last-child .chapter{background:var(--accent)}
.gifts-section{background:var(--printemps);border-radius:50% 50% 0 0 / 22px 22px 0 0}
.small-monogram{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:var(--accent);font-size:25px}
.person-photo{background:var(--sea-light)}
.groom{background:var(--accent)}
footer{border-top:1px solid var(--line)}
@media(max-width:1000px){.hero{gap:35px}.chapel-portrait .portrait-frame{aspect-ratio:4/5}}
@media(max-width:700px){.hero{gap:32px;min-height:0;padding-block:36px 48px}.hero-intro{margin-bottom:17px}.chapel-portrait{margin-inline:auto;max-width:350px}.chapel-portrait .portrait-frame{aspect-ratio:1.1}.chapel-portrait img{object-position:center 35%}.chapel-seal{width:62px;height:62px;font-size:21px;bottom:15px;right:15px}.chapel-seal i{font-size:17px}.chapel-credit{font-size:10px}.countdown-inner{padding-block:42px 36px}.countdown-band,.gifts-section{border-radius:50% 50% 0 0 / 12px 12px 0 0}}
/* Dedicated gift page and restrained motion. */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
html[data-input="keyboard"]{scroll-behavior:auto}
.button:hover{transform:none}
.button,.close-button,.menu-toggle{transition:transform 140ms var(--ease-out),background-color 160ms ease}
html[data-input="pointer"] .button:active,html[data-input="pointer"] .close-button:active,html[data-input="pointer"] .menu-toggle:active{transform:scale(.98);transition-duration:100ms}
@media(hover:hover) and (pointer:fine){.button:hover{background:var(--primary-dark)}.gift-card:hover .gift-action{color:var(--primary-dark);text-decoration:underline;text-underline-offset:4px}}
.site-header nav a[aria-current="page"]{color:var(--primary);text-decoration:underline;text-underline-offset:8px}
.gifts-page{padding-block:40px 80px}.back-home{margin-bottom:44px}.gifts-page-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end;margin-bottom:35px}.gifts-page h1{font-size:clamp(3rem,6vw,5rem);color:var(--primary)}.gifts-page-heading .hero-intro{margin-bottom:18px}.gifts-hint{margin-top:18px;font-size:14px}.gifts-page .gift-grid{margin-block:36px 64px;gap:28px}.gift-card{padding:0;background:var(--white);color:var(--ink);text-align:left;font:inherit;display:block;width:100%;cursor:pointer}.gift-card .gift-art{display:grid;height:160px}.gift-card-content{display:block;padding:24px}.gift-name{font:28px/1.12 var(--display);min-height:64px;display:block}.gift-description{display:block;color:var(--muted);font-size:14px;margin-block:12px 18px}.gift-action{display:flex;justify-content:space-between;align-items:center;min-height:44px;font-size:14px;color:var(--primary);border-top:1px solid var(--line);padding-top:12px}.gift-card .gift-price{font-size:20px}.gift-card small{margin-top:14px}.gift-other{border-top:1px solid var(--line);padding-top:38px}.gift-other h2{font-size:2rem}.gift-other p{margin-block:14px}.bottom-sheet#gift-detail{position:fixed;inset:auto 0 0;margin:0 auto;width:min(640px,100%);max-width:640px;max-height:92dvh;border-radius:16px 16px 0 0;padding:16px 32px max(24px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}.sheet-grip{width:36px;height:4px;border-radius:4px;background:var(--line);margin:0 auto 12px}.bottom-sheet .dialog-header{align-items:center}.bottom-sheet .dialog-kicker{margin-bottom:0}.bottom-sheet .gift-detail-body{padding-top:10px}.bottom-sheet .detail-symbol{font-size:28px;margin-bottom:10px}.bottom-sheet .detail-price{margin-bottom:14px}.bottom-sheet .copy-status{min-height:24px}.bottom-sheet #gift-detail-description{font-size:15px;margin-block:12px}.bottom-sheet .gift-detail-body small{font-size:12px}.bottom-sheet .gift-detail-body label{margin-top:14px}dialog[open]{animation:none}button:disabled{cursor:wait;opacity:.75}
@media(max-width:700px){.gifts-page{padding-block:24px 56px}.back-home{margin-bottom:32px}.gifts-page-heading{grid-template-columns:1fr;gap:20px}.gifts-page h1{font-size:3rem}.gifts-page-heading p{font-size:15px}.gifts-page .gift-grid{gap:16px;margin-block:28px 44px}.gift-card .gift-art{height:110px}.gift-card-content{padding:16px}.gift-name{font-size:23px;min-height:55px}.gift-description{font-size:13px}.gift-card .gift-price{font-size:17px}.gift-card small{font-size:11px}.bottom-sheet#gift-detail{padding-inline:22px;max-height:94dvh}.bottom-sheet#gift-detail h2{font-size:2.1rem}.bottom-sheet .gift-detail-body textarea{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html[data-input="pointer"] .button:active,html[data-input="pointer"] .close-button:active,html[data-input="pointer"] .menu-toggle:active{transform:none}}

/* Opening chapel cover and chronological vertical story. */
.hero.hero-cover{position:relative;isolation:isolate;overflow:hidden;width:100%;margin:0;display:grid;grid-template-columns:1fr;place-items:center;gap:0;min-height:calc(100svh - 122px);padding:56px 24px 36px;text-align:center;background:var(--sea-light)}
.hero-cover .hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:0}
.hero.hero-cover:before{content:"";position:absolute;inset:0;z-index:1;background:rgb(252 246 230/.82);pointer-events:none}
.hero-cover .hero-copy{position:relative;z-index:2;width:min(640px,100%)}
.hero.hero-cover h1{font-size:clamp(3.6rem,6.3vw,5.75rem);max-width:none;line-height:1.02}
.hero-cover h1>span{display:block}
.hero.hero-cover h1 .ampersand{font-size:.54em;line-height:.8;margin:10px 0 12px}
.hero-cover .wedding-date{margin:24px 0 0;color:var(--primary-dark)}
.hero-cover .wedding-date span{color:var(--primary-dark)}
.hero-location{margin-top:20px;color:var(--primary-dark);font-size:17px}
.hero-location span{display:block;margin-top:3px;font-size:14px}
.hero-countdown{margin-top:28px;color:var(--primary-dark)}
.hero-countdown h2{font-family:var(--body);font-size:14px;line-height:1.5;color:var(--primary-dark)}
.hero-countdown .countdown{width:min(440px,100%);justify-content:center;gap:24px;margin:14px auto 0}
.hero-countdown .countdown strong{font-size:clamp(2.25rem,4vw,3rem);color:var(--primary)}
.hero-countdown .countdown span{color:var(--primary-dark);font-size:12px}
.hero-countdown #countdown-message{margin-top:12px;font-size:12px;color:var(--primary-dark)}
.hero-cover .button{margin-top:28px}
.hero-cover .chapel-credit{margin-top:24px;color:var(--primary-dark);font-size:11px}
.story-section .section-heading{display:block;text-align:center;margin-bottom:64px}
.story-section .section-heading h2{max-width:700px;margin-inline:auto}
.story-section .section-heading p{max-width:560px;margin:20px auto 0;padding:0}
.story-section .timeline{display:grid;grid-template-columns:1fr;gap:56px}
.story-section .timeline:before{content:none}
.story-section .timeline li{display:grid;grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);gap:40px;align-items:start}
.story-section .timeline li:before{content:"";position:absolute;left:50%;top:26px;width:1px;height:calc(100% + 56px);background:var(--line)}
.story-section .timeline li:last-child:before{content:none}
.story-section .timeline .chapter{grid-column:2;grid-row:1;margin:0;width:52px;height:52px;z-index:1}
.story-section .timeline li>div{grid-column:1;grid-row:1;text-align:right}
.story-section .timeline li:nth-child(even)>div{grid-column:3;text-align:left}
.story-section .story-date{min-height:0}
.story-section .timeline h3{margin-block:9px 16px}
@media(max-width:700px){
  .hero.hero-cover{min-height:calc(100svh - 104px);padding:40px 20px 32px}
  .hero.hero-cover h1{font-size:clamp(3.1rem,13vw,4.25rem)}
  .hero.hero-cover h1 .ampersand{margin:8px 0 10px}
  .hero-cover .wedding-date{margin-top:22px;font-size:17px}
  .hero-location{margin-top:18px;font-size:16px}
  .hero-location span{font-size:13px}
  .hero-countdown{margin-top:24px}
  .hero-countdown .countdown{gap:8px}
  .hero-countdown .countdown strong{font-size:2.25rem}
  .hero-cover .button{margin-top:24px}
  .hero-cover .chapel-credit{font-size:10px}
  .story-section .section-heading{margin-bottom:48px}
  .story-section .timeline{gap:36px}
  .story-section .timeline li{grid-template-columns:46px minmax(0,1fr);gap:24px}
  .story-section .timeline li:before{left:23px;top:23px;height:calc(100% + 36px)}
  .story-section .timeline .chapter{grid-column:1;width:46px;height:46px}
  .story-section .timeline li:nth-child(n)>div{grid-column:2;text-align:left}
}

/* Compact name stack; the CTA arrow follows the label's type size. */
.hero.hero-cover h1{line-height:.94}
.hero.hero-cover h1 .ampersand{line-height:.7;margin:2px 0 4px}
.hero-cover .button span{font-size:1em;line-height:1}
@media(max-width:700px){.hero.hero-cover h1 .ampersand{margin:1px 0 3px}}

/* Separate arrival destinations, using the approved reference rounding. */
.venue-section{background:var(--creme)}
.venue-section .section-heading{display:block;text-align:center;margin-bottom:22px}
.venue-section .section-heading p{max-width:580px;margin:18px auto 0;padding:0}
.venue-demo{max-width:680px;margin:0 auto 42px;text-align:center;font-size:13px;line-height:1.6}
.venue-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;align-items:stretch}
.venue-card{min-width:0;border:1px solid var(--line);border-radius:24px;background:var(--marbre);padding:32px;display:flex;flex-direction:column}
.venue-card h3{font-size:2rem;color:var(--primary);margin-bottom:24px}
.venue-map{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--printemps);isolation:isolate}
.venue-map iframe{width:100%;height:260px;display:block;border:0}
.venue-map-note{font-size:12px;margin:10px 0 26px}
.venue-card dl{flex:1;margin-bottom:12px}
.venue-card dl>div{margin-bottom:22px}
.venue-card dt{font-size:12px}
.venue-card dd{font-size:16px}
.venue-card dd small{font-size:14px;line-height:1.55;margin-top:5px}
.venue-route{align-self:flex-start;border-radius:999px;gap:18px;min-height:48px;padding:12px 24px}
.venue-route span{font-size:1em;line-height:1}
.venue-route-note{display:block;font-size:12px;color:var(--muted);margin-top:10px}
@media(max-width:850px){.venue-cards{gap:22px}.venue-card{padding:24px}.venue-map iframe{height:230px}}
@media(max-width:700px){.venue-cards{grid-template-columns:1fr;gap:28px}.venue-card{padding:24px 20px}.venue-card h3{font-size:1.8rem;margin-bottom:20px}.venue-map iframe{height:240px}.venue-demo{font-size:13px;margin-bottom:28px}.venue-card dl{margin-bottom:8px}.venue-route{min-height:48px}.venue-section .section-heading p{margin-top:16px}}

/* Palette-filled story markers and invitation-like countdown medallions. */
.story-section .timeline li:nth-child(1) .chapter{background:var(--jardin)}
.story-section .timeline li:nth-child(2) .chapter{background:var(--printemps)}
.story-section .timeline li:nth-child(3) .chapter{background:var(--creme)}
.story-section .timeline li:nth-child(4) .chapter{background:var(--marbre)}
.button{border-radius:999px}
.hero-countdown .countdown{width:min(456px,100%);gap:14px;margin-top:20px;align-items:center}
.hero-countdown .countdown>div{width:98px;min-width:0;flex:1;min-height:124px;padding:20px 8px 18px;border:1px solid var(--line);border-radius:999px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;background:var(--marbre)}
.hero-countdown .countdown>div:nth-child(1){background:var(--jardin)}
.hero-countdown .countdown>div:nth-child(2){background:var(--printemps)}
.hero-countdown .countdown>div:nth-child(3){background:var(--creme)}
.hero-countdown .countdown>div:nth-child(4){background:var(--marbre)}
.hero-countdown .countdown strong{font-size:clamp(2.15rem,3.6vw,2.85rem);line-height:1;font-variant-numeric:tabular-nums;color:var(--primary-dark)}
.hero-countdown .countdown span{font-size:12px;line-height:1.4;color:var(--primary-dark)}
.hero-countdown #countdown-message{margin-top:16px}
@media(max-width:700px){.hero-countdown .countdown{gap:9px;max-width:350px}.hero-countdown .countdown>div{min-height:108px;padding:18px 4px 15px;gap:6px}.hero-countdown .countdown strong{font-size:2rem}.hero-countdown .countdown span{font-size:11px}}
@media(max-width:360px){.hero-countdown .countdown{gap:6px}.hero-countdown .countdown>div{min-height:98px}.hero-countdown .countdown strong{font-size:1.8rem}.hero-countdown .countdown span{font-size:10px}}

/* Compact catalog headings and directly accessible demonstration Pix. */
.gifts-page-heading .back-home{margin:0 0 24px;font-size:14px;letter-spacing:normal}
.gift-card{min-width:0}
.gift-card-content{min-width:0}
.gift-name{font-size:24px;line-height:1.2;min-height:0;height:auto;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gift-inline-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.gift-other .pix-inline-key{font-family:var(--display);font-size:23px;color:var(--primary);margin:24px 0 18px}
.gift-other .demo-note{font-size:13px;margin:0;max-width:480px}
.pix-inline-controls{min-width:0}
.pix-inline-controls label{display:block;font-size:14px;color:var(--muted);margin-bottom:10px}
.pix-inline-controls textarea{width:100%;resize:none;border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--marbre);color:var(--ink);font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.pix-inline-controls .button{margin-top:14px;min-height:48px}
.gift-other .copy-status{font-size:14px;min-height:48px;margin:14px 0 0}
@media(max-width:700px){.gifts-page-heading .back-home{margin-bottom:22px}.gift-name{font-size:20px;min-height:0}.gift-inline-content{grid-template-columns:1fr;gap:26px}.pix-inline-controls .button{width:100%}.pix-inline-controls textarea{font-size:13px}.gift-other .pix-inline-key{font-size:22px}}

/* White and green: chapel above, names on one baseline, uniform square timer. */
.hero.hero-cover{display:block;min-height:0;padding:0;background:var(--white);overflow:visible}
.hero.hero-cover::before{content:none}
.hero-media{margin:0;width:100%;background:var(--white)}
.hero-cover .hero-background{position:static;display:block;width:100%;height:auto;object-fit:contain;object-position:center;opacity:1;filter:none}
.hero-cover .hero-copy{width:min(720px,calc(100% - 40px));margin:0 auto;padding:44px 0 54px}
.hero.hero-cover h1{font-size:clamp(2rem,8.5vw,5rem);line-height:1.1;white-space:nowrap;letter-spacing:-.03em}
.hero-cover h1>span{display:inline}
.hero.hero-cover h1 .ampersand{display:inline;font-size:.72em;line-height:inherit;margin:0 .05em;vertical-align:baseline}
.hero-cover .wedding-date{margin-top:22px}
.hero-countdown .countdown{width:min(440px,100%);gap:16px;margin-top:18px}
.hero-countdown .countdown>div:nth-child(n){width:auto;aspect-ratio:1;min-height:0;padding:10px 5px;gap:6px;border-radius:2px;background:var(--jardin);border:1px solid var(--jardin)}
.hero-countdown .countdown strong{font-size:clamp(1.8rem,4vw,2.8rem)}
.hero-countdown .countdown span{font-size:12px}
.story-section .timeline li:nth-child(n) .chapter{background:var(--jardin);color:var(--primary-dark)}
.gift-card .gift-art,.gift-card:nth-child(even) .gift-art{background:var(--jardin)}
.demo-banner{background:var(--white)}
dialog::backdrop{background:rgb(32 45 24 / .7)}
@media(max-width:700px){.hero.hero-cover{padding:0;min-height:0}.hero-cover .hero-copy{padding:30px 0 42px}.hero.hero-cover h1{font-size:clamp(2rem,8.5vw,3.6rem)}.hero.hero-cover h1 .ampersand{margin:0 .05em}.hero-countdown .countdown{gap:10px;width:min(350px,100%)}.hero-countdown .countdown>div:nth-child(n){min-height:0;padding:8px 3px}.hero-countdown .countdown strong{font-size:2rem}.hero-countdown .countdown span{font-size:11px}}
@media(max-width:360px){.hero-countdown .countdown{gap:7px}.hero-countdown .countdown strong{font-size:1.75rem}.hero-countdown .countdown span{font-size:10px}}
/* Panorama safe area: x=29–71%, including facade, bell cross and inscription.
   Cover crops only the surroundings; full vertical image remains visible. */
.hero-media{overflow:hidden}
.hero-cover .hero-background{height:auto;aspect-ratio:3/1;object-fit:cover;object-position:50% 50%}
.hero-cover .hero-copy{padding-top:12px}
@media(max-width:1000px){.hero-cover .hero-background{height:auto;aspect-ratio:2/1}}
@media(max-width:600px){.hero-cover .hero-background{height:auto;min-height:220px;aspect-ratio:3/2}.hero-cover .hero-copy{padding-top:12px}}


/* The panorama stays still while the opaque content panel covers it. */
.hero.hero-cover{isolation:isolate}
.hero-cover .hero-media{position:sticky;top:var(--hero-sticky-top,124px);z-index:0}
.hero-content-panel{position:relative;z-index:1;width:100%;background:var(--white);display:flow-root}
@media(prefers-reduced-motion:reduce){.hero-cover .hero-media{position:relative;top:auto}}

/* The fade belongs to the moving white panel, never to the photograph. */
.hero-content-panel::before{content:"";position:absolute;bottom:calc(100% - 1px);left:0;right:0;height:clamp(28px,4vw,96px);background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.35) 35%,rgba(255,255,255,.82) 72%,#fff);pointer-events:none}
.hero-light-leak{position:absolute;inset:-15% -45%;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 45% 50%,rgba(255,255,255,.9),rgba(255,247,216,.45) 24%,transparent 58%);mix-blend-mode:screen}
.hero.hero-cover h1 .hero-name-visual{display:inline;white-space:nowrap}
.intro-char{display:inline-block;white-space:pre}
.intro-pending .hero-background,.intro-pending .intro-char,.intro-pending .hero-copy>:not(h1),.intro-pending main>section:not(.hero),.intro-pending footer{opacity:0}
.intro-pending .site-header{opacity:0;transform:translateY(-110%)}
@media(prefers-reduced-motion:reduce){.intro-pending .hero-background,.intro-pending .intro-char,.intro-pending .hero-copy>:not(h1),.intro-pending main>section:not(.hero),.intro-pending footer,.intro-pending .site-header{opacity:1;transform:none}.hero-light-leak{display:none}}

/* Final green/olive/off-white palette and foreground-first opening. */
:root{--bg:#F8F6EF;--surface:#F8F6EF;--white:#F8F6EF;--marbre:#F8F6EF;--creme:#F8F6EF;--printemps:#F8F6EF;--sea-light:#F8F6EF;--olive-dark:#414B2D}
.home-page{background:var(--bg)}
.home-page #principal{position:relative;isolation:isolate}
.home-page .hero.hero-cover{isolation:auto;background:transparent;overflow:visible;min-height:calc(100svh - 124px);padding:0 0 clamp(160px,18vw,300px)}
.home-page .hero-cover .hero-media{position:fixed;inset:auto 0 0;z-index:0;pointer-events:none;height:auto;aspect-ratio:3/1;background:var(--bg);margin:0}
.home-page .hero-cover .hero-background{position:static;inset:auto;height:100%;min-height:0;width:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
.home-page .hero-content-panel{position:relative;z-index:1;background:linear-gradient(to bottom,#F8F6EF 0%,rgba(248,246,239,.97) 68%,rgba(248,246,239,.84) 84%,rgba(248,246,239,0) 100%);padding-bottom:70px}
.home-page .hero-content-panel::before{content:none}
.home-page .hero-cover .hero-copy{padding:32px 0 28px}
.home-page #principal>section:not(.hero){position:relative;z-index:2;border-block:1px solid var(--line);border-inline:0;border-radius:0;background:var(--bg)}
.home-page #principal>section+section{border-top:0}
.home-page #principal>section#historia{background:var(--jardin);color:var(--primary-dark)}
.home-page .story-section p,.home-page .story-section h2,.home-page .story-section h3,.home-page .story-date{color:var(--primary-dark)}
.home-page .story-section .timeline li:nth-child(n) .chapter{background:var(--bg);color:var(--primary-dark);border-color:var(--primary)}
.home-page .story-section .timeline li::before{background:var(--primary)}
.home-page #principal>.hero{border-block:1px solid var(--line);border-inline:0}
.home-page #presentes{border-radius:0}
.site-footer{position:relative;z-index:2;width:100%;max-width:none;margin:0;padding:52px 0;background:var(--olive-dark);border-block:1px solid var(--olive-dark);color:var(--bg)}
.site-footer .footer-names,.site-footer p,.site-footer small{color:var(--bg)}
.site-footer>.section-wrap{border:0}
@media(max-width:1000px){.home-page .hero-cover .hero-media{aspect-ratio:2/1}}
@media(max-width:600px){.home-page .hero-cover .hero-media{aspect-ratio:3/2;min-height:220px}.home-page .hero.hero-cover{min-height:calc(100svh - 104px);padding-bottom:140px}.home-page .hero-cover .hero-copy{padding:28px 0 20px}.home-page .hero-content-panel{padding-bottom:48px}.site-footer{padding-block:42px}}
@media(prefers-reduced-motion:reduce){.home-page .hero-cover .hero-media{position:fixed;top:auto}}
.home-page .hero-media::after{content:"";position:absolute;inset:0 0 auto;height:clamp(20px,3vw,60px);background:linear-gradient(var(--bg),rgba(248,246,239,0));pointer-events:none}

/* Shared navigation contrast, independent of viewport size. */
.site-header{background:#414B2D;border:0;color:#F9F7F0}
.site-header .monogram,.site-header .menu-toggle{color:#F8F6EF}
.site-header nav,.site-header nav a,.site-header nav a:hover,.site-header nav a[aria-current="page"]{color:#F9F7F0}
.site-header nav a::after{background:#F9F7F0}
.site-header a:focus-visible,.site-header button:focus-visible{outline-color:#F8F6EF}
@media(max-width:700px){.site-header nav{background:#414B2D;border:0}}
.home-page #principal>section#historia{background:#F8F6EF}
.home-page .story-section .timeline li:nth-child(n) .chapter{background:#414B2D;color:#FFFFFF;border:0}
.hero-countdown .countdown>div:nth-child(n){border-radius:14px;background:rgba(190,191,131,.34);border:1px solid rgba(65,75,45,.18);-webkit-backdrop-filter:blur(12px) saturate(90%);backdrop-filter:blur(12px) saturate(90%);box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.hero-countdown .countdown>div:nth-child(n){background:#E2E1CB}}
/* Fixed painting fills the opening; separate translucent foreground ensures legibility. */
.home-page .hero.hero-cover{min-height:calc(100svh - var(--hero-sticky-top,88px));padding:0;border-top:0}
.home-page .hero-cover .hero-media{top:var(--hero-sticky-top,88px);bottom:auto;height:calc(100svh - var(--hero-sticky-top,88px));min-height:0;aspect-ratio:auto}
.home-page .hero-media picture{display:block;width:100%;height:100%}
.home-page .hero-cover .hero-background{height:100%;object-fit:cover;object-position:50% 44%}
.home-page .hero-media::after{content:none}
.home-page .hero-content-panel{min-height:calc(100svh - var(--hero-sticky-top,88px));padding:0 0 52px;background:linear-gradient(to bottom,rgba(248,246,239,.82),rgba(248,246,239,.78) 60%,rgba(248,246,239,.64));}
.home-page .hero-cover .hero-copy{padding:32px 0 28px;text-shadow:0 1px 12px rgba(248,246,239,.65)}
.home-page .hero-content-panel::after{content:"";position:absolute;bottom:0;left:0;right:0;height:52px;background:linear-gradient(transparent,#F8F6EF);pointer-events:none}
@media(max-width:600px){.home-page .hero-cover .hero-media{height:min(calc(100svh - var(--hero-sticky-top,72px)),175vw)}.home-page .hero-cover .hero-background{object-position:50% 35%}.home-page .hero-content-panel{background:linear-gradient(rgba(248,246,239,.82),rgba(248,246,239,.76) 65%,#F8F6EF)}.home-page .hero-cover .hero-copy{padding-top:28px}.hero-countdown .countdown>div:nth-child(n){border-radius:12px}}

.story-section .timeline p+p{margin-top:18px}

/* Venue-specific surfaces: keep the rest of the palette unchanged. */
.home-page #principal>section#cerimonia{--ceremony-card-bg:#FFE99B;--reception-card-bg:#FFF0BA;background:#FFFFFF}
#cerimonia .venue-card[aria-labelledby="ceremony-card-title"]{background:var(--ceremony-card-bg)}
#cerimonia .venue-card[aria-labelledby="reception-card-title"]{background:var(--reception-card-bg)}

/* Center the complete greeting inside the available first viewport.
   Content can grow naturally on short screens, without clipping. */
.home-page .hero.hero-cover,.home-page .hero-content-panel{min-height:calc(100svh - var(--hero-sticky-top,88px) - var(--hero-banner-height,36px))}
.home-page .hero-content-panel{display:grid;place-items:center;padding:32px 0}
.home-page .hero-cover .hero-copy{padding:0;margin:0 auto}
@media(max-width:600px){.home-page .hero-content-panel{padding:24px 0}.home-page .hero-cover .hero-copy{padding:0}}

/* Dark olive wash: white text contrast verified over the brightest possible pixel. */
.home-page #principal>section#cerimonia{--ceremony-card-bg:#FFF6EA;--reception-card-bg:#FFF6EA}
.home-page .hero-content-panel{background:linear-gradient(180deg,rgba(27,35,20,.80),rgba(27,35,20,.76))}
.home-page .hero-content-panel::after{content:none}
.home-page .hero-cover .hero-copy{color:#F8F6EF;text-shadow:none}
.home-page .hero-copy :is(h1,h2,p,span,strong,small,a){color:#F8F6EF}
.home-page .hero-countdown .countdown>div:nth-child(n){background:rgba(248,246,239,.10);border:1px solid rgba(248,246,239,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.home-page .hero-copy .button,.home-page .hero-copy .button span{background:#F8F6EF;color:#2E3C23;border-color:#F8F6EF;text-shadow:none}
.home-page .hero-copy .button:hover{background:#E7E7D7;color:#2E3C23}
.home-page .hero-copy a:focus-visible{outline:3px solid #F8F6EF;outline-offset:5px}
.small-monogram{background:#414B2D;color:#F8F6EF}
.gifts-section .button{background:#414B2D;border-color:#414B2D}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.home-page .hero-countdown .countdown>div:nth-child(n){background:#414B2D}}
.home-page .hero-copy #countdown-message{color:#F8F6EF}

.monogram{display:flex;align-items:center;justify-content:center;width:68px;height:68px}
.monogram-image{display:block;width:100%;height:100%;object-fit:contain}
.small-monogram{display:grid;place-items:center;background:#414B2D;border-radius:50%}
.small-monogram .monogram-image{width:58px;height:58px}
@media(max-width:700px){.monogram{width:58px;height:58px}}

/* Non-destructive chapel treatment: untouched painting, tint, then shade.
   Change these variables to tune each overlay independently. */
.home-page .hero-media{--chapel-tint:#414B2D;--chapel-tint-opacity:.7;--chapel-shade-top:.80;--chapel-shade-bottom:.76;isolation:isolate}
.home-page .hero-media picture{position:relative;z-index:0}
.home-page .hero-color-layer,.home-page .hero-dark-layer{position:absolute;inset:0;pointer-events:none}
.home-page .hero-color-layer{z-index:1;background:var(--chapel-tint);opacity:var(--chapel-tint-opacity);mix-blend-mode:color}
.home-page .hero-dark-layer{z-index:2;background:linear-gradient(180deg,rgba(27,35,20,var(--chapel-shade-top)),rgba(27,35,20,var(--chapel-shade-bottom)))}
.home-page .hero-content-panel{background:transparent}
.home-page .hero-light-leak{display:none}
@media(max-width:600px){.home-page .hero-cover .hero-media{height:calc(100svh - var(--hero-sticky-top,72px))}}

/* Approved palette and reference composition — October 27, 2026. */
:root{--brand-olive:#73785A;--ivory:#F8F5EC;--champagne:#DCC8A5;--cream:#FFF6EA;--primary:#73785A;--primary-dark:#414B2D;--ink:#414B2D;--muted:#414B2D;--bg:#F8F5EC;--surface:#F8F5EC;--white:#FFFFFF;--marbre:#FFF6EA;--creme:#FFF6EA;--printemps:#F8F5EC;--jardin:#DCC8A5;--line:#DCC8A5;--olive-dark:#414B2D}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
body{background:var(--ivory);color:var(--ink)}
h1,h2,h3{color:var(--brand-olive)}
.site-header{height:76px;background:var(--ivory);color:var(--ink)}
.home-page .site-header{position:absolute;inset:0 0 auto;z-index:10;background:transparent}
.site-header nav{font-size:12px;gap:32px;letter-spacing:.12em;text-transform:uppercase}
.site-header nav,.site-header nav a,.site-header nav a:hover,.site-header nav a[aria-current="page"],.site-header .menu-toggle{color:var(--ink)}
.site-header nav a::after{background:var(--ink)}
.site-header a:focus-visible,.site-header button:focus-visible{outline-color:var(--ink)}
.monogram{width:58px;height:58px}
.home-page .hero.hero-cover,.home-page .hero-content-panel{min-height:100svh}
.home-page .hero-cover .hero-media{top:0;height:100svh;background:var(--ivory);--chapel-tint:#73785A;--chapel-tint-opacity:.12;--chapel-shade-top:0;--chapel-shade-bottom:0}
.home-page .hero-cover .hero-background{object-position:50% 40%}
/* Separate reversible readability veil; original pixels stay untouched. */
.home-page .hero-media::after{content:"";position:absolute;inset:0;height:auto;z-index:3;background:linear-gradient(180deg,rgba(248,245,236,.93),rgba(248,245,236,.90) 40%,rgba(248,245,236,.78) 70%);pointer-events:none}
.home-page .hero-content-panel{background:transparent;padding:90px 0 24px}
.home-page .hero-cover .hero-copy{width:min(720px,calc(100% - 40px));min-height:calc(100svh - 114px);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;color:var(--ink);text-shadow:none}
.home-page .hero-copy :is(h1,h2,p,span,strong,small,a){color:var(--ink)}
.home-page .hero.hero-cover h1{font-size:clamp(44px,4.5vw,64px);line-height:1;letter-spacing:0;white-space:normal;margin:0;max-width:none}
.home-page .hero.hero-cover h1 .hero-name-visual{display:block;white-space:normal}
.home-page .hero-name-line{display:block;color:var(--brand-olive)}
.home-page .hero-name-line .intro-char{color:var(--brand-olive)}
.home-page .hero-name-join{display:flex;align-items:center;justify-content:center;gap:16px;font-size:25px;line-height:1.3;color:var(--brand-olive);margin:3px 0}
.hero-name-join::before,.hero-name-join::after{content:"";height:1px;width:76px;background:var(--champagne)}
.home-page .hero-copy .wedding-date{font-size:14px;letter-spacing:.17em;text-transform:uppercase;margin:25px 0 0}
.home-page .hero-copy .wedding-date span{font-size:12px;letter-spacing:normal;text-transform:none;margin-top:8px}
.home-page .hero-copy .hero-location{font-size:14px;line-height:1.6;margin:16px 0 0;max-width:520px}
.home-page .hero-copy .hero-location span{display:block;font-size:12px;margin-top:3px}
.home-page .hero-countdown{margin-top:auto;padding-top:48px;width:min(460px,100%)}
.home-page .hero-countdown .countdown{width:100%;margin:0;gap:22px;align-items:flex-start}
.home-page .hero-countdown .countdown>div:nth-child(n){position:relative;display:flex;flex-direction:column;gap:14px;aspect-ratio:auto;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0}
.home-page .hero-countdown .countdown strong{display:grid;place-items:center;width:100%;aspect-ratio:1;border-radius:15px;background:rgba(248,245,236,.96);border:1px solid var(--champagne);color:var(--brand-olive);font-size:clamp(28px,3.2vw,42px);font-weight:400;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.home-page .hero-countdown .countdown span{color:var(--ink);font-size:11px;text-transform:uppercase;letter-spacing:.16em;line-height:1.5}
.home-page .hero-scroll-cue{display:grid;place-items:center;width:48px;height:48px;margin-top:18px;text-decoration:none;font-size:34px;line-height:1;border-radius:50%}
.home-page .hero-copy a:focus-visible{outline-color:var(--ink)}
.home-page #principal>section#historia{background:var(--ivory)}
.home-page .story-section :is(h2,h3){color:var(--brand-olive)}
.home-page .story-section .timeline li:nth-child(n) .chapter{background:var(--brand-olive);color:#FFFFFF}
.home-page .story-section .timeline li::before{background:var(--champagne)}
.home-page #principal>section#cerimonia{background:var(--ivory);--ceremony-card-bg:#FFF6EA;--reception-card-bg:#FFF6EA}
.button,.gifts-section .button{background:var(--ink);border-color:var(--ink);color:var(--ivory)}
.button:hover{background:#2E3C23}
.small-monogram{background:var(--cream);border:1px solid var(--champagne)}
.text-link{color:var(--ink)}
.site-footer{background:var(--brand-olive);border-color:var(--brand-olive);padding:64px 0 40px;color:#FFFFFF}
.site-footer .footer-names{color:#FFFFFF;font-size:34px}
.site-footer .footer-date{font-size:13px;text-transform:uppercase;letter-spacing:.16em;margin:10px 0 34px;color:#FFFFFF}
.footer-families{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:900px;margin:0 auto}
.site-footer .footer-families h2{font:400 12px/1.5 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#FFFFFF;margin-bottom:8px}
.site-footer .footer-families p{font-size:15px;line-height:1.7;color:#FFFFFF;margin:0}
.site-footer .footer-signoff{font-size:12px;color:#FFFFFF;margin:34px 0 0}
.footer-signoff::before{content:"";display:block;width:64px;height:1px;margin:0 auto 22px;background:var(--champagne)}
.site-footer .footer-signoff span{color:var(--champagne);margin:0 5px}
@media(max-width:700px){.site-header{height:72px;padding-inline:20px}.site-header nav{top:72px;background:var(--ivory);border-bottom:1px solid var(--champagne);gap:0}.monogram{width:54px;height:54px}.home-page .hero-content-panel{padding:90px 0 18px}.home-page .hero-cover .hero-copy{min-height:calc(100svh - 108px)}.home-page .hero.hero-cover h1{font-size:48px}.home-page .hero-countdown{padding-top:38px}.home-page .hero-countdown .countdown{gap:12px}.home-page .hero-countdown .countdown span{font-size:10px;letter-spacing:.09em}.footer-families{grid-template-columns:1fr;gap:28px}.site-footer{padding:48px 0 32px}.site-footer .footer-families p{font-size:14px}}
@media(prefers-reduced-transparency:reduce){.home-page .hero-countdown .countdown strong{background:var(--ivory);backdrop-filter:none;-webkit-backdrop-filter:none}}
/* Keep the upper copy legible while revealing the painting below it. */
.home-page .hero-media::after{background:linear-gradient(180deg,rgba(248,245,236,.92) 0px,rgba(248,245,236,.88) 390px,rgba(248,245,236,.24) 570px,rgba(248,245,236,.14) 100%)}
.home-page .hero-content-panel{align-items:start}
.home-page .hero-cover .hero-copy{min-height:0}
.home-page .hero-countdown{margin-top:clamp(36px,9svh,120px);padding-top:0}
.home-page .hero-countdown .countdown span{background:rgba(248,245,236,.96);padding:3px 5px;border-radius:3px}
.home-page .hero-scroll-cue{background:rgba(248,245,236,.94)}
/* Small functional copy uses the darker companion ink. */
dt,.gift-price,.detail-price,.dialog-kicker,.copy-status,.gift-other .pix-inline-key,.gift-name{color:var(--ink)}
button:focus-visible,a:focus-visible,textarea:focus-visible{outline-color:var(--ink)}
.site-footer a:focus-visible{outline-color:#FFFFFF}

/* Local review: centered greeting, separate bottom cue, translucent countdown. */
.home-page .hero-content-panel{display:grid;place-items:center;min-height:100svh;padding:96px 0;position:relative}
.home-page .hero-cover .hero-copy{min-height:0;margin:0 auto;padding:0;justify-content:center}
.home-page .hero-countdown{margin-top:clamp(32px,4svh,56px);padding-top:0}
.home-page .hero-scroll-cue{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);margin:0;z-index:2}
.home-page .hero-media::after{background:linear-gradient(180deg,rgba(248,245,236,.72),rgba(248,245,236,.88) 20%,rgba(248,245,236,.88) 58%,rgba(248,245,236,.20) 80%,rgba(248,245,236,.14))}
.home-page .hero-countdown .countdown strong{background:rgba(248,245,236,.52);color:var(--ink);backdrop-filter:blur(16px) saturate(110%);-webkit-backdrop-filter:blur(16px) saturate(110%);border-color:rgba(248,245,236,.7)}
.home-page #principal>section#historia,.home-page #principal>section#presentes{background:var(--ivory)}
.home-page #principal>section#cerimonia{background:var(--champagne);--ceremony-card-bg:var(--cream);--reception-card-bg:var(--cream)}
.home-page #cerimonia>.section-wrap>.section-heading h2{color:var(--ink)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.home-page .hero-countdown .countdown strong{background:var(--ivory)}}
@media(prefers-reduced-transparency:reduce){.home-page .hero-countdown .countdown strong{background:var(--ivory);backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Expanded watercolor: sky reserved for the greeting, countdown near the roof. */
.home-page .hero-cover .hero-background{object-position:50% 60%}
.home-page .hero-content-panel{align-items:start;padding:clamp(96px,12svh,160px) 0 104px}
.home-page .hero-cover .hero-copy{justify-content:flex-start}
.home-page .hero-countdown{margin-top:clamp(28px,4svh,56px)}
.home-page .hero-media::after{background:linear-gradient(180deg,rgba(248,245,236,.60),rgba(248,245,236,.86) 12%,rgba(248,245,236,.86) 42%,rgba(248,245,236,.12) 70%,rgba(248,245,236,.08))}
@media(max-width:700px){.home-page .hero-cover .hero-background{object-position:50% 50%}.home-page .hero-content-panel{padding-top:96px}}

/* Local bloom follows the content; no page-wide whitening or timer tiles. */
.home-page .hero-media::after{content:none;background:none}
.home-page .hero-cover .hero-copy{position:relative;isolation:isolate}
.home-page .hero-copy>.hero-cloud{content:"";position:absolute;inset:-40px -24px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 40%,rgba(248,245,236,.97) 0%,rgba(248,245,236,.90) 40%,rgba(248,245,236,.55) 64%,rgba(248,245,236,0) 82%);filter:blur(24px)}
.home-page .hero-countdown,.home-page .hero-countdown .countdown,.home-page .hero-countdown .countdown>div:nth-child(n),.home-page .hero-countdown .countdown strong,.home-page .hero-countdown .countdown span{background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.home-page .hero-scroll-cue{display:grid;place-items:center;padding:0;line-height:0}
.hero-scroll-cue .lucide{display:block;width:24px;height:24px;flex-shrink:0;stroke:currentColor}
.home-page #presentes .pix-note{border-color:var(--brand-olive)}
.home-page #presentes .small-monogram{border-color:var(--brand-olive)}
@media(max-width:700px){.home-page .hero-copy>.hero-cloud{inset:-28px -8px;filter:blur(18px)}}

/* Audit refinements: readable prose, full gift names and task-focused grouping. */
.story-section .timeline li:nth-child(n)>div{text-align:left}
.story-section .timeline p{max-width:65ch}
.story-next{text-align:center;margin-top:48px}
.story-next .text-link{white-space:normal;text-align:center}
.gift-name{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word;min-height:2.4em}
.gift-card .gift-description{font-size:13px;line-height:1.55}
.gift-card .gift-action{font-weight:600;color:var(--ink)}
.venue-card .venue-map{margin-top:8px}
.venue-card .venue-map iframe{height:220px}
.venue-card .venue-map-note{margin-bottom:24px}
.pix-inline-controls .demo-note{margin:0 0 16px}
#gift-detail .gift-detail-body .demo-note{margin:16px 0 12px}
#gift-detail .gift-detail-body label{margin-top:12px}
#gift-detail .gift-detail-body small{margin-top:12px}
@media(max-width:430px){.gift-grid{grid-template-columns:1fr}.gift-name{min-height:0}.gift-art{height:100px}.gift-card .gift-description{font-size:14px}}

/* Progressive header blur: a fixed, shallow stack fading into the page. */
.site-header,.home-page .site-header{position:fixed;inset:0 0 auto;z-index:var(--z-header);background:transparent;isolation:isolate}
.header-glass{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;clip-path:inset(0)}
.header-glass::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(248,245,236,.88) 0%,rgba(248,245,236,.82) 72%,rgba(248,245,236,0) 100%)}
.header-glass>span{position:absolute;inset:0;pointer-events:none}
body:not(.home-page){padding-top:76px}
.gift-model-note{margin-top:16px;font-size:14px}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-header,.home-page .site-header{background:var(--ivory)}.header-glass{display:none}}
@media(max-width:700px){body:not(.home-page){padding-top:72px}.site-header nav{max-height:calc(100svh - 72px);overflow-y:auto}}
@media(prefers-reduced-transparency:reduce){.site-header,.home-page .site-header{background:var(--ivory)}.header-glass{display:none}}

/* Blur-only material fades inside header bounds; mobile menu remains unclipped. */
.header-glass{inset:0}
.header-glass::before{content:none;background:none}
@media(max-width:700px){.header-glass{bottom:0}}

/* Countdown independently anchored over the church entrance. */
.home-page .hero-content-panel>.hero-countdown{position:absolute;top:72svh;left:50%;transform:translateX(-50%);width:min(560px,calc(100% - 40px));margin:0;padding:0;z-index:2}
.home-page .hero-countdown .countdown{gap:20px}
.home-page .hero-countdown .countdown>div:nth-child(n){aspect-ratio:1;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px 6px;background:rgba(248,245,236,.84);border:1px solid var(--champagne);border-radius:14px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.home-page .hero-countdown .countdown strong{display:block;aspect-ratio:auto;width:auto;font-size:clamp(28px,3vw,42px);line-height:1;background:none;border:0;border-radius:0;color:var(--ink)}
.home-page .hero-countdown .countdown span{font-size:11px;letter-spacing:.09em;line-height:1.4;padding:0;color:var(--ink);background:none}
@media(max-width:700px){.home-page .hero-countdown .countdown{gap:10px}.home-page .hero-countdown .countdown>div:nth-child(n){padding:10px 3px;gap:7px;border-radius:12px}.home-page .hero-countdown .countdown span{font-size:9px;letter-spacing:.03em}}
@media(max-height:700px){.home-page .hero-content-panel{min-height:720px}.home-page .hero-content-panel>.hero-countdown{top:auto;bottom:110px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.home-page .hero-countdown .countdown>div:nth-child(n){background:var(--ivory)}}
@media(prefers-reduced-transparency:reduce){.home-page .hero-countdown .countdown>div:nth-child(n){background:var(--ivory);backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Local annotation: taller centered greeting and clearer frosted countdown. */
.home-page .hero-cover .hero-copy{min-height:clamp(300px,32svh,420px);height:auto;justify-content:center}
.home-page .hero-countdown .countdown>div:nth-child(n){background:rgba(248,245,236,.68)}
.home-page .hero-countdown .countdown span{color:#2E3C23}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.home-page .hero-countdown .countdown>div:nth-child(n){background:var(--ivory)}}
@media(prefers-reduced-transparency:reduce){.home-page .hero-countdown .countdown>div:nth-child(n){background:var(--ivory)}}

/* Separate AI watercolor cloud, preserving the underlying chapel artwork. */
.home-page .hero-copy>.hero-cloud{inset:-80px -100px;background-image:url('/assets/optimized/nuvem-aquarela-marfim.webp'),radial-gradient(ellipse,rgba(255,245,227,.65),rgba(255,245,227,0) 72%);background-size:100% 100%;background-position:center;background-repeat:no-repeat;filter:none;opacity:.94}
@media(max-width:700px){.home-page .hero-copy>.hero-cloud{inset:-48px -12px;filter:none}}

/* Preserve cloud artwork proportions; crop decorative overflow instead of squeezing. */
.home-page .hero-content-panel{overflow:clip}
.home-page .hero-copy>.hero-cloud{inset:auto;left:50%;top:50%;width:max(620px,calc(100% + 200px));height:auto;aspect-ratio:1616/973;transform:translate(-50%,-50%);background-size:contain,100% 100%;background-position:center;background-repeat:no-repeat}
@media(max-width:700px){.home-page .hero-copy>.hero-cloud{inset:auto;left:50%;top:50%;width:620px;height:auto;aspect-ratio:1616/973;filter:none}}

/* Header material samples the actual page; no backdrop-root clip on its parent. */
.header-glass{z-index:0;clip-path:none;overflow:hidden}
.site-header>.monogram,.site-header>.menu-toggle,.site-header>nav{position:relative;z-index:1}
.header-glass::before{content:"";background:linear-gradient(to bottom,rgba(248,245,236,.28),rgba(248,245,236,.08) 65%,transparent)}
@media(max-width:700px){.site-header>nav{position:absolute}}
[data-reveal-state="pending"]{opacity:0}
[data-reveal-state="shown"],[data-reveal-state="revealing"]{opacity:1}

@media(max-width:700px) and (max-height:740px){
.home-page .hero-content-panel{min-height:100svh;padding-top:80px}
.home-page .hero-cover .hero-copy{min-height:230px;justify-content:flex-start}
.home-page .hero.hero-cover h1{font-size:40px}
.home-page .hero-name-join{font-size:20px}
.home-page .hero-copy .wedding-date{margin-top:16px;font-size:12px}
.home-page .hero-copy .hero-location{margin-top:12px;font-size:12px}
.home-page .hero-copy .hero-location span{font-size:11px}
.home-page .hero-content-panel>.hero-countdown{top:auto;bottom:100px}
}

/* Camera arrival owns only parent transforms; parallax keeps its child transforms. */
.home-page .hero-copy>.hero-cloud{position:absolute;z-index:1;pointer-events:none}
.intro-pending .site-header{opacity:1;transform:none}
.intro-pending .intro-char,.intro-pending main>section:not(.hero),.intro-pending footer{opacity:1}
.intro-pending .hero-copy>:not(.hero-cloud){opacity:0}
.intro-pending .hero-copy>.hero-cloud{opacity:0}
.intro-pending .hero-background{visibility:hidden}
.intro-pending .chapel-scene,.intro-pending .chapel-front-scene{transform:translateY(120vh)}
.intro-pending .hero-countdown .countdown>div,.intro-pending .hero-scroll-cue{opacity:0}
/* One backdrop surface: top-to-bottom fade without stacked blur sampling. */
.header-glass>span{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);mask-image:linear-gradient(to bottom,#000 0%,#000 20%,rgba(0,0,0,.7) 55%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 20%,rgba(0,0,0,.7) 55%,transparent 100%)}

/* Talita review: shared dark olive footer and local RSVP proposal. */
.site-footer{background:#414B2D;color:#F8F5EC}
.site-footer .footer-names,.site-footer p,.site-footer h2,.site-footer span{color:#F8F5EC}
.site-footer .footer-signoff::before{background:rgba(248,245,236,.45)}
.rsvp-section{background:var(--ivory);border-block:1px solid var(--brand-olive)}
#rsvp-form{max-width:620px;margin:auto;display:grid;gap:12px}
#rsvp-form input:not([type=radio]){width:100%;min-height:48px;border:1px solid var(--brand-olive);border-radius:6px;background:var(--ivory);color:var(--ink);padding:10px 12px}
#rsvp-form fieldset{border:0;padding:12px 0;margin:0;display:grid;gap:10px}
#rsvp-form fieldset label{display:flex;align-items:center;gap:10px;min-height:44px}
#rsvp-form input[type=radio]{accent-color:var(--ink);width:20px;height:20px}
#rsvp-companions{display:grid;gap:8px}#rsvp-companions[hidden]{display:none}
#rsvp-form small,.rsvp-preview{font-size:13px}#rsvp-form .button{justify-self:start;margin-top:12px}
#rsvp-form input:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
#rsvp-status{min-height:1.7em;font-size:14px}
.rsvp-section{scroll-margin-top:88px}.rsvp-section .section-heading{display:block;text-align:center;margin-bottom:36px}.rsvp-section .section-heading p{padding:0;margin:20px auto 0;max-width:560px}
@media(min-width:701px) and (max-width:1100px){.site-header nav{gap:16px;font-size:10px}}

/* Readable fixed navigation: opaque upper 70%, softly feathered lower edge. */
.header-glass>span{display:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.header-glass::before{content:"";background:linear-gradient(to bottom,#F8F5EC 0%,#F8F5EC 70%,rgba(248,245,236,.96) 76%,rgba(248,245,236,.84) 82%,rgba(248,245,236,.62) 87%,rgba(248,245,236,.35) 92%,rgba(248,245,236,.12) 97%,rgba(248,245,236,0) 100%)}
/* Header follows computed section surfaces, without a per-section color table. */
.site-header,.home-page .site-header{background:transparent;--header-ink:var(--ink);--header-surface-color:var(--ivory)}
.header-glass{display:block}
.header-glass::before{background:var(--header-surface-color);mask-image:linear-gradient(to bottom,#000 0%,#000 70%,rgba(0,0,0,.96) 76%,rgba(0,0,0,.84) 82%,rgba(0,0,0,.62) 87%,rgba(0,0,0,.35) 92%,rgba(0,0,0,.12) 97%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 70%,rgba(0,0,0,.96) 76%,rgba(0,0,0,.84) 82%,rgba(0,0,0,.62) 87%,rgba(0,0,0,.35) 92%,rgba(0,0,0,.12) 97%,transparent 100%)}
.home-page .site-header:not([data-surface]) .header-glass,.site-header[data-surface="hero"] .header-glass{opacity:0}
.site-header nav,.site-header nav a,.site-header nav a:hover,.site-header nav a[aria-current="page"],.site-header .menu-toggle{color:var(--header-ink)}
.site-header nav a::after{background:var(--header-ink)}
.site-header a:focus-visible,.site-header button:focus-visible{outline-color:var(--header-ink)}
.site-header[data-surface-contrast="light"] .monogram-image{filter:brightness(0) invert(1)}
@media(max-width:700px){.site-header nav.is-open{background:var(--header-surface-color);color:var(--header-ink)}}
@media(prefers-reduced-transparency:reduce){.header-glass::before{mask-image:none;-webkit-mask-image:none}}
/* Retargetable surface fades; colors still come from the section underneath. */
.header-glass{transition:opacity 350ms cubic-bezier(.4,0,.2,1)}
.header-glass::before{transition:background-color 350ms cubic-bezier(.4,0,.2,1)}
.site-header nav,.site-header nav a,.site-header .menu-toggle{transition:color 350ms cubic-bezier(.4,0,.2,1),background-color 350ms cubic-bezier(.4,0,.2,1)}
.site-header .monogram-image{transition:filter 350ms cubic-bezier(.4,0,.2,1)}
.site-header nav a::after{transition:transform .2s,background-color 350ms cubic-bezier(.4,0,.2,1)}
@media(prefers-reduced-motion:reduce){.header-glass,.header-glass::before,.site-header nav,.site-header nav a,.site-header .menu-toggle,.site-header .monogram-image,.site-header nav a::after{transition:none}}

/* Open mobile menu is one continuous, frozen surface, including the header. */
@media(max-width:700px){
 .site-header[data-menu-surface="locked"] .header-glass{opacity:1!important}
 .site-header[data-menu-surface="locked"] .header-glass::before{mask-image:none;-webkit-mask-image:none}
}

/* Editable numeric companion stepper with comfortable touch targets. */
.rsvp-stepper{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:10px;align-items:center}
#rsvp-form .rsvp-stepper button{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid var(--brand-olive);border-radius:6px;background:var(--ivory);color:var(--ink);font-size:26px;line-height:1}
#rsvp-form .rsvp-stepper button:disabled{opacity:.35;cursor:default}
#rsvp-form .rsvp-stepper input{text-align:center;font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield}
.rsvp-stepper input::-webkit-inner-spin-button,.rsvp-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.rsvp-stepper-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Home gift section points to the dedicated catalogue. */
.home-page #presentes .gift-intro{display:block;text-align:center}
.home-page #presentes .gift-intro>div{max-width:720px;margin-inline:auto}
.home-page #presentes .gift-intro p{margin-inline:auto;max-width:580px}
