:root{
  --obs:#0b0c0f;--obs2:#12141a;--emer:#0f2a24;--ivory:#f2ece0;--ivory2:#e8dfcd;
  --gold:#d4b87e;--gold2:#ecd9ab;--bronze:#8d6d3a;--ink:#17140e;--mute:#a79f90;--mute-d:#6b6456;
  --line:rgba(212,184,126,.28);--line-d:rgba(23,20,14,.18);
  --fd:'Cormorant Garamond','Cormorant',Georgia,'Times New Roman',serif;
  --fb:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--obs);color:var(--ivory);font:300 17px/1.7 var(--fb);-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure,dl,dd,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}

/* topo */
.top{position:fixed;inset:0 0 auto 0;z-index:30;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.top.solid{background:rgba(11,12,15,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;gap:20px}
.logo{display:flex;align-items:center;gap:14px;text-decoration:none;font:400 27px/1 var(--fd);letter-spacing:.42em;text-transform:uppercase;color:var(--ivory)}
.logo svg{width:26px;height:30px;flex:none}
nav.m{display:flex;align-items:center;gap:34px}
nav.m a{text-decoration:none;font-size:14.5px;letter-spacing:.06em;color:var(--ivory2);opacity:.85;padding:6px 0;border-bottom:1px solid transparent}
nav.m a:hover,nav.m a[aria-current]{opacity:1;border-bottom-color:var(--gold)}
nav.m a.cta{border:1px solid var(--gold);padding:11px 22px;opacity:1;color:var(--gold2)}
nav.m a.cta:hover{background:var(--gold);color:var(--obs)}

/* botões */
.btn{display:inline-block;font:400 15px/1 var(--fb);letter-spacing:.08em;text-decoration:none;padding:17px 30px;border:1px solid var(--gold);color:var(--gold2);background:transparent;cursor:pointer;transition:background .25s,color .25s}
.btn:hover{background:var(--gold);color:var(--obs)}
.btn.fill{background:var(--gold);color:var(--obs);font-weight:500}
.btn.fill:hover{background:var(--gold2)}
.btn.dark{border-color:var(--ink);color:var(--ink)}
.btn.dark:hover{background:var(--ink);color:var(--ivory)}
.link{color:var(--gold2);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:3px}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:radial-gradient(1200px 700px at 72% 78%,rgba(212,184,126,.2),transparent 62%),linear-gradient(180deg,#07080b 0%,#0b0e14 55%,#16130f 100%)}
.hero .art{position:absolute;inset:0}
.hero .art svg{position:absolute;right:0;bottom:0;height:100%;width:auto;max-width:none}
.hero .wrap{position:relative;z-index:2;width:100%;padding-bottom:12vh;padding-top:140px}
.hero h1{font:300 clamp(58px,10vw,148px)/.92 var(--fd);letter-spacing:-.01em;max-width:9ch}
.hero h1 em{font-style:italic;color:var(--gold2)}
.hero .lead{max-width:30em;margin:30px 0 40px;font-size:19px;color:var(--ivory2);opacity:.9}
.hero .cta-row{display:flex;gap:18px;flex-wrap:wrap}
.hero .addr{position:absolute;left:28px;bottom:34px;z-index:2;font-size:13px;letter-spacing:.14em;color:var(--mute)}
.goldline{position:absolute;left:50%;top:0;width:1px;height:0;background:linear-gradient(var(--gold),transparent);opacity:.5;animation:draw 2.4s .3s ease-out forwards}
@keyframes draw{to{height:34vh}}
.wl{opacity:.16;fill:#d4b87e}
.wl.on{animation:light 1.6s ease-out forwards;animation-delay:calc(var(--i)*55ms + .6s)}
@keyframes light{0%{opacity:.14}60%{opacity:1;fill:#fff1c9}100%{opacity:.92;fill:#e7c780}}

/* seções */
section{position:relative}
.sec{padding:130px 0}
.ivory{background:var(--ivory);color:var(--ink)}
.ivory .mute{color:var(--mute-d)}
.emer{background:var(--emer)}
h2{font:300 clamp(40px,5.6vw,76px)/1.02 var(--fd);letter-spacing:-.005em}
h3{font:400 30px/1.1 var(--fd)}
.mute{color:var(--mute)}
.sub{max-width:34em;margin-top:26px;font-size:18px}
.split{display:grid;grid-template-columns:5fr 6fr;gap:90px;align-items:start}
.big{font:300 clamp(120px,19vw,260px)/.8 var(--fd);color:var(--bronze);letter-spacing:-.03em}
.ivory .big{color:var(--bronze)}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;margin-top:50px}
.facts div{padding:20px 0;border-top:1px solid var(--line-d)}
.facts dt{font-size:13px;letter-spacing:.1em;color:var(--mute-d)}
.facts dd{font:300 34px/1.1 var(--fd);margin-top:6px}

/* residências */
.res{margin-top:70px;border-top:1px solid var(--line)}
.res li{display:grid;grid-template-columns:1.1fr 2fr 1fr auto;gap:30px;align-items:baseline;padding:34px 0;border-bottom:1px solid var(--line)}
.res .m{font:300 clamp(44px,5vw,70px)/1 var(--fd);color:var(--gold2)}
.res .m small{font-size:.4em;margin-left:4px}
.res p{color:var(--mute);max-width:30em}
.res .s{color:var(--ivory2);font-size:15px;letter-spacing:.06em}

/* maquete */
.stage{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:center}
.frame{position:relative;border:1px solid var(--line);padding:14px;background:linear-gradient(160deg,#10131a,#08090c)}
.frame:before{content:"";position:absolute;inset:6px;border:1px solid rgba(212,184,126,.12);pointer-events:none}
.frame svg{display:block;width:100%;height:auto}
.frame a.over{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:26px;text-decoration:none}
.frame .over span{background:var(--gold);color:var(--obs);padding:14px 26px;font-size:14.5px;letter-spacing:.1em;font-weight:500}
.how{margin-top:40px;display:grid;gap:0}
.how li{padding:18px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:40px 1fr;gap:6px}
.how b{font:400 22px/1.2 var(--fd);color:var(--gold2)}
.how span{grid-column:2;color:var(--mute);font-size:16px}
.how li:before{counter-increment:h;content:counter(h);font:300 22px/1.2 var(--fd);color:var(--gold)}
.how{counter-reset:h}

/* empreendimentos */
.proj{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:26px;margin-top:70px}
.pj{position:relative;min-height:520px;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;overflow:hidden;color:var(--ivory);text-decoration:none;background:var(--obs)}
.pj.b{background:linear-gradient(180deg,#0e1218,#1a150e)}
.pj.v{background:linear-gradient(180deg,#0f2a24,#0b1a17);min-height:430px;align-self:end}
.pj.m{background:linear-gradient(180deg,#26211a,#120f0b);min-height:360px;align-self:end}
.pj svg{position:absolute;inset:0;width:100%;height:100%}
.pj>*:not(svg){position:relative}
.pj .st{font-size:13px;letter-spacing:.12em;color:var(--gold2)}
.pj h3{font-size:40px;margin:8px 0 8px}
.pj p{color:var(--ivory2);opacity:.85;font-size:15.5px}

/* manifesto */
.man{font:300 clamp(34px,4.6vw,64px)/1.16 var(--fd);max-width:19em}
.man em{color:var(--bronze)}

/* contato */
form{display:grid;gap:26px;max-width:540px}
.fld{display:grid;gap:4px}
label{font-size:13px;letter-spacing:.1em;color:var(--mute)}
input,select,textarea{font:300 18px/1.4 var(--fb);color:var(--ivory);background:transparent;border:0;border-bottom:1px solid var(--line);padding:10px 0;border-radius:0;width:100%}
select option{color:#111}
textarea{min-height:80px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:0;border-bottom-color:var(--gold2)}
.ok{color:var(--gold2)}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.cinfo p{margin-top:18px;color:var(--ivory2)}

/* pitch */
.ftable{margin-top:70px;border-top:1px solid var(--line)}
.ftable li{display:grid;grid-template-columns:5fr 7fr;gap:50px;padding:38px 0;border-bottom:1px solid var(--line)}
.ivory .ftable,.ivory .ftable li{border-color:var(--line-d)}
.ftable p{color:var(--mute);font-size:17px}
.ivory .ftable p{color:var(--mute-d)}
.tw{overflow-x:auto;margin-top:60px}
table{width:100%;border-collapse:collapse;min-width:640px}
th,td{text-align:left;padding:20px 16px 20px 0;border-bottom:1px solid var(--line-d);font-size:16px;vertical-align:top}
th{font:400 13px var(--fb);letter-spacing:.1em;color:var(--mute-d)}
td.y{font-weight:500;color:var(--bronze)}
td.n{color:var(--mute-d)}
details{border-bottom:1px solid var(--line);padding:24px 0}
summary{cursor:pointer;font:400 28px/1.2 var(--fd);list-style:none}
summary::-webkit-details-marker{display:none}
details p{margin-top:12px;color:var(--mute);max-width:36em}

footer{background:#07080a;border-top:1px solid var(--line);padding:64px 0;color:var(--mute);font-size:14px}
footer .wrap{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start}
footer .logo{font-size:22px;margin-bottom:18px}
.disc{max-width:44em;line-height:1.7}

@media(max-width:900px){
  .split,.stage,.cgrid,.ftable li{grid-template-columns:1fr;gap:40px}
  .res li{grid-template-columns:1fr;gap:8px;padding:28px 0}
  .proj{grid-template-columns:1fr}
  .pj,.pj.v,.pj.m{min-height:360px}
  .sec{padding:84px 0}
  nav.m a:not(.cta){display:none}
  .top .wrap{height:68px}
  .logo{font-size:21px;letter-spacing:.3em}
  .hero .art svg{right:-34%;opacity:.8}
  .hero .addr{display:none}
  footer .wrap{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.goldline{animation:none;height:34vh}.wl.on{animation:none;opacity:.9;fill:#e7c780}}
[hidden]{display:none!important}
.hero .art svg{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%)}
@media(max-width:900px){.hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,8,11,0) 15%,rgba(7,8,11,.9) 62%)}}
