@import url('https://fonts.googleapis.com/css2?family=Ephesis&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600;700&display=swap');
.jl-wedding{--peach:#f4d4be;--blush:#fff7f2;--wine:#842c38;--gold:#b48a57;--ink:#352d2b;--muted:#746967;background:#fff!important;color:var(--ink);font:400 16px/1.8 'DM Sans',Arial,sans-serif;overflow:visible;isolation:isolate}.jl-wedding *{box-sizing:border-box}.jl-wedding img{display:block;width:100%;height:auto}.jl-wedding a{color:inherit}.jl-wedding button{font:inherit;cursor:pointer}.jl-wedding h1,.jl-wedding h2,.jl-wedding h3,.jl-wedding p{margin:0}.jl-wedding h1,.jl-wedding h2,.jl-wedding h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.08}.jl-container{width:min(1160px,calc(100% - 48px));margin:0 auto}.jl-top{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid #efe8e2;gap:16px}.jl-brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;color:var(--wine);white-space:nowrap}.jl-top-right{display:flex;align-items:center;gap:24px}.jl-nav{display:flex;gap:22px;font-size:11px;letter-spacing:.13em;text-transform:uppercase}.jl-nav a{text-decoration:none;color:#655856}.jl-nav a:hover{color:var(--wine)}.jl-lang{display:flex;gap:5px;align-items:center}.jl-lang button{border:1px solid #e8d8ca;background:#fff;color:var(--wine);border-radius:100px;padding:5px 11px;font-size:11px;letter-spacing:.08em}.jl-lang button[aria-pressed=true]{background:var(--wine);color:white;border-color:var(--wine)}.jl-hero{position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:6%;align-items:center;min-height:650px;padding:72px 0 86px}.jl-kicker{text-transform:uppercase;color:var(--gold);font-size:11px;font-weight:600;letter-spacing:.27em}.jl-hero-copy{text-align:center;position:relative;z-index:2}.jl-hero h1{color:var(--wine);font-size:clamp(74px,7.5vw,124px);line-height:.79;letter-spacing:-.045em;margin:30px 0}.jl-hero h1 span{display:block}.jl-hero h1 .jl-amp{font-size:.46em;font-style:italic;line-height:.85;color:var(--gold);margin:8px 0}.jl-hero-sub{color:var(--muted);font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(22px,2.2vw,32px);font-style:italic;line-height:1.3;max-width:440px;margin:0 auto 28px!important}.jl-rule{height:1px;background:#d9b58f;width:100px;margin:26px auto}.jl-dates{display:flex;justify-content:center;gap:28px;color:var(--wine);font-size:12px;letter-spacing:.1em;text-transform:uppercase;line-height:1.7}.jl-dates>span+span{border-left:1px solid #e5c7aa;padding-left:28px}.jl-hero-photo{position:relative;max-width:495px;margin:0 auto;width:100%;padding:0 9px 9px}.jl-hero-photo>img{aspect-ratio:4/5;object-fit:cover;object-position:center 55%;border-radius:240px 240px 4px 4px;box-shadow:0 15px 55px rgba(71,48,30,.1)}.jl-hero-photo:before{content:'';position:absolute;inset:-11px 20px 21px -11px;border:1px solid #d7b080;border-radius:260px 260px 0 0;pointer-events:none}.jl-rose{font-family:'Cormorant Garamond',Georgia,serif;color:var(--wine);position:absolute;font-size:30px;line-height:1;z-index:1}.jl-rose.top{left:-32px;top:22%}.jl-rose.bottom{right:-23px;bottom:16%}.jl-rose:before{content:'✿';display:block;color:#e7b39a;filter:drop-shadow(2px 1px 0 #882b35);font-size:68px}.jl-rose.bottom:before{font-size:52px}.jl-scroll{margin-top:26px;display:inline-flex;gap:12px;align-items:center;text-decoration:none;color:var(--wine);font-size:11px;letter-spacing:.18em;text-transform:uppercase}.jl-scroll span{display:block;width:30px;height:1px;background:var(--gold)}.jl-countdown{border-top:1px solid #f0e8e1;border-bottom:1px solid #f0e8e1;padding:63px 0 66px;text-align:center;background:#fff}.jl-countdown h2{font-size:clamp(35px,4vw,56px);color:var(--wine);margin:10px 0 22px}.jl-clock{display:flex;align-items:baseline;justify-content:center;gap:clamp(10px,3vw,48px);flex-wrap:wrap}.jl-clock .unit{min-width:70px}.jl-clock strong{display:block;font:500 clamp(56px,7vw,96px)/1 'Cormorant Garamond',Georgia,serif;color:var(--gold);font-variant-numeric:lining-nums tabular-nums}.jl-clock small{display:block;color:var(--wine);font-size:10px;letter-spacing:.23em;text-transform:uppercase;margin-top:10px}.jl-clock .divider{font:400 44px 'Cormorant Garamond',Georgia,serif;color:#dcc7ae;align-self:center}.jl-complete{display:none;font:500 44px 'Cormorant Garamond',Georgia,serif;color:var(--wine)}.jl-section{padding:118px 0}.jl-section-label{color:var(--gold);letter-spacing:.24em;text-transform:uppercase;font-size:11px;font-weight:600;display:block;margin-bottom:14px}.jl-section h2{color:var(--wine);font-size:clamp(43px,5vw,72px);margin-bottom:26px}.jl-section p{font-size:15px;color:#625755;line-height:1.95;margin-bottom:18px}.jl-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}.jl-story-photos{display:grid;grid-template-columns:1.12fr .82fr;gap:15px;align-items:center}.jl-story-photos img:first-child{aspect-ratio:4/5;object-fit:cover;border-radius:180px 180px 2px 2px}.jl-story-photos img:last-child{aspect-ratio:3/4;object-fit:cover;border-radius:2px 2px 130px 130px;margin-top:95px}.jl-quote{font:italic 400 31px/1.25 'Cormorant Garamond',Georgia,serif!important;color:var(--wine)!important;margin:30px 0 0!important}.jl-fullquote{text-align:center;border-top:1px solid #f3ede9;border-bottom:1px solid #f3ede9;padding:75px 25px}.jl-fullquote p{font:italic 400 clamp(32px,4vw,56px)/1.23 'Cormorant Garamond',Georgia,serif;color:var(--wine);margin:0 auto;max-width:850px}.jl-fullquote b{font-weight:400;color:var(--gold)}.jl-proposal{display:grid;grid-template-columns:1.05fr .95fr;gap:9%;align-items:center}.jl-proposal-visual{padding:12px;border:1px solid #e5c8a6;max-width:490px;margin:auto}.jl-proposal-visual img{aspect-ratio:1014/1551;object-fit:cover}.jl-moments-header{text-align:center;max-width:670px;margin:0 auto 50px}.jl-moments-header h2{margin-bottom:8px}.jl-gallery{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:15px}.jl-gallery img{width:100%;height:100%;object-fit:cover;min-height:260px}.jl-gallery .tall{grid-row:span 2}.jl-gallery .tall img{min-height:535px}.jl-celebrate{padding:106px 0;border-top:1px solid #f1e9e4;text-align:center}.jl-celebrate h2{margin-bottom:12px}.jl-details{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;max-width:940px;margin:38px auto 30px}.jl-detail{padding:24px 14px;border-top:1px solid #d9b78f;border-bottom:1px solid #e8d6c3}.jl-detail strong{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;line-height:1.15;font-weight:500;color:var(--wine);margin:6px 0}.jl-detail span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}.jl-note{font-style:italic;color:var(--muted);font-size:13px!important}.jl-gifts{background:var(--blush);padding:95px 24px;text-align:center}.jl-gifts .inner{max-width:720px;margin:auto}.jl-gifts h2{font-size:clamp(42px,5vw,65px);color:var(--wine);margin-bottom:22px}.jl-gifts p{font-size:15px;line-height:1.9;color:#645653}.jl-gift-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:26px}.jl-pill{display:inline-block;text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:700;padding:13px 25px;border:1px solid var(--wine);color:#fff!important;background:var(--wine);border-radius:100px}.jl-pill.outline{color:var(--wine)!important;background:transparent}.jl-gift-placeholder{font-size:12px!important;font-style:italic;margin-top:18px!important}.jl-footer{text-align:center;padding:75px 25px 85px}.jl-footer h2{font-size:52px;color:var(--wine);margin-bottom:10px}.jl-footer p{color:var(--muted);font:italic 25px/1.3 'Cormorant Garamond',Georgia,serif}.jl-footer small{display:block;margin-top:25px;font-size:11px;letter-spacing:.16em;color:var(--gold)}.jl-wedding [data-lang]{display:none}.jl-wedding[data-current-lang='en'] [data-lang='en'],.jl-wedding[data-current-lang='es'] [data-lang='es']{display:revert}.jl-wedding img{max-width:100%}.jl-wedding .jl-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:900px){.jl-hero{gap:35px;min-height:auto}.jl-hero h1{font-size:clamp(56px,8vw,88px)}.jl-top-right{gap:10px}.jl-nav{gap:10px}.jl-nav a{font-size:10px}.jl-section{padding:90px 0}.jl-story,.jl-proposal{gap:35px}}@media(max-width:680px){.jl-container{width:min(100% - 30px,560px)}.jl-top{padding:14px 0}.jl-brand{font-size:21px}.jl-nav{display:none}.jl-hero{display:flex;flex-direction:column;padding:50px 0 65px;gap:30px}.jl-hero-copy{order:1}.jl-hero-photo{order:2;width:80%}.jl-hero h1{font-size:clamp(70px,16vw,110px);margin:22px 0}.jl-hero-sub{font-size:23px}.jl-dates{font-size:10px;gap:12px}.jl-dates>span+span{padding-left:12px}.jl-rose.top{left:-20px}.jl-rose.bottom{right:-12px}.jl-countdown{padding:50px 0}.jl-clock{gap:10px}.jl-clock strong{font-size:clamp(43px,13vw,65px)}.jl-clock .unit{min-width:54px}.jl-clock small{font-size:9px;letter-spacing:.1em}.jl-clock .divider{font-size:26px}.jl-section{padding:75px 0}.jl-story,.jl-proposal{grid-template-columns:1fr;gap:36px}.jl-story .jl-story-photos{order:2}.jl-proposal .jl-proposal-visual{order:2;max-width:450px}.jl-proposal .jl-proposal-copy{order:1}.jl-gallery{grid-template-columns:1fr 1fr;gap:9px}.jl-gallery img{min-height:190px}.jl-gallery .tall{grid-row:span 2}.jl-gallery .tall img{min-height:389px}.jl-details{grid-template-columns:1fr;gap:12px;max-width:350px;margin:28px auto}.jl-detail{padding:18px}.jl-gifts{padding:74px 22px}.jl-footer{padding:55px 20px 65px}.jl-fullquote{padding:62px 15px}}

/* Wedding visual refinements v1.2: comfortable type, distinct sticky navigation, tasteful florals */
.jl-wedding{font-size:19px;line-height:1.85;--peach:#F4D4BE;--wine:#842C38;--gold:#B48A57;background:#fff!important}
.jl-wedding .jl-section p,.jl-wedding .jl-gifts p,.jl-wedding .jl-celebrate p,.jl-wedding .jl-invitation-copy p{font-size:19px;line-height:1.85}
.jl-wedding .jl-note{font-size:16px!important}
.jl-wedding .jl-kicker,.jl-wedding .jl-section-label{font-size:14px;letter-spacing:.18em;line-height:1.65}
.jl-wedding .jl-dates{font-size:14px}
.jl-wedding .jl-top{padding:19px 0; border:0}
.jl-wedding .jl-top-right{gap:12px}
.jl-wedding .jl-sticky-menu{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.97);border-top:1px solid #f6eee8;border-bottom:1px solid #eee0d5;box-shadow:0 7px 18px rgba(64,42,30,.045);backdrop-filter:blur(9px)}
.admin-bar .jl-wedding .jl-sticky-menu{top:32px}
.jl-wedding .jl-sticky-menu>.jl-container{display:flex;justify-content:space-between;align-items:center;min-height:58px;gap:22px}
.jl-wedding .jl-sticky-menu .jl-nav{display:flex;align-items:center;justify-content:flex-end;gap:24px;flex-wrap:wrap;font-size:13px;letter-spacing:.1em}
.jl-wedding .jl-sticky-menu .jl-nav a{color:#594b49;text-decoration:none;white-space:nowrap;font-size:13px}
.jl-wedding .jl-sticky-menu .jl-nav a:hover{color:#842c38}
.jl-wedding .jl-menu-brand{font:500 24px/1 'Cormorant Garamond',Georgia,serif;color:#842c38;white-space:nowrap}
.jl-wedding .jl-menu-brand span{color:#b48a57}
.jl-wedding .jl-rose{width:135px;height:150px;display:block;font-size:0;background:url('assets/rose-corner.png') center/contain no-repeat;pointer-events:none}
.jl-wedding .jl-rose:before{content:none}
.jl-wedding .jl-rose.top{top:14%;left:-55px}
.jl-wedding .jl-rose.bottom{bottom:8%;right:-55px;transform:rotate(180deg)}
.jl-wedding .jl-invitation-section{padding:120px 0 130px;background:#fff;position:relative;border-bottom:1px solid #f0e6df}
.jl-wedding .jl-invitation-layout{display:grid;grid-template-columns:.9fr .82fr;align-items:center;gap:10%}
.jl-wedding .jl-invitation-copy h2{font:500 clamp(44px,5vw,74px)/1.05 'Cormorant Garamond',Georgia,serif;color:#842c38;margin:12px 0 26px}
.jl-wedding .jl-invitation-copy p{max-width:500px;color:#625755;margin:0 0 22px}
.jl-wedding .jl-invitation-link{display:inline-block;color:#842c38;text-decoration:none;border-bottom:1px solid #b48a57;font-size:15px;letter-spacing:.04em;padding-bottom:6px}
.jl-wedding .jl-invitation-image{display:block;max-width:410px;margin:auto;padding:11px;background:white;box-shadow:0 18px 55px rgba(75,36,37,.13);transform:rotate(1deg);border:1px solid #eeded1}
.jl-wedding .jl-invitation-image img{width:100%;height:auto}
.jl-wedding .jl-invitation-section:before{content:'';position:absolute;top:13%;left:0;width:105px;height:470px;background:url('assets/drape-side.png') left center / contain no-repeat;opacity:.55;pointer-events:none}
.jl-wedding .jl-celebrate{position:relative}
.jl-wedding .jl-celebrate:after{content:'';position:absolute;right:0;bottom:0;width:150px;height:200px;background:url('assets/rose-corner.png') right bottom / contain no-repeat;transform:scaleX(-1);opacity:.70;pointer-events:none}
.jl-wedding .jl-gifts{background:#fff;border-top:1px solid #f0e6df;border-bottom:1px solid #f0e6df}
.jl-wedding .jl-section{scroll-margin-top:85px}
.jl-wedding #jl-invitation,.jl-wedding #jl-details,.jl-wedding #jl-gifts{scroll-margin-top:85px}
.jl-wedding .jl-scroll,.jl-wedding .jl-pill{font-size:13px}
@media(max-width:780px){.jl-wedding .jl-invitation-layout{grid-template-columns:1fr;gap:48px}.jl-wedding .jl-invitation-section{padding:75px 0}.jl-wedding .jl-invitation-copy{text-align:center}.jl-wedding .jl-invitation-copy p{margin:0 auto 22px}.jl-wedding .jl-sticky-menu .jl-nav{gap:13px;justify-content:center}.jl-wedding .jl-sticky-menu .jl-nav a{font-size:11px}.jl-wedding .jl-menu-brand{display:none}.jl-wedding .jl-invitation-section:before{opacity:.22}}
@media(max-width:680px){.jl-wedding .jl-section p,.jl-wedding .jl-gifts p,.jl-wedding .jl-celebrate p,.jl-wedding .jl-invitation-copy p{font-size:17px;line-height:1.8}.jl-wedding .jl-kicker,.jl-wedding .jl-section-label{font-size:12px}.jl-wedding .jl-sticky-menu>.jl-container{min-height:54px}.jl-wedding .jl-sticky-menu .jl-nav{gap:10px}.jl-wedding .jl-sticky-menu .jl-nav a{font-size:10px}.jl-wedding .jl-rose{width:92px;height:100px}.jl-wedding .jl-rose.top{left:-14px}.jl-wedding .jl-rose.bottom{right:-14px}.admin-bar .jl-wedding .jl-sticky-menu{top:0}}

/* v1.3: FULL BLEED, Spanish-first wedding invitation theme */
@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700;900&display=swap');
.jl-wedding{--wine:#A91C32;--gold:#AD8044;--peach:#F4D4BE;color:#352d2b;background:#fff!important;width:100vw!important;max-width:none!important;position:relative!important;left:50%!important;margin-left:-50vw!important;margin-right:0!important;overflow:clip!important}
.jl-wedding .jl-container{width:min(1480px,calc(100% - 7vw))!important;max-width:none!important;margin-inline:auto!important}
.jl-wedding h1,.jl-wedding h2,.jl-wedding h3,.jl-wedding .jl-section h2,.jl-wedding .jl-gifts h2,.jl-wedding .jl-footer h2,.jl-wedding .jl-invitation-copy h2{font-family:'Merriweather',Georgia,serif!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.02em!important;line-height:1.22!important;color:var(--wine)!important}
.jl-wedding .jl-hero h1{font-size:clamp(43px,5vw,82px)!important;letter-spacing:-.015em!important;line-height:1.14!important}
.jl-wedding .jl-hero h1 .jl-amp{font:italic 400 .6em/1 'Cormorant Garamond',Georgia,serif!important;color:var(--gold)!important;margin:6px auto}
.jl-wedding .jl-section h2,.jl-wedding .jl-gifts h2,.jl-wedding .jl-invitation-copy h2{font-size:clamp(30px,3.4vw,56px)!important}
.jl-wedding .jl-hero .jl-rule{display:none!important}
.jl-wedding .jl-hero-copy .jl-scroll{display:none!important}
.jl-wedding .jl-kicker,.jl-wedding .jl-section-label{font-size:14px!important;line-height:1.6!important;letter-spacing:.12em!important;color:#A91C32!important}
.jl-wedding .jl-dates{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:center;gap:24px!important;letter-spacing:.04em!important;color:#A91C32!important}
.jl-wedding .jl-dates>span{min-width:135px;overflow-wrap:normal;word-break:normal;white-space:normal}
.jl-wedding .jl-dates>span+span{padding-left:24px!important}
.jl-wedding .jl-detail>span{display:block!important;margin:0 auto 9px!important;position:static!important;font-size:13px!important;line-height:1.45!important;letter-spacing:.12em!important}
.jl-wedding .jl-detail strong{display:block!important;margin:0 auto 11px!important;font-size:clamp(22px,2.3vw,35px)!important;line-height:1.35!important;clear:both!important}
.jl-wedding .jl-detail{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-width:0!important;gap:2px}
.jl-wedding .jl-detail>[data-lang]{display:none!important}
.jl-wedding[data-current-lang='es'] .jl-detail>[data-lang='es'],.jl-wedding[data-current-lang='en'] .jl-detail>[data-lang='en']{display:block!important}
.jl-wedding .jl-story-photos{display:block!important;max-width:490px;margin:auto}
.jl-wedding .jl-story-photos img:first-child{width:100%!important;aspect-ratio:4/5!important;border-radius:230px 230px 6px 6px!important;object-fit:cover!important}
.jl-wedding .jl-gallery{grid-template-columns:1.15fr 1fr 1fr!important;grid-template-rows:repeat(2,minmax(215px,1fr))!important}
.jl-wedding .jl-gallery>div:nth-child(4){grid-column:span 2}
.jl-wedding .jl-gallery>div:nth-child(4) img{max-height:320px}
.jl-wedding .jl-gallery img{height:100%!important;width:100%!important;object-fit:cover!important}
.jl-wedding .jl-hero,.jl-wedding .jl-invitation-section,.jl-wedding .jl-section,.jl-wedding .jl-countdown,.jl-wedding .jl-footer{position:relative;isolation:isolate}
.jl-wedding .jl-countdown:before,.jl-wedding #jl-story:before{content:'';position:absolute;left:0;top:12%;width:clamp(75px,10vw,180px);height:240px;background:url('assets/rose-corner.png') left top/contain no-repeat;opacity:.36;pointer-events:none;z-index:-1}
.jl-wedding .jl-footer:after{content:'';position:absolute;right:0;bottom:6%;width:clamp(85px,13vw,210px);height:235px;background:url('assets/rose-corner.png') right bottom/contain no-repeat;transform:scaleX(-1);opacity:.4;pointer-events:none;z-index:-1}
.jl-wedding .jl-section p,.jl-wedding .jl-gifts p,.jl-wedding .jl-celebrate p,.jl-wedding .jl-invitation-copy p{font-size:19px!important;line-height:1.88!important}
.jl-wedding .jl-sticky-menu .jl-nav a:hover,.jl-wedding .jl-invitation-link{color:#A91C32!important}
@media(max-width:800px){.jl-wedding .jl-container{width:calc(100% - 34px)!important}.jl-wedding .jl-details{grid-template-columns:1fr!important}.jl-wedding .jl-gallery{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important}.jl-wedding .jl-gallery .tall{grid-row:span 2}.jl-wedding .jl-gallery>div:nth-child(4){grid-column:span 2}.jl-wedding .jl-gallery img,.jl-wedding .jl-gallery .tall img{min-height:170px!important}.jl-wedding .jl-gallery>div:nth-child(4) img{max-height:300px}.jl-wedding .jl-hero h1{font-size:clamp(43px,12vw,70px)!important}.jl-wedding .jl-kicker,.jl-wedding .jl-section-label{font-size:12px!important}}

/* v1.4 — approved invitation palette, comfortable 90% page width */
.jl-wedding{
  --wine:#73020C!important;
  --gold:#8C5716!important;
  --peach:#F2AA80!important;
  --blush:#F2E3D5!important;
  width:90vw!important;
  max-width:90vw!important;
  margin-left:-45vw!important;
  background:#fff!important;
}
.jl-wedding .jl-container{width:94%!important;max-width:1400px!important;margin-inline:auto!important}
.jl-wedding .jl-kicker,
.jl-wedding .jl-section-label,
.jl-wedding .jl-detail>span,
.jl-wedding .jl-clock small,
.jl-wedding .jl-footer small{color:#8C5716!important}
.jl-wedding .jl-dates,
.jl-wedding .jl-sticky-menu .jl-nav a:hover,
.jl-wedding .jl-invitation-link,
.jl-wedding .jl-menu-brand{color:#73020C!important}
.jl-wedding .jl-sticky-menu .jl-lang button[aria-pressed=true],
.jl-wedding .jl-pill{background:#73020C!important;border-color:#73020C!important}
.jl-wedding .jl-pill.outline{background:transparent!important;color:#73020C!important}
.jl-wedding .jl-dates>span+span{border-left-color:#F2AA80!important}
.jl-wedding .jl-detail{border-top-color:#8C5716!important;border-bottom-color:#F2E3D5!important}
.jl-wedding .jl-clock strong{color:#8C5716!important}
.jl-wedding .jl-proposal-visual,.jl-wedding .jl-invitation-image{border-color:#F2AA80!important}
@media(max-width:800px){
  .jl-wedding{width:94vw!important;max-width:94vw!important;margin-left:-47vw!important}
  .jl-wedding .jl-container{width:calc(100% - 26px)!important}
}

/* v1.5: image-safe gallery and delicate invitation-inspired corners */
.jl-wedding .jl-gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important;align-items:start!important;gap:clamp(14px,2vw,28px)!important}
.jl-wedding .jl-gallery>div,.jl-wedding .jl-gallery>div.tall,.jl-wedding .jl-gallery>div:nth-child(4){grid-column:auto!important;grid-row:auto!important;min-width:0!important;overflow:hidden;border:1px solid #F2E3D5;background:#fff;padding:8px}
.jl-wedding .jl-gallery img,.jl-wedding .jl-gallery .tall img,.jl-wedding .jl-gallery>div:nth-child(4) img{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;display:block!important}
/* Floral decorations sit at outer edges, leaving content on pure white. */
.jl-wedding .jl-countdown:before,.jl-wedding #jl-story:before,.jl-wedding .jl-footer:after{z-index:0!important;opacity:.52!important;}
.jl-wedding .jl-invitation-section:before{opacity:.38!important;z-index:0!important}
.jl-wedding .jl-hero:after{content:'';position:absolute;top:1%;left:0;width:clamp(85px,12vw,178px);height:235px;background:url('assets/rose-corner.png') left top / contain no-repeat;opacity:.42;pointer-events:none;z-index:0}
.jl-wedding .jl-invitation-section:after{content:'';position:absolute;right:0;bottom:5%;width:clamp(100px,15vw,215px);height:280px;background:url('assets/rose-corner.png') right bottom / contain no-repeat;transform:scaleX(-1) rotate(180deg);opacity:.44;pointer-events:none;z-index:0}
.jl-wedding #jl-story:after{content:'';position:absolute;right:0;bottom:3%;width:clamp(65px,9vw,135px);height:325px;background:url('assets/drape-side.png') right center / contain no-repeat;transform:scaleX(-1);opacity:.27;pointer-events:none;z-index:0}
.jl-wedding .jl-celebrate:before{content:'';position:absolute;left:0;bottom:0;width:clamp(95px,13vw,180px);height:230px;background:url('assets/rose-corner.png') left bottom / contain no-repeat;opacity:.43;pointer-events:none;z-index:0}
.jl-wedding .jl-celebrate,.jl-wedding .jl-invitation-section{position:relative;isolation:isolate;background:#fff!important}
.jl-wedding .jl-hero>.jl-hero-copy,.jl-wedding .jl-hero>.jl-hero-photo,.jl-wedding .jl-invitation-section>.jl-container,.jl-wedding .jl-section>.jl-container,.jl-wedding .jl-celebrate>.jl-container{position:relative;z-index:1}
@media(max-width:680px){.jl-wedding .jl-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.jl-wedding .jl-gallery>div{padding:4px!important}.jl-wedding .jl-hero:after,.jl-wedding .jl-invitation-section:after,.jl-wedding #jl-story:after{opacity:.2!important;width:85px!important}}

/* v1.6 — refined original floral overlays, 80% layout, photo masonry, gift details */
.jl-wedding{width:80vw!important;max-width:80vw!important;left:50%!important;margin-left:-40vw!important;margin-right:0!important;--wine:#73020C!important;--gold:#8C5716!important;--peach:#F2AA80!important;background:#fff!important}
.jl-wedding .jl-container{width:94%!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important}
.jl-wedding .jl-gallery{display:block!important;columns:2!important;column-gap:16px!important}
.jl-wedding .jl-gallery>div,.jl-wedding .jl-gallery>div.tall,.jl-wedding .jl-gallery>div:nth-child(4){display:block!important;break-inside:avoid!important;-webkit-column-break-inside:avoid!important;margin:0 0 16px!important;width:100%!important;max-width:none!important;grid-row:auto!important;grid-column:auto!important;padding:7px!important;border:1px solid #F2E3D5!important;background:#fff!important}
.jl-wedding .jl-gallery img,.jl-wedding .jl-gallery .tall img,.jl-wedding .jl-gallery>div:nth-child(4) img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;min-height:0!important;aspect-ratio:auto!important;object-fit:contain!important}
/* Use only the owner's flower and drapery files; minimal accents away from text. */
.jl-wedding .jl-rose,.jl-wedding .jl-hero:after,.jl-wedding .jl-countdown:before,.jl-wedding #jl-story:before,.jl-wedding .jl-footer:after,.jl-wedding .jl-celebrate:after,.jl-wedding .jl-celebrate:before,.jl-wedding .jl-invitation-section:after{background-image:url('assets/flowers-detail.webp')!important;opacity:.76!important;pointer-events:none!important}
.jl-wedding .jl-rose{opacity:.8!important}
.jl-wedding .jl-invitation-section:before,.jl-wedding #jl-story:after{background-image:url('assets/peach-drapery.webp')!important;opacity:.34!important;background-position:center!important;background-size:contain!important}
.jl-wedding .jl-invitation-section:before{width:clamp(75px,10vw,160px)!important;height:270px!important;top:3%!important;left:0!important}
.jl-wedding #jl-story:after{height:190px!important;width:clamp(75px,10vw,150px)!important;right:0!important;bottom:0!important}
.jl-wedding .jl-hero:after{top:2%!important;left:0!important;width:clamp(75px,9vw,145px)!important;height:160px!important;opacity:.43!important}
.jl-wedding .jl-countdown:before,.jl-wedding #jl-story:before{width:clamp(65px,8vw,120px)!important;height:150px!important;opacity:.34!important}
.jl-wedding .jl-footer:after{width:clamp(65px,9vw,130px)!important;height:165px!important;opacity:.48!important}
.jl-wedding .jl-gift-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px!important;align-items:stretch!important;margin-top:30px}
.jl-wedding .jl-gifts .inner{max-width:850px!important}
.jl-wedding .jl-gift-card{border:1px solid #edd9c8;background:#fff;padding:20px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:0}
.jl-wedding .jl-gift-card strong{color:#73020C;font-family:'Merriweather',Georgia,serif;font-size:19px}
.jl-wedding .jl-gift-value{font-size:clamp(12px,1.2vw,16px);color:#51433e;overflow-wrap:anywhere;line-height:1.5}
.jl-wedding .jl-copy{border:1px solid #73020C;background:#73020C;color:#fff;padding:8px 14px;border-radius:999px;font-size:12px;cursor:pointer}
.jl-wedding .jl-copy:hover{background:#8C5716;border-color:#8C5716}
.jl-wedding .jl-copy-feedback{font-size:13px!important;color:#8C5716;min-height:1.6em;margin:8px 0 0!important}
.jl-wedding .jl-gift-card [data-lang]{display:none!important}
.jl-wedding[data-current-lang='es'] .jl-gift-card [data-lang='es'],.jl-wedding[data-current-lang='en'] .jl-gift-card [data-lang='en']{display:revert!important}
@media(max-width:850px){.jl-wedding{width:96vw!important;max-width:96vw!important;margin-left:-48vw!important}.jl-wedding .jl-container{width:calc(100% - 28px)!important}.jl-wedding .jl-gift-actions{grid-template-columns:1fr!important}.jl-wedding .jl-gallery{column-gap:9px!important}.jl-wedding .jl-gallery>div{margin-bottom:9px!important;padding:4px!important}.jl-wedding .jl-hero:after,.jl-wedding .jl-countdown:before,.jl-wedding #jl-story:before{opacity:.18!important}}
@media(max-width:500px){.jl-wedding .jl-gallery{columns:1!important}.jl-wedding .jl-gift-card{padding:16px}}

/* v1.7 — larger handwritten quotes inspired by the wedding invitation.
   The repeated little drapery pieces are removed for a cleaner design. */

.jl-wedding .jl-quote,
.jl-wedding .jl-fullquote p,
.jl-wedding .jl-footer p {
  font-family:'Ephesis','Brush Script MT',cursive!important;
  font-style:normal!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:#73020C!important;
}
.jl-wedding .jl-quote {font-size:clamp(44px,4.6vw,78px)!important;line-height:1.16!important;margin-top:34px!important;}
.jl-wedding .jl-fullquote p {font-size:clamp(48px,5.6vw,90px)!important;line-height:1.16!important;max-width:1000px!important;}
.jl-wedding .jl-fullquote b {font-family:inherit!important;font-weight:400!important;color:#8C5716!important;}
.jl-wedding .jl-footer p {font-size:clamp(45px,5vw,76px)!important;line-height:1.17!important;max-width:950px;margin-inline:auto;}
.jl-wedding .jl-invitation-section:before,
.jl-wedding #jl-story:after{background-image:none!important;content:none!important;display:none!important;}
@media(max-width:680px){
 .jl-wedding .jl-quote{font-size:clamp(41px,10vw,59px)!important;}
 .jl-wedding .jl-fullquote p{font-size:clamp(43px,10vw,65px)!important;}
 .jl-wedding .jl-footer p{font-size:clamp(42px,10vw,65px)!important;}
}
