
/* Casa Trancoso — site público. Editorial em capítulos, fotos grandes, cantos quase retos, texto mínimo, alternância linho/areia. */
:root{
  color-scheme:light;
  --bg:#fbf8f3;--surface:#fffdf9;--surface-sunk:#f4ede3;--sand-200:#e9ddcc;--line:#e6dccd;--line-strong:#bfa98f;
  --ink:#2e241e;--ink-muted:#6b5a4e;--ink-faint:#8e7c6e;--title:#7a4a30;--clay:#a86f4c;--terracotta:#c29473;--clay-soft:#f1e2d5;
  --sage:#8f977a;--sage-soft:#e7e9dd;--moss:#4f5541;--sea:#6e8c8a;--mist:#dce3df;
  --primary:#2e241e;--on-primary:#fbf8f3;--success:#4f6b42;--success-soft:#e6eddd;--danger:#a4473a;--whatsapp:#a86f4c;--whatsapp-hover:#7a4a30;
  --hero-scrim:rgba(28,20,15,.38);--overlay:rgba(28,20,15,.45);--light:#fbf8f3;
  --font-display:"Newsreader","Iowan Old Style",Georgia,serif;--fsa:cap-height .6;--fwd:500;--font-script:"Mrs Saint Delafield","Pinyon Script",cursive;--font-sans:"Jost","Futura",system-ui,sans-serif;
  --r-sm:4px;--r-md:5px;--r-lg:6px;--r-xl:8px;--r-2xl:8px;--r-pill:5px;
  --sh-1:0 1px 2px rgba(60,40,25,.06),0 2px 8px rgba(60,40,25,.04);--sh-2:0 10px 28px rgba(60,40,25,.10);--sh-3:0 24px 64px rgba(60,40,25,.16);--sh-focus:0 0 0 3px rgba(168,111,76,.30);
  --dur-1:180ms;--dur-2:380ms;--dur-3:700ms;--dur-4:900ms;--dur-5:1300ms;
  --ease-out:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.22,1,.36,1);--ease-soft:cubic-bezier(.25,.46,.45,.94);
  --gutter:clamp(20px,5vw,64px);--section:clamp(96px,11vw,140px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-color:var(--terracotta) var(--surface-sunk);scrollbar-width:thin;background:var(--bg)}
html::-webkit-scrollbar{width:10px}html::-webkit-scrollbar-track{background:var(--surface-sunk)}html::-webkit-scrollbar-thumb{background:var(--terracotta);border-radius:4px;border:2px solid var(--surface-sunk)}html::-webkit-scrollbar-thumb:hover{background:var(--clay)}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.75 var(--font-sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:none;box-shadow:var(--sh-focus);border-radius:4px}
.wrap{width:100%;max-width:1360px;margin:0 auto;padding-inline:var(--gutter)}
.ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* tipografia */
.eyebrow{font:400 11px/16px var(--font-sans);letter-spacing:.32em;text-transform:uppercase;color:var(--ink-muted)}
.eyebrow .sep{color:var(--terracotta);margin:0 .7em;letter-spacing:0}
.display{font-family:var(--font-display);font-weight:500;color:var(--title);line-height:1.04;letter-spacing:-.012em;margin:0;text-wrap:balance}
.display em{font-style:italic;color:var(--clay)}
.script{font-family:var(--font-script);font-weight:400;color:var(--clay);line-height:1}
.lead{font:400 18px/30px var(--font-sans);color:var(--ink-muted);max-width:52ch;margin:0}
.h-xl{font-size:clamp(54px,8.2vw,112px)}
.h-lg{font-size:clamp(42px,5.6vw,76px)}
.h-md{font-size:clamp(34px,3.8vw,52px)}
.sig{display:block;font-size:clamp(52px,6vw,84px);transform:rotate(-4deg);transform-origin:left;margin:0 0 -.32em .1em;position:relative;z-index:2}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 30px;border-radius:var(--r-pill);border:1px solid transparent;font:400 11px/1 var(--font-sans);letter-spacing:.24em;text-transform:uppercase;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--dur-2) var(--ease-out),color var(--dur-2),border-color var(--dur-2),transform var(--dur-2)}
.btn:active{transform:scale(.98)}
.btn--primary{background:var(--primary);color:var(--on-primary)}.btn--primary:hover{background:var(--title)}
.btn--clay{background:var(--clay);color:var(--on-primary)}.btn--clay:hover{background:var(--title)}
.btn--ghost{background:transparent;border-color:var(--line-strong);color:var(--ink)}.btn--ghost:hover{border-color:var(--ink)}
.btn--glass{background:rgba(251,248,243,.12);border-color:rgba(251,248,243,.5);color:var(--light);backdrop-filter:blur(8px)}.btn--glass:hover{background:rgba(251,248,243,.24)}
.btn--icon{width:50px;padding:0}
.link{display:inline-flex;align-items:center;gap:10px;font:italic 300 19px/1 var(--font-display);color:var(--title);text-decoration:none;position:relative;padding-bottom:6px;background:none;border:0;cursor:pointer}
.link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(.3);transform-origin:left;transition:transform var(--dur-3) var(--ease-out)}
.link:hover::after{transform:scaleX(1)}
.link .ico{transition:transform var(--dur-3) var(--ease-out)}.link:hover .ico{transform:translateX(3px)}

/* ---------------- header ---------------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background var(--dur-3) var(--ease-out),box-shadow var(--dur-3),color var(--dur-3);color:var(--light)}
.hdr__in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:86px;transition:height var(--dur-3) var(--ease-out)}
.hdr.is-solid{background:rgba(251,248,243,.86);backdrop-filter:blur(14px) saturate(1.2);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.hdr.is-solid .hdr__in{height:70px}
.nav{display:flex;gap:30px;align-items:center}
.nav a,.nav button{font:400 11px/1 var(--font-sans);letter-spacing:.24em;text-transform:uppercase;text-decoration:none;opacity:.92;background:none;border:0;cursor:pointer;padding:8px 0;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transition:transform var(--dur-3) var(--ease-out)}
.nav a:hover::after{transform:scaleX(1)}
.nav--r{justify-content:flex-end}
.logo{display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none}
.logo b{font:300 25px/1 var(--font-display);letter-spacing:.16em;text-transform:uppercase}
.logo small{font:400 8.5px/1 var(--font-sans);letter-spacing:.55em;text-transform:uppercase;opacity:.8;margin-right:-.55em}
.hbtn{width:42px;height:42px;border-radius:4px;display:grid;place-items:center;border:1px solid currentColor;border-color:rgba(251,248,243,.45);background:none;cursor:pointer;position:relative;transition:border-color var(--dur-2),background var(--dur-2)}
.hdr.is-solid .hbtn{border-color:var(--line-strong)}
.hbtn:hover{background:rgba(251,248,243,.14)}.hdr.is-solid .hbtn:hover{background:var(--surface-sunk)}
.hbtn__n{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;border-radius:4px;background:var(--clay);color:var(--on-primary);font:500 10px/18px var(--font-sans);text-align:center;padding:0 4px;transform:scale(0);transition:transform var(--dur-3) var(--ease-spring)}
.hbtn__n.on{transform:scale(1)}
.hbtn.bump{animation:bump .5s var(--ease-spring)}@keyframes bump{40%{transform:scale(1.18)}}
.lang{display:inline-flex;gap:8px}.lang b{font-weight:500}
.menu-btn{display:grid}
@media (max-width:980px){.nav--l a,.nav--r .hide-m{display:none}.menu-btn{display:grid}.hdr__in{height:72px}.logo b{font-size:20px}}

/* menu mobile */
/* drawer do menu: desce do topo, limpo */
.mmenu{position:fixed;top:0;left:0;right:0;z-index:85;background:var(--bg);color:var(--ink);max-height:100vh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;transform:translateY(-101%);visibility:hidden;box-shadow:0 40px 80px -40px rgba(46,36,30,.35);transition:transform 900ms var(--ease-out),visibility 0s linear 900ms}
.mmenu.open{transform:none;visibility:visible;transition:transform 900ms var(--ease-out),visibility 0s}
.mmenu__bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:86px}
.mmenu__x{justify-self:start;width:44px;height:44px;margin-left:-11px;display:grid;place-items:center;background:none;border:0;color:var(--ink);cursor:pointer;transition:transform var(--dur-3) var(--ease-out),color var(--dur-3) var(--ease-soft)}
.mmenu__x .ico{width:22px;height:22px;stroke-width:1.2}
.mmenu__x:hover{transform:rotate(90deg);color:var(--clay)}
.mmenu__logo{color:var(--ink)}
.mmenu__lang{justify-self:end;display:flex;gap:8px;font:400 11px/1 var(--font-sans);letter-spacing:.2em;color:var(--ink-muted)}
.mmenu__lang a{color:inherit;text-decoration:none;transition:color var(--dur-3) var(--ease-soft)}.mmenu__lang a.on,.mmenu__lang a:hover{color:var(--title)}
.mmenu__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:56px;padding-top:36px;padding-bottom:60px;border-top:1px solid var(--line)}
.mmenu__nav{display:grid;justify-items:start;gap:2px}
.mmenu__nav a{font:500 clamp(24px,2.3vw,30px)/1.4 var(--font-display);color:var(--title);text-decoration:none;padding:3px 0;transition:color var(--dur-3) var(--ease-soft),transform var(--dur-3) var(--ease-out)}
.mmenu__nav a:hover{color:var(--clay);transform:translateX(6px)}
.mmenu__side{display:grid;gap:14px;align-content:start;padding-top:12px;font-size:14px}
.mmenu__side .eyebrow{margin-bottom:4px}
.mmenu__side a{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;transition:color var(--dur-3) var(--ease-soft)}
.mmenu__side a .ico{width:16px;height:16px;color:var(--clay)}
.mmenu__side a:hover{color:var(--clay)}
.mmenu.open .mmenu__nav a,.mmenu.open .mmenu__side>*{animation:mmIn 800ms var(--ease-out) backwards}
.mmenu.open .mmenu__nav a:nth-child(1){animation-delay:260ms}.mmenu.open .mmenu__nav a:nth-child(2){animation-delay:320ms}.mmenu.open .mmenu__nav a:nth-child(3){animation-delay:380ms}.mmenu.open .mmenu__nav a:nth-child(4){animation-delay:440ms}.mmenu.open .mmenu__nav a:nth-child(5){animation-delay:500ms}.mmenu.open .mmenu__nav a:nth-child(6){animation-delay:560ms}.mmenu.open .mmenu__nav a:nth-child(7){animation-delay:620ms}
.mmenu.open .mmenu__side>*{animation-delay:600ms}
@keyframes mmIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.mmenu__ovl{position:fixed;inset:0;z-index:84;background:rgba(46,36,30,.32);opacity:0;pointer-events:none;transition:opacity 700ms var(--ease-soft)}
.mmenu__ovl.open{opacity:1;pointer-events:auto}
@media (max-width:760px){.mmenu__bar{height:72px}.mmenu__in{grid-template-columns:1fr;gap:32px;padding-top:24px;padding-bottom:40px}.mmenu__nav a{font-size:26px}.mmenu__lang{display:none}}

/* ---------------- hero ---------------- */
.hero{position:relative;height:100vh;height:100svh;min-height:640px;color:var(--light);overflow:hidden;background:#3a2c22}
.hero video,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);filter:saturate(.62) sepia(.28) contrast(.96)}
.warm{filter:saturate(.62) sepia(.28) contrast(.96)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,20,15,.42) 0%,rgba(28,20,15,.08) 34%,rgba(28,20,15,.18) 58%,rgba(28,20,15,.62) 100%)}
.hero__in{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(36px,6vh,72px)}
.hero .eyebrow{color:rgba(251,248,243,.86)}
.hero .eyebrow .sep{color:var(--terracotta)}
.hero .script{color:#f1dcc8}
.hero .display{color:var(--light);max-width:12ch}
.hero .display em{color:#f1dcc8}
.hero__top{display:grid;gap:16px;margin-bottom:clamp(28px,5vh,48px)}
.hero__word{display:inline-block;opacity:0;transform:translateY(22px);animation:word 1.3s var(--ease-out) forwards}
@keyframes word{to{opacity:1;transform:none}}
.hero__side{position:absolute;right:var(--gutter);bottom:clamp(36px,6vh,72px);z-index:3;display:flex;flex-direction:column;align-items:center;gap:18px}
.scrollcue{writing-mode:vertical-rl;font:400 10px/1 var(--font-sans);letter-spacing:.36em;text-transform:uppercase;color:rgba(251,248,243,.8);display:flex;align-items:center;gap:12px}
.scrollcue i{width:1px;height:56px;background:rgba(251,248,243,.35);position:relative;overflow:hidden}
.scrollcue i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--light);animation:cue 2.4s var(--ease-out) infinite}
@keyframes cue{to{top:110%}}
@media (max-width:760px){.hero__side{display:none}}

/* busca */
.search{display:grid;gap:12px;position:relative}
.search__tabs{display:inline-flex;gap:4px;padding:4px;border-radius:var(--r-pill);background:rgba(28,23,20,.34);backdrop-filter:blur(12px);justify-self:start}
.search__tab{height:36px;padding:0 22px;border-radius:var(--r-pill);border:0;background:transparent;color:var(--light);font:400 11px/1 var(--font-sans);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:background var(--dur-2),color var(--dur-2)}
.search__tab[aria-selected="true"]{background:var(--bg);color:var(--ink)}
.search__bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:center;background:var(--surface);border-radius:var(--r-pill);padding:8px 8px 8px 12px;box-shadow:var(--sh-3);color:var(--ink)}
.seg{position:relative;padding:8px 20px;border-right:1px solid var(--line);display:grid;gap:4px;min-width:0;cursor:pointer;border-radius:var(--r-pill);transition:background var(--dur-2);text-align:left;background:none;border-top:0;border-bottom:0;border-left:0}
.seg:hover,.seg.open{background:var(--surface-sunk)}
.seg:nth-child(4){border-right:0}
.seg span{font:400 9.5px/1 var(--font-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-muted)}
.seg b{font:400 15px/1.3 var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity var(--dur-2)}
.go{height:58px;padding:0 28px;border-radius:var(--r-pill);border:0;background:var(--primary);color:var(--on-primary);display:inline-flex;align-items:center;gap:10px;font:400 11px/1 var(--font-sans);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:background var(--dur-2)}
.go:hover{background:var(--title)}
.pop{position:absolute;left:0;top:calc(100% + 12px);min-width:260px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-3);padding:8px;opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none;transition:opacity var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out);z-index:20;color:var(--ink)}
.seg.open .pop{opacity:1;transform:none;pointer-events:auto}
.opt{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--r-sm);font-size:14.5px;cursor:pointer;transition:background var(--dur-1)}
.opt:hover{background:var(--surface-sunk)}
.opt small{color:var(--ink-muted);font-size:12px}
.opt.sel{color:var(--title)}.opt.sel::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--clay)}
@media (max-width:860px){.search__bar{grid-template-columns:1fr 1fr;border-radius:var(--r-xl);gap:6px;padding:10px}.seg{border-right:0;background:var(--surface-sunk);border-radius:var(--r-md);padding:12px 14px}.go{grid-column:1/-1;justify-content:center;border-radius:var(--r-md);height:52px}.pop{min-width:0;width:100%}}
/* busca na largura total; as setas/scroll da hero sobem para nao encostar na barra */
.search-slot{width:100%}
@media (min-width:861px){.hero__side{bottom:calc(clamp(36px,6vh,72px) + 150px)}}
/* busca fixa: barra que desce junto ao topo */
.sdock{position:fixed;left:0;right:0;top:var(--sdock-top,70px);z-index:49;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(46,36,30,.3);transform:translateY(-110%);opacity:0;visibility:hidden;transition:transform 750ms var(--ease-out),opacity 500ms var(--ease-soft),visibility 0s linear 750ms}
.sdock.open{transform:none;opacity:1;visibility:visible;transition:transform 750ms var(--ease-out),opacity 500ms var(--ease-soft),visibility 0s}
.sdock__in{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding-top:16px;padding-bottom:16px}
.sdock .search{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px}
.sdock.open .search{animation:sdIn 700ms var(--ease-out) 180ms backwards}
@keyframes sdIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.sdock .search__tabs{background:var(--surface-sunk);backdrop-filter:none}
.sdock .search__tab{color:var(--ink-muted)}
.sdock .search__tab[aria-selected="true"]{background:var(--primary);color:var(--on-primary)}
.sdock .search__bar{box-shadow:none;border:1px solid var(--line)}
.sdock__x{width:44px;height:44px;display:grid;place-items:center;border:0;background:none;color:var(--ink);cursor:pointer;transition:transform var(--dur-3) var(--ease-out),color var(--dur-3) var(--ease-soft)}
.sdock__x .ico{width:20px;height:20px;stroke-width:1.3}
.sdock__x:hover{transform:rotate(90deg);color:var(--clay)}
/* botao da busca: logo abaixo da barra do menu, no canto esquerdo da tela; aparece depois da hero */
.sbtn{position:fixed;left:clamp(16px,2vw,28px);top:calc(var(--hdr-b,70px) + 14px);z-index:48;width:52px;height:52px;border-radius:50%;border:0;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 26px rgba(46,36,30,.24);opacity:0;transform:translateY(-14px) scale(.94);pointer-events:none;transition:opacity 600ms var(--ease-soft),transform 700ms var(--ease-out),background var(--dur-3) var(--ease-soft)}
.sbtn.on{opacity:1;transform:none;pointer-events:auto}
.sbtn.on:hover{background:var(--title);transform:translateY(2px)}
.sbtn.on[aria-expanded="true"]{opacity:0;transform:translateY(-14px) scale(.94);pointer-events:none}
.sbtn .ico{width:21px;height:21px;stroke-width:1.5}
.sbtn__tip{position:absolute;left:calc(100% + 12px);top:50%;transform:translate(-8px,-50%);background:var(--surface);color:var(--ink);padding:11px 18px;border-radius:var(--r-pill);font:400 13px var(--font-sans);box-shadow:var(--sh-2);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-3),transform var(--dur-3) var(--ease-out)}
.sbtn.on:hover .sbtn__tip{opacity:1;transform:translate(0,-50%)}
@media (max-width:860px){.sdock .search{grid-template-columns:1fr}.sdock__in{grid-template-columns:minmax(0,1fr);gap:4px;padding-top:6px}.sdock__x{order:-1;justify-self:end;margin-right:-10px}}
@media (max-width:620px){.sbtn{width:46px;height:46px}.sbtn__tip{display:none}.search{min-width:0}.search__tabs{display:flex;justify-self:stretch}.search__tab{flex:1;min-width:0;padding:0 8px;letter-spacing:.14em}}

/* ---------------- seções ---------------- */
section{position:relative}
.sec{padding-block:var(--section)}
.sec--sand{background:var(--surface-sunk)}
.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(24px,4vw,64px);align-items:center}
.media{position:relative;border-radius:var(--r-2xl);overflow:hidden;background:var(--sand-200);max-width:100%}
.media img{width:100%;height:118%;object-fit:cover;will-change:transform}
.media--45{aspect-ratio:4/5}.media--34{aspect-ratio:3/4}
.tag{position:absolute;left:20px;bottom:20px;padding:9px 16px;border-radius:var(--r-pill);background:rgba(251,248,243,.9);font:400 10px/1 var(--font-sans);letter-spacing:.24em;text-transform:uppercase}

/* manifesto */
.manifesto .txt{grid-column:1/8;display:grid;gap:30px}
.manifesto .pic{grid-column:8/13}
.manifesto .pic2{position:absolute;width:42%;left:-26%;bottom:-12%;border:8px solid var(--bg);border-radius:6px}
.stats{display:flex;gap:clamp(28px,5vw,64px);flex-wrap:wrap;padding-top:8px}
.stat b{display:block;font:300 46px/1 var(--font-display);color:var(--title)}
.stat span{font:400 10px/1.4 var(--font-sans);letter-spacing:.26em;text-transform:uppercase;color:var(--ink-muted)}
@media (max-width:900px){.manifesto .txt,.manifesto .pic{grid-column:1/-1}.manifesto .pic2{display:none}}

/* destaques */
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(40px,5vw,64px)}
.head .t{display:grid;gap:14px}
.ftabs{display:inline-flex;gap:4px;padding:4px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface)}
.ftab{height:38px;padding:0 20px;border-radius:var(--r-pill);border:0;background:none;cursor:pointer;font:400 10.5px/1 var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-muted);transition:background var(--dur-2),color var(--dur-2)}
.ftab[aria-selected="true"]{background:var(--primary);color:var(--on-primary)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px) clamp(20px,2.4vw,32px)}
@media (max-width:980px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.grid{grid-template-columns:1fr}}
.card{display:grid;gap:18px;text-decoration:none;cursor:pointer;min-width:0;transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-out)}
.card.hide{display:none}
.card__media{position:relative;aspect-ratio:4/5;border-radius:var(--r-2xl);overflow:hidden;background:var(--sand-200)}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform 2.2s var(--ease-out)}
.card:hover .card__media img{transform:scale(1.03)}
.card__badges{position:absolute;left:18px;top:18px;display:flex;gap:6px}
.badge{display:inline-flex;align-items:center;height:27px;padding:0 13px;border-radius:var(--r-pill);font:400 9.5px/1 var(--font-sans);letter-spacing:.22em;text-transform:uppercase;background:rgba(251,248,243,.9);color:var(--ink)}
.badge--dark{background:var(--primary);color:var(--on-primary)}
.fav{position:absolute;right:16px;top:16px;width:44px;height:44px;border-radius:4px;border:0;background:rgba(251,248,243,.92);color:var(--title);display:grid;place-items:center;cursor:pointer;transition:transform var(--dur-3) var(--ease-spring)}
.fav:hover{transform:scale(1.04)}
.fav[aria-pressed="true"] svg{fill:var(--clay);stroke:var(--clay)}
.fav.pop-anim svg{animation:heart .55s var(--ease-spring)}@keyframes heart{40%{transform:scale(1.35)}}
.card__view{position:absolute;left:50%;bottom:22px;transform:translate(-50%,10px);opacity:0;transition:opacity var(--dur-3),transform var(--dur-3) var(--ease-out)}
.card:hover .card__view{opacity:1;transform:translate(-50%,0)}
.card__body{display:grid;gap:7px;padding:0 6px}
.card__name{font:300 30px/1.05 var(--font-display);color:var(--title);margin:0}
.meta{display:flex;flex-wrap:wrap;gap:18px;color:var(--ink-muted);font-size:13px}
.meta span{display:inline-flex;gap:7px;align-items:center}
.price{font:400 13px/1 var(--font-sans);letter-spacing:.12em;margin-top:6px}
.price small{color:var(--ink-muted);letter-spacing:.06em}

/* chapters: título grande com imagem ao lado */
.chap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(24px,4vw,72px);align-items:center}
.chap + .chap{margin-top:clamp(96px,10vw,160px)}
.chap .txt{grid-column:1/7;display:grid;gap:26px}
.chap .pic{grid-column:7/13}
.chap--r .txt{grid-column:7/13;order:2}.chap--r .pic{grid-column:1/7;order:1}
.chap .num{font:italic 300 22px/1 var(--font-display);color:var(--terracotta)}
.chap ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.chap li{display:flex;gap:12px;align-items:center;color:var(--ink-muted);padding-bottom:12px;border-bottom:1px solid var(--line)}
.chap li .ico{color:var(--clay)}
@media (max-width:900px){.chap .txt,.chap .pic,.chap--r .txt,.chap--r .pic{grid-column:1/-1;order:0}}

/* regiões */
.regions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,24px)}
.reg{position:relative;aspect-ratio:3/4.4;border-radius:var(--r-2xl);overflow:hidden;color:var(--light);text-decoration:none;cursor:pointer;background:var(--sand-200)}
.reg:nth-child(even){margin-top:56px}
.reg img{width:100%;height:100%;object-fit:cover;transition:transform 2.2s var(--ease-out)}
.reg:hover img{transform:scale(1.035)}
.reg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(28,20,15,.6))}
.reg__t{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;display:grid;gap:6px}
.reg__t b{font:400 34px/1 var(--font-display)}
.reg__t span{font:400 10px/1 var(--font-sans);letter-spacing:.26em;text-transform:uppercase;opacity:.85}
.reg__more{max-height:0;overflow:hidden;opacity:0;transition:max-height var(--dur-4) var(--ease-out),opacity var(--dur-3);font-size:13.5px;line-height:1.55}
.reg:hover .reg__more{max-height:80px;opacity:.92}
@media (max-width:900px){.regions{grid-template-columns:1fr 1fr}.reg:nth-child(even){margin-top:32px}}

/* faixa parallax */
.band{position:relative;height:clamp(420px,62vw,760px);overflow:hidden;color:var(--light);display:grid;place-items:center;text-align:center;margin-inline:clamp(12px,1.6vw,24px);border-radius:var(--r-2xl)}
.band img{position:absolute;left:0;top:-15%;width:100%;height:130%;object-fit:cover;will-change:transform}
.band::after{content:"";position:absolute;inset:0;background:var(--hero-scrim)}
.band__in{position:relative;z-index:2;display:grid;gap:10px;justify-items:center;padding:24px}
.band .script{color:#f1dcc8;font-size:clamp(54px,7vw,96px)}
.band .display{color:var(--light);font-size:clamp(36px,4.6vw,64px);max-width:18ch}

/* serviços */
.svc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.svc__i{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:32px 28px;display:grid;gap:16px;align-content:start;transition:transform var(--dur-3) var(--ease-out),box-shadow var(--dur-3)}
.svc__i:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}
.svc__ic{width:52px;height:52px;border-radius:4px;display:grid;place-items:center;background:var(--clay-soft);color:var(--clay)}
.svc__i h3{font:300 28px/1.1 var(--font-display);color:var(--title);margin:0}
.svc__i p{margin:0;color:var(--ink-muted);font-size:14.5px}
@media (max-width:980px){.svc{grid-template-columns:1fr 1fr}}@media (max-width:560px){.svc{grid-template-columns:1fr}}

/* depoimento */
.quote{display:grid;justify-items:center;text-align:center;gap:26px;max-width:900px;margin:0 auto}
.quote blockquote{margin:0;font:italic 300 clamp(28px,3.4vw,44px)/1.25 var(--font-display);color:var(--title);text-wrap:balance}
.quote .who{display:flex;gap:14px;align-items:center}
.quote .av{width:52px;height:52px;border-radius:50%;object-fit:cover}
.quote .who b{display:block;font:400 12px/1.4 var(--font-sans);letter-spacing:.2em;text-transform:uppercase}
.quote .who span{font-size:13px;color:var(--ink-muted)}
.qnav{display:flex;gap:8px;margin-top:-4px}
.qnav__b{width:46px;height:46px;border-radius:4px;border:1px solid var(--line-strong);background:transparent;color:var(--title);display:grid;place-items:center;cursor:pointer;padding:0;transition:background var(--dur-3) var(--ease-soft),color var(--dur-3) var(--ease-soft),border-color var(--dur-3) var(--ease-soft)}
.qnav__b .ico{width:17px;height:17px;transition:transform var(--dur-3) var(--ease-out)}
.qnav__b:hover{background:var(--title);border-color:var(--title);color:var(--on-primary)}
.qnav__b[data-q="-1"]:hover .ico{transform:translateX(-2px)}.qnav__b[data-q="1"]:hover .ico{transform:translateX(2px)}
.qnav__b:focus-visible{outline:2px solid var(--clay);outline-offset:3px}
.dots{display:flex;gap:8px}.dots button{width:8px;height:8px;border-radius:50%;border:0;background:var(--line-strong);cursor:pointer;padding:0;transition:width var(--dur-3) var(--ease-out),background var(--dur-2)}.dots button.on{width:26px;border-radius:4px;background:var(--clay)}

/* galeria mosaico com parallax */
.mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.6vw,24px);align-items:start}
.mosaic .m{border-radius:var(--r-2xl);overflow:hidden;background:var(--sand-200)}
.mosaic .m img{width:100%;height:100%;object-fit:cover}
.m1{grid-column:1/6;aspect-ratio:4/5}.m2{grid-column:6/9;aspect-ratio:3/4;margin-top:120px}.m3{grid-column:9/13;aspect-ratio:4/5;margin-top:40px}.m4{grid-column:2/7;aspect-ratio:16/10;margin-top:-80px}.m5{grid-column:7/12;aspect-ratio:16/10}
@media (max-width:760px){.m1,.m2,.m3,.m4,.m5{grid-column:span 12;margin-top:0}}

/* contato */
.contact{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(28px,4vw,72px);align-items:start}
.contact .info{grid-column:1/6;display:grid;gap:28px;position:sticky;top:110px}
.contact .formbox{grid-column:6/13}
.info dl{margin:0;display:grid;gap:18px}
.info dt{font:400 10px/1 var(--font-sans);letter-spacing:.26em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:6px}
.info dd{margin:0;font:300 22px/1.3 var(--font-display);color:var(--ink)}
.formbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(24px,3.4vw,48px);box-shadow:var(--sh-1);position:relative;overflow:visible}
.form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form .full{grid-column:1/-1}
.field{display:grid;gap:9px;min-width:0;position:relative}
.field>label,.field>.lbl{font:400 10px/1 var(--font-sans);letter-spacing:.26em;text-transform:uppercase;color:var(--ink-muted)}
.in{width:100%;height:52px;padding:0 18px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg);color:var(--ink);font:400 15px var(--font-sans);transition:border-color var(--dur-2),box-shadow var(--dur-2),background var(--dur-2)}
textarea.in{height:auto;min-height:130px;padding:15px 18px;resize:vertical;line-height:1.6}
.in::placeholder{color:var(--ink-faint)}
.in:hover{border-color:var(--line-strong)}
.in:focus{outline:none;border-color:var(--clay);box-shadow:var(--sh-focus);background:var(--surface)}
.field.err .in{border-color:var(--danger)}
.hint{font-size:12px;color:var(--ink-muted);min-height:0}
.field.err .hint{color:var(--danger)}
.sel{position:relative}
.sel__btn{width:100%;height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 18px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg);font:400 15px var(--font-sans);cursor:pointer;text-align:left}
.sel__btn .ico{transition:transform var(--dur-2) var(--ease-out);color:var(--ink-muted)}
.sel.open .sel__btn{border-color:var(--clay);box-shadow:var(--sh-focus)}
.sel.open .sel__btn .ico{transform:rotate(180deg)}
.sel .pop{width:100%;min-width:0}
.sel.open .pop{opacity:1;transform:none;pointer-events:auto}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{height:40px;padding:0 18px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--bg);cursor:pointer;font:400 12px/1 var(--font-sans);letter-spacing:.08em;transition:all var(--dur-2)}
.chip[aria-pressed="true"]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;color:var(--ink-muted);cursor:pointer}
.consent input{appearance:none;width:20px;height:20px;border-radius:4px;border:1px solid var(--line-strong);background:var(--bg);display:grid;place-items:center;flex:none;margin-top:2px;cursor:pointer;transition:background var(--dur-2)}
.consent input:checked{background:var(--primary);border-color:var(--primary)}
.consent input:checked::after{content:"";width:9px;height:5px;border-left:1.6px solid var(--on-primary);border-bottom:1.6px solid var(--on-primary);transform:rotate(-45deg) translate(1px,-1px)}
.sent{display:none;text-align:center;gap:16px;justify-items:center;padding:30px 10px}
.formbox.done .form{display:none}.formbox.done .sent{display:grid}
/* um obrigado so, na fonte manuscrita: "Obrigado, Nome" */
.sent .sent__t{font-size:clamp(46px,5vw,64px);line-height:1.15;padding:0 .25em;color:var(--clay);text-wrap:balance}
.sent .ok{width:64px;height:64px;border-radius:4px;background:var(--success-soft);color:var(--success);display:grid;place-items:center}
@media (max-width:900px){.contact .info,.contact .formbox{grid-column:1/-1;position:static}.form{grid-template-columns:1fr}}

/* rodapé */
.ftr{background:var(--surface-sunk);padding:clamp(80px,9vw,130px) 0 36px;overflow:hidden}
.ftr__big{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;font:300 clamp(40px,8vw,124px)/.9 var(--font-display);color:var(--title);letter-spacing:.02em;text-transform:uppercase}
.ftr__big i{font-style:normal;color:var(--terracotta);font-size:.4em}
.ftr__sig{font-size:clamp(46px,5.4vw,78px);margin:18px 0 64px;display:block;transform:rotate(-3deg);transform-origin:left}
.ftr__cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-bottom:48px;border-bottom:1px solid var(--line)}
.ftr__cols h4{margin:0 0 16px;font:400 10px/1 var(--font-sans);letter-spacing:.28em;text-transform:uppercase;color:var(--ink-muted)}
.ftr__cols a{display:block;text-decoration:none;padding:5px 0;color:var(--ink);transition:color var(--dur-2)}
.ftr__cols a:hover{color:var(--clay)}
.news{display:flex;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);padding:5px;margin-top:14px;max-width:360px}
.news input{flex:1;min-width:0;border:0;background:none;padding:0 14px;font:400 14px var(--font-sans);color:var(--ink)}
.news input:focus{outline:none}
.news button{height:42px;padding:0 18px}
.ftr__bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:26px;font-size:12px;color:var(--ink-muted)}
.socials{display:flex;gap:10px;margin-top:18px}
.socials a{width:42px;height:42px;border-radius:4px;border:1px solid var(--line-strong);display:grid;place-items:center;padding:0}
@media (max-width:900px){.ftr__cols{grid-template-columns:1fr 1fr}}

/* whatsapp */
.wa{position:fixed;right:clamp(16px,2vw,28px);bottom:calc(clamp(16px,2vw,28px) + env(safe-area-inset-bottom,0px));z-index:70;display:flex;align-items:center;gap:12px}
.wa__btn{width:60px;height:60px;border-radius:50%;background:var(--whatsapp);color:#fff;display:grid;place-items:center;box-shadow:0 14px 34px rgba(122,74,48,.30);border:0;cursor:pointer;position:relative;transition:transform var(--dur-3) var(--ease-out),background var(--dur-3) var(--ease-soft),box-shadow var(--dur-3) var(--ease-out);text-decoration:none}
.wa__btn:hover{transform:translateY(-2px);background:var(--whatsapp-hover);box-shadow:0 18px 40px rgba(122,74,48,.34)}
.wa__btn::before{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px solid var(--whatsapp);animation:ring 3s var(--ease-out) infinite}
@keyframes ring{0%{transform:scale(.88);opacity:.7}80%,100%{transform:scale(1.28);opacity:0}}
.wa__btn .ico{width:28px;height:28px;stroke-width:1.5}
.wa__tip{background:var(--surface);color:var(--ink);padding:11px 18px;border-radius:var(--r-pill);font:400 13px var(--font-sans);box-shadow:var(--sh-2);opacity:0;transform:translateX(8px);transition:opacity var(--dur-3),transform var(--dur-3) var(--ease-out);pointer-events:none;white-space:nowrap}
.wa:hover .wa__tip,.wa.peek .wa__tip{opacity:1;transform:none}
@media (max-width:620px){.wa__tip{display:none}.wa__btn{width:54px;height:54px}}

/* drawer favoritos + overlay */
.ovl{position:fixed;inset:0;background:var(--overlay);z-index:80;opacity:0;pointer-events:none;transition:opacity var(--dur-3) var(--ease-out)}
.ovl.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:12px;right:12px;bottom:12px;width:min(440px,calc(100% - 24px));background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--sh-3);z-index:90;transform:translateX(calc(100% + 24px));transition:transform var(--dur-4) var(--ease-out);display:flex;flex-direction:column;overflow:hidden}
.drawer.open{transform:none}
.dhead{display:flex;justify-content:space-between;align-items:center;padding:24px 26px;border-bottom:1px solid var(--line)}
.dlist{padding:18px 26px;display:grid;gap:16px;overflow:auto;align-content:start;scrollbar-color:var(--terracotta) var(--surface-sunk);scrollbar-width:thin}
.fitem{display:flex;gap:16px;align-items:center;animation:fin var(--dur-3) var(--ease-out)}
@keyframes fin{from{opacity:0;transform:translateX(12px)}}
.fitem img{width:84px;height:100px;object-fit:cover;border-radius:6px;flex:none}
.fitem .n{font:300 23px/1.1 var(--font-display);color:var(--title)}
.dfoot{margin-top:auto;padding:20px 26px;border-top:1px solid var(--line);display:grid;gap:10px}
.empty{display:grid;justify-items:center;text-align:center;gap:12px;padding:50px 10px;color:var(--ink-muted)}
.empty .ic{width:58px;height:58px;border-radius:4px;background:var(--clay-soft);color:var(--clay);display:grid;place-items:center}

/* ficha da casa (modal) */
.ficha__in{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(24px,3vw,48px);padding:clamp(20px,3vw,40px)}
.gal{display:grid;gap:12px}
.gal__main{aspect-ratio:4/3;border-radius:var(--r-2xl);overflow:hidden;background:var(--sand-200)}
.gal__main img{width:100%;height:100%;object-fit:cover;animation:fadeimg var(--dur-4) var(--ease-out)}
@keyframes fadeimg{from{opacity:.2;transform:scale(1.02)}}
.gal__th{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.gal__th button{aspect-ratio:1;border-radius:6px;overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:var(--sand-200);transition:border-color var(--dur-2),opacity var(--dur-2);opacity:.75}
.gal__th button.on{border-color:var(--clay);opacity:1}
.gal__th img{width:100%;height:100%;object-fit:cover}
.det{display:grid;gap:22px;align-content:start;padding-top:8px}
.specs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.spec{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 12px;display:grid;gap:6px;justify-items:start}
.spec .ico{color:var(--clay)}
.spec b{font:300 26px/1 var(--font-display);color:var(--title)}
.spec span{font:400 9.5px/1.2 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted)}
.amen{display:flex;flex-wrap:wrap;gap:8px}
.amen span{display:inline-flex;gap:8px;align-items:center;height:36px;padding:0 14px;border-radius:var(--r-pill);background:var(--surface-sunk);font-size:13px}
.amen .ico{width:15px;height:15px;color:var(--clay)}
.bigprice{font:300 40px/1 var(--font-display);color:var(--ink)}
.bigprice small{font:400 12px var(--font-sans);letter-spacing:.14em;color:var(--ink-muted);text-transform:uppercase}
@media (max-width:900px){.ficha__in{grid-template-columns:1fr}.specs{grid-template-columns:repeat(2,1fr)}}

/* toast do site */
.toasts{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:100;display:grid;gap:10px;justify-items:center;width:min(440px,calc(100% - 32px))}
.toast{display:flex;gap:14px;align-items:center;background:var(--primary);color:var(--on-primary);padding:12px 12px 12px 18px;border-radius:var(--r-pill);box-shadow:var(--sh-3);font-size:14px;animation:tin var(--dur-3) var(--ease-out)}
.toast.out{animation:tout var(--dur-3) var(--ease-out) forwards}
@keyframes tin{from{opacity:0;transform:translateY(14px) scale(.97)}}@keyframes tout{to{opacity:0;transform:translateY(10px)}}
.toast .ico{color:#f1dcc8}
.toast button{height:34px;padding:0 14px;border-radius:var(--r-pill);border:0;background:rgba(251,248,243,.14);color:var(--on-primary);cursor:pointer;font:400 10.5px/1 var(--font-sans);letter-spacing:.18em;text-transform:uppercase}

/* entradas sutis */
.rv{transition:opacity var(--dur-5) var(--ease-soft),transform var(--dur-5) var(--ease-out);will-change:opacity,transform}
.rv.pend{opacity:0;transform:translateY(28px)}
.rv.pend.sai{transition-duration:700ms,700ms}
.display,.link,.logo b,.mmenu a,.stat b,.card__name,.chap .num,.reg__t b,.svc__i h3,.quote blockquote,.info dd,.ftr__big,.fitem .n,.spec b,.bigprice,.empty b{font-size-adjust:var(--fsa)!important;font-weight:var(--fwd)!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.rv.pend{opacity:1;transform:none}.hero__word{opacity:1;transform:none}}

/* ================= páginas internas ================= */
body.inner .hdr{background:rgba(251,248,243,.92);backdrop-filter:blur(14px) saturate(1.2);color:var(--ink);box-shadow:0 1px 0 var(--line)}
body.inner .hdr .hbtn{border-color:var(--line-strong)}
body.inner main{padding-top:86px}
.lang a{text-decoration:none;opacity:.6}.lang a.on{opacity:1;font-weight:500}
.crumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font:400 11px/1 var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-muted);padding-top:36px}
.crumbs a{text-decoration:none;color:var(--ink-muted)}.crumbs a:hover{color:var(--clay)}
.crumbs .sep{color:var(--terracotta)}
.page-head{display:grid;gap:14px;padding:28px 0 36px}
/* barra de filtros (casas.php) */
.filters{position:sticky;top:70px;z-index:20;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);margin-bottom:40px}
.filters .sel{min-width:170px;flex:1}
.filters .sel__btn{height:44px;background:var(--surface)}
.filters .ftabs{border:0;padding:3px;background:var(--surface-sunk)}
.filters .count{margin-left:auto;font:400 11px/1 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap}
.sel .pop a.opt{text-decoration:none;color:inherit}
.pager{display:flex;justify-content:center;gap:6px;margin-top:64px}
.pager a,.pager span{min-width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-sm);text-decoration:none;font:400 12px var(--font-sans);letter-spacing:.1em}
.pager .on{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.empty-page{display:grid;justify-items:center;text-align:center;gap:14px;padding:80px 20px;border:1px dashed var(--line-strong);border-radius:var(--r-lg)}
.empty-page .ic{width:58px;height:58px;border-radius:4px;background:var(--clay-soft);color:var(--clay);display:grid;place-items:center}
/* ficha da casa (casa.php) */
.ficha{padding-bottom:var(--section)}
.ficha__in{padding:0}
.ficha .gal__main{position:relative}
.ficha .gal__main img{cursor:zoom-in}
.ficha .gal__nav{position:absolute;inset:auto 16px 16px auto;display:flex;gap:6px}
.ficha .gal__nav button{width:44px;height:44px;border-radius:4px;border:0;background:rgba(251,248,243,.92);color:var(--ink);display:grid;place-items:center;cursor:pointer}
.ficha .gal__count{position:absolute;left:16px;bottom:16px;padding:8px 12px;border-radius:4px;background:rgba(28,23,20,.55);color:#fbf8f3;font:400 10.5px/1 var(--font-sans);letter-spacing:.2em}
.gal__th{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}
.det .sticky{position:sticky;top:100px;display:grid;gap:22px}
.det .ctas{display:flex;gap:10px;flex-wrap:wrap}
.ficha__more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px);margin-top:clamp(56px,7vw,96px);padding-top:clamp(40px,5vw,64px);border-top:1px solid var(--line)}
.ficha__more dl{display:grid;grid-template-columns:auto 1fr;gap:12px 28px;margin:0}
.ficha__more dt{font:400 10px/1.6 var(--font-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-muted)}
.ficha__more dd{margin:0}
@media (max-width:900px){.ficha__more{grid-template-columns:1fr}.det .sticky{position:static}}
.lightbox{position:fixed;inset:0;z-index:95;background:rgba(20,15,12,.94);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity var(--dur-3) var(--ease-out)}
.lightbox.open{opacity:1;pointer-events:auto}
.lightbox img{max-width:min(1600px,94vw);max-height:86vh;border-radius:4px;object-fit:contain}
.lightbox button{position:absolute;width:52px;height:52px;border-radius:4px;border:1px solid rgba(251,248,243,.3);background:rgba(251,248,243,.08);color:#fbf8f3;display:grid;place-items:center;cursor:pointer}
.lightbox .lx{top:20px;right:20px}.lightbox .lp{left:20px;top:50%}.lightbox .ln{right:20px;top:50%}
.hero .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s cubic-bezier(.65,0,.35,1)}
.hero .slide.on{opacity:1}
.hero .slide img,.hero .slide video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.62) sepia(.28) contrast(.96);transform:scale(1.04)}
.hero .slide.on img{animation:kb 9s ease-out forwards}
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.1)}}
.hero__copy{transition:opacity .6s var(--ease-out)}
.hero__dots{display:flex;gap:8px}
.hero__dots button{width:26px;height:2px;border:0;background:rgba(251,248,243,.4);cursor:pointer;padding:0;transition:background .3s,width .3s}
.hero__dots button.on{background:#fbf8f3;width:40px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.card{position:relative}
.card__media{display:block;color:inherit}
[data-fav][aria-pressed="true"] svg{fill:var(--clay);stroke:var(--clay)}
.fitem a{color:inherit}
.hero__in{pointer-events:none}.hero__in>*{pointer-events:auto}
.display,.link,.logo b,.mmenu a,.stat b,.card__name,.chap .num,.reg__t b,.svc__i h3,.quote blockquote,.info dd,.ftr__big,.fitem .n,.spec b,.bigprice,.empty b{font-size-adjust:var(--fsa)!important;font-weight:var(--fwd)!important}
.empty-page[hidden]{display:none}
.ftr__big{font-size:clamp(32px,6.2vw,100px)!important;letter-spacing:.04em}
/* hero limpo: so o video ou a imagem ate o primeiro scroll; depois o conteudo entra em cascata */
.hero::after{transition:opacity 1.4s var(--ease-soft)}
.hero__top,.hero .search-slot,.hero__side{transition:opacity 1s var(--ease-soft),transform 1.2s var(--ease-out)}
.hero .search-slot{transition-delay:.35s}
.hero__side{transition-delay:.6s}
.hero-clean .hero::after{opacity:.35}
.hero-clean .hero__top,.hero-clean .hero .search-slot,.hero-clean .hero__side{opacity:0;transform:translateY(26px);pointer-events:none}
.hero-clean .hero__word{animation-play-state:paused}
/* casas em destaque: opacidade, subida e foto revelada de baixo para cima conforme a rolagem */
#grid .card{transition:opacity 140ms linear,transform 140ms linear;will-change:opacity,transform}
#grid .card__media{transition:clip-path 140ms linear}
/* fontes escolhidas no painel: textos e manuscrita ficam do mesmo tamanho visual das fontes padrao (Jost e Mrs Saint Delafield) */
body{font-size-adjust:var(--fsat,none)}
.script{font-size-adjust:var(--fsas,none)}
/* cor de fundo escolhida no painel: o topo fixo acompanha o fundo */
.hdr.is-solid{background:color-mix(in srgb,var(--bg) 86%,transparent)}
/* rodape: redes sociais mais visiveis, com hover */
.socials{gap:12px;margin-top:22px}
.socials a{width:48px;height:48px;border-radius:50%;border:1px solid color-mix(in srgb,var(--title) 40%,transparent);color:var(--title);background:color-mix(in srgb,var(--surface) 75%,transparent);transition:background var(--dur-3) var(--ease-soft),color var(--dur-3) var(--ease-soft),border-color var(--dur-3) var(--ease-soft),transform var(--dur-3) var(--ease-out),box-shadow var(--dur-3) var(--ease-out)}
.socials a .ico{width:21px;height:21px;stroke-width:1.6}
.socials a[aria-label="WhatsApp"] .ico{width:25px;height:25px}
@media (hover:hover){.socials a:hover{background:var(--primary);border-color:var(--primary);color:var(--on-primary);transform:translateY(-3px);box-shadow:0 14px 26px -12px rgba(46,36,30,.5)}}
.socials a:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
/* slides da hero: fonte e tamanho escolhidos no painel para cada texto */
#heroM{font-family:var(--ff-m,var(--font-script));font-size-adjust:var(--fa-m,var(--fsas,none));font-weight:var(--fw-m,400);font-size:calc(clamp(52px,6vw,84px) * var(--sc-m,1))}
#heroT{font-family:var(--ff-t,var(--font-display));font-size-adjust:var(--fa-t,var(--fsa));font-weight:var(--fw-t,var(--fwd));font-size:calc(1em * var(--sc-t,1))}
#heroEb{transition:opacity .5s var(--ease-out)}
/* popup do site (painel > Popups): moldura clara, foto inteira e textos por cima */
.ctpop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:clamp(14px,4vw,48px);background:rgba(28,20,15,.36);backdrop-filter:blur(10px) saturate(1.05);-webkit-backdrop-filter:blur(10px) saturate(1.05);opacity:0;visibility:hidden;transition:opacity 700ms var(--ease-soft),visibility 0s linear 700ms}
.ctpop.on{opacity:1;visibility:visible;transition:opacity 700ms var(--ease-soft),visibility 0s}
.ctpop__card{--fr:clamp(10px,2.2vw,20px);position:relative;width:min(780px,100%);aspect-ratio:1.38;max-height:calc(100dvh - 28px);padding:var(--fr);background:#f6f2eb;border-radius:var(--r-lg);box-shadow:0 50px 110px -40px rgba(20,14,10,.6);transform:translateY(22px) scale(.97);transition:transform 1000ms var(--ease-out)}
.ctpop.on .ctpop__card{transform:none}
.ctpop__img{position:absolute;inset:var(--fr);border-radius:var(--r-md);overflow:hidden;background:#3a2c22}
.ctpop__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 2600ms var(--ease-out)}
.ctpop.on .ctpop__img img{transform:none}
.ctpop__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,14,10,.34) 0%,rgba(20,14,10,.16) 30%,rgba(20,14,10,.26) 60%,rgba(20,14,10,.46) 100%)}
.ctpop__in{position:relative;z-index:1;height:100%;display:grid;grid-template-rows:auto 1fr auto;justify-items:center;text-align:center;color:#fbf8f3;padding:clamp(20px,3.6vw,36px) clamp(18px,5vw,56px)}
.ctpop__in>*{opacity:0;transform:translateY(12px);transition:opacity 900ms var(--ease-soft),transform 900ms var(--ease-out)}
.ctpop.on .ctpop__in>*{opacity:1;transform:none}
.ctpop.on .ctpop__in>:nth-child(1){transition-delay:250ms}
.ctpop.on .ctpop__in>:nth-child(2){transition-delay:400ms}
.ctpop.on .ctpop__in>:nth-child(3){transition-delay:600ms}
.ctpop__eb{font:500 clamp(14px,2.1vw,22px)/1.1 var(--font-sans);letter-spacing:.02em;text-transform:uppercase;text-shadow:0 1px 18px rgba(0,0,0,.25)}
.ctpop__mid{align-self:center;display:grid;gap:clamp(10px,1.6vw,16px);justify-items:center;max-width:34ch}
.ctpop__t{margin:0;font-family:var(--font-display);font-weight:var(--fwd);font-size-adjust:var(--fsa);font-size:clamp(26px,4.4vw,42px);line-height:1.08;letter-spacing:-.01em;color:#fff;text-wrap:balance;text-shadow:0 2px 26px rgba(0,0,0,.28)}
.ctpop__s{margin:0;font:500 clamp(14px,1.9vw,19px)/1.4 var(--font-sans);text-shadow:0 1px 18px rgba(0,0,0,.3)}
.ctpop__n{font-size:12.5px;opacity:.9;margin-top:clamp(4px,1.4vw,14px);text-shadow:0 1px 12px rgba(0,0,0,.35)}
.ctpop__b{display:inline-flex;align-items:center;height:42px;padding:0 26px;border-radius:var(--r-sm);background:rgba(251,248,243,.95);color:var(--title);font:500 11px/1 var(--font-sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;box-shadow:0 10px 30px -12px rgba(0,0,0,.4);transition:background var(--dur-3) var(--ease-soft),transform var(--dur-3) var(--ease-out)}
@media (hover:hover){.ctpop__b:hover{background:#fff;transform:translateY(-2px)}.ctpop__x:hover{transform:rotate(90deg)}}
.ctpop__b:focus-visible,.ctpop__x:focus-visible{outline:1.5px solid rgba(255,255,255,.85);outline-offset:3px;border-radius:var(--r-sm)}
.ctpop__card:focus{outline:none}
.ctpop__x{position:absolute;z-index:2;top:calc(var(--fr) + 10px);right:calc(var(--fr) + 10px);width:46px;height:46px;border:0;padding:0;background:none;color:#fff;cursor:pointer;display:grid;place-items:center;transition:transform 600ms var(--ease-out)}
.ctpop__x svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;filter:drop-shadow(0 1px 6px rgba(0,0,0,.3))}
.glb-pop{overflow:hidden}
.ctpop__eb{grid-row:1}
.ctpop__mid{grid-row:2}
.ctpop__b{grid-row:3;align-self:end}
/* ficha da casa: miniaturas numa linha so, a foto que esta sendo vista sempre no meio */
.gal__th{--tw:92px;position:relative;display:flex;align-items:center;margin-top:-4px;grid-template-columns:none;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:6px calc(50% - var(--tw) / 2);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%)}
.gal__th::-webkit-scrollbar{display:none}
.gal__th img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.gal__th button{position:relative;flex:none;width:var(--tw);height:calc(var(--tw) * .72);min-width:0;min-height:0;aspect-ratio:auto;overflow:hidden;border:0;border-radius:6px;opacity:.5;outline:1.5px solid transparent;outline-offset:2px;transition:opacity var(--dur-3) var(--ease-soft),outline-color var(--dur-3) var(--ease-soft),transform var(--dur-3) var(--ease-out)}
@media (hover:hover){.gal__th button:hover{opacity:.85}}
.gal__th button.on{opacity:1;outline-color:var(--clay);transform:scale(1.05)}
.gal__th button:focus-visible{outline-color:var(--primary)}
@media (max-width:620px){.gal__th{--tw:72px;gap:8px}}
.gal{align-content:start;align-self:start;gap:8px}
.gal__th.loop{padding-inline:0}
/* logo em imagem (painel > Configuracoes > Aparencia): escura no fundo claro, clara em cima do video */
.logo--img{gap:0}
.logo__img{display:block;height:var(--logo-h,44px);width:auto;max-width:min(260px,44vw);object-fit:contain}
.logo__img--cla{display:none}
.logo__img--cla.auto{filter:brightness(0) invert(1)}
body.home .hdr:not(.is-solid) .logo__img--esc{display:none}
body.home .hdr:not(.is-solid) .logo__img--cla{display:block}
@media (max-width:860px){.logo__img{height:calc(var(--logo-h,44px) * .8)}}
.ftr .logo--img{align-items:flex-start}
@media (max-width:620px){.ctpop__card{aspect-ratio:4/5}.ctpop__mid{max-width:none}}
@media (prefers-reduced-motion:reduce){.ctpop__card,.ctpop__img img,.ctpop__in>*{transform:none!important;transition-property:opacity}}
#heroTe{font-family:var(--ff-te,var(--font-display));font-size-adjust:var(--fa-te,var(--fsa));font-weight:var(--fw-te,var(--fwd));font-size:calc(1em * var(--sc-te,1))}
/* busca da hero: as listas (regiao, tipo, suites...) abrem por cima da secao de baixo */
.hero{overflow:visible;overflow-x:clip;z-index:4}
.hero .slide{overflow:hidden}
/* casas em destaque em slide: 3 por vez, setas finas centralizadas nas laterais */
.dsl{position:relative;--g:clamp(20px,2.4vw,32px);--pv:3;--i:0}
@media (max-width:980px){.dsl{--pv:2}}
@media (max-width:620px){.dsl{--pv:1}}
.dsl__vp{overflow:hidden}
@supports (overflow:clip){.dsl__vp{overflow:visible;overflow-x:clip}}
.dsl__track{display:flex;gap:var(--g);transform:translate3d(calc((100% + var(--g)) / var(--pv) * var(--i) * -1),0,0);transition:transform 1100ms cubic-bezier(.22,1,.36,1);touch-action:pan-y}
.dsl--inst .dsl__track{transition:none}
.dsl__track>.card{flex:0 0 calc((100% - (var(--pv) - 1) * var(--g)) / var(--pv))}
.dsl__ctl{position:absolute;inset:0;pointer-events:none}
.dsl__nav{position:absolute;top:var(--mid,40%);width:var(--bs,60px);height:var(--bs,60px);border-radius:50%;border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);background:transparent;color:var(--ink);display:grid;place-items:center;padding:0;cursor:pointer;pointer-events:auto;transition:background 500ms var(--ease-soft),border-color 500ms var(--ease-soft),color 500ms var(--ease-soft),opacity 500ms var(--ease-soft)}
.dsl__prev{left:calc(var(--sl,80px) / -2);transform:translate(-50%,-50%)}
.dsl__next{right:calc(var(--sr,80px) / -2);transform:translate(50%,-50%)}
.dsl__nav svg{width:30px;height:14px;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;transition:transform 600ms var(--ease-out)}
@media (hover:hover){.dsl__nav:hover{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.dsl__prev:hover svg{transform:translateX(-3px)}.dsl__next:hover svg{transform:translateX(3px)}}
.dsl__nav:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.dsl__nav:disabled{opacity:.25;cursor:default;pointer-events:none}
.dsl__count{display:none;font:400 11px/1 var(--font-sans);letter-spacing:.22em;color:var(--ink-muted);min-width:70px;text-align:center;font-variant-numeric:tabular-nums}
.dsl--below .dsl__ctl{position:static;display:flex;justify-content:center;align-items:center;gap:20px;margin-top:32px}
.dsl--below .dsl__nav{position:static;transform:none;width:56px;height:56px}
.dsl--below .dsl__count{display:block}
.dsl--single .dsl__ctl{display:none}
@media (prefers-reduced-motion:reduce){.dsl__track{transition:none}}
/* galeria da home: clicar na foto abre o lightbox claro em vidro */
.mosaic .m[data-lb]{position:relative;cursor:zoom-in;outline:none}
.mosaic .m[data-lb]:focus-visible{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--primary)}
.m__zoom{position:absolute;right:14px;bottom:14px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(251,248,243,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.6);color:var(--ink);opacity:0;transform:translateY(6px) scale(.92);transition:opacity 500ms var(--ease-soft),transform 600ms var(--ease-out);pointer-events:none}
.m__zoom svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round}
.mosaic .m[data-lb]:hover .m__zoom,.mosaic .m[data-lb]:focus-visible .m__zoom{opacity:1;transform:none}
@media (hover:none){.m__zoom{opacity:1;transform:none;width:38px;height:38px;right:10px;bottom:10px}}
.glb-on{overflow:hidden}
.glb{position:fixed;inset:0;z-index:96;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(10px,2vh,20px);padding:clamp(14px,3vh,28px) clamp(16px,7vw,120px);background:rgba(251,248,243,.62);backdrop-filter:blur(30px) saturate(1.25);-webkit-backdrop-filter:blur(30px) saturate(1.25);color:var(--ink);opacity:0;visibility:hidden;transition:opacity 600ms var(--ease-soft),visibility 0s linear 600ms}
.glb.open{opacity:1;visibility:visible;transition:opacity 600ms var(--ease-soft),visibility 0s}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glb{background:rgba(251,248,243,.97)}}
.glb__top{display:flex;align-items:center;gap:18px;min-height:56px}
.glb__count{font:400 11px/1 var(--font-sans);letter-spacing:.22em;font-variant-numeric:tabular-nums}
.glb__name{flex:1;min-width:0;font:400 11px/1 var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.glb__stage{margin:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;align-items:center;gap:12px}
.glb__stage img{display:block;max-width:100%;max-height:100%;min-height:0;object-fit:contain;border-radius:var(--r-xl);box-shadow:0 40px 90px -40px rgba(46,36,30,.45);transition:opacity 420ms var(--ease-soft),transform 800ms var(--ease-out)}
.glb__stage img.out{opacity:0;transform:scale(.97)}
.glb__stage figcaption{font-size:13px;color:var(--ink-muted);text-align:center;min-height:1em}
.glb__btn{width:56px;height:56px;border-radius:50%;border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);background:rgba(255,255,255,.35);color:var(--ink);display:grid;place-items:center;padding:0;cursor:pointer;flex:none;transition:background 500ms var(--ease-soft),border-color 500ms var(--ease-soft),color 500ms var(--ease-soft)}
@media (hover:hover){.glb__btn:hover{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.glb__x:hover svg{transform:rotate(90deg)}.glb__prev:hover svg{transform:translateX(-3px)}.glb__next:hover svg{transform:translateX(3px)}}
.glb__btn:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.glb__btn svg{fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.glb__x svg{width:20px;height:20px;transition:transform 600ms var(--ease-out)}
.glb__nav{position:absolute;top:50%;transform:translateY(-50%)}
.glb__nav svg{width:30px;height:14px;transition:transform 600ms var(--ease-out)}
.glb__prev{left:clamp(10px,2.2vw,36px)}
.glb__next{right:clamp(10px,2.2vw,36px)}
.glb__th{position:relative;display:flex;gap:10px;justify-content:safe center;overflow-x:auto;padding:4px;scrollbar-width:none}
.glb__th::-webkit-scrollbar{display:none}
.glb__th button{flex:none;width:76px;height:54px;border-radius:var(--r-md);overflow:hidden;border:0;padding:0;cursor:pointer;opacity:.42;background:var(--sand-200);transition:opacity 400ms var(--ease-soft),box-shadow 400ms var(--ease-soft)}
.glb__th button:hover{opacity:.8}
.glb__th button.on{opacity:1;box-shadow:0 0 0 1.5px var(--ink)}
.glb__th img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:700px){.glb{padding:12px 12px 16px}.glb__nav{width:44px;height:44px;background:rgba(255,255,255,.6)}.glb__th button{width:60px;height:44px}}
