@font-face{font-family:"Instrument Serif";src:url(fonts/is.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(fonts/isi.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url(fonts/hg.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--paper:#F4EFE6;--paper2:#EAE3D4;--ink:#1B2420;--mute:#56605A;--sun:#E2692A;--sunt:#9E3A0A;--sund:#F59A63;--line:#1B242022;--r:14px;--serif:"Instrument Serif",Georgia,serif;--sans:"Hanken Grotesk",system-ui,sans-serif;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{font:400 1.0625rem/1.6 var(--sans);color:var(--ink);background:var(--paper);overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:.6rem 1rem;border-radius:8px;z-index:100}.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:4px}
.wrap{width:min(1200px,100% - 2.5rem);margin-inline:auto}
.ribbon{background:var(--ink);color:#e9e3d6;font-size:.8rem;text-align:center;padding:.45rem 1rem;line-height:1.35}
.top{position:sticky;top:0;z-index:40;background:#F4EFE6e8;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:1.5rem;height:64px}
.logo{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;font:400 1.7rem/1 var(--serif)}
.logo svg{width:34px;height:34px}
.nav{margin-left:auto;display:flex;gap:1.6rem;font-size:.95rem;font-weight:500}
.nav a{text-decoration:none;padding:.3rem 0;background:linear-gradient(var(--sun),var(--sun)) 0 100%/0 2px no-repeat;transition:background-size .3s var(--ease)}
.nav a:hover{background-size:100% 2px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:50px;padding:.8rem 1.5rem;border-radius:999px;background:var(--sun);color:#1B1208;font:600 1rem/1.2 var(--sans);text-decoration:none;border:2px solid var(--sun);cursor:pointer;transition:transform .25s var(--ease),background .2s,color .2s,box-shadow .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px #B3430E99;background:#EE7A3B}
.btn:active{transform:none}
.btn.ghost{background:transparent;color:inherit;border-color:currentColor;box-shadow:none}
.btn.ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.dark .btn.ghost:hover,.stick .btn.ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn.sm{min-height:42px;padding:.5rem 1.1rem;font-size:.92rem}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1;letter-spacing:-.01em}
h1{font-size:clamp(3rem,7.4vw,6.2rem)}
h2{font-size:clamp(2.2rem,4.6vw,3.9rem)}
h3{font-size:1.6rem;line-height:1.1}
em{font-style:italic;color:var(--sunt)}
.dark em{color:var(--sund)}
.eyebrow{font:600 .78rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sunt);margin-bottom:1.1rem}
.dark .eyebrow{color:var(--sund)}
.lead{font-size:1.22rem;max-width:34ch;margin-top:1.5rem;color:#2b3530}
.micro{font-size:.88rem;color:var(--mute);margin-top:1rem}
.dark .micro{color:#b8c0b8}
.sub{margin-top:1.1rem;max-width:56ch;color:var(--mute)}
.dark .sub{color:#c4cbc4}
.cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
/* hero */
.hero{padding-top:clamp(2rem,5vw,4.5rem)}
.hero-g{display:grid;gap:2.5rem;grid-template-columns:1fr;align-items:end}
.hero-t>*{animation:up .8s var(--ease) both}
.hero-t>:nth-child(2){animation-delay:.08s}.hero-t>:nth-child(3){animation-delay:.16s}.hero-t>:nth-child(4){animation-delay:.24s}.hero-t>:nth-child(5){animation-delay:.3s}
@keyframes up{from{opacity:0;transform:translateY(22px)}}
.arch{position:relative}
.arch img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:62% 50%;border-radius:999px 999px 14px 14px;background:var(--paper2)}
figcaption{font-size:.8rem;color:var(--mute);margin-top:.5rem}
.nums{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:3rem;border-top:1px solid var(--ink)}
.nums div{padding:1.1rem 0;border-bottom:1px solid var(--line)}
.nums dt{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.nums dd{font:400 2rem/1.1 var(--serif);margin-top:.25rem}
/* sections */
.sec{padding:clamp(4rem,9vw,8rem) 0}
.alt{background:var(--paper2)}
.dark{background:var(--ink);color:#F4EFE6}
.head{margin-bottom:2.8rem;max-width:760px}
/* benefits */
.ben{list-style:none;padding:0;display:grid;gap:0;border-top:1px solid var(--ink)}
.ben li{padding:1.6rem 0;border-bottom:1px solid var(--line);display:grid;gap:.5rem;transition:padding .3s var(--ease)}
.ben span{font:600 .85rem/1 var(--sans);color:var(--sunt);letter-spacing:.1em}
.ben p{color:var(--mute);max-width:44ch}
/* tabs */
.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.8rem}
.tabs button{font:600 .98rem/1.2 var(--sans);padding:.8rem 1.2rem;min-height:48px;border-radius:999px;border:2px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;transition:background .2s,color .2s}
.tabs button:hover{background:#1B24200f}
.tabs button[aria-selected=true]{background:var(--ink);color:var(--paper)}
.plano{display:grid;gap:2rem;grid-template-columns:1fr;background:#FBF8F2;border-radius:var(--r);padding:1.2rem;border:1px solid var(--line)}
.plano-svg svg{width:100%;height:auto}
.rm{fill:#F4EFE6;stroke:var(--ink);stroke-width:.7;transition:fill .2s;cursor:pointer}
.rm.v{fill:#E6D9C3}
.rm.on,.rm:hover{fill:#F7C9A6}
.rl{font:600 3.2px var(--sans);fill:var(--ink);text-anchor:middle;pointer-events:none}
.rs{font:400 2.6px var(--sans);fill:#56605A;text-anchor:middle;pointer-events:none}
.plano h3{font-size:2.3rem}
.preco{font:400 2rem/1.2 var(--serif);color:var(--sunt);margin:.3rem 0 1rem}
.preco small{font:500 .85rem var(--sans);color:var(--mute)}
.fatos{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem}
.fatos li{font-size:.88rem;font-weight:600;padding:.35rem .8rem;border:1px solid var(--ink);border-radius:999px}
.rooms{list-style:none;padding:0;border-top:1px solid var(--line)}
.rooms li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .3rem;border-bottom:1px solid var(--line);font-size:.95rem;cursor:pointer;transition:background .2s}
.rooms li.on,.rooms li:hover{background:#F7C9A666}
.rooms b{font-variant-numeric:tabular-nums}
.units{margin-top:1.4rem}.units p{font-size:.88rem;color:var(--mute);margin-top:.4rem}
.bar-u{height:8px;background:#1B24201a;border-radius:9px;overflow:hidden}
.bar-u i{display:block;height:100%;width:0;background:var(--sun);border-radius:9px;transition:width .9s var(--ease)}
/* gallery */
.gal{display:grid;gap:.8rem;grid-template-columns:1fr 1fr}
.g{position:relative;padding:0;border:0;border-radius:var(--r);overflow:hidden;cursor:zoom-in;background:var(--paper2);aspect-ratio:4/3}
.g img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.g:hover img{transform:scale(1.05)}
.g span{position:absolute;left:.6rem;bottom:.6rem;background:#F4EFE6ee;color:var(--ink);font:600 .8rem/1 var(--sans);padding:.45rem .7rem;border-radius:999px}
.g1,.g4,.g5{grid-column:1/-1}
dialog{border:0;border-radius:var(--r);padding:0;max-width:min(1100px,94vw);background:var(--ink);color:#fff;overflow:hidden}
dialog::backdrop{background:#0d1210cc}
dialog img{width:100%;max-height:78vh;object-fit:contain}
dialog p{padding:.8rem 1rem;font-size:.9rem}
.x{position:absolute;right:.6rem;top:.6rem;z-index:2;min-height:44px;padding:.4rem 1rem;border-radius:999px;border:0;background:var(--paper);font:600 .9rem var(--sans);cursor:pointer}
/* location */
.loc{display:grid;gap:2rem;grid-template-columns:1fr}
.pts{list-style:none;padding:0;margin-top:1.8rem;border-top:1px solid #f4efe633}
.pts li{display:flex;justify-content:space-between;padding:.7rem .3rem;border-bottom:1px solid #f4efe633;cursor:pointer;transition:background .2s,color .2s}
.pts li.on,.pts li:hover{background:#F59A6322;color:var(--sund)}
.pts b{font-variant-numeric:tabular-nums}
.map svg{width:100%;height:auto;background:#222d28;border-radius:var(--r)}
.map .st{stroke:#3a4a42;stroke-width:5;fill:none}
.map .st2{stroke:#33423b;stroke-width:2;fill:none}
.map .ring{fill:none;stroke:#F59A6355;stroke-dasharray:3 4}
.map .rt{fill:#F59A63;font:600 9px var(--sans)}
.pin circle{fill:#F4EFE6;stroke:var(--ink);stroke-width:2;transition:r .25s var(--ease),fill .2s}
.pin text{fill:#F4EFE6;font:500 11px var(--sans);paint-order:stroke;stroke:#222d28;stroke-width:3px;pointer-events:none}
.pin.on circle,.pin:hover circle{fill:var(--sund);r:9}
.pin{cursor:pointer}
/* timeline */
.tl{list-style:none;padding:0 0 0 1.6rem;position:relative}
.tl:before,.tl:after{content:"";position:absolute;left:5px;top:6px;width:2px;bottom:6px;background:#1B242026}
.tl:after{background:var(--sun);bottom:auto;height:calc(var(--p,0) * (100% - 12px));transition:height .2s linear}
.tl li{position:relative;padding:0 0 2.4rem}
.tl li:before{content:"";position:absolute;left:-1.6rem;top:.5rem;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);transition:background .3s,border-color .3s}
.tl li.in:before{background:var(--sun);border-color:var(--sun)}
.tl time{font:600 .82rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--sunt)}
.tl h3{margin:.4rem 0 .3rem}
.tl p{color:var(--mute);max-width:52ch}
/* simulator */
.calc{display:grid;gap:.5rem;max-width:760px}
.calc label{font-weight:600;margin-top:1rem}
.calc select{min-height:50px;padding:.6rem 1rem;border-radius:10px;border:2px solid #f4efe655;background:#141b18;color:#fff;font:1rem var(--sans)}
.calc input[type=range]{width:100%;accent-color:var(--sun);height:32px}
.res{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#f4efe633;border:1px solid #f4efe633;border-radius:var(--r);overflow:hidden;margin-top:1.4rem}
.res div{background:var(--ink);padding:1rem}
.res span{display:block;font-size:.82rem;color:#b8c0b8}
.res b{font:400 1.6rem/1.2 var(--serif)}
.res .big{grid-column:1/-1;background:#26332d}
.res .big b{font-size:clamp(2.4rem,7vw,3.6rem);color:var(--sund)}
.aviso{font-size:.84rem;color:#b8c0b8;margin-top:.8rem}
/* quotes */
.quotes{display:grid;gap:1.2rem}
blockquote{background:#FBF8F2;border:1px solid var(--line);border-radius:var(--r);padding:1.6rem}
blockquote p{font:400 1.45rem/1.3 var(--serif)}
blockquote footer{margin-top:1rem;font-size:.84rem;color:var(--mute)}
.tag{display:inline-block;background:var(--ink);color:var(--paper);padding:.3rem .8rem;border-radius:999px;font-size:.84rem}
/* guarantee */
.gar{display:grid;gap:2rem}
.gar ul{list-style:none;padding:0;border-top:1px solid var(--ink)}
.gar li{padding:1.1rem 0;border-bottom:1px solid var(--line)}
.gar li b{display:block;font:400 1.5rem/1.2 var(--serif)}
/* steps */
.steps{list-style:none;padding:0;display:grid;gap:1rem}
.steps li{background:#FBF8F2;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem}
.steps span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--sun);font-weight:700;margin-bottom:.9rem}
.steps p{color:var(--mute);margin-top:.4rem}
/* faq */
.faq{display:grid;gap:1rem}
.acc details{border-bottom:1px solid var(--ink)}
.acc details:first-child{border-top:1px solid var(--ink)}
.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem .2rem;min-height:56px;font:400 1.4rem/1.2 var(--serif)}
.acc summary::-webkit-details-marker{display:none}
.acc summary:after{content:"+";font:300 1.8rem var(--sans);transition:transform .3s var(--ease)}
.acc details[open] summary:after{transform:rotate(45deg)}
.acc summary:hover{color:var(--sunt)}
.acc p{padding:0 .2rem 1.3rem;color:var(--mute);max-width:60ch}
/* form */
.fin{display:grid;gap:2.5rem}
form#form{display:grid;gap:1rem;background:#26332d;padding:1.5rem;border-radius:var(--r)}
.f{display:grid;gap:.4rem}
.f label{font-weight:600;font-size:.95rem}
.f input,.f select{min-height:52px;padding:.7rem 1rem;border-radius:10px;border:2px solid #f4efe655;background:#141b18;color:#fff;font:1rem var(--sans)}
.f input:focus-visible,.f select:focus-visible{outline-color:var(--sund);border-color:var(--sund)}
.f input[aria-invalid=true]{border-color:#FF8F7A}
.er{color:#FFB3A3;font-size:.86rem}
.ok{background:#F59A6322;border:1px solid var(--sund);padding:1rem;border-radius:10px;font-size:.92rem}
.ok em{color:var(--sund);display:block;margin-top:.4rem;font-style:normal;word-break:break-word}
/* footer */
body>footer{background:#111815;color:#c9d0c9;padding:3rem 0 6rem;font-size:.92rem}
body>footer .cols{display:grid;gap:2rem}
body>footer h3{font:600 .78rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sund);margin-bottom:.7rem}
body>footer ul{list-style:none;padding:0;display:grid;gap:.35rem}
body>footer .logo{color:#F4EFE6}
body>footer p{margin-top:.8rem;max-width:36ch}
.calmo{margin-top:1rem;min-height:44px;padding:.4rem 1rem;border-radius:999px;border:1px solid #c9d0c9;background:none;color:inherit;font:inherit;cursor:pointer}
.calmo[aria-pressed=true]{background:#F4EFE6;color:var(--ink)}
.fine{margin-top:2rem;padding-top:1.2rem;border-top:1px solid #ffffff22;max-width:none!important;font-size:.84rem}
/* sticky mobile bar */
.stick{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;gap:.6rem;padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom));background:#1B2420f2;transform:translateY(110%);transition:transform .4s var(--ease)}
.stick.show{transform:none}
.stick .btn{flex:1;min-height:48px}.stick .btn.ghost{color:#F4EFE6;flex:0 0 auto}
/* reveal */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.calmo-on *,.calmo-on *:before,.calmo-on *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.calmo-on .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .rv{opacity:1;transform:none}}
@media (max-width:759px){.nav{display:none}.bar .btn{margin-left:auto}}
@media (min-width:760px){
 .hero-g{grid-template-columns:1.1fr .9fr}
 .nums{grid-template-columns:repeat(4,1fr)}
 .nums div{padding-right:1rem}
 .ben{grid-template-columns:repeat(2,1fr);column-gap:3rem}
 .gal{grid-template-columns:repeat(6,1fr)}
 .g1{grid-column:1/4;grid-row:span 2;aspect-ratio:auto}.g2{grid-column:4/7}.g3{grid-column:4/7}
 .g4{grid-column:1/4}.g5{grid-column:4/7}
 .loc{grid-template-columns:1fr 1fr;align-items:center}
 .quotes{grid-template-columns:repeat(3,1fr)}
 .steps{grid-template-columns:repeat(4,1fr)}
 .gar{grid-template-columns:1fr 1fr;gap:4rem}
 .faq{grid-template-columns:.8fr 1.2fr;gap:4rem}
 .fin{grid-template-columns:1fr 1fr;align-items:start;gap:4rem}
 body>footer .cols{grid-template-columns:1.2fr 1fr 1fr}
 .plano{grid-template-columns:1.25fr 1fr;padding:2rem;gap:2.5rem}
 body>footer{padding-bottom:3rem}
 .stick{display:none}
}
@media (min-width:1000px){.ben{grid-template-columns:repeat(3,1fr)}.hero-g{gap:4rem}}
.fin>*,.loc>*,.plano>*,.gar>*,.faq>*,.hero-g>*{min-width:0}
.f input,.f select,.calc select{width:100%}
.res div:nth-child(3),.res div:nth-child(5){grid-column:1/-1}
.gar .micro{grid-column:1/-1;margin-top:0}
.fin .btn{margin-top:1.6rem}
.logo{min-height:44px}.btn.sm{min-height:44px}.calc input[type=range]{height:44px}
