:root{--wine:#591d2a;--deep:#34121c;--paper:#fbf7f1;--ink:#34272a;--rose:#d7b5a7;--line:#d9cdc4;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 var(--sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #bb8953;outline-offset:5px}button{color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(3rem,5.5vw,5.4rem);line-height:1.05;letter-spacing:-.04em}h2 em{font-weight:400;color:var(--wine)}.eyebrow{font-size:.75rem;letter-spacing:.21em;text-transform:uppercase;font-weight:600}.demo-bar{height:43px;background:var(--wine);color:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 4%;font-size:.75rem}.demo-bar>a:first-child{font:24px var(--serif)}.demo-bar>a:first-child span{font:12px var(--sans)}.demo-bar>span{font-size:.65rem;letter-spacing:.18em}.hero{height:min(900px,calc(100svh - 43px));min-height:670px;position:relative;color:#fff;overflow:hidden;background:#555753}.hero-image,.hero-shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:50% 54%}.hero-shade{background:linear-gradient(180deg,rgba(18,19,19,.39),rgba(18,19,19,.13) 32%,rgba(18,19,19,.18) 50%,rgba(18,19,19,.65))}.hero-top,.hero-bottom{position:absolute;left:5%;right:5%;display:flex;justify-content:space-between;gap:24px}.hero-top{top:32px;font-size:.75rem;letter-spacing:.16em;border-bottom:1px solid #ffffff55;padding-bottom:22px}.hero-title{position:absolute;top:18%;width:100%;text-align:center}.hero-title .eyebrow{font-weight:400;letter-spacing:.28em}.hero h1{font-size:clamp(5.8rem,11.3vw,10.6rem);line-height:.83;letter-spacing:-.055em;margin-top:32px}.hero h1 em{display:block;font-weight:400;margin-left:8%}.hero .amp{display:inline-block;font:italic .45em var(--serif);vertical-align:middle;margin-left:.22em}.hero-subtitle{margin-top:32px;font-family:var(--serif);font-size:1.5rem;font-style:italic}.hero-bottom{bottom:32px;align-items:end;font-size:.7rem;letter-spacing:.16em}.hero-bottom b{font-weight:400;letter-spacing:0;font-family:var(--serif);font-size:1.15rem}.discover{display:flex;align-items:center;gap:30px}.discover span{font-size:1.6rem}.page-nav{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:5}.monogram{font:1.8rem var(--serif);color:var(--wine)}.monogram i{font-size:1.1rem}.page-nav>div{display:flex;gap:35px;font-size:.875rem}.page-nav a:hover{color:#985064}.music-button{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:none;padding:8px 16px;border-radius:40px;font-size:.8rem}.music-button>span:first-child{font-size:1.25rem;color:var(--wine)}.music-button[aria-pressed=true]{background:var(--wine);color:var(--paper)}.music-button[aria-pressed=true]>span:first-child{color:var(--paper)}.section-pad{padding:112px max(5%,calc((100vw - 1280px)/2))}.invitation{text-align:center}.invitation .eyebrow{color:var(--wine)}.invitation h2{margin:26px 0}.intro{max-width:590px;margin:auto;color:#675b5b;line-height:1.95}.signature{font:italic 2rem var(--serif);margin-top:27px;color:var(--wine)}.date-display{display:flex;gap:25px;align-items:center;justify-content:center;margin:57px auto 50px}.date-display strong{font:6rem/.85 var(--serif);padding:0 26px;border-inline:1px solid var(--line)}.date-display>span{font-size:.75rem;letter-spacing:.17em;min-width:90px}.countdown{display:flex;align-items:center;justify-content:center;gap:27px;margin:18px 0 25px}.countdown div{min-width:65px}.countdown strong{font:3.5rem/1.2 var(--serif);font-variant-numeric:tabular-nums}.countdown span{display:block;font-size:.65rem;letter-spacing:.15em}.countdown>b{font:1.5rem var(--serif);color:var(--line);padding-bottom:20px}.text-link{display:inline-block;background:none;border:0;border-bottom:1px solid currentColor;padding:7px 0;font-size:.8rem;color:var(--wine)}.text-link span{margin-left:12px}.family{text-align:center;background:#eee6dc}.family .eyebrow{color:var(--wine)}.family h2{font-size:clamp(2.7rem,4.5vw,4.4rem);margin:26px 0 45px}.family-grid{display:flex;justify-content:center;align-items:center;gap:90px}.family h3{font:600 .7rem var(--sans);letter-spacing:.18em;color:var(--wine);margin-bottom:17px}.family-grid p,.godparents p{font:1.9rem/1.3 var(--serif)}.family-amp{font:italic 3.4rem var(--serif);color:#916974}.godparents{border-top:1px solid #d7c9be;max-width:550px;margin:40px auto 0;padding-top:36px}.godparents>span{display:block;font-size:.8rem;margin-top:14px;color:#6e6061}.section-heading{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:45px}.section-heading h2{margin-top:15px}.section-heading>p{font-size:.9rem;color:#746360;padding-bottom:5px}.event-grid{display:grid;grid-template-columns:.8fr 1.2fr;min-height:530px;border:1px solid var(--line)}.event{padding:50px}.event-num{font-size:.7rem;letter-spacing:.17em}.event h3{font-size:3.1rem;line-height:1.1;margin:22px 0}.event-time{font:2.7rem var(--serif);color:var(--wine);margin-bottom:14px}.event-time>span{font:1rem var(--sans)}.event .muted{font-size:.8rem;color:#786a69;margin:5px 0 28px}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:35px;padding:14px 24px;font-size:.8rem;border:1px solid var(--wine);transition:background .2s,color .2s}.button-outline{color:var(--wine)}.button-outline:hover{background:var(--wine);color:var(--paper)}.event small{display:block;font-size:.7rem;margin-top:15px}.event-photo{position:relative;color:white;background:#372b26;isolation:isolate;display:flex;align-items:end}.event-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.event-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#1c1412e8,#1c141215);z-index:-1}.event-photo h3{font-size:3.5rem}.event-photo p{font-size:.75rem;letter-spacing:.16em;margin-bottom:10px}.event-photo div>span:last-of-type{font:italic 1.25rem var(--serif)}.timeline{display:grid;grid-template-columns:repeat(5,1fr);padding:0;list-style:none;margin:55px 0 0}.timeline li{border-top:1px solid var(--line);padding-top:25px;position:relative}.timeline li:before{content:'';width:6px;height:6px;background:var(--wine);border-radius:50%;position:absolute;top:-3px}.timeline time{font:1.6rem var(--serif);color:var(--wine)}.timeline span{display:block;font-size:.875rem;margin-top:10px}.timeline small{color:#7c7070;font-size:.75rem}.gallery-section{padding-top:25px;overflow:hidden}.gallery-controls{display:flex;gap:14px;align-items:center}.gallery-controls>span{font-size:.75rem;letter-spacing:.1em;margin-right:10px}.gallery-controls button{width:44px;height:44px;border:1px solid var(--line);background:none;border-radius:50%}.gallery-controls button:disabled{opacity:.35;cursor:default}.gallery{display:flex;gap:24px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b99e97 transparent;padding:0 0 22px}.gallery figure{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;min-width:260px}.gallery figure:nth-child(2){padding-top:55px}.gallery img{width:100%;height:440px;object-fit:cover;display:block}.gallery figure:first-child img{object-position:50% 66%}.gallery figure:last-child img{object-position:40%}.gallery figcaption{font:italic 1.2rem var(--serif);margin-top:14px}.details{background:#eee6dc}.details>h2{margin:20px 0 55px}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.detail-number{font:italic 2.7rem var(--serif);color:var(--wine);display:block;border-bottom:1px solid #d1c3b8;padding-bottom:15px;margin-bottom:20px}.details h3{font-size:1.9rem;line-height:1.15;margin-bottom:15px}.details-grid p{font-size:.875rem;line-height:1.9;color:#6a5a5c}.swatches{display:flex;gap:10px;margin-top:23px}.swatches span{width:22px;height:22px;border-radius:50%;background:var(--swatch)}.detail-note{display:block;font:italic 1.2rem var(--serif);margin-top:20px;color:var(--wine)}.hashtag{text-align:center;border-top:1px solid #d1c3b8;margin-top:55px;padding-top:42px}.hashtag p{font-size:.85rem}.hashtag button{font:2.1rem var(--serif);background:none;border:none;margin-top:12px;color:var(--wine)}.hashtag button span{font:.6em var(--sans);margin-left:12px}.hashtag>span{display:block;font-size:.75rem;min-height:1.5em}.rsvp{background:var(--wine);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:100px}.rsvp .eyebrow{color:#dfbbb0}.rsvp h2{margin:25px 0}.rsvp h2 em{color:#dfbbb0}.rsvp-intro>p:not(.eyebrow){font-size:.9rem;max-width:360px;color:#eeddd7}.guest-card{border-block:1px solid #ffffff30;padding:28px 0;margin-top:38px}.guest-card>span{font-size:.65rem;letter-spacing:.18em;color:#dfbbb0}.guest-card h3{font-size:2.1rem;margin:9px 0}.guest-card>p{font-size:.85rem}.guest-card strong{font-weight:600}.rsvp-intro>.deadline{font-size:.75rem!important;margin-top:20px}.rsvp form{background:#ffffff08;padding:35px;border:1px solid #ffffff25}.form-kicker{font-size:.7rem;letter-spacing:.17em;display:block;margin-bottom:22px;color:#dfbbb0}form>label,#party-field>label,form legend{display:block;font-size:.8rem;margin-bottom:8px}form label span{font-size:.75rem;color:#ddc5c0}input:not([type=radio]),select,textarea{border:1px solid #ffffff50;background:#fff8f00a;color:var(--paper);border-radius:0;width:100%;padding:12px 15px;font-size:1rem;line-height:1.5;margin-bottom:22px}input::placeholder,textarea::placeholder{color:#dfc7c1;font-size:.875rem}select option{background:var(--paper);color:var(--ink)}fieldset{padding:0;margin:0 0 22px;border:0;min-width:0}.attendance{display:flex;gap:10px}.attendance label{flex:1;cursor:pointer}.attendance input{position:absolute;opacity:0}.attendance span{display:flex;align-items:center;justify-content:center;padding:12px 8px;border:1px solid #ffffff50;min-height:49px;font-size:.75rem;text-align:center}.attendance input:checked+span{background:var(--paper);color:var(--wine);border-color:var(--paper)}.attendance input:focus-visible+span{outline:3px solid #dfb989;outline-offset:3px}textarea{resize:vertical;min-height:110px}.button-cream{background:var(--paper);color:var(--wine);border-color:var(--paper);width:100%}.button-cream:hover{background:#e8d5c5}.form-note{font-size:.7rem;line-height:1.7;color:#dfc7c1;margin-top:15px}.confirmation{margin-top:25px;padding-top:22px;border-top:1px solid #ffffff40}.confirmation h3{font-size:1.6rem}.confirmation p{font-size:.8rem;white-space:pre-line;margin-top:10px;overflow-wrap:anywhere}.confirmation .text-link{color:var(--paper)}.confirmation>span{font-size:.75rem;display:block}.closing{text-align:center}.closing h2{margin:25px 0 35px;font-size:clamp(3rem,5vw,4.7rem)}.closing-names{font:2.6rem var(--serif);color:var(--wine);margin-bottom:18px}.closing-names i{font-size:.75em}.closing>.text-link{margin-top:40px}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:35px 5%;border-top:1px solid var(--line)}.footer-brand{font:2.5rem var(--serif);color:var(--wine)}.footer-brand span{display:block;font:italic 1rem var(--serif)}footer p{font-size:.65rem;line-height:1.8;color:#736163}footer>a:last-child{font-size:.75rem;border-bottom:1px solid var(--line)}[hidden]{display:none!important}
@media(min-width:1500px){.hero-image{object-position:50% 59%}}@media(max-width:1000px){.rsvp{gap:45px}.event{padding:34px}.gallery img{height:350px}.section-pad{padding-block:85px}.hero{min-height:640px}.family-grid{gap:45px}.details-grid{gap:28px}.page-nav>div{gap:22px}}@media(max-width:700px){html{scroll-padding-top:73px}.demo-bar{padding-inline:6%;height:39px}.demo-bar>a:first-child span,.demo-bar>a:last-child{display:none}.demo-bar>span{font-size:.6rem}.hero{height:calc(100svh - 39px);min-height:610px;max-height:900px}.hero-image{object-position:50% 55%}.hero-top{left:7%;right:7%;top:24px;font-size:.6rem;letter-spacing:.1em;gap:12px}.hero-title{top:23%}.hero-title .eyebrow{font-size:.6rem;letter-spacing:.2em}.hero h1{font-size:clamp(4.8rem,19vw,8rem);margin-top:30px;line-height:.94}.hero h1 em{margin-left:0}.hero .amp{display:block;font-size:.38em;margin:0;line-height:.9}.hero-subtitle{font-size:1.2rem;margin-top:22px}.hero-bottom{left:7%;right:7%;bottom:28px;font-size:.6rem}.hero-bottom b{font-size:1rem}.discover{font-size:0;gap:0}.discover span{font-size:1.8rem}.page-nav{height:72px;padding-inline:6%}.page-nav>div{gap:17px;font-size:.75rem}.page-nav>div>a:nth-child(2){display:none}.monogram{font-size:1.4rem}.music-button{padding:6px 10px;font-size:.7rem;gap:6px}.section-pad{padding:74px 7%}h2{font-size:3.2rem}.eyebrow{font-size:.65rem;letter-spacing:.17em}.intro{font-size:.875rem}.invitation h2{margin:23px 0}.date-display{margin:43px 0}.date-display>span{min-width:65px;font-size:.65rem}.date-display strong{font-size:5rem;padding-inline:20px}.date-display{gap:15px}.countdown{gap:12px}.countdown div{min-width:47px}.countdown strong{font-size:2.7rem}.countdown span{font-size:.55rem}.countdown>b{font-size:1.2rem}.text-link{font-size:.75rem}.family h2{font-size:2.7rem}.family-grid{gap:18px;align-items:flex-start}.family-grid>div{flex:1}.family-grid p,.godparents p{font-size:1.5rem}.family h3{font-size:.6rem;letter-spacing:.1em}.family-amp{font-size:2rem;margin-top:34px}.godparents>span{font-size:.75rem}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;font-size:.8rem}.event-grid{grid-template-columns:1fr}.event{padding:32px}.event h3{font-size:2.8rem}.event-photo{min-height:445px}.event-photo h3{font-size:3.1rem}.timeline{grid-template-columns:1fr;margin-top:35px}.timeline li{display:grid;grid-template-columns:75px 1fr;border-top:0;border-left:1px solid var(--line);padding:0 0 28px 25px;align-items:center}.timeline li:before{top:11px;left:-3.5px}.timeline span{margin:0}.timeline small{grid-column:2}.timeline time{grid-row:1/3}.gallery-section{padding-top:20px}.gallery-controls{margin-top:25px}.gallery figure{flex-basis:83%;min-width:0}.gallery figure:nth-child(2){padding-top:0}.gallery img{height:400px}.gallery{gap:18px}.gallery figcaption{font-size:1.1rem}.details>h2{margin-bottom:32px}.details-grid{grid-template-columns:1fr;gap:35px}.detail-number{font-size:2.2rem;padding-bottom:10px;margin-bottom:16px}.details h3{font-size:1.8rem}.details-grid p{font-size:.875rem}.hashtag{margin-top:40px;padding-top:30px}.hashtag button{font-size:1.8rem}.rsvp{grid-template-columns:1fr;gap:36px}.rsvp form{padding:25px 20px}.rsvp h2{font-size:3.4rem}.guest-card{margin-top:28px}.closing h2{font-size:3rem}.closing-names{font-size:2.1rem}footer{flex-direction:column;text-align:center;gap:20px;padding:35px 7%}footer p{font-size:.65rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}@media print{.demo-bar,.page-nav,footer,.hero-bottom,.hero-top{display:none}main>section:not(.hero){display:none}.hero{height:100vh;min-height:0;max-height:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}.hero-title{top:25%}}

/* Mobile-first refinements for Dicha */
@media(max-width:700px){
html{scroll-padding-top:76px}body{overflow-wrap:break-word}
.hero{min-height:560px;height:calc(100svh - 39px)}
.hero h1{font-size:clamp(3.5rem,18vw,6rem);line-height:.96}
.hero-title{top:21%}.hero-top{font-size:.75rem;letter-spacing:.06em}
.hero-title .eyebrow{font-size:.75rem;letter-spacing:.11em}
.hero-bottom{font-size:.75rem;letter-spacing:.08em}
.hero-subtitle{padding-inline:20px}.page-nav{gap:10px}
.page-nav>div>a:last-child{display:none}.page-nav>div{font-size:.875rem;gap:0}
.page-nav a,.music-button{min-height:44px;display:flex;align-items:center}.music-button{font-size:.875rem;padding:6px 10px}
.section-pad{padding-inline:6%}.eyebrow{font-size:.75rem;letter-spacing:.12em}
.intro,.details-grid p,.section-heading>p{font-size:1rem;line-height:1.85}
.family h3{font-size:.875rem;letter-spacing:.04em}.family-grid{display:grid;grid-template-columns:1fr;gap:18px}.family-amp{margin-top:0;line-height:1}
.family-grid p,.godparents p{font-size:1.8rem}.godparents>span{font-size:.875rem}
.date-display>span{font-size:.875rem;letter-spacing:.08em}.countdown span{font-size:.75rem;letter-spacing:.04em}
.countdown{gap:9px}.countdown div{min-width:46px}.text-link,.button,.event-num,.timeline span,.timeline small{font-size:.875rem}
.text-link{min-height:44px;display:inline-flex;align-items:center}.event small{font-size:.75rem}
.event{padding:28px}.event .muted{font-size:.875rem}.gallery img{height:auto;aspect-ratio:3/4}
.gallery-controls>span{font-size:.875rem}.details h3{font-size:2rem}.hashtag p{font-size:.875rem}
.rsvp form{padding:25px 18px;min-width:0}.rsvp form>label,#party-field>label,.rsvp legend,.attendance span{font-size:.875rem}
.rsvp-intro>p:not(.eyebrow),.guest-card>p{font-size:1rem}.form-kicker{font-size:.875rem}
.guest-card>span,.form-note,.rsvp-intro>.deadline{font-size:.875rem!important}.attendance{gap:8px}.attendance span{padding:12px 5px}
.confirmation p{font-size:.875rem}footer p{font-size:.75rem}footer>a:last-child{font-size:.875rem;min-height:44px;display:flex;align-items:center}
}
@media(max-width:360px){.page-nav{padding-inline:5%;gap:7px}.music-button{font-size:.75rem}.monogram{font-size:1.25rem}.hero-top{font-size:.65rem}.hero h1{font-size:18vw}.date-display{gap:10px}.date-display strong{padding-inline:15px}.attendance{flex-direction:column}}

@media(max-width:700px){.discover{font-size:.75rem;max-width:110px;line-height:1.5;text-align:right;letter-spacing:.06em;min-height:44px}}
