:root{font-family:'DM Sans',Arial,sans-serif;color:#1d2b56;background:#f3f5fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.page-shell{min-height:100vh;max-width:1600px;margin:auto;display:flex;flex-direction:column;background:#fafbff;box-shadow:0 0 90px #20366b0d}.topbar{height:104px;padding:0 clamp(24px,5vw,82px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9edf5}.brand{text-decoration:none;color:#14275a;font-weight:700;font-size:15px;letter-spacing:.16em;display:flex;gap:13px;align-items:center}.brand strong{display:block;font-weight:700;letter-spacing:.13em}.brand-mark{width:37px;height:37px;border:1px solid #8fa1d7;display:grid;place-items:center;border-radius:12px;color:#3862d5;font-size:22px}.topbar-note{font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:#8d98ae}.main-grid{flex:1;display:grid;grid-template-columns:minmax(360px,43%) minmax(500px,57%)}.intro{position:relative;overflow:hidden;background:linear-gradient(155deg,#dfe9ff 0%,#c8d9ff 55%,#d4e1ff 100%);padding:clamp(50px,6.5vw,100px) clamp(28px,5vw,82px) 58px;display:flex;flex-direction:column;min-height:730px}.eyebrow{font-weight:700;font-size:11px;letter-spacing:.22em;color:#315bd6;display:flex;align-items:center;gap:10px}.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:#3867e8}.intro h1{font:500 clamp(58px,6vw,94px)/1.04 'Playfair Display',Georgia,serif;letter-spacing:-.045em;color:#12265a;margin:34px 0 25px}.intro h1 em{font-weight:500;color:#3664e7}.intro>p{max-width:460px;font-size:18px;line-height:1.75;color:#4b5b82;margin:0}.intro-footer{display:flex;gap:11px;align-items:center;color:#687ba5;font-size:12px;margin-top:auto;z-index:2}.shield{font-size:25px;color:#315bd6}.illustration{position:absolute;bottom:88px;left:0;right:0;height:290px;opacity:.9}.ground{position:absolute;bottom:0;left:0;right:0;height:30px;background:#b7c9f5}.sun{position:absolute;right:14%;top:8px;width:114px;height:114px;border-radius:50%;background:#eaf0ff}.dome{position:absolute;bottom:26px;background:#a9c2f3;border:2px solid #91afe6}.dome-back{left:1%;width:220px;height:180px;border-radius:120px 120px 0 0}.dome-front{left:25%;width:270px;height:225px;border-radius:140px 140px 0 0;background:#bdd0f6}.dome-front:before{content:'';position:absolute;left:42%;top:83px;width:44px;height:140px;background:#9ab5ec;border-radius:30px 30px 0 0}.tower{position:absolute;bottom:26px;right:12%;width:92px;height:265px;border:3px solid #87a7e9;background:#b9cdf7;border-radius:8px 8px 0 0;transform:rotate(-2deg)}.tower:before{content:'';position:absolute;left:-17px;right:-17px;top:32px;height:26px;background:#9bb7ed;border-radius:5px}.tower:after{content:'';position:absolute;left:30px;top:-32px;width:28px;height:32px;background:#a7bff2;clip-path:polygon(50% 0,100% 100%,0 100%)}.tower i{display:block;width:17px;height:30px;margin:48px auto 0;background:#809fdf;border-radius:12px 12px 0 0}.roof{position:absolute;bottom:26px;right:0;width:180px;height:125px;background:#a2bdf0;clip-path:polygon(0 35%,55% 0,100% 28%,100% 100%,0 100%)}.form-column{padding:clamp(40px,5.5vw,88px) clamp(24px,5vw,82px);background:#fff}.steps{display:flex;align-items:center;margin-bottom:44px;gap:17px}.step{display:flex;align-items:center;gap:12px;min-width:160px;color:#9ba7bc}.step-num{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;border:1px solid #dce3f2;font-size:12px;font-weight:700}.step strong,.step small{display:block}.step strong{font-size:13px}.step small{font-size:11px;margin-top:3px}.step.active{color:#2856d5}.step.active .step-num{background:#315ee0;color:#fff;border-color:#315ee0}.step.done{color:#2856d5}.step.done .step-num{color:#fff;background:#44c6a3;border-color:#44c6a3}.step-line{height:1px;flex:1;max-width:100px;background:#dce3f2}.card{max-width:670px;background:#fff;border:1px solid #e8edf6;box-shadow:0 22px 65px #253e750a;border-radius:20px;padding:clamp(26px,3.5vw,52px)}.card-kicker{font-size:11px;font-weight:700;color:#3864dc;letter-spacing:.19em}.card h2{font:600 clamp(31px,3.5vw,44px)/1.18 'Playfair Display',Georgia,serif;letter-spacing:-.025em;margin:13px 0 15px;color:#13265a}.card-intro{font-size:14px;line-height:1.75;color:#687691;max-width:520px;margin:0 0 30px}.guest-block{padding:21px 0 26px;border-top:1px solid #edf0f6}.guest-heading{display:flex;align-items:center;gap:11px;margin-bottom:20px}.guest-icon{display:grid;place-items:center;background:#ebf0ff;color:#315edc;width:29px;height:29px;border-radius:9px;font-size:13px;font-weight:700}.guest-heading h3{margin:0;font-size:16px;color:#263663}.remove-guest{margin-left:auto;border:0;background:none;color:#6e80a9;font-size:12px}.field-label{display:block;font-size:12px;font-weight:700;color:#34446d;margin-bottom:9px}.field-label span{color:#e27373}input[type=text]{width:100%;height:49px;border:1px solid #dfe6f2;border-radius:9px;padding:0 15px;color:#14275a;outline:none;background:#fff}input[type=text]:focus{border-color:#4470e9;box-shadow:0 0 0 3px #4470e91b}input::placeholder{color:#a3aec1}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:17px}.upload-box{min-height:134px;border:1.5px dashed #a9bdee;border-radius:11px;background:#f8faff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:13px;cursor:pointer;transition:.15s}.upload-box:hover,.upload-box.selected{border-color:#416be5;background:#eff4ff}.upload-box.secondary{border-color:#d6dfed;background:#fff}.upload-box.secondary:hover,.upload-box.secondary.selected{border-color:#416be5;background:#f8faff}.upload-box input{position:absolute;width:1px;height:1px;opacity:0}.upload-icon{font-size:25px;color:#3866de;line-height:1}.upload-box strong{font-size:12px;margin-top:7px;color:#344a80}.upload-box small{font-size:10px;color:#94a0b7;margin-top:5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-guest{color:#3261dc;border:0;background:none;font-size:13px;font-weight:700;padding:10px 0 24px}.add-guest span{font-size:19px;vertical-align:-1px;margin-right:6px}.form-footer{border-top:1px solid #edf0f6;padding-top:21px;display:flex;align-items:center;justify-content:space-between;gap:18px}.form-footer p,.stripe-note{font-size:10px;color:#99a4b6;line-height:1.5}.primary-button{border:0;border-radius:9px;background:#315fe4;color:#fff;text-decoration:none;padding:17px 22px;font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:27px;box-shadow:0 8px 20px #315fe42e;white-space:nowrap}.primary-button:hover{background:#204ed0}.primary-button span{font-size:18px;line-height:.7}.error{padding:12px 15px;border-radius:8px;background:#fff3f1;color:#a43828;font-size:13px;margin-bottom:18px}.payment-card{min-height:420px}.summary-row{display:flex;justify-content:space-between;padding:18px 0;border-top:1px solid #ecf0f6;font-size:13px;color:#75819b}.summary-row strong{color:#243a71}.payment-button{width:100%;margin-top:25px}.stripe-note{text-align:center}.result-card{min-height:400px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.result-card p{font-size:15px;line-height:1.75;color:#687691;max-width:480px}.result-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin-bottom:25px;font-size:26px}.result-icon.success{background:#e0f8ed;color:#24a878}.result-icon.pending{background:#ebf0ff;color:#315fe4}.result-signoff{margin-top:25px;color:#315fe4;font:italic 500 20px 'Playfair Display',Georgia,serif}.site-footer{height:70px;padding:0 clamp(24px,5vw,82px);display:flex;align-items:center;justify-content:space-between;color:#a5afc3;font-size:11px;border-top:1px solid #e9edf5}@media(max-width:980px){.main-grid{grid-template-columns:1fr}.intro{min-height:360px;padding:45px 34px}.intro h1{font-size:65px;margin:20px 0 12px}.intro>p{max-width:560px;font-size:15px}.illustration{width:45%;left:auto;bottom:20px;transform:scale(.65);transform-origin:right bottom}.intro-footer{margin-top:32px}.form-column{padding:35px 24px 65px}.card{max-width:none}}@media(max-width:600px){.topbar{height:72px;padding:0 20px}.brand{font-size:12px}.brand-mark{width:33px;height:33px}.topbar-note{display:none}.intro{min-height:340px;padding:35px 23px}.intro h1{font-size:54px}.intro>p{font-size:14px;max-width:310px}.illustration{opacity:.4;transform:scale(.55);bottom:-10px}.intro-footer{font-size:10px}.form-column{padding:25px 15px 50px}.steps{gap:7px;margin-bottom:23px}.step{min-width:0;gap:6px}.step-num{width:32px;height:32px;font-size:10px}.step strong{font-size:10px}.step small{font-size:9px}.step-line{min-width:15px}.card{padding:26px 20px;border-radius:14px}.card h2{font-size:34px}.upload-grid{grid-template-columns:1fr 1fr;gap:8px}.upload-box{min-height:120px}.form-footer{display:block}.form-footer p{margin:0 0 15px}.primary-button{width:100%}.site-footer{padding:0 20px;font-size:9px}}
