/* Ivory invitation paper. Every visual rule below is scoped beneath the hero. */
html{scroll-behavior:smooth;scroll-padding-top:90px}
.invitation-details{--wi-paper:#f7f3eb;--wi-ink:#454936;--wi-muted:#797967;--wi-gold:#9c8854;--wi-champagne:#b8a572;--wi-line:#b5a57b52;--wi-display:'Bodoni Moda','Didot','Cormorant Garamond',serif;position:relative;isolation:isolate;background:var(--wi-paper);color:var(--wi-ink);font:400 21px/1.6 'Cormorant Garamond',Georgia,serif}
.invitation-details::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.14;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.68' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath filter='url(%23paper)' opacity='.6' d='M0 0h240v240H0z'/%3E%3C/svg%3E")}
.invitation-details *, .invitation-details *::before,.invitation-details *::after{box-sizing:border-box}
.invitation-details [hidden]{display:none!important}
.invitation-details a{color:inherit;text-decoration:none}
.invitation-details :is(button,input,textarea){font:inherit}
.invitation-details :is(a,button,input,textarea,summary):focus-visible{outline:2px solid var(--wi-gold);outline-offset:5px}
.invitation-details section{scroll-margin-top:14px}
.invitation-details :is(h2,h3,h4,p,figure){margin:0}
.invitation-details h2{font-family:var(--wi-display);font-weight:400;font-size:clamp(39px,4.15vw,57px);line-height:1.16;letter-spacing:-.045em;color:var(--wi-ink);font-optical-sizing:auto}
.invitation-details h2 em{font-family:'Cormorant Garamond',serif;font-weight:400;color:var(--wi-gold)}
.invitation-details h3{font-size:29px;line-height:1.3;font-weight:400}
.invitation-details p{font-size:22px;line-height:1.6}
.invitation-details .wi-wrap{width:min(100%,1200px);margin-inline:auto;padding-inline:60px}
.invitation-details .wi-kicker{font:600 12px/1.8 'Cormorant Garamond',Georgia,serif;text-transform:uppercase;letter-spacing:.22em;color:#77775f}
.invitation-details .wi-section-label{font:500 19px/1.4 'Cormorant Garamond',Georgia,serif;letter-spacing:.25em;text-transform:uppercase;text-align:center;color:var(--wi-ink)}
.invitation-details .wi-small-rule{display:block;width:58px;height:1px;background:var(--wi-champagne);margin-block:30px;position:relative}
.invitation-details .wi-small-rule::after{content:"";position:absolute;width:22px;height:1px;left:18px;top:4px;background:#b8a57260}
.invitation-details .wi-gold-icon{display:block;object-fit:contain;width:48px;height:48px;flex:none}
.invitation-details .wi-arrow{font-family:Georgia,serif;font-size:25px;line-height:15px;letter-spacing:0;transition:transform .2s}
.invitation-details .wi-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:51px;padding:14px 25px;border:1px solid #a89360;background:#a89360;color:#fffdf7;font:500 12px/1.5 'Cormorant Garamond',Georgia,serif;letter-spacing:.17em;text-transform:uppercase;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s}
.invitation-details .wi-button:hover{background:#918052;border-color:#918052;box-shadow:0 5px 18px #443d2510}
.invitation-details .wi-button:hover .wi-arrow{transform:translateX(3px)}
.invitation-details .wi-button-outline{background:transparent;color:#75643d;border-color:var(--wi-champagne)}
.invitation-details .wi-button-outline:hover{color:#67542c;background:#b8a57212;border-color:var(--wi-gold)}
.invitation-details .wi-fine-print{font:400 12px/1.7 Arial,sans-serif;color:#797668;letter-spacing:.01em}
.invitation-details .wi-text-link{font:500 14px/1.6 'Cormorant Garamond',Georgia,serif;color:#827043;background:none;border:0;border-bottom:1px solid #b8a57280;padding:0 0 4px;cursor:pointer;display:inline-block}
.invitation-details .wi-text-link:hover{color:#5b512f;border-color:#75643d}
.invitation-details .wi-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Quiet navigation and countdown. */
.invitation-details .wedding-nav{position:sticky;top:0;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:80px;padding:14px max(calc((100vw - 1080px)/2),40px);background:#f7f3ebf2;backdrop-filter:blur(16px);border-block:1px solid var(--wi-line)}
.invitation-details .nav-monogram{display:flex;align-items:center;flex-shrink:0}
.invitation-details .wi-menu-toggle{display:none}
.invitation-details .wi-nav-links{display:flex;align-items:center;gap:34px}
.invitation-details .wi-nav-links a,.invitation-details .wi-nav-rsvp{font:600 11px/1.6 'Cormorant Garamond',Georgia,serif;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;min-height:38px;display:inline-flex;align-items:center;position:relative}
.invitation-details .wi-nav-links a::after{content:"";position:absolute;height:1px;background:var(--wi-champagne);bottom:3px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .2s}
.invitation-details .wi-nav-links a:hover::after,.invitation-details .wi-nav-links a[aria-current]::after{transform:scaleX(1)}
.invitation-details .wi-nav-rsvp{color:#827043;gap:5px}
.invitation-details .wi-nav-links .wi-menu-rsvp::after{content:none}
.invitation-details .wi-nav-rsvp .wi-arrow{margin-left:14px}
.invitation-details .wi-countdown{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:72px}
.invitation-details .wi-countdown-intro .wi-kicker{font-size:10px;margin-bottom:14px;letter-spacing:.18em}
.invitation-details .wi-countdown h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;letter-spacing:-.02em}
.invitation-details .wi-countdown-numbers{display:flex;align-items:center;justify-content:center;gap:18px;text-align:center}
.invitation-details .wi-countdown-numbers>div{width:62px}
.invitation-details .wi-countdown-numbers strong{display:block;font-size:51px;line-height:1.05;letter-spacing:-.03em;font-weight:400;color:var(--wi-gold);font-variant-numeric:lining-nums tabular-nums}
.invitation-details .wi-countdown-numbers span{display:block;font:500 10px/1.5 'Cormorant Garamond',serif;letter-spacing:.16em;text-transform:uppercase;margin-top:10px;color:var(--wi-muted)}
.invitation-details .wi-countdown-numbers>i{font-style:normal;font-size:18px;color:var(--wi-champagne);align-self:flex-start;margin-top:10px}

/* Formal typesetting on one continuous sheet of ivory paper. */
.invitation-details .wi-invitation{padding:78px 0 85px}
.invitation-details .wi-invite-card{max-width:1150px;margin:auto;padding:0 45px;text-align:center}
.invitation-details .wi-invite-card>.wi-kicker{margin-bottom:32px;line-height:1.9;letter-spacing:.26em}
.invitation-details .wi-couple-names{display:flex;align-items:center;justify-content:center;gap:18px;white-space:nowrap;font-size:clamp(44px,5.2vw,75px);letter-spacing:-.055em;line-height:1.2}
.invitation-details .wi-couple-names em{font:italic 1.55em/.9 'Cormorant Garamond',Georgia,serif;color:#b6a777;letter-spacing:-.08em;padding:0 15px 15px 4px}
.invitation-details .wi-invite-wording{font-size:22px;line-height:1.55;margin-top:24px;color:#676955}
.invitation-details .wi-invite-card .wi-small-rule{margin:29px auto 28px}
.invitation-details .wi-invite-date-line{font:500 23px/1.5 'Cormorant Garamond',Georgia,serif;letter-spacing:.2em;text-transform:uppercase}
.invitation-details .wi-invite-location{font:500 13px/1.7 'Cormorant Garamond',Georgia,serif;letter-spacing:.23em;text-transform:uppercase;margin-top:8px}
.invitation-details .wi-invite-note{font-size:22px;line-height:1.45;font-style:italic;color:#797b66;margin-top:27px}
.invitation-details .wi-facts{margin-top:55px}
.invitation-details .wi-section-label::after{content:"";display:block;height:1px;width:52px;background:var(--wi-champagne);margin:16px auto 0}
.invitation-details .wi-facts-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;text-align:center}
.invitation-details .wi-facts-grid>div{padding:5px 28px;border-right:1px solid var(--wi-line)}
.invitation-details .wi-facts-grid>div:last-child{border-right:0}
.invitation-details .wi-facts .wi-gold-icon{margin:0 auto 18px;width:43px;height:43px}
.invitation-details .wi-facts h4{font:600 12px/1.6 'Cormorant Garamond',Georgia,serif;letter-spacing:.2em;text-transform:uppercase;margin:0 0 12px}
.invitation-details .wi-facts p{font-size:24px;line-height:1.25;margin-bottom:12px;letter-spacing:-.025em}
.invitation-details .wi-facts-grid>div>span{display:block;font-size:18px;font-style:italic;line-height:1.4;color:#797b66}
.invitation-details .wi-facts a{display:inline-block;font-size:13px;letter-spacing:.035em;border-bottom:1px solid #b8a57270;margin-top:18px;padding-bottom:3px;color:#827043}
.invitation-details .wi-facts a:hover{border-color:#827043}
.invitation-details .wi-facts a b{font-weight:400;margin-left:7px}

/* A personal note, with the existing portrait artwork. */
.invitation-details .wi-story{display:grid;grid-template-columns:.9fr 1fr;gap:105px;align-items:center;padding-block:68px 95px}
.invitation-details .wi-portrait{position:relative;max-width:400px}

.invitation-details .wi-portrait-window::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px #aca47e1f;pointer-events:none;border-radius:inherit}
.invitation-details .wi-portrait-couple{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:91%;width:auto;max-width:none;object-fit:contain}
.invitation-details .wi-portrait figcaption{font:500 10px/1.7 'Cormorant Garamond',Georgia,serif;letter-spacing:.17em;text-align:center;text-transform:uppercase;color:#797b66;padding-top:19px}
.invitation-details .wi-story-copy>.wi-kicker{margin-bottom:23px}
.invitation-details .wi-story-copy>p:not(.wi-kicker):not(.wi-signature){max-width:410px;margin-top:18px}
.invitation-details .wi-story-copy .wi-story-note{font-style:italic;color:#797b66}
.invitation-details .wi-signature{font:italic 31px/1.4 'Cormorant Garamond',Georgia,serif;color:#827043;margin-top:28px}
.invitation-details .wi-signature-amp{font-size:.8em;padding-inline:3px;color:#b6a777}

/* One confirmed ceremony, presented as a clean programme. */
.invitation-details .wi-day{border-block:1px solid var(--wi-line);background:#e7e0ce25}
.invitation-details .wi-day-layout{padding-block:76px 74px}
.invitation-details .wi-day-heading{text-align:center}
.invitation-details .wi-day-heading>.wi-kicker{margin-bottom:19px}
.invitation-details .wi-day-heading .wi-small-rule{margin:23px auto}
.invitation-details .wi-day-heading>p:not(.wi-kicker){font-size:22px;font-style:italic;color:#797b66}
.invitation-details .wi-ceremony-row{display:grid;grid-template-columns:1fr 120px 1fr;align-items:center;gap:45px;max-width:820px;margin:45px auto 35px;position:relative}
.invitation-details .wi-event-time{text-align:right}
.invitation-details .wi-event-time strong{font-size:62px;font-weight:400;color:var(--wi-ink);letter-spacing:-.05em;line-height:1;display:block;font-variant-numeric:lining-nums}
.invitation-details .wi-event-time>span{display:block;font:500 11px/1.5 'Cormorant Garamond',Georgia,serif;letter-spacing:.13em;text-transform:uppercase;margin-top:13px;color:#797b66}
.invitation-details .wi-ceremony-seal{height:110px;width:110px;border-radius:50%;border:1px solid #b8a57236;background:#d6c9a627;display:grid;place-items:center;position:relative}
.invitation-details .wi-ceremony-seal::before,.invitation-details .wi-ceremony-seal::after{content:"";position:absolute;width:24px;height:1px;background:var(--wi-line);top:50%;left:-34px}
.invitation-details .wi-ceremony-seal::after{left:auto;right:-34px}
.invitation-details .wi-ceremony-seal .wi-gold-icon{width:55px;height:55px}
.invitation-details .wi-event-copy h3{font-size:29px;margin-bottom:6px}
.invitation-details .wi-event-copy p{font-size:20px;line-height:1.35}
.invitation-details #date-note{display:block;font:400 11px/1.6 Arial,sans-serif;color:#797668;margin-top:9px}
.invitation-details .wi-day-actions{text-align:center}
.invitation-details .wi-day-actions>.wi-fine-print{margin-top:15px;font-size:10px}

/* Destination photography stays natural, with a simple paper mount. */
.invitation-details .wi-venue{display:grid;grid-template-columns:1fr 1.05fr;gap:90px;align-items:center;padding-block:95px}
.invitation-details .wi-venue-copy>.wi-gold-icon{width:40px;height:40px;margin-bottom:21px}
.invitation-details .wi-venue-copy>.wi-kicker{margin-bottom:23px}
.invitation-details .wi-venue h2{font-size:clamp(40px,4.3vw,59px)}
.invitation-details .wi-venue-copy>p:not(.wi-kicker){margin-top:19px;max-width:355px}
.invitation-details .wi-venue address{font-size:19px;font-style:normal;line-height:1.6;margin:28px 0}
.invitation-details .wi-venue address .wi-kicker{display:block;font-size:11px;margin-bottom:9px}
.invitation-details .wi-venue-figure{position:relative;padding:9px 9px 0;border:1px solid var(--wi-line);background:#fffdf733;box-shadow:0 8px 25px #4c492c07}
.invitation-details .wi-venue-image{height:550px;overflow:hidden;background:#e6e8dd}
.invitation-details .wi-venue-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 35%;filter:saturate(.9)}
.invitation-details .wi-venue-figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 5px;font:500 10px/1.7 'Cormorant Garamond',Georgia,serif;letter-spacing:.1em;text-transform:uppercase;color:#797b66}

/* Guest information. */
.invitation-details .wi-visit{border-block:1px solid var(--wi-line);background:#e7e0ce1b}
.invitation-details .wi-visit-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;padding-block:76px}
.invitation-details .wi-visit-intro>.wi-gold-icon{width:42px;height:42px;margin-bottom:22px}
.invitation-details .wi-visit-intro>.wi-kicker{margin-bottom:22px}
.invitation-details .wi-visit-intro h2{font-size:49px}
.invitation-details .wi-visit-intro>p:not(.wi-kicker){margin-top:23px}
.invitation-details .wi-questions{border-top:1px solid var(--wi-line);margin-top:9px}
.invitation-details .wi-questions details{border-bottom:1px solid var(--wi-line)}
.invitation-details .wi-questions summary{display:flex;gap:22px;align-items:center;list-style:none;min-height:86px;cursor:pointer;font-size:27px;color:var(--wi-ink);line-height:1.25}
.invitation-details .wi-questions summary::-webkit-details-marker{display:none}
.invitation-details .wi-questions summary>span{font:500 11px/1.5 'Cormorant Garamond',serif;color:var(--wi-gold)}
.invitation-details .wi-questions summary>i{position:relative;display:block;width:14px;height:14px;margin-left:auto;flex:none}
.invitation-details .wi-questions summary>i::before,.invitation-details .wi-questions summary>i::after{content:"";position:absolute;left:0;top:6px;height:1px;width:14px;background:var(--wi-gold);transition:transform .2s}
.invitation-details .wi-questions summary>i::after{transform:rotate(90deg)}
.invitation-details .wi-questions details[open] summary>i::after{transform:rotate(0)}
.invitation-details .wi-questions details>div{padding:0 28px 25px 34px}
.invitation-details .wi-questions details p{font-size:19px;margin-bottom:14px}

/* A contemporary response card, without ornamental frames. */
.invitation-details .wi-rsvp{padding:85px 50px}
.invitation-details .wi-response-card{max-width:850px;margin:auto;padding:49px 90px 40px;border:1px solid var(--wi-line);background:#fffdf527;box-shadow:0 15px 45px #4c492c04}
.invitation-details .wi-response-heading{text-align:center}
.invitation-details .wi-response-heading>.wi-gold-icon{margin:0 auto 22px;width:44px;height:44px}
.invitation-details .wi-response-heading>.wi-kicker{margin-bottom:19px;font-size:11px}
.invitation-details .wi-response-heading h2{font-size:59px}
.invitation-details .wi-response-heading>p:not(.wi-kicker){font-size:22px;margin-top:19px}
.invitation-details .wi-response-heading>.wi-small-rule{margin:27px auto}
.invitation-details #rsvp-form{max-width:520px;margin:auto}
.invitation-details .wi-preview-notice{font:400 10px/1.7 Arial,sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;margin:0 0 26px;color:#797668;border-bottom:1px solid var(--wi-line)}
.invitation-details .wi-preview-notice>span{font-size:10px}
.invitation-details #rsvp-form>label,.invitation-details #dietary-field>label,.invitation-details #rsvp-form legend{font:600 12px/1.6 'Cormorant Garamond',Georgia,serif;letter-spacing:.13em;text-transform:uppercase;color:#666950;display:block;margin:0 0 10px}
.invitation-details .wi-optional{font:400 10px/1.6 Arial,sans-serif;letter-spacing:0;color:#797668;text-transform:none;float:right}
.invitation-details #rsvp-form input:not([type=radio]),.invitation-details #rsvp-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #b5a57b90;background:transparent;border-radius:0;min-height:44px;padding:6px 0 10px;font-size:22px;color:var(--wi-ink);margin:0 0 28px;transition:border-color .2s}
.invitation-details #rsvp-form input::placeholder,.invitation-details #rsvp-form textarea::placeholder{color:#92907f;opacity:1}
.invitation-details #rsvp-form textarea{resize:vertical;min-height:72px}
.invitation-details #rsvp-form fieldset{border:0;padding:0;margin:0 0 30px;min-width:0}
.invitation-details .wi-attendance{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.invitation-details .wi-attendance>label{display:flex;align-items:center;gap:10px;border:1px solid var(--wi-line);min-height:51px;padding:12px 14px;font-size:20px;cursor:pointer;transition:background .2s,border-color .2s}
.invitation-details .wi-attendance input{margin:0;width:15px;height:15px;accent-color:var(--wi-gold);flex:none}
.invitation-details .wi-attendance>label:has(input:checked){border-color:var(--wi-gold);background:#b8a57216}
.invitation-details .wi-attendance>label:hover{border-color:var(--wi-gold)}
.invitation-details .wi-submit{width:100%}
.invitation-details .wi-reply-date{text-align:center;margin-top:16px;font-size:10px}
.invitation-details #response-preview{padding:22px;border:1px solid var(--wi-line);margin-top:26px;background:#b8a57209}
.invitation-details #response-preview>p{margin-bottom:12px}
.invitation-details #response-note{white-space:pre-line;overflow-wrap:anywhere;font-size:19px}

/* A simple sign-off lets the paper and type do the work. */
.invitation-details .wi-footer{text-align:center;padding:0 60px}
.invitation-details .wi-footer-content{padding:66px 0 65px}
.invitation-details .wi-footer-content>.wi-kicker{margin-bottom:23px}
.invitation-details .wi-footer h2{font-size:65px}
.invitation-details .wi-footer .wi-signature{margin-top:23px;font-size:30px}
.invitation-details .wi-footer-date{font:500 12px/1.6 'Cormorant Garamond',Georgia,serif;letter-spacing:.28em;margin-top:25px;color:#797b66}
.invitation-details .wi-footer-bottom{max-width:1080px;margin:auto;padding:23px 0 27px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--wi-line);font:500 12px/1.7 'Cormorant Garamond',Georgia,serif;color:#797b66;letter-spacing:.02em}
.invitation-details .wi-footer-bottom a{border-bottom:1px solid #b8a57270}

@media(max-width:1050px){
 .invitation-details .wi-wrap{padding-inline:42px}
 .invitation-details .wedding-nav{padding-inline:32px;gap:20px}
 .invitation-details .wi-nav-links{gap:23px}
 .invitation-details .wi-countdown{gap:25px}
 .invitation-details .wi-countdown h2{font-size:29px}
 .invitation-details .wi-countdown-numbers{gap:11px}
 .invitation-details .wi-countdown-numbers>div{width:53px}
 .invitation-details .wi-story,.invitation-details .wi-venue,.invitation-details .wi-visit-layout{gap:60px}
 
 .invitation-details .wi-venue-image{height:490px}
 .invitation-details .wi-facts-grid>div{padding-inline:18px}
 .invitation-details .wi-facts p{font-size:22px}
 .invitation-details .wi-couple-names{gap:12px}
}
@media(max-width:760px){
 html{scroll-padding-top:78px}
 .invitation-details .wi-wrap{padding-inline:28px}
 .invitation-details h2{font-size:39px}
 .invitation-details p{font-size:21px}
 .invitation-details .wi-kicker{font-size:11px;letter-spacing:.17em}
 .invitation-details .wedding-nav{min-height:70px;gap:22px;padding:11px 23px}
 .invitation-details .nav-monogram{margin-right:auto}
 .invitation-details .wi-menu-toggle{display:inline-flex;align-items:center;gap:11px;min-height:44px;border:0;padding:0;background:none;color:var(--wi-ink);font:600 11px/1.5 'Cormorant Garamond',Georgia,serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
 .invitation-details .wi-menu-toggle>span{position:relative;width:15px;height:10px;border-block:1px solid var(--wi-gold)}
 .invitation-details .wi-menu-toggle[aria-expanded=true]>span{border:0}
 .invitation-details .wi-menu-toggle[aria-expanded=true]>span::before,.invitation-details .wi-menu-toggle[aria-expanded=true]>span::after{content:"";position:absolute;inset:5px 0 auto;height:1px;background:var(--wi-gold);transform:rotate(45deg)}
 .invitation-details .wi-menu-toggle[aria-expanded=true]>span::after{transform:rotate(-45deg)}
 .invitation-details .wi-nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--wi-paper);border-bottom:1px solid var(--wi-line);padding:15px 26px 22px;box-shadow:0 12px 20px #443d2509;gap:0}
 .invitation-details .wedding-nav[data-menu-open=true] .wi-nav-links{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}
 .invitation-details .wi-nav-links a{font-size:12px;letter-spacing:.1em;min-height:48px;justify-content:flex-start}
 .invitation-details .wi-nav-links a::after{bottom:8px;right:20px}
 .invitation-details .wi-nav-rsvp{min-height:36px;font-size:11px}
 .invitation-details .wi-nav-kindly,.invitation-details .wi-nav-rsvp .wi-arrow{display:none}
 .invitation-details .wi-countdown{flex-direction:column;text-align:center;padding-block:52px;gap:25px}
 .invitation-details .wi-countdown h2{font-size:29px}
 .invitation-details .wi-countdown-intro .wi-kicker{font-size:9px;letter-spacing:.12em}
 .invitation-details .wi-countdown-numbers{gap:12px}
 .invitation-details .wi-countdown-numbers>div{width:50px}
 .invitation-details .wi-countdown-numbers strong{font-size:44px}
 .invitation-details .wi-countdown-numbers span{font-size:9px;margin-top:8px}
 .invitation-details .wi-countdown-numbers>i{margin-top:8px;font-size:16px}
 .invitation-details .wi-invitation{padding:55px 0 60px}
 .invitation-details .wi-invite-card{padding-inline:25px}
 .invitation-details .wi-invite-card>.wi-kicker{font-size:10px;letter-spacing:.2em;margin-bottom:27px}
 .invitation-details .wi-couple-names{flex-direction:column;font-size:47px;gap:0;white-space:normal;line-height:1.14}
 .invitation-details .wi-couple-names em{font-size:61px;line-height:1.05;padding:0 6px 8px 0}
 .invitation-details .wi-invite-wording{font-size:20px;margin-top:24px}
 .invitation-details .wi-invite-date-line{font-size:21px;letter-spacing:.14em}
 .invitation-details .wi-invite-location{font-size:12px;letter-spacing:.2em}
 .invitation-details .wi-invite-note{font-size:21px;margin-top:24px}
 .invitation-details .wi-facts{margin-top:42px}
 .invitation-details .wi-section-label{font-size:18px;letter-spacing:.23em}
 .invitation-details .wi-facts-grid{grid-template-columns:1fr;margin-top:15px;gap:0}
 .invitation-details .wi-facts-grid>div{border-right:0;border-bottom:1px solid var(--wi-line);padding:26px 12px}
 .invitation-details .wi-facts-grid>div:last-child{border-bottom:0;padding-bottom:0}
 .invitation-details .wi-facts .wi-gold-icon{width:40px;height:40px;margin-bottom:13px}
 .invitation-details .wi-facts h4{font-size:12px;margin-bottom:10px}
 .invitation-details .wi-facts p{font-size:25px}
 .invitation-details .wi-facts-grid>div>span{font-size:19px}
 .invitation-details .wi-facts a{font-size:14px;margin-top:13px}
 .invitation-details .wi-story{grid-template-columns:1fr;gap:38px;padding:55px 30px 65px}
 .invitation-details .wi-portrait{width:88%;max-width:340px;justify-self:center}
 
 .invitation-details .wi-portrait figcaption{font-size:9px}
 .invitation-details .wi-story-copy{text-align:center}
 .invitation-details .wi-story-copy>.wi-small-rule{margin:24px auto}
 .invitation-details .wi-story-copy>p:not(.wi-kicker):not(.wi-signature){margin-inline:auto;max-width:440px}
 .invitation-details .wi-signature{font-size:29px}
 .invitation-details .wi-day-layout{padding-block:57px}
 .invitation-details .wi-day-heading h2{font-size:39px}
 .invitation-details .wi-day-heading>p:not(.wi-kicker){font-size:21px}
 .invitation-details .wi-ceremony-row{grid-template-columns:1fr;gap:22px;margin:30px auto;text-align:center}
 .invitation-details .wi-event-time{text-align:center}
 .invitation-details .wi-event-time strong{font-size:56px}
 .invitation-details .wi-event-time>span{font-size:10px;margin-top:10px}
 .invitation-details .wi-ceremony-seal{width:87px;height:87px;justify-self:center}
 .invitation-details .wi-ceremony-seal .wi-gold-icon{width:47px;height:47px}
 .invitation-details .wi-event-copy h3{font-size:28px}
 .invitation-details .wi-event-copy p{font-size:20px}
 .invitation-details .wi-day-actions .wi-button{min-width:240px}
 .invitation-details .wi-venue{grid-template-columns:1fr;gap:35px;padding-block:64px}
 .invitation-details .wi-venue-copy{max-width:460px;margin:auto;width:100%}
 .invitation-details .wi-venue-copy>.wi-kicker{margin-bottom:21px}
 .invitation-details .wi-venue h2{font-size:43px}
 .invitation-details .wi-venue-figure{max-width:430px;width:100%;justify-self:center;padding:8px 8px 0}
 .invitation-details .wi-venue-image{height:420px}
 .invitation-details .wi-venue-figure figcaption{font-size:9px;letter-spacing:.06em;padding:12px 1px;gap:10px}
 .invitation-details .wi-visit-layout{grid-template-columns:1fr;gap:30px;padding-block:58px}
 .invitation-details .wi-visit-intro h2{font-size:42px}
 .invitation-details .wi-visit-intro>p:not(.wi-kicker){margin-top:21px}
 .invitation-details .wi-questions summary{font-size:25px;min-height:76px;gap:20px}
 .invitation-details .wi-questions details>div{padding:0 10px 22px 32px}
 .invitation-details .wi-questions details p{font-size:19px}
 .invitation-details .wi-rsvp{padding:58px 18px}
 .invitation-details .wi-response-card{padding:35px 24px 30px}
 .invitation-details .wi-response-heading h2{font-size:45px}
 .invitation-details .wi-response-heading>.wi-kicker{font-size:10px;letter-spacing:.13em}
 .invitation-details .wi-response-heading>p:not(.wi-kicker){font-size:20px;margin-top:17px}
 .invitation-details .wi-preview-notice{display:block;text-align:center;font-size:10px;padding:9px 0;margin-bottom:26px}
 .invitation-details .wi-preview-notice>span{display:block;font-size:10px;margin-top:2px}
 .invitation-details .wi-attendance{grid-template-columns:1fr;gap:9px}
 .invitation-details .wi-attendance>label{font-size:20px;min-height:47px}
 .invitation-details #rsvp-form input:not([type=radio]),.invitation-details #rsvp-form textarea{font-size:21px}
 .invitation-details .wi-submit{font-size:11px;letter-spacing:.1em;padding-inline:16px;gap:14px}
 .invitation-details .wi-footer{padding:0 28px}
 .invitation-details .wi-footer-content{padding:48px 0}
 .invitation-details .wi-footer h2{font-size:43px}
 .invitation-details .wi-footer .wi-signature{font-size:28px;margin-top:19px}
 .invitation-details .wi-footer-date{font-size:11px;margin-top:22px}
 .invitation-details .wi-footer-bottom{flex-direction:column;align-items:center;gap:12px;padding:22px 0 105px;font-size:12px}
}
@media(max-width:370px){
 .invitation-details .wi-countdown-numbers{gap:8px}
 .invitation-details .wi-countdown-numbers>div{width:43px}
 .invitation-details .wi-couple-names{font-size:42px}
 
 .invitation-details .wi-venue h2{font-size:38px}
 .invitation-details .wi-venue-image{height:370px}
 .invitation-details .wi-response-card{padding-inline:19px}
 .invitation-details .wi-response-heading h2{font-size:40px}
}

/* Existing envelope and hero presentation — intentionally unchanged. */
body.invitation-closed .variant-tools{z-index:110}body.invitation-closed .variant-tools nav{display:none}body.invitation-closed .variant-hero .invitation-copy,body.invitation-closed .variant-hero .minimal-header,body.invitation-closed .invitation-explore{opacity:0}body:not(.invitation-closed) .variant-hero .invitation-copy{transition:opacity var(--hero-names-fade,1s) ease}#invitation-names:focus{outline:none}
.interlocking-rings{display:block;width:54px;height:42px;color:#b19554}.wedding-nav .nav-monogram{display:flex;align-items:center}.sender .interlocking-rings,.envelope-seal .interlocking-rings{width:44px;height:33.44px;margin:auto}@media(max-width:700px){.wedding-nav .interlocking-rings{width:38px;height:30px}}
.interlocking-rings{object-fit:contain;width:70px;height:48px}.sender .interlocking-rings,.envelope-seal .interlocking-rings{object-fit:contain}@media(max-width:700px){.wedding-nav .interlocking-rings{width:44px;height:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.invitation-details *,body:not(.invitation-closed) .variant-hero .invitation-copy{transition:none!important}}

/* The formal invitation opens the details, followed by the countdown. */
.invitation-details .wi-invitation-heading { text-align: center; margin: 0 24px 42px; }
.invitation-details .wi-invitation-heading .wi-small-rule { margin: 22px auto 0; }

@media(max-width:760px) { .invitation-details .wi-invitation-heading { margin-bottom: 34px; } }

/* One shared boundary for every main section, independent of content width. */
.invitation-details > .wi-section-divider {
  display:block; width:min(1200px,calc(100% - 56px)); height:1px;
  margin:0 auto; padding:0; border:0; background:var(--wi-line);
}

/* Reuse the envelope artwork and its printed gold colour in the navigation. */
.wedding-nav .wi-envelope-mark {
  background:#ac8e49;
  -webkit-mask:url("assets/envelope-ring-heart.png") center / contain no-repeat;
  mask:url("assets/envelope-ring-heart.png") center / contain no-repeat;
}

/* Envelope and menu share the heart's coloured gold-dust print. */
.wedding-nav .wi-envelope-mark,.sender .wi-envelope-mark,.envelope-seal .wi-envelope-mark {
 background:var(--ring-foil-art,linear-gradient(var(--ring-heart-gold,#eac666),var(--ring-heart-gold,#eac666))) center / contain no-repeat;
 -webkit-mask:url("assets/envelope-ring-heart.png") center / contain no-repeat;
 mask:url("assets/envelope-ring-heart.png") center / contain no-repeat;
}

/* A single personal sign-off beneath the RSVP. */
.invitation-details .wi-footer-content{padding:50px 0 48px}
.invitation-details .wi-footer-message{max-width:650px;margin:0 auto;text-wrap:balance}
.invitation-details .wi-footer .wi-signature{margin:20px 0 0;text-wrap:balance}
.invitation-details .wi-footer-date{margin-top:20px}
.invitation-details .wi-back-to-top{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:32px;border-bottom:1px solid var(--wi-line);font:400 17px/1.5 'Cormorant Garamond',Georgia,serif;color:var(--wi-ink);text-decoration:none}
@media(max-width:760px){.invitation-details .wi-footer-content{padding:40px 0 80px}}

/* Footer details stay readable and the return link responds gently. */
.invitation-details .wi-footer .wi-footer-date[data-text-role]{font-size:calc(var(--type-size,16px) + 2px)!important}
.invitation-details .wi-back-to-top{transition:color .3s ease,border-color .3s ease}
.invitation-details .wi-back-to-top span{display:inline-block;transition:transform .3s ease}
.invitation-details .wi-back-to-top:is(:hover,:focus-visible){color:var(--wi-gold);border-color:var(--wi-gold)}
.invitation-details .wi-back-to-top:is(:hover,:focus-visible) span{transform:translateY(-3px)}
@media(max-width:760px){.invitation-details .wi-footer .wi-footer-date[data-text-role]{font-size:calc(var(--type-mobile-size,15px) + 2px)!important}}
@media(prefers-reduced-motion:reduce){.invitation-details .wi-back-to-top,.invitation-details .wi-back-to-top span{transition:none}.invitation-details .wi-back-to-top:is(:hover,:focus-visible) span{transform:none}}

/* Shared gold-dust wedding signature, with a repeatable soft reveal. */
.invitation-details .wi-footer-rings{display:block;width:56px;height:52px;margin:0 auto 24px;background:var(--ring-foil-art,linear-gradient(var(--ring-heart-gold,#eac666),var(--ring-heart-gold,#eac666))) center/contain no-repeat;-webkit-mask:url("assets/envelope-ring-heart.png") center/contain no-repeat;mask:url("assets/envelope-ring-heart.png") center/contain no-repeat}
.wi-materialize-rings.ring-reveal-ready{opacity:0;filter:blur(5px);transform:translateY(5px) scale(.92);transition:opacity 1s ease,filter 1s ease,transform 1s cubic-bezier(.2,.65,.3,1)}
.wi-materialize-rings.ring-reveal-ready.ring-in-view{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}
@media(prefers-reduced-motion:reduce){.wi-materialize-rings.ring-reveal-ready{opacity:1;filter:none;transform:none;transition:none}}
