/* Second design: dimensional paper, botanical photography and warm foil. */
:root{--paper:#f5f0e7;--ink:#4e4031;--gold:#99713b;--line:#cbbb9d}
body{background:#e8dfcf;background-image:radial-gradient(ellipse at 7% 7%,#fffdf7 0,transparent 43%),linear-gradient(110deg,#e7ddcc,#f3eee4 50%,#ded0bb);overflow-x:clip}
body:before{opacity:.19;mix-blend-mode:multiply}
.ambient-light{position:absolute;inset:0 0 auto;height:1250px;overflow:hidden;pointer-events:none}
.ambient-light:before,.ambient-light:after{content:'';position:absolute;width:50%;height:100%;top:-10%;left:-15%;background:linear-gradient(120deg,transparent 32%,#fffdf8a6 45%,transparent 61%);filter:blur(16px);transform:rotate(-16deg)}
.ambient-light:after{left:70%;background:linear-gradient(100deg,transparent 20%,#9c83504a 46%,transparent 75%);filter:blur(40px)}
main{position:relative;padding-top:34px;overflow-x:clip}
.invitation{max-width:1020px;margin:0 auto 70px;padding:91px 75px 47px;overflow:visible;isolation:isolate;background:radial-gradient(ellipse at 28% 14%,#fffdf9 0%,#faf6ee 33%,#eee5d6 100%);border-radius:470px 470px 5px 5px;box-shadow:0 36px 65px -28px #64503957,0 4px 10px #5e48231a,inset 0 0 0 1px #fff8ed,inset 0 -2px 3px #a68d6830}
.invitation:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23765c3b' opacity='.4' filter='url(%23p)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");mix-blend-mode:multiply}
.paper-light{position:absolute;inset:1px;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:0}
.paper-light:after{content:'';position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 44%,#fffef75c 49%,transparent 54%);transform:translateX(-35%);animation:paperGlow 7s ease-out 1 both}
.arch{inset:24px 25px 25px;border-radius:460px 460px 0 0;border-color:#ad8952;box-shadow:1px 0 #fff9ec,-1px 0 #ac906329}
.arch-inner{inset:32px 33px 25px;border-radius:450px 450px 0 0;border-color:#d6bf97;box-shadow:none}
.invitation-content{max-width:700px;z-index:2}
.bismillah{width:420px;max-width:87%;margin:0 auto 24px;line-height:0;filter:drop-shadow(0 1px 0 #fff9e9) drop-shadow(0 3px 3px #85632c1a);animation:opening 1.5s ease-out both}
.bismillah img{width:100%;height:auto;display:block}
.prayer{font-size:23px;line-height:2.05;max-width:650px;color:#796144;text-shadow:0 1px #fffaf2;animation:opening 1.5s .12s ease-out both}
.botanical{position:absolute;pointer-events:none;z-index:3;height:auto;filter:drop-shadow(11px 15px 10px #58412734);will-change:transform}
.botanical-top{width:300px;right:-105px;top:-32px;transform:rotate(184deg);transform-origin:center;animation:swayTop 12s ease-in-out infinite alternate}
.botanical-bottom{width:330px;left:-116px;bottom:-35px;transform:rotate(5deg);transform-origin:5% 100%;animation:swayBottom 14s ease-in-out infinite alternate}
.ornament{margin:28px auto 14px;color:#ad8548;filter:drop-shadow(0 1px 0 #fffdf7)}
.ornament span{font-size:33px}
.monogram{position:relative;width:450px;height:240px;max-width:100%;margin:0 auto 6px;gap:17px;font-size:170px;align-items:center;line-height:1;text-shadow:none}
.monogram span,.monogram i{background:linear-gradient(125deg,#735021 4%,#a77a3e 30%,#d0ae70 45%,#866031 60%,#b98f50 83%,#68461f);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 #f9e7c4)}
.monogram span:last-child{font-size:160px}
.monogram i{font-size:110px;transform:translateY(19px)}
.monogram-flourish{position:absolute;width:117%;height:100%;left:-8%;top:15px;z-index:-1;overflow:visible;filter:drop-shadow(0 1px 0 #fff4dc)}
h1{font-size:43px;letter-spacing:.19em;text-shadow:0 1px #fffaf2}
h1 em{color:#9f7944}
.families{max-width:580px;margin-top:12px;margin-bottom:32px;font-size:13px;line-height:1.85}
.invitation-copy{font-size:28px;color:#89714f}
.date{position:relative;padding:24px 5px;margin:30px auto 28px;max-width:480px;border-top:1px solid #d8c4a1;border-bottom:1px solid #d8c4a1;background:linear-gradient(90deg,transparent,#fffaf359,transparent);gap:12px}
.date:before,.date:after{content:'◆';position:absolute;color:#b1925e;font-size:6px;top:-7px;left:calc(50% - 3px);background:#f8f2e8;padding:0 7px;transform:translateX(-7px)}
.date:after{top:auto;bottom:-6px}
.date strong{font-size:37px;color:#614b30}
.date span{color:#81694a}
.button{position:relative;overflow:hidden;background:linear-gradient(115deg,#78572d,#ab8450 52%,#856031);border:1px solid #98703c;box-shadow:0 7px 14px -7px #6d4b28b0,inset 0 1px #e8cd9d66;text-shadow:0 1px #4c321f44;transition:transform .3s,box-shadow .3s}
.button:before{content:'';position:absolute;inset:-80% -30%;background:linear-gradient(100deg,transparent 43%,#fff5dc36 50%,transparent 57%);transform:translateX(-70%);transition:transform .8s ease}
.button:hover{background:linear-gradient(115deg,#78572d,#ab8450 52%,#856031);box-shadow:0 11px 22px -9px #6d4b288c;transform:translateY(-3px)}
.button:hover:before{transform:translateX(70%)}
.button span{transition:transform .25s}.button:hover span{transform:translate(2px,-2px)}
.discover{margin-top:24px;color:#8c775a}
.discover span{animation:scrollHint 2.6s ease-in-out infinite}
.location{position:relative;max-width:1140px;padding:65px 65px 70px;gap:80px}
.location-photo{isolation:isolate;transform:rotate(-1.4deg);transition:transform .7s; padding:12px 12px 24px;background:#fbf7ef;border-radius:250px 250px 2px 2px;box-shadow:0 25px 34px -22px #55453173,0 0 0 1px #fff8ed}
.location-photo:hover{transform:rotate(0)}
.location-photo img{height:500px;border-radius:230px 230px 0 0;filter:saturate(.8) contrast(.96);transition:filter .7s}
.location-photo:hover img{filter:saturate(1) contrast(1)}
.location-photo:after{inset:3px;border:1px solid #c0a06b;border-radius:250px 250px 1px 1px;z-index:1;pointer-events:none}
.location-photo>span{font-size:23px;margin-top:18px}
.date-seal{position:absolute;z-index:3;left:-30px;bottom:75px;width:104px;height:104px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 25% 25%,#bc9862,#927041 65%,#75542d);color:#fff2d8;box-shadow:0 9px 15px #4c361c2e,inset 0 0 0 5px #a8844f,inset 0 0 0 6px #dbc29690;transform:rotate(-10deg);text-shadow:0 1px #5a391b80}
.date-seal span{font-size:8px;letter-spacing:.18em;line-height:1.5}
.date-seal strong{font:500 42px/.98 var(--serif);padding:3px 0}
.location-copy h2{font-size:49px;color:#5a4933}
.eyebrow{color:#91703f}
.location-copy>p:not(.eyebrow){font-size:13px;color:#74644e}
.venue{border-top-color:#c7b28e}
.clothing{padding-top:15px;padding-bottom:100px;position:relative}
.clothing:before{content:'';position:absolute;inset:0 -180px -30px;background:radial-gradient(ellipse,#fffaf199,transparent 65%);z-index:-1;pointer-events:none}
.clothing h2{font-size:39px}
.clothing>p:not(.eyebrow){color:#77664f}
.rsvp{position:relative;max-width:1120px;margin:0 auto 80px;padding:75px 65px;background:linear-gradient(120deg,#554d3f,#3e3c32);border:1px solid #6b604b;box-shadow:0 30px 45px -28px #463a2ab3;gap:85px;color:#f5eddd;overflow:hidden;isolation:isolate}
.rsvp:before{content:'';position:absolute;inset:13px;border:1px solid #c2a57255;pointer-events:none;z-index:-1}
.rsvp:after{content:'';position:absolute;left:-80px;bottom:-170px;width:360px;height:520px;background:url('assets/schleierkraut-v2.png') center/contain no-repeat;opacity:.12;transform:rotate(15deg);pointer-events:none;z-index:-1}
.rsvp .eyebrow{color:#d4b582}
.rsvp h2{font-size:64px;color:#fbf5e9;text-shadow:0 2px 4px #211c1444}
.rsvp-intro{padding-top:25px}
.rsvp-intro>p:not(.eyebrow){color:#d8cbb7;font-size:29px}
.small-monogram{color:#c8aa75;text-shadow:0 2px 3px #211c1455;margin-top:37px}
.form-card{color:var(--ink);background:linear-gradient(135deg,#fffdf8,#f1e7d6);box-shadow:0 12px 25px #211b1938,inset 0 0 0 5px #fffaf4;border:1px solid #cab58d;padding:30px;transform:rotate(.7deg);transition:transform .4s}
.form-card:focus-within{transform:rotate(0)}
.choice{background:#fffaf533;border-color:#cebb98}
.choice:has(input:checked){background:#e9ddc7;box-shadow:inset 0 1px 2px #9b81481a}
input[type=text]{background:#fffaf466;box-shadow:inset 0 2px 3px #8d764b0a;border-color:#cdb992}
.stepper{background:#fffaf455;border-color:#cdb992}
.stepper input{border-color:#cdb992}
footer{background:transparent;border-top:1px solid #cdbb9c;padding:0 20px 27px;margin-top:70px}
footer:before{content:'✧';display:block;color:#a17c42;font-size:33px;line-height:1;width:50px;background:#ece3d3;margin:-17px auto 26px}
footer>div{font-size:44px;color:#674e30}
.reveal{transition:opacity 1s,transform 1s}
@keyframes opening{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes paperGlow{from{transform:translateX(-35%);opacity:0}20%{opacity:1}to{transform:translateX(35%);opacity:.2}}
@keyframes swayTop{from{transform:rotate(184deg)}to{transform:rotate(182.3deg)}}
@keyframes swayBottom{from{transform:rotate(5deg)}to{transform:rotate(6.6deg)}}
@keyframes scrollHint{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(max-width:1200px) and (min-width:761px){.invitation{margin-left:65px;margin-right:65px}.botanical-top{right:-70px;width:240px}.botanical-bottom{left:-75px;width:280px}.rsvp{margin-left:35px;margin-right:35px;padding:60px 45px;gap:45px}.location{padding-left:65px;padding-right:65px;gap:55px}}
@media(max-width:760px){main{padding-top:14px}.invitation{margin:0 13px 45px;padding:69px 27px 30px;border-radius:230px 230px 3px 3px;box-shadow:0 20px 35px -20px #6d553f73,0 2px 5px #6d553f18}.arch{inset:12px 11px 15px;border-radius:225px 225px 0 0}.arch-inner{inset:18px 17px 15px;border-radius:220px 220px 0 0}.bismillah{width:290px;max-width:100%;margin:8px auto 27px;min-height:70px}.prayer{font-size:19px;line-height:2.03;text-shadow:0 1px #fffaf2}.botanical-top{width:145px;right:-39px;top:-26px;z-index:1;opacity:.92}.botanical-bottom{width:175px;left:-65px;bottom:-22px;z-index:1;opacity:.95}.ornament{margin:27px auto 8px}.monogram{width:300px;height:185px;font-size:135px;gap:12px;margin:0 auto 5px}.monogram span:last-child{font-size:127px}.monogram i{font-size:85px;transform:translateY(10px)}.monogram-flourish{width:110%;left:-5%;top:6px}h1{font-size:30px;letter-spacing:.1em}h1 em{font-size:21px}.families{font-size:10px;letter-spacing:.055em;grid-template-columns:1fr 20px 1fr;gap:4px;margin-bottom:27px}.invitation-copy{font-size:24px;margin-bottom:20px}.date{padding:21px 0;gap:11px;margin:26px auto}.date strong{font-size:31px}.date span{font-size:8px;letter-spacing:.19em}.button{padding:12px 15px;font-size:10px;gap:15px}.discover{margin-top:20px}.location{padding:25px 37px 30px;gap:43px;max-width:520px}.location-photo{padding:9px 9px 23px}.location-photo img{height:375px}.location-photo>span{font-size:21px}.date-seal{width:85px;height:85px;left:-21px;bottom:64px}.date-seal strong{font-size:35px}.date-seal span{font-size:7px}.location-copy h2{font-size:41px}.clothing{padding-top:20px;padding-bottom:62px}.clothing h2{font-size:35px}.clothing:before{inset:0}.rsvp{margin:0 16px 50px;padding:35px 20px 30px;gap:26px}.rsvp:before{inset:8px}.rsvp-intro{padding:0}.rsvp h2{font-size:50px}.rsvp-intro>p:not(.eyebrow){font-size:25px}.form-card{padding:25px 18px;transform:rotate(0);box-shadow:0 9px 20px #211b1938}.choice{font-size:10px;padding:12px 7px}.rsvp:after{display:none}footer{margin-top:60px}.small-monogram{display:none}}
@media(max-width:360px){.invitation{padding-left:25px;padding-right:25px}.prayer{font-size:18px}h1{font-size:27px}.families{font-size:9px}.date strong{font-size:28px}.button{font-size:9px;gap:10px}.rsvp{margin-left:10px;margin-right:10px;padding-left:17px;padding-right:17px}.location{padding-left:30px;padding-right:30px}.monogram{height:170px}}
@media(max-width:760px){.botanical-top{width:130px;right:-45px;top:-55px}.families{letter-spacing:.025em}.families p{font-size:9px}.families span{font-size:17px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.paper-light:after{display:none}.botanical{will-change:auto}.bismillah,.prayer{opacity:1;transform:none}}
