
:root{--blue:#173a50;--blue2:#244f65;--cream:#f7f4ed;--terra:#ad6949;--ink:#20343d;--muted:#5d6a6d;--line:#d9ded9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--terra);outline-offset:4px}img{max-width:100%;display:block}.wrap{width:min(1200px,calc(100% - 64px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:20px;z-index:100;background:white;padding:12px}header{background:var(--cream);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.nav{min-height:86px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{color:var(--blue);font:32px/1 Georgia,serif;letter-spacing:-1.2px;text-decoration:none}.brand small{display:block;font:9px/1.4 Arial,sans-serif;letter-spacing:3.1px;margin-top:8px}.links{display:flex;align-items:center;gap:27px;font-size:12px}.links a{text-decoration:none}.links a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;text-decoration:none;border-radius:3px;padding:14px 20px;font:600 13px/1.4 Arial,sans-serif;cursor:pointer;border:1px solid transparent}.primary{background:var(--blue);color:#fff}.primary:hover{background:var(--blue2)}.light{background:white;color:var(--blue)}.light:hover{background:var(--cream)}.outline{border-color:#ffffff80;color:white;background:transparent}.outline:hover{background:#ffffff15}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:2.4px;text-transform:uppercase;color:var(--terra)}h1,h2,h3,h4{font-family:Georgia,serif;font-weight:400;line-height:1.13}h1{font-size:clamp(46px,5.5vw,74px);letter-spacing:-2px;margin:19px 0 23px}h1 em{color:#e8c6a6}h2{font-size:clamp(32px,3.6vw,46px);letter-spacing:-1px;margin:13px 0 20px}.hero{background:var(--blue);color:#fff;position:relative}.hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:590px}.hero-copy{padding:64px 50px 66px 0;position:relative;z-index:1}.hero .eyebrow{color:#e6c1a1}.hero-copy p{color:#e3e9e9;font-size:16px;max-width:450px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 22px}.hero-copy .fine{font-size:11px;letter-spacing:.2px;color:#d5e0e1}.hero-image{position:absolute;left:50%;right:0;top:0;bottom:0}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:45%}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#173a5020,transparent)}.image-credit{position:absolute;bottom:22px;right:25px;font-size:10px;background:#ffffffeb;color:var(--blue);padding:8px 14px;z-index:2}.facts{display:grid;grid-template-columns:repeat(4,1fr);padding:25px 0;border-bottom:1px solid var(--line)}.facts div{border-right:1px solid var(--line);padding:0 25px}.facts div:first-child{padding-left:0}.facts div:last-child{border:0}.facts b{font:24px Georgia,serif;display:block;color:var(--blue)}.facts span{font-size:11px;color:var(--muted)}section{padding:76px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:30px}.section-head h2{margin-bottom:0}.section-head p{color:var(--muted);font-size:14px;max-width:350px;margin:0}.houses{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.house{background:white;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:5px;overflow:hidden}.house-photo{position:relative}.house-photo img{width:100%;aspect-ratio:1.35;object-fit:cover}.photo-label{position:absolute;left:18px;bottom:18px;padding:6px 12px;background:white;color:var(--blue);font-size:10px;letter-spacing:1.5px}.house-body{padding:25px;display:flex;flex-direction:column;flex:1}.house-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.house-top h3{font-size:32px;margin:0;color:var(--blue)}.house-top span{font-size:10px;background:#eaf0ed;border-radius:20px;padding:5px 10px;white-space:nowrap}.house h4{font-size:19px;margin:12px 0 16px;color:var(--terra)}.specs{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:5px 11px;font-size:10px;color:var(--muted)}.specs li+li:before{content:'·';margin-right:11px}.house p{font-size:13px;color:var(--muted);margin:0 0 24px}.house .btn{margin-top:auto;justify-content:space-between}.airbnb{display:block;text-align:center;font-size:11px;margin-top:14px;text-underline-offset:4px}.shared-note{font-size:12px;color:var(--muted);margin:21px 0 0;display:flex;gap:10px}.shared-note b{color:var(--blue)}.vila-section{background:#e9eeeb}.vila-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.vila-images{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vila-images img{width:100%;height:350px;object-fit:cover}.vila-images img:nth-child(2){margin-top:45px}.vila-text p{font-size:14px;color:var(--muted)}.features{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin:28px 0}.features div{border-top:1px solid #c8d4ce;padding-top:12px}.features strong{display:block;color:var(--blue);font-size:13px}.features span{display:block;font-size:11px;color:var(--muted);margin-top:5px}.group{margin-top:30px;background:var(--blue);color:white;display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:center;padding:38px 42px;border-radius:5px}.group h3{font-size:30px;margin:0 0 12px}.group p{font-size:13px;color:#dce5e7;margin:0}.group .group-action{text-align:right}.group .group-action p{font-size:10px;margin-top:10px}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.location-grid p{font-size:14px;color:var(--muted)}.address{padding:25px 28px;background:white;border:1px solid var(--line);border-left:3px solid var(--terra);margin-top:26px}.address strong{font:23px Georgia,serif;color:var(--blue)}.address p{margin:8px 0 15px;font-size:12px}.text-link{font-size:12px;text-underline-offset:5px}.location-facts{list-style:none;padding:0;margin:15px 0}.location-facts li{padding:18px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.location-facts strong{display:block;color:var(--blue);font-size:14px;margin-bottom:3px}.contact{background:var(--blue);color:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.contact .eyebrow{color:#e6c1a1}.contact p{color:#dce5e7;font-size:14px}.contact h2{font-size:47px}.contact .number{font:29px Georgia,serif;color:white;display:inline-block;margin:14px 0 6px;text-decoration:none}.contact .contact-note{font-size:11px}.inquiry{background:white;color:var(--ink);padding:30px;border-radius:5px}.inquiry h3{font-size:25px;margin:0 0 8px}.inquiry p{font-size:12px;color:var(--muted);margin:0 0 22px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field.full{grid-column:1/-1}label{display:block;font-size:11px;font-weight:bold;margin-bottom:7px}input,select{display:block;width:100%;min-width:0;border:1px solid #cbd3d2;border-radius:3px;background:#fff;color:var(--ink);height:45px;padding:0 10px;font:14px Arial,sans-serif}.inquiry button{width:100%;margin-top:22px}.inquiry .form-note{font-size:10px;margin:14px 0 0}.error{font-size:12px;color:#a23623;margin-top:12px}.faq-grid{display:grid;grid-template-columns:1fr 1.7fr;gap:70px}.faq-grid h2{font-size:39px}.faq-grid>div>p{font-size:13px;color:var(--muted)}#duvidas details{border-bottom:1px solid var(--line)}#duvidas summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:19px 0;font-size:14px;font-weight:600;color:var(--blue)}#duvidas summary::-webkit-details-marker{display:none}#duvidas summary>span{color:var(--terra);font-size:20px;font-weight:normal;line-height:1}#duvidas details[open]>summary>span{transform:rotate(45deg)}#duvidas details p{font-size:13px;color:var(--muted);margin:0 25px 20px 0}footer{background:#102c3e;color:#cbd8de;padding:37px 0}.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:center}footer .brand{color:white}footer p{font-size:11px;margin:5px 0}footer a{font-size:11px;text-underline-offset:4px}.footer-links{display:flex;gap:22px}.mobile-cta{display:none}@media(max-width:950px){.links{gap:15px}.links .nav-hide{display:none}.house-body{padding:20px}.house-top{display:block}.house-top span{display:inline-block;margin-top:10px}.vila-grid,.location-grid,.contact-grid,.faq-grid{gap:35px}.contact h2{font-size:40px}.facts div{padding:0 15px}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}html{scroll-padding-top:78px}.nav{min-height:75px}.brand{font-size:27px}.brand small{font-size:8px;letter-spacing:2.4px}.links>a:not(.btn){display:none}.nav .btn{font-size:10px;padding:10px 12px;gap:8px}.hero-grid{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:38px 0 32px}.hero-image{position:relative;left:auto;right:auto;height:320px;margin:0 -20px}.hero-image img{object-position:center}.hero-image:after{background:linear-gradient(180deg,#173a5020,transparent)}h1{font-size:48px;letter-spacing:-1.4px;margin:15px 0 19px}.hero-copy p{font-size:14px;max-width:520px}.hero-actions{margin:23px 0 18px;gap:10px}.hero-actions .btn{font-size:12px;padding:13px 15px;gap:12px}.hero-copy .fine{font-size:10px}.hero .eyebrow{font-size:9px;letter-spacing:1.6px}.image-credit{bottom:15px;right:20px;font-size:9px}.facts{grid-template-columns:1fr 1fr;gap:20px;padding:25px 0}.facts div,.facts div:first-child{padding:0 15px}.facts div:nth-child(2){border:0}.facts b{font-size:22px}.facts span{font-size:10px}section{padding:48px 0}.section-head{display:block;margin-bottom:25px}.section-head p{max-width:none;margin-top:18px;font-size:13px}.houses{grid-template-columns:1fr;gap:25px}.house-top{display:flex}.house-top span{margin:0}.house-photo img{aspect-ratio:1.45}.house-body{padding:24px}.house h4{font-size:21px}.specs{font-size:11px}.house p{font-size:14px}.house .btn{font-size:14px}.airbnb{font-size:12px}.shared-note{font-size:11px}.vila-grid,.location-grid,.contact-grid,.faq-grid{grid-template-columns:1fr;gap:30px}.vila-images img{height:240px}.vila-images img:nth-child(2){margin-top:25px}.features{gap:17px}.group{grid-template-columns:1fr;gap:24px;padding:28px 24px}.group .group-action{text-align:left}.group .btn{width:100%}.location-facts{margin:0}.location-facts li:first-child{padding-top:0}.contact h2{font-size:39px}.inquiry{padding:24px 20px}.fields{gap:14px 10px}.faq-grid h2{font-size:34px}.faq-grid{gap:15px}.footer-grid{display:block}.footer-links{margin-top:20px;flex-wrap:wrap}footer{padding-bottom:108px}.mobile-cta{position:fixed;bottom:0;left:0;right:0;display:block;background:#f7f4edf5;border-top:1px solid var(--line);padding:10px 20px max(10px,env(safe-area-inset-bottom));z-index:25}.mobile-cta .btn{width:100%;font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.menu-toggle{display:none}button.house-photo{display:block;position:relative;width:100%;padding:0;border:0;background:var(--blue);text-align:left;cursor:pointer;color:var(--ink);font-family:Arial,sans-serif}button.house-photo:hover img{filter:brightness(.94)}.photo-open{position:absolute;right:14px;bottom:18px;background:#173a50ef;color:white;padding:7px 11px;border-radius:3px;font-size:10px}.comparison{margin-top:40px;border:1px solid var(--line);background:white;border-radius:5px;overflow:hidden}.comparison-heading{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:28px}.comparison-heading h3{font-size:27px;margin:10px 0 0}.comparison-heading p{max-width:300px;font-size:12px;color:var(--muted);margin:0}.table-scroll{overflow-x:auto}.comparison table{width:100%;border-collapse:collapse;text-align:left;min-width:610px;font-size:12px}.comparison th,.comparison td{padding:16px 25px;border-top:1px solid var(--line);vertical-align:middle}.comparison thead{background:#e9eeeb;color:var(--blue)}.comparison thead th{font-size:14px}.comparison tbody th{font-weight:normal;color:var(--muted);width:23%}.comparison td{color:var(--blue)}.comparison td small{font-size:10px;color:var(--muted)}.comparison-foot{padding:18px 25px;border-top:1px solid var(--line);display:flex;gap:25px;align-items:center;justify-content:space-between}.comparison-foot span{font-size:10px;color:var(--muted);max-width:600px}.comparison-foot a{white-space:nowrap}.services{padding-bottom:65px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.service-grid article{border-top:1px solid var(--line);padding-top:24px}.service-num{font:28px Georgia,serif;color:var(--terra)}.service-grid h3{font-size:24px;margin:16px 0}.service-grid p{font-size:13px;color:var(--muted)}.service-tag{display:inline-block;border-radius:20px;background:#e6ece7;font-size:9px;padding:5px 12px;margin-top:10px}.service-tag.optional{background:#f0e2d8;color:#73472f}.hosts{padding:0 0 70px}.hosts-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:#efe9df;padding:42px;border-radius:5px}.hosts-photo{position:relative}.hosts-photo img{width:100%;height:370px;object-fit:cover;object-position:50% 35%;border-radius:3px}.hosts-photo span{position:absolute;bottom:20px;left:20px;color:white;background:#173a50ec;font:22px Georgia,serif;padding:10px 17px}.hosts-grid p{font-size:14px;color:var(--muted)}.hosts-grid .btn{margin-top:14px}.gallery-dialog{padding:0;border:0;border-radius:6px;background:var(--cream);color:var(--ink);max-width:1050px;width:calc(100% - 48px);max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 30px 90px #0008}.gallery-dialog::backdrop{background:#102c3ee6}.gallery-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 25px}.gallery-header h2{font-size:28px;margin:0}.gallery-header p{font-size:11px;color:var(--muted);margin:4px 0 0}.gallery-close{font:13px Arial,sans-serif;background:white;border:1px solid var(--line);border-radius:3px;padding:10px 15px;cursor:pointer;color:var(--blue);min-height:42px}.gallery-stage{position:relative;background:#102c3e}.gallery-stage img{width:100%;height:50dvh;min-height:210px;max-height:570px;object-fit:contain}.gallery-arrow{position:absolute;top:calc(50% - 24px);width:44px;height:48px;border:0;background:#fffffff0;color:var(--blue);font:25px Arial,sans-serif;border-radius:3px;cursor:pointer}.gallery-arrow.prev{left:15px}.gallery-arrow.next{right:15px}.gallery-caption{padding:12px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.gallery-thumbs{display:flex;gap:10px;padding:0 25px 18px}.gallery-thumbs button{width:75px;height:54px;padding:0;border:2px solid transparent;border-radius:3px;background:#ddd;cursor:pointer;overflow:hidden}.gallery-thumbs button[aria-pressed=true]{border-color:var(--terra)}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}.gallery-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 25px;border-top:1px solid var(--line)}.gallery-footer p{font-size:11px;color:var(--muted);margin:0;max-width:450px}.body-modal{overflow:hidden}.house[id]{scroll-margin-top:100px}.nav>button{flex-shrink:0}@media(max-width:700px){.nav{gap:12px;flex-wrap:wrap}.menu-toggle{display:flex;align-items:center;gap:10px;margin-left:auto;padding:10px 12px;background:transparent;border:1px solid #c4cecc;border-radius:3px;color:var(--blue);font-size:12px;min-height:42px}.nav .links{display:none;flex-basis:100%;padding:5px 0 20px;align-items:stretch;gap:0}.nav .links.is-open{display:flex;flex-direction:column}.links.is-open>a:not(.btn){display:block;padding:11px 0;font-size:14px}.links.is-open .btn{padding:14px;margin-top:12px;font-size:12px}.comparison-heading{padding:23px;display:block}.comparison-heading h3{font-size:25px}.comparison-heading p{margin-top:15px;max-width:none}.comparison-foot{display:block;padding:20px 23px}.comparison-foot span{display:block}.comparison-foot a{display:inline-block;margin-top:12px}.comparison th,.comparison td{padding:13px 18px}.service-grid{grid-template-columns:1fr;gap:28px}.service-grid h3{font-size:25px;margin:12px 0}.service-grid p{font-size:14px}.hosts{padding-bottom:30px}.hosts-grid{padding:24px;gap:28px;grid-template-columns:1fr}.hosts-photo img{height:330px}.hosts-grid h2{font-size:36px}.hosts-grid .btn{width:100%;font-size:12px}.gallery-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.gallery-header{padding:16px}.gallery-header h2{font-size:23px}.gallery-close{padding:9px 11px}.gallery-stage img{height:39dvh}.gallery-caption{padding:12px 16px;font-size:11px}.gallery-thumbs{padding:0 16px 16px}.gallery-footer{padding:16px;display:block}.gallery-footer .btn{width:100%;margin-top:15px}.gallery-arrow.prev{left:8px}.gallery-arrow.next{right:8px}.services{padding-bottom:42px}}

/* Abertura inspirada na identidade original da Vila Bela. */
:root{--blue:#292f72;--blue2:#3b438a;--cream:#fbfaf6}header{background:#fff}.nav{min-height:124px}.original-brand{display:flex;flex-direction:column;align-items:center;flex-shrink:0;padding:10px 0 13px;letter-spacing:0}.original-brand img{height:80px;width:auto;object-fit:contain}.original-brand small{font:italic 15px Georgia,serif;letter-spacing:0;margin-top:5px;color:#333b41}.links{gap:25px;font-size:12px;letter-spacing:.6px}.links>a:not(.btn){font-weight:bold}.heritage-hero{color:var(--ink);background:var(--cream)}.heritage-photo{position:relative;width:min(100%,780px);height:auto;aspect-ratio:1297/866;margin:0 auto;overflow:hidden;background:var(--cream)}.heritage-photo>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.heritage-photo-label{position:absolute;bottom:20px;right:20px;color:var(--blue);background:#fffffff0;padding:8px 14px;font-size:10px;letter-spacing:.6px;border-radius:2px}.heritage-intro{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:70px;padding-top:42px;padding-bottom:40px}.heritage-intro .eyebrow{color:var(--terra);font-size:9px;letter-spacing:1.6px}.heritage-intro h1{font-size:clamp(42px,4.2vw,58px);color:var(--blue);line-height:1.06;margin:17px 0 0;letter-spacing:-1.5px}.heritage-intro h1 em{color:var(--blue);font-style:italic}.heritage-description>p{font-size:14px;color:var(--muted);max-width:530px;margin:0 0 12px}.heritage-description .heritage-support{font-size:12px}.heritage-intro .hero-actions{margin:22px 0 14px;gap:12px}.heritage-secondary{background:transparent;color:var(--blue);border:1px solid #cbd0dd}.heritage-secondary:hover{background:#eef0f7}.heritage-description .fine{font-size:10px;color:var(--muted);margin:0}.facts{padding:25px 0 28px;border-top:1px solid var(--line)}.contact{background:#252f56}.group{background:#252f56}html{scroll-padding-top:135px}.house[id]{scroll-margin-top:140px}@media(max-width:950px) and (min-width:701px){.links{gap:15px}.nav{gap:18px}.nav .btn{padding:12px 14px;font-size:11px}.heritage-intro{gap:35px}.heritage-intro h1{font-size:44px}}@media(max-width:700px){html{scroll-padding-top:102px}.nav{min-height:94px}.original-brand{padding:7px 0 9px;align-items:flex-start}.original-brand img{height:59px;margin-left:12px}.original-brand small{font-size:12px;margin-top:2px}.heritage-photo{height:auto;aspect-ratio:1297/866}.heritage-photo>img{object-position:center}.heritage-photo-label{font-size:8px;bottom:12px;right:15px;padding:6px 10px}.heritage-intro{grid-template-columns:1fr;gap:22px;padding-top:29px;padding-bottom:30px}.heritage-intro .eyebrow{font-size:8px;letter-spacing:1.2px;line-height:1.6}.heritage-intro h1{font-size:44px;margin-top:12px;letter-spacing:-1.2px}.heritage-description>p{font-size:14px}.heritage-description .heritage-support{font-size:12px}.heritage-intro .hero-actions{gap:9px;margin-top:21px}.heritage-intro .btn{font-size:11px;padding:13px 14px;gap:8px}.heritage-description .fine{font-size:10px}.facts{gap:20px}.house[id]{scroll-margin-top:110px}}
.direct-channels{margin:26px 0 22px}.whatsapp-direct{font-size:14px}.phone-direct{margin-top:22px;padding-top:18px;border-top:1px solid #ffffff40}.phone-direct span{display:block;color:#dce5e7;font-size:11px;margin-bottom:7px}.phone-direct a{display:inline-block;color:white;text-decoration:underline;text-underline-offset:5px;font-size:15px}.phone-direct a:hover{color:#e6c1a1}@media(max-width:700px){.direct-channels .btn{width:100%;font-size:13px}.phone-direct a{font-size:14px;line-height:1.7}}.phone-direct a .jonas-phone{color:white;font-size:15px;margin-top:6px;margin-bottom:0}
.gallery-thumbs{overflow-x:auto}.gallery-thumbs button{flex-shrink:0}.extra-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:26px}.extra-grid button{padding:0;border:0;border-radius:4px;overflow:hidden;background:var(--blue);cursor:pointer;position:relative}.extra-grid img{display:block;width:100%;height:180px;object-fit:cover;transition:transform .25s}.extra-grid button:hover img{transform:scale(1.04)}.extra-grid span{position:absolute;bottom:0;left:0;right:0;padding:12px;background:#173a50e8;color:white;text-align:left;font-size:12px}.rates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.rate{padding:30px;border:1px solid var(--line);border-radius:5px;background:white}.rate h3{font:25px Georgia,serif;margin:0 0 24px}.rate b{font:38px Georgia,serif;color:var(--blue);display:block}.rate p{font-size:13px;color:var(--muted)}.rate.event{background:#efe9df}.rates-note{font-size:13px;color:var(--muted);max-width:820px;margin:22px 0}.reviews-section{background:#efe9df;padding:56px 0}.reviews-panel{background:white;border-radius:6px;padding:18px;margin:18px 0}.reviews-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.reviews-intro{max-width:660px;color:var(--muted);font-size:14px}@media(max-width:700px){.extra-grid{grid-template-columns:repeat(2,1fr)}.extra-grid img{height:145px}.rates-grid{grid-template-columns:1fr}.rate{padding:24px}.reviews-section{padding:36px 0}.reviews-panel{padding:10px;margin:16px 0}.reviews-actions .btn{width:100%}}

.mobile-cta{display:none!important}@media(max-width:700px){body{padding-bottom:0}.hosts{padding-top:35px;padding-bottom:45px}}

.booking-notes{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center;margin-top:25px;padding:26px;background:#efe9df;border-radius:5px}.booking-notes h3{font-size:25px;margin:0}.booking-notes p{flex:1 1 420px;font-size:14px;margin:0;color:var(--muted)}.booking-notes a{font-size:13px}.booking-conditions{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.booking-conditions h3{font-size:24px}.booking-conditions ul{padding-left:20px;color:var(--muted);font-size:13px}.booking-conditions li{margin:8px 0}.rate{display:flex;flex-direction:column;align-items:flex-start}.rate h3{margin:15px 0 8px;font-size:32px}.rate .btn{margin-top:auto;font-size:12px;padding:12px 14px;gap:8px}.rate p{margin-bottom:24px}.review-help{font-size:12px;color:var(--muted);margin-top:20px}.privacy-link{border:0;background:none;color:inherit;font:11px Arial,sans-serif;text-decoration:underline;padding:0;cursor:pointer}.footer-links{flex-wrap:wrap}.privacy-dialog{width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:28px;border:1px solid var(--line);background:var(--cream);color:var(--ink);border-radius:8px}.privacy-dialog::backdrop{background:#102c3ecc}.privacy-head{display:flex;align-items:start;justify-content:space-between;gap:20px}.privacy-head h2{font-size:30px;margin:0 0 18px}.privacy-head button{padding:10px;border:1px solid var(--line);background:white;cursor:pointer;color:var(--blue);white-space:nowrap}.privacy-dialog h3{font-size:22px}.privacy-dialog p{font-size:14px;color:var(--muted)}.house-gallery-strip{display:flex;gap:6px;margin:0 0 16px}.house-gallery-strip button{padding:0;border:0;flex:1;overflow:hidden;border-radius:3px;cursor:pointer;background:#e9e9e9}.house-gallery-strip img{width:100%;height:76px;object-fit:cover}.house-gallery-strip button:focus-visible{outline:3px solid var(--terra)}.gallery-stage{touch-action:pan-y}.gallery-thumbs{scroll-snap-type:x proximity}.gallery-thumbs button{scroll-snap-align:center}.rate .eyebrow{line-height:1.6}@media(max-width:1100px){.nav{gap:12px;flex-wrap:wrap}.menu-toggle{display:flex;align-items:center;gap:10px;margin-left:auto;padding:10px 12px;background:transparent;border:1px solid #c4cecc;border-radius:3px;color:var(--blue);font-size:13px;min-height:44px}.nav .links{display:none;flex-basis:100%;padding:0 0 18px;align-items:stretch;gap:0}.nav .links.is-open{display:flex;flex-direction:column}.links.is-open>a:not(.btn){display:block;padding:11px 0;font-size:14px}.links.is-open .btn{padding:14px;margin-top:10px;font-size:13px}.links.is-open .nav-hide{display:block}}@media(max-width:700px){.booking-notes{padding:22px}.rate{padding:24px}.privacy-dialog{padding:20px}.privacy-head h2{font-size:25px}.house-gallery-strip img{height:80px}.comparison-heading{padding:22px}.table-scroll{position:relative}.rates-grid{gap:14px}.gallery-dialog{max-height:calc(100dvh - 20px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.hero-video-link{font-size:12px;align-self:center;color:var(--blue);text-underline-offset:4px}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.video-card{background:white;border:1px solid var(--line);border-radius:5px;overflow:hidden}.house-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#151824}.video-card>div{padding:18px 22px}.video-card h3{font-size:26px;margin:0 0 8px}.video-card p{color:var(--muted);font-size:13px;margin:0}.video-note{font-size:12px;color:var(--muted);margin:20px 0 0}@media(max-width:700px){.video-grid{grid-template-columns:1fr;gap:18px}.video-card>div{padding:16px 18px}.hero-video-link{margin-top:4px}}
.comparison-mobile-hint{display:none}@media(max-width:700px){.comparison-mobile-hint{display:block;font-size:11px;color:var(--muted);padding:0 22px;margin:0 0 12px}}
.house-video-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;background:white}.house-video-heading h3{font-size:30px;margin:0;color:var(--blue)}.house-video-heading>span{font-size:11px;color:var(--muted);white-space:nowrap}.house-video{background:#151824}.house-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.house-photos-heading{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:0 0 12px}.house-photos-heading>span{font-size:11px;color:var(--muted)}.house-photos-link{font:600 12px Arial,sans-serif;padding:8px 0;background:none;border:0;color:var(--blue);text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:36px}.house-gallery-strip{margin-bottom:22px}.house-body h4{margin-top:0}@media(max-width:700px){.house-video-heading{padding:18px 20px}.house-video-heading h3{font-size:29px}.house-photos-link{font-size:13px;min-height:44px}.house-gallery-strip img{height:88px}}

body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif}h2{line-height:1.18;letter-spacing:-.8px}.heritage-intro{gap:60px;padding-top:46px;padding-bottom:46px}.heritage-intro h1{margin:0;font-size:clamp(46px,4.7vw,64px);line-height:1.08;letter-spacing:-1.7px}.heritage-description>p{font-size:16px;line-height:1.85;color:#4e5c61;max-width:560px}.heritage-description .heritage-support{font-size:14px;line-height:1.85;margin-top:14px}.heritage-description .fine{font-size:11px;line-height:1.65}.section-head p{font-size:15px;line-height:1.85}.house-body>p{font-size:14px;line-height:1.85;color:#526166}.house-body h4{font-size:24px;line-height:1.25;letter-spacing:-.3px}.facts span{font-size:12px}.vila-copy>p{font-size:15px;line-height:1.85}.multi-house-link{font-size:12px;line-height:1.7}.multi-house-link a{color:var(--blue);text-underline-offset:4px}.house-body>.btn{gap:10px;font-size:12px;line-height:1.5;white-space:normal;text-align:center}.btn{font-family:inherit}.contact h2{line-height:1.15}@media(max-width:950px){.heritage-intro{gap:32px}.heritage-intro h1{font-size:46px}}@media(max-width:700px){.heritage-intro{gap:23px;padding-top:32px;padding-bottom:34px}.heritage-intro h1{font-size:45px;letter-spacing:-1.2px}.heritage-description>p{font-size:15px;line-height:1.85}.heritage-description .heritage-support{font-size:14px}.house-body>p{font-size:15px;line-height:1.8}.house-body h4{font-size:24px}.section-head p{font-size:15px}.house-body>.btn{font-size:12px}.facts span{font-size:11px}}
.dicas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.dica-card{border:1px solid var(--line,#dadfdc);background:#fff;padding:20px;border-radius:5px;display:flex;flex-direction:column;align-items:flex-start}.dica-card h3{font:26px/1.2 Georgia,serif;color:#292f72;margin:0 0 13px}.dica-card p{font-size:14px;line-height:1.7;margin:0 0 20px}.dica-card a{margin-top:auto}.dicas-note{font-size:12px;line-height:1.7;color:#5d6a6d;margin:22px 0 0}@media(max-width:800px){.dicas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.dicas-grid{grid-template-columns:1fr}}
.daily-rates{width:100%;margin:22px 0 0;display:grid;gap:0}.daily-rates>div{padding:19px 0;border-top:1px solid var(--line);display:block}.daily-rates dt{font:600 13px/1.5 system-ui,sans-serif;color:var(--ink);margin-bottom:7px}.daily-rates dd{margin:0;font:36px/1.15 Georgia,serif;color:var(--blue);white-space:nowrap;letter-spacing:-.5px}.daily-rates small{display:block;font:12px/1.5 system-ui,sans-serif;color:var(--muted);margin-top:5px;letter-spacing:0;white-space:normal}.rate .rate-occupancy{font:12px/1.7 system-ui,sans-serif;color:var(--muted);margin:0 0 22px;max-width:100%}.rate .btn{width:100%;justify-content:center;text-align:center;white-space:normal}.rate h3{margin-bottom:0}@media(max-width:700px){.daily-rates dd{font-size:34px}.daily-rates>div{padding:17px 0}.rate .btn{font-size:12px;padding:14px 12px}}

.gallery-dialog[open]{display:flex;flex-direction:column;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border-radius:0;overflow:hidden}
.gallery-header{flex-shrink:0}.gallery-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gallery-tools a{text-decoration:none;display:inline-flex;align-items:center}.gallery-stage{flex:1;min-height:160px;display:flex;align-items:center;justify-content:center;touch-action:pan-y pinch-zoom}.gallery-stage img{display:block;width:100%;height:100%;max-height:none;min-height:0;object-fit:contain;position:absolute;inset:0;cursor:zoom-in}.gallery-arrow{z-index:1}.gallery-caption,.gallery-thumbs,.gallery-footer{flex-shrink:0}.gallery-thumbs{margin:0;max-height:80px}.gallery-focus .gallery-subtitle,.gallery-focus #gallery-subtitle,.gallery-focus .gallery-thumbs,.gallery-focus .gallery-footer{display:none}.gallery-focus .gallery-stage img{cursor:zoom-out}.gallery-focus .gallery-caption{padding-top:8px;padding-bottom:8px}.gallery-dialog[open].gallery-focus{background:#102c3e;color:#fff}.gallery-focus .gallery-header h2,.gallery-focus .gallery-caption{color:#fff}
@media(max-width:700px){.gallery-header{padding:10px 12px;gap:8px;align-items:flex-start}.gallery-header h2{font-size:20px}.gallery-header p{font-size:10px}.gallery-tools{gap:6px;justify-content:flex-end}.gallery-tools .gallery-close{font-size:11px;padding:7px 9px;min-height:40px}.gallery-footer{padding:10px 12px}.gallery-footer p{display:none}.gallery-footer .btn{margin:0}.gallery-thumbs{padding:0 12px 10px}.gallery-caption{padding:8px 12px}.gallery-focus .gallery-header>div:first-child{display:none}.gallery-focus .gallery-tools{width:100%;justify-content:space-between}}

/* Closer title-to-copy spacing and a compact travel guide. */
main>section{padding:56px 0}.section-head{gap:32px;margin-bottom:24px}.section-head h2{margin:8px 0 0}.section-head p{line-height:1.65}.heritage-intro{gap:32px;padding-top:28px;padding-bottom:30px}.heritage-intro h1{font-size:clamp(39px,4.2vw,56px);line-height:1.1}.heritage-description>p{line-height:1.65;margin-bottom:10px}.heritage-description .heritage-support{line-height:1.65;margin-top:10px}.heritage-intro .hero-actions{margin-top:18px}.facts{padding-top:20px;padding-bottom:22px}.vb-guide-section{background:#f0ece4;border-block:1px solid #e1ddd3}.vb-guide-list{display:grid;gap:12px}.vb-guide-card{border:1px solid #dcdcd4;border-radius:6px;background:#fffdf8;scroll-margin-top:120px}.vb-guide-card>summary{position:relative;list-style:none;cursor:pointer;padding:20px 56px 20px 24px}.vb-guide-card>summary::-webkit-details-marker{display:none}.vb-guide-card>summary:focus-visible,.vb-guide-links>summary:focus-visible{outline:3px solid var(--terra);outline-offset:4px}.vb-guide-overline{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--terra);display:block;margin-bottom:5px}.vb-guide-card h3{font:30px/1.15 Georgia,serif;color:var(--blue);margin:0 0 7px}.vb-guide-tagline{display:block;color:var(--muted);font-size:14px;line-height:1.55}.vb-guide-indicator{position:absolute;right:23px;top:50%;transform:translateY(-50%);font-size:28px;font-weight:400;color:var(--terra)}.vb-guide-card[open] .vb-guide-indicator{transform:translateY(-50%) rotate(45deg)}.vb-guide-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;border-top:1px solid #e5dfd5;padding:20px 24px 24px}.vb-stop h3{font:600 15px/1.4 system-ui,sans-serif;color:var(--blue);margin:0 0 7px}.vb-stop p{font-size:14px;line-height:1.65;color:var(--muted);margin:0}.vb-stop a{display:inline-block;margin-top:10px;font-size:12px;color:var(--blue);text-underline-offset:4px}.vb-guide-note{font-size:12px;line-height:1.65;color:var(--muted);margin:16px 0 22px}.vb-guide-links{border-top:1px solid #d5d5cd;padding-top:18px}.vb-guide-links>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--blue);font-size:16px;font-weight:600}.vb-guide-links>summary::-webkit-details-marker{display:none}.vb-guide-links>summary span{font-size:24px;color:var(--terra)}.vb-guide-links[open]>summary span{transform:rotate(45deg)}.vb-guide-links .dicas-grid{margin-top:20px}.vb-guide-links .dica-card{padding:20px}.vb-guide-links .dica-card h3{font-size:24px}.vb-guide-links .dica-card p{font-size:13px;margin-bottom:12px}
@media(max-width:700px){main>section{padding:34px 0}.section-head{margin-bottom:20px;gap:16px}.section-head h2{margin-top:7px}.section-head p{margin-top:12px;line-height:1.65}.heritage-intro{gap:14px;padding-top:24px;padding-bottom:24px}.heritage-intro h1{font-size:39px;line-height:1.1}.heritage-description>p{line-height:1.65}.heritage-description .heritage-support{line-height:1.65}.facts{padding-top:18px;padding-bottom:18px}.vb-guide-card>summary{padding:16px 45px 16px 17px}.vb-guide-card h3{font-size:25px}.vb-guide-overline{font-size:9px;letter-spacing:1px}.vb-guide-tagline{font-size:13px}.vb-guide-indicator{right:17px}.vb-guide-content{grid-template-columns:1fr;gap:17px;padding:17px}.vb-stop+.vb-stop{border-top:1px solid #e5dfd5;padding-top:17px}.vb-guide-links .dica-card h3{font-size:23px}}

.shared-rate-card{max-width:820px;margin:0 auto;border:1px solid #d6d9d5;border-radius:7px;overflow:hidden;background:#fff}.shared-rate-heading{padding:24px 28px 0}.shared-rate-heading h3{font:29px/1.2 Georgia,serif;color:var(--blue);margin:0 0 7px}.shared-rate-heading p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}.shared-rate-prices{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:22px 28px 0;padding:22px 0;border-block:1px solid var(--line)}.shared-rate-prices>div{padding:0 24px}.shared-rate-prices>div:first-child{padding-left:0;border-right:1px solid var(--line)}.shared-rate-prices dt{font-size:14px;color:var(--muted);margin-bottom:7px}.shared-rate-prices dd{font:40px/1.1 Georgia,serif;color:var(--blue);margin:0;white-space:nowrap}.shared-rate-capacity{padding:22px 28px 0}.shared-rate-capacity table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.shared-rate-capacity caption{text-align:left;font-size:13px;color:var(--muted);margin-bottom:13px}.shared-rate-capacity thead th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:0 0 9px}.shared-rate-capacity tbody th,.shared-rate-capacity td{padding:12px 0;border-top:1px solid var(--line)}.shared-rate-capacity tbody th{color:var(--blue);font-weight:600}.shared-rate-capacity thead th:last-child,.shared-rate-capacity td{text-align:right}.shared-rate-extra{margin:10px 0 0;padding:13px 16px;background:#f2f1eb;border-radius:4px;font-size:13px;line-height:1.6;color:var(--ink)}.shared-rate-extra strong{font-weight:600}.shared-rate-booking{padding:22px 28px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px}.shared-rate-booking p{font-size:12px;line-height:1.65;color:var(--muted);margin:0;max-width:360px}.shared-rate-booking .btn{flex-shrink:0;font-size:12px}.shared-rate-conditions{max-width:820px;margin:18px auto 0;border-top:1px solid var(--line);padding-top:14px}.shared-rate-conditions summary{list-style:none;cursor:pointer;color:var(--blue);font-size:14px;display:flex;align-items:center;justify-content:space-between}.shared-rate-conditions summary::-webkit-details-marker{display:none}.shared-rate-conditions summary span{font-size:22px;color:var(--terra)}.shared-rate-conditions[open] summary span{transform:rotate(45deg)}.shared-rate-conditions ul{margin:14px 0 0;padding-left:18px;font-size:13px;line-height:1.7;color:var(--muted)}.shared-rate-conditions li+li{margin-top:6px}.shared-rate-conditions summary:focus-visible{outline:3px solid var(--terra);outline-offset:4px}
@media(max-width:700px){.shared-rate-heading{padding:20px 18px 0}.shared-rate-heading h3{font-size:25px}.shared-rate-heading p{font-size:13px}.shared-rate-prices{margin:18px 18px 0;padding:18px 0}.shared-rate-prices>div{padding:0 0 0 16px}.shared-rate-prices dt{font-size:12px}.shared-rate-prices dd{font-size:31px}.shared-rate-capacity{padding:18px 18px 0}.shared-rate-capacity caption{font-size:12px}.shared-rate-capacity table{font-size:13px}.shared-rate-capacity thead th{font-size:10px;letter-spacing:0}.shared-rate-extra{font-size:12px;padding:11px 12px}.shared-rate-booking{padding:18px;display:block}.shared-rate-booking p{font-size:12px;max-width:none}.shared-rate-booking .btn{margin-top:16px;width:100%;justify-content:center;font-size:12px}.shared-rate-conditions summary{font-size:13px}}

#tarifas .section-head{max-width:640px;margin:0 auto 14px}#tarifas .section-head h2{font-size:clamp(28px,3vw,36px);margin:0}.compact-tariff{max-width:640px;margin:0 auto;border:1px solid #d6d9d5;border-radius:6px;background:#fff;padding:20px}.compact-tariff-prices{display:grid;grid-template-columns:1fr 1fr;text-align:center;margin:0}.compact-tariff-prices>div+div{border-left:1px solid var(--line)}.compact-tariff-prices dt{font-size:12px;color:var(--muted);margin-bottom:5px}.compact-tariff-prices dd{font:35px/1.1 Georgia,serif;color:var(--blue);margin:0;white-space:nowrap}.compact-tariff-scope{font-size:12px;line-height:1.5;text-align:center;color:var(--muted);margin:10px 0 16px}.compact-capacity{width:100%;table-layout:fixed;border-collapse:collapse;text-align:center;border-block:1px solid var(--line)}.compact-capacity caption{text-align:left;font-size:11px;color:var(--muted);padding-bottom:7px}.compact-capacity th{font-size:13px;font-weight:600;color:var(--blue);padding:11px 4px 3px}.compact-capacity td{font-size:13px;color:var(--ink);padding:0 4px 11px;white-space:nowrap}.compact-tariff-extra{font-size:12px;line-height:1.5;color:var(--ink);margin:12px 0 7px}.compact-tariff-extra strong{font-weight:600}.compact-tariff-terms{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 14px}.compact-tariff>.btn{display:flex;width:100%;justify-content:center;padding:12px;font-size:12px}#tarifas .shared-rate-conditions{max-width:640px;margin-top:12px;padding-top:10px}#tarifas .shared-rate-conditions summary{font-size:12px}
@media(max-width:700px){.compact-tariff{padding:16px}.compact-tariff-prices dd{font-size:30px}.compact-tariff-prices dt{font-size:11px}.compact-tariff-scope{font-size:11px;margin:9px 0 13px}.compact-capacity th,.compact-capacity td{font-size:12px}.compact-tariff-extra{font-size:11px;margin-top:10px}.compact-tariff-terms{font-size:10px;margin-bottom:12px}.compact-tariff>.btn{font-size:11px;padding:11px}}

/* Shared page bounds; wide comparison content scrolls inside its own panel. */
:root{--page-gutter:clamp(16px,3vw,32px)}html,body{min-width:0}body{width:100%;margin:0}.wrap{width:calc(100% - 2 * var(--page-gutter));max-width:1200px;margin-inline:auto}.nav,.section-head,.footer-grid{min-width:0}.nav>*{min-width:0}.links{min-width:0;gap:clamp(10px,1.2vw,18px)}.links>a{overflow-wrap:break-word}.houses,.vila-grid,.location-grid,.contact-grid,.faq-grid,.hosts-grid,.heritage-intro,.service-grid,.extra-grid,.features,.group,.fields{min-width:0}.houses>*,.vila-grid>*,.location-grid>*,.contact-grid>*,.faq-grid>*,.hosts-grid>*,.heritage-intro>*,.service-grid>*,.extra-grid>*,.features>*,.group>*,.fields>*{min-width:0}.house,.house-body,.compact-tariff,.comparison,.inquiry,.vb-guide-card,.vb-guide-links,.reviews-panel{min-width:0;max-width:100%}.house-video video{max-width:100%;height:auto}.btn{max-width:100%;white-space:normal;overflow-wrap:break-word;text-align:center}.house .btn{gap:10px}.compact-capacity{min-width:0;width:100%;table-layout:fixed}.compact-capacity thead{background:transparent}.compact-capacity th,.compact-capacity td{width:auto;text-align:center}.table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.comparison-foot a{white-space:normal}.reviews-panel{width:100%;overflow-x:auto;overscroll-behavior-x:contain}.reviews-panel iframe{max-width:100%;width:100%}.reviews-panel>[class*="elfsight"]{max-width:100%;min-width:0}.vb-guide-card>summary{display:block;min-width:0;text-align:left}.vb-guide-card>summary>.vb-guide-overline,.vb-guide-card>summary>.vb-guide-tagline{transform:none;max-width:100%;overflow-wrap:break-word}.vb-guide-content,.vb-stop{min-width:0}.vb-stop a{overflow-wrap:anywhere}.footer-grid>*{min-width:0}.footer-links{max-width:100%;flex-wrap:wrap}.heritage-photo-label{max-width:calc(100% - 32px);text-align:center}.gallery-tools,.gallery-header>div,.gallery-caption>span{min-width:0}.gallery-tools{max-width:100%}.gallery-close{max-width:100%;white-space:normal}.gallery-caption{overflow-wrap:break-word}
@media(max-width:1180px){.nav{gap:12px;flex-wrap:wrap}.menu-toggle{display:flex;align-items:center;justify-content:center;gap:10px;margin-left:auto;padding:10px 12px;background:transparent;border:1px solid #c4cecc;border-radius:3px;color:var(--blue);font-size:12px;min-height:42px;flex-shrink:0}.nav .links{display:none;flex-basis:100%;width:100%;max-width:100%;padding:5px 0 16px;gap:0}.nav .links.is-open{display:flex;flex-direction:column;align-items:stretch;max-height:calc(100dvh - 140px);overflow-y:auto;overscroll-behavior:contain}.links.is-open>a:not(.btn){display:block;padding:10px 0;font-size:14px}.links.is-open .btn{padding:13px;margin-top:10px;font-size:12px}.nav .original-brand{max-width:calc(100% - 95px)}}
@media(max-width:700px){.section-head,.section-head>div,.section-head>p{width:100%;max-width:100%}.house-body{padding:20px}.house-video-heading{gap:10px}.house-video-heading>*{min-width:0}.house-video-heading h3{font-size:29px}.house-video-heading>span{font-size:11px}.comparison-heading,.comparison-foot{padding-inline:18px}.group{padding:24px 20px}.inquiry{padding:22px 18px}.hosts-grid{padding:22px 18px}.address{padding:22px 18px}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.vb-guide-card>summary{padding-right:45px}.gallery-header{flex-wrap:wrap}.gallery-tools{margin-left:auto}.mobile-cta{padding-inline:var(--page-gutter)}}
@media(max-width:380px){.fields{grid-template-columns:minmax(0,1fr)}.nav .original-brand small{font-size:12px}.nav .original-brand img{height:65px}.compact-tariff{padding:14px}.compact-tariff-prices dt{font-size:10px}.compact-tariff-prices dd{font-size:28px}.compact-capacity th,.compact-capacity td{font-size:11px}}

/* One compact comparison: three house columns always visible together. */
.comparison.compact-comparison{margin-top:24px}.compact-comparison .comparison-heading{display:block;padding:16px 16px 12px}.compact-comparison .comparison-heading h3{font-size:27px;line-height:1.15;margin:0 0 8px}.compact-comparison .comparison-heading p{max-width:none;font-size:12px;line-height:1.5;margin:0}.comparison.compact-comparison table{width:100%;min-width:0;max-width:100%;table-layout:fixed;text-align:center;font-size:12px}.comparison.compact-comparison thead th{width:33.333%;font-size:14px;padding:10px 6px;text-align:center}.comparison.compact-comparison td{width:33.333%;padding:9px 6px;text-align:center;font-size:12px;line-height:1.4;overflow-wrap:break-word}.comparison.compact-comparison td small{display:block;font-size:10px;line-height:1.4;margin-top:3px}.comparison-guests strong{font:23px/1.1 Georgia,serif;color:var(--blue);display:block}.compact-comparison .comparison-common{border-top:1px solid var(--line);padding:12px 16px 14px}.compact-comparison .comparison-common p{font-size:11px;line-height:1.4;color:var(--muted);margin:0 0 4px}.compact-comparison .comparison-common strong{font-weight:600}.compact-comparison .comparison-common a{font-size:11px;display:inline-block;margin-top:5px}
@media(max-width:700px){.compact-comparison .comparison-heading{padding:14px 13px 11px}.compact-comparison .comparison-heading h3{font-size:25px}.compact-comparison .comparison-heading p{font-size:11px;line-height:1.45}.comparison.compact-comparison thead th{font-size:13px;padding:9px 4px}.comparison.compact-comparison td{font-size:11px;padding:8px 4px;line-height:1.35}.comparison.compact-comparison td small{font-size:10px}.comparison-guests strong{font-size:21px}.compact-comparison .comparison-common{padding:10px 13px 12px}.compact-comparison .comparison-common p{font-size:10px}.compact-comparison .comparison-common a{font-size:11px}}

.comparison-section{padding-top:0}.comparison-section .compact-comparison{margin-top:0}.comparison-section .comparison-heading h3{font-size:24px;line-height:1.2;letter-spacing:-.3px}.comparison-section .compact-comparison thead th{font-size:13px;font-weight:600;letter-spacing:0}.comparison-section .comparison-guests strong{font-size:21px}
@media(max-width:700px){.comparison-section .comparison-heading h3{font-size:22px}.comparison-section .compact-comparison thead th{font-size:12px}.comparison-section .comparison-guests strong{font-size:19px}}

/* Unified comparison typography: a single text scale for all three houses. */
#comparar-casas .comparison-heading h3{font-size:22px;line-height:1.25;letter-spacing:-.2px;margin-bottom:8px}#comparar-casas .comparison-heading p{font:400 12px/1.5 Arial,sans-serif}#comparar-casas .compact-comparison thead th{font:600 13px/1.45 Arial,sans-serif}#comparar-casas .compact-comparison td{font:400 12px/1.45 Arial,sans-serif;padding:9px 5px}#comparar-casas .compact-comparison td small{font:400 12px/1.45 Arial,sans-serif;margin-top:2px}#comparar-casas .capacity-label{font:600 12px/1.45 Arial,sans-serif;white-space:normal}#comparar-casas .comparison-common p,#comparar-casas .comparison-common a{font:400 12px/1.5 Arial,sans-serif}#comparar-casas .comparison-common strong{font-weight:600}
@media(max-width:700px){#comparar-casas .comparison-heading h3{font-size:20px}#comparar-casas .compact-comparison thead th{font-size:12px}#comparar-casas .compact-comparison td{padding:8px 4px}#comparar-casas .comparison-common p,#comparar-casas .comparison-common a{font-size:12px}}
.house h4{color:var(--blue)}
#dica-restaurantes .vb-stop a+a{margin-left:14px}

/* Compact restaurant selection: score only, with direct source links. */
#dica-restaurantes .restaurant-source{font-size:12px;margin:0 0 14px;color:var(--muted)}
#dica-restaurantes .restaurant-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
#dica-restaurantes .vb-stop{min-width:0;padding:14px 0;border-top:1px solid #e5dfd5}
#dica-restaurantes .restaurant-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
#dica-restaurantes .restaurant-heading h3{font:600 14px/1.4 system-ui,sans-serif;margin:0 0 4px;min-width:0}
#dica-restaurantes .restaurant-score{flex:none;font:600 12px/1.4 system-ui,sans-serif;color:var(--blue);white-space:nowrap}
#dica-restaurantes .vb-stop p{font-size:12px;line-height:1.5;margin:0}
#dica-restaurantes .restaurant-links{display:flex;gap:16px;flex-wrap:wrap}
#dica-restaurantes .restaurant-links a{font-size:12px;margin:6px 0 0}
@media(max-width:640px){#dica-restaurantes .restaurant-list{grid-template-columns:minmax(0,1fr)}}

/* Audit: bounded type scale, accessible controls, independent guide content. */
.nav{min-height:106px}
.original-brand img{height:68px;margin-left:0}
.original-brand small{font-size:13px}
.section-head h2{line-height:1.16}
#comparar-casas .comparison-heading h2{font-size:22px;line-height:1.25;letter-spacing:-.2px;margin:0 0 8px}
#comparar-casas{padding-top:0}
#dica-restaurantes .vb-guide-content{display:block}
.vb-guide-card>summary h3{font:400 23px/1.2 Georgia,serif;margin:0 0 5px;color:var(--blue)}
.vb-guide-content{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.vb-stop h4,#dica-restaurantes .restaurant-heading h4{font:600 14px/1.4 Arial,sans-serif;color:var(--blue);margin:0 0 5px;min-width:0}
.vb-stop p{font-size:13px;line-height:1.6}
.vb-stop a{display:inline-flex;align-items:center;min-height:44px;margin-top:3px;font-size:12px}
#dica-restaurantes .restaurant-links a{min-height:44px;margin:0;font-size:12px}
.guide-jumps{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 16px}
.guide-jumps a{display:inline-flex;align-items:center;min-height:44px;padding:8px 13px;border:1px solid #c9cec8;border-radius:3px;font-size:12px;color:var(--blue);text-decoration:none;background:#fffdf8}
.guide-jumps a:hover{background:#e9eeeb}
.guide-planning{max-width:780px;margin-bottom:20px;font-size:13px;line-height:1.6;color:var(--muted)}
.guide-planning p{margin:0}
.guide-planning strong{color:var(--blue)}
.house .house-body p{line-height:1.6;margin-bottom:18px}
.house .house-photos-link{min-height:44px}
.footer-links a,.privacy-link{display:inline-flex;align-items:center;min-height:44px}
.heritage-description .fine{font-size:12px}
.heritage-description .fine a{text-underline-offset:3px}
.error:empty{display:none}
.error:focus{outline:2px solid var(--blue);outline-offset:4px}
body:has(dialog[open]) .mobile-cta{visibility:hidden}
.gallery-thumbs{overflow-x:auto;overscroll-behavior-x:contain}
.gallery-thumbs button{flex:0 0 75px}
@media(max-width:700px){
 .nav{min-height:90px}
 .original-brand img{height:56px}
 .original-brand small{font-size:12px}
 .heritage-intro{padding-block:22px;gap:12px}
 .heritage-intro h1{font-size:clamp(32px,8vw,39px);margin-top:0}
 .heritage-photo-label{font-size:10px}
 .heritage-description .heritage-support{font-size:13px}
 .facts span{font-size:12px}
 .facts b{font-size:21px}
 .section-head h2{font-size:30px}
 .vb-guide-card>summary h3{font-size:21px}
 .vb-stop h4{font-size:14px}
 .vb-stop+.vb-stop{padding-top:14px}
 .guide-jumps{gap:6px}
 .guide-jumps a{font-size:12px;padding:7px 10px}
 .compact-tariff-prices dt{font-size:12px}
 .compact-tariff-terms,.compact-tariff-extra,.compact-tariff-scope{font-size:12px;line-height:1.5}
 #comparar-casas .comparison-heading h2{font-size:20px}
 .contact h2,.faq-grid h2,.hosts-grid h2{font-size:31px;line-height:1.2}
 .inquiry .form-note{font-size:12px;line-height:1.5}
 .contact .number{font-size:24px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.house-jumps{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.house-jumps a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid #cbd0dd;border-radius:3px;color:var(--blue);font-size:13px;text-decoration:none;background:white}
.house-jumps a:hover{background:#eef0f7}

/* A single Vila presentation with its common-area gallery. */
.unified-vila .section-head{align-items:start;margin-bottom:12px}
.unified-vila .section-head p{max-width:540px}
.vila-gallery-intro{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 16px;max-width:720px}
.unified-vila .extra-grid{margin-top:0}
.section-anchor{display:block;scroll-margin-top:120px}
@media(max-width:700px){.unified-vila .section-head p{margin-top:10px}.unified-vila .group{margin-top:22px}.vila-gallery-intro{margin-bottom:14px}}

/* Whole-village invitation: real photograph, short copy and clear capacities. */
.unified-vila .group.vila-retreat{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0;padding:0;background:#fffdf8;color:var(--ink);border:1px solid #d6dcd6;border-radius:6px;overflow:hidden;margin-top:28px}
.vila-retreat-photo{position:relative;display:block;width:100%;min-width:0;padding:0;margin:0;border:0;background:#e6e9df;cursor:zoom-in;text-align:left}
.vila-retreat-photo img{display:block;width:100%;height:100%;min-height:380px;object-fit:cover;object-position:38% center}
.vila-retreat-photo>span{position:absolute;left:16px;bottom:16px;background:#fffdf8f2;color:var(--blue);font:12px/1.4 Arial,sans-serif;padding:10px 12px;border-radius:3px}
.vila-retreat-copy{min-width:0;padding:32px}
.group.vila-retreat h3{font-size:clamp(29px,3.3vw,40px);line-height:1.12;letter-spacing:-.5px;color:var(--blue);margin:0 0 14px}
.group.vila-retreat p{font-size:14px;line-height:1.65;color:var(--muted);margin:0}
.vila-retreat-facts{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:18px 0;margin:18px 0;border-block:1px solid var(--line)}
.vila-retreat-facts li{min-width:0;text-align:center}
.vila-retreat-facts li+li{border-left:1px solid var(--line)}
.vila-retreat-facts strong{display:block;font:27px/1.15 Georgia,serif;color:var(--blue)}
.vila-retreat-facts span{display:block;font:12px/1.4 Arial,sans-serif;color:var(--muted);margin-top:4px}
.vila-retreat-copy>.btn{width:100%;justify-content:center;gap:16px;min-height:46px}
.group.vila-retreat .vila-retreat-note{font-size:12px;line-height:1.5;margin-top:10px}
.vila-retreat-events{margin-top:16px;padding-top:10px;border-top:1px solid var(--line)}
.vila-retreat-events summary{cursor:pointer;color:var(--blue);font-size:12px;min-height:36px;align-content:center}
.group.vila-retreat .vila-retreat-events p{font-size:12px;line-height:1.6;margin:6px 0 0}
@media(max-width:700px){
 .unified-vila .group.vila-retreat{grid-template-columns:minmax(0,1fr);margin-top:22px}
 .vila-retreat-photo{height:190px}
 .vila-retreat-photo img{min-height:0;height:100%;object-position:38% 48%}
 .vila-retreat-photo>span{left:12px;bottom:12px;font-size:11px;padding:8px 10px}
 .vila-retreat-copy{padding:22px 20px}
 .group.vila-retreat h3{font-size:31px;margin-bottom:12px}
 .group.vila-retreat p{font-size:13px;line-height:1.6}
 .vila-retreat-facts{padding:14px 0;margin:16px 0}
 .vila-retreat-facts strong{font-size:25px}
 .vila-retreat-facts span{font-size:11px}
}

/* Intimate celebrations, illustrated only by real garden photographs. */
.celebration-section{background:var(--cream);border-bottom:1px solid var(--line)}
.celebration-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;align-items:center}
.celebration-layout>*{min-width:0}
.celebration-gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;border-radius:5px;scrollbar-width:thin;scrollbar-color:#8a92a4 #e9eeeb}
.celebration-photo{flex:0 0 92%;min-width:0;position:relative;display:block;padding:0;border:0;background:#e9eeeb;text-align:left;cursor:zoom-in;scroll-snap-align:start}
.celebration-photo img{display:block;width:100%;height:360px;object-fit:cover;object-position:center}
.celebration-photo>span{position:absolute;left:14px;bottom:14px;background:#fffdf8ed;color:var(--blue);font:12px/1.4 Arial,sans-serif;padding:9px 12px;max-width:calc(100% - 28px);border-radius:3px}
.celebration-photo-note{font-size:11px;line-height:1.5;color:var(--muted);margin:9px 0 0}
.celebration-copy h2{font-size:clamp(29px,3.3vw,39px);line-height:1.15;color:var(--blue);margin:0 0 16px;letter-spacing:-.5px}
.celebration-copy p{font-size:14px;line-height:1.65;color:var(--muted);margin:0 0 12px}
.celebration-copy .celebration-lead{color:var(--blue);font:21px/1.4 Georgia,serif;margin-bottom:13px}
.celebration-cta{min-height:46px;margin-top:6px;gap:16px}
.celebration-copy .celebration-conditions{font-size:12px;line-height:1.6;margin:14px 0 0}
@media(max-width:700px){
 .celebration-layout{grid-template-columns:minmax(0,1fr);gap:22px}
 .celebration-photo img{height:220px}
 .celebration-photo>span{font-size:11px;left:12px;bottom:12px;padding:8px 10px}
 .celebration-copy h2{font-size:30px;margin-bottom:13px}
 .celebration-copy .celebration-lead{font-size:20px}
 .celebration-copy p{font-size:13px;line-height:1.6}
 .celebration-cta{font-size:13px;width:100%;justify-content:center}
}

/* User-supplied photographs and short videos, preserved as real records. */
.celebration-video{margin:0;background:#14252d;display:flex;flex-direction:column}
.celebration-video video{display:block;width:100%;height:360px;object-fit:contain;background:#14252d}
.celebration-video figcaption{font-size:12px;line-height:1.4;padding:9px 12px;color:#fff;background:#14252d}
.vila-garden-video{margin:14px 0 0;border-top:1px solid #cad4ce;padding-top:6px}
.vila-garden-video summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:13px;color:var(--blue)}
.vila-garden-video figure{margin:10px 0 0;max-width:360px}
.vila-garden-video video{display:block;width:100%;max-height:430px;object-fit:contain;background:#14252d;border-radius:4px}
.vila-garden-video figcaption{font-size:12px;color:var(--muted);margin-top:8px}
.service-breakfast-photo{display:block;position:relative;width:100%;padding:0;border:0;border-radius:4px;overflow:hidden;margin:0 0 16px;background:#e9eeeb;cursor:zoom-in;text-align:left}
.service-breakfast-photo img{width:100%;height:215px;object-fit:cover;object-position:50% 48%}
.service-breakfast-photo span{position:absolute;bottom:12px;left:12px;background:#fffdf8ef;color:var(--blue);font-size:12px;padding:8px 10px;border-radius:3px}
@media(max-width:700px){.celebration-video video{height:220px}.service-breakfast-photo img{height:220px}}

/* A quieter centered opening and a single photograph for celebrations. */
.heritage-intro{grid-template-columns:minmax(0,1fr);gap:16px;text-align:center;max-width:780px;padding-top:24px;padding-bottom:22px}
.heritage-intro h1{font-size:32px;line-height:1.16;letter-spacing:-.5px;margin:0;text-align:center}
.heritage-intro h1>span{display:block}
.heritage-intro h1 em{display:block;font-size:30px;margin-top:3px}
.heritage-description>p{max-width:650px;margin:0 auto 10px}
.heritage-description .hero-actions{justify-content:center;margin:16px 0 12px}
.heritage-description .fine{text-align:center;margin:0}
.facts.compact-house-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:14px 0 12px;text-align:center}
.compact-house-facts>a{display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:52px;padding:4px 8px;text-decoration:none;color:var(--blue)}
.compact-house-facts>a+a{border-left:1px solid var(--line)}
.facts.compact-house-facts b{font:400 20px/1.2 Georgia,serif;margin-bottom:5px}
.facts.compact-house-facts span{font:400 12px/1.4 Arial,sans-serif;color:var(--muted)}
.facts-capacity-note{text-align:center;font:400 12px/1.5 Arial,sans-serif;color:var(--muted);margin:9px 0 0}
.celebration-gallery.celebration-single{display:block;overflow:visible;scroll-snap-type:none;scrollbar-width:none}
.celebration-single .celebration-photo{width:100%;border-radius:5px;overflow:hidden}
.celebration-single .celebration-photo img{height:auto;aspect-ratio:4/3;object-fit:cover}
@media(max-width:700px){
 .heritage-intro{gap:14px;padding-top:20px;padding-bottom:20px}
 .heritage-intro h1{font-size:27px;line-height:1.15}
 .heritage-intro h1 em{font-size:clamp(23px,6.3vw,27px);letter-spacing:-.4px}
 .heritage-description>p,.heritage-description .heritage-support{font-size:13px;line-height:1.6}
 .heritage-description .hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 11px}
 .heritage-description .hero-actions .btn{width:100%;min-height:48px;font-size:12px;line-height:1.4;padding:10px;gap:5px}
 .heritage-description .fine{font-size:11px;line-height:1.6}
 .facts.compact-house-facts{padding:12px 0 10px}
 .facts.compact-house-facts b{font-size:18px}
 .facts.compact-house-facts span{font-size:11px}
 .compact-house-facts>a{padding-inline:4px;min-height:48px}
 .facts-capacity-note{font-size:11px;margin-top:8px}
 .celebration-single .celebration-photo img{height:auto;aspect-ratio:4/3}
 .celebration-copy h2{font-size:28px}
 .celebration-copy .celebration-lead{font-size:18px}
}

/* The owner's 96936 video: the complete native portrait frame, never cropped. */
.vila-portrait-story{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:32px;align-items:center;max-width:820px;margin:24px auto 0;padding:22px;background:#fffdf8;border:1px solid #d6dcd6;border-radius:7px}
.vila-portrait-story>*{min-width:0}
.vila-portrait-film{margin:0}
.vila-portrait-film video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;max-height:none;background:#14252d;border-radius:6px}
.vila-portrait-film figcaption{font:12px/1.5 Arial,sans-serif;color:var(--muted);margin-top:8px}
.vila-portrait-copy h3{font:400 28px/1.2 Georgia,serif;letter-spacing:-.3px;color:var(--blue);margin:0 0 14px}
.vila-portrait-copy p{font:400 14px/1.7 Arial,sans-serif;color:var(--muted);margin:0 0 15px;max-width:360px}
.vila-portrait-copy>a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue)}
@media(max-width:700px){
 .vila-portrait-story{grid-template-columns:minmax(0,1fr);padding:0;gap:18px;max-width:none;background:transparent;border:0;border-radius:0;margin-top:22px}
 .vila-portrait-film video{width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;max-height:none;border-radius:6px}
 .vila-portrait-copy h3{font-size:23px;margin-bottom:9px}
 .vila-portrait-copy p{font-size:13px;line-height:1.6;max-width:none;margin-bottom:4px}
}
@media(prefers-reduced-motion:reduce){.vila-portrait-story,.vila-portrait-story *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Whole-village invitation: compact facts with numbers and labels together. */
#vila-inteira .vila-retreat-copy{padding:26px}
#vila-inteira h3{font-size:30px;line-height:1.2;letter-spacing:-.3px;margin:0 0 12px}
#vila-inteira .vila-retreat-copy>p{font-size:14px;line-height:1.6}
#vila-inteira .vila-retreat-facts{gap:0;padding:14px 0;margin:18px 0}
#vila-inteira .vila-retreat-facts li{padding:0 5px;display:flex;flex-direction:column;justify-content:flex-start;gap:4px}
#vila-inteira .vila-retreat-facts strong{font:600 14px/1.4 Arial,sans-serif;letter-spacing:0}
#vila-inteira .vila-retreat-facts span{font:12px/1.4 Arial,sans-serif;margin:0}
#vila-inteira .vila-retreat-copy>.btn{min-height:44px;padding:12px 16px;font-size:14px;line-height:1.4;gap:12px}
#vila-inteira .vila-retreat-copy>.vila-retreat-note{font-size:12px;line-height:1.5;margin-top:10px}
@media(max-width:700px){
 #vila-inteira .vila-retreat-copy{padding:20px 16px}
 #vila-inteira h3{font-size:25px;margin-bottom:10px}
 #vila-inteira .vila-retreat-copy>p{font-size:13px;line-height:1.55}
 #vila-inteira .vila-retreat-facts{padding:12px 0;margin:15px 0}
 #vila-inteira .vila-retreat-facts strong{font-size:13px}
 #vila-inteira .vila-retreat-facts span{font-size:11px}
 #vila-inteira .vila-retreat-copy>.vila-retreat-note{font-size:11px}
}
@media(max-width:380px){#vila-inteira .vila-retreat-facts strong{font-size:12px}}

/* Consistent editorial alignment and a balanced, readable tariff panel. */
main h2,main h3{text-align:center;text-wrap:balance}
main .section-head{flex-direction:column;align-items:center;gap:12px;text-align:center}
main .section-head>div{width:100%}
main .section-head h2{width:100%;text-align:center}
main .section-head p{width:100%;max-width:720px;margin:0 auto}
main :is(.section-head>p,.section-head>div>p,.house-body>p,.vila-copy>p,.vila-text>p,.celebration-copy>p,.vila-portrait-story p,.location-grid>div>p,.hosts-grid>div>p,.service-grid article>p){text-align:left;text-wrap:pretty}
#vila-inteira h3{text-align:center}
#vila-inteira .vila-retreat-copy>p:not(.vila-retreat-note){text-align:left;}
#comparar-casas .comparison-heading{display:block;text-align:center}
#comparar-casas .comparison-heading p{max-width:560px;margin-inline:auto}
#tarifas .section-head{max-width:640px;margin:0 auto 16px}
#tarifas .section-head h2{font-size:clamp(25px,2.6vw,32px);line-height:1.2;letter-spacing:-.4px}
#tarifas .compact-tariff{padding:22px}
#tarifas .compact-tariff-prices>div{min-width:0;padding:0 8px}
#tarifas .compact-tariff-prices dt{font:500 14px/1.4 Arial,sans-serif;margin:0 0 8px;color:var(--muted)}
#tarifas .compact-tariff-prices dd{font:400 28px/1.2 Georgia,serif;letter-spacing:-.2px;font-variant-numeric:lining-nums tabular-nums}
#tarifas .compact-tariff-scope{font-size:13px;line-height:1.5;margin:14px 0 18px;text-align:center}
#tarifas .compact-capacity caption{text-align:center;font-size:13px;padding-bottom:10px}
#tarifas .compact-capacity th,#tarifas .compact-capacity td{font-size:13px;line-height:1.5}
#tarifas .compact-tariff-extra,#tarifas .compact-tariff-terms{font-size:13px;line-height:1.55;text-align:left}
#tarifas .compact-tariff-extra{margin:14px 0 8px}
#tarifas .compact-tariff-terms{margin:0 0 16px}
#tarifas .compact-tariff>.btn{font-size:13px;min-height:44px;padding:12px}
#tarifas .shared-rate-conditions{margin-inline:auto}
@media(max-width:700px){
 main .section-head{gap:10px}
 main .section-head p{margin-top:0}
 #tarifas .compact-tariff{padding:18px 16px}
 #tarifas .compact-tariff-prices dt{font-size:13px}
 #tarifas .compact-tariff-prices dd{font-size:25px}
 #tarifas .compact-tariff-scope{font-size:13px;margin:12px 0 16px}
 #tarifas .compact-capacity th,#tarifas .compact-capacity td{font-size:12px}
}
@media(max-width:380px){
 #tarifas .compact-tariff-prices dt{font-size:12px}
 #tarifas .compact-tariff-prices dd{font-size:23px}
}

/* Align the introduction's prose to both edges, retaining centered headings. */
.heritage-intro .heritage-description>p:not(.fine){width:100%;text-align:left;text-wrap:pretty}

/* Lift the houses heading into the preceding whitespace without stretching the section. */
main>#casas{padding-top:36px}
#casas .section-head{gap:28px}
#casas .section-head h2{margin:0;text-align:center}
#casas .section-head>p{margin-top:0}
@media(max-width:700px){
 main>#casas{padding-top:18px}
 #casas .section-head{gap:26px}
}

/* Center the original mark independently of the right-hand navigation control. */
header .nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);position:relative;min-height:92px;gap:0 12px;padding-block:10px;align-items:center;flex-wrap:nowrap}
header .nav .original-brand{grid-column:2;grid-row:1;justify-self:center;align-items:center;max-width:none;padding:0;margin:0}
header .nav .original-brand img{height:64px;width:auto;max-width:100%;margin:0;object-fit:contain}
header .nav .menu-toggle{display:inline-flex;grid-column:3;grid-row:1;justify-self:end;align-items:center;justify-content:center;gap:8px;margin:0;padding:10px 12px;min-height:44px;border:1px solid #cbd0d2;border-radius:3px;background:#fff;color:var(--blue);font:13px/1.2 Arial,sans-serif;cursor:pointer}
header .nav #main-nav{display:none;position:absolute;top:100%;right:0;width:min(360px,100%);max-width:100%;max-height:calc(100dvh - 112px);overflow-y:auto;overscroll-behavior:contain;padding:12px 20px 18px;margin:0;background:#fff;border:1px solid var(--line);border-radius:0 0 5px 5px;box-shadow:0 14px 28px #20343d12;gap:0;align-items:stretch;z-index:21}
header .nav #main-nav.is-open{display:flex;flex-direction:column}
header .nav #main-nav>a:not(.btn){display:flex;align-items:center;min-height:44px;padding:10px 0;font-size:13px;letter-spacing:0}
header .nav #main-nav>.btn{display:flex;margin-top:8px;font-size:13px;padding:12px}
html{scroll-padding-top:108px}
.house[id]{scroll-margin-top:108px}
/* Quiet title scale, with enough space before the following copy. */
.heritage-intro h1{font-size:30px;line-height:1.18}
.heritage-intro h1 em{font-size:28px;line-height:1.2}
main h2{font-size:clamp(26px,3vw,36px);line-height:1.2;letter-spacing:-.5px}
main .section-head h2{font-size:clamp(26px,3vw,36px)}
main .section-head{gap:20px}
main .section-head h2{margin:0}
main .section-head>p{margin-top:0}
.celebration-copy h2,.contact h2,.faq-grid h2,.hosts-grid h2{font-size:clamp(26px,3vw,34px);line-height:1.2;margin-bottom:20px}
#vila-inteira h3{font-size:28px;margin-bottom:16px}
.service-grid h3{font-size:22px;line-height:1.25;margin-bottom:16px}
.house .house-video-heading{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;padding:20px 18px;text-align:center;min-height:142px}
.house .house-video-heading h3{font-size:26px;line-height:1.2;margin:0;color:var(--blue);text-align:center}
.house .house-video-heading .house-subtitle{font:400 14px/1.5 Georgia,serif;color:#526166;text-align:center;text-wrap:balance;max-width:30em;margin:0}
.house .house-video-heading>span{font:12px/1.4 Arial,sans-serif;margin-top:auto;color:var(--muted)}
@media(max-width:700px){
 header .nav{min-height:80px;padding-block:10px;gap:0 8px}
 header .nav .original-brand img{height:56px;margin:0}
 header .nav .menu-toggle{font-size:12px;padding:10px;gap:6px}
 header .nav #main-nav{max-height:calc(100dvh - 96px)}
 html{scroll-padding-top:96px}
 .house[id]{scroll-margin-top:96px}
 .heritage-intro h1{font-size:25px}
 .heritage-intro h1 em{font-size:clamp(21px,5.8vw,25px)}
 main .section-head h2{font-size:27px;line-height:1.2}
 main .section-head{gap:18px}
 .celebration-copy h2,.contact h2,.faq-grid h2,.hosts-grid h2{font-size:28px;margin-bottom:18px}
 #vila-inteira h3{font-size:24px;margin-bottom:14px}
 .house .house-video-heading{min-height:0;padding:18px 16px;gap:7px}
 .house .house-video-heading h3{font-size:24px}
 .house .house-video-heading .house-subtitle{font-size:14px;max-width:32em}
 .house .house-video-heading>span{margin-top:2px}
}

/* The title sits above and on the center line of the portrait video. */
#video-cantinhos{column-gap:32px;row-gap:16px;align-items:start}
#video-cantinhos>h3{grid-column:1;grid-row:1;font:400 25px/1.25 Georgia,serif;color:var(--blue);letter-spacing:-.3px;text-align:center;text-wrap:balance;margin:0}
#video-cantinhos>.vila-portrait-film{grid-column:1;grid-row:2}
#video-cantinhos>.vila-portrait-copy{grid-column:2;grid-row:1 / span 2;align-self:center}
@media(max-width:700px){
 #video-cantinhos{row-gap:18px}
 #video-cantinhos>h3{font-size:23px}
 #video-cantinhos>.vila-portrait-copy{grid-column:1;grid-row:3}
}

/* Approved centered wordmark. The uploaded transparent artwork is unchanged;
   the frame removes only the empty canvas around it, as in the comparison. */
header .nav{min-height:104px;padding-block:12px}
header .nav .original-brand{position:relative;display:block;width:220px;height:auto;aspect-ratio:1448 / 475;overflow:hidden}
header .nav .original-brand img{position:absolute;left:0;top:-71.578947%;display:block;width:100%;height:auto;max-width:none;margin:0}
html{scroll-padding-top:120px}
.house[id]{scroll-margin-top:120px}
@media(max-width:700px){
 header .nav{min-height:88px;padding-block:12px}
 header .nav .original-brand{width:188px}
 header .nav .menu-toggle{width:44px;height:44px;padding:0;gap:0}
 header .nav .menu-toggle .menu-label{display:none}
 header .nav #main-nav{max-height:calc(100dvh - 104px)}
 html{scroll-padding-top:104px}
 .house[id]{scroll-margin-top:104px}
}
@media(max-width:350px){header .nav .original-brand{width:168px}}

/* Compact mobile navigation, visible horizontal links when the desktop fits. */
header .nav .menu-toggle{position:relative;width:36px;height:36px;min-height:36px;padding:0}
header .nav .menu-toggle::after{content:'';position:absolute;inset:-4px}
header .nav .menu-toggle .menu-label{display:none}
header .nav #main-nav{width:min(320px,100%);padding:4px 16px 12px;max-height:calc(100dvh - 110px)}
header .nav #main-nav>a:not(.btn){min-height:40px;padding:6px 0;font-size:13px;line-height:1.4}
header .nav #main-nav>.btn{min-height:44px;padding:10px;margin-top:8px;font-size:13px;line-height:1.4}
header .nav #main-nav .menu-close{display:flex;align-items:center;justify-content:flex-end;gap:8px;align-self:flex-end;min-height:36px;padding:4px 0 4px 12px;background:transparent;border:0;color:var(--blue);font:12px/1.4 Arial,sans-serif;cursor:pointer}
header .nav #main-nav .menu-close span{font-size:22px;line-height:1}
@media(pointer:coarse){header .nav #main-nav>a:not(.btn){min-height:44px}}
@media(min-width:1100px){
 header .nav{grid-template-rows:auto auto;min-height:0;padding-block:8px;row-gap:4px}
 header .nav .original-brand{width:180px}
 header .nav .menu-toggle{display:none}
 header .nav #main-nav,header .nav #main-nav.is-open{position:static;grid-column:1/-1;grid-row:2;display:flex;flex-direction:row;justify-content:center;align-items:center;width:100%;max-width:100%;max-height:none;overflow:visible;gap:18px;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}
 header .nav #main-nav>a:not(.btn){min-height:40px;padding:8px 0;font-size:12px;font-weight:500;white-space:nowrap}
 header .nav #main-nav>.btn{width:auto;min-height:40px;padding:10px 14px;margin:0;font-size:12px;white-space:nowrap}
 header .nav #main-nav .menu-close{display:none}
 html{scroll-padding-top:136px}
 .house[id]{scroll-margin-top:136px}
}

/* Let the portrait video introduce the garden gallery without a separate title. */
#video-cantinhos{margin-bottom:22px}
#video-cantinhos>.vila-portrait-film{grid-row:1}
#video-cantinhos>.vila-portrait-copy{grid-row:1}
@media(max-width:700px){#video-cantinhos>.vila-portrait-copy{grid-row:2}}

/* One cover opens all outdoor photographs. */
.unified-vila .quintal-gallery{grid-template-columns:minmax(0,1fr)}
.quintal-gallery img{height:clamp(240px,42vw,460px);object-position:center}

/* One shared gallery and a compact whole-village invitation. */
.unified-vila .group.quintal-retreat{grid-template-columns:minmax(0,1fr);margin-top:0;gap:0;text-align:center}
.quintal-retreat .quintal-gallery{width:100%;margin:0;border-radius:0}
.quintal-retreat .quintal-gallery button{border-radius:0}
#vila-inteira.quintal-retreat .vila-retreat-copy{width:100%;max-width:760px;margin:0 auto;padding:26px 28px;box-sizing:border-box}
#vila-inteira.quintal-retreat .vila-retreat-copy>p{text-align:center}
#vila-inteira.quintal-retreat .vila-retreat-copy>.btn{width:auto;display:inline-flex;min-width:240px}
@media(max-width:700px){
 #vila-inteira.quintal-retreat .vila-retreat-copy{padding:22px 16px}
 #vila-inteira.quintal-retreat .vila-retreat-copy>.btn{width:100%;min-width:0}
}

/* Optional services stay with the practical questions, with a photo on demand. */
#servicos-opcionais .service-breakfast-photo{max-width:300px;margin:0 0 20px}
#servicos-opcionais .service-breakfast-photo img{height:180px;object-fit:cover;object-position:50% 48%}

/* Configuração oficial das suítes e camas, uniforme nas três casas. */
.house-body .house-sleeping{margin:16px 0 20px;padding:12px 0;border-top:1px solid #d9ddda;border-bottom:1px solid #d9ddda;text-align:left;font-size:14px;line-height:1.55;letter-spacing:normal;hyphens:none}.house-sleeping strong,.house-sleeping span{display:block}.house-sleeping strong{color:var(--blue,#292e6b);font-weight:600}.house-sleeping span+span{margin-top:3px}

/* A second, intimate view of Casa 3, expanded only when requested. */
.house-view-film{margin:0 0 20px;border:1px solid #d9ddda;border-radius:8px;background:#f6f7f3;overflow:hidden}
.house-view-film summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;padding:12px 16px;cursor:pointer;list-style:none;color:var(--blue);font:400 17px/1.35 Georgia,serif;text-align:left}
.house-view-film summary::-webkit-details-marker{display:none}
.house-view-film summary small{display:block;margin-top:4px;color:var(--muted);font:12px/1.4 Arial,sans-serif}
.house-view-film .house-view-icon{font:16px/1 Arial,sans-serif}
.house-view-film summary:focus-visible{outline:2px solid var(--blue);outline-offset:-4px}
.house-view-film figure{max-width:280px;margin:0 auto;padding:0 16px 16px}
.house-view-film video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;border-radius:7px;background:#17212a}
.house-view-film figcaption{margin:10px 0 0;text-align:center;font:12px/1.5 Arial,sans-serif;color:var(--muted)}
/* A slightly smaller centered wordmark keeps the opening compact. */
header .nav .original-brand{width:190px}
@media(max-width:700px){header .nav{min-height:80px;padding-block:10px}header .nav .original-brand{width:166px}}
@media(max-width:350px){header .nav .original-brand{width:150px}}
@media(min-width:1100px){header .nav .original-brand{width:164px}}

/* The event guide stays within one window; months expand on demand. */
#dica-eventos .vb-events-content{display:block;padding:24px;min-width:0}
.vb-events-content>section+section{margin-top:28px;padding-top:24px;border-top:1px solid #e3dfd6}
#dica-eventos .events-intro{max-width:720px;margin:0 auto 24px;font-size:14px;line-height:1.65;text-align:left;hyphens:none}
#dica-eventos h4{font:400 23px/1.25 Georgia,serif;color:var(--blue);margin:0 0 14px;text-align:center;text-wrap:balance}
#dica-eventos .events-subtitle{font-size:12px;line-height:1.5;color:var(--muted);text-align:center;margin:-4px 0 16px}
.events-upcoming-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.event-upcoming{min-width:0;padding:15px;background:#eef2ed;border:1px solid #dce3db;border-radius:7px}
#dica-eventos .event-upcoming time{display:block;color:var(--blue);font:600 12px/1.4 Arial,sans-serif;margin-bottom:7px}
#dica-eventos h5{font:600 15px/1.35 Arial,sans-serif;letter-spacing:0;color:var(--blue);margin:0 0 6px;text-align:left;text-wrap:balance}
#dica-eventos .event-upcoming p{font-size:13px;line-height:1.55;color:var(--muted);margin:0;text-align:left;hyphens:none}
#dica-eventos .event-upcoming a,#dica-eventos .events-footnote a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.4;color:var(--blue);text-underline-offset:3px}
#dica-eventos .events-pending{font-size:12px;line-height:1.6;text-align:left;color:var(--muted);margin:14px 0 0;hyphens:none}
.events-pending a{color:var(--blue);text-underline-offset:3px}
.events-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.event-highlight{padding:14px 12px;border:1px solid #dfdfd6;border-radius:6px;min-width:0;background:#fff}
#dica-eventos .event-highlight>span{display:block;font:11px/1.4 Arial,sans-serif;color:var(--muted);margin-bottom:5px}
#dica-eventos .event-highlight h5{font-size:14px}
#dica-eventos .event-highlight p{margin:7px 0 0;font:13px/1.4 Arial,sans-serif;color:var(--blue);text-align:left}
.events-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:start}
.events-month{min-width:0;border:1px solid #dfdfd6;border-radius:6px;background:#fff}
#dica-eventos .events-month summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 14px;list-style:none;cursor:pointer;color:var(--blue);font:600 13px/1.4 Arial,sans-serif}
.events-month summary::-webkit-details-marker{display:none}
.events-month summary>span{font:20px/1 Arial,sans-serif}
.events-month[open] summary>span{transform:rotate(45deg)}
.events-month summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px}
.events-month ul{list-style:none;margin:0;padding:0 14px 12px}
.events-month li{display:grid;grid-template-columns:minmax(75px,.8fr) minmax(0,1.4fr);gap:9px;padding:8px 0;border-top:1px solid #ece8e0;font:12px/1.5 Arial,sans-serif;color:var(--muted);text-align:left}
.events-month li>span:first-child{color:var(--blue)}
#dica-eventos .events-footnote{margin-top:18px;font-size:12px;color:var(--muted)}
#dica-eventos .events-footnote p{font-size:12px;line-height:1.6;margin:0;text-align:left;hyphens:none}
.events-reserve{margin-top:16px;padding:18px;background:#e8eee8;border-radius:7px;text-align:center}
#dica-eventos .events-reserve p{font-size:14px;line-height:1.6;margin:0 0 12px;text-align:center;hyphens:none}
.events-reserve .btn{font-size:13px;min-height:44px}
.events-reserve small{display:block;font:11px/1.5 Arial,sans-serif;color:var(--muted);margin-top:10px}
#dica-eventos [hidden]{display:none!important}
@media(max-width:700px){
 #dica-eventos .vb-events-content{padding:17px}
 #dica-eventos h4{font-size:21px}
 .events-highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .event-highlight{padding:12px 10px}
 .events-upcoming-grid,.events-months{grid-template-columns:minmax(0,1fr)}
 .event-upcoming{padding:14px}
 .events-reserve{padding:15px 12px}
 .events-reserve .btn{width:100%}
}

/* Final audit: quiet title scale, consistent reservation color and fewer repeated blocks. */
:root{--action:#414f91;--action-hover:#35427c}
body .btn.primary{background:var(--action);color:#fff;border-color:var(--action)}
body .btn.primary:hover{background:var(--action-hover);border-color:var(--action-hover)}
body .btn.light{color:var(--action)}
main h2,main .section-head h2{font-size:clamp(25px,2.7vw,32px);line-height:1.23}
main h2:not(.sr-only){margin-bottom:22px}
main>#casas{padding-top:22px}
#casas>.houses{margin-top:0}
#vila .quintal-gallery{max-width:800px;margin:0 auto}
#vila .vila-gallery-intro{margin:0 auto 18px;max-width:720px}
.whole-villa-note{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
#comparar-casas .whole-villa-note h3{font:400 23px/1.3 Georgia,serif;color:var(--blue);margin:0 0 12px}
#comparar-casas .whole-villa-note p{margin:0 0 12px;font-size:14px;line-height:1.65;text-align:left}
#tarifas .stay-planning{max-width:760px;margin:24px auto 0}
#tarifas .inquiry{width:100%;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:26px;box-shadow:none}
#tarifas .inquiry h3{font:400 25px/1.25 Georgia,serif;margin:0 0 15px;color:var(--blue)}
#tarifas .inquiry>p{font-size:14px;color:var(--muted);text-align:center}
#tarifas .inquiry label{color:var(--ink);font-size:13px}
#tarifas .inquiry input,#tarifas .inquiry select{width:100%;min-width:0;max-width:100%;min-height:44px;background:#fbfaf6;color:var(--ink);border:1px solid #b9c1bf;border-radius:4px}
#tarifas .inquiry .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#tarifas .inquiry .btn{width:100%;margin-top:18px;min-height:44px}
#tarifas .inquiry .form-note{font-size:12px;line-height:1.55;margin-bottom:0}
.map-section{max-width:880px;padding-block:44px;text-align:center}
.map-eyebrow{margin:0 0 5px;color:var(--terra);font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}
.map-section h2{margin-top:0}
.map-address{font-size:14px;color:var(--muted);margin:0 0 18px}
.map-frame{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;min-height:230px;background:#e9eeeb;border:1px solid var(--line);border-radius:7px;overflow:hidden}
.map-frame p{font-size:12px;color:var(--muted);margin:0 12px;text-align:center}
.map-frame iframe{display:block;width:100%;height:280px;border:0}
.map-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 24px;margin-top:12px}
.map-actions .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
button.text-link{font-family:inherit;background:transparent;border:0;cursor:pointer;text-decoration:underline}
.map-frame:fullscreen{width:100%;height:100%;background:#fff}
.map-frame:fullscreen iframe{height:100%}
.map-close{position:absolute;right:12px;top:12px;z-index:2;min-height:44px;padding:8px 14px;background:#fff;color:var(--blue);border:1px solid var(--line);border-radius:4px;cursor:pointer}
.map-frame:not(:fullscreen):not(.map-expanded) .map-close{display:none}
.map-expanded{position:fixed;inset:12px;z-index:60;background:#fff}
.map-expanded iframe{height:100%}
.final-contact{text-align:center;padding-block:32px 42px;border-top:1px solid var(--line)}
.final-contact h2{margin-top:0}
.final-contact>p{font-size:14px;color:var(--muted);max-width:520px;margin:0 auto 18px}
.final-phone{display:block;font-size:12px;color:var(--muted);margin-top:14px}
#duvidas{padding-bottom:36px}
#duvidas .faq-grid{grid-template-columns:minmax(0,1fr);max-width:800px;gap:4px}
#duvidas .faq-grid h2{margin-top:0}
.hosts{padding-block:44px}
.hosts h2{font-size:clamp(25px,2.7vw,32px)}
.window-film-launch{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;margin:0 0 20px;padding:14px 16px;background:#f3f5f0;border:1px solid var(--line);border-radius:7px;color:var(--blue);font:400 17px/1.35 Georgia,serif;cursor:pointer}
.window-film-launch small{display:block;margin-top:5px;font:12px/1.4 Arial,sans-serif;color:var(--muted)}
.window-film-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:0;margin:0;border:0;background:#121820;color:#fff}
.window-film-dialog::backdrop{background:#121820}
.window-film-stage{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#121820}
.window-film-stage #window-video{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;aspect-ratio:auto;background:#121820}
.window-film-close{position:absolute;right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));z-index:3;min-height:44px;padding:10px 18px;border:1px solid #ffffff80;border-radius:5px;background:#121820e8;color:#fff;font:14px Arial,sans-serif;cursor:pointer}
.window-film-stage:fullscreen{width:100vw;height:100dvh}
[hidden]{display:none!important}
@media(max-width:700px){
 main h2,main .section-head h2,.celebration-copy h2,.hosts-grid h2,.faq-grid h2{font-size:26px}
 main>#casas{padding-top:12px}
 #tarifas .inquiry{padding:20px 16px}
 #tarifas .inquiry h3{font-size:23px}
 #tarifas .inquiry .fields{gap:14px 12px}
 #tarifas .inquiry input,#tarifas .inquiry select{font-size:16px}
 .map-section{padding-block:32px}
 .map-frame iframe{height:250px}
 .final-contact{padding-block:28px 36px}
 #comparar-casas .whole-villa-note h3{font-size:22px}
}
@media(max-width:380px){#tarifas .inquiry .fields{grid-template-columns:minmax(0,1fr)}}

/* One clear action above each house gallery. */
.house-photos-heading{justify-content:flex-end}

/* A fullscreen-capable shell keeps photo navigation and close controls together. */
.gallery-shell{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;flex:1;background:inherit;color:inherit}
.gallery-shell:fullscreen{width:100%;height:100dvh;max-width:none;max-height:none;background:inherit;color:inherit}
.gallery-shell:-webkit-full-screen{width:100%;height:100dvh;max-width:none;max-height:none;background:inherit;color:inherit}
.gallery-shell:fullscreen .gallery-header{padding-top:max(10px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
.gallery-shell:fullscreen .gallery-caption{padding-bottom:max(8px,env(safe-area-inset-bottom))}

/* A compact consultation form; opening it does not authorize a celebration. */
.celebration-inquiry{margin-top:18px;border:0}
.celebration-inquiry>summary{list-style:none;width:100%;margin:0;justify-content:space-between;min-height:48px}
.celebration-inquiry>summary::-webkit-details-marker{display:none}
.celebration-inquiry>summary>span{font-size:22px;line-height:1}
.celebration-inquiry[open]>summary>span{transform:rotate(45deg)}
.celebration-form{padding:20px;margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:5px}
.celebration-form label{font-size:13px;color:var(--ink)}
.celebration-form input{font-size:16px;min-height:46px;background:#fbfaf6}
.celebration-form .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
.celebration-form .field small{display:block;margin-top:6px;font-size:12px;line-height:1.45;color:var(--muted)}
.celebration-form>.btn{width:100%;min-height:46px;margin-top:10px}
.celebration-copy .celebration-form-note{font-size:12px;line-height:1.55;margin:12px 0 0;text-align:left}
.celebration-form .error{color:#a23623;text-align:left;margin:12px 0 0}
.celebration-form .error:empty{display:none}
@media(max-width:380px){.celebration-form{padding:16px}.celebration-form .fields{grid-template-columns:minmax(0,1fr)}}

/* October 18 review: retain the established design, refine scale and rhythm. */
:root{--action:#4a5b98;--action-hover:#3e4d83}
header .nav .original-brand{width:174px}
header .nav .menu-toggle{display:flex;flex-direction:column;gap:3px;width:48px;height:50px;min-height:50px;border-color:transparent;background:transparent;padding:4px}
header .nav .menu-toggle .menu-icon{font-size:24px;line-height:1}
header .nav .menu-toggle .menu-label{display:block;font:600 8px/1.2 Arial,sans-serif;letter-spacing:1.1px;text-align:center}
.heritage-intro{max-width:850px;gap:22px;padding-block:34px}
.heritage-intro h1{font-size:clamp(26px,3.1vw,36px);line-height:1.24;letter-spacing:-.5px;max-width:660px;margin:0 auto;text-wrap:balance}
.heritage-intro .heritage-description>p:not(.fine){max-width:660px;font-size:14px;line-height:1.75;margin:0 auto 12px;text-align:left;}
.heritage-description .hero-actions{display:flex;justify-content:center;margin:22px 0 12px}
.heritage-description .hero-actions .btn{width:auto;min-width:210px;font-size:13px;padding:13px 20px}
.house .house-video-heading{padding:22px 18px;min-height:144px}
.house .house-video-heading .house-subtitle{max-width:25em}
.house .house-body .house-description{font-size:14px;line-height:1.7;margin:0 0 16px;text-align:left;}
.house-photos-heading{justify-content:center}
.house .house-photos-link{display:flex;align-items:center;justify-content:flex-end;gap:16px;width:100%;text-align:right;font-size:14px}
.house-photos-link .photo-count{font-size:11px;color:var(--muted);font-weight:400}
.video-help{font-size:10px!important;line-height:1.4!important;text-align:center!important;margin:8px 12px 0!important;color:var(--muted)}
.house-details{margin:0 0 20px;border-block:1px solid var(--line)}
.house-details summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;cursor:pointer;list-style:none;color:var(--blue);font-size:12px}
.house-details summary::-webkit-details-marker{display:none}
.house-details summary>span{font-size:19px}
.house-details[open] summary>span{transform:rotate(45deg)}
.house .house-body .house-details p{font-size:12px;line-height:1.6;margin:0 0 14px;text-align:left}
#vila .section-head{display:block;max-width:760px;margin:0 auto 28px;text-align:center}
#vila .section-head h2{margin-top:0}
.quintal-intro p{font-size:14px;line-height:1.75;max-width:660px;margin:0 auto 10px;color:var(--muted);text-align:left}
.quintal-intro small{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:14px}
.quintal-media{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:24px;max-width:1020px;margin:auto;align-items:center}
.quintal-media .vila-portrait-film{margin:0}
.quintal-media video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#141925;border-radius:7px}
.quintal-photos{min-width:0}
.quintal-main-photo,.quintal-details-photos button{display:block;position:relative;padding:0;border:0;border-radius:7px;overflow:hidden;background:#dfe5de;cursor:zoom-in;width:100%}
.quintal-main-photo img{width:100%;height:auto;object-fit:contain}
.quintal-main-photo span{position:absolute;right:14px;bottom:14px;background:#fffdf8f0;color:var(--blue);padding:9px 12px;font:12px/1.4 Arial,sans-serif;border-radius:3px}
.quintal-details-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.quintal-details-photos img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.celebration-copy .celebration-lead{font-size:20px;line-height:1.4;text-align:left}
.celebration-copy>p:not(.celebration-conditions){line-height:1.75}
.compact-tariff{padding:24px}
.compact-tariff-prices dt{font-size:13px;font-weight:500}
.compact-tariff-prices dd{font-size:31px;margin-top:9px}
.compact-tariff-scope{font-size:13px;margin:15px 0 22px;color:var(--ink)}
.compact-tariff-extra,.compact-tariff-terms{font-size:12px;line-height:1.65}
.vb-guide-card>summary{padding:17px 42px 17px 20px}
.vb-guide-card>summary h3{font-size:21px;line-height:1.25;margin:0}
.vb-guide-card{margin-bottom:10px}
.vb-guide-content{padding:0 20px 18px;gap:18px}
.vb-stop p{font-size:13px;line-height:1.65}
.event-highlight{padding:14px}
.map-context{font-size:12px;line-height:1.6;max-width:550px;margin:-8px auto 18px;color:var(--muted)}
.reviews-actions{gap:12px 24px}
.reviews-intro{max-width:620px;margin-inline:auto}
#duvidas summary{min-height:52px;padding:15px 0;font-size:14px}
#duvidas details p{font-size:13px;line-height:1.7}
footer .brand{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.footer-wordmark{position:relative;display:block;width:188px;aspect-ratio:1448/475;overflow:hidden}
.footer-wordmark img{position:absolute;left:0;top:-71.578947%;width:100%;max-width:none;height:auto;filter:brightness(0) invert(1)}
footer .brand>small{font:italic 12px/1.5 Georgia,serif;text-transform:none;letter-spacing:0;margin:0;color:#e4e7ee}
@media(min-width:1100px){header .nav .menu-toggle{display:none}header .nav .original-brand{width:160px}}
@media(max-width:700px){
 header .nav{min-height:80px;padding-block:9px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
 header .nav .original-brand{width:154px}
 header .nav .menu-toggle{width:44px;height:48px;min-height:48px}
 header .nav #main-nav{max-height:calc(100dvh - 94px)}
 .heritage-intro{padding-block:28px;gap:20px}
 .heritage-intro h1{font-size:27px;max-width:340px;line-height:1.25}
 .heritage-intro .heritage-description>p:not(.fine){font-size:14px;line-height:1.75}
 .heritage-description .hero-actions{display:flex}
 .heritage-description .hero-actions .btn{width:100%;max-width:340px;font-size:13px;min-height:48px}
 .house .house-video-heading{min-height:0;padding:22px 18px}
 .house .house-video-heading h3{font-size:25px}
 .house-body{padding:20px 18px}
 .house .house-body .house-description{font-size:14px;line-height:1.75}
 .quintal-media{grid-template-columns:minmax(0,1fr);gap:20px}
 .quintal-media .vila-portrait-film{width:min(100%,380px);margin-inline:auto}
 .quintal-intro p{font-size:14px;line-height:1.75}
 .quintal-details-photos{gap:8px}
 .quintal-main-photo span{font-size:11px;right:10px;bottom:10px;padding:8px 10px}
 .compact-tariff{padding:20px 16px}
 .compact-tariff-prices dt{font-size:12px}
 .compact-tariff-prices dd{font-size:29px}
 .compact-tariff-scope{font-size:12px;line-height:1.5}
 .vb-guide-card>summary{padding:16px 38px 16px 16px}
 .vb-guide-card>summary h3{font-size:20px}
 .vb-guide-content{padding:0 16px 16px}
 .reviews-actions{flex-direction:column;align-items:center}
 #comparar-casas .compact-comparison td,#comparar-casas .compact-comparison td small{font-size:12px;line-height:1.5}
 .fields input,.fields select{font-size:16px}
 .footer-wordmark{width:180px}
}
@media(max-width:360px){header .nav .original-brand{width:142px}.compact-tariff-prices dd{font-size:26px}}

/* Leitura refinada da abertura e tipografia responsiva. */
.heritage-intro{gap:clamp(24px,4vw,48px);padding-block:clamp(32px,4vw,48px)}
.heritage-intro h1{font-size:clamp(34px,3.7vw,48px);line-height:1.16;letter-spacing:-.7px;max-width:660px;text-wrap:balance}
.heritage-intro .heritage-description>p:not(.fine){max-width:660px;font-size:17px;line-height:1.62;margin:0 0 17px;text-align:left;text-align-last:auto;hyphens:none}
main h2,main .section-head h2,main .celebration-copy h2,main .hosts-grid h2,main .faq-grid h2{font-size:clamp(28px,2.7vw,36px);line-height:1.2}
main .section-head p,main .quintal-intro p{font-size:17px;line-height:1.6;text-align:left}
main .house .house-body .house-description{font-size:17px;line-height:1.62;text-align:left;hyphens:none}
main .house .house-body .house-sleeping{font-size:15px;line-height:1.6;text-align:left}
main .house .house-body .specs{font-size:14px;line-height:1.55;text-align:left}
main .shared-note{font-size:15px;line-height:1.6;text-align:left}
main .btn,.hero-actions .btn,.mobile-cta .btn{font-size:16px;line-height:1.4}
@media(max-width:700px){
 html{scroll-padding-top:88px}
 .heritage-intro{padding:28px 0;gap:18px}
 .heritage-intro h1{font-size:31px;line-height:1.18;letter-spacing:-.35px;max-width:360px;margin:0 auto;text-align:center}
 .heritage-intro .heritage-description>p:not(.fine){font-size:17px;line-height:1.6;margin:0 auto 16px;text-align:left;text-align-last:auto;hyphens:none}
 main h2,main .section-head h2,main .celebration-copy h2,main .hosts-grid h2,main .faq-grid h2{font-size:26px;line-height:1.23}
 main .house .house-body .house-description{font-size:17px;line-height:1.6;text-align:left}
 main .section-head p,main .quintal-intro p{font-size:17px;line-height:1.6;text-align:left}
 main .btn,.hero-actions .btn,.mobile-cta .btn{font-size:16px;min-height:48px}
}
@media(min-width:701px) and (max-width:1024px){
 .heritage-intro h1{font-size:36px}
 .heritage-intro .heritage-description>p:not(.fine){font-size:17px}
 main h2,main .section-head h2,main .celebration-copy h2,main .hosts-grid h2,main .faq-grid h2{font-size:30px}
}

/* Opening without a headline: bring the presentation copy closer to the facade. */
.heritage-intro{gap:0;padding-block:clamp(20px,2.5vw,28px)}
@media(max-width:700px){.heritage-intro{padding-block:18px}}

/* Nine approved mobile-focused refinements */
main p{text-align:left;text-align-last:auto;hyphens:none}
.experience-section{background:#e9eeeb;padding:54px 0;text-align:center;scroll-margin-top:140px}
.experience-section h2{font-size:clamp(28px,3.2vw,38px);margin:0 0 24px;text-wrap:balance}
.experience-video{width:min(100%,390px);margin:0 auto;border-radius:8px;overflow:hidden;background:#111820;box-shadow:0 14px 38px #20343d1a}
.experience-video video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain}
.location-cover{margin:0 0 22px;overflow:hidden;border-radius:6px;aspect-ratio:16/9;background:#e9eeeb}
.location-cover img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:700px){
 html{scroll-padding-top:100px}
 main h1:not(.sr-only){font-size:clamp(28px,8vw,34px)!important;line-height:1.15;letter-spacing:-.5px;text-wrap:balance}
 main h2:not(.sr-only){font-size:clamp(24px,6.5vw,28px)!important;line-height:1.2;letter-spacing:-.35px;text-wrap:balance;margin-block:10px 15px!important}
 .experience-section{padding:36px 0;scroll-margin-top:100px}
 .experience-section h2{margin-bottom:18px!important}
 .experience-video{width:min(100%,390px)}
 .location-cover{aspect-ratio:4/3}
 .shared-note{font-size:12px;line-height:1.6;margin:14px 0 0}
 .reviews-section{padding:32px 0}
 .reviews-panel{margin:12px 0;padding:8px}
 .reviews-intro{margin:0 0 12px;line-height:1.55}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Alinhamento bilateral dos textos corridos, com títulos e controles preservados. */
body p:not(.fine):not(.sr-only):not(.video-help):not(.house-subtitle):not(.events-subtitle):not(.map-eyebrow):not(.map-address):not(.error){text-align:left!important;text-align-last:auto;hyphens:none;text-justify:auto}

/* Dois vídeos da experiência, com navegação por rolagem no celular. */
.experience-gallery{width:min(100%,1100px);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,3vw,30px);align-items:start}
@media(min-width:701px) and (max-width:960px){.experience-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-video:last-child:nth-child(odd){grid-column:1/-1;width:min(100%,390px);justify-self:center}}
.experience-video figcaption{padding:12px 8px 0;color:#40505b;font-size:15px;line-height:1.45}
@media(max-width:700px){.experience-gallery{width:100vw;max-width:none;margin-inline:calc(50% - 50vw);display:flex;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:0 max(18px,calc((100vw - 390px)/2)) 8px;scrollbar-width:thin}.experience-video{flex:0 0 min(82vw,390px);width:min(82vw,390px);max-width:390px;margin:0;scroll-snap-align:center}.experience-video figcaption{font-size:14px}}

.tariff-service-note{margin:18px 0 24px;padding:18px 22px;background:#fff;border-left:3px solid var(--terra)}.tariff-service-note h3{margin:0 0 8px;font:600 13px/1.35 Arial,sans-serif;letter-spacing:.08em;color:var(--blue)}.tariff-service-note p{margin:0;font-size:14px;line-height:1.65}
/* Aproxima tarifas da seção das casas. */
main #casas{padding-bottom:16px}
main #tarifas{padding-top:16px}
@media(max-width:700px){main #casas{padding-bottom:8px}main #tarifas{padding-top:8px}}

/* Ajuste tipográfico e de ritmo visual da seção A Vila. */
@font-face{font-family:"Vila Bela Logo Script";src:url("logo-script.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
#vila{padding-block:36px}
#vila .section-head{margin:0 auto 14px}
#vila #quintal-title{font-family:"Vila Bela Logo Script",cursive;font-size:clamp(36px,5.5vw,48px);font-weight:400;line-height:1.15;letter-spacing:0;color:#001765}
#vila .quintal-media{gap:20px}
#vila .quintal-details-photos{gap:8px;margin-top:10px}
@media(max-width:700px){#vila{padding-block:24px}#vila .section-head{margin-bottom:12px}#vila .quintal-media{gap:14px}}

.experience-video.video-square video{aspect-ratio:1/1}
