*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--theme-bg);color:var(--theme-text);font-family:var(--theme-body);line-height:1.65}body.pro-lock{overflow:hidden}img{max-width:100%;display:block}a{color:inherit}.pro-preview-ribbon{position:fixed;z-index:9999;top:12px;left:50%;transform:translateX(-50%);padding:8px 14px;border-radius:999px;background:#111;color:#fff;font:700 12px/1 Arial,sans-serif;box-shadow:0 8px 30px rgba(0,0,0,.2)}.pro-opening{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background-position:center;background-size:cover;transition:opacity .55s ease,visibility .55s ease}.pro-opening.is-closed{opacity:0;visibility:hidden;pointer-events:none}.pro-opening-card{width:min(520px,100%);padding:42px 28px;text-align:center;color:#fff}.pro-opening-card h1,.pro-hero h1{margin:14px 0 10px;font-family:var(--theme-heading);font-size:clamp(46px,10vw,92px);font-weight:500;line-height:1.05}.pro-opening-card p{margin:0 0 10px}.pro-guest-name{margin:14px auto 22px;padding:12px 18px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px);font-weight:700}.pro-page{min-height:100vh}.pro-hero{min-height:94vh;display:grid;place-items:center;padding:80px 24px;background-position:center;background-size:cover;color:#fff;text-align:center}.pro-hero-content{width:min(850px,100%)}.pro-hero p{font-size:18px;letter-spacing:.06em}.pro-eyebrow,.pro-section-kicker{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:800}.pro-hero-actions,.pro-card-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px}.pro-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border:0;border-radius:999px;text-decoration:none;font:800 13px/1 var(--theme-body);cursor:pointer;transition:transform .2s ease,opacity .2s ease}.pro-button:hover{transform:translateY(-2px)}.pro-button-primary{background:var(--theme-accent);color:#fff}.pro-button-secondary{background:var(--theme-primary);color:#fff}.pro-button-ghost{border:1px solid rgba(255,255,255,.6);background:rgba(255,255,255,.08);color:#fff}.pro-button-ghost-dark{border:1px solid rgba(35,45,39,.18);background:transparent;color:var(--theme-text)}.pro-section{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:var(--theme-section-space) 0}.pro-section-heading,.pro-intro{text-align:center}.pro-section h2,.pro-intro h2{margin:10px 0 16px;font-family:var(--theme-heading);font-size:clamp(34px,6vw,58px);font-weight:500;line-height:1.12}.pro-intro p,.pro-section-heading p{max-width:760px;margin:0 auto;color:var(--theme-muted)}.pro-couple-wide{width:min(820px,100%);max-height:520px;object-fit:cover;margin:34px auto;border-radius:var(--theme-radius);box-shadow:0 22px 70px rgba(30,42,34,.14)}.pro-couple-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:28px;align-items:center;margin-top:36px}.pro-person-card{padding:30px 24px;text-align:center;background:var(--theme-surface);border:1px solid rgba(60,75,66,.10);border-radius:var(--theme-radius);box-shadow:0 18px 55px rgba(35,48,39,.08)}.pro-person-card img{width:190px;height:190px;margin:0 auto 22px;border-radius:50%;object-fit:cover;border:6px solid var(--theme-secondary)}.pro-person-card span{color:var(--theme-muted);font-size:11px;text-transform:uppercase;letter-spacing:.18em}.pro-person-card h3{margin:8px 0 10px;font-family:var(--theme-heading);font-size:32px;font-weight:500}.pro-person-card p{color:var(--theme-muted)}.pro-person-card a{font-weight:800;color:var(--theme-primary)}.pro-couple-and{font-family:var(--theme-heading);font-size:48px;color:var(--theme-accent)}.pro-quote-section{max-width:850px;text-align:center}.pro-quote-section blockquote{margin:0;font-family:var(--theme-heading);font-size:clamp(26px,4vw,42px);line-height:1.45}.pro-quote-section cite{display:block;margin-top:16px;color:var(--theme-muted);font-style:normal}.pro-countdown-section{text-align:center}.pro-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:32px auto 0;max-width:720px}.pro-countdown div{padding:22px 12px;background:var(--theme-surface);border-radius:var(--theme-radius);box-shadow:0 14px 40px rgba(35,48,39,.07)}.pro-countdown strong{display:block;font-family:var(--theme-heading);font-size:42px}.pro-countdown span{color:var(--theme-muted);font-size:11px;text-transform:uppercase}.pro-event-grid,.pro-bank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:34px}.pro-event-card,.pro-bank-card,.pro-address-card{padding:28px;background:var(--theme-surface);border:1px solid rgba(60,75,66,.10);border-radius:var(--theme-radius);box-shadow:0 16px 50px rgba(35,48,39,.07);text-align:center}.pro-event-card>span,.pro-bank-card>span{color:var(--theme-accent);font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.pro-event-card h3{margin:8px 0 12px;font-family:var(--theme-heading);font-size:30px}.pro-event-card time,.pro-event-card strong{display:block;margin:7px 0}.pro-event-card p{color:var(--theme-muted)}.pro-chip{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--theme-secondary);font-size:12px}.pro-story-section{max-width:900px}.pro-story-timeline{display:grid;gap:22px;margin-top:38px}.pro-story-timeline article{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:center;padding:20px;background:var(--theme-surface);border-radius:var(--theme-radius);box-shadow:0 14px 45px rgba(35,48,39,.07)}.pro-story-timeline img{width:100%;height:180px;object-fit:cover;border-radius:calc(var(--theme-radius) - 8px)}.pro-story-timeline time{color:var(--theme-accent);font-size:12px;font-weight:800}.pro-story-timeline h3{margin:5px 0;font-family:var(--theme-heading);font-size:28px}.pro-story-timeline p{margin:0;color:var(--theme-muted)}.pro-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:34px}.pro-gallery-grid figure{margin:0;overflow:hidden;border-radius:var(--theme-radius);background:var(--theme-surface)}.pro-gallery-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;cursor:zoom-in;transition:transform .35s ease}.pro-gallery-grid img:hover{transform:scale(1.035)}.pro-gallery-grid figcaption{padding:9px 12px;color:var(--theme-muted);font-size:12px}.pro-video{position:relative;aspect-ratio:16/9;overflow:hidden;margin-top:34px;border-radius:var(--theme-radius);background:#111}.pro-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.pro-video-file{width:100%;max-height:650px;margin-top:34px;border-radius:var(--theme-radius);background:#111}.pro-gift-section,.pro-rsvp-section,.pro-wishes-section{max-width:900px}.pro-bank-card strong{display:block;margin:10px 0;font-size:26px;letter-spacing:.06em}.pro-address-card{margin-top:18px}.pro-address-card strong{font-family:var(--theme-heading);font-size:24px}.pro-rsvp-section form,.pro-wishes-section form{margin-top:28px;padding:28px;background:var(--theme-surface);border-radius:var(--theme-radius);box-shadow:0 18px 55px rgba(35,48,39,.07)}.pro-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.pro-rsvp-section label,.pro-wishes-section label{display:grid;gap:7px;font-size:12px;font-weight:800}.pro-rsvp-section input,.pro-rsvp-section select,.pro-rsvp-section textarea,.pro-wishes-section input,.pro-wishes-section textarea{width:100%;padding:13px 14px;border:1px solid rgba(50,65,56,.15);border-radius:13px;background:#fff;font:inherit;color:var(--theme-text)}.pro-full{grid-column:1/-1}.pro-notice{margin-top:16px;padding:12px 15px;border-radius:13px;background:var(--theme-secondary);font-size:13px}.pro-wish-list{display:grid;gap:10px;margin-top:20px}.pro-wish-list article{padding:16px 18px;border-radius:15px;background:var(--theme-surface)}.pro-wish-list p{margin:5px 0 0;color:var(--theme-muted)}.pro-qr-section{text-align:center}.pro-qr-box{display:inline-grid;place-items:center;min-width:220px;min-height:220px;padding:18px;margin-top:20px;background:#fff;border-radius:var(--theme-radius)}.pro-footer{padding:70px 20px;text-align:center;background:var(--theme-primary);color:#fff}.pro-footer span,.pro-footer small{display:block}.pro-footer strong{display:block;margin:10px 0;font-family:var(--theme-heading);font-size:38px}.pro-music-control{position:fixed;right:18px;bottom:18px;z-index:900}.pro-music-control button{width:50px;height:50px;border:0;border-radius:50%;background:var(--theme-accent);color:#fff;font-size:22px;box-shadow:0 12px 35px rgba(0,0,0,.2);cursor:pointer}.pro-music-control button.is-playing{animation:pro-spin 4s linear infinite}@keyframes pro-spin{to{transform:rotate(360deg)}}.pro-lightbox{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:30px;background:rgba(0,0,0,.88)}.pro-lightbox[hidden]{display:none}.pro-lightbox img{max-width:min(1100px,100%);max-height:88vh;object-fit:contain}.pro-lightbox button{position:absolute;top:18px;right:22px;border:0;background:transparent;color:#fff;font-size:42px;cursor:pointer}@media(max-width:760px){.pro-opening-card{padding:30px 14px}.pro-hero{min-height:86vh}.pro-couple-grid{grid-template-columns:1fr}.pro-couple-and{font-size:36px;text-align:center}.pro-event-grid,.pro-bank-grid,.pro-form-grid{grid-template-columns:1fr}.pro-full{grid-column:auto}.pro-story-timeline article{grid-template-columns:1fr}.pro-story-timeline img{height:230px}.pro-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pro-countdown{gap:7px}.pro-countdown div{padding:15px 5px}.pro-countdown strong{font-size:30px}.pro-section{width:min(100% - 24px,1080px)}}
.qr-canvas{display:grid;gap:0;width:max-content;margin:auto;padding:8px;background:#fff}.qr-canvas i{display:block;background:#fff}.qr-canvas i.on{background:#111}

.pro-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* iMersWedApp mobile invitation experience v3.1 */
body.pro-display-mobile-centered{min-height:100vh;background:var(--theme-desktop-bg);overflow-x:hidden}
.pro-display-mobile-centered .pro-page{width:min(100%,var(--theme-canvas-width));min-height:100vh;margin:0 auto;padding-bottom:88px;background:var(--theme-bg);position:relative;overflow:hidden}
.pro-display-mobile-centered.pro-canvas-shadow .pro-page{box-shadow:0 0 54px rgba(27,38,32,.16)}
.pro-display-mobile-centered .pro-opening{left:50%;right:auto;width:min(100%,var(--theme-canvas-width));transform:translateX(-50%);padding:20px}
.pro-display-mobile-centered.pro-canvas-shadow .pro-opening{box-shadow:0 0 54px rgba(27,38,32,.2)}
.pro-display-mobile-centered .pro-opening-card{width:100%;padding:30px 14px}
.pro-display-mobile-centered .pro-opening-card h1,.pro-display-mobile-centered .pro-hero h1{font-size:clamp(42px,10vw,68px)}
.pro-display-mobile-centered .pro-hero{min-height:100svh;padding:76px 22px 96px}
.pro-display-mobile-centered .pro-hero-content{width:100%}
.pro-display-mobile-centered .pro-section{width:calc(100% - 24px);padding:clamp(52px,var(--theme-section-space),96px) 0;scroll-margin-top:20px}
.pro-display-mobile-centered .pro-section h2,.pro-display-mobile-centered .pro-intro h2{font-size:clamp(32px,9vw,48px)}
.pro-display-mobile-centered .pro-couple-wide{max-height:390px;margin:28px auto}
.pro-display-mobile-centered .pro-couple-grid,.pro-display-mobile-centered .pro-event-grid,.pro-display-mobile-centered .pro-bank-grid,.pro-display-mobile-centered .pro-form-grid{grid-template-columns:1fr}
.pro-display-mobile-centered .pro-full{grid-column:auto}
.pro-display-mobile-centered .pro-couple-and{font-size:36px;text-align:center}
.pro-display-mobile-centered .pro-person-card{padding:26px 20px}
.pro-display-mobile-centered .pro-person-card img{width:160px;height:160px}
.pro-display-mobile-centered .pro-countdown{gap:7px}
.pro-display-mobile-centered .pro-countdown div{padding:15px 5px}
.pro-display-mobile-centered .pro-countdown strong{font-size:30px}
.pro-display-mobile-centered .pro-story-timeline article{grid-template-columns:1fr}
.pro-display-mobile-centered .pro-story-timeline img{height:230px}
.pro-display-mobile-centered .pro-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pro-display-mobile-centered .pro-rsvp-section form,.pro-display-mobile-centered .pro-wishes-section form{padding:22px 18px}
.pro-display-mobile-centered .pro-footer{padding:64px 20px 112px}
.pro-display-mobile-centered .pro-preview-ribbon{max-width:calc(var(--theme-canvas-width) - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pro-display-full-width .pro-page{padding-bottom:88px}
.pro-display-full-width .pro-footer{padding-bottom:112px}

.pro-bottom-nav{position:fixed;left:50%;bottom:max(10px,env(safe-area-inset-bottom));z-index:950;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:center;width:min(calc(100% - 20px),calc(var(--theme-canvas-width) - 20px));min-height:64px;padding:7px 8px;border:1px solid rgba(61,75,67,.12);border-radius:22px;transform:translateX(-50%);color:var(--theme-muted)}
.pro-bottom-nav-solid{bottom:0;width:min(100%,var(--theme-canvas-width));border-width:1px 0 0;border-radius:0;background:var(--theme-surface);box-shadow:0 -10px 30px rgba(30,42,34,.10);padding-bottom:max(7px,env(safe-area-inset-bottom))}
.pro-bottom-nav-floating{background:var(--theme-surface);box-shadow:0 16px 42px rgba(24,34,28,.18)}
.pro-bottom-nav-glass{background:color-mix(in srgb,var(--theme-surface) 86%,transparent);box-shadow:0 16px 42px rgba(24,34,28,.16);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
@supports not (background:color-mix(in srgb,#fff 80%,transparent)){.pro-bottom-nav-glass{background:rgba(255,255,255,.9)}}
.pro-bottom-nav a{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 3px;border-radius:15px;text-decoration:none;color:inherit;font-size:10px;font-weight:800;line-height:1.1;transition:background .2s ease,color .2s ease,transform .2s ease}
.pro-bottom-nav a:hover{transform:translateY(-1px)}
.pro-bottom-nav a.is-active{background:var(--theme-secondary);color:var(--theme-primary)}
.pro-bottom-nav svg{width:21px;height:21px;flex:0 0 auto}
.pro-bottom-nav span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pro-bottom-nav-icons-only{min-height:58px}
.pro-bottom-nav-icons-only a{padding:9px 4px}
.pro-bottom-nav-icons-only svg{width:23px;height:23px}

.pro-display-mobile-centered .pro-music-control{right:max(16px,calc((100vw - var(--theme-canvas-width))/2 + 16px));bottom:92px}
.pro-display-full-width .pro-music-control{bottom:92px}

@media(max-width:540px){
  .pro-display-mobile-centered.pro-canvas-shadow .pro-page,.pro-display-mobile-centered.pro-canvas-shadow .pro-opening{box-shadow:none}
  .pro-bottom-nav{width:calc(100% - 16px)}
  .pro-bottom-nav-solid{width:100%}
  .pro-display-mobile-centered .pro-music-control{right:16px}
}


/* Auto-scroll reading experience v3.3.3 */
.pro-autoscroll-status{position:fixed;left:50%;bottom:88px;z-index:980;max-width:min(360px,calc(100% - 32px));padding:9px 14px;border:1px solid rgba(61,75,67,.12);border-radius:999px;transform:translate(-50%,8px);background:rgba(28,36,31,.88);color:#fff;font-size:11px;font-weight:800;line-height:1.35;text-align:center;box-shadow:0 12px 34px rgba(0,0,0,.18);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;transition:opacity .22s ease,transform .22s ease;pointer-events:none}
.pro-autoscroll-status.is-visible{opacity:1;transform:translate(-50%,0)}
.pro-autoscroll-status[hidden]{display:none}
@media(max-width:520px){.pro-autoscroll-status{bottom:84px}}
@media(prefers-reduced-motion:reduce){.pro-autoscroll-status{display:none!important}}


/* Built-in template polish v3.3.8 */
.pro-hero,.pro-opening{isolation:isolate;overflow:hidden}
.pro-hero::before,.pro-hero::after,.pro-opening::before,.pro-opening::after{content:"";position:absolute;z-index:-1;pointer-events:none}
.pro-hero-content,.pro-opening-card{position:relative;z-index:2}
.pro-no-cover .pro-hero h1,.pro-no-opening-image .pro-opening-card h1{text-shadow:0 8px 30px rgba(0,0,0,.18)}
.pro-no-cover .pro-hero p,.pro-no-opening-image .pro-opening-card p{color:rgba(255,255,255,.88)}

/* Sage Classic — botanical, editorial, and readable even without uploaded photos. */
.pro-theme-sage-classic.pro-no-cover .pro-hero,
.pro-theme-sage-classic.pro-no-opening-image .pro-opening{
  background:linear-gradient(155deg,#34483f 0%,#526b60 52%,#8fa399 100%)!important;
}
.pro-theme-sage-classic .pro-hero::before,
.pro-theme-sage-classic .pro-opening::before{
  width:310px;height:310px;right:-145px;top:-120px;border-radius:48% 52% 62% 38%;
  background:radial-gradient(circle at 36% 38%,rgba(238,230,201,.44),rgba(199,167,109,.10) 55%,transparent 71%);
  transform:rotate(18deg);
}
.pro-theme-sage-classic .pro-hero::after,
.pro-theme-sage-classic .pro-opening::after{
  width:260px;height:340px;left:-150px;bottom:-150px;border-radius:65% 35% 58% 42%;
  border:1px solid rgba(255,255,255,.18);box-shadow:42px -26px 0 -40px rgba(255,255,255,.45),85px -55px 0 -78px rgba(199,167,109,.7);
  transform:rotate(-24deg);
}
.pro-theme-sage-classic .pro-opening-card{max-width:390px;padding:42px 24px;border:1px solid rgba(255,255,255,.18);border-radius:32px;background:rgba(27,42,34,.18);box-shadow:0 28px 70px rgba(18,31,24,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.pro-theme-sage-classic .pro-eyebrow{color:#f4e8c8}
.pro-theme-sage-classic .pro-button-primary{background:#d0ad6b;color:#26372f;box-shadow:0 12px 30px rgba(27,39,32,.18)}
.pro-theme-sage-classic .pro-button-primary:hover{background:#e0c286}
.pro-theme-sage-classic .pro-section-kicker{color:#9b7b42}
.pro-theme-sage-classic .pro-person-card,.pro-theme-sage-classic .pro-event-card,.pro-theme-sage-classic .pro-bank-card{border-color:rgba(82,107,96,.14);box-shadow:0 18px 52px rgba(52,72,63,.09)}
.pro-theme-sage-classic .pro-footer{background:linear-gradient(145deg,#34483f,#526b60)}

/* Floral Rose — warm blush instead of a flat pastel screen. */
.pro-theme-floral-rose.pro-no-cover .pro-hero,
.pro-theme-floral-rose.pro-no-opening-image .pro-opening{
  background:linear-gradient(150deg,#7f4d57 0%,#a96772 52%,#d1a2a0 100%)!important;
}
.pro-theme-floral-rose .pro-hero::before,.pro-theme-floral-rose .pro-opening::before{width:300px;height:300px;right:-130px;top:-125px;border-radius:50%;background:radial-gradient(circle,rgba(255,239,231,.38),rgba(255,255,255,0) 68%)}
.pro-theme-floral-rose .pro-hero::after,.pro-theme-floral-rose .pro-opening::after{width:250px;height:250px;left:-120px;bottom:-110px;border:1px solid rgba(255,255,255,.19);border-radius:42% 58% 48% 52%;transform:rotate(32deg)}
.pro-theme-floral-rose .pro-opening-card{max-width:390px;padding:42px 24px;border-radius:34px;background:rgba(80,35,45,.16);border:1px solid rgba(255,255,255,.17);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.pro-theme-floral-rose .pro-button-primary{background:#f0c5ba;color:#5e343d}

/* Modern Gold — proper dark-luxury contrast. */
.pro-theme-modern-gold.pro-no-cover .pro-hero,
.pro-theme-modern-gold.pro-no-opening-image .pro-opening{
  background:linear-gradient(145deg,#161816 0%,#292b2d 54%,#625438 100%)!important;
}
.pro-theme-modern-gold .pro-hero::before,.pro-theme-modern-gold .pro-opening::before{width:340px;height:340px;right:-180px;top:-160px;border:1px solid rgba(218,185,112,.30);border-radius:50%;box-shadow:0 0 0 36px rgba(198,161,91,.05),0 0 0 74px rgba(198,161,91,.035)}
.pro-theme-modern-gold .pro-hero::after,.pro-theme-modern-gold .pro-opening::after{width:1px;height:66%;left:28px;top:17%;background:linear-gradient(transparent,rgba(218,185,112,.75),transparent)}
.pro-theme-modern-gold .pro-opening-card{max-width:390px;padding:44px 24px;border:1px solid rgba(218,185,112,.30);border-radius:4px;background:rgba(0,0,0,.15)}
.pro-theme-modern-gold .pro-eyebrow,.pro-theme-modern-gold .pro-section-kicker{color:#d7b86f}
.pro-theme-modern-gold .pro-button-primary{border-radius:4px;background:#c6a15b;color:#171817}
.pro-theme-modern-gold .pro-footer{background:#171817}

@media(max-width:540px){
  .pro-theme-sage-classic .pro-opening-card,.pro-theme-floral-rose .pro-opening-card,.pro-theme-modern-gold .pro-opening-card{padding:36px 18px}
}
