:root{--ink:#142e37;--muted:#546970;--green:#087b4b;--lime:#d4e883;--line:#dce5e3;--anchor-offset:6rem}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--anchor-offset)}
body{margin:0;font:400 1rem/1.6 Arial,Helvetica,sans-serif;color:var(--ink);background:#f6f8f7;-webkit-text-size-adjust:100%;text-size-adjust:100%}
a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,summary{cursor:pointer}
a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #78a722;outline-offset:4px}
h1,h2,h3,p,figure{margin:0}h1,h2,h3,p,li{overflow-wrap:anywhere}
img{display:block;width:100%;height:auto;max-width:100%}svg{flex-shrink:0}
.wrap{width:calc(100% - 64px);max-width:1240px;margin-inline:auto;min-width:0}
.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
.skip-link{position:absolute;left:16px;top:-100px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;background:#fffffff5;border-bottom:1px solid var(--line);z-index:20;backdrop-filter:blur(10px)}
.header-inner{min-height:88px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:14px}
.brand{font-family:Georgia,serif;font-size:1.65rem;line-height:1.15;letter-spacing:-.03em;display:block}
.brand span{display:block;font-family:Arial,sans-serif;font-size:.75rem;letter-spacing:.13em;margin-top:7px}
.header-inner nav{display:flex;align-items:center;gap:28px}
.nav-link{font-size:.875rem;padding:12px 0;text-decoration:underline;text-underline-offset:5px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;min-height:52px;padding:13px 18px;border-radius:8px;font-weight:600;font-size:1rem;line-height:1.4;text-align:center;max-width:100%;white-space:normal}
.button-green{background:var(--green);color:#fff;box-shadow:0 3px 7px #12362612}.button-green:hover{background:#05613a}
.button-outline{border-color:#9cb6b0;background:#fff;color:var(--ink)}.button-outline:hover{background:#edf4f1}
.button-lime{background:var(--lime);color:var(--ink)}.button-lime:hover{background:#e4f5a7}
.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.13em}
.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.4fr);gap:40px;align-items:center;padding-block:50px 42px}
.intro .eyebrow{color:#547568}
h1{font-size:clamp(2.1rem,3.8vw,3.4rem);font-weight:400;letter-spacing:-.045em;line-height:1.12;margin-top:14px}
h1 em{font-family:Georgia,serif;font-weight:400;color:#087b4b}
.intro-copy{color:var(--muted);max-width:560px;margin-top:18px}
.intro-aside{padding:26px 0 26px 28px;border-left:1px solid #b6c9c2}
.intro-aside>span{font-size:.875rem;color:var(--green)}.intro-aside strong{display:block;font-size:1.35rem;font-weight:500;margin:8px 0}.intro-aside p{color:var(--muted);font-size:.9375rem}
.catalog{padding-bottom:52px}
.catalog-heading{border-top:1px solid var(--line);padding-top:26px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.catalog-heading h2{font-size:1.5rem;font-weight:500;letter-spacing:-.025em}.catalog-heading p{font-size:.875rem;color:var(--muted)}
.catalog-filter-panel{margin-bottom:10px;border:1px solid #d8e2de;border-radius:12px;background:#fff;overflow:hidden}.catalog-filter-panel>summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 18px;cursor:pointer;color:var(--ink)}.catalog-filter-panel>summary::-webkit-details-marker{display:none}.filter-summary-copy{display:grid;gap:2px;margin-right:auto}.filter-summary-copy strong{font-size:1rem}.filter-summary-copy small{font-size:.78rem;font-weight:500;color:var(--muted)}.filter-summary-state{font-size:.75rem;font-weight:700;color:#547568}.filter-toggle-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--green);color:#fff;font-size:1.3rem;line-height:1;transition:transform .2s ease}.catalog-filter-panel[open] .filter-toggle-icon{transform:rotate(45deg)}.catalog-filter-panel .catalog-filters{margin:0;padding:18px;border:0;border-top:1px solid #d8e2de;border-radius:0;background:#fff;display:grid;gap:16px}.filter-group{min-width:0}.filter-group>p{font-size:.75rem;font-weight:700;letter-spacing:.08em;color:#547568;margin-bottom:8px;text-transform:uppercase}.filter-options{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{border:1px solid #a6bdb4;background:#f7faf8;color:var(--ink);border-radius:999px;min-height:42px;padding:8px 14px;font-size:.875rem;font-weight:600;cursor:pointer}.filter-chip:hover{background:#edf4f1}.filter-chip.is-active{background:var(--green);border-color:var(--green);color:#fff}.filter-reset{justify-self:start;border:0;background:transparent;color:var(--green);padding:5px 0;font:inherit;font-size:.875rem;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.filter-status{font-size:.875rem;color:var(--muted);min-height:1.4em;margin-bottom:12px}.filter-status:empty{display:none}
.property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.catalog-order>.property-grid{margin-top:48px}.property-grid.single-property-grid{grid-template-columns:minmax(0,609px);justify-content:center}
.property-card[hidden],.property-grid[hidden],.quinta-line[hidden]{display:none}
.property-card{min-width:0;border:1px solid #d8e2de;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 7px 22px #142e3707}
.property-cover{display:block;position:relative;overflow:hidden;background:#dfe8e5}
.property-cover img{aspect-ratio:16/10;object-fit:cover}
.delivery-badge{position:absolute;top:14px;left:14px;right:auto;max-width:calc(100% - 28px);background:#fffffff5;color:var(--ink);padding:7px 11px;border-radius:6px;font-size:.875rem;line-height:1.5;box-shadow:0 2px 8px #0001}
.cover-zoom{position:absolute;right:12px;bottom:12px;width:36px;height:36px;display:grid;place-items:center;background:#ffffffeb;border-radius:50%}.cover-zoom .icon{width:18px;height:18px}
.property-content{padding:22px}
.property-tag{color:#4c7165;font-size:.75rem;line-height:1.5;min-height:2.25rem}
.property-content h3{font-size:1.65rem;letter-spacing:-.035em;font-weight:500;line-height:1.25;margin:4px 0 10px}
.location{font-size:.875rem;color:var(--muted);min-height:2.8rem;line-height:1.5}
.location-highlight{display:grid;gap:3px;min-height:0;margin:12px 0 14px;padding:12px 14px;border-radius:8px;background:var(--green);color:#fff;box-shadow:0 5px 14px #087b4b24}.location-highlight span{color:var(--lime);font-size:.75rem;font-weight:700;letter-spacing:.1em}.location-highlight strong{font-size:1.05rem;line-height:1.35}
.property-spec{border-block:1px solid var(--line);padding-block:12px;margin-block:15px;font-size:.875rem;font-weight:600;min-height:4.3rem;display:flex;align-items:center}
.amenities{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;align-content:start;gap:7px;min-height:70px}
.amenities li{background:#eef4f1;border:1px solid #e3ece7;border-radius:5px;padding:5px 8px;font-size:.75rem;line-height:1.5}
.price-block{margin-block:20px 16px}.price-block>span{font-size:.875rem;color:var(--muted)}.price-block p{font-size:2rem;font-weight:600;letter-spacing:-.045em;line-height:1.3}.price-block small{font-size:1.25rem;font-weight:400;letter-spacing:-.02em}
.entry-plan{margin:-7px 0 16px;padding:9px 11px;border-left:3px solid var(--green);background:#e8f0ed;color:#315b50;font-size:.875rem;line-height:1.45}.entry-plan strong{color:var(--green);font-size:1rem}
.price-options{display:grid;gap:8px}.price-option{display:grid;grid-template-columns:minmax(76px,1fr) auto auto;gap:8px 12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line);font-size:.875rem}.price-option strong{font-weight:600}.price-option del{color:#78898e}.price-option b{font-size:1.15rem;color:var(--green);white-space:nowrap}
.price-consult p{font-size:1.55rem;letter-spacing:-.025em;min-height:2.6rem;display:flex;align-items:center}
.property-cta{width:100%}
.property-details{margin-top:12px}
.property-details summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border:1px solid #a6bdb4;border-radius:8px;font-size:.875rem;font-weight:600;min-height:48px;background:#f7faf8}
.property-details summary::-webkit-details-marker{display:none}.property-details summary>span{font-size:1.35rem;line-height:1}.property-details[open] summary>span{transform:rotate(45deg)}
.details-content{padding-top:18px}.details-content>p{font-size:.875rem;color:var(--muted);margin-bottom:14px}
.detail-gallery{display:grid;gap:14px}
.detail-photo{display:block;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#f2f6f4}
.detail-photo img{aspect-ratio:16/10;object-fit:contain;background:#e8eeec}
.detail-photo>span{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.875rem;line-height:1.4}
.detail-photo .icon{width:18px;height:18px}.details-content .small-note{margin-top:12px}.details-content .button{width:100%}
.catalog-note{margin-top:22px;font-size:.75rem;color:var(--muted);line-height:1.7;max-width:1000px}
.quinta-line{margin-top:48px;padding-top:34px;border-top:1px solid var(--line)}
.quinta-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:20px}
.quinta-heading .eyebrow{color:#547568;margin-bottom:8px}.quinta-heading h2{font:400 2rem/1.15 Georgia,serif;letter-spacing:-.035em}.quinta-guide{max-width:500px}.quinta-guide>p{color:var(--muted);font-size:.875rem}
.carousel-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}.swipe-hint{display:inline-flex;align-items:center;gap:8px;background:#e5f0eb;color:#075d3a;border:1px solid #c9ddd4;border-radius:999px;padding:7px 12px;font-size:.875rem;font-weight:700;white-space:nowrap}.swipe-hint>span{font-size:1.1rem}.carousel-buttons{display:flex;gap:8px}.carousel-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid #9cb6b0;border-radius:50%;background:#fff;color:var(--ink);box-shadow:0 2px 7px #142e3710}.carousel-button:hover{background:#edf4f1}.carousel-button:disabled{opacity:.35;cursor:not-allowed}.carousel-button:first-child .icon{transform:rotate(180deg)}
.quinta-grid{display:flex;gap:22px;align-items:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;padding:2px 2px 18px;scrollbar-color:#87a79d #e2ebe7;scrollbar-width:thin}
.quinta-grid:focus-visible{outline:3px solid #78a722;outline-offset:5px}.quinta-grid::-webkit-scrollbar{height:9px}.quinta-grid::-webkit-scrollbar-track{background:#e2ebe7;border-radius:99px}.quinta-grid::-webkit-scrollbar-thumb{background:#87a79d;border-radius:99px}
.quinta-card{flex:0 0 calc((100% - 22px)/2);scroll-snap-align:start;scroll-snap-stop:always}.quinta-card .property-cover img{aspect-ratio:16/8;object-fit:cover}.quinta-card .property-content{padding:20px}.quinta-card .property-tag{min-height:0}
.contact-section{background:var(--ink);color:#fff;padding-block:60px}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:start}
.contact-copy{position:sticky;top:calc(var(--anchor-offset) + 20px)}
.contact-copy .eyebrow{color:var(--lime)}.contact-copy h2{font-size:clamp(2rem,3vw,2.8rem);font-weight:400;line-height:1.18;letter-spacing:-.035em;margin-block:18px 22px}
.contact-copy>p:not(.eyebrow){color:#c6d6d9}.contact-copy ul{padding:0;list-style:none;display:grid;gap:12px;margin:25px 0}
.contact-copy li{padding-left:26px;position:relative}.contact-copy li:before{content:'✓';position:absolute;left:0;color:var(--lime)}
.contact-copy .contact-note{font-size:.8125rem;max-width:420px}
.form-title{font-size:1.4rem;font-weight:500;margin-bottom:20px}
.lead-form{padding:26px;background:#213f49;border:1px solid #4e6871;border-radius:12px;display:grid;gap:18px}
.form-field{display:grid;gap:7px;min-width:0}
.form-field label{font-size:1rem;font-weight:500}
.form-field input,.form-field select{font-size:1rem;line-height:1.5;color:var(--ink);background:#fff;border:2px solid #c6d5d7;border-radius:6px;min-height:52px;width:100%;min-width:0;padding:12px;scroll-margin-block:100px}
.form-field input::placeholder{color:#63757b;opacity:1}
.form-field small,.form-disclosure{font-size:.875rem;line-height:1.55;color:#d1dfe2}
.lead-form .button{width:100%;cursor:pointer}.lead-form .button:disabled{opacity:.6;cursor:wait}
.form-status{font-size:.875rem;color:#e2edb8}.form-status:empty{display:none}
.site-footer{padding-block:35px 90px;display:flex;justify-content:space-between;gap:45px;align-items:start}
.site-footer>div{min-width:0}.site-footer>div>p{color:var(--muted);font-size:.875rem;margin-top:12px}
.small-note{font-size:.75rem;color:var(--muted);line-height:1.7}.site-footer>.small-note{max-width:500px}
.floating-whatsapp{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:max(20px,env(safe-area-inset-bottom,0px));z-index:25;background:var(--green);color:#fff;width:56px;height:56px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;box-shadow:0 4px 16px #12362640}
.floating-whatsapp:hover{background:#055f39}.floating-whatsapp .icon{width:28px;height:28px}.form-active .floating-whatsapp,.form-visible .floating-whatsapp{visibility:hidden;pointer-events:none}
body.modal-open{overflow:hidden}
.image-dialog{width:min(1200px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:94vh;margin:auto;border:0;padding:0;border-radius:10px;background:#f6f8f7;color:var(--ink);overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 70px #0005}
.image-dialog::backdrop{background:#091c25d9}
.dialog-top{position:sticky;top:0;z-index:2;background:#f6f8f7;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.dialog-top>span{font-size:.75rem;letter-spacing:.08em}.dialog-top button{width:48px;height:48px;flex-shrink:0;background:var(--ink);color:#fff;font-size:1.8rem;line-height:1;border:0;border-radius:50%}
.dialog-media{background:#e8eeec}.dialog-media img{width:100%;max-height:72vh;object-fit:contain}
#image-caption{font-size:.875rem;padding:14px 18px;line-height:1.5}
@supports(height:100dvh){.image-dialog{max-height:94dvh}.dialog-media img{max-height:72dvh}}
@media(max-width:68rem){.property-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.property-content{padding:18px}.property-content h3{font-size:1.4rem}.property-tag{min-height:3rem}.price-block p{font-size:1.8rem}.contact-layout{gap:40px}.property-spec{min-height:4.6rem}.quinta-grid{gap:16px}.quinta-card{flex-basis:calc((100% - 16px)/2)}.quinta-card .property-tag{min-height:3rem}}
@media(max-width:54rem){
.wrap{width:calc(100% - 40px)}.intro{grid-template-columns:minmax(0,1fr);gap:22px;padding-block:32px}.intro-aside{padding:0;border:0;display:flex;gap:10px 20px;flex-wrap:wrap;align-items:center}.intro-aside strong{display:none}.intro-aside>span{padding:6px 10px;border-radius:5px;background:#e3eee7}
.catalog-heading{display:block}.catalog-heading p{margin-top:7px}
.catalog-filter-panel .catalog-filters{padding:16px}.filter-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding:0}.filter-chip{width:100%;min-height:46px;height:auto;padding:9px 10px;line-height:1.25}
.property-grid{grid-template-columns:minmax(0,1fr);gap:24px;max-width:620px;margin-inline:auto}
.quinta-heading{display:block}.quinta-guide{max-width:none;margin-top:12px}.carousel-navigation{margin-top:10px}.quinta-grid{gap:16px;max-width:none;margin-inline:0}.quinta-card{flex-basis:88%}.quinta-card .property-cover img{aspect-ratio:16/9;object-fit:cover}
.property-content{padding:24px}.property-content h3{font-size:1.8rem}.property-cover img{aspect-ratio:16/9;object-fit:contain}.property-tag,.property-spec,.location,.amenities{min-height:0}
.property-tag{font-size:.875rem}.property-spec{font-size:1rem}.amenities{margin-bottom:2px}.amenities li{font-size:.875rem}.price-block p{font-size:2.15rem}
.contact-layout{grid-template-columns:minmax(0,1fr);max-width:620px;gap:28px}.contact-copy{position:static}.contact-copy h2{font-size:2.15rem}.site-footer{flex-direction:column;gap:22px}
}
@media(max-width:40rem){
.wrap{width:calc(100% - max(16px,env(safe-area-inset-left,0px)) - max(16px,env(safe-area-inset-right,0px)))}
.site-header{padding-top:env(safe-area-inset-top,0px)}.header-inner{min-height:72px;gap:10px;padding-block:10px}.brand{font-size:1.35rem}.brand span{font-size:.75rem;letter-spacing:.05em}
.header-inner nav{gap:0}.nav-link{display:none}.header-cta{font-size:.875rem;padding:10px 12px;min-height:44px}.header-cta .icon{width:18px;height:18px}
.intro{padding-block:28px;gap:18px}h1{font-size:clamp(1.85rem,7.5vw,2.65rem);line-height:1.14}.intro .eyebrow{font-size:.75rem;letter-spacing:.08em}.intro-copy{margin-top:14px;font-size:1rem}
.intro-aside{gap:8px 12px}.intro-aside p,.intro-aside>span{font-size:.8125rem}
.catalog{padding-bottom:34px}.catalog-heading{padding-top:22px;margin-bottom:20px}.catalog-heading h2{font-size:1.35rem}.catalog-heading p{font-size:.875rem}
.catalog-filter-panel>summary{padding-inline:14px;gap:8px}.filter-summary-state{display:none}.catalog-filter-panel .catalog-filters{margin-inline:0}.filter-group>p{font-size:.75rem}.filter-options{margin-right:0;padding-right:0}
.quinta-line{margin-top:38px;padding-top:28px}.quinta-heading{margin-bottom:16px}.quinta-heading h2{font-size:1.75rem}.quinta-guide>p{font-size:.875rem}.carousel-buttons{display:none}.swipe-hint{padding:8px 13px}.quinta-grid{margin-right:calc(-1 * max(16px,env(safe-area-inset-right,0px)));padding-right:max(16px,env(safe-area-inset-right,0px));scroll-padding-left:2px}.quinta-card{flex-basis:90%}.quinta-card .property-content{padding:18px}
.property-content{padding:18px}.property-content h3{font-size:1.65rem}.delivery-badge{top:10px;left:10px;font-size:.8125rem;padding:6px 10px}
.price-block{margin-block:16px}.property-spec{margin-block:12px}.property-details summary{font-size:1rem;min-height:52px}
.detail-gallery{gap:12px}.details-content>p{font-size:1rem}.detail-photo>span{font-size:.875rem}
.contact-section{padding-block:36px}.contact-copy h2{font-size:1.9rem}.contact-copy ul{gap:10px;margin-block:20px}
.lead-form{padding:20px 16px;gap:18px}.form-field input,.form-field select{min-height:56px;padding-inline:10px}.form-title{font-size:1.35rem}
.form-active .site-header{position:relative}.floating-whatsapp{right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px))}
.site-footer{padding-bottom:calc(85px + env(safe-area-inset-bottom,0px))}
.image-dialog{width:calc(100% - 16px);max-width:calc(100% - 16px)}.dialog-top{padding:8px 12px}.dialog-media img{max-height:68vh}
@supports(height:100dvh){.dialog-media img{max-height:68dvh}}
}
@media(max-width:22rem){.header-inner{flex-wrap:wrap}.header-inner nav{margin-left:auto}.delivery-badge{font-size:.75rem}.lead-form{padding:16px 12px}.brand span{letter-spacing:.06em}}
@media(orientation:landscape) and (max-height:32rem){.site-header{position:relative}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Valores por tipologia do The Link, com quebra confortável no celular. */
.link-price-list{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.55rem}
.link-price-list li{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.2rem 1rem;padding:.7rem .8rem;border-radius:.7rem;background:#f4f7f5}
.link-price-list strong{color:#187351;font-variant-numeric:tabular-nums}
@media(max-width:640px){.link-price-list li{display:grid;gap:.25rem}.link-price-list strong{font-size:.95rem}}

/* Faixas do Velli em linhas legíveis no celular. */
.velli-prices{display:grid;gap:.45rem}
.velli-price-row{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.2rem .7rem;padding:.55rem 0;border-bottom:1px solid var(--line)}
.velli-price-row strong{font-size:.9rem}
.velli-price-row b{font-size:1rem;color:var(--green);font-variant-numeric:tabular-nums}

/* Cadastro no mesmo fluxo das landing pages. */
.catalog-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.catalog-consent{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;line-height:1.5;color:#e5eff0}
.catalog-consent input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:#b4df4e}
.catalog-consent a,.catalog-privacy a{color:inherit;text-decoration:underline}
.lead-success{padding:26px;background:#213f49;border:1px solid #4e6871;border-radius:12px;display:grid;gap:18px}
.lead-success[hidden],.lead-form[hidden]{display:none}
.lead-success h3{margin:0;font-size:1.6rem}.lead-success p{margin:0;line-height:1.55}.lead-success .button{justify-content:center;text-align:center}
.lead-edit{background:none;color:#fff;border:0;text-decoration:underline;font:inherit;cursor:pointer;justify-self:start;padding:10px 0}
.catalog-privacy{margin-top:20px;max-width:65ch;font-size:.875rem;line-height:1.55}.catalog-privacy summary{cursor:pointer;font-weight:600}
