@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&family=Libre+Baskerville:wght@400;700&display=swap');
*{box-sizing:border-box}body{margin:0;color:#4c3826;background:#f8efe0;font-family:'Libre Baskerville',Georgia,serif;background-image:radial-gradient(circle at 15% 10%,#fff9 0 3%,transparent 20%),linear-gradient(135deg,#fff8ed,#f5e3c9)}
header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:#fff9;border-bottom:1px solid #c99b5425;position:relative;z-index:2}.logo{font-family:'Great Vibes',cursive;font-size:36px;color:#9c6a22}.small{letter-spacing:.18em;font-size:12px}
.hero{min-height:1120px;text-align:center;padding:70px 5vw 90px;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;filter:blur(50px);opacity:.25;background:#d7a44f}.hero:before{left:-260px;top:160px}.hero:after{right:-260px;top:320px}.floral{position:absolute;color:#718059;font-size:65px;opacity:.35;letter-spacing:-12px}.f1{left:2%;top:80px;transform:rotate(-25deg)}.f2{right:3%;top:100px;transform:rotate(25deg)}.heart{font-size:50px;color:#b47a26}h1{font-size:clamp(55px,8vw,105px);font-weight:400;margin:5px 0 12px;line-height:1}h1 em{font-family:'Great Vibes',cursive;font-weight:400;color:#93601d}h1 span{font-family:'Great Vibes',cursive;color:#d09a40;margin:0 .15em}.date{font-size:22px;letter-spacing:.18em}.line{font-size:30px;color:#b27a2d;margin:35px auto}.photos{display:grid;grid-template-columns:minmax(190px,290px) minmax(300px,650px) minmax(190px,290px);gap:28px;align-items:center;max-width:1250px;margin:auto}.polaroid{background:#fffaf0;padding:14px 14px 25px;margin:0;box-shadow:0 16px 35px #6f4c2226;border:1px solid #cda96755}.polaroid.left{transform:rotate(-5deg)}.polaroid.right{transform:rotate(5deg)}.polaroid img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.polaroid figcaption{font-family:'Great Vibes',cursive;font-size:36px;margin-top:13px;color:#744a20}.intro h2{text-transform:uppercase;font-size:clamp(19px,2.2vw,30px);line-height:1.55;letter-spacing:.07em;font-weight:400}.intro>p:not(.micro){text-transform:uppercase;letter-spacing:.15em;font-size:14px}button{border:0;cursor:pointer}#pick,#send{background:linear-gradient(90deg,#c78b32,#aa7023);color:white;padding:19px 35px;border-radius:999px;font:20px Georgia,serif;box-shadow:0 12px 25px #9e681c33;max-width:100%}.micro{font-size:12px;color:#7e674b}.steps{display:flex;justify-content:center;gap:min(11vw,140px);margin:65px auto 0}.steps div{display:grid;gap:10px}.steps b{font-size:44px;color:#a76f24;font-weight:400}.steps span{font-size:14px;line-height:1.6}.thanks{min-height:430px;display:grid;place-content:center;text-align:center;background:linear-gradient(#f8efe0,#ecd3ae);border-top:1px solid #c69a5940}.thanks p{font-family:'Great Vibes',cursive;font-size:60px;margin:15px}.thanks p span{font-size:.8em}.thanks b,.rings{color:#a46b20;font-size:42px}.selection{max-width:760px;margin:45px auto 0;padding:25px;background:#fff9;border-radius:24px;border:1px solid #c69a5950}.selection #preview{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:18px 0}.selection img,.tile{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:#eadcc7;display:grid;place-items:center;font-size:11px;padding:4px}.selection #status{font-size:12px;color:#7e674b}
@media(max-width:760px){header{height:62px}.logo{font-size:30px}.hero{padding:40px 18px 60px;min-height:0}.floral{font-size:42px}h1{font-size:58px}.date{font-size:16px}.photos{grid-template-columns:1fr 1fr;gap:13px}.intro{grid-column:1/-1;grid-row:2}.polaroid{padding:8px 8px 15px}.polaroid figcaption{font-size:28px}.polaroid img{aspect-ratio:4/5}.intro h2{font-size:19px}.intro{padding-top:22px}#pick,#send{font-size:17px;padding:17px 23px}.steps{gap:22px;margin-top:45px}.steps b{font-size:34px}.steps span{font-size:11px}.thanks{min-height:330px}.thanks p{font-size:48px}.selection #preview{grid-template-columns:repeat(3,1fr)}}#send:disabled,#pick:disabled{opacity:.6;cursor:wait}

.gallery-section{padding:70px 5vw 80px;text-align:center;background:#fff8ed;border-top:1px solid #c69a5940}.gallery-heading{max-width:700px;margin:0 auto 34px}.gallery-heart{font-size:36px;color:#b47a26}.gallery-heading h2{font-family:'Great Vibes',cursive;font-weight:400;font-size:58px;color:#93601d;margin:0 0 6px}.gallery-heading p{margin:0;color:#7e674b;font-size:13px;letter-spacing:.06em}.gallery-grid{max-width:1050px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-item{position:relative;aspect-ratio:1;overflow:hidden;border-radius:14px;background:#eadcc7;box-shadow:0 7px 20px #6f4c2218;cursor:pointer}.gallery-item img,.gallery-item video{width:100%;height:100%;object-fit:cover;display:block}.gallery-item .play{position:absolute;inset:0;display:grid;place-items:center;font-size:38px;color:white;text-shadow:0 2px 8px #0008;pointer-events:none}.gallery-loading,.gallery-empty{grid-column:1/-1;color:#7e674b;font-size:13px;padding:25px}.lightbox{position:fixed;inset:0;background:#000e;z-index:1000;display:grid;place-items:center;padding:20px}.lightbox[hidden]{display:none}.lightbox-content{width:100%;height:100%;display:grid;place-items:center}.lightbox-content img,.lightbox-content video{max-width:100%;max-height:90vh;object-fit:contain}.lightbox-close{position:fixed;right:18px;top:14px;width:46px;height:46px;border-radius:50%;background:#fff;color:#4c3826;font-size:30px;line-height:1;z-index:1001}.gallery-error{grid-column:1/-1;color:#7e674b;padding:25px}
@media(max-width:760px){.gallery-section{padding:55px 12px 65px}.gallery-heading h2{font-size:48px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:7px}.gallery-item{border-radius:9px}}
