/* Guia de território: escopo restrito à Vila da Serra. */
body.twa-vila-page{background:#f7f4ed}
body.twa-vila-page .content_wrapper{width:100%;max-width:none;margin:0;padding:0;background:#f7f4ed}
.vila-guide{--ink:#263b31;--muted:#687169;--gold:#96794c;--line:#d9d5c9;--paper:#f7f4ed;color:var(--ink);background:var(--paper);font:15px/1.75 "Avenir Next","Segoe UI",Arial,sans-serif}
.vila-guide *,.vila-guide *:before,.vila-guide *:after{box-sizing:border-box}
.vila-guide :is(h1,h2,h3,p,figure,ol){margin:0;padding:0}
.vila-guide :is(h1,h2,h3){color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-weight:400;text-transform:none;letter-spacing:-.045em}
.vila-guide h2{font-size:clamp(38px,4.2vw,60px);line-height:1.08}
.vila-guide h3{font-size:26px;line-height:1.15}
.vila-guide p{font:14px/1.85 "Avenir Next","Segoe UI",Arial,sans-serif;color:var(--muted)}
.vila-guide em{font-weight:400;color:var(--gold)}
.vila-guide a{color:inherit;text-decoration:none}
.vila-guide :is(a,button,summary,[role=tabpanel]):focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.vila-guide .vg-shell{width:min(1240px,calc(100% - 112px));margin-inline:auto}
.vila-guide .vg-section{padding-block:88px}
.vila-guide :is(section,figure){scroll-margin-top:150px}
.vila-guide .vg-kicker{display:block;margin-bottom:20px;color:var(--gold);font:600 10px/1.5 "Avenir Next","Segoe UI",Arial,sans-serif;letter-spacing:2px;text-transform:uppercase}
.vg-hero{display:grid;grid-template-columns:.82fr 1.18fr;gap:60px;align-items:center;padding-block:34px 46px}
.vila-guide .vg-location{font-size:12px;letter-spacing:.03em;margin-bottom:22px}
.vila-guide h1{font-size:clamp(68px,8.2vw,118px);line-height:.93;letter-spacing:-.06em}
.vila-guide .vg-lead{margin-top:27px;font:26px/1.3 Georgia,serif;letter-spacing:-.025em;color:var(--ink)}
.vila-guide .vg-intro{max-width:36ch;margin:19px 0 26px;font-size:14px}
.vila-guide .vg-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:13px 24px;border:1px solid transparent;border-radius:20px;font:600 11px/1.5 "Avenir Next","Segoe UI",Arial,sans-serif;letter-spacing:.03em;transition:background .2s,transform .2s}
.vg-button:hover{transform:translateY(-2px)}
.vila-guide .vg-button-dark{background:var(--ink);color:#fff}
.vila-guide .vg-button-dark:hover{background:#3d5145}
.vila-guide .vg-button-light{background:#e5d8b9;color:#24372b}
.vila-guide .vg-button-outline{border-color:#c3c6bc;background:transparent;color:inherit}
.vila-guide .vg-text-link{display:inline-block;font-size:12px;font-weight:600;border-bottom:1px solid #bca77e;padding-block:7px}
.vg-hero-copy>.vg-text-link{display:table;margin-top:15px}
.vg-hero-photo{position:relative;height:650px;overflow:hidden;border-radius:20px;background:#ccd0c7}
.vg-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.vg-hero-photo:after,.vg-gallery figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(15,32,22,.76))}
.vg-hero-photo figcaption{position:absolute;bottom:35px;left:35px;z-index:1;color:#fff}
.vg-hero-photo figcaption span{font-size:9px;letter-spacing:2px;color:#e2d5b9}
.vila-guide .vg-hero-photo figcaption p{font:30px/1.1 Georgia,serif;letter-spacing:-.025em;color:#fff;margin:12px 0 15px}
.vg-hero-photo figcaption small{font-size:10px;color:#e0e5dc}
.vg-photo-mark{position:absolute;top:35px;left:35px;z-index:1;font-size:9px;letter-spacing:2px;color:#fff;text-shadow:0 1px 7px #24372b}




.vg-overview{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
.vila-guide .vg-large-copy{font:26px/1.45 Georgia,serif;color:var(--ink);letter-spacing:-.02em;margin-bottom:20px}
.vg-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:34px;border-top:1px solid var(--line)}
.vg-facts>div{padding:22px 20px 0 0}
.vg-facts b{font-size:10px;letter-spacing:1px;color:var(--gold)}
.vg-facts h3{margin:12px 0 8px}
.vg-facts p{font-size:12px}
.vg-gallery-section{background:#efede4}
.vg-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:36px}
.vg-section-head>p,.vg-section-head>div+div{max-width:38ch}
.vg-gallery{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:255px 255px;gap:16px}
.vg-gallery figure{position:relative;overflow:hidden;border-radius:20px;background:#c9cec3}
.vg-gallery .vg-gallery-main{grid-row:span 2}
.vg-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.vg-gallery figure:hover img{transform:scale(1.035)}
.vg-gallery figcaption{position:absolute;bottom:24px;left:25px;right:20px;z-index:1;color:#fff}
.vg-gallery figcaption span{font-size:9px;letter-spacing:1.5px}
.vila-guide .vg-gallery h3{color:#fff;font-size:29px;margin-top:8px}
.vg-gallery small{display:block;margin-top:10px;font-size:10px;color:#e0e5dc}
.vg-profile{border-top:1px solid var(--line)}
.vg-tabs{display:flex;gap:36px;border-bottom:1px solid var(--line);overflow:auto}
.vg-tabs button{flex:none;border:0;border-bottom:2px solid transparent;background:transparent;padding:20px 0;color:var(--muted);font:500 13px "Avenir Next","Segoe UI",Arial,sans-serif;cursor:pointer}
.vg-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--gold)}
.vg-panel{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:40px 0 0}
.vg-panel[hidden]{display:none}
.vg-panel h3{font-size:34px;margin-bottom:18px}
.vg-panel .vg-kicker{margin-bottom:14px}
.vg-panel ol{list-style:none;counter-reset:none}
.vg-panel li{display:flex;gap:22px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}
.vg-panel li span{font-size:10px;color:var(--gold);padding-top:3px}
.vg-routine{background:#e9ece3}
.vg-routine-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center}
.vg-routine figure{position:relative;height:600px;overflow:hidden;border-radius:20px}
.vg-routine img{width:100%;height:100%;object-fit:cover}
.vg-routine figcaption{position:absolute;bottom:18px;left:20px;padding:5px 10px;background:rgba(247,244,237,.92);font-size:10px}
.vg-routine-list>div{padding:22px 0;border-bottom:1px solid #c9cebf}
.vg-routine h3{font-size:24px;margin-bottom:10px}
.vg-routine-list a{font-size:11px;border-bottom:1px solid #9a9e8e}
.vg-routine .vg-text-link{margin-top:22px}
.vg-condos{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);gap:0 35px}
.vg-condo{display:flex;align-items:center;gap:18px;min-height:100px;border-bottom:1px solid var(--line);transition:background .2s}
.vg-condo:hover{background:#eceade}
.vg-condo-number{color:var(--gold);font-size:10px;align-self:flex-start;margin-top:31px}
.vg-condo strong{display:block;font:23px/1.15 Georgia,serif;letter-spacing:-.035em;font-weight:400}
.vg-condo small{display:block;margin-top:8px;color:var(--muted);font-size:10px}
.vg-condo-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);margin-left:auto;flex:none}
.vila-guide .vg-note{font-size:11px;margin-top:22px}
.vg-choose{background:#263b31;color:#f6f3eb}
.vila-guide .vg-choose :is(h2,summary){color:#f6f3eb}
.vila-guide .vg-choose p{color:#c5cec2}
.vg-choose-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:90px}
.vg-choose-grid>div>p:not(.vg-kicker){max-width:36ch;margin-top:25px}
.vg-choose .vg-button{margin-top:28px;color:#fff;border-color:#5c6a5e}
.vg-checklist details{border-color:#5b695c!important}
.vila-guide details{border-bottom:1px solid var(--line)}
.vila-guide summary{display:flex;align-items:center;gap:20px;padding:25px 0;list-style:none;font:23px/1.25 Georgia,serif;letter-spacing:-.025em;cursor:pointer}
.vila-guide summary::-webkit-details-marker{display:none}
.vila-guide summary>span{font:10px "Avenir Next","Segoe UI",Arial,sans-serif;color:#b99a5f}
.vila-guide summary i{margin-left:auto;flex:none;width:10px;height:10px;position:relative}
.vila-guide summary i:before,.vila-guide summary i:after{content:"";position:absolute;top:5px;left:0;width:10px;height:1px;background:currentColor}
.vila-guide summary i:after{transform:rotate(90deg);transition:transform .2s}
.vila-guide details[open] summary i:after{transform:rotate(0)}
.vila-guide details>p{padding:0 30px 25px 0;max-width:65ch}
.vg-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.vg-faq summary{font-size:22px}
.vg-close{background:#e8e0ce;text-align:center;padding:70px 45px;border-radius:20px}
.vg-close p:not(.vg-kicker){margin:23px auto 28px;max-width:52ch}
.vg-close h2{font-size:clamp(34px,3.7vw,52px)}
.vg-close>div{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.vg-credits{padding-block:30px 55px}
.vila-guide .vg-credits p{font-size:10px;line-height:1.8}
.vg-credits a{border-bottom:1px solid #bca77e}
@media(min-width:1600px){.vg-hero{padding-top:48px}.vg-hero-photo{height:700px}}
@media(max-width:1050px){
 .vila-guide .vg-shell{width:calc(100% - 64px)}
 .vg-hero{gap:35px;grid-template-columns:.85fr 1.15fr}.vg-hero-photo{height:590px}
 .vg-overview,.vg-routine-grid,.vg-choose-grid,.vg-faq{gap:40px}
 .vg-section-head{gap:30px}.vg-condos{gap:0 22px}.vg-condo strong{font-size:20px}
 .vg-panel{gap:40px}
}
@media(max-width:700px){
 .vila-guide .vg-shell{width:calc(100% - 40px)}
 .vila-guide .vg-section{padding-block:58px}
 .vila-guide h2{font-size:40px}
 .vg-hero{display:block;padding-block:30px 30px}
 .vg-hero-copy{padding:0 0 26px}.vila-guide h1{font-size:76px}
 .vg-hero-copy .vg-kicker{margin-bottom:14px}.vila-guide .vg-location{margin-bottom:22px}
 .vila-guide .vg-lead{font-size:23px;margin-top:20px}.vila-guide .vg-intro{max-width:39ch;font-size:13px;margin:18px 0 24px}
 .vg-hero-photo{height:440px;border-radius:20px}
 .vg-hero-photo figcaption{left:24px;bottom:26px}
 .vila-guide .vg-hero-photo figcaption p{font-size:28px}
 .vg-photo-mark{top:24px;left:24px}

 .vg-overview{display:block}.vg-overview-content{margin-top:30px}
 .vila-guide .vg-large-copy{font-size:23px}.vila-guide p{font-size:13px}
 .vg-facts{gap:14px;margin-top:27px}.vg-facts>div{padding:20px 0 0}
 .vg-facts h3{font-size:21px;margin-top:10px}.vg-facts p{font-size:11px}
 .vg-section-head{display:block;margin-bottom:28px}.vg-section-head>p,.vg-section-head>div+div{margin-top:22px}
 .vg-gallery{grid-template-columns:1fr;grid-template-rows:390px 270px 270px;gap:12px}
 .vg-gallery .vg-gallery-main{grid-row:auto}
 .vila-guide .vg-gallery h3{font-size:26px}
 .vg-panel{display:block;padding-top:30px}.vg-panel h3{font-size:30px}.vg-panel ol{margin-top:24px}
 .vg-tabs{gap:28px}.vg-tabs button{font-size:12px;padding-block:17px}
 .vg-routine-grid{display:flex;flex-direction:column;gap:30px;align-items:stretch}.vg-routine figure{height:350px}
 .vg-routine-list>div{padding-block:19px}.vg-routine h3{font-size:23px}
 .vg-condos{grid-template-columns:1fr 1fr;gap:0 18px}.vg-condo{min-height:103px;gap:9px}.vg-condo strong{font-size:20px}.vg-condo-number{font-size:8px}.vg-condo small{font-size:9px}.vg-condo-dot{display:none}
 .vg-choose-grid,.vg-faq{display:block}.vg-checklist,.vg-faq>div+div{margin-top:30px}
 .vila-guide summary{font-size:23px;padding-block:22px;gap:16px}
 .vg-close{padding:45px 22px;border-radius:20px}.vg-close h2{font-size:33px}
 .vg-close>div{flex-direction:column;align-items:stretch}
 .vg-credits{padding-block:25px 40px}
}
@media(prefers-reduced-motion:reduce){.vila-guide *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Guia do bairro: informações locais, destaques e cantos de 20 px. */
.vg-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.vg-info-grid>article{padding:32px;border:1px solid var(--line);border-radius:20px;background:#efede4}
.vg-info-grid h3{font-size:30px;margin-bottom:18px}
.vg-info-grid .vg-kicker{margin-bottom:16px}
.vg-info-grid a{display:inline-block;margin-top:18px;border-bottom:1px solid #bca77e;font-size:11px}
.vg-featured-section{background:#ebece4}
.vg-property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.vg-property-card{overflow:hidden;border-radius:20px;background:var(--paper);border:1px solid #d9ddce}
.vg-property-photo{display:block;position:relative;height:245px;overflow:hidden;border-radius:20px}
.vg-property-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.vg-property-photo:hover img{transform:scale(1.035)}
.vg-property-photo>span{position:absolute;left:18px;top:18px;padding:6px 12px;border-radius:20px;background:#f7f4ed;color:var(--ink);font-size:10px}
.vg-property-copy{padding:24px}
.vila-guide .vg-property-purpose{font-size:10px;color:var(--gold);margin-bottom:12px}
.vg-property-card h3{font-size:28px;line-height:1.2;min-height:68px}
.vila-guide .vg-property-price{font:28px/1.2 Georgia,serif;color:var(--ink);margin-top:20px}
.vg-property-facts{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin:20px 0;padding:0;color:var(--muted);font-size:11px}
.vg-property-link{display:block;border-top:1px solid var(--line);padding-top:16px;font-size:12px;font-weight:600}
.vg-facts{border-radius:20px}
@media(max-width:1050px){.vg-property-grid{gap:18px}.vg-property-copy{padding:20px}.vg-property-card h3{font-size:25px}}
@media(max-width:700px){.vg-info-grid{grid-template-columns:1fr;gap:14px}.vg-info-grid>article{padding:26px}.vg-info-grid h3{font-size:28px}.vg-property-grid{grid-template-columns:1fr;gap:22px}.vg-property-photo{height:250px}.vg-property-card h3{min-height:0;font-size:29px}.vg-property-copy{padding:24px}.vg-property-card{border-radius:20px}.vila-guide .vg-property-price{font-size:29px}}

.vila-guide .vg-property-price small{font:12px/1.5 "Avenir Next","Segoe UI",Arial,sans-serif;color:var(--muted)}
