:root{
  --ivory:#f7f0e6;--ivory-2:#efe3d4;--paper:#fbf6ef;--terracotta:#b95432;--terracotta-deep:#8f3824;--sage:#6d765c;--ink:#3b312b;--muted:#786a61;--line:rgba(185,84,50,.30);--shadow:0 22px 60px rgba(77,52,38,.10);--dark:#2f2926
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:"Montserrat",sans-serif;font-weight:300;overflow-x:hidden}body::selection{background:#d9987d;color:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
.paper-noise{position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");mix-blend-mode:multiply}
.site-header{height:72px;position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:8px clamp(20px,5vw,72px);background:linear-gradient(to bottom,rgba(247,240,230,.96),rgba(247,240,230,.76),transparent);backdrop-filter:blur(7px)}
.mini-mark img{width:48px;height:48px;object-fit:contain}.desktop-nav{display:flex;gap:30px;font-size:11px;text-transform:uppercase;letter-spacing:.18em}.desktop-nav a{opacity:.68;transition:.2s}.desktop-nav a:hover{opacity:1;color:var(--terracotta)}.menu-btn{display:none;background:none;border:0;text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--ink)}.mobile-menu{display:none}
.section-pad{padding:104px clamp(22px,7vw,110px)}
.hero{min-height:min(850px,100svh);display:grid;place-items:center;text-align:center;position:relative;isolation:isolate;overflow:hidden;padding:86px 24px 54px}
.hero::before{content:"";position:absolute;inset:24px;border:1px solid var(--line);border-radius:2px;z-index:-1}.hero::after{content:"";position:absolute;width:720px;height:420px;left:50%;top:46%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(231,176,150,.18),transparent 67%);z-index:-3}
.hero-floral{position:absolute;z-index:-2;pointer-events:none;mix-blend-mode:multiply;opacity:.72;filter:saturate(.92) contrast(.97);-webkit-mask-image:radial-gradient(ellipse at center,#000 45%,rgba(0,0,0,.8) 65%,transparent 92%);mask-image:radial-gradient(ellipse at center,#000 45%,rgba(0,0,0,.8) 65%,transparent 92%)}
.hero-floral--top{width:310px;right:-20px;top:54px;transform:rotate(2deg)}.hero-floral--bottom{width:360px;left:-18px;bottom:-15px;transform:rotate(-3deg)}
.hero-inner{width:min(720px,90vw);display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}.hero-monogram{width:clamp(110px,11vw,150px);height:auto;margin:0 0 8px}.hero-names{width:min(610px,82vw);height:auto;margin:0 0 0}.eyebrow,.section-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.34em;color:var(--muted);font-weight:500}.hero .eyebrow{margin:3px 0 0}.hero-date{font-family:"Cormorant Garamond",serif;font-size:clamp(36px,4.3vw,54px);color:var(--terracotta);letter-spacing:.10em;margin-top:10px}.hero-place{font-family:"Cormorant Garamond",serif;font-size:18px;letter-spacing:.36em;margin-top:0}.hero-copy{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(21px,2.2vw,28px);margin:20px auto 18px;color:#594941}.hero-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;border-radius:999px;text-transform:uppercase;letter-spacing:.13em;font-size:10px;border:1px solid var(--terracotta);transition:.25s ease}.btn-primary{background:var(--terracotta);color:#fff}.btn-primary:hover{background:var(--terracotta-deep);transform:translateY(-1px)}.btn-ghost{background:rgba(251,246,239,.30);color:var(--terracotta)}.btn-ghost:hover{background:rgba(185,84,50,.07)}.btn-disabled{border-color:#cbb8aa;color:#9d8d82;background:rgba(255,255,255,.35)}
.guest-welcome{margin-top:20px;padding:12px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:"Cormorant Garamond",serif}.guest-welcome span,.guest-welcome small{display:block;font-family:"Montserrat",sans-serif;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.guest-welcome strong{display:block;color:var(--terracotta);font-size:23px;margin:4px 0}.scroll-cue{position:absolute;bottom:18px;font-size:26px;color:var(--terracotta);animation:bob 1.8s infinite}@keyframes bob{50%{transform:translateY(6px)}}
.countdown{text-align:center;background:#f1e6d9}.countdown h2,.story h2,.timeline h2,.lodging h2,.transport h2,.gifts h2,.faq h2,.rsvp h2,.split-copy h2{font-family:"Cormorant Garamond",serif;font-size:clamp(42px,6vw,72px);font-weight:500;line-height:1;margin:12px 0 36px;color:#46362f}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:790px;margin:0 auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.countdown-grid div{padding:26px 12px;border-right:1px solid var(--line)}.countdown-grid div:last-child{border-right:0}.countdown-grid strong{font-family:"Cormorant Garamond",serif;color:var(--terracotta);font-weight:500;font-size:clamp(40px,7vw,66px);display:block}.countdown-grid span{text-transform:uppercase;font-size:9px;letter-spacing:.18em;color:var(--muted)}
.story,.lodging,.transport,.faq{text-align:center}.ornament{color:var(--terracotta);font-size:18px;margin-bottom:18px}.lede{font-family:"Cormorant Garamond",serif;font-size:clamp(22px,3vw,30px);line-height:1.45;max-width:900px;margin:0 auto 56px;color:#5a4b43}.narrow{max-width:720px}
.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1080px;margin:0 auto}.event-card{background:rgba(255,255,255,.40);border:1px solid var(--line);padding:48px 34px 44px;position:relative;box-shadow:0 12px 40px rgba(77,52,38,.06);transition:transform .25s ease,box-shadow .25s ease}.event-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.event-number{font-family:"Cormorant Garamond",serif;font-size:24px;color:var(--terracotta);position:absolute;top:18px;left:22px}.event-type{text-transform:uppercase;letter-spacing:.2em;font-size:9px;color:var(--terracotta);font-weight:600;margin-bottom:18px}.event-card h3,.hotel-card h3,.info-cards h3{font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:500;margin:0 0 10px}.event-time{font-family:"Cormorant Garamond",serif;font-size:27px;color:var(--terracotta);margin:8px 0 17px}.event-card p{line-height:1.75;font-size:13px}.text-link{text-transform:uppercase;font-size:10px;letter-spacing:.16em;color:var(--terracotta);font-weight:600;display:inline-block;margin-top:12px}
.timeline{background:var(--dark);color:#f7efe6;text-align:center}.timeline .section-kicker{color:#d5b6a6}.timeline h2{color:#fff}.timeline-list{max-width:760px;margin:0 auto;text-align:left;position:relative}.timeline-list::before{content:"";position:absolute;left:86px;top:6px;bottom:6px;width:1px;background:rgba(255,255,255,.20)}.timeline-item{display:grid;grid-template-columns:86px 1fr;gap:30px;padding:22px 0}.timeline-item>span{font-family:"Cormorant Garamond",serif;font-size:28px;color:#dc8e6f}.timeline-item strong{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:28px;display:block}.timeline-item small{display:block;color:#cabdb6;margin-top:5px;line-height:1.55}.timeline-item.is-draft{opacity:.72}
.split-section{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;min-height:590px;gap:72px}.split-art{display:grid;place-items:center;min-height:390px;background:rgba(255,255,255,.20);position:relative;overflow:hidden}.split-art::before{content:"";position:absolute;inset:0;border:1px solid var(--line)}.split-art::after{content:"";position:absolute;inset:18px;border:1px solid rgba(185,84,50,.20)}.split-art img{width:min(520px,92%);height:auto;position:relative;z-index:1}.dress-caption{position:absolute;z-index:2;bottom:28px;text-transform:uppercase;letter-spacing:.23em;font-size:9px;color:var(--muted)}.split-copy{text-align:left}.split-copy p{font-family:"Cormorant Garamond",serif;font-size:25px;line-height:1.5;max-width:600px}.dress-notes{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 18px}.dress-notes span{border:1px solid var(--line);padding:8px 12px;border-radius:999px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--terracotta)}.split-copy .fineprint{font-family:"Montserrat",sans-serif;font-size:11px;letter-spacing:.03em;color:var(--muted)}
.lodging{background:#f1e6d9}.hotel-card{max-width:820px;margin:0 auto;background:var(--paper);padding:48px;border:1px solid var(--line);box-shadow:var(--shadow)}.hotel-badge{display:inline-block;text-transform:uppercase;letter-spacing:.18em;font-size:9px;color:var(--terracotta);border:1px solid var(--line);padding:8px 12px;border-radius:999px;margin-bottom:16px}.hotel-card p{max-width:560px;margin:0 auto 28px;line-height:1.7}.hotel-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1080px;margin:45px auto 0}.info-cards article{text-align:left;border-top:1px solid var(--line);padding:26px 18px 18px}.info-cards article>span{font-family:"Cormorant Garamond",serif;color:var(--terracotta);font-size:24px}.info-cards p{font-size:12px;line-height:1.8;color:var(--muted)}
.gifts{text-align:center;background:linear-gradient(135deg,#fbf6ef,#eee0d1)}
.rsvp{background:#6e584c;color:#fff}.rsvp-shell{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.rsvp .section-kicker{color:#edc3b1}.rsvp h2{color:#fff}.rsvp-copy p{font-family:"Cormorant Garamond",serif;font-size:24px;line-height:1.5;color:#eee3dd}.rsvp-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#fbf6ef;color:var(--ink);padding:34px;border-radius:4px;box-shadow:0 20px 50px rgba(43,30,24,.13)}.field{display:flex;flex-direction:column;gap:7px}.field.full,.rsvp-form .full{grid-column:1/-1}.field label{text-transform:uppercase;letter-spacing:.14em;font-size:9px;color:var(--muted);font-weight:600}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #d9c6ba;background:transparent;padding:12px 2px;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--terracotta)}.form-status{grid-column:1/-1;font-size:11px;line-height:1.6;margin:0}.form-status.success{color:#657752}.form-status.error{color:#a94133}
.accordion{max-width:850px;margin:0 auto;text-align:left}.accordion details{border-top:1px solid var(--line);padding:0}.accordion details:last-child{border-bottom:1px solid var(--line)}.accordion summary{cursor:pointer;list-style:none;padding:21px 4px;font-family:"Cormorant Garamond",serif;font-size:24px}.accordion summary::-webkit-details-marker{display:none}.accordion summary::after{content:"+";float:right;color:var(--terracotta)}.accordion details[open] summary::after{content:"−"}.accordion p{margin:0 0 24px;color:var(--muted);font-size:13px;line-height:1.8;padding-right:50px}
.site-footer{text-align:center;padding-top:74px;padding-bottom:74px;background:var(--dark);color:#efe7e1}.site-footer img{width:76px;height:auto;filter:brightness(1.15);margin-bottom:10px}.site-footer strong{display:block;font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:500}.site-footer span{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:9px;color:#d9c8bd;margin:8px 0 22px}.site-footer p{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:20px;color:#d9c8bd}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scroll-cue{animation:none}}
@media(max-width:980px){.hero-floral--top{width:250px;right:-55px}.hero-floral--bottom{width:300px;left:-50px}.split-section{gap:42px}.split-art img{width:min(450px,94%)}}
@media(max-width:780px){.desktop-nav{display:none}.menu-btn{display:block}.mobile-menu{position:absolute;top:62px;right:16px;left:16px;background:rgba(251,246,239,.98);border:1px solid var(--line);padding:12px;box-shadow:var(--shadow);display:none;flex-direction:column}.mobile-menu.is-open{display:flex}.mobile-menu a{padding:13px 8px;text-transform:uppercase;letter-spacing:.15em;font-size:10px;border-bottom:1px solid rgba(185,84,50,.12)}.mobile-menu a:last-child{border:0}.section-pad{padding:80px 22px}.hero{min-height:720px;padding:88px 18px 58px}.hero::before{inset:12px}.hero-monogram{width:112px;margin-bottom:4px}.hero-names{width:min(560px,92vw)}.hero-date{font-size:38px;margin-top:8px}.hero-place{font-size:16px}.hero-copy{font-size:22px;margin:18px auto 16px}.hero-actions{gap:8px}.hero-actions .btn{min-height:44px;padding:0 18px;font-size:9px}.hero-floral--top{width:200px;right:-65px;top:78px;opacity:.50}.hero-floral--bottom{width:240px;left:-70px;bottom:-6px;opacity:.50}.countdown-grid{grid-template-columns:repeat(2,1fr)}.countdown-grid div:nth-child(2){border-right:0}.countdown-grid div:nth-child(-n+2){border-bottom:1px solid var(--line)}.event-grid{grid-template-columns:1fr}.event-card{padding:44px 24px}.timeline-list::before{left:68px}.timeline-item{grid-template-columns:68px 1fr;gap:18px}.timeline-item>span{font-size:24px}.split-section{grid-template-columns:1fr;gap:36px;min-height:auto}.split-art{min-height:330px}.split-art img{width:min(470px,96%)}.split-copy{text-align:center}.split-copy p{font-size:22px;margin-left:auto;margin-right:auto}.dress-notes{justify-content:center}.hotel-card{padding:36px 22px}.info-cards{grid-template-columns:1fr}.rsvp-shell{grid-template-columns:1fr;gap:36px}.rsvp-form{grid-template-columns:1fr;padding:26px 20px}.field.full,.rsvp-form .full{grid-column:auto}.accordion summary{font-size:22px}.site-footer img{width:68px}}
@media(max-width:430px){.hero{min-height:690px}.hero-monogram{width:96px}.hero-names{width:94vw}.hero-date{font-size:33px;letter-spacing:.07em}.hero-place{font-size:14px}.hero-copy{font-size:20px}.hero-floral--top{width:175px}.hero-floral--bottom{width:210px}.btn{min-height:44px;padding:0 18px}.section-pad{padding-left:18px;padding-right:18px}.countdown h2,.story h2,.timeline h2,.lodging h2,.transport h2,.gifts h2,.faq h2,.rsvp h2,.split-copy h2{font-size:42px}.event-card h3,.hotel-card h3,.info-cards h3{font-size:30px}}

/* ========================= V3 ========================= */
.hero{min-height:min(820px,100svh);padding-top:92px}.hero-inner{width:min(760px,92vw)}.hero-names{width:min(650px,84vw);margin-bottom:4px}.hero .eyebrow{margin-top:0}.hero-date{margin-top:8px}.hero-floral--top{width:300px}.hero-floral--bottom{width:350px}

.travel-times{max-width:1080px;margin:62px auto 0;border-top:1px solid var(--line);padding-top:42px}.travel-times-head h3{font-family:"Cormorant Garamond",serif;font-size:36px;font-weight:500;margin:8px 0 8px}.travel-times-head p{font-size:12px;line-height:1.7;color:var(--muted);margin:0 auto 24px}.travel-time-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:rgba(255,255,255,.30)}.travel-time-grid article{padding:24px 18px;border-right:1px solid var(--line)}.travel-time-grid article:last-child{border-right:0}.travel-time-grid strong{display:block;font-family:"Cormorant Garamond",serif;font-size:32px;color:var(--terracotta);font-weight:500}.travel-time-grid span{display:block;font-size:11px;color:var(--muted);margin:4px 0 12px}.travel-time-grid a{text-transform:uppercase;letter-spacing:.14em;font-size:9px;color:var(--terracotta);font-weight:600}

.dresscode{text-align:center;background:#fbf6ef}.dresscode h2{font-family:"Cormorant Garamond",serif;font-size:clamp(42px,6vw,72px);font-weight:500;line-height:1;margin:12px 0 24px}.dress-guides{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1120px;margin:48px auto 0}.dress-guide{text-align:left;border:1px solid var(--line);background:rgba(255,255,255,.48);padding:18px;box-shadow:0 12px 35px rgba(77,52,38,.05)}.dress-guide-label{text-transform:uppercase;letter-spacing:.18em;font-size:9px;color:var(--terracotta);font-weight:600;margin-bottom:14px}.dress-photo-placeholder{aspect-ratio:4/5;border:1px dashed rgba(185,84,50,.45);background:linear-gradient(145deg,#f4e7da,#fbf6ef);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;position:relative;overflow:hidden}.dress-photo-placeholder::after{content:"";position:absolute;inset:12px;border:1px solid rgba(185,84,50,.14)}.dress-photo-placeholder span,.dress-photo-placeholder small{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);position:relative;z-index:1}.dress-photo-placeholder strong{font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:500;color:var(--terracotta);margin:8px 0;position:relative;z-index:1}.dress-guide--yes .dress-photo-placeholder strong{color:var(--sage)}.dress-guide p{font-size:12px;line-height:1.8;color:var(--muted);margin:18px 2px 2px}.center-note{text-align:center;max-width:760px;margin:24px auto 0}

.lodging{background:#f1e6d9}.hotel-intro{max-width:1040px;margin:0 auto 24px;background:var(--paper);border:1px solid var(--line);padding:34px;display:grid;grid-template-columns:1.35fr .65fr;gap:32px;text-align:left;box-shadow:var(--shadow)}.hotel-intro h3,.payment-card h3,.van-card h3{font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:500;margin:8px 0 12px}.hotel-intro p,.payment-card p,.van-card p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.hotel-address{border-left:1px solid var(--line);padding-left:28px;display:flex;flex-direction:column;justify-content:center;gap:10px}.hotel-address strong{font-family:"Cormorant Garamond",serif;font-size:26px}.hotel-address span{font-size:11px;line-height:1.7;color:var(--muted)}
.stay-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:1040px;margin:0 auto 18px}.stay-option{background:rgba(255,255,255,.43);border:1px solid var(--line);padding:24px;text-align:left}.stay-option span{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:9px;color:var(--terracotta);margin-bottom:7px}.stay-option strong{font-family:"Cormorant Garamond",serif;font-size:26px;font-weight:500;display:block}.stay-option small{display:block;color:var(--muted);margin-top:8px;font-size:11px;line-height:1.6}
.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1040px;margin:0 auto}.room-card{background:var(--paper);border:1px solid var(--line);padding:30px;text-align:left}.room-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:18px}.room-top>span{font-family:"Cormorant Garamond",serif;font-size:29px}.room-top>strong{font-family:"Cormorant Garamond",serif;font-size:31px;color:var(--terracotta);white-space:nowrap}.room-top small{font-family:"Montserrat",sans-serif;font-size:9px;font-weight:400;color:var(--muted)}.room-facts{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.room-facts span{border:1px solid rgba(185,84,50,.22);border-radius:999px;padding:7px 10px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.room-details{border-top:1px solid rgba(185,84,50,.16);padding-top:13px}.room-details summary{cursor:pointer;text-transform:uppercase;letter-spacing:.14em;color:var(--terracotta);font-size:9px;font-weight:600}.room-details p{font-size:11px;line-height:1.8;color:var(--muted);margin:14px 0 0}
.hotel-warning{max-width:1040px;margin:18px auto 0;padding:22px 26px;border:1px solid rgba(185,84,50,.48);background:rgba(185,84,50,.06);text-align:left}.hotel-warning strong{font-family:"Cormorant Garamond",serif;font-size:24px;color:var(--terracotta-deep)}.hotel-warning p{font-size:12px;line-height:1.75;color:var(--muted);margin:6px 0 0}
.payment-card{max-width:1040px;margin:18px auto 0;background:#fff9f2;border:1px solid var(--line);padding:30px 34px;display:grid;grid-template-columns:1.3fr .7fr;gap:30px;text-align:left;align-items:center}.contact-buttons{display:flex;flex-direction:column;gap:10px}

.transport{background:#fbf6ef}.van-card{max-width:1080px;margin:30px auto 0;border:1px solid var(--line);background:linear-gradient(135deg,rgba(185,84,50,.06),rgba(109,118,92,.05));padding:30px;display:grid;grid-template-columns:1.25fr .75fr;gap:30px;text-align:left;align-items:center}.van-badge{display:inline-block;text-transform:uppercase;letter-spacing:.16em;font-size:9px;color:var(--terracotta);border:1px solid var(--line);border-radius:999px;padding:7px 10px}.van-price{border-left:1px solid var(--line);padding-left:28px}.van-price strong{display:block;font-family:"Cormorant Garamond",serif;font-size:42px;color:var(--terracotta);font-weight:500}.van-price span,.van-price small{display:block}.van-price span{text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:var(--muted)}.van-price small{font-size:10px;line-height:1.6;color:var(--muted);margin-top:10px}

.rsvp-copy-small{font-family:"Montserrat",sans-serif!important;font-size:12px!important;letter-spacing:.02em;color:#dfd1ca!important}.invite-gate{padding:24px;text-align:center;border:1px solid rgba(185,84,50,.24);background:rgba(255,255,255,.35)}.invite-gate-mark{font-family:"Cormorant Garamond",serif;font-size:48px;color:var(--terracotta)}.invite-gate strong{display:block;font-family:"Cormorant Garamond",serif;font-size:27px;font-weight:500;margin-bottom:8px}.invite-gate p{font-size:12px;line-height:1.7;color:var(--muted);margin:0 auto 10px;max-width:520px}.invite-gate small{font-size:9px;color:var(--muted)}.invite-gate code{background:#efe3d4;padding:2px 6px;border-radius:3px}.invite-form-content{display:grid;grid-template-columns:1fr 1fr;gap:18px}.invite-summary{grid-column:1/-1;padding-bottom:16px;border-bottom:1px solid var(--line)}.invite-summary span,.invite-summary small{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:9px;color:var(--muted)}.invite-summary strong{display:block;font-family:"Cormorant Garamond",serif;font-size:30px;color:var(--terracotta);font-weight:500;margin:4px 0}.member-fieldset{grid-column:1/-1;border:0;padding:0;margin:0}.member-fieldset legend{text-transform:uppercase;letter-spacing:.14em;font-size:9px;color:var(--muted);font-weight:600}.field-help{font-size:10px;color:var(--muted);margin:7px 0 13px}.member-checklist{display:grid;grid-template-columns:1fr 1fr;gap:10px}.member-check{display:flex;align-items:center;gap:11px;border:1px solid rgba(185,84,50,.20);padding:13px 14px;cursor:pointer;background:rgba(255,255,255,.4)}.member-check input{position:absolute;opacity:0;pointer-events:none}.member-box{width:19px;height:19px;border:1px solid var(--terracotta);display:grid;place-items:center;flex:0 0 19px}.member-check input:checked+.member-box{background:var(--terracotta)}.member-check input:checked+.member-box::after{content:"✓";color:#fff;font-size:13px}.member-name{font-family:"Cormorant Garamond",serif;font-size:19px}.rsvp-divider{grid-column:1/-1;height:1px;background:var(--line);margin:4px 0}.lodging-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.lodging-form-note{font-size:10px;line-height:1.6;color:var(--muted);margin:0}.invite-form-content[hidden],.lodging-fields[hidden],.invite-gate[hidden]{display:none!important}

.accordion p strong{color:var(--ink)}

@media(max-width:980px){.dress-guides{grid-template-columns:1fr 1fr}.dress-guide--yes{grid-column:1/-1;max-width:540px;justify-self:center}.hotel-intro,.payment-card,.van-card{grid-template-columns:1fr}.hotel-address,.van-price{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:22px}.travel-time-grid{grid-template-columns:1fr}.travel-time-grid article{border-right:0;border-bottom:1px solid var(--line)}.travel-time-grid article:last-child{border-bottom:0}}
@media(max-width:780px){.hero{min-height:690px;padding-top:96px}.hero-names{width:min(590px,94vw)}.dress-guides,.room-grid,.stay-options{grid-template-columns:1fr}.dress-guide--yes{grid-column:auto;max-width:none}.hotel-intro,.payment-card,.van-card{padding:26px 20px}.room-card{padding:24px 20px}.room-top{flex-direction:column;gap:6px}.invite-form-content,.lodging-fields{grid-template-columns:1fr}.member-checklist{grid-template-columns:1fr}.contact-buttons{flex-direction:row;flex-wrap:wrap}.travel-times{margin-top:44px;padding-top:32px}}
@media(max-width:430px){.hero{min-height:660px}.hero-names{width:96vw}.travel-times-head h3{font-size:31px}.dress-photo-placeholder strong{font-size:29px}.hotel-intro h3,.payment-card h3,.van-card h3{font-size:30px}.van-price strong{font-size:38px}}

/* ========================= V4 ========================= */
/* Floral system used across the page without overpowering content */
.floral-section{position:relative;isolation:isolate;overflow:hidden}
.floral-section::before,.floral-section::after{content:"";position:absolute;pointer-events:none;z-index:0;background-repeat:no-repeat;background-size:contain;opacity:.075;filter:saturate(.85)}
.floral-section::before{width:420px;height:390px;right:-145px;top:-95px;background-image:url('/assets/botanical-top-right.png');background-position:top right}
.floral-section::after{width:420px;height:410px;left:-150px;bottom:-140px;background-image:url('/assets/botanical-bottom-left.png');background-position:bottom left}
.floral-section>*{position:relative;z-index:1}
.dresscode.floral-section::before{opacity:.045}.dresscode.floral-section::after{opacity:.045}
.faq.floral-section::before,.faq.floral-section::after{opacity:.04}

/* Hero: same visual language on desktop and mobile */
.hero{min-height:min(790px,100svh);padding:86px 24px 58px}
.hero-floral{mix-blend-mode:normal;-webkit-mask-image:none;mask-image:none;filter:none;opacity:.68;object-fit:contain}
.hero-floral--top{width:330px;right:-80px;top:48px;transform:none}
.hero-floral--bottom{width:365px;left:-90px;bottom:-70px;transform:none}
.hero-inner{width:min(730px,90vw)}
.hero-names{width:min(620px,79vw);margin-bottom:2px}

/* Countdown: more celebratory and visually prominent */
.countdown{position:relative;background:linear-gradient(180deg,#efe0d0 0%,#f4e9dc 100%);overflow:hidden}
.countdown-shell{position:relative;max-width:960px;margin:0 auto;padding:42px 38px 36px;border:1px solid var(--line);background:rgba(251,246,239,.72);box-shadow:0 24px 60px rgba(83,51,35,.09);overflow:hidden}
.countdown-shell::before,.countdown-shell::after{content:"";position:absolute;background-repeat:no-repeat;background-size:contain;pointer-events:none;opacity:.10}
.countdown-shell::before{background-image:url('/assets/botanical-top-right.png');width:260px;height:230px;right:-70px;top:-55px}
.countdown-shell::after{background-image:url('/assets/botanical-bottom-left.png');width:260px;height:235px;left:-75px;bottom:-75px}
.countdown .section-kicker,.countdown h2,.countdown-grid,.countdown-date-mark{position:relative;z-index:1}
.countdown h2{margin-bottom:30px}
.countdown-grid{gap:12px;border:0;max-width:820px}
.countdown-grid div{border:1px solid rgba(185,84,50,.28)!important;background:rgba(255,255,255,.55);padding:24px 10px 20px;box-shadow:0 10px 24px rgba(77,52,38,.05)}
.countdown-grid strong{font-size:clamp(52px,7vw,76px);line-height:.9;text-shadow:0 8px 22px rgba(185,84,50,.10)}
.countdown-grid span{display:block;margin-top:9px}
.countdown-date-mark{margin-top:24px;font-family:"Cormorant Garamond",serif;font-size:20px;letter-spacing:.26em;color:var(--terracotta)}

/* Ceremony / reception: visual icons */
.event-card{padding-top:36px}
.event-icon-wrap{width:68px;height:68px;margin:0 auto 10px;display:grid;place-items:center;border:1px solid rgba(185,84,50,.22);border-radius:50%;background:rgba(251,246,239,.75)}
.event-icon-wrap img{width:45px;height:45px;object-fit:contain}
.event-card .event-type{margin-top:4px}

/* Travel-time cards */
.travel-times{padding-top:36px}
.travel-time-grid{box-shadow:0 12px 34px rgba(77,52,38,.04)}
.travel-time-grid article{position:relative;padding:26px 18px 22px;background:rgba(255,255,255,.36)}
.travel-time-grid article img{width:34px;height:34px;margin:0 auto 6px;display:block;opacity:.88}
.travel-time-grid strong{font-size:34px}.travel-time-grid span{font-weight:500;color:#61544c}

/* Compact hotel section */
.hotel-lede{margin-bottom:34px;max-width:760px}
.hotel-compact{max-width:1040px;margin:0 auto 16px;display:grid;grid-template-columns:.7fr 1.3fr;background:rgba(251,246,239,.84);border:1px solid var(--line);box-shadow:var(--shadow);text-align:left}
.hotel-identity{padding:30px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hotel-identity>img{width:86px;height:70px;object-fit:contain;margin-bottom:8px}
.hotel-identity>strong{font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:500;margin:4px 0 6px}
.hotel-identity p{font-size:11px;line-height:1.7;color:var(--muted);margin:0;max-width:320px}
.hotel-rates{padding:22px 26px}
.rate-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:22px;padding:14px 0;border-bottom:1px solid rgba(185,84,50,.18)}
.rate-card:first-child{padding-top:0}.rate-card>div:first-child>span{display:block;font-family:"Cormorant Garamond",serif;font-size:26px;color:var(--ink)}
.rate-card small{font-size:10px;line-height:1.6;color:var(--muted)}
.rate-prices{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:center}
.rate-prices span{min-width:92px;padding:9px 10px;border:1px solid rgba(185,84,50,.22);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.rate-prices b{display:block;font-family:"Cormorant Garamond",serif;font-size:25px;font-weight:500;color:var(--terracotta);letter-spacing:0;text-transform:none}
.stay-dates{padding-top:14px;display:flex;flex-wrap:wrap;gap:7px 18px;font-size:11px;color:var(--muted)}
.stay-dates span{display:block}.stay-dates small{flex-basis:100%;font-size:9px;text-transform:uppercase;letter-spacing:.10em;color:var(--terracotta)}
.hotel-more{max-width:1040px;margin:0 auto 14px;border:1px solid rgba(185,84,50,.20);background:rgba(255,255,255,.28);text-align:left}
.hotel-more summary{cursor:pointer;padding:15px 18px;text-transform:uppercase;letter-spacing:.13em;font-size:9px;color:var(--terracotta);font-weight:600}
.hotel-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:0 18px 18px}
.hotel-more-grid strong{font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:500}.hotel-more-grid p{font-size:10px;line-height:1.7;color:var(--muted);margin:5px 0 0}
.hotel-warning{margin-top:14px;padding:18px 22px}
.availability-flow{max-width:1040px;margin:14px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);text-align:left}
.availability-flow>div{background:rgba(251,246,239,.92);padding:20px}
.availability-flow span{font-family:"Cormorant Garamond",serif;font-size:20px;color:var(--terracotta)}
.availability-flow strong{display:block;font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:500;margin:4px 0 5px}
.availability-flow p{font-size:10px;line-height:1.65;color:var(--muted);margin:0}
.hotel-contact{max-width:1040px;margin:14px auto 0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border-top:1px solid var(--line)}
.hotel-contact>p{margin:0;text-align:left;font-size:10px;line-height:1.6;color:var(--muted)}
.hotel-contact .contact-buttons{flex-direction:row;flex-wrap:wrap;justify-content:flex-end}

/* Transport / van */
.van-card strong{color:var(--terracotta-deep)}
.van-note{margin-top:9px!important;font-size:10px!important;color:#8a7a70!important}
.van-price img{width:52px;height:52px;display:block;margin-bottom:6px}

/* Gift options */
.gift-options{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:980px;margin:0 auto}
.gift-card{position:relative;overflow:hidden;text-align:center;padding:34px 30px;background:rgba(251,246,239,.82);border:1px solid var(--line);box-shadow:0 14px 38px rgba(77,52,38,.05)}
.gift-card::after{content:"";position:absolute;width:170px;height:160px;right:-75px;top:-70px;background:url('/assets/botanical-top-right.png') center/contain no-repeat;opacity:.055;pointer-events:none}
.gift-card>span:not(.btn){display:block;text-transform:uppercase;letter-spacing:.18em;font-size:9px;color:var(--terracotta);font-weight:600}
.gift-card h3{font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:500;margin:7px 0 10px}
.gift-card p{font-size:12px;line-height:1.8;color:var(--muted);max-width:410px;margin:0 auto 16px}
.gift-card small{display:block;font-size:10px;line-height:1.65;color:var(--muted);max-width:430px;margin:0 auto 18px}
.gift-icon{width:58px;height:58px;border:1px solid var(--line);border-radius:50%;display:grid!important;place-items:center;margin:0 auto 15px;font-family:"Cormorant Garamond",serif!important;font-size:30px!important;letter-spacing:0!important;color:var(--terracotta)!important;background:#fff8f1}
.gift-home-icon{width:62px;height:62px;margin:0 auto 12px;display:block}

/* RSVP wording refinements */
.lodging-form-note{padding:10px 12px;border-left:2px solid var(--terracotta);background:rgba(185,84,50,.05)}

/* Keep mobile and desktop visually consistent */
@media(max-width:980px){
  .hotel-compact{grid-template-columns:1fr}.hotel-identity{border-right:0;border-bottom:1px solid var(--line);align-items:center;text-align:center}.hotel-identity p{max-width:520px}.availability-flow{grid-template-columns:1fr}.hotel-contact{flex-direction:column;text-align:center}.hotel-contact>p{text-align:center}.hotel-contact .contact-buttons{justify-content:center}.gift-options{grid-template-columns:1fr}
}
@media(max-width:780px){
  .hero{min-height:720px;padding:98px 18px 60px}.hero-inner{width:94vw}.hero-names{width:min(520px,86vw)}.hero-floral--top{width:175px;right:-48px;top:88px;opacity:.38}.hero-floral--bottom{width:205px;left:-55px;bottom:-38px;opacity:.38}.hero::after{width:460px;height:320px;top:48%}
  .countdown-shell{padding:30px 18px 26px}.countdown h2{font-size:45px}.countdown-grid{grid-template-columns:repeat(2,1fr);gap:9px}.countdown-grid div:nth-child(-n+2){border-bottom:1px solid rgba(185,84,50,.28)!important}.countdown-grid strong{font-size:56px}.countdown-date-mark{font-size:16px}
  .event-icon-wrap{width:60px;height:60px}.event-icon-wrap img{width:40px;height:40px}
  .hotel-rates{padding:18px}.rate-card{grid-template-columns:1fr;gap:10px}.rate-prices{justify-content:start}.rate-prices span{min-width:105px}.hotel-more-grid{grid-template-columns:1fr}.hotel-contact .contact-buttons{flex-direction:column;width:100%}.hotel-contact .btn{width:100%}
  .gift-card{padding:30px 20px}
  .floral-section::before{width:250px;height:235px;right:-110px;top:-60px}.floral-section::after{width:250px;height:245px;left:-115px;bottom:-90px;opacity:.055}
}
@media(max-width:430px){
  .hero{min-height:700px}.hero-names{width:88vw}.hero-date{font-size:31px;letter-spacing:.06em}.hero-place{font-size:13px}.hero-copy{font-size:19px}.hero-actions{width:100%}.hero-actions .btn{flex:1;min-width:0;padding:0 11px}.hero-floral--top{width:145px;right:-38px;top:100px}.hero-floral--bottom{width:180px;left:-48px;bottom:-18px}
  .countdown h2{font-size:39px}.countdown-grid strong{font-size:49px}.countdown-grid div{padding:20px 6px 17px}
  .hotel-identity{padding:24px 18px}.hotel-rates{padding:16px}.rate-prices{grid-template-columns:1fr 1fr;width:100%}.rate-prices span{min-width:0}.availability-flow>div{padding:16px}.gift-card h3{font-size:30px}
}
/* V4 compact lodging heading */
.lodging h2{font-size:clamp(44px,5vw,62px);margin-bottom:18px}.hotel-lede{font-size:clamp(18px,2.2vw,23px);line-height:1.45}
.rsvp.floral-section::before,.rsvp.floral-section::after{opacity:.035;filter:saturate(.55)}
@media(max-width:1180px){.desktop-nav{gap:20px;font-size:10px}}

/* ========================= V4.1 mobile polish ========================= */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}
body{width:100%;max-width:100%;overflow-x:hidden}
img,svg{max-width:100%}
.event-card,.travel-times,.travel-time-grid,.travel-time-grid article,.hotel-compact,.hotel-rates,.hotel-identity,.info-cards article{min-width:0;max-width:100%}
.event-card p,.hotel-identity p,.travel-time-grid span,.travel-time-grid a,.info-cards p{overflow-wrap:anywhere;word-break:normal}

/* Route cards: cleaner, without excessive divider lines */
.travel-time-grid{border:0!important;background:transparent!important;box-shadow:none!important;gap:12px}
.travel-time-grid article{border:0!important;background:rgba(255,255,255,.48)!important;box-shadow:0 10px 26px rgba(77,52,38,.055);border-radius:14px;text-align:center}
.travel-time-grid article img{margin-left:auto;margin-right:auto}
.travel-time-grid a{display:inline-block;margin-top:2px}

@media(max-width:780px){
  .event-card{width:100%;overflow:hidden}
  .event-card h3{font-size:clamp(28px,8vw,34px);line-height:1.05}
  .event-card p{font-size:12px;line-height:1.65}
  .event-time{font-size:25px}
  .text-link{font-size:9px;letter-spacing:.12em}
  .travel-times{width:100%;overflow:hidden}
  .travel-time-grid{grid-template-columns:1fr;width:100%}
  .travel-time-grid article{width:100%;padding:22px 18px}
  .travel-time-grid strong{font-size:29px;line-height:1}
  .travel-time-grid span{font-size:11px;margin:8px 0 10px}
  .hotel-lede{font-size:20px;line-height:1.55}
}

@media(max-width:430px){
  .section-pad{padding-left:18px;padding-right:18px}
  .event-grid{width:100%;max-width:100%}
  .event-card{padding:38px 18px 34px}
  .event-icon-wrap{width:58px;height:58px}
  .event-icon-wrap img{width:38px;height:38px}
  .travel-times-head h3{font-size:29px}
  .travel-times-head p{padding:0 8px}
  .travel-time-grid article{padding:20px 16px}
  .travel-time-grid strong{font-size:27px}
  .travel-time-grid a{font-size:9px}
}

/* ========================= V5 FINAL VISUAL PASS ========================= */
body{
  background-color:#f7f0e6;
  background-image:
    radial-gradient(circle at 20% 10%,rgba(185,84,50,.035),transparent 34%),
    radial-gradient(circle at 80% 70%,rgba(109,118,92,.035),transparent 38%);
}
.section-pad{padding-top:82px;padding-bottom:82px}
.story,.dresscode,.transport,.faq,.album{
  background:
    linear-gradient(rgba(251,246,239,.92),rgba(247,240,230,.94)),
    radial-gradient(circle at 10% 20%,rgba(185,84,50,.045),transparent 26%);
}
.floral-section::before,.floral-section::after{opacity:.10}
.dresscode.floral-section::before,.dresscode.floral-section::after{opacity:.07}
.faq.floral-section::before,.faq.floral-section::after{opacity:.065}
.rsvp.floral-section::before,.rsvp.floral-section::after{opacity:.05}

/* Envelope opening screen */
body.envelope-locked{overflow:hidden}
.invitation-envelope{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;background:
  linear-gradient(rgba(248,241,232,.95),rgba(248,241,232,.98)),
  radial-gradient(circle at center,rgba(185,84,50,.07),transparent 58%);overflow:hidden;transition:opacity .65s ease,visibility .65s ease}
.invitation-envelope.is-gone{opacity:0;visibility:hidden;pointer-events:none}
.envelope-floral{position:absolute;width:min(460px,48vw);height:min(430px,46vw);background-repeat:no-repeat;background-size:contain;opacity:.34;pointer-events:none}
.envelope-floral--top{right:-90px;top:-90px;background-image:url('/assets/botanical-top-right.png');background-position:top right}
.envelope-floral--bottom{left:-100px;bottom:-120px;background-image:url('/assets/botanical-bottom-left.png');background-position:bottom left}
.envelope-stage{width:min(580px,88vw);height:min(470px,74vh);position:relative;display:grid;place-items:center;text-align:center}
.envelope-card{width:min(500px,86vw);height:300px;position:absolute;top:50%;left:50%;transform:translate(-50%,-54%);filter:drop-shadow(0 26px 30px rgba(69,45,33,.13));perspective:1100px}
.envelope-back,.envelope-front{position:absolute;inset:0;background:#fbf6ef;border:1px solid rgba(143,56,36,.18)}
.envelope-front{clip-path:polygon(0 18%,50% 62%,100% 18%,100% 100%,0 100%);background:linear-gradient(145deg,#fbf6ef,#efe3d4)}
.envelope-flap{position:absolute;left:0;right:0;top:0;height:58%;background:linear-gradient(165deg,#f9f1e7,#eee0d1);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top center;transition:transform .9s cubic-bezier(.2,.75,.25,1);z-index:3;backface-visibility:hidden;border-top:1px solid rgba(143,56,36,.12)}
.invitation-envelope.is-opening .envelope-flap{transform:rotateX(178deg)}
.wax-seal{position:absolute;z-index:5;top:50%;left:50%;transform:translate(-50%,-28%);width:112px;height:112px;border-radius:50%;border:8px solid #9d3e27;background:radial-gradient(circle at 38% 30%,#d27651,#b95432 48%,#8f3824 100%);box-shadow:0 12px 24px rgba(78,35,23,.28),inset 0 0 0 2px rgba(255,255,255,.14);color:#fff;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:32px;cursor:pointer;transition:transform .45s ease,opacity .45s ease}
.wax-seal::before{content:"";position:absolute;inset:15px;border:1px solid rgba(255,255,255,.34);border-radius:50%}
.wax-seal:hover{transform:translate(-50%,-31%) scale(1.03)}
.invitation-envelope.is-opening .wax-seal{transform:translate(-50%,-28%) scale(.72);opacity:0}
.envelope-mark{position:absolute;width:76px;bottom:24px;left:50%;transform:translateX(-50%);opacity:.92}
.envelope-hint{position:absolute;bottom:-12px;margin:0;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:18px;color:var(--muted)}

/* Music */
.youtube-audio-host{position:fixed;width:1px;height:1px;overflow:hidden;left:-9999px;top:-9999px}
.music-control{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:10px;padding:9px 14px 9px 9px;border:1px solid rgba(185,84,50,.26);border-radius:999px;background:rgba(251,246,239,.93);box-shadow:0 12px 30px rgba(77,52,38,.12);backdrop-filter:blur(8px)}
.music-control[hidden]{display:none}.music-control button{width:36px;height:36px;border:0;border-radius:50%;background:var(--terracotta);color:#fff;cursor:pointer;font-size:17px}.music-control span,.music-control small{display:block}.music-control span{font-family:"Cormorant Garamond",serif;font-size:16px;line-height:1}.music-control small{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:3px}
.music-control.is-paused button{background:#8e8077}

/* Hero deadline */
.hero-deadline{margin-top:17px;display:inline-flex;align-items:center;gap:11px;padding:10px 15px;border:1px solid rgba(185,84,50,.32);background:rgba(251,246,239,.78);border-radius:14px;text-align:left;box-shadow:0 8px 22px rgba(77,52,38,.05)}
.deadline-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(185,84,50,.10);color:var(--terracotta);font-size:15px}.hero-deadline small,.hero-deadline strong{display:block}.hero-deadline small{text-transform:uppercase;letter-spacing:.12em;font-size:8px;color:var(--muted)}.hero-deadline strong{font-family:"Cormorant Garamond",serif;color:var(--terracotta-deep);font-size:19px;font-weight:600;margin-top:2px}

/* Countdown redesign */
.countdown{position:relative;background:linear-gradient(180deg,#eee0d0 0%,#f4e9dc 100%);overflow:hidden}
.countdown-shell{position:relative;max-width:980px;margin:0 auto;padding:44px 40px 38px;border:1px solid rgba(185,84,50,.28);background:rgba(251,246,239,.79);box-shadow:0 24px 60px rgba(83,51,35,.09);overflow:hidden}
.countdown-shell::before,.countdown-shell::after{content:"";position:absolute;background-repeat:no-repeat;background-size:contain;pointer-events:none;opacity:.15}
.countdown-shell::before{background-image:url('/assets/botanical-top-right.png');width:300px;height:260px;right:-90px;top:-74px}.countdown-shell::after{background-image:url('/assets/botanical-bottom-left.png');width:285px;height:260px;left:-88px;bottom:-92px}
.countdown-shell>*{position:relative;z-index:1}.countdown-main-date{font-family:"Cormorant Garamond",serif;font-size:clamp(46px,7.3vw,86px);font-weight:600;line-height:.95;color:var(--terracotta-deep);letter-spacing:.075em;margin:16px 0 4px}.countdown-place{font-family:"Cormorant Garamond",serif;font-size:17px;letter-spacing:.42em;color:#4f4039}.countdown-script{font-family:"Cormorant Garamond",serif;font-size:34px;font-style:italic;color:var(--terracotta);margin:24px 0 15px}.countdown-grid{border:0!important;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:800px}.countdown-grid div{border:1px solid rgba(185,84,50,.34)!important;border-radius:12px;background:rgba(255,255,255,.56);padding:22px 8px 18px!important;box-shadow:0 8px 20px rgba(77,52,38,.045)}.countdown-grid strong{font-size:clamp(44px,6vw,65px);color:var(--terracotta-deep)}.countdown-bottom-copy{font-family:"Cormorant Garamond",serif;font-size:26px;font-style:italic;color:#67544a;margin-top:18px}

/* Travel times without approximation glyphs or range dashes */
.travel-time-grid article small{display:block;text-transform:uppercase;font-size:8px;letter-spacing:.13em;color:var(--muted);margin-top:-2px}.travel-time-grid strong{margin-top:3px}.travel-time-grid span{display:block;margin-top:8px}

/* Compact page rhythm and richer section detailing */
.event-card,.hotel-compact,.gift-card,.album-shell,.rsvp-form{background-image:linear-gradient(135deg,rgba(255,255,255,.32),rgba(244,228,213,.16))}
.story,.dresscode,.lodging,.transport,.gifts,.album,.faq{border-top:1px solid rgba(185,84,50,.10)}
.story h2,.dresscode h2,.lodging h2,.transport h2,.gifts h2,.album h2,.faq h2{position:relative}.story h2::after,.dresscode h2::after,.lodging h2::after,.transport h2::after,.gifts h2::after,.album h2::after,.faq h2::after{content:"";display:block;width:68px;height:1px;background:var(--terracotta);opacity:.42;margin:17px auto 0}

/* Album digital */
.album{text-align:center;background:linear-gradient(180deg,#f7f0e6,#efe3d4)}
.album h2{font-family:"Cormorant Garamond",serif;font-size:clamp(42px,6vw,70px);font-weight:500;line-height:1.02;margin:12px auto 28px;color:#46362f;max-width:920px}.album .lede{margin-bottom:38px}.album-shell{max-width:980px;margin:0 auto;display:grid;grid-template-columns:1.25fr .75fr;gap:0;border:1px solid var(--line);background:rgba(251,246,239,.82);box-shadow:var(--shadow);text-align:left;overflow:hidden}.album-copy{padding:38px}.album-copy h3{font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:500;margin:8px 0 12px}.album-copy>p{font-size:12px;line-height:1.75;color:var(--muted);max-width:560px}.album-icon{width:54px;height:54px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--terracotta);font-size:22px;background:#fff8f1}.album-form{margin-top:23px}.album-upload{display:flex;flex-direction:column;align-items:flex-start;gap:5px;border:1px dashed rgba(185,84,50,.45);background:rgba(185,84,50,.035);padding:18px;cursor:pointer;margin-bottom:13px}.album-upload input{position:absolute;opacity:0;pointer-events:none}.album-upload span{text-transform:uppercase;font-size:10px;letter-spacing:.12em;color:var(--terracotta);font-weight:600}.album-upload small{font-size:9px;color:var(--muted)}.album-status{font-size:10px;line-height:1.6;color:var(--muted);margin:10px 0 0}.album-status.success{color:#627354}.album-status.error{color:#a94133}.album-qr-card{padding:35px 28px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-left:1px solid var(--line);background:rgba(239,227,212,.52)}.album-qr-card img{width:190px;max-width:72%;background:#fff;padding:10px;border:1px solid rgba(185,84,50,.16)}.album-qr-card strong{font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:500;margin:16px 0 6px}.album-qr-card span{font-size:10px;line-height:1.6;color:var(--muted);max-width:230px}

/* RSVP deadline */
.rsvp-deadline{margin-top:22px;border:1px solid rgba(255,255,255,.24);padding:17px 18px;background:rgba(255,255,255,.075)}.rsvp-deadline span,.rsvp-deadline small{display:block;text-transform:uppercase;letter-spacing:.13em;font-family:"Montserrat",sans-serif}.rsvp-deadline span{font-size:8px;color:#edc3b1}.rsvp-deadline strong{display:block;font-family:"Cormorant Garamond",serif;font-size:27px;color:#fff;font-weight:500;margin:4px 0}.rsvp-deadline small{font-size:8px;color:#eadfd9;line-height:1.5}

@media(max-width:980px){
  .album-shell{grid-template-columns:1fr}.album-qr-card{border-left:0;border-top:1px solid var(--line)}
}
@media(max-width:780px){
  .section-pad{padding-top:68px;padding-bottom:68px}
  .envelope-stage{height:68vh}.envelope-card{height:240px}.wax-seal{width:96px;height:96px;font-size:28px;border-width:7px}.envelope-mark{width:64px}.envelope-hint{bottom:0;font-size:16px}
  .hero-deadline{margin-top:14px;max-width:92%}.hero-deadline strong{font-size:17px}
  .countdown-shell{padding:32px 17px 28px}.countdown-main-date{font-size:48px;letter-spacing:.035em}.countdown-place{font-size:13px}.countdown-script{font-size:29px;margin-top:18px}.countdown-grid{grid-template-columns:repeat(2,1fr);gap:9px}.countdown-grid strong{font-size:52px}.countdown-bottom-copy{font-size:23px}
  .album-copy{padding:28px 20px}.album-qr-card{padding:28px 20px}.album-qr-card img{width:175px}.music-control{right:10px;bottom:10px;padding-right:11px}.music-control span{font-size:14px}
}
@media(max-width:430px){
  .section-pad{padding-top:60px;padding-bottom:60px}
  .invitation-envelope{padding:12px}.envelope-floral{opacity:.24}.envelope-floral--top{width:270px;right:-95px;top:-60px}.envelope-floral--bottom{width:290px;left:-100px;bottom:-80px}.envelope-card{width:90vw;height:215px}.wax-seal{width:88px;height:88px;font-size:25px}
  .countdown-main-date{font-size:41px}.countdown-grid strong{font-size:45px}.countdown-grid div{padding:18px 6px 15px!important}.countdown-bottom-copy{font-size:21px}
  .album h2{font-size:40px}.album-copy h3{font-size:30px}.music-control div{display:none}.music-control{padding:7px}.music-control button{width:38px;height:38px}
}
.deadline-icon img{width:20px;height:20px;display:block}.album-icon img{width:28px;height:28px;display:block}

/* ========================= V6 premium style revision ========================= */
:root{
  --cream:#faf4ec;
  --terracotta-soft:#c56c49;
  --terracotta-lite:#e4b59c;
}
body{
  background:
    linear-gradient(rgba(250,244,236,.90),rgba(246,238,228,.94)),
    radial-gradient(circle at 15% 10%,rgba(197,108,73,.09),transparent 24%),
    radial-gradient(circle at 80% 65%,rgba(109,118,92,.06),transparent 26%),
    #f7f0e6;
}
main section{position:relative}
main section::before, main section::after{pointer-events:none}

/* full-screen premium envelope */
.invitation-envelope{
  background:
    linear-gradient(rgba(250,245,238,.92),rgba(247,240,230,.96)),
    radial-gradient(circle at center,rgba(185,84,50,.08),transparent 55%),
    #f8f1e8;
}
.invitation-envelope::before{
  content:"";position:absolute;inset:0;opacity:.30;
  background-image:url('/assets/jamie-diego-logo-tight.png');
  background-repeat:no-repeat;background-position:center 14%;background-size:min(700px,78vw);
  filter:grayscale(1) sepia(1) saturate(.15) brightness(1.65);
}
.invitation-envelope::after{
  content:"";position:absolute;inset:18px;border:1px solid rgba(185,84,50,.12)
}
.envelope-floral{opacity:.45}
.envelope-stage{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column}
.envelope-card{
  width:min(1120px,92vw);height:min(760px,84vh);top:50%;left:50%;transform:translate(-50%,-50%);
  filter:drop-shadow(0 34px 46px rgba(64,41,30,.12));
}
.envelope-back,.envelope-front,.envelope-flap{border:1px solid rgba(185,84,50,.16)}
.envelope-back{background:linear-gradient(180deg,#fefaf5,#f5eadf)}
.envelope-front{clip-path:polygon(0 23%,50% 66%,100% 23%,100% 100%,0 100%);background:linear-gradient(145deg,#fcf7f0,#f1e5d8)}
.envelope-flap{height:62%;background:linear-gradient(180deg,#fffaf3,#f3e5d8)}
.wax-seal{
  top:50%;left:50%;transform:translate(-50%,-5%);width:132px;height:132px;border-radius:50%;border:10px solid #a6462c;
  background:
    radial-gradient(circle at 35% 30%,#d78765,#c45d39 38%,#a9472c 63%,#8f3824 100%);
  box-shadow:0 20px 34px rgba(72,35,23,.28), inset 0 3px 0 rgba(255,255,255,.18), inset 0 -4px 0 rgba(77,27,16,.18);
  font-family:"Cormorant Garamond",serif;font-style:italic;font-size:40px;letter-spacing:.01em;
}
.wax-seal::before{inset:17px;border:1px solid rgba(255,255,255,.40)}
.wax-seal::after{content:"";position:absolute;inset:7px;border-radius:50%;border:1px dashed rgba(255,255,255,.14)}
.wax-seal:hover{transform:translate(-50%,-7%) scale(1.02)}
.envelope-mark{display:none}
.envelope-hint{bottom:calc(50% - min(760px,84vh)/2 - 54px);font-size:22px;color:#6a584e}
@media (max-width:780px){
  .envelope-card{width:96vw;height:78vh}
  .wax-seal{width:110px;height:110px;font-size:34px;border-width:8px}
  .envelope-hint{bottom:78px;font-size:18px;padding:0 18px;text-align:center}
}
@media (max-width:430px){
  .envelope-card{height:72vh}
  .envelope-front{clip-path:polygon(0 26%,50% 67%,100% 26%,100% 100%,0 100%)}
  .wax-seal{width:98px;height:98px;font-size:30px}
}

/* richer hero styling */
.hero{
  background:
    linear-gradient(rgba(250,244,236,.56),rgba(250,244,236,.72)),
    radial-gradient(circle at center,rgba(244,226,210,.76),transparent 58%),
    #f7f0e6;
}
.hero::before{inset:20px;border-color:rgba(185,84,50,.18)}
.hero::after{width:880px;height:520px;top:42%;background:radial-gradient(ellipse,rgba(231,176,150,.22),transparent 68%)}
.hero-inner{max-width:1000px;padding:20px 10px 8px}
.hero-names{width:min(720px,86vw);margin-top:14px}
.hero-date{font-size:clamp(42px,4.4vw,64px);letter-spacing:.12em;white-space:nowrap;text-shadow:0 1px 0 rgba(255,255,255,.6)}
.hero-place{letter-spacing:.42em}
.hero-copy{font-size:clamp(24px,2.2vw,34px);margin-bottom:18px}
.hero-cards{display:flex;gap:18px;align-items:stretch;justify-content:center;flex-wrap:wrap;margin:8px 0 18px;width:min(980px,100%)}
.guest-welcome,.hero-deadline{
  flex:1 1 300px;min-height:108px;margin-top:0;border:1px solid rgba(185,84,50,.32);border-radius:20px;background:rgba(255,248,242,.82);
  box-shadow:0 14px 24px rgba(77,52,38,.08);backdrop-filter:blur(4px);padding:16px 20px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden
}
.guest-welcome::before,.hero-deadline::before{content:"";position:absolute;width:92px;height:92px;left:-18px;bottom:-22px;background-image:url('/assets/floral-bottom.png');background-repeat:no-repeat;background-size:contain;opacity:.18}
.guest-welcome::after,.hero-deadline::after{content:"";position:absolute;width:86px;height:86px;right:-18px;top:-18px;background-image:url('/assets/floral-top.png');background-repeat:no-repeat;background-size:contain;opacity:.16}
.guest-welcome span,.guest-welcome small,.hero-deadline small{font-size:10px;letter-spacing:.15em}
.guest-welcome strong{font-size:34px;line-height:1;color:var(--terracotta-deep);margin:6px 0 5px}
.hero-deadline{flex-direction:row;align-items:center;gap:14px;text-align:left}
.hero-deadline strong{font-size:34px;line-height:1.02}
.deadline-icon{width:48px;height:48px;background:rgba(185,84,50,.12);flex:0 0 48px}
.deadline-icon img{width:24px;height:24px}
.hero-actions{gap:14px}
.hero-actions .btn{min-width:240px;box-shadow:0 8px 20px rgba(77,52,38,.08)}

/* countdown premium */
.countdown{background:linear-gradient(180deg,#f3e6d8 0%,#f9f1e8 100%)}
.countdown-shell{border-radius:28px;background:linear-gradient(180deg,rgba(255,250,244,.92),rgba(249,241,232,.88));border-color:rgba(185,84,50,.22)}
.countdown-main-date{white-space:nowrap}
.countdown-shell::before{opacity:.22}
.countdown-shell::after{opacity:.20}
.countdown-grid div{background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(248,238,227,.70));position:relative;overflow:hidden}
.countdown-grid div::after{content:"";position:absolute;inset:auto 0 0 0;height:18px;background:linear-gradient(90deg,transparent,rgba(197,108,73,.10),transparent)}
.countdown-grid strong{line-height:1}

/* cards and section styling */
.story,.dresscode,.lodging,.transport,.gifts,.album,.faq{background:linear-gradient(180deg,rgba(251,246,239,.92),rgba(247,240,230,.96))}
.event-card,.hotel-compact,.gift-card,.album-shell,.rsvp-form,.travel-time-grid article,.info-cards article,.dress-guide{
  border-radius:20px;overflow:hidden;box-shadow:0 16px 34px rgba(77,52,38,.06)
}
.event-card::before,.hotel-compact::before,.gift-card::before,.album-shell::before{
  content:"";position:absolute;width:112px;height:112px;right:-18px;top:-18px;background-image:url('/assets/floral-top.png');background-repeat:no-repeat;background-size:contain;opacity:.16;pointer-events:none
}
.event-card::after,.gift-card::after,.album-shell::after{
  content:"";position:absolute;width:128px;height:128px;left:-18px;bottom:-18px;background-image:url('/assets/floral-bottom.png');background-repeat:no-repeat;background-size:contain;opacity:.12;pointer-events:none
}
.travel-times-head h3,.transport h2,.lodging h2,.gifts h2,.album h2,.faq h2,.dresscode h2,.story h2{font-style:italic;color:#6f3828}
.event-grid{gap:20px}
.event-card{padding-top:34px}
.event-card h3{font-size:42px;line-height:1.05}
.event-icon-wrap{width:74px;height:74px;margin:0 auto 16px;border:1px solid rgba(185,84,50,.24);border-radius:50%;display:grid;place-items:center;background:rgba(185,84,50,.06)}
.event-icon-wrap img{width:42px;height:42px}
.travel-times{margin-top:32px;padding:26px 24px;border:1px solid rgba(185,84,50,.18);border-radius:22px;background:rgba(255,249,242,.72);box-shadow:0 12px 26px rgba(77,52,38,.04)}
.travel-times-head p{max-width:720px;margin:10px auto 0;color:#6f6158}
.travel-time-grid article{padding:18px 16px 16px;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(247,239,230,.82))!important;border:1px solid rgba(185,84,50,.15)!important}
.travel-time-grid article img{width:34px;height:34px;padding:8px;border-radius:50%;background:rgba(185,84,50,.09)}
.travel-time-grid strong{font-size:34px;color:var(--terracotta-deep)}
.travel-time-grid span{font-family:"Cormorant Garamond",serif;font-size:24px;color:#584b43}
.travel-time-grid a{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--terracotta)}

.hotel-compact{position:relative;background:linear-gradient(180deg,rgba(255,249,242,.92),rgba(248,239,230,.88));border:1px solid rgba(185,84,50,.18)}
.hotel-identity{background:rgba(255,255,255,.36)}
.hotel-badge{background:rgba(255,255,255,.72)}
.rate-card{border-radius:16px;background:rgba(255,255,255,.56);border:1px solid rgba(185,84,50,.16)}
.hotel-warning,.availability-flow>div,.van-card,.gift-card,.album-shell,.faq details{background:rgba(255,249,242,.84)}
.hotel-warning{border-radius:18px}
.van-card{border-radius:20px}

.gift-icon--amazon{font-family:"Cormorant Garamond",serif;font-weight:700;font-size:38px;background:rgba(185,84,50,.12);border:1px solid rgba(185,84,50,.20);color:var(--terracotta-deep)}
.gift-home-icon{width:52px;height:52px}

.album-qr-card img{border-radius:12px}
.album-copy,.album-qr-card{position:relative;z-index:1}

.site-footer{background:linear-gradient(180deg,#43332c,#2f2723);position:relative;overflow:hidden}
.site-footer::before{content:"";position:absolute;left:-12px;bottom:-12px;width:190px;height:190px;background-image:url('/assets/floral-bottom.png');background-repeat:no-repeat;background-size:contain;opacity:.18}
.site-footer::after{content:"";position:absolute;right:-12px;top:-12px;width:190px;height:190px;background-image:url('/assets/floral-top.png');background-repeat:no-repeat;background-size:contain;opacity:.18}

/* mobile */
@media(max-width:980px){
  .hero-cards{max-width:680px}
}
@media(max-width:780px){
  .hero{padding-top:94px;min-height:740px}
  .hero-names{width:92vw}
  .hero-date{font-size:clamp(33px,6vw,42px);letter-spacing:.06em;white-space:nowrap}
  .hero-place{font-size:15px;letter-spacing:.24em}
  .hero-copy{font-size:22px}
  .hero-cards{gap:12px;width:100%}
  .guest-welcome,.hero-deadline{flex:1 1 100%;min-height:auto;padding:15px 16px;border-radius:18px}
  .guest-welcome strong,.hero-deadline strong{font-size:28px}
  .hero-actions .btn{min-width:0;flex:1 1 220px}
  .countdown-main-date{font-size:clamp(34px,5vw,48px);letter-spacing:.04em;white-space:nowrap}
  .countdown-place{font-size:13px;letter-spacing:.23em}
  .countdown-script{font-size:26px}
  .countdown-grid strong{font-size:46px}
  .event-card h3{font-size:36px}
  .travel-time-grid span{font-size:22px}
}
@media(max-width:520px){
  .hero-date{font-size:28px;letter-spacing:.03em;white-space:nowrap}
  .hero-copy{font-size:20px;max-width:290px}
  .guest-welcome strong,.hero-deadline strong{font-size:24px}
  .countdown-main-date{font-size:28px;letter-spacing:.02em;white-space:nowrap}
  .countdown-grid strong{font-size:40px}
  .countdown-grid span{font-size:8px}
  .event-card h3{font-size:31px}
  .travel-times{padding:22px 14px}
  .travel-time-grid strong{font-size:30px}
  .travel-time-grid span{font-size:20px}
}

.event-card,.gift-card,.album-shell,.hotel-compact,.travel-time-grid article,.dress-guide,.rate-card,.van-card,.hotel-warning,.availability-flow>div,.faq details{position:relative}

/* ========================= V7 FLORAL / RESPONSIVE / MEDIA PASS ========================= */
/* True transparent botanical layers: no rectangular corners */
.floral-section::before,.floral-section::after{
  filter:none!important;mix-blend-mode:normal!important;background-color:transparent!important;
  background-size:contain!important;background-repeat:no-repeat!important;
  z-index:0!important;
}
.floral-section::before{
  background-image:url('/assets/floral-top-alpha.png')!important;
  width:360px!important;height:500px!important;right:-80px!important;top:-40px!important;
  background-position:top right!important;opacity:.42!important;
}
.floral-section::after{
  background-image:url('/assets/floral-bottom-alpha.png')!important;
  width:390px!important;height:520px!important;left:-100px!important;bottom:-80px!important;
  background-position:bottom left!important;opacity:.36!important;
}
.dresscode.floral-section::before,.dresscode.floral-section::after,.faq.floral-section::before,.faq.floral-section::after,.rsvp.floral-section::before,.rsvp.floral-section::after{opacity:.28!important}

/* Envelope: full viewport and a real irregular wax seal */
.invitation-envelope{padding:0!important}
.envelope-stage{width:100vw!important;height:100svh!important;max-width:none!important;max-height:none!important}
.envelope-card{width:100vw!important;height:100svh!important;max-width:none!important;max-height:none!important;filter:none!important}
.envelope-back{background:linear-gradient(180deg,#fffdf9 0%,#f7f0e7 100%)!important;border:0!important}
.envelope-front{background:linear-gradient(145deg,#fffdf9 0%,#f3e8dc 100%)!important;border:0!important;clip-path:polygon(0 28%,50% 68%,100% 28%,100% 100%,0 100%)!important}
.envelope-flap{height:65%!important;background:linear-gradient(180deg,#fffefa 0%,#f1e4d8 100%)!important;border:0!important;clip-path:polygon(0 0,100% 0,50% 100%)!important;box-shadow:0 2px 7px rgba(66,44,33,.08)}
.wax-seal{
  width:152px!important;height:152px!important;border:0!important;border-radius:0!important;background:transparent url('/assets/wax-seal.svg') center/contain no-repeat!important;
  box-shadow:none!important;top:50%!important;transform:translate(-50%,-7%)!important;padding:0!important;color:#fff!important;text-shadow:0 1px 1px rgba(85,31,20,.35);font-size:36px!important;
}
.wax-seal::before,.wax-seal::after{display:none!important}
.wax-seal:hover{transform:translate(-50%,-9%) scale(1.025)!important}
.invitation-envelope.is-opening .wax-seal{transform:translate(-50%,-5%) scale(.70)!important}
.envelope-hint{bottom:26px!important;font-size:21px!important;z-index:6}
.envelope-floral--top{background-image:url('/assets/floral-top-alpha.png')!important;width:420px!important;height:520px!important;right:-30px!important;top:-50px!important;opacity:.42!important}
.envelope-floral--bottom{background-image:url('/assets/floral-bottom-alpha.png')!important;width:430px!important;height:560px!important;left:-30px!important;bottom:-100px!important;opacity:.36!important}
.invitation-envelope::before{opacity:.10!important;background-size:min(760px,82vw)!important}

/* Hero and mobile centering */
.hero,.hero-inner,.hero-cards,.hero-actions{max-width:100%!important}
.hero-inner{width:min(980px,100%)!important;margin-inline:auto!important;padding-inline:0!important}
.hero-names{width:min(720px,100%)!important;max-width:100%!important}
.hero-date{white-space:nowrap!important;max-width:100%!important;text-align:center!important}
.hero-cards{width:100%!important;margin-inline:auto!important}
.hero-actions{width:100%!important}

/* Turn the hero into the richer invitation composition */
.hero-floral--top,.hero-floral--bottom{display:none!important}
.hero::before{inset:16px!important;border-radius:24px!important;border-color:rgba(185,84,50,.22)!important}
.hero{background:
  linear-gradient(rgba(250,244,236,.78),rgba(250,244,236,.86)),
  radial-gradient(circle at 50% 32%,rgba(209,129,90,.15),transparent 44%),
  #f8f0e7!important;
}
.hero::after{background:none!important}
.hero-inner::before,.hero-inner::after{content:"";position:absolute;pointer-events:none;z-index:-1;background-repeat:no-repeat;background-size:contain}
.hero-inner::before{width:430px;height:430px;left:-300px;top:15%;background-image:url('/assets/floral-bottom-alpha.png');opacity:.60}
.hero-inner::after{width:420px;height:420px;right:-300px;top:5%;background-image:url('/assets/floral-top-alpha.png');opacity:.62}
.guest-welcome,.hero-deadline{background:linear-gradient(180deg,rgba(255,249,243,.95),rgba(247,234,222,.91))!important;border-color:rgba(185,84,50,.32)!important}
.guest-welcome::before,.guest-welcome::after,.hero-deadline::before,.hero-deadline::after{background-image:url('/assets/floral-top-alpha.png')!important;background-color:transparent!important;background-size:contain!important;opacity:.19!important}

/* Floral separators between content blocks */
.floral-divider{height:54px;position:relative;background:#f8f0e7;overflow:hidden;border-top:1px solid rgba(185,84,50,.08);border-bottom:1px solid rgba(185,84,50,.08)}
.floral-divider span::before,.floral-divider span::after{content:"";position:absolute;top:50%;width:190px;height:100px;transform:translateY(-50%);background-repeat:no-repeat;background-size:contain;opacity:.70}
.floral-divider span::before{left:calc(50% - 230px);background-image:url('/assets/floral-bottom-alpha.png');background-position:center right;transform:translateY(-50%) rotate(8deg)}
.floral-divider span::after{right:calc(50% - 230px);background-image:url('/assets/floral-top-alpha.png');background-position:center left;transform:translateY(-50%) rotate(-8deg)}
.floral-divider::after{content:"◆";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--terracotta);font-size:11px;background:#f8f0e7;padding:0 12px}
.floral-divider--light{background:#fbf6ef}

/* Event cards get photography and fuller visual hierarchy */
.event-grid{align-items:stretch!important}
.event-card{padding:0 30px 38px!important;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:linear-gradient(180deg,rgba(255,251,246,.96),rgba(248,237,226,.94))!important}
.event-card::before,.event-card::after{background-image:url('/assets/floral-top-alpha.png')!important;background-color:transparent!important;background-size:contain!important;opacity:.20!important}
.event-photo{width:calc(100% + 60px);height:230px;margin:0 -30px 26px;overflow:hidden;position:relative;border-bottom:1px solid rgba(185,84,50,.16)}
.event-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 55%,rgba(247,240,230,.58))}
.event-photo img{width:100%;height:100%;object-fit:cover;object-position:center 54%;display:block;filter:saturate(.88) sepia(.08)}
.event-number{z-index:3;background:rgba(255,249,242,.88);border:1px solid rgba(185,84,50,.20);border-radius:999px;width:46px;height:46px;display:grid;place-items:center;top:18px!important;left:18px!important;font-size:20px!important}
.event-icon-wrap{margin-top:-2px!important;background:linear-gradient(180deg,#fff8f0,#f3dfcf)!important;box-shadow:0 8px 20px rgba(185,84,50,.08)}
.event-card h3{max-width:620px}
.salon-visual{width:calc(100% + 60px);height:230px;margin:0 -30px 26px;position:relative;overflow:hidden;background:linear-gradient(135deg,#efe1d4,#f9f2e9);display:grid;place-items:center;border-bottom:1px solid rgba(185,84,50,.16)}
.salon-visual::before,.salon-visual::after{content:"";position:absolute;width:250px;height:270px;background-repeat:no-repeat;background-size:contain;opacity:.72}
.salon-visual::before{left:-65px;bottom:-80px;background-image:url('/assets/floral-bottom-alpha.png')}
.salon-visual::after{right:-55px;top:-70px;background-image:url('/assets/floral-top-alpha.png')}
.salon-visual img{width:310px;max-width:58%;position:relative;z-index:1;opacity:.88}

/* Countdown: richer like the reference */
.countdown{padding-inline:clamp(16px,5vw,72px)!important;background:
  linear-gradient(rgba(248,239,228,.88),rgba(249,242,234,.92)),
  radial-gradient(circle at center,rgba(185,84,50,.10),transparent 52%)!important}
.countdown-shell{max-width:1120px!important;border-radius:32px!important;border:1px solid rgba(185,84,50,.28)!important;box-shadow:0 26px 55px rgba(77,52,38,.08)!important;padding:46px clamp(18px,4vw,54px) 40px!important}
.countdown-shell::before{background-image:url('/assets/floral-top-alpha.png')!important;right:-45px!important;top:-30px!important;width:390px!important;height:420px!important;opacity:.55!important}
.countdown-shell::after{background-image:url('/assets/floral-bottom-alpha.png')!important;left:-55px!important;bottom:-78px!important;width:420px!important;height:450px!important;opacity:.50!important}
.countdown-main-date{font-size:clamp(46px,6.2vw,82px)!important;color:#913a27!important}
.countdown-script{font-size:42px!important;color:#b65434!important}
.countdown-grid{max-width:900px!important;gap:16px!important}
.countdown-grid div{min-height:150px!important;display:flex;flex-direction:column;justify-content:center;border-radius:20px!important;border:1px solid rgba(185,84,50,.30)!important;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(247,237,226,.86))!important;box-shadow:0 12px 24px rgba(77,52,38,.055)!important}
.countdown-grid div::before{content:"";position:absolute;width:72px;height:78px;left:-8px;bottom:-16px;background:url('/assets/floral-bottom-alpha.png') bottom left/contain no-repeat;opacity:.44}
.countdown-grid strong{font-size:clamp(58px,6.8vw,82px)!important;color:#84311f!important;position:relative;z-index:1}
.countdown-grid span{position:relative;z-index:1;font-size:10px!important}
.countdown-bottom-copy{font-size:32px!important;color:#6d5144!important}

/* Transport cards: actual car icon */
.travel-times{background:linear-gradient(180deg,rgba(255,250,244,.92),rgba(248,239,230,.88))!important;border-color:rgba(185,84,50,.24)!important}
.travel-time-grid article{min-height:180px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;position:relative!important;overflow:hidden!important}
.travel-time-grid article::after{content:"";position:absolute;width:110px;height:120px;right:-24px;bottom:-28px;background:url('/assets/floral-top-alpha.png') bottom right/contain no-repeat;opacity:.16;pointer-events:none}
.travel-time-grid article img{width:58px!important;height:58px!important;padding:13px!important;background:rgba(185,84,50,.10)!important}
.travel-time-grid strong{font-size:42px!important;line-height:1!important}
.travel-time-grid span{font-size:24px!important}

/* Hotel photo and correct bed icon */
.hotel-compact{grid-template-columns:.9fr 1.1fr!important;overflow:hidden!important}
.hotel-photo-wrap{width:100%;height:240px;overflow:hidden;border-radius:18px;margin:0 0 20px;box-shadow:0 10px 22px rgba(77,52,38,.09);position:relative}
.hotel-photo-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 58%,rgba(72,50,40,.24))}
.hotel-photo{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.90)}
.hotel-bed-icon{width:70px!important;height:70px!important;object-fit:contain!important;margin:0 auto 10px!important}
.hotel-identity{padding:28px!important}
.hotel-rates{padding:28px!important}
.rate-card::after{content:"";position:absolute;right:-12px;bottom:-18px;width:85px;height:90px;background:url('/assets/floral-top-alpha.png') bottom right/contain no-repeat;opacity:.15}

/* Overall cards more terracotta, less blank */
.dress-guide,.gift-card,.album-shell,.faq details,.availability-flow>div,.van-card,.hotel-warning,.rsvp-form{border:1px solid rgba(185,84,50,.18)!important;background:linear-gradient(180deg,rgba(255,250,244,.94),rgba(247,237,227,.92))!important}
.gifts{background:linear-gradient(180deg,#f2e3d5,#faf3eb)!important}
.album{background:linear-gradient(180deg,#fbf4eb,#efe0d1)!important}
.dresscode{background:linear-gradient(180deg,#faf3ea,#f3e5d8)!important}
.lodging{background:linear-gradient(180deg,#f1e2d4,#f8f0e7)!important}

/* Remove harsh square floral remnants from legacy pseudo elements */
.event-card::before,.event-card::after,.hotel-compact::before,.gift-card::before,.gift-card::after,.album-shell::before,.album-shell::after{
  background-color:transparent!important;background-image:url('/assets/floral-top-alpha.png')!important;filter:none!important;mix-blend-mode:normal!important;
}

/* Strong mobile containment / no right drift */
@media(max-width:780px){
  body,main,.hero,.countdown,.story,.timeline,.dresscode,.lodging,.transport,.gifts,.album,.rsvp,.faq{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .section-pad{padding-inline:16px!important}
  .hero{padding-inline:16px!important}
  .hero::before{inset:10px!important}
  .hero-inner{width:100%!important;max-width:100%!important;margin:0 auto!important;align-items:center!important}
  .hero-names{width:min(100%,560px)!important;max-width:100%!important}
  .hero-inner::before{width:260px;height:300px;left:-115px;top:19%;opacity:.48}
  .hero-inner::after{width:250px;height:290px;right:-115px;top:9%;opacity:.48}
  .hero-date{font-size:clamp(26px,7vw,37px)!important;letter-spacing:.025em!important;max-width:100%!important}
  .hero-place{letter-spacing:.22em!important}
  .hero-cards{width:100%!important;max-width:100%!important}
  .guest-welcome,.hero-deadline{width:100%!important;max-width:100%!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:10px!important}
  .hero-actions .btn{min-width:0!important;width:100%!important;padding-inline:10px!important;font-size:9px!important}
  .countdown{padding-inline:14px!important}
  .countdown-shell{width:100%!important;max-width:100%!important;padding:30px 14px 28px!important}
  .countdown-main-date{font-size:clamp(26px,7.3vw,38px)!important;letter-spacing:.018em!important;white-space:nowrap!important}
  .countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important}
  .countdown-grid div{min-width:0!important;min-height:128px!important;padding:14px 4px!important}
  .countdown-grid strong{font-size:48px!important}
  .event-grid{width:100%!important;max-width:100%!important;gap:18px!important}
  .event-card{width:100%!important;max-width:100%!important;padding:0 18px 30px!important}
  .event-photo,.salon-visual{width:calc(100% + 36px)!important;margin-left:-18px!important;margin-right:-18px!important;height:205px!important}
  .event-card h3{font-size:34px!important;max-width:100%!important;overflow-wrap:break-word!important}
  .travel-times{width:100%!important;padding:22px 12px!important}
  .travel-time-grid{width:100%!important;grid-template-columns:1fr!important}
  .travel-time-grid article{width:100%!important;max-width:100%!important;min-height:165px!important}
  .travel-time-grid strong{font-size:38px!important}.travel-time-grid span{font-size:22px!important}
  .hotel-compact{grid-template-columns:1fr!important;width:100%!important;max-width:100%!important}
  .hotel-photo-wrap{height:210px!important}
  .floral-section::before{width:260px!important;height:360px!important;right:-95px!important;top:-45px!important;opacity:.34!important}
  .floral-section::after{width:280px!important;height:380px!important;left:-105px!important;bottom:-90px!important;opacity:.30!important}
  .floral-divider span::before{left:-30px!important;width:190px!important}.floral-divider span::after{right:-30px!important;width:190px!important}
}
@media(max-width:430px){
  .envelope-hint{bottom:20px!important;font-size:17px!important}
  .wax-seal{width:112px!important;height:112px!important;font-size:29px!important}
  .hero-date{font-size:27px!important;letter-spacing:.015em!important}
  .countdown-main-date{font-size:26px!important;letter-spacing:.01em!important}
  .countdown-grid strong{font-size:43px!important}
  .event-card h3{font-size:31px!important}
  .hotel-photo-wrap{height:180px!important}
}
@media(max-width:520px){
  .countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
  .countdown-grid div{min-height:108px!important;padding:10px 2px!important;border-radius:13px!important}
  .countdown-grid strong{font-size:35px!important}
  .countdown-grid span{font-size:7px!important;letter-spacing:.08em!important}
  .countdown-grid div::before{width:45px;height:50px;left:-8px;bottom:-12px;opacity:.32}
  .countdown-bottom-copy{font-size:23px!important;margin-top:14px!important}
}
.wax-seal{background-image:url('/assets/wax-seal-real.png')!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important}

/* ========================= V8 COMPACT MOBILE / WAX / RHYTHM ========================= */
main{
  background:
    linear-gradient(rgba(250,245,238,.94),rgba(247,240,230,.95)),
    radial-gradient(circle at 12% 8%,rgba(185,84,50,.06),transparent 24%),
    radial-gradient(circle at 88% 52%,rgba(109,118,92,.045),transparent 28%),
    #f8f1e8;
}
.story,.dresscode,.lodging,.transport,.gifts,.album,.faq,.countdown{background:transparent!important}
.section-pad{padding-top:72px;padding-bottom:72px}

/* Wax seal: text is part of the image, not a separate label. */
.wax-seal{
  background:none!important;background-image:none!important;
  width:168px!important;height:168px!important;padding:0!important;border:0!important;
  display:grid!important;place-items:center!important;overflow:visible!important;
}
.wax-seal img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;filter:drop-shadow(0 18px 18px rgba(80,33,20,.25))}
.wax-seal::before,.wax-seal::after{display:none!important}

/* Cleaner global rhythm. */
.compact-section-head{max-width:1060px;margin:0 auto 26px;display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;align-items:end;text-align:left}
.compact-section-head h2{margin:5px 0 0!important}
.compact-section-head>p{margin:0;font-family:"Cormorant Garamond",serif;font-size:23px;line-height:1.42;color:#66564d}
.compact-section-head>p strong{color:var(--terracotta-deep);font-weight:600}

/* Countdown stays visual but no longer looks like a floating background patch. */
.countdown{padding-top:46px!important;padding-bottom:54px!important}
.countdown-shell{margin:0 auto!important;background:linear-gradient(180deg,rgba(255,250,244,.84),rgba(247,237,226,.78))!important;box-shadow:0 16px 34px rgba(77,52,38,.06)!important}
.countdown-shell::before,.countdown-shell::after{opacity:.30!important}

/* Travel times: a compact single row on every screen. */
.travel-times{max-width:1060px!important;margin-top:28px!important;padding:24px!important}
.travel-times-head{margin-bottom:16px}
.travel-times-head h3{font-size:36px!important;margin:6px 0 4px!important}
.travel-times-head p{font-size:12px!important;line-height:1.55!important}
.travel-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.travel-time-grid article{min-height:142px!important;padding:14px 8px!important}
.travel-time-grid article img{width:46px!important;height:46px!important;padding:11px!important;margin-bottom:4px!important}
.travel-time-grid strong{font-size:32px!important}
.travel-time-grid span{font-size:17px!important;line-height:1.15!important;margin:7px 0 5px!important}
.travel-time-grid a{font-size:8px!important;margin-top:0!important}
.travel-time-grid article::after{width:72px!important;height:76px!important;opacity:.11!important}

/* Compact lodging. */
.hotel-compact--v8{max-width:1060px!important;grid-template-columns:.82fr 1.18fr!important;margin-bottom:12px!important}
.hotel-identity--photo{padding:0!important;position:relative!important;display:block!important;min-height:270px!important;overflow:hidden!important}
.hotel-identity--photo>.hotel-photo{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;filter:saturate(.90) brightness(.88)!important}
.hotel-identity--photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(49,37,30,.78),rgba(49,37,30,.05) 64%)}
.hotel-identity-copy{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;color:#fff;text-align:left}
.hotel-identity-copy .hotel-badge{background:rgba(255,249,242,.92);color:var(--terracotta-deep);margin-bottom:8px}
.hotel-identity-copy p{font-size:10px;line-height:1.5;margin:0 0 5px!important;color:#f6ece6}
.hotel-identity-copy .text-link{color:#fff;margin-top:3px}
.hotel-rates--v8{padding:18px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;align-content:center!important}
.hotel-rates--v8 .rate-card{display:block!important;padding:14px!important;border:1px solid rgba(185,84,50,.16)!important}
.hotel-rates--v8 .rate-card>div:first-child>span{font-size:22px!important}
.hotel-rates--v8 .rate-card small{font-size:8px!important}
.hotel-rates--v8 .rate-prices{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;margin-top:10px!important}
.hotel-rates--v8 .rate-prices span{padding:8px 4px!important;border:1px solid rgba(185,84,50,.15);border-radius:10px;text-align:center;font-size:8px!important}
.hotel-rates--v8 .rate-prices b{font-size:24px!important}
.stay-dates--compact{grid-column:1/-1!important;display:flex!important;gap:16px!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important;padding:8px 10px!important;margin-top:0!important;border-top:1px solid rgba(185,84,50,.15)!important}
.stay-dates--compact span{font-size:9px!important}.stay-dates--compact small{font-size:8px!important}
.hotel-mini-flow{max-width:1060px;margin:10px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.hotel-mini-flow span{border:1px solid rgba(185,84,50,.18);border-radius:12px;padding:10px 8px;text-align:center;background:rgba(255,249,242,.72);font-size:9px;color:#6f6158}.hotel-mini-flow b{color:var(--terracotta);margin-right:3px}
.hotel-mini-warning{max-width:1060px;margin:10px auto 0;text-align:center;font-size:10px;color:var(--muted)}
.hotel-contact--compact{max-width:1060px!important;margin:10px auto 0!important;padding:0!important;border:0!important;background:transparent!important}
.hotel-contact--compact .contact-buttons{width:100%;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
.hotel-contact--compact .btn{width:100%!important;min-height:40px!important}

/* Transport and van: summary, not a long chapter. */
.info-cards--compact{max-width:1060px!important;margin-top:18px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.info-cards--compact article{padding:16px 12px!important;border:1px solid rgba(185,84,50,.15)!important;border-radius:16px!important;text-align:center!important;background:rgba(255,249,242,.68)!important}
.info-cards--compact article img{width:38px;height:38px;padding:9px;border-radius:50%;background:rgba(185,84,50,.08);margin-bottom:5px}
.info-cards--compact h3{font-size:25px!important;margin:3px 0 6px!important}
.info-cards--compact p{font-size:9px!important;line-height:1.5!important;margin:0!important}
.van-card--compact{max-width:1060px!important;margin:12px auto 0!important;padding:18px!important;display:grid!important;grid-template-columns:1.5fr .5fr!important;gap:18px!important;align-items:center!important;text-align:left!important}
.van-card--compact h3{font-size:29px!important;margin:6px 0!important}.van-card--compact p{font-size:10px!important;line-height:1.55!important;margin:0!important}
.van-card--compact .van-price{padding:12px!important;border-left:1px solid rgba(185,84,50,.18)!important;text-align:center!important}.van-card--compact .van-price img{width:38px!important;height:38px!important}.van-card--compact .van-price strong{font-size:29px!important}

/* Recognizable Amazon brand mark. */
.amazon-logo{width:170px;max-width:66%;height:auto;margin:0 auto 8px;display:block}
.gift-card{padding-top:28px!important}

/* Album: one compact horizontal card. */
.album-head{margin-bottom:18px!important}
.album-shell--compact{max-width:1060px!important;grid-template-columns:1fr 330px!important;min-height:0!important}
.album-shell--compact .album-copy{padding:20px!important}
.album-form--compact{margin-top:0!important;display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;align-items:center!important}
.album-form--compact .album-upload{margin:0!important;padding:13px!important}
.album-form--compact .btn{min-width:140px!important}
.album-shell--compact .album-qr-card{padding:16px!important;display:grid!important;grid-template-columns:100px 1fr!important;gap:12px!important;text-align:left!important;align-items:center!important}
.album-shell--compact .album-qr-card img{width:100px!important;max-width:none!important;padding:5px!important}
.album-shell--compact .album-qr-card strong{font-size:18px!important;margin:0 0 3px!important}.album-shell--compact .album-qr-card span{font-size:9px!important}.album-shell--compact .album-qr-card .text-link{font-size:8px!important}

/* Mobile: dramatically shorter while preserving readability. */
@media(max-width:780px){
  .section-pad{padding-top:46px!important;padding-bottom:46px!important}
  .compact-section-head{display:block!important;margin-bottom:16px!important;text-align:center!important}.compact-section-head>p{font-size:18px!important;line-height:1.35!important;margin-top:10px!important}
  .hero{min-height:680px!important}
  .countdown{padding-top:28px!important;padding-bottom:34px!important}.countdown-shell{padding:24px 10px!important}
  .countdown-main-date{font-size:26px!important}.countdown-script{font-size:31px!important;margin:14px 0 10px!important}.countdown-bottom-copy{font-size:21px!important}
  .travel-times{padding:16px 8px!important;margin-top:18px!important}.travel-times-head h3{font-size:29px!important}.travel-times-head p{font-size:10px!important;margin-top:5px!important}
  .travel-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}.travel-time-grid article{min-height:126px!important;padding:10px 3px!important;border-radius:12px!important}.travel-time-grid article img{width:36px!important;height:36px!important;padding:8px!important}.travel-time-grid strong{font-size:25px!important}.travel-time-grid small{font-size:6px!important}.travel-time-grid span{font-size:12px!important;line-height:1.15!important}.travel-time-grid a{font-size:6px!important;letter-spacing:.07em!important}
  .hotel-compact--v8{grid-template-columns:1fr!important}.hotel-identity--photo{min-height:185px!important}.hotel-rates--v8{grid-template-columns:1fr 1fr!important;padding:8px!important;gap:6px!important}.hotel-rates--v8 .rate-card{padding:9px 6px!important}.hotel-rates--v8 .rate-card>div:first-child>span{font-size:17px!important}.hotel-rates--v8 .rate-card small{font-size:7px!important}.hotel-rates--v8 .rate-prices b{font-size:19px!important}.hotel-rates--v8 .rate-prices span{font-size:6px!important;padding:6px 2px!important}.stay-dates--compact{gap:7px!important;padding:7px 4px!important}.stay-dates--compact span{font-size:7px!important}.stay-dates--compact small{font-size:6px!important;width:100%;text-align:center}.hotel-mini-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.hotel-mini-flow span{font-size:7px;padding:8px 4px}.hotel-mini-warning{font-size:8px;padding:0 8px}.hotel-contact--compact .btn{font-size:8px!important;padding:0 6px!important}
  .info-cards--compact{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}.info-cards--compact article{padding:10px 5px!important;border-radius:12px!important}.info-cards--compact article img{width:31px;height:31px;padding:7px}.info-cards--compact h3{font-size:17px!important;line-height:1.05!important}.info-cards--compact p{font-size:7px!important;line-height:1.35!important}
  .van-card--compact{grid-template-columns:1fr 112px!important;padding:12px!important;gap:8px!important}.van-card--compact h3{font-size:22px!important}.van-card--compact p{font-size:8px!important}.van-card--compact .van-price{padding:8px!important}.van-card--compact .van-price strong{font-size:23px!important}.van-card--compact .van-price small{font-size:6px!important}
  .gift-options{grid-template-columns:1fr 1fr!important;gap:8px!important}.gift-card{padding:18px 10px!important}.amazon-logo{width:110px!important}.gift-card h3{font-size:24px!important}.gift-card p{font-size:9px!important;line-height:1.4!important}.gift-card small{font-size:7px!important}.gift-card .btn{font-size:7px!important;padding:0 8px!important;min-height:38px!important}
  .album-shell--compact{grid-template-columns:1fr 120px!important}.album-shell--compact .album-copy{padding:10px!important}.album-form--compact{grid-template-columns:1fr!important;gap:6px!important}.album-form--compact .album-upload{padding:9px!important}.album-form--compact .album-upload span{font-size:8px!important}.album-form--compact .album-upload small{font-size:6px!important}.album-form--compact .btn{min-width:0!important;min-height:36px!important;font-size:7px!important}.album-shell--compact .album-qr-card{grid-template-columns:1fr!important;gap:4px!important;padding:8px!important;text-align:center!important}.album-shell--compact .album-qr-card img{width:78px!important;margin:auto!important}.album-shell--compact .album-qr-card strong{font-size:13px!important}.album-shell--compact .album-qr-card span{font-size:6px!important;line-height:1.35!important}.album-shell--compact .album-qr-card .text-link{font-size:6px!important}
  .dress-guides{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}.dress-guide{padding:10px 6px!important}.dress-guide-label{font-size:7px!important}.dress-photo-placeholder{min-height:110px!important}.dress-photo-placeholder span{font-size:6px!important}.dress-photo-placeholder strong{font-size:12px!important}.dress-photo-placeholder small{font-size:6px!important}.dress-guide>p{display:none!important}.center-note{font-size:8px!important;margin-top:8px!important}
  .floral-divider{height:34px!important}
}
@media(max-width:430px){
  .wax-seal{width:126px!important;height:126px!important}
  .envelope-hint{font-size:16px!important;bottom:16px!important}
  .hero-date{font-size:26px!important}
  .countdown-main-date{font-size:24px!important}
  .music-control{transform:scale(.86);transform-origin:right bottom}
}

/* ========================= V9 MOBILE READABILITY / CLEAN FLORALS / AUDIO PASS ========================= */
/* All decorative watercolor assets in V9 use transparent cut-outs. This removes
   the pale rectangular patches and ghost text visible in earlier versions. */
.floral-section::before,.guest-welcome::after,.hero-deadline::after,.event-card::before,.hotel-compact::before,.gift-card::before,.album-shell::before,.site-footer::after,.salon-visual::after,.countdown-shell::before,.rate-card::after{
  background-image:url('/assets/floral-clean-top.png')!important;
  background-color:transparent!important;
}
.floral-section::after,.guest-welcome::before,.hero-deadline::before,.event-card::after,.gift-card::after,.album-shell::after,.site-footer::before,.salon-visual::before,.countdown-shell::after,.countdown-grid div::before{
  background-image:url('/assets/floral-clean-bottom.png')!important;
  background-color:transparent!important;
}
.hero-inner::before,.floral-divider span::before{background-image:url('/assets/floral-clean-bottom.png')!important}
.hero-inner::after,.floral-divider span::after,.travel-time-grid article::after{background-image:url('/assets/floral-clean-top.png')!important}

/* One continuous paper-like background throughout the invitation. */
html,body{background:#f7f0e7!important}
main{
  background:
    radial-gradient(circle at 12% 9%,rgba(185,84,50,.055),transparent 26%),
    radial-gradient(circle at 90% 47%,rgba(112,119,91,.045),transparent 28%),
    linear-gradient(180deg,#faf5ee 0%,#f6eee4 52%,#faf4ec 100%)!important;
}
.story,.dresscode,.lodging,.transport,.gifts,.album,.faq,.countdown{background:transparent!important}

/* Envelope: more like a premium stationery suite, not a blank screen. */
.invitation-envelope{
  background:
    radial-gradient(circle at 50% 22%,rgba(197,108,73,.10),transparent 26%),
    linear-gradient(180deg,#fffaf4 0%,#f4e9dd 100%)!important;
}
.invitation-envelope::after{inset:18px!important;border:1px solid rgba(185,84,50,.22)!important;border-radius:28px!important}
.envelope-floral--top{background-image:url('/assets/floral-clean-top.png')!important;opacity:.72!important;right:-30px!important;top:-50px!important}
.envelope-floral--bottom{background-image:url('/assets/floral-clean-bottom.png')!important;opacity:.64!important;left:-25px!important;bottom:-80px!important}
.envelope-card{width:calc(100vw - 42px)!important;height:calc(100svh - 150px)!important;top:50%!important;filter:drop-shadow(0 22px 32px rgba(77,52,38,.09))!important}
.envelope-back{background:
  linear-gradient(rgba(255,252,247,.94),rgba(246,236,225,.94)),
  radial-gradient(circle at 50% 30%,rgba(185,84,50,.06),transparent 45%)!important;
  border:1px solid rgba(185,84,50,.16)!important;border-radius:24px!important
}
.envelope-front{background:linear-gradient(145deg,rgba(255,252,247,.98),rgba(241,228,215,.96))!important;border-radius:0 0 24px 24px!important}
.envelope-flap{background:linear-gradient(180deg,#fffdfa 0%,#eee0d3 100%)!important}
.envelope-brand{position:absolute;z-index:6;top:52px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:3px;color:#76564a;pointer-events:none;opacity:.92}
.envelope-brand img{width:62px;height:auto;display:block}.envelope-brand span{font-family:"Cormorant Garamond",serif;font-size:23px;line-height:1}.envelope-brand small{font:500 8px/1.2 "Montserrat",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#9a7564;white-space:nowrap}
.envelope-mark{display:none!important}
.wax-seal{filter:drop-shadow(0 12px 15px rgba(93,42,26,.18))}.wax-seal img{filter:drop-shadow(0 14px 15px rgba(80,33,20,.24)) saturate(1.08)!important}
.wax-seal.is-loading{opacity:.76;cursor:wait!important}.wax-seal:disabled{pointer-events:none}

/* Countdown: center the botanical composition and keep all four counters aligned. */
.countdown{padding-inline:clamp(14px,4vw,60px)!important}
.countdown-shell{max-width:1060px!important;overflow:hidden!important;padding:38px clamp(22px,4vw,50px) 34px!important}
.countdown-shell::before{width:300px!important;height:360px!important;right:-85px!important;top:-48px!important;opacity:.26!important}
.countdown-shell::after{width:300px!important;height:360px!important;left:-90px!important;bottom:-90px!important;opacity:.24!important}
.countdown-main-date,.countdown-place,.countdown-script,.countdown-bottom-copy{position:relative;z-index:2}
.countdown-grid{position:relative;z-index:2;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;width:100%!important;margin-inline:auto!important}
.countdown-grid div{min-width:0!important;min-height:132px!important;padding:18px 6px 14px!important}
.countdown-grid div::before{width:58px!important;height:68px!important;opacity:.20!important}
.countdown-grid strong{font-size:clamp(42px,5.4vw,64px)!important}.countdown-grid span{font-size:9px!important}

/* Lodging table: complete information without horizontal clipping. */
.hotel-rates--v9{padding:18px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:0!important;min-width:0!important}
.hotel-rate-head,.hotel-rate-row{display:grid;grid-template-columns:minmax(0,1.45fr) .72fr .72fr;gap:8px;align-items:center;padding:10px 9px;border-bottom:1px solid rgba(185,84,50,.15)}
.hotel-rate-head{font:600 8px/1.2 "Montserrat",sans-serif;letter-spacing:.11em;text-transform:uppercase;color:#9b7969;background:rgba(185,84,50,.035);border-radius:11px 11px 0 0}
.hotel-rate-head span:not(:first-child){text-align:center}
.hotel-rate-row>div{min-width:0}.hotel-rate-row strong{display:block;font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:500;color:#4f3c33;line-height:1.05}.hotel-rate-row small{display:block;margin-top:4px;font-size:8px;line-height:1.35;color:var(--muted)}.hotel-rate-row>b{font-family:"Cormorant Garamond",serif;font-size:25px;font-weight:500;color:var(--terracotta-deep);text-align:center;white-space:nowrap}
.hotel-rates--v9 .stay-dates{margin-top:8px!important}

/* Compact practical cards, but readable. */
.info-cards--compact article{padding:15px 10px!important}.info-cards--compact h3{font-size:23px!important}.info-cards--compact p{font-size:9.5px!important;line-height:1.45!important}
.van-card--compact{grid-template-columns:minmax(0,1fr) 180px!important;overflow:hidden!important}.van-card--compact p{font-size:10.5px!important;line-height:1.55!important}.van-card--compact .van-price{min-width:0!important}.van-card--compact .van-price strong{font-size:31px!important;white-space:nowrap}

/* Gift cards: same visual weight, Amazon clearly recognizable. */
.gift-options{align-items:stretch!important}.gift-card{display:flex!important;flex-direction:column!important;height:100%!important;min-height:520px!important}.amazon-logo{width:180px!important;max-width:72%!important}.gift-card p{font-size:12px!important;line-height:1.55!important}.gift-card-note{margin:10px auto 16px!important;padding:12px 14px;border-radius:12px;background:rgba(185,84,50,.055);font-size:10px!important;line-height:1.45!important;color:#78675e!important;max-width:420px}.gift-card .btn{margin-top:auto!important}

/* Album: privacy text has its own breathing room. */
.album-shell--compact{grid-template-columns:minmax(0,1fr) 360px!important}.album-shell--compact .album-qr-card{grid-template-columns:108px minmax(0,1fr)!important;gap:16px!important;padding:18px!important}.album-qr-copy{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}.album-qr-copy strong{font-size:20px!important;line-height:1.1!important}.album-private-note{font-size:9.5px!important;line-height:1.5!important;max-width:none!important}.album-link-btn{min-height:36px!important;padding:0 16px!important;font-size:8px!important;width:auto!important;margin-top:2px!important}

/* Mobile: still compact, but no tiny unreadable typography. */
@media(max-width:780px){
  .section-pad{padding-top:50px!important;padding-bottom:50px!important;padding-inline:16px!important}
  .compact-section-head>p{font-size:17px!important;line-height:1.45!important}
  .envelope-card{width:calc(100vw - 30px)!important;height:calc(100svh - 138px)!important}.envelope-brand{top:36px}.envelope-brand img{width:54px}.envelope-brand span{font-size:21px}.envelope-hint{bottom:20px!important;padding:0 26px;text-align:center}
  .countdown-shell{padding:26px 12px 24px!important}.countdown-shell::before{width:180px!important;height:240px!important;right:-68px!important;top:-25px!important;opacity:.22!important}.countdown-shell::after{width:190px!important;height:250px!important;left:-70px!important;bottom:-62px!important;opacity:.20!important}.countdown-main-date{font-size:29px!important;letter-spacing:.025em!important}.countdown-script{font-size:34px!important}.countdown-grid{gap:7px!important}.countdown-grid div{min-height:112px!important;padding:13px 2px 11px!important}.countdown-grid strong{font-size:38px!important}.countdown-grid span{font-size:8px!important;letter-spacing:.07em!important}
  .hotel-compact--v8{grid-template-columns:1fr!important}.hotel-identity--photo{min-height:190px!important}.hotel-rates--v9{padding:10px!important}.hotel-rate-head,.hotel-rate-row{grid-template-columns:minmax(0,1.3fr) .76fr .76fr;gap:5px;padding:9px 5px}.hotel-rate-head{font-size:7.5px}.hotel-rate-row strong{font-size:18px}.hotel-rate-row small{font-size:8px}.hotel-rate-row>b{font-size:19px}.hotel-rates--v9 .stay-dates{font-size:8px!important;gap:6px!important}
  .hotel-mini-flow span{font-size:8px!important;line-height:1.25!important}.hotel-mini-warning{font-size:9px!important}.hotel-contact--compact .btn{font-size:8.5px!important}
  .info-cards--compact article{padding:12px 6px!important}.info-cards--compact h3{font-size:18px!important}.info-cards--compact p{font-size:8.5px!important;line-height:1.4!important}.info-cards--compact article img{width:34px!important;height:34px!important}
  .van-card--compact{grid-template-columns:minmax(0,1fr) 110px!important;gap:9px!important;padding:13px!important}.van-card--compact h3{font-size:22px!important}.van-card--compact p{font-size:9px!important}.van-card--compact .van-price{padding:8px 4px!important}.van-card--compact .van-price strong{font-size:23px!important}.van-card--compact .van-price small{font-size:7px!important;line-height:1.25!important}
  .gift-options{grid-template-columns:1fr 1fr!important;gap:9px!important}.gift-card{padding:19px 12px!important;min-height:480px!important}.amazon-logo{width:118px!important}.gift-card h3{font-size:25px!important}.gift-card p{font-size:10px!important;line-height:1.45!important}.gift-card-note{font-size:8.5px!important;padding:9px!important;margin:8px auto 12px!important}.gift-card small{font-size:8px!important;line-height:1.4!important}.gift-card .btn{font-size:7.5px!important;min-height:40px!important;padding-inline:6px!important}.gift-home-icon{width:48px!important;height:48px!important}
  .album-shell--compact{grid-template-columns:1fr!important}.album-shell--compact .album-copy{padding:13px!important}.album-form--compact .album-upload span{font-size:9px!important}.album-form--compact .album-upload small{font-size:7.5px!important}.album-form--compact .btn{font-size:8px!important}.album-shell--compact .album-qr-card{grid-template-columns:96px minmax(0,1fr)!important;gap:12px!important;padding:12px!important;text-align:left!important}.album-shell--compact .album-qr-card img{width:96px!important}.album-qr-copy{align-items:flex-start!important}.album-qr-copy strong{font-size:16px!important}.album-private-note{font-size:8.5px!important;line-height:1.4!important}.album-link-btn{font-size:7.5px!important;min-height:34px!important}
}
@media(max-width:430px){
  .hero-date{font-size:26px!important}.countdown-main-date{font-size:26px!important}.countdown-grid strong{font-size:34px!important}
  .hotel-rate-row strong{font-size:17px}.hotel-rate-row>b{font-size:18px}.hotel-rate-row small{font-size:7.5px}
  .gift-card{min-height:460px!important}.gift-card h3{font-size:23px!important}.gift-card p{font-size:9.5px!important}.gift-card-note{font-size:8px!important}
}

/* ========================= V10 FINAL POLISH / MOBILE LAYOUT / DRESS CODE ========================= */
/* Keep the whole invitation visually continuous and remove the pale separator bars. */
html,body,main{background:#f7f0e7!important}
main{overflow-x:hidden}
.floral-divider,
.floral-divider--light{
  height:0!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  overflow:hidden!important;
  border:0!important;
}
.floral-divider span,
.floral-divider span::before,
.floral-divider span::after{display:none!important}

/* Softer, cleaner florals only at section level. */
.floral-section::before,
.floral-section::after,
.hero-floral,
.envelope-floral{
  background-repeat:no-repeat!important;
  background-size:contain!important;
  background-position:center!important;
}
.floral-section::before,
.floral-section::after{
  opacity:.18!important;
  width:230px!important;
  height:260px!important;
}
.hero-floral--top{width:245px!important;right:-56px!important;top:84px!important;opacity:.26!important}
.hero-floral--bottom{width:250px!important;left:-70px!important;bottom:-24px!important;opacity:.22!important}
.hero-inner::before,
.hero-inner::after,
.guest-welcome::before,
.guest-welcome::after,
.hero-deadline::before,
.hero-deadline::after,
.event-card::before,
.event-card::after,
.hotel-compact::before,
.gift-card::before,
.gift-card::after,
.album-shell::before,
.album-shell::after,
.site-footer::before,
.site-footer::after,
.salon-visual::before,
.salon-visual::after,
.countdown-grid div::before,
.travel-time-grid article::after,
.rate-card::after{display:none!important;content:none!important}
.countdown-shell::before,
.countdown-shell::after{
  background-size:contain!important;
  background-repeat:no-repeat!important;
  opacity:.16!important;
}

/* Envelope copy more visible. */
.envelope-brand{
  background:rgba(255,250,244,.82)!important;
  border:1px solid rgba(185,84,50,.12)!important;
  border-radius:18px!important;
  padding:10px 18px 9px!important;
  box-shadow:0 12px 22px rgba(77,52,38,.07)!important;
  backdrop-filter:blur(2px);
}
.envelope-brand span,
.envelope-brand small{
  text-shadow:0 1px 0 rgba(255,255,255,.7)!important;
}
.envelope-hint{
  color:#74574a!important;
  text-shadow:0 1px 0 rgba(255,255,255,.9)!important;
  background:rgba(255,250,244,.72)!important;
  border:1px solid rgba(185,84,50,.10)!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:10px 20px!important;
  max-width:calc(100vw - 72px);
  left:50%!important;
  transform:translateX(-50%)!important;
}
.envelope-floral--top{opacity:.44!important;right:-28px!important;top:-24px!important;width:280px!important;height:190px!important}
.envelope-floral--bottom{opacity:.36!important;left:-36px!important;bottom:-48px!important;width:290px!important;height:210px!important}

/* Cleaner hero / countdown / transport spacing. */
.hero .guest-welcome,
.hero .hero-deadline{
  background:rgba(255,252,248,.92)!important;
}
.hero .guest-welcome,
.hero .hero-deadline,
.countdown-shell,
.travel-time-grid,
.info-cards--compact article,
.van-card,
.hotel-compact,
.album-shell,
.gift-card,
.dress-guide{
  box-shadow:0 14px 32px rgba(77,52,38,.045)!important;
}
.countdown-shell{
  padding-top:44px!important;
  padding-bottom:38px!important;
}
.countdown-grid{align-items:stretch!important}
.countdown-grid div{display:flex!important;flex-direction:column!important;justify-content:center!important}

/* Dress code with real references. */
.dress-guides--real{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;max-width:1120px!important}
.dress-guides--real .dress-guide{padding:18px!important;border-radius:22px!important;overflow:hidden!important}
.dress-photo{margin:0 0 16px!important;border-radius:18px!important;overflow:hidden!important;border:1px solid rgba(185,84,50,.16)!important;background:#f4ede4!important;aspect-ratio:4/5;box-shadow:0 8px 24px rgba(77,52,38,.06)!important}
.dress-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.color-rule-list,.dress-rule-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.color-rule-list li,.dress-rule-list li{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.5;color:#615149}
.swatch{width:14px;height:14px;border-radius:999px;display:inline-block;border:1px solid rgba(79,60,51,.14);flex:0 0 14px}
.swatch-white{background:#fff}
.swatch-beige{background:#d7c2a5}
.swatch-ivory{background:#f7f0df}
.swatch-pastel{background:linear-gradient(135deg,#f3d7db,#dbe5fa)}
.swatch-terracotta{background:#c86d4d}
.swatch-red{background:#b73e35}
.dress-guide-note{margin:14px 0 0!important;font-size:12px!important;line-height:1.65!important;color:#76675f!important}

/* Van price box: never clip on mobile. */
.van-card--compact .van-price{border:1px solid rgba(185,84,50,.16)!important;border-radius:18px!important;padding:18px 16px!important;background:rgba(255,252,247,.7)!important}
.van-card--compact .van-price img{width:42px!important;height:42px!important}

/* Mobile adjustments */
@media(max-width:780px){
  .section-pad{padding-top:42px!important;padding-bottom:42px!important}
  .envelope-brand{top:34px!important;padding:8px 14px!important}
  .envelope-brand img{width:48px!important}
  .envelope-brand span{font-size:19px!important}
  .envelope-brand small{font-size:7px!important;letter-spacing:.16em!important}
  .envelope-hint{font-size:15px!important;bottom:16px!important;padding:8px 14px!important;max-width:calc(100vw - 40px)!important}
  .hero-floral--top{width:190px!important;right:-58px!important;top:86px!important;opacity:.21!important}
  .hero-floral--bottom{width:205px!important;left:-72px!important;bottom:-16px!important;opacity:.18!important}
  .hero-copy{font-size:24px!important;line-height:1.35!important}
  .hero-cards{gap:12px!important}
  .guest-welcome strong{font-size:32px!important}
  .hero-deadline strong{font-size:26px!important}
  .countdown-shell{padding:24px 14px 24px!important}
  .countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .countdown-grid div{min-height:118px!important;border:1px solid rgba(185,84,50,.16)!important;border-radius:22px!important;background:rgba(255,252,248,.72)!important}
  .travel-time-grid{grid-template-columns:1fr!important}
  .travel-time-grid article{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .travel-time-grid article:last-child{border-bottom:0!important}
  .dress-guides--real{grid-template-columns:1fr!important;gap:18px!important}
  .dress-photo{aspect-ratio:4/4.45!important}
  .color-rule-list,.dress-rule-list{gap:7px!important}
  .color-rule-list li,.dress-rule-list li{font-size:13px!important}
  .info-cards--compact{grid-template-columns:1fr!important;gap:12px!important}
  .info-cards--compact article{padding:16px 14px!important}
  .info-cards--compact h3{font-size:26px!important}
  .info-cards--compact p{font-size:12px!important;line-height:1.5!important}
  .van-card--compact{grid-template-columns:1fr!important;gap:14px!important;padding:16px!important}
  .van-card--compact .van-price{border-left:0!important;width:100%!important;display:flex!important;flex-direction:column;align-items:flex-start!important}
  .van-card--compact .van-price strong{font-size:30px!important}
  .van-card--compact .van-price small{font-size:9px!important}
  .gift-options{grid-template-columns:1fr!important;gap:14px!important}
  .gift-card{min-height:auto!important}
  .album-shell--compact .album-qr-card{grid-template-columns:88px minmax(0,1fr)!important;gap:10px!important}
  .album-qr-copy strong{font-size:17px!important}
  .album-private-note{font-size:10px!important;line-height:1.45!important}
}
@media(max-width:430px){
  .hero{padding-top:84px!important}
  .hero-names{width:min(96vw,620px)!important}
  .hero-date{font-size:27px!important;line-height:1.2!important}
  .hero-place{font-size:15px!important;letter-spacing:.18em!important}
  .hero-copy{font-size:21px!important}
  .guest-welcome strong{font-size:26px!important}
  .guest-welcome small{font-size:11px!important;line-height:1.45!important}
  .hero-deadline strong{font-size:22px!important}
  .hero-actions{grid-template-columns:1fr 1fr!important}
  .hero-actions .btn{font-size:9px!important}
  .countdown-main-date{font-size:28px!important}
  .countdown-script{font-size:36px!important}
  .countdown-grid strong{font-size:35px!important}
  .countdown-grid span{font-size:8.5px!important}
  .hotel-rate-head,.hotel-rate-row{grid-template-columns:minmax(0,1.2fr) .82fr .82fr!important}
  .hotel-rate-row strong{font-size:19px!important}
  .hotel-rate-row small{font-size:8px!important;line-height:1.35!important}
  .hotel-rate-row>b{font-size:20px!important}
  .hotel-contact--compact .contact-buttons{grid-template-columns:1fr!important}
  .amazon-logo{width:128px!important}
  .gift-card h3{font-size:28px!important}
  .gift-card p,.gift-card-note,.gift-card small{font-size:11px!important;line-height:1.5!important}
}

/* ========================= V11 CLEAN FLORALS / ENVELOPE POLISH ========================= */
:root{
  --jd-floral-top:url('/assets/floral-top-transparent.png');
  --jd-floral-bottom:url('/assets/floral-bottom-transparent.png');
}

/* Use only transparent floral cut-outs. */
.hero-floral,
.envelope-floral,
.floral-section::before,
.floral-section::after,
.countdown-shell::before,
.countdown-shell::after,
.travel-time-grid article::after{
  background-color:transparent!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
  background-position:center!important;
  filter:none!important;
}

.hero-floral--top{content:url('/assets/floral-top-transparent.png')!important;width:240px!important;right:-52px!important;top:84px!important;opacity:.24!important}
.hero-floral--bottom{content:url('/assets/floral-bottom-transparent.png')!important;width:252px!important;left:-78px!important;bottom:-18px!important;opacity:.22!important}
.floral-section::before{background-image:var(--jd-floral-top)!important;opacity:.15!important;width:240px!important;height:260px!important;right:-82px!important;top:-52px!important}
.floral-section::after{background-image:var(--jd-floral-bottom)!important;opacity:.14!important;width:250px!important;height:270px!important;left:-88px!important;bottom:-66px!important}
.countdown-shell::before{background-image:var(--jd-floral-top)!important;opacity:.16!important;width:260px!important;height:290px!important;right:-70px!important;top:-36px!important}
.countdown-shell::after{background-image:var(--jd-floral-bottom)!important;opacity:.15!important;width:270px!important;height:300px!important;left:-84px!important;bottom:-84px!important}
.travel-time-grid article::after{background-image:var(--jd-floral-top)!important;opacity:.12!important;width:80px!important;height:92px!important;right:-8px!important;bottom:-14px!important}

/* Premium envelope with readable icon/text. */
.invitation-envelope{
  background:
    radial-gradient(circle at 50% 18%, rgba(198,112,76,.08), transparent 22%),
    linear-gradient(180deg,#fbf5ed 0%, #f2e7da 100%)!important;
}
.envelope-stage{width:min(680px,92vw)!important;height:min(920px,84svh)!important;max-height:84svh!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;position:relative!important}
.envelope-card{width:min(640px,92vw)!important;height:min(760px,68svh)!important;max-height:68svh!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}
.envelope-brand{
  top:22px!important;
  padding:11px 18px 10px!important;
  min-width:224px!important;
  background:rgba(255,251,246,.96)!important;
  border:1px solid rgba(185,84,50,.14)!important;
  border-radius:22px!important;
  box-shadow:0 16px 30px rgba(77,52,38,.07)!important;
}
.envelope-brand img{width:60px!important;height:auto!important}
.envelope-brand span{font-size:22px!important;color:#6c4c40!important}
.envelope-brand small{font-size:8px!important;letter-spacing:.18em!important;color:#8f6d5d!important}
.envelope-hint{
  bottom:18px!important;
  padding:12px 22px!important;
  min-height:auto!important;
  max-width:min(460px,calc(100vw - 48px))!important;
  font-size:17px!important;
  line-height:1.35!important;
  color:#735548!important;
  background:rgba(255,250,244,.94)!important;
  border:1px solid rgba(185,84,50,.12)!important;
  border-radius:999px!important;
  box-shadow:0 10px 22px rgba(77,52,38,.06)!important;
  text-align:center!important;
}
.envelope-floral--top{background-image:var(--jd-floral-top)!important;opacity:.50!important;width:220px!important;height:190px!important;right:-10px!important;top:-8px!important}
.envelope-floral--bottom{background-image:var(--jd-floral-bottom)!important;opacity:.46!important;width:220px!important;height:190px!important;left:-14px!important;bottom:-8px!important}
.wax-seal{width:136px!important;height:136px!important}
.wax-seal img{width:100%!important;height:100%!important;object-fit:contain!important}

/* Avoid visual white bars between sections. */
main > section,
main > div{position:relative;z-index:1}
.story,.dresscode,.lodging,.transport,.gifts,.album,.faq,.countdown,.rsvp{background:transparent!important}
.floral-divider,.floral-divider--light{display:none!important}

@media (max-width:780px){
  .envelope-stage{width:92vw!important;height:86svh!important;max-height:86svh!important}
  .envelope-card{width:92vw!important;height:min(74svh,760px)!important;max-height:74svh!important}
  .envelope-brand{top:28px!important;min-width:190px!important;padding:10px 14px 9px!important}
  .envelope-brand img{width:50px!important}
  .envelope-brand span{font-size:18px!important}
  .envelope-brand small{font-size:7px!important}
  .envelope-hint{bottom:16px!important;font-size:14px!important;padding:10px 18px!important;max-width:calc(100vw - 42px)!important}
  .envelope-floral--top{width:165px!important;height:145px!important;right:-14px!important;top:-2px!important;opacity:.44!important}
  .envelope-floral--bottom{width:172px!important;height:150px!important;left:-16px!important;bottom:-2px!important;opacity:.42!important}
  .wax-seal{width:118px!important;height:118px!important}
  .hero-floral--top{width:170px!important;right:-58px!important;top:80px!important;opacity:.21!important}
  .hero-floral--bottom{width:180px!important;left:-76px!important;bottom:-8px!important;opacity:.18!important}
  .floral-section::before{width:170px!important;height:185px!important;right:-64px!important;top:-26px!important}
  .floral-section::after{width:175px!important;height:190px!important;left:-70px!important;bottom:-42px!important}
  .countdown-shell::before{width:170px!important;height:200px!important;right:-60px!important;top:-26px!important}
  .countdown-shell::after{width:180px!important;height:210px!important;left:-68px!important;bottom:-60px!important}
}

/* ========================= V12 refresh requested by user ========================= */
:root{
  --paper-texture:
    radial-gradient(circle at 18% 14%, rgba(185,84,50,.06), transparent 28%),
    radial-gradient(circle at 85% 20%, rgba(109,118,92,.05), transparent 24%),
    radial-gradient(circle at 75% 78%, rgba(185,84,50,.04), transparent 26%),
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,0) 40%),
    repeating-linear-gradient(0deg, rgba(82,59,44,.014) 0 1px, rgba(0,0,0,0) 1px 4px),
    repeating-linear-gradient(90deg, rgba(82,59,44,.012) 0 1px, rgba(0,0,0,0) 1px 5px),
    linear-gradient(180deg, #f6eee4 0%, #f1e6da 100%);
}
body{
  background:var(--paper-texture) !important;
  color:var(--ink);
}
.paper-noise{opacity:.11 !important}
main, main > section, .story, .dresscode, .lodging, .transport, .gifts, .album, .faq, .countdown{
  background:transparent !important;
}
.section-pad{padding-top:88px !important;padding-bottom:88px !important}
.floral-divider,.floral-divider--light{display:none !important}

/* general floral cleanup */
.floral-section::before,
.floral-section::after,
.countdown-shell::before,
.countdown-shell::after,
.hero-floral{
  mix-blend-mode:multiply;
  filter:saturate(.94) contrast(.98);
  -webkit-mask-image:radial-gradient(circle at center, rgba(0,0,0,1) 48%, rgba(0,0,0,.72) 68%, rgba(0,0,0,0) 92%);
  mask-image:radial-gradient(circle at center, rgba(0,0,0,1) 48%, rgba(0,0,0,.72) 68%, rgba(0,0,0,0) 92%);
}
.floral-section::before{background-image:url('/assets/floral-top-transparent.png') !important;opacity:.15 !important;width:280px !important;height:280px !important;right:-72px !important;top:-34px !important}
.floral-section::after{background-image:url('/assets/floral-bottom-transparent.png') !important;opacity:.14 !important;width:300px !important;height:300px !important;left:-78px !important;bottom:-52px !important}
.countdown-shell::before{background-image:url('/assets/floral-top-transparent.png') !important;opacity:.16 !important;width:250px !important;height:250px !important;right:-58px !important;top:-20px !important}
.countdown-shell::after{background-image:url('/assets/floral-bottom-transparent.png') !important;opacity:.14 !important;width:270px !important;height:270px !important;left:-66px !important;bottom:-54px !important}
.hero{background:rgba(251,246,239,.42) !important}
.hero::before{inset:22px !important;border-radius:28px !important;background:rgba(255,255,255,.24);backdrop-filter:blur(1px)}
.hero-floral--top{width:260px !important;right:-54px !important;top:34px !important;opacity:.34 !important}
.hero-floral--bottom{width:290px !important;left:-62px !important;bottom:-20px !important;opacity:.34 !important}

/* envelope / cover simplified */
.invitation-envelope{
  background:var(--paper-texture) !important;
}
.invitation-envelope::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.05));
}
.envelope-stage{
  width:min(650px,92vw) !important;
  height:min(90svh,860px) !important;
  position:relative;
}
.envelope-letter{
  position:relative;
  width:100%;
  height:100%;
  background:linear-gradient(180deg, rgba(251,246,239,.96), rgba(246,238,228,.96));
  border:1px solid rgba(185,84,50,.22);
  border-radius:34px;
  box-shadow:0 24px 60px rgba(77,52,38,.08), inset 0 0 0 8px rgba(255,255,255,.22);
  overflow:hidden;
}
.envelope-letter::before{
  content:"";position:absolute;inset:26px;border:1px solid rgba(185,84,50,.16);border-radius:28px;
}
.envelope-letter::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 24%, rgba(185,84,50,.02) 100%);
}
.envelope-letter-floral{
  position:absolute;
  width:250px;height:250px;pointer-events:none;opacity:.95;
  background-repeat:no-repeat;background-size:contain;
  mix-blend-mode:multiply;
  -webkit-mask-image:radial-gradient(circle at center, rgba(0,0,0,1) 48%, rgba(0,0,0,.68) 72%, rgba(0,0,0,0) 94%);
  mask-image:radial-gradient(circle at center, rgba(0,0,0,1) 48%, rgba(0,0,0,.68) 72%, rgba(0,0,0,0) 94%);
}
.envelope-letter-floral--top{top:-32px;right:-24px;background-image:url('/assets/floral-top-transparent.png')}
.envelope-letter-floral--bottom{bottom:-40px;left:-26px;background-image:url('/assets/floral-bottom-transparent.png')}
.envelope-floral,.envelope-brand,.envelope-card,.envelope-back,.envelope-front,.envelope-flap,.envelope-mark,.envelope-hint{display:none !important}
.wax-seal{
  top:50% !important;left:50% !important;transform:translate(-50%,-50%) !important;
  width:122px !important;height:122px !important;border:0 !important;background:transparent !important;box-shadow:none !important;
}
.wax-seal img{width:122px;height:122px;display:block;filter:drop-shadow(0 16px 24px rgba(77,52,38,.22))}
.wax-seal::before{display:none !important}
.wax-seal:hover{transform:translate(-50%,-50%) scale(1.03) !important}
.invitation-envelope.is-opening .wax-seal{transform:translate(-50%,-50%) scale(.86) !important;opacity:0 !important}

/* clearer sections and cards */
.countdown-shell,
.event-card,
.travel-times,
.hotel-compact,
.info-cards article,
.van-card,
.gift-card,
.album-shell,
.rsvp-shell,
.accordion details,
.site-footer{
  background:rgba(251,246,239,.72) !important;
  backdrop-filter:blur(1px);
}
.countdown-shell,
.hotel-compact,
.van-card,
.album-shell,
.rsvp-shell,
.site-footer{
  border-radius:30px !important;
}
.event-card,.gift-card,.info-cards article,.accordion details{border-radius:24px !important}

/* dress code redesigned */
.dress-guides,.dress-guides--real{display:none !important}
.dress-compact-grid{
  max-width:1120px;
  margin:44px auto 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.dress-side-card{
  background:rgba(251,246,239,.78);
  border:1px solid rgba(185,84,50,.24);
  border-radius:28px;
  padding:24px;
  text-align:left;
  box-shadow:0 14px 36px rgba(77,52,38,.06);
}
.dress-side-head span{
  display:block;text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:var(--terracotta);font-weight:600;margin-bottom:6px;
}
.dress-side-head h3{
  margin:0 0 8px;font-family:"Cormorant Garamond",serif;font-size:40px;font-weight:500;color:#46362f;
}
.dress-side-head p{margin:0 0 18px;font-size:13px;line-height:1.65;color:#685a52}
.dress-side-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dress-mini-card{
  border:1px solid rgba(185,84,50,.18);
  border-radius:22px;
  background:rgba(255,255,255,.42);
  padding:14px;
}

.dress-badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin:12px 0 10px;border:1px solid transparent}
.dress-badge--no{background:rgba(166,52,52,.10);color:#a63434;border-color:rgba(166,52,52,.24)}
.dress-badge--yes{background:rgba(86,129,72,.12);color:#4f7d42;border-color:rgba(86,129,72,.24)}
.dress-mini-card strong:not(.dress-badge){display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta-deep);margin:12px 0 8px}
.dress-mini-card--yes strong:not(.dress-badge){color:#5c6c4b}
.dress-photo.compact{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:4/5;background:#efe3d4}
.dress-photo.compact img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.dress-rule-list,.color-rule-list{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.dress-rule-list li,.color-rule-list li{font-size:12px;line-height:1.45;color:#665750;display:flex;align-items:flex-start;gap:8px}
.dress-rule-list li::before{content:"•";color:var(--terracotta);font-weight:700;line-height:1}
.women-colors-list li::before{display:none}
.dress-mini-note{margin:10px 0 0;font-size:11px;line-height:1.45;color:#6b5b54}
.swatch{display:inline-block;width:11px;height:11px;border-radius:50%;margin-top:3px;border:1px solid rgba(80,65,54,.18);flex:0 0 11px}
.swatch-white{background:#fff}.swatch-beige{background:#d8c4ad}.swatch-ivory{background:#f1eadf}.swatch-pastel{background:#d8cee7}.swatch-terracotta{background:#c46f53}.swatch-red{background:#b72c2c}

/* RSVP clearer text */
.rsvp{
  background:transparent !important;
  color:var(--ink) !important;
}
.rsvp .section-kicker{color:var(--terracotta) !important}
.rsvp h2{color:#46362f !important}
.rsvp-shell{
  padding:32px !important;
  border:1px solid rgba(185,84,50,.18) !important;
  box-shadow:0 18px 44px rgba(77,52,38,.08);
}
.rsvp-copy p{color:#574841 !important;font-size:24px !important}
.rsvp-copy-small{color:#6a5c54 !important;font-size:13px !important}
.rsvp-deadline{
  margin-top:18px;
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(185,84,50,.18);
  background:rgba(255,255,255,.42);
}
.rsvp-deadline span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--terracotta-deep)}
.rsvp-deadline strong{font-family:"Cormorant Garamond",serif;font-size:32px;font-weight:600;color:#46362f}
.rsvp-deadline small{font-size:11px;line-height:1.55;color:#6d5f57}
.rsvp-form{background:rgba(251,246,239,.84) !important;border-radius:24px !important;border:1px solid rgba(185,84,50,.18)}

/* album + gifts slight polish */
.album-shell--compact .album-qr-card{background:rgba(255,255,255,.44) !important;border-radius:20px !important}
.gift-card-note{background:rgba(185,84,50,.05) !important;border-radius:14px !important}

/* mobile refinements */
@media (max-width: 980px){
  .dress-compact-grid{grid-template-columns:1fr !important}
}
@media (max-width: 780px){
  .section-pad{padding-top:72px !important;padding-bottom:72px !important}
  .hero{padding-top:94px !important;padding-bottom:50px !important}
  .hero::before{inset:14px !important;border-radius:24px !important}
  .hero-copy{font-size:20px !important}
  .envelope-stage{width:min(94vw,620px) !important;height:min(86svh,760px) !important}
  .envelope-letter{border-radius:28px !important}
  .envelope-letter::before{inset:18px !important;border-radius:22px !important}
  .envelope-letter-floral{width:190px !important;height:190px !important}
  .wax-seal,.wax-seal img{width:112px !important;height:112px !important}
  .dress-side-card{padding:18px !important}
  .dress-side-head h3{font-size:34px !important}
  .dress-side-layout{grid-template-columns:1fr !important}
  .rsvp-shell{grid-template-columns:1fr !important;gap:24px !important;padding:22px !important}
}
@media (max-width: 430px){
  .floral-section::before{width:180px !important;height:180px !important;right:-58px !important;top:-24px !important;opacity:.16 !important}
  .floral-section::after{width:190px !important;height:190px !important;left:-60px !important;bottom:-28px !important;opacity:.15 !important}
  .hero-floral--top{width:190px !important;right:-70px !important;top:72px !important;opacity:.28 !important}
  .hero-floral--bottom{width:210px !important;left:-70px !important;bottom:-32px !important;opacity:.28 !important}
  .countdown-shell{padding:24px 16px !important}
  .dress-side-head h3{font-size:30px !important}
  .dress-side-head p,.dress-rule-list li,.color-rule-list li{font-size:11px !important}
  .rsvp-copy p{font-size:21px !important}
  .rsvp-deadline strong{font-size:28px !important}
}

/* ========================= V14 cover refinement ========================= */
.invitation-envelope{
  position:fixed !important;
  inset:0 !important;
  z-index:1200 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:14px !important;
  background:linear-gradient(180deg, #f6efe6 0%, #f3ebdf 100%) !important;
}
.invitation-envelope::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 24% 16%, rgba(191,126,91,.06), transparent 24%),
    radial-gradient(circle at 82% 74%, rgba(94,108,75,.045), transparent 20%),
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 25%) !important;
}
.invitation-envelope::after{display:none !important}
.envelope-stage{
  position:relative !important;
  width:min(calc(100vw - 28px), 1680px) !important;
  height:min(calc(100svh - 28px), 1040px) !important;
  max-width:none !important;
  max-height:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.envelope-letter{
  position:absolute !important;
  inset:0 !important;
  width:auto !important;
  height:auto !important;
  border-radius:34px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 16%),
    linear-gradient(180deg, rgba(251,246,239,.985), rgba(246,238,228,.985)) !important;
  border:1px solid rgba(185,84,50,.22) !important;
  box-shadow:0 24px 56px rgba(77,52,38,.08), inset 0 0 0 1px rgba(255,255,255,.36) !important;
  overflow:hidden !important;
}
.envelope-letter::before{
  content:"" !important;
  position:absolute !important;
  inset:18px !important;
  border:1px solid rgba(185,84,50,.16) !important;
  border-radius:28px !important;
}
.envelope-letter::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 28%, rgba(185,84,50,.02) 100%) !important;
}
.envelope-letter-floral{
  position:absolute !important;
  pointer-events:none !important;
  opacity:.94 !important;
  background-repeat:no-repeat !important;
  background-size:contain !important;
  mix-blend-mode:multiply !important;
}
.envelope-letter-floral--top{background-position:right top !important;}
.envelope-letter-floral--bottom{background-position:left bottom !important;}
.envelope-letter-floral--top{
  width:clamp(220px, 16vw, 300px) !important;
  height:clamp(220px, 16vw, 300px) !important;
  top:-34px !important;
  right:-30px !important;
  background-image:url('/assets/floral-top-transparent.png') !important;
}
.envelope-letter-floral--bottom{
  width:clamp(220px, 16vw, 300px) !important;
  height:clamp(220px, 16vw, 300px) !important;
  bottom:-40px !important;
  left:-32px !important;
  background-image:url('/assets/floral-bottom-transparent.png') !important;
}
.envelope-floral,.envelope-brand,.envelope-card,.envelope-back,.envelope-front,.envelope-flap,.envelope-mark{display:none !important}
.wax-seal{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:126px !important;
  height:126px !important;
  z-index:4 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.wax-seal img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  filter:drop-shadow(0 16px 24px rgba(77,52,38,.22)) !important;
}
.wax-seal::before,.wax-seal::after{display:none !important}
.wax-seal:hover{transform:translate(-50%,-50%) scale(1.03) !important}
.invitation-envelope.is-opening .wax-seal{transform:translate(-50%,-50%) scale(.84) !important; opacity:0 !important}
.envelope-hint{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  bottom:max(18px, env(safe-area-inset-bottom) + 8px) !important;
  transform:translateX(-50%) !important;
  z-index:4 !important;
  margin:0 !important;
  padding:12px 24px !important;
  width:min(90%, 460px) !important;
  font-family:"Cormorant Garamond",serif !important;
  font-size:clamp(16px, 1.2vw, 22px) !important;
  line-height:1.18 !important;
  font-style:italic !important;
  text-align:center !important;
  color:#735f55 !important;
  background:rgba(255,251,246,.85) !important;
  border:1px solid rgba(185,84,50,.10) !important;
  border-radius:999px !important;
  box-shadow:0 8px 18px rgba(77,52,38,.05) !important;
}

@media (max-width: 820px){
  .invitation-envelope{padding:10px !important}
  .envelope-stage{
    width:calc(100vw - 20px) !important;
    height:calc(100svh - 20px) !important;
  }
  .envelope-letter{border-radius:28px !important}
  .envelope-letter::before{inset:12px !important;border-radius:20px !important}
  .envelope-letter-floral--top{
    width:170px !important;
    height:170px !important;
    top:-18px !important;
    right:-16px !important;
  }
  .envelope-letter-floral--bottom{
    width:165px !important;
    height:165px !important;
    bottom:-22px !important;
    left:-20px !important;
  }
  .wax-seal{width:112px !important;height:112px !important}
  .envelope-hint{
    bottom:max(16px, env(safe-area-inset-bottom) + 8px) !important;
    width:min(82vw, 420px) !important;
    padding:10px 18px !important;
    font-size:16px !important;
  }
}
@media (max-width: 480px){
  .invitation-envelope{padding:8px !important}
  .envelope-stage{
    width:calc(100vw - 16px) !important;
    height:calc(100svh - 16px) !important;
  }
  .envelope-letter{border-radius:24px !important}
  .envelope-letter::before{inset:10px !important;border-radius:17px !important}
  .envelope-letter-floral--top{
    width:152px !important;
    height:152px !important;
    top:-16px !important;
    right:-14px !important;
  }
  .envelope-letter-floral--bottom{
    width:148px !important;
    height:148px !important;
    bottom:-18px !important;
    left:-16px !important;
  }
  .wax-seal{width:106px !important;height:106px !important}
  .envelope-hint{width:min(86vw, 340px) !important;font-size:15px !important;padding:10px 14px !important}
}


/* footer closing text stronger contrast */
.site-footer strong{color:#7d5a4a !important;text-shadow:0 1px 0 rgba(255,255,255,.32)}
.site-footer span{color:#b46a4f !important;font-weight:600;letter-spacing:.20em}
.site-footer p{color:#9a7565 !important;text-shadow:0 1px 0 rgba(255,255,255,.28)}
