:root{
  --paper:#f2efe8;
  --paper-2:#e8e3d8;
  --paper-3:#dcd6c8;
  --card:#faf8f3;
  --ink:#16232d;
  --ink-2:#4a5862;
  --navy:#1b2f3d;
  --navy-d:#12212c;
  --ochre:#dba234;
  --ochre-l:#f3c767;
  --ochre-t:#86580b;
  --telha:#a8472a;
  --line:rgba(22,35,45,.17);
  --line-2:rgba(22,35,45,.09);
  --max:1280px;
  --pad:clamp(20px,4vw,56px);
  --nav-h:68px;
  --f:'Archivo',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --m:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.55 var(--f);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;word-spacing:.04em}
h1,h2,h3,h4,b,summary,.btn,.plate span{word-spacing:.1em}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
button,input{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--telha);outline-offset:3px}
[id]{scroll-margin-top:calc(var(--nav-h) + 12px)}
body.lock{overflow:hidden}

/* nav */
.nav{background:var(--paper);border-bottom:1px solid var(--line);z-index:30}
.nav-in{max-width:var(--max);margin:0 auto;padding:0 var(--pad);height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-height:44px}
.brand-mark{flex:none;border-radius:7px}
.brand-txt{display:flex;flex-direction:column;line-height:1.1}
.brand-txt b{font-weight:800;font-size:19px;letter-spacing:-.02em}
.brand-txt small{white-space:nowrap;font-size:12.5px;color:var(--ink-2);margin-top:3px;font-weight:500}
.nav-links{display:flex;align-items:center;gap:clamp(14px,1.7vw,26px)}
.nav-links>a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:15px;white-space:nowrap;font-weight:500;color:var(--ink-2);border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.nav-links>a:hover{color:var(--ink);border-bottom-color:var(--ochre)}
.nav-toggle{display:none;width:44px;height:44px;border:0;background:none;padding:0;cursor:pointer;position:relative;margin-right:-10px}
.nav-toggle span{position:absolute;left:11px;right:11px;height:2px;background:var(--ink);transition:transform .25s,top .25s}
.nav-toggle span:first-child{top:18px}
.nav-toggle span:last-child{top:25px}
.nav-toggle[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:last-child{top:21px;transform:rotate(-45deg)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border:0;border-radius:4px;background:var(--navy);color:#fff;font-weight:700;font-size:16.5px;letter-spacing:-.005em;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}
.btn:hover{background:var(--navy-d)}
.btn:active{transform:translateY(1px)}
.btn svg{flex:none}
.btn-o{background:var(--ochre);color:var(--navy-d)}
.btn-o:hover{background:var(--ochre-l)}
.btn-sm{min-height:44px;padding:0 18px;font-size:15.5px}
.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--paper)}
.btn-line.on-dark{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.btn-line.on-dark:hover{background:rgba(255,255,255,.12);color:#fff}
.link-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;border:0;background:none;cursor:pointer;font-weight:700;font-size:16px;color:var(--navy);line-height:1.2;text-align:left;text-decoration:none}
.link-btn span{border-bottom:2px solid var(--ochre);padding-bottom:2px}
.link-btn svg{transition:transform .2s;flex:none}
.link-btn:hover svg{transform:translateX(3px)}

/* shared bits */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.sec{margin-top:clamp(72px,9vw,128px)}
.band{background:var(--paper-2);padding:clamp(56px,7vw,104px) 0}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;color:var(--ochre-t);margin-bottom:16px;letter-spacing:.01em}
.eyebrow::before{content:'';flex:none;width:34px;height:9px;background:
  linear-gradient(currentColor,currentColor) 0 50%/100% 1.5px no-repeat,
  linear-gradient(currentColor,currentColor) 0 0/1.5px 100% no-repeat,
  linear-gradient(currentColor,currentColor) 100% 0/1.5px 100% no-repeat}
h2.t{font-weight:800;font-size:clamp(2rem,3.3vw,3rem);line-height:1.06;letter-spacing:-.022em;text-wrap:balance}
.lead{margin-top:18px;font-size:clamp(1.05rem,1.3vw,1.18rem);color:var(--ink-2);max-width:32em;line-height:1.55}
.head{display:grid;grid-template-columns:6fr 5fr;gap:clamp(24px,5vw,80px);align-items:end;padding-bottom:clamp(30px,4vw,52px)}
.head .lead{margin-top:0}
.photo{overflow:hidden;border-radius:4px;background:var(--paper-3)}
.photo img{width:100%;height:100%;object-fit:cover}
.js .reveal img{clip-path:inset(0 0 100% 0);transform:scale(1.05);transition:clip-path 1s cubic-bezier(.2,.7,.2,1),transform 1.3s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in img{clip-path:inset(0);transform:none}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,4vw,64px);align-items:center;padding:clamp(36px,4.5vw,64px) 0 0;padding-left:max(var(--pad),calc((100% - var(--max))/2 + var(--pad)))}
.hero h1{font-weight:800;font-size:clamp(2.35rem,3.9vw,3.7rem);line-height:1.02;letter-spacing:-.028em;text-wrap:balance}
.hero-sub{margin-top:24px;font-size:clamp(1.05rem,1.3vw,1.18rem);line-height:1.55;color:var(--ink-2);max-width:32em}
.hero-cta{margin-top:32px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.hero-note{margin-top:14px;font-size:14.5px;color:var(--ink-2)}
.hero-fig{position:relative;border-radius:4px 0 0 4px;overflow:hidden}
.hero-fig img{width:100%;height:clamp(420px,calc(100vh - var(--nav-h) - 170px),760px);object-fit:cover;object-position:46% 50%;background:var(--paper-3);animation:settle 1.4s cubic-bezier(.2,.7,.2,1) both}
.plate{position:absolute;left:0;bottom:22px;max-width:min(330px,80%);padding:12px 16px 12px 18px;background:var(--ochre);color:var(--navy-d);border-radius:0 3px 3px 0;box-shadow:0 10px 24px -14px rgba(0,0,0,.5)}
.plate b{display:block;font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.plate span{display:block;margin-top:3px;font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.25}
@keyframes settle{from{transform:scale(1.035);opacity:.85}to{transform:none;opacity:1}}

@media (min-width:761px){.hero{min-height:calc(100vh - var(--nav-h));padding-bottom:clamp(24px,4vh,48px)}}

/* facts */
.facts{max-width:var(--max);margin:clamp(24px,3vw,40px) auto 0;padding:0 var(--pad)}
.facts-in{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink)}
.facts-in li{padding:22px 32px 0 0;display:flex;flex-direction:column;gap:6px}
.facts-in li+li{padding-left:32px;border-left:1px solid var(--line)}
.facts-in b{font-weight:800;font-size:18px;letter-spacing:-.005em}
.facts-in span{font-size:15.5px;color:var(--ink-2);line-height:1.5}

/* o que construimos */
.kinds{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,36px)}
.kind{display:flex;flex-direction:column}
.kind .photo{aspect-ratio:4/3}
.kind h3{margin-top:20px;font-weight:800;font-size:clamp(1.5rem,2vw,1.85rem);line-height:1.1;letter-spacing:-.025em}
.kind p{margin-top:10px;font-size:16.5px;color:var(--ink-2);line-height:1.55}
.chips{margin:16px 0 18px;display:flex;flex-wrap:wrap;gap:8px}
.chips li{padding:5px 11px;border-radius:99px;background:var(--paper-2);font-size:13.5px;font-weight:600;color:var(--ink-2)}
.kind .link-btn{margin-top:auto}
.kind-body{display:flex;flex-direction:column;flex:1}

/* planta */
.planta{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background-image:linear-gradient(var(--line-2) 1px,transparent 1px),linear-gradient(90deg,var(--line-2) 1px,transparent 1px);background-size:28px 28px;background-position:-1px -1px;padding:clamp(56px,7vw,104px) 0}
.pl{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,3.5vw,56px);align-items:start}
.pl-fig{position:sticky;top:calc(var(--nav-h) + 16px);background:rgba(250,248,243,.85);border:1px solid var(--line);border-radius:4px;padding:clamp(8px,1.4vw,18px)}
.pl-stage{position:relative}
.pl-svg{display:block;width:100%;height:auto;max-height:620px;touch-action:manipulation}
.pl-svg .hit{fill:transparent;cursor:pointer;pointer-events:all}
.pl-svg .floor{transition:fill .25s}
.pl-svg .floor.on{fill:var(--ochre-l)!important}
.pl-svg .pin circle{fill:var(--navy);transition:fill .2s,transform .25s;transform-box:fill-box;transform-origin:center}
.pl-svg .pin text{fill:#fff;font:700 11px var(--f);text-anchor:middle;dominant-baseline:central}
.pl-svg .pin.on circle{fill:var(--telha);transform:scale(1.25)}
.pl-levels{position:absolute;left:12px;top:12px;display:flex;gap:6px;z-index:2}
.pl-levels button{min-height:44px;padding:0 14px;border:0;border-radius:4px;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);font-weight:700;font-size:14.5px;cursor:pointer}
.pl-levels button[aria-pressed="true"]{background:var(--navy);color:#fff;box-shadow:none}
.pl-levels[hidden]{display:none}
.pl-scale{display:flex;align-items:center;gap:10px;margin-top:8px;font:500 12px var(--m);color:var(--ink-2)}
.pl-scale i{display:block;width:44px;height:7px;border:1.5px solid var(--ink-2);border-top:0}
.pl-ctl{display:flex;flex-direction:column;gap:20px}
.lbl{font-size:13.5px;font-weight:700;color:var(--ink-2);margin-bottom:10px}
.models{display:grid;grid-template-columns:1fr;gap:8px}
.models button{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;min-height:60px;padding:10px 16px;border:0;border-radius:4px;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);text-align:left;cursor:pointer;transition:background .2s,box-shadow .2s,color .2s}
.models button b{font-weight:800;font-size:16.5px;letter-spacing:-.01em}
.models button span{font:500 13px var(--m);color:var(--ink-2)}
.models button small{grid-column:1/-1;font-size:13.5px;color:var(--ink-2)}
.models button:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.models button[aria-checked="true"]{background:var(--navy);color:#fff;box-shadow:none}
.models button[aria-checked="true"] span,.models button[aria-checked="true"] small{color:#c8d3da}
.rooms{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.rooms li{min-width:0}
.rooms button{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:6px 10px 6px 8px;border:0;border-radius:4px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;text-align:left;font-size:14.5px;font-weight:600;line-height:1.2;transition:background .2s,box-shadow .2s}
.rooms button:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.rooms button[aria-pressed="true"]{background:var(--ochre-l);box-shadow:inset 0 0 0 1.5px var(--navy)}
.rooms .n{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;font-weight:700}
.rooms .nm{flex:1;min-width:0}
.rooms .ar{flex:none;font:500 12.5px var(--m);color:var(--ink-2)}
.info{padding:18px 20px;border-radius:4px;background:var(--navy);color:#fff;min-height:132px}
.info .k{font-size:13px;font-weight:600;color:var(--ochre-l)}
.info h3{margin-top:4px;font-weight:800;font-size:1.5rem;letter-spacing:-.02em;line-height:1.15}
.info .big{display:flex;align-items:baseline;gap:10px;margin-top:6px}
.info .big b{font:500 1.9rem var(--m);letter-spacing:-.02em}
.info .big span{font-size:14px;color:#c8d3da}
.info p{margin-top:8px;font-size:15.5px;line-height:1.5;color:#dbe3e8}
.tot{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:12px;border-top:2px solid var(--ink);font-weight:700}
.tot b{font:500 1.15rem var(--m)}
.pl-note{font-size:13.5px;color:var(--ink-2);line-height:1.5}

/* acompanhe */
.ac{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:start}
.ac>div:first-child{position:sticky;top:calc(var(--nav-h) + 24px)}
.stg{border-top:2px solid var(--ink)}
.stg li{border-bottom:1px solid var(--line)}
.stg button{display:grid;grid-template-columns:34px 1fr auto;gap:2px 14px;align-items:center;width:100%;min-height:68px;padding:12px 4px;border:0;background:none;cursor:pointer;text-align:left;transition:background .2s}
.stg button:hover{background:rgba(22,35,45,.04)}
.stg .sn{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ink-2);font-weight:700;font-size:14px;color:var(--ink-2);transition:background .2s,color .2s}
.stg b{font-weight:800;font-size:18px;letter-spacing:-.015em}
.stg .sp{font:500 13px var(--m);color:var(--ink-2)}
.stg small{grid-column:2/4;font-size:14.5px;color:var(--ink-2);line-height:1.4;display:none}
.stg button[aria-selected="true"] .sn{background:var(--navy);color:#fff;box-shadow:none}
.stg button[aria-selected="true"] small{display:block}
.stg button[aria-selected="true"] b{color:var(--navy)}
.ac-note{margin-top:20px;font-size:13.5px;color:var(--ink-2);max-width:34em}
.ac-stage{display:flex;flex-direction:column;align-items:center;gap:14px}
.stage-note{font-size:13.5px;color:var(--ink-2);text-align:center}

/* phone */
.phone{position:relative;width:min(318px,100%);aspect-ratio:318/660;border-radius:48px;background:#14171a;padding:9px;box-shadow:inset 0 0 0 1.5px #3b4144,0 40px 60px -34px rgba(18,33,44,.6),0 8px 18px -10px rgba(18,33,44,.35)}
.screen{position:relative;height:100%;border-radius:40px;overflow:hidden;background:#f6f4ef;display:flex;flex-direction:column;color:#111;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,var(--f)}
.island{position:absolute;top:10px;left:50%;width:86px;height:25px;border-radius:14px;background:#000;transform:translateX(-50%);z-index:3}
.status{flex:none;display:flex;justify-content:space-between;align-items:center;padding:13px 24px 0 30px;height:46px;font-size:13px;font-weight:600}
.status .sb{display:flex;gap:5px;align-items:center}
.home{position:absolute;left:50%;bottom:7px;width:106px;height:4px;border-radius:3px;background:#111;transform:translateX(-50%);opacity:.85;z-index:3}
.ap-hd{flex:none;display:flex;align-items:center;gap:10px;padding:6px 16px 10px}
.ap-hd svg{border-radius:8px;flex:none}
.ap-hd div{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.ap-hd b{font-size:16px;font-weight:700}
.ap-hd span{font-size:12px;color:#667781}
.ap-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 14px 26px;scrollbar-width:none}
.ap-body::-webkit-scrollbar{display:none}
.ap-prog{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:baseline;font-size:12.5px;color:#54656f}
.ap-prog b{font-size:20px;color:#111;letter-spacing:-.02em}
.bar{grid-column:1/-1;position:relative;height:6px;border-radius:3px;background:#e1dccf;overflow:hidden}
.bar i{position:absolute;left:0;top:0;bottom:0;width:var(--p);border-radius:3px;background:var(--navy)}
.ap-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin:10px -9px 8px}
.ap-steps button{position:relative;display:grid;place-items:center;height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:#8a949a;cursor:pointer;transition:background .2s,color .2s}
.ap-steps button svg{width:22px;height:22px}
.ap-steps button.done{color:var(--navy)}
.ap-steps button[aria-pressed="true"]{background:var(--navy);color:#fff}
.ap-steps button.cur::after{content:'';position:absolute;top:6px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--ochre)}
.entry{display:none}
.entry.on{display:block;animation:rise-in .35s ease both}
.entry .ph{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:3/2;background:#ddd5c4}
.entry .ph img{width:100%;height:100%;object-fit:cover}
.entry .ph time{position:absolute;left:8px;bottom:8px;padding:2px 8px;border-radius:99px;background:rgba(0,0,0,.52);color:#fff;font-size:11px;font-weight:600}
.entry h4{margin-top:10px;display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;line-height:1.2}
.tag{display:inline-block;padding:2px 8px;border-radius:99px;background:#dcebd9;color:#2e6a3b;font-size:11px;font-weight:700}
.tag.run{background:#f8e7bf;color:#7a5200}
.entry p{margin-top:6px;font-size:13.5px;line-height:1.42;color:#3b4850}
.entry ul{margin-top:8px;display:grid;gap:5px}
.entry li{position:relative;padding-left:20px;font-size:13px;line-height:1.38;color:#3b4850}
.entry li::before{content:'';position:absolute;left:2px;top:5px;width:9px;height:5px;border-left:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(-45deg)}
.card2{margin-top:12px;padding:12px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.07)}
.card2 .k{font-size:11.5px;font-weight:700;color:var(--ochre-t)}
.card2 h5{margin:2px 0 0;font-size:14.5px;font-weight:700;line-height:1.25}
.card2 p{margin-top:3px;font-size:12.5px;color:#54656f;line-height:1.4}
.ap-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;margin-top:10px;border:0;border-radius:10px;background:var(--navy);color:#fff;font-size:13.5px;font-weight:700;cursor:pointer}
.ap-btn[aria-pressed="true"]{background:#2e6a3b}
.opts{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}
.opts button{min-height:44px;padding:0 12px;border:0;border-radius:10px;background:#f2efe8;box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.12);font-size:13px;font-weight:600;cursor:pointer}
.opts button[aria-pressed="true"]{background:var(--ochre-l);box-shadow:inset 0 0 0 1.5px var(--navy)}
.decided{margin-top:8px;font-size:12.5px;font-weight:600;color:#2e6a3b;min-height:1.3em}

/* caminho */
.cm{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(28px,5vw,80px);align-items:start}
.cm-side{position:sticky;top:calc(var(--nav-h) + 24px);display:grid;gap:14px}
.cm-side .photo{aspect-ratio:4/3}
.cm-side .photo.tall{aspect-ratio:3/4}
.cm-side figcaption{margin-top:8px;font-size:13.5px;color:var(--ink-2)}
.path{counter-reset:s;border-top:2px solid var(--ink)}
.stp{display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 clamp(12px,2vw,28px);padding:26px 0;border-bottom:1px solid var(--line)}
.stp .no{font:500 2rem/1 var(--m);color:var(--ochre-t);letter-spacing:-.04em}
.stp h3{font-weight:800;font-size:clamp(1.4rem,1.9vw,1.7rem);line-height:1.12;letter-spacing:-.025em}
.stp .what{margin-top:8px;font-size:16.5px;color:var(--ink-2);line-height:1.55;max-width:36em}
.bring{margin-top:16px;padding:14px 16px;border-radius:4px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.bring .bh{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;font-weight:700;color:var(--ink-2)}
.bring .cnt{font:500 12.5px var(--m)}
.bring label{display:flex;align-items:center;gap:12px;min-height:44px;padding:4px 0;cursor:pointer;font-size:15.5px;line-height:1.35}
.bring input{appearance:none;-webkit-appearance:none;flex:none;width:22px;height:22px;margin:0;border-radius:4px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--ink-2);cursor:pointer;display:grid;place-items:center;transition:background .15s}
.bring input:checked{background:var(--navy);box-shadow:none}
.bring input:checked::after{content:'';width:10px;height:5px;margin-top:-2px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.bring input:focus-visible{outline:2px solid var(--telha);outline-offset:2px}
.bring li+li{border-top:1px solid var(--line-2)}
.sum{margin-top:22px;font-size:14.5px;color:var(--ink-2)}
.sum b{font:500 15px var(--m);color:var(--ink)}

/* entregues */
.del{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(18px,2.2vw,32px)}
.ob{display:flex;flex-direction:column;grid-column:span 2}
.ob.big{grid-column:span 4;grid-row:span 2}
.ob .photo{aspect-ratio:3/2}
.ob.big .photo{aspect-ratio:auto;flex:1;min-height:360px}
.ob.wide{grid-column:span 6;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3vw,48px);align-items:center}
.ob.wide .photo{aspect-ratio:16/10}
.ob.wide .ob-b{padding-top:0}
.ob-b{padding-top:16px}
.ob .meta{font-size:13.5px;font-weight:700;color:var(--ochre-t)}
.ob h3{margin-top:4px;font-weight:800;font-size:clamp(1.3rem,1.7vw,1.55rem);line-height:1.12;letter-spacing:-.02em}
.ob p{margin-top:8px;font-size:15.5px;color:var(--ink-2);line-height:1.5;max-width:34em}

/* planta svg */
.pl-svg polygon{stroke:#1d2a33;stroke-width:1.1;stroke-linejoin:round}
.pl-svg .slab{fill:#cfc8b8}
.pl-svg .slab.fy{fill:#e0dacb}
.pl-svg .floor{fill:#efe9db;stroke:#8d8878;stroke-width:.8}
.pl-svg .floor.t-dorm{fill:#ebdcc0}
.pl-svg .floor.t-wet{fill:#cfe0e3}
.pl-svg .floor.t-soc{fill:#f2ead6}
.pl-svg .floor.t-serv{fill:#ddd9cd}
.pl-svg .floor.t-ext{fill:#d6dfc3}
.pl-svg .floor.t-circ{fill:#e6e1d4}
.pl-svg .wall .ft{fill:#fffdf8}
.pl-svg .wall .fx{fill:#d8d1bf}
.pl-svg .wall .fy{fill:#eee9dc}
.pl-svg .fu polygon{stroke:#56626b;stroke-width:.9}
.pl-svg .fu .ft{fill:#fff}
.pl-svg .fu .fx{fill:#e3ddcc}
.pl-svg .fu .fy{fill:#f4f0e5}
.pl-svg .fu .ft.tray{fill:#bcd5da}
.pl-svg .win{fill:#bfdbe4;stroke:#1d2a33;stroke-width:.9}
.pl-svg .hit{stroke:none}

/* equipe */
.team{background:var(--navy);color:#e7ecef}
.team .eyebrow{color:var(--ochre-l)}
.team h2.t{color:#fff}
.team .lead{color:#b9c6cf}
.people{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,2vw,28px)}
.person .photo{aspect-ratio:4/5;background:#243b4b}
.person h3{margin-top:16px;font-weight:800;font-size:19px;letter-spacing:-.015em;line-height:1.2;color:#fff}
.role{margin-top:4px;font-size:14px;font-weight:700;color:var(--ochre-l);line-height:1.3}
.bio{margin-top:8px;font-size:14.5px;color:#b9c6cf;line-height:1.5}

/* conte */
.ct{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,5vw,88px);align-items:start}
.form{display:grid;gap:24px}
.fld legend{display:block;padding:0;margin-bottom:10px;font-size:14.5px;font-weight:700}
.fld>label.l{display:flex;align-items:center;min-height:44px;margin-bottom:0;font-size:14.5px;font-weight:700}
fieldset{margin:0;padding:0;border:0;min-width:0}
.pick{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.pick label{position:relative;display:block}
.pick input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.pick span{display:flex;align-items:center;min-height:48px;padding:6px 14px;border-radius:4px;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);font-weight:600;font-size:15.5px;line-height:1.25;transition:background .2s,box-shadow .2s,color .2s}
.pick input:hover+span{box-shadow:inset 0 0 0 1.5px var(--ink)}
.pick input:checked+span{background:var(--navy);color:#fff;box-shadow:none}
.pick input:focus-visible+span{outline:2px solid var(--telha);outline-offset:2px}
.txt{width:100%;min-height:50px;padding:0 14px;border:0;border-radius:4px;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);font-size:16px;color:var(--ink)}
.txt:focus{outline:2px solid var(--navy);outline-offset:1px}
.txt::placeholder{color:#7a868e}
.err{display:block;min-height:1.3em;margin-top:6px;font-size:14px;font-weight:600;color:var(--telha)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.form-foot p{font-size:14px;color:var(--ink-2);max-width:26em;line-height:1.45}
.ct-stage{position:sticky;top:calc(var(--nav-h) + 20px);display:flex;flex-direction:column;align-items:center;gap:14px}
.wa-hd{flex:none;display:flex;align-items:center;gap:9px;padding:6px 12px 9px 14px;background:#f6f6f6;border-bottom:.5px solid rgba(0,0,0,.14)}
.wa-hd svg{flex:none}
.wa-hd .av{border-radius:50%}
.who2{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.who2 b{font-size:14.5px;font-weight:600}
.who2 span{font-size:11.5px;color:#667781}
.wa-body{position:relative;flex:1;min-height:0;padding:10px 9px;display:flex;flex-direction:column;gap:5px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;background-color:#efeae2;background-image:radial-gradient(rgba(130,108,72,.09) 1px,transparent 1.2px);background-size:15px 15px}
.wa-body::-webkit-scrollbar{display:none}
.wa-body .sp{flex:1}
.wa-empty{margin:auto;max-width:210px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.8);font-size:13.5px;line-height:1.4;color:#54656f;text-align:center}
.date{align-self:center;padding:2px 9px;border-radius:7px;font-size:11.5px;font-weight:500;color:#54656f;background:#fff;box-shadow:0 1px .5px rgba(0,0,0,.12);margin-bottom:3px}
.m{position:relative;max-width:86%;padding:6px 8px 4px;border-radius:9px;font-size:13.3px;line-height:1.36;box-shadow:0 1px .5px rgba(0,0,0,.13);animation:pop .32s cubic-bezier(.2,.8,.2,1) both}
.m p{margin:0}
.m.out{align-self:flex-end;background:#d9fdd3;border-top-right-radius:2px}
.m.in{align-self:flex-start;background:#fff;border-top-left-radius:2px}
.m time{float:right;display:inline-flex;align-items:center;gap:3px;margin:7px 0 -3px 10px;font-size:10.5px;color:#667781}
.m time svg{color:#53bdeb}
.m.typing{display:inline-flex;gap:4px;padding:11px 12px;align-self:flex-start}
.m.typing i{width:6px;height:6px;border-radius:50%;background:#9aa5ab;animation:dot 1.1s ease-in-out infinite}
.m.typing i:nth-child(2){animation-delay:.15s}
.m.typing i:nth-child(3){animation-delay:.3s}
.quick{align-self:flex-end;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:4px}
.quick button{min-height:44px;padding:0 14px;border:0;border-radius:99px;background:#fff;box-shadow:inset 0 0 0 1.5px #25a05a;color:#177a43;font-size:13px;font-weight:600;cursor:pointer}
.wa-in{flex:none;display:flex;align-items:center;gap:9px;padding:7px 11px 24px;background:#f6f6f6;border-top:.5px solid rgba(0,0,0,.1);color:#0a84ff}
.wa-in .field{flex:1;padding:6px 12px;border-radius:99px;border:.5px solid rgba(0,0,0,.16);background:#fff;font-size:13.5px;color:#9aa5ab}
.ct-note{max-width:318px;text-align:center}
.redo{min-height:44px}

/* escritorio */
.office{background:var(--navy-d);color:#e7ecef;padding:clamp(48px,6vw,88px) 0}
.office-in{max-width:var(--max);margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,80px);align-items:start}
.office .eyebrow{color:var(--ochre-l)}
.office h2.t{color:#fff}
.office-p{margin-top:16px;max-width:24em;font-size:17.5px;color:#b9c6cf}
.office-list{margin-top:30px}
.office-list>div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:16px 0;border-top:1px solid rgba(255,255,255,.18)}
.office-list>div:last-child{border-bottom:1px solid rgba(255,255,255,.18)}
.office-list dt{font-size:15px;color:#9fb0bb}
.office-list dd{font-size:17px;line-height:1.5}
.open{display:block;margin-top:6px;font-size:14.5px;font-weight:700;color:#a9dcb4}
.open.closed{color:#f0c9b6}
.open::before{content:'';display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:currentColor;vertical-align:1px}
.mail{display:inline-block;padding:10px 0;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);overflow-wrap:anywhere}
.mail:hover{border-bottom-color:#fff}
.office-cta{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.copied{font-size:14.5px;color:#a9dcb4;min-height:1.2em}
.office-side{display:grid;gap:18px}
.facade{margin:0;overflow:hidden;border-radius:4px;aspect-ratio:3/2;background:#1c3040}
.facade img{width:100%;height:100%;object-fit:cover}
.map{margin:0}
.map svg{display:block;width:100%;height:auto;aspect-ratio:600/340;border-radius:4px}
.map figcaption{margin-top:10px;font-size:13.5px;color:#9fb0bb}

/* faq */
.faq-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,88px);align-items:start}
.faq-side .photo{margin-top:28px;aspect-ratio:3/2}
.faq-ask{margin-top:24px;font-size:15.5px;color:var(--ink-2)}
.faq-list{border-top:2px solid var(--ink)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px;padding:16px 0;font-weight:700;font-size:18px;line-height:1.3;letter-spacing:-.01em;cursor:pointer;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary svg{flex:none;color:var(--navy);transition:transform .25s}
.faq-list details[open] summary svg{transform:rotate(45deg)}
.faq-list summary:hover{color:var(--telha)}
.faq-list details p{padding:0 44px 22px 0;color:var(--ink-2);font-size:17px;line-height:1.55;max-width:36em}

/* footer */
.foot{margin-top:clamp(72px,9vw,128px);background:var(--navy-d);color:#cfd8de;padding:clamp(44px,5vw,72px) 0 0}
.foot-in{max-width:var(--max);margin:0 auto;padding:0 var(--pad) clamp(36px,4vw,56px);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,1.3fr);gap:clamp(24px,4vw,64px)}
.foot .brand-txt b{color:#fff}
.foot .brand-txt small{color:#9fb0bb}
.foot-brand p{margin-top:18px;max-width:26em;font-size:15.5px;color:#a9b8c2;line-height:1.55}
.foot-col h2{font-weight:700;font-size:14px;color:#9fb0bb;margin-bottom:8px}
.foot-col li{font-size:15.5px;line-height:1.45}
.foot-col li.txt-li{padding:7px 0}
.foot a,.foot-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;color:#eef2f4;text-decoration:none;overflow-wrap:anywhere}
.foot a:hover,.foot-btn:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.foot-btn{padding:0;border:0;background:none;cursor:pointer;font-size:15.5px}
.foot-meta{max-width:calc(var(--max) - 2*var(--pad));width:calc(100% - 2*var(--pad));margin:0 auto;padding:12px 0 76px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13.5px;color:#9fb0bb}
.foot-meta a{color:#d8e0e5}

/* badge: the finalizer restyles it */
.ariadne{position:fixed;left:16px;bottom:16px;z-index:60;font:600 12px/1 var(--f);padding:8px 12px;border-radius:999px;background:rgba(18,33,44,.92);color:#fff;text-decoration:none}
.ariadne b{color:var(--ochre-l)}
@media (max-width:760px){.ariadne{position:static!important;display:table;margin:16px auto calc(24px + env(safe-area-inset-bottom))!important;transform:none!important;line-height:28px;padding:8px 16px;min-height:44px}
  html .ariadne-lang,html .ariadne-want{min-height:44px;align-items:center;justify-content:center}html .ariadne-lang{min-width:44px;display:inline-flex}html .ariadne-want{padding:0 16px 0 14px}}

@keyframes rise-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
@keyframes dot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-3px);opacity:1}}

/* desktop sticky nav */
@media (min-width:901px){.nav{position:sticky;top:0}}

@media (max-width:1100px){
  .brand-txt small{display:none}
  .nav-links{gap:14px}
  .nav-links>a{font-size:14.5px}
  .people{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .nav-toggle{display:block}
  .nav{position:relative}
  .nav-links{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:6px var(--pad) 20px;display:none;box-shadow:0 18px 30px -18px rgba(22,35,45,.35)}
  .nav-links.open{display:flex}
  .nav-links>a{min-height:52px;font-size:17px;border-bottom:1px solid var(--line)}
  .nav-cta{margin-top:16px;min-height:52px;font-size:17px}
  .hero{grid-template-columns:1fr;gap:28px;padding:32px 0 0}
  .hero-text{padding:0 var(--pad)}
  .hero-fig,.hero-fig img{border-radius:0}
  .hero-fig img{height:auto;aspect-ratio:4/3}
  .head{grid-template-columns:1fr;gap:16px}
  .kinds{grid-template-columns:1fr;gap:44px}
  .kind{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}
  .kind .photo{aspect-ratio:4/3}
  .kind h3{margin-top:0}
  .pl{display:flex;flex-direction:column;align-items:stretch;gap:20px}
  .pl-ctl{display:contents}
  .pl-fig{position:relative;top:auto}
  .c-models{order:-1}
  .info{order:1;min-height:0}
  .c-rooms{order:2}
  .c-tot{order:3}
  .models{grid-template-columns:repeat(3,1fr)}
  .models button{grid-template-columns:1fr;min-height:76px;padding:10px 12px;align-content:center}
  .models button small{display:none}
  .models button b{font-size:15px;line-height:1.2}
  .ac-stage{order:1}
  .ac>div:first-child{order:2}
  .ac{grid-template-columns:1fr;gap:32px}
  .ac>div:first-child{position:static}
  .cm{grid-template-columns:1fr}
  .cm-side{position:static;grid-template-columns:1fr 1fr}
  .del{grid-template-columns:1fr 1fr}
  .ob,.ob.big{grid-column:span 1;grid-row:auto}
  .ob.big,.ob.wide{grid-column:1/-1}
  .ob.wide{grid-template-columns:1fr;gap:0}
  .ob.wide .ob-b{padding-top:16px}
  .ob.big .photo{aspect-ratio:3/2;min-height:0;flex:none}
  .ct{grid-template-columns:1fr}
  .ct-stage{position:static}
  .office-in{grid-template-columns:1fr;gap:36px}
  .faq-in{grid-template-columns:1fr;gap:32px}
  .foot-in{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
}
@media (max-width:640px){
  body{font-size:16.5px}
  .brand-txt b{font-size:17px}
  .brand-txt small{font-size:12px}
  .hero-cta{flex-direction:column;align-items:stretch;gap:10px}
  .hero-cta .btn{width:100%;min-height:56px}
  .hero-note{text-align:center}
  .plate{bottom:14px}
  .plate span{font-size:15px}
  .facts-in{grid-template-columns:1fr}
  .facts-in li,.facts-in li+li{padding:18px 0 0;border-left:0}
  .facts-in li+li{border-top:1px solid var(--line);margin-top:18px}
  .kind{grid-template-columns:1fr;gap:0}
  .kind h3{margin-top:18px}
  .rooms{grid-template-columns:1fr}
  .pl-svg .pin circle{r:13px}
  .pl-svg .pin text{font-size:15px}
  .pl-fig{padding:8px}
  .pl-levels{left:8px;top:8px}
  .cm-side{grid-template-columns:1fr}
  .stp{grid-template-columns:44px minmax(0,1fr)}
  .stp .no{font-size:1.5rem}
  .del{grid-template-columns:1fr;gap:32px}
  .people{grid-template-columns:1fr;gap:22px}
  .person{display:grid;grid-template-columns:112px 1fr;gap:0 16px;align-items:start}
  .person .photo{grid-row:1/4}
  .person h3{margin-top:0;font-size:18px}
  .pick{grid-template-columns:1fr 1fr}
  .two{grid-template-columns:1fr}
  .form-foot .btn{width:100%}
  .office-cta .btn{width:100%}
  .office-list>div{grid-template-columns:1fr;gap:4px}
  .faq-list summary{font-size:17px}
  .faq-list details p{padding-right:0;font-size:16.5px}
  .foot-in{grid-template-columns:1fr}
  .foot-meta{flex-direction:column;align-items:flex-start;padding-bottom:28px}
  .map svg{aspect-ratio:4/3}
  .phone{width:min(300px,100%)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .reveal img{clip-path:none;transform:none}
}
