@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Great+Vibes&family=Lora:ital,wght@0,400;0,500;1,400&family=Montserrat:wght@300;400;500;600&display=swap');

:root{--olive:#667255;--olive2:#7d886d;--dark:#30392d;--cream:#f6f0e4;--paper:#fffdf8;--gold:#b9a071;--ink:#30332d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.jmw-standalone{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,"Times New Roman",serif}
.site,.page{min-height:100vh}.hero{min-height:100vh;display:grid;place-items:center;text-align:center;padding:70px 22px 90px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 15%,#fffdf8 0,#f4eddf 46%,#e2e0cf 100%)}
.hero:before,.hero:after{content:"";position:absolute;width:360px;height:520px;opacity:.22;background:radial-gradient(ellipse at center,rgba(102,114,85,.32),transparent 65%);filter:blur(4px)}
.hero:before{left:-150px;top:-80px;transform:rotate(-25deg)}.hero:after{right:-150px;bottom:-110px;transform:rotate(25deg)}
.hero.photo{background-size:cover!important;background-position:center!important;color:#fff}.hero.photo:after{inset:0;width:auto;height:auto;background:linear-gradient(to bottom,rgba(28,36,26,.05),rgba(28,36,26,.28));opacity:1}
.hero-inner{width:min(980px,100%);position:relative;z-index:2}.hero.photo .hero-inner{padding:42px 34px;border-radius:22px;background:rgba(32,42,29,.18);backdrop-filter:blur(3px)}
.hero-inner>span,.engagement>small,.location>small,.share-copy>small{font:600 11px/1.4 Arial,sans-serif;letter-spacing:.34em;color:var(--olive);text-transform:uppercase}.hero.photo .hero-inner>span{color:#fff}
.hero h1{font-size:clamp(64px,9vw,118px);font-weight:400;font-style:italic;line-height:.92;margin:24px 0 14px;letter-spacing:-.035em}.hero h2{font-size:clamp(16px,2vw,24px);font-weight:400;letter-spacing:.44em;text-transform:uppercase;margin:0}
.date{font-size:clamp(23px,3vw,35px);letter-spacing:.25em;margin:35px 0 24px}.count{display:grid;grid-template-columns:repeat(4,minmax(82px,118px));gap:12px;justify-content:center;margin:0 auto 28px}
.count>div{padding:17px 8px;background:rgba(102,114,85,.95);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:8px;box-shadow:0 10px 28px rgba(40,48,35,.12)}.count b{display:block;font-size:31px;font-weight:400}.count span{display:block;font:10px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin-top:5px}
.hero-inner>p{font-size:18px;max-width:680px;margin:0 auto 34px;line-height:1.75}.hero-photo-share{display:grid;grid-template-columns:210px 1fr;gap:34px;align-items:center;text-align:left;max-width:820px;margin:0 auto;padding:26px 30px;background:rgba(255,253,248,.96);color:var(--ink);border:1px solid rgba(185,160,113,.38);box-shadow:0 24px 70px rgba(35,40,30,.16);border-radius:18px}
.share-qr .jmw-qr{margin:0;width:190px;min-height:190px}.share-copy h3{font-size:30px;font-weight:400;font-style:italic;margin:8px 0 10px;color:var(--dark)}.share-copy p{line-height:1.68;margin:0 0 18px;color:#555b51}
.btn,.form button{display:inline-block;background:var(--olive);color:#fff!important;text-decoration:none;border:1px solid var(--olive);padding:14px 25px;border-radius:999px;font:600 11px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:.2s}.btn:hover,.form button:hover{background:var(--dark);transform:translateY(-1px)}
.engagement{padding:110px 5% 120px;text-align:center;background:var(--paper);position:relative}.engagement:before{content:"♡";display:block;color:var(--gold);font-size:25px;margin-bottom:14px}.engagement h2,.location h2,.page h1{font-size:clamp(44px,5.4vw,68px);font-weight:400;font-style:italic;margin:10px 0 14px;color:var(--dark)}
.section-intro{max-width:720px;margin:0 auto 48px;line-height:1.8;font-size:17px;color:#62685d}
.jmw-gallery{display:grid;grid-template-columns:1.3fr .8fr .8fr;grid-auto-rows:260px;gap:16px;max-width:1240px;margin:0 auto}.jmw-gallery figure{margin:0;overflow:hidden;border-radius:14px;box-shadow:0 14px 36px rgba(45,50,40,.08);position:relative;background:#eee7da}.jmw-gallery figure:first-child{grid-row:span 2}.jmw-gallery figure:nth-child(4n+4){grid-column:span 2}.jmw-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease,filter .65s ease}.jmw-gallery figure:hover img{transform:scale(1.035);filter:saturate(1.04)}
.location{padding:105px 6%;text-align:center;background:linear-gradient(180deg,#f5efe3,#ebe9d9)}.location-card{max-width:760px;margin:36px auto 0;padding:50px 38px;border:1px solid #d9cfbb;background:rgba(255,253,248,.86);box-shadow:0 18px 55px rgba(45,50,40,.07);border-radius:16px}.location-heart{font-size:38px;color:var(--olive)}.location-card p{font-size:21px;line-height:1.85}.location-date{margin-top:26px;color:var(--olive);letter-spacing:.16em;text-transform:uppercase;font:600 12px Arial,sans-serif}
.page{padding:80px 22px;text-align:center;background:radial-gradient(circle at top,#fffdf8,#f3ecdc 65%,#e2e2d2)}.page>p{max-width:650px;margin:0 auto 25px;line-height:1.7}.form{max-width:680px;margin:35px auto;background:var(--paper);border:1px solid #ded8c9;padding:38px;text-align:left;box-shadow:0 18px 55px rgba(45,50,40,.08);border-radius:14px}.form label{display:block;margin:18px 0;font-weight:600}.form input,.form textarea{width:100%;padding:13px;border:1px solid #cfc8b8;background:#fff;margin-top:7px;font:16px Arial,sans-serif;border-radius:6px}.choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice label{background:var(--cream);padding:14px;font-weight:400;border-radius:7px}.choice input{width:auto;margin-right:8px}.ok{max-width:680px;margin:20px auto;padding:15px;background:#e8efe2;border:1px solid #b9c7ad;border-radius:8px}.jmw-qr{width:220px;min-height:220px;margin:28px auto;background:#fff;padding:10px;border-radius:8px}.jmw-qr img,.jmw-qr canvas{max-width:100%;height:auto!important}footer{padding:62px 20px;text-align:center;background:#35402f;color:#fff;font-size:30px;font-style:italic}
@media(max-width:850px){.hero{padding:55px 18px 70px}.hero.photo .hero-inner{padding:30px 18px}.hero-photo-share{grid-template-columns:1fr;text-align:center;padding:25px 20px}.share-qr .jmw-qr{margin:0 auto}.jmw-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.jmw-gallery figure:first-child{grid-column:span 2;grid-row:auto;height:360px}.jmw-gallery figure:nth-child(4n+4){grid-column:auto}}
@media(max-width:600px){.count{grid-template-columns:repeat(4,1fr);gap:6px;width:100%}.count>div{min-width:0;padding:12px 3px}.count b{font-size:23px}.count span{font-size:8px}.jmw-gallery{grid-template-columns:1fr;grid-auto-rows:300px}.jmw-gallery figure:first-child,.jmw-gallery figure:nth-child(4n+4){grid-column:auto;height:auto}.engagement,.location{padding:70px 18px}.choice{grid-template-columns:1fr}.form{padding:22px}}

.location-card h3{font-size:32px;font-weight:400;margin:12px 0;color:var(--dark)}
.location-meta{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;font:600 12px Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--olive);margin:15px 0 8px}
.location-address{font-size:16px!important;color:#666d62;margin:8px 0 24px}
.jmw-location-slider{max-width:980px;margin:34px auto 0}.jmw-location-stage{position:relative;aspect-ratio:16/8.2;overflow:hidden;border-radius:14px;background:#ddd6c8;box-shadow:0 16px 45px rgba(42,48,37,.12)}
.jmw-location-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.015);transition:opacity .8s ease,transform 1.2s ease}.jmw-location-slide.active{opacity:1;transform:scale(1)}
.jmw-slide-prev,.jmw-slide-next{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.65);background:rgba(255,253,248,.88);color:var(--dark);font-size:31px;line-height:1;cursor:pointer;z-index:3}.jmw-slide-prev{left:18px}.jmw-slide-next{right:18px}
.jmw-slide-dots{display:flex;justify-content:center;gap:9px;margin-top:16px}.jmw-slide-dots button{width:9px;height:9px;padding:0;border-radius:50%;border:1px solid var(--olive);background:transparent;cursor:pointer}.jmw-slide-dots button.active{background:var(--olive)}
@media(max-width:600px){.location-card{padding:35px 15px}.jmw-location-stage{aspect-ratio:4/3}.jmw-slide-prev,.jmw-slide-next{width:38px;height:38px;font-size:25px}}

/* Elegant typography v1.2.2 */
body.jmw-standalone,.site,.page{font-family:"Lora",Georgia,serif}
.hero h1,.engagement h2,.location h2,.page h1,.location-card h3{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:500}
.hero h1{letter-spacing:-.045em}
.hero h2,.hero-inner>span,.engagement>small,.location>small,.share-copy>small,.date,.count span,.location-meta,.btn,.form button{font-family:"Montserrat",Arial,sans-serif}
.hero h2{font-weight:300;letter-spacing:.48em}
.hero-inner>span,.engagement>small,.location>small,.share-copy>small{font-weight:500;letter-spacing:.36em}
.date{font-weight:400}
.count b{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:36px}
.share-copy h3{font-family:"Great Vibes","Cormorant Garamond",cursive;font-style:normal;font-weight:400;font-size:42px;line-height:1.1;color:var(--olive)}
.share-copy p,.section-intro,.location-card p,.page>p,.form{font-family:"Lora",Georgia,serif}
footer{font-family:"Great Vibes","Cormorant Garamond",cursive;font-style:normal;font-size:42px}
@media(max-width:600px){.share-copy h3{font-size:35px}.count b{font-size:28px}}
