:root{--ink:#2a2622;--ink-soft:#5f5851;--ink-faint:#81786f;--ivory:#fcfaf8;--paper:#fffefa;--sand:#f4efe7;--sand-dark:#e8dfd2;--gold:#b89a50;--gold-dark:#8f7435;--gold-pale:#eee3c8;--line:#ded5c9;--error:#9a3f35;--success:#44624b;--shadow:0 24px 70px #362d2317;--font-serif:"Iowan Old Style", "Baskerville", "Times New Roman", serif;--font-sans:"Avenir Next", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{background:var(--ivory);color:var(--ink);scroll-behavior:smooth}body{background:var(--ivory);min-width:320px;color:var(--ink);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}button,input,textarea,select{color:inherit;font:inherit}button,label{-webkit-tap-highlight-color:transparent}a{color:inherit}img{max-width:100%;height:auto;display:block}::selection{background:var(--gold-pale);color:var(--ink)}:focus-visible{outline:2px solid var(--gold-dark);outline-offset:3px}.app-shell{grid-template-columns:minmax(390px,39vw) minmax(0,1fr);min-height:100svh;display:grid}.brand-panel{height:100svh;color:var(--ivory);background-color:#22211d;background-image:url(/villa-sonhos-hero.jpg);background-position:50%;background-size:cover;position:sticky;top:0;overflow:hidden}.brand-panel__overlay{background:#1b1814a8;position:absolute;inset:0}.brand-panel__content{z-index:1;flex-direction:column;justify-content:space-between;height:100%;padding:clamp(34px,5vw,70px);display:flex;position:relative}.brand-logo{width:min(360px,80%);margin:-62px 0 -82px -38px;display:inline-block}.brand-logo img{width:100%}.brand-copy{max-width:520px}.eyebrow{color:var(--gold-dark);letter-spacing:.21em;text-transform:uppercase;margin:0 0 14px;font-size:.71rem;font-weight:600;line-height:1.4}.eyebrow--light{color:#dfc77e}.brand-copy h2{max-width:500px;font-family:var(--font-serif);letter-spacing:-.025em;margin:0 0 22px;font-size:clamp(2.55rem,4.25vw,4.6rem);font-weight:400;line-height:.98}.brand-copy>p:last-child{color:#fcfaf8c9;max-width:440px;margin:0;font-size:.98rem;font-weight:400;line-height:1.75}.brand-assurance{border-top:1px solid #ffffff3b;padding-top:22px}.brand-assurance p{font-family:var(--font-serif);letter-spacing:.01em;margin:0 0 3px;font-size:1.17rem}.brand-assurance span{color:#fcfaf8a3;letter-spacing:.11em;text-transform:uppercase;font-size:.73rem}.form-panel{background:var(--ivory);min-width:0}.mobile-brand{display:none}.step-navigation{z-index:5;border-bottom:1px solid var(--line);background:#fcfaf8f7;padding:31px clamp(30px,5vw,84px) 22px;position:relative}.step-navigation ol{z-index:2;grid-template-columns:repeat(5,1fr);max-width:900px;margin:0 auto;padding:0;list-style:none;display:grid;position:relative}.step-track{background:var(--line);height:1px;position:absolute;top:48px;left:calc(clamp(30px,5vw,84px) + 8%);right:calc(clamp(30px,5vw,84px) + 8%);overflow:hidden}.step-track span{background:var(--gold);height:100%;transition:width .24s;display:block}.step-navigation li{text-align:center}.step-navigation button{color:var(--ink-faint);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;padding:0;display:inline-flex}.step-navigation button:disabled{cursor:default}.step-navigation button>span{border:1px solid var(--line);background:var(--ivory);width:34px;height:34px;font-family:var(--font-serif);border-radius:50%;place-items:center;font-size:.76rem;transition:background-color .18s,border-color .18s,color .18s;display:grid}.step-navigation button small{letter-spacing:.14em;text-transform:uppercase;font-size:.62rem;font-weight:600}.step-navigation .is-current button,.step-navigation .is-complete button{color:var(--gold-dark)}.step-navigation .is-current button>span{border-color:var(--gold);background:var(--gold);color:#fff}.step-navigation .is-complete button>span{border-color:var(--gold);background:var(--ivory)}.form-wrap{width:min(100%,900px);margin:0 auto;padding:clamp(52px,7vw,94px) clamp(30px,7vw,96px) 52px;scroll-margin-top:18px}.step-content{animation:.32s both step-enter}@keyframes step-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.step-heading{margin-bottom:54px}.step-heading h1,.completion-card h1,.privacy-page h1{font-family:var(--font-serif);letter-spacing:-.035em;margin:0 0 13px;font-size:clamp(2.75rem,5vw,4.45rem);font-weight:400;line-height:1}.step-heading>p:last-child,.completion-card>p,.privacy-intro{max-width:630px;color:var(--ink-soft);margin:0;font-size:1rem;line-height:1.72}.field,.field-group{border:0;min-width:0;margin:0 0 38px;padding:0}.field-group--compact{margin-top:48px}.field label,.field-group legend{color:var(--ink);letter-spacing:.035em;margin-bottom:12px;font-size:.82rem;font-style:normal;font-weight:600;display:block}.field label em,.field-group legend em{color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase;margin-left:5px;font-size:.71rem;font-style:normal;font-weight:400}.field label>span,.field-group legend>span{color:var(--gold-dark)}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.field input,.field textarea{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);border-radius:2px;transition:border-color .16s,box-shadow .16s}.field input{min-height:54px;padding:0 16px}.field textarea{resize:vertical;min-height:112px;padding:15px 16px;line-height:1.55}.field input::placeholder,.field textarea::placeholder{color:#a09991}.field input:hover,.field textarea:hover{border-color:#c6b8a6}.field input:focus,.field textarea:focus{border-color:var(--gold);outline:0;box-shadow:0 0 0 3px #b89a501f}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--error)}.choice-grid{gap:11px;display:grid}.choice-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-card{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:2px;align-items:center;gap:13px;min-height:74px;padding:15px 16px;transition:border-color .16s,background-color .16s,transform .16s;display:flex;position:relative}.choice-card:hover{border-color:#c4b186;transform:translateY(-1px)}.choice-card:focus-within{outline:2px solid var(--gold-dark);outline-offset:2px}.choice-card--selected{border-color:var(--gold);background:#fbf7ed}.choice-card input,.chip-options input,.check-option input,.privacy-field input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.choice-card__mark{background:#fff;border:1px solid #b8afa4;border-radius:50%;flex:0 0 17px;width:17px;height:17px;transition:background-color .16s,border-color .16s;box-shadow:inset 0 0 0 4px #fff}.choice-card--selected .choice-card__mark{border-color:var(--gold);background:var(--gold)}.choice-card strong{font-size:.81rem;font-weight:500;line-height:1.35;display:block}.choice-card small{color:var(--ink-faint);margin-top:2px;font-size:.68rem;line-height:1.35;display:block}.field-hint{color:var(--ink-faint);margin:-5px 0 15px;font-size:.79rem}.field-error{color:var(--error);margin:8px 0 0;font-size:.76rem;font-weight:500}[data-invalid=true]:focus{outline:2px solid var(--error);outline-offset:4px}.guest-card{border:1px solid var(--line);background:var(--paper);margin-bottom:22px;padding:26px}.guest-card__top{justify-content:space-between;align-items:center;gap:30px;margin-bottom:25px;display:flex}.guest-card__top label{margin-bottom:3px;font-size:.89rem;font-weight:600;display:block}.guest-card__top label span{color:var(--ink-faint);font-size:.73rem;font-weight:400}.guest-card__top p{color:var(--ink-faint);margin:0;font-size:.76rem}.guest-card output{min-width:64px;color:var(--gold-dark);font-family:var(--font-serif);text-align:right;font-size:2.6rem;line-height:1}.guest-card input[type=range]{background:var(--gold-pale);width:100%;height:4px;accent-color:var(--gold);cursor:pointer;border:0;border-radius:0;outline:0}.guest-card input[type=range]::-webkit-slider-thumb{background:var(--gold);width:20px;height:20px;box-shadow:0 0 0 1px var(--gold);-webkit-appearance:none;border:4px solid #fff;border-radius:50%}.range-scale{color:var(--ink-faint);justify-content:space-between;margin-top:7px;font-size:.65rem;display:flex}.guest-total{border-left:3px solid var(--gold);background:var(--sand);justify-content:space-between;align-items:center;margin-top:35px;padding:22px 25px;display:flex}.guest-total span{color:var(--ink-soft);letter-spacing:.09em;text-transform:uppercase;font-size:.76rem;font-weight:600}.guest-total strong{font-family:var(--font-serif);font-size:1.55rem;font-weight:400}.chip-options{flex-wrap:wrap;gap:9px;display:flex}.chip-options label{border:1px solid var(--line);background:var(--paper);cursor:pointer;letter-spacing:0;border-radius:2px;align-items:center;min-height:40px;margin:0;padding:9px 13px;font-size:.76rem;font-weight:500;transition:border-color .16s,background-color .16s;display:inline-flex;position:relative}.chip-options label:hover{border-color:#c4b186}.chip-options label:focus-within{outline:2px solid var(--gold-dark);outline-offset:2px}.chip-options label.is-selected{border-color:var(--gold);color:var(--gold-dark);background:#fbf7ed}.extras-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.extras-group{border:1px solid var(--line);background:var(--paper);padding:21px}.extras-group h2{color:var(--gold-dark);letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px;font-size:.68rem;font-weight:600}.extras-group>div{gap:11px;display:grid}.check-option{color:var(--ink-soft);cursor:pointer;letter-spacing:0;align-items:flex-start;gap:10px;margin:0;font-size:.77rem;font-weight:400;line-height:1.45;display:flex;position:relative}.check-option>span,.privacy-field label>span:first-of-type{background:#fff;border:1px solid #b8afa4;flex:0 0 17px;width:17px;height:17px;margin-top:1px;position:relative}.check-option input:checked+span,.privacy-field input:checked+span{border-color:var(--gold);background:var(--gold)}.check-option input:checked+span:after,.privacy-field input:checked+span:after{content:"";border-bottom:2px solid #fff;border-right:2px solid #fff;width:4px;height:8px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.check-option:focus-within,.privacy-field label:focus-within{outline:2px solid var(--gold-dark);outline-offset:3px}.privacy-field{border:1px solid var(--line);background:var(--sand);margin-top:10px;padding:20px}.privacy-field--error{border-color:var(--error)}.privacy-field>label{cursor:pointer;align-items:flex-start;gap:11px;display:flex;position:relative}.privacy-field label>span:last-child{color:var(--ink-soft);font-size:.76rem;line-height:1.55}.privacy-field a{color:var(--gold-dark);text-underline-offset:3px}.privacy-field strong{color:var(--gold-dark)}.summary{gap:16px;display:grid}.summary-section{border:1px solid var(--line);background:var(--paper)}.summary-section__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 21px;display:flex}.summary-section__head>div{align-items:center;gap:11px;display:flex}.summary-section__head span{color:var(--gold-dark);font-family:var(--font-serif);font-size:.83rem}.summary-section h2{font-family:var(--font-serif);margin:0;font-size:1.3rem;font-weight:400}.text-button{border:0;border-bottom:1px solid var(--gold);color:var(--gold-dark);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;padding:2px 0;font-size:.7rem;font-weight:600}.summary-section dl{margin:0;padding:14px 21px}.summary-row{grid-template-columns:160px minmax(0,1fr);gap:20px;padding:8px 0;display:grid}.summary-row dt{color:var(--ink-faint);font-size:.71rem}.summary-row dd{color:var(--ink);margin:0;font-size:.78rem;line-height:1.55}.submission-note{color:var(--success);background:#eff3ed;align-items:flex-start;gap:12px;margin-top:24px;padding:17px 19px;display:flex}.submission-note>span{font-weight:700}.submission-note p{margin:0;font-size:.76rem;line-height:1.55}.submission-error{color:var(--error);background:#fbf0ef;border:1px solid #d9a49f;margin-top:15px;padding:15px 17px;font-size:.78rem}.form-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-top:54px;padding-top:27px;display:flex}.button{cursor:pointer;letter-spacing:.09em;text-transform:uppercase;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:28px;min-height:49px;padding:0 24px;font-size:.72rem;font-weight:600;line-height:1;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.65;transform:none}.button--primary{border-color:var(--ink);background:var(--ink);color:#fff;min-width:178px}.button--primary:hover{border-color:var(--gold-dark);background:var(--gold-dark)}.button--secondary{border-color:var(--line);color:var(--ink-soft);background:0 0}.button--secondary:hover{border-color:var(--ink-soft);color:var(--ink)}.contact-footer{border-top:1px solid var(--line);width:min(100%,900px);color:var(--ink-faint);justify-content:space-between;align-items:flex-end;gap:20px;margin:30px auto 0;padding:30px clamp(30px,7vw,96px) 35px;display:flex}.contact-footer div{flex-wrap:wrap;gap:5px 16px;display:flex}.contact-footer div p{flex:0 0 100%}.contact-footer p,.contact-footer a{margin:0;font-size:.68rem}.contact-footer a{color:var(--ink-soft);text-decoration:none}.contact-footer a:hover{color:var(--gold-dark)}.completion-card{min-height:560px;padding:65px 0 20px}.completion-card>p{margin-bottom:35px}.completion-next{border-left:3px solid var(--gold);background:var(--sand);flex-direction:column;gap:3px;max-width:520px;margin:36px 0;padding:20px 22px;display:flex}.completion-next span{color:var(--gold-dark);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:600}.completion-next strong{font-family:var(--font-serif);font-size:1.2rem;font-weight:400}.completion-contact{border-top:1px solid var(--line);flex-wrap:wrap;gap:14px 25px;margin-top:42px;padding-top:22px;display:flex}.completion-contact a{color:var(--gold-dark);text-underline-offset:4px;font-size:.78rem}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.privacy-page{background:var(--ivory);min-height:100svh;padding:36px 24px 80px}.privacy-logo{width:240px;margin:-45px auto -40px;display:block}.privacy-page article{border:1px solid var(--line);background:var(--paper);width:min(100%,720px);box-shadow:var(--shadow);margin:0 auto;padding:60px 68px}.privacy-page h1{font-size:clamp(2.55rem,6vw,4rem)}.privacy-intro{margin-bottom:45px}.privacy-page section{border-top:1px solid var(--line);margin-top:32px;padding-top:26px}.privacy-page h2{font-family:var(--font-serif);margin:0 0 9px;font-size:1.45rem;font-weight:400}.privacy-page section p{color:var(--ink-soft);margin:0;font-size:.87rem;line-height:1.72}.privacy-page section a{color:var(--gold-dark)}.privacy-back{margin-top:42px}@media (width<=1180px){.app-shell{grid-template-columns:350px minmax(0,1fr)}.brand-panel__content{padding:38px}.brand-logo{width:310px}.choice-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}.form-wrap,.contact-footer{padding-left:50px;padding-right:50px}}@media (width<=880px){.app-shell{display:block}.brand-panel{background-position:50% 44%;height:340px;position:relative}.brand-panel__content{text-align:center;justify-content:flex-end;align-items:center;padding:34px 28px}.brand-logo,.brand-assurance{display:none}.brand-copy{max-width:600px}.brand-copy h2{margin-bottom:13px;font-size:clamp(2.4rem,8vw,3.8rem)}.brand-copy>p:last-child{display:none}.mobile-brand{width:220px;height:92px;margin:-28px auto -16px;display:block;overflow:hidden}.mobile-brand img{width:220px}.step-navigation{padding-top:19px}.step-track{top:36px}.form-wrap{padding-top:60px}.contact-footer{margin-top:10px}}@media (width<=620px){.brand-panel{height:285px}.brand-panel__content{padding-bottom:30px}.brand-copy h2{font-size:2.45rem}.step-navigation{padding:19px 15px 17px;overflow:hidden}.step-track{left:44px;right:44px}.step-navigation button{gap:5px}.step-navigation button>span{width:31px;height:31px}.step-navigation button small{max-width:58px;font-size:0;overflow:hidden}.step-navigation .is-current button small{font-size:.56rem}.form-wrap{padding:49px 20px 34px}.step-heading{margin-bottom:40px}.step-heading h1,.completion-card h1{font-size:2.75rem}.field-row,.choice-grid--three,.choice-grid--two,.extras-grid{grid-template-columns:1fr}.choice-card{min-height:60px}.field,.field-group{margin-bottom:31px}.field-group--compact{margin-top:39px}.guest-card{padding:21px 18px}.guest-total{flex-direction:column;align-items:flex-start;gap:4px}.summary-row{grid-template-columns:1fr;gap:2px}.summary-row+.summary-row{margin-top:5px}.summary-row dt{text-transform:uppercase;font-size:.66rem;font-weight:600}.form-actions{border-top:1px solid var(--line);background:0 0;margin-left:0;margin-right:0;padding:20px 0 0;position:static}.button{min-height:47px;padding:0 18px}.button--primary{min-width:156px}.contact-footer{flex-direction:column;align-items:flex-start;padding:26px 20px 31px}.completion-card{min-height:480px;padding-top:20px}.privacy-page{padding:18px 12px 40px}.privacy-logo{width:205px;margin-top:-42px}.privacy-page article{padding:43px 24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
