:root{--bg-color:#fdfdfd;--black:#121212;--gold:#d4af37;--grey-light:#e0e0e0;--grey-text:#666;--white:#fff;--error:#b00020;--font-main:"Inter",sans-serif;--font-serif:"Playfair Display",serif}*{box-sizing:border-box;margin:0;padding:0}body,html{color:var(--black);font-family:var(--font-main);height:100%}.page-wrapper{display:flex;min-height:100vh}.visual-side{align-items:center;background-color:#000;display:none;height:100vh;justify-content:center;overflow:hidden;position:relative;position:sticky;top:0;width:40%}.visual-img{height:auto;max-height:100%;max-width:100%;object-fit:contain;opacity:.9;width:auto}.form-side{background-color:var(--bg-color);display:flex;flex-direction:column;min-height:100vh;padding:2rem;position:relative;width:100%}.form-side .back-to-home-link{color:#999;font-size:.8rem;letter-spacing:1px;position:absolute;right:30px;text-decoration:none;text-transform:uppercase;top:20px;transition:color .3s;z-index:10}.form-side .back-to-home-link:hover{color:var(--black)}@media (min-width:900px){.visual-side{display:flex}.form-side{padding:4rem;width:60%}}.header{margin-bottom:3rem;margin-top:2rem;text-align:center}.brand-logo{display:block;height:80px;margin:0 auto;width:auto}@media (max-width:600px){.brand-logo{height:32px}}.steps-container{margin-bottom:3rem}.progressbar{display:flex;justify-content:space-between;list-style:none;padding:0;position:relative}.progressbar li{background:var(--bg-color);color:#c4c4c4;font-size:.75rem;font-weight:400;letter-spacing:1px;padding:0 10px;position:relative;text-transform:uppercase;transition:all .3s;z-index:2}.progressbar:before{background-color:var(--grey-light);content:"";height:1px;left:0;position:absolute;top:50%;width:100%;z-index:1}.progressbar li.active{color:var(--black);font-weight:700}.progressbar li.completed{color:var(--black)}.form-step{animation:fadeIn .5s ease;display:none;padding-bottom:20px}.form-step.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-title{font-family:var(--font-serif);font-size:1.8rem;font-weight:400;margin-bottom:2rem}.input-group{margin-bottom:1.5rem}.input-row{display:flex;gap:1.5rem}.input-row .input-group{flex:1}label{display:block;font-size:.8rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}input,select,textarea{background:transparent;border:none;border-bottom:1px solid var(--grey-light);border-radius:0;font-family:inherit;font-size:1rem;outline:none;padding:12px 0;transition:border .3s;width:100%}input:focus,select:focus,textarea:focus{border-bottom:1px solid var(--black)}.radio-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media (max-width:600px){.radio-grid{grid-template-columns:1fr}}.radio-card{cursor:pointer}.radio-card input{display:none}.radio-content{align-items:center;border:1px solid var(--grey-light);display:flex;flex-direction:column;height:100%;justify-content:center;padding:1.5rem;text-align:center;transition:all .2s ease}.radio-card:hover .radio-content{background-color:#fafafa;border-color:var(--black)}.radio-card input:checked+.radio-content{background-color:var(--black);border-color:var(--black);color:var(--white)}.radio-info{font-size:.75rem;margin-top:5px;opacity:.7}.radio-card input:checked+.radio-content .radio-info{color:#eee;opacity:.9}.radio-sub{color:var(--grey-text);display:block;font-size:.7rem;font-style:italic;margin-bottom:8px}.radio-details{border-top:1px solid var(--grey-light);color:var(--black);display:block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding-top:8px;text-transform:uppercase;width:100%}.radio-card input:checked+.radio-content .radio-sub{color:#ccc}.radio-card input:checked+.radio-content .radio-details{border-top-color:#333;color:var(--gold)}.slots-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(85px,1fr));margin-top:10px}.slots-grid:has(>label:only-child){grid-template-columns:1fr}.slot-btn{cursor:pointer;position:relative}.slot-btn input{opacity:0;position:absolute}.slot-btn span{border:1px solid var(--grey-light);border-radius:4px;display:block;font-size:.9rem;padding:12px 0;text-align:center;transition:all .2s}.slot-btn:hover span{background-color:#f4f4f4;border-color:var(--black)}.slot-btn input:checked+span{background-color:var(--black);border-color:var(--black);color:var(--white);font-weight:600}.input-group.error .slot-btn span{border-color:var(--error);color:var(--error)}.input-with-icon{position:relative;width:100%}.input-with-icon input{padding-right:30px}.currency-symbol{font-weight:600;pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.checkbox-group{align-items:center;cursor:pointer;display:flex;margin-top:1.5rem}.checkbox-group input{accent-color:var(--black);cursor:pointer;height:20px!important;margin-bottom:0;margin-right:15px;width:20px!important}.checkbox-group label{cursor:pointer;font-weight:400;margin-bottom:0;text-transform:none}.recap-box{background-color:var(--white);border:1px solid #eaeaea;box-shadow:0 20px 40px rgba(0,0,0,.03);margin-bottom:3rem;padding:40px;position:relative}.recap-box:before{background-color:var(--black);content:"";height:100%;left:0;position:absolute;top:0;width:4px}.recap-box h3{color:var(--black);font-family:var(--font-serif);font-size:1.8rem;font-weight:400;letter-spacing:1px;margin-bottom:30px;margin-top:0;text-align:center}.recap-box .separator{background:linear-gradient(90deg,transparent,#ddd,transparent);height:1px;margin:25px 0}.recap-box p{align-items:baseline;border-bottom:1px dashed #f0f0f0;display:flex;font-size:.95rem;justify-content:space-between;margin-bottom:15px;padding-bottom:5px}.recap-box p strong{color:#888;font-family:var(--font-main);font-size:.7rem;font-weight:600;letter-spacing:2px;text-transform:uppercase}.recap-box p span{color:var(--black);font-family:var(--font-serif);font-size:1.1rem;font-weight:500;text-align:right}.recap-box #recap-message{border-left:none;color:#666;display:block;font-size:.9rem;font-style:italic;line-height:1.6;margin-top:15px;text-align:left}.success-message{animation:fadeIn .8s ease;display:none;padding:2rem;text-align:center}.success-icon{display:block;font-size:3rem;margin-bottom:1rem}.success-title{font-family:var(--font-serif);font-size:2rem;margin-bottom:1rem}.success-text{color:var(--grey-text);line-height:1.6;margin-bottom:2rem}.nav-buttons{align-items:center;background-color:var(--bg-color);border-top:1px solid transparent;bottom:0;display:flex;justify-content:space-between;margin-top:auto;padding:20px 0;position:sticky;z-index:100}.nav-buttons:before{background:linear-gradient(to top,var(--bg-color),transparent);content:"";height:30px;left:0;pointer-events:none;position:absolute;top:-30px;width:100%}button{border:none;cursor:pointer;font-family:inherit;font-size:.9rem;letter-spacing:1px;text-transform:uppercase;transition:all .3s}.btn-primary{align-items:center;background-color:var(--black);box-shadow:0 4px 6px rgba(0,0,0,.1);color:var(--white);display:flex;font-weight:600;gap:10px;padding:1.2rem 2.5rem}.btn-primary:hover{background-color:#333;box-shadow:0 6px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.btn-secondary{background-color:transparent;border-radius:4px;color:var(--grey-text);padding:1rem 1.5rem}.btn-secondary:hover{background-color:#f0f0f0;color:var(--black);transform:translateX(-2px)}.hidden{display:none!important}.error-message{color:var(--error);display:none;font-size:.8rem;font-weight:500;margin-top:5px}.input-group.error .error-message{display:block}.input-group.error input,.input-group.error textarea{border-bottom-color:var(--error)}.input-group.error .currency-symbol{color:var(--error)}