/* Conrado Ceravolo Arquitetos — v2 (minimalista, foco nas imagens) */
@font-face{font-family:'Cadiz';src:url('/v2/site/assets/fonts/cadiz-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Cadiz';src:url('/v2/site/assets/fonts/cadiz-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{
  --bg:#FAFAF8;
  --bg-2:#F1F0EC;
  --ink:#2B2B2D;
  --ink-soft:#6E6C68;
  --ink-faint:#A3A09A;
  --line:rgba(43,43,45,.12);
  --white:#fff;
  --f-caps:'Cadiz',system-ui,sans-serif;
  --f-text:'Hanken Grotesk',system-ui,sans-serif;
  --pad:clamp(16px,3.6vw,48px);
  --max:1440px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --head:72px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--f-text);font-size:15px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.caps{font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.16em;font-size:11.5px;font-weight:500}
.muted{color:var(--ink-soft)}
.faint{color:var(--ink-faint)}
.only-desk{}
@media(max-width:760px){.only-desk{display:none!important}}

/* ---------- header ---------- */
.hd{position:sticky;top:0;z-index:100;height:var(--head);background:rgba(250,250,248,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .35s var(--ease),color .35s var(--ease)}
.hd .wrap{height:100%;display:flex;align-items:center;justify-content:space-between}
.hd-logo img{height:34px;width:auto;filter:brightness(.2);transition:filter .35s}
.hd-nav{display:flex;align-items:center;gap:34px}
.hd-item{position:relative;height:var(--head);display:flex;align-items:center}
.hd-item > a{font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.18em;font-size:11.5px;font-weight:500;position:relative;padding:6px 0}
.hd-item > a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.hd-item:hover > a::after,.hd-item > a.on::after{transform:scaleX(1);transform-origin:left}
.hd-sub{position:absolute;top:calc(100% - 14px);left:-16px;min-width:230px;background:var(--bg);color:var(--ink);padding:12px 0;opacity:0;visibility:hidden;transform:translateY(4px);transition:.25s var(--ease);box-shadow:0 18px 40px rgba(0,0,0,.08)}
.hd-sub::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.hd-item:hover .hd-sub,.hd-item:focus-within .hd-sub{opacity:1;visibility:visible;transform:none}
.hd-sub a{display:block;padding:8px 16px;font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--ink-soft);transition:color .2s}
.hd-sub a:hover{color:var(--ink)}
.hd-lang{display:flex;gap:8px;font-family:var(--f-caps);font-size:11px;letter-spacing:.14em;margin-left:6px}
.hd-lang button{opacity:.45;transition:opacity .2s;padding:4px 0;font-weight:500}
.hd-lang button.on,.hd-lang button:hover{opacity:1}
.burger{display:none;width:30px;height:30px;position:relative}
.burger span{position:absolute;left:4px;right:4px;height:1px;background:currentColor;transition:.3s var(--ease)}
.burger span:nth-child(1){top:11px}.burger span:nth-child(2){top:18px}
body.menu-open .burger span:nth-child(1){top:15px;transform:rotate(45deg)}
body.menu-open .burger span:nth-child(2){top:15px;transform:rotate(-45deg)}
/* header transparente sobre a capa da home */
.hd.over{position:fixed;left:0;right:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;color:#fff}
.hd.over .hd-logo img{filter:none}
.hd.over.solid{background:rgba(250,250,248,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink)}
.hd.over.solid .hd-logo img{filter:brightness(.2)}
@media(max-width:860px){
  .hd-nav{display:none}
  .burger{display:block}
  :root{--head:62px}
  .hd-logo img{height:28px}
}
.mnav{position:fixed;inset:0;z-index:90;background:var(--bg);color:var(--ink);padding:calc(var(--head) + 28px) var(--pad) 32px;display:flex;flex-direction:column;gap:4px;opacity:0;visibility:hidden;transition:.35s var(--ease);overflow:auto}
body.menu-open .mnav{opacity:1;visibility:visible}
body.menu-open .hd{color:var(--ink)}
body.menu-open .hd .hd-logo img{filter:brightness(.2)}
.mnav a{font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.16em;font-size:15px;padding:10px 0}
.mnav a.sub{font-size:12px;color:var(--ink-soft);padding:6px 0 6px 14px}
.mnav .hd-lang{margin:22px 0 0}

/* ---------- capa / slideshow ---------- */
.cover{position:relative;height:100vh;height:100svh;min-height:520px;background:#1d1d1d;overflow:hidden;color:#fff}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s var(--ease)}
.slide.on{opacity:1}
.slide img,.slide video{width:100%;height:100%;object-fit:cover}
.slide img{transform:scale(1.06);transition:transform 7s linear}
.slide.on img{transform:scale(1)}
.cover::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.32),rgba(0,0,0,0) 22%,rgba(0,0,0,0) 72%,rgba(0,0,0,.38))}
.cover-meta{position:absolute;z-index:3;left:0;right:0;bottom:clamp(20px,4vw,40px)}
.cover-meta .wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.cover-cap a{display:block}
.cover-cap .nm,.cover-cap .lc{display:block}
.cover-cap .nm{font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:500}
.cover-cap .lc{font-size:12.5px;opacity:.78;margin-top:2px}
.cover-dots{display:flex;gap:6px;align-items:center;margin-right:64px}
.cover-dots button{width:22px;height:14px;position:relative}
.cover-dots button::before{content:"";position:absolute;left:0;right:0;top:6px;height:1px;background:rgba(255,255,255,.4)}
.cover-dots button i{position:absolute;left:0;top:6px;height:1px;width:0;background:#fff}
.cover-dots button.done i{width:100%}
.cover-dots button.on i{animation:fill var(--dur,6s) linear forwards}
@keyframes fill{to{width:100%}}
.cover-nav{position:absolute;z-index:2;top:0;bottom:0;width:22%;cursor:pointer}
.cover-nav.prev{left:0;cursor:w-resize}.cover-nav.next{right:0;cursor:e-resize}
@media(max-width:760px){.cover-dots button{width:14px}}

/* ---------- blocos ---------- */
.sec{padding:clamp(56px,8vw,112px) 0}
.sec.tight{padding:clamp(40px,5vw,72px) 0}
.lede{max-width:46ch;font-size:clamp(16px,1.35vw,19px);line-height:1.6;color:var(--ink)}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}
.intro .caps{margin-bottom:14px;display:block;color:var(--ink-faint)}
.more{font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.16em;font-size:11.5px;font-weight:500;display:inline-flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--line);transition:border-color .3s,gap .3s}
.more:hover{border-color:var(--ink);gap:14px}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:28px}
.page-title{padding:clamp(36px,5vw,64px) 0 clamp(22px,3vw,36px)}
.page-title h1{font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.2em;font-size:13px;font-weight:500}
.page-title p{margin-top:14px;max-width:52ch;color:var(--ink-soft)}
@media(max-width:760px){.intro{grid-template-columns:1fr;gap:18px}}

/* ---------- filtros ---------- */
.filters{display:flex;flex-wrap:wrap;gap:6px 26px;margin-bottom:30px}
.filters a{font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:var(--ink-faint);padding:4px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.filters a:hover{color:var(--ink)}
.filters a.on{color:var(--ink);border-color:var(--ink)}

/* ---------- grade de portfólio (masonry, capas mais quadradas) ---------- */
.grid{columns:3;column-gap:clamp(14px,1.6vw,24px)}
@media(max-width:1000px){.grid{columns:2}}
@media(max-width:520px){.grid{columns:2;column-gap:10px}}
.tile{display:block;break-inside:avoid;margin-bottom:clamp(22px,2.4vw,36px)}
.tile .ph{overflow:hidden;background:var(--bg-2)}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),opacity .6s;opacity:0}
.tile img.ld{opacity:1}
.tile:hover img{transform:scale(1.035)}
.tile .ph.v{aspect-ratio:4/5}
.tile .ph.h{aspect-ratio:4/3}
.tile .ph.w{aspect-ratio:3/2}
.tile .tt{display:flex;justify-content:space-between;gap:12px;margin-top:10px;align-items:baseline}
.tile .nm{font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:500}
.tile .lc{font-size:12px;color:var(--ink-faint);white-space:nowrap}
@media(max-width:520px){.tile{margin-bottom:18px}.tile .tt{flex-direction:column;gap:0}.tile .nm{font-size:10px}.tile .lc{font-size:11px;white-space:normal}}

/* ---------- projeto ---------- */
.pj-head{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;padding:clamp(36px,5vw,64px) 0 clamp(26px,3vw,40px);align-items:end}
.pj-head h1{font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.2em;font-size:clamp(14px,1.3vw,17px);font-weight:500}
.pj-head .crumb{margin-bottom:12px;color:var(--ink-faint)}
.pj-head .crumb a:hover{color:var(--ink)}
.pj-facts{display:flex;flex-wrap:wrap;gap:6px 30px;justify-content:flex-end;font-size:12.5px;color:var(--ink-soft)}
.pj-facts span b{font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:500;color:var(--ink-faint);margin-right:8px}
.rows{display:flex;flex-direction:column;gap:clamp(8px,1vw,14px)}
.row{display:flex;gap:clamp(8px,1vw,14px)}
.row figure{overflow:hidden;background:var(--bg-2);cursor:zoom-in}
.row img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s}
.row img.ld{opacity:1}
.row.solo{justify-content:center}
.row.solo figure{max-width:min(100%,1180px)}
.row.solo.narrow figure{max-width:min(50%,620px)}
.pj-nav{display:flex;justify-content:space-between;gap:20px;padding:clamp(40px,6vw,80px) 0 0}
.pj-nav a{display:flex;flex-direction:column;gap:2px}
.pj-nav a:last-child{text-align:right}
.pj-nav .nm{font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:500}
@media(max-width:760px){
  .pj-head{grid-template-columns:1fr;gap:14px}
  .pj-facts{justify-content:flex-start;gap:4px 20px}
  .row{flex-direction:column}
  .row figure{flex:none!important;aspect-ratio:auto!important}
  .row img{height:auto}
  .row.solo figure,.row.solo.narrow figure{max-width:100%}
}
.pj-video{margin-bottom:clamp(8px,1vw,14px);background:#111}
.pj-video video{width:100%;max-height:82vh;margin:0 auto}
/* lightbox */
.lb{position:fixed;inset:0;z-index:300;background:rgba(18,18,18,.96);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:.3s}
.lb.open{opacity:1;visibility:visible}
.lb img{max-width:92vw;max-height:88vh;object-fit:contain}
.lb button{position:absolute;color:#fff;font-family:var(--f-caps);letter-spacing:.16em;font-size:11px;text-transform:uppercase;padding:18px}
.lb .x{top:10px;right:10px}.lb .p{left:6px;top:50%;transform:translateY(-50%)}.lb .n{right:6px;top:50%;transform:translateY(-50%)}
.lb .c{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:rgba(255,255,255,.6);font-size:12px}

/* ---------- escritório ---------- */
.subnav{display:flex;flex-wrap:wrap;gap:6px 26px;padding-top:clamp(28px,4vw,48px)}
.subnav a{font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:var(--ink-faint);padding:4px 0;border-bottom:1px solid transparent}
.subnav a:hover{color:var(--ink)}
.subnav a.on{color:var(--ink);border-color:var(--ink)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:start}
.split .txt p+p{margin-top:1em}
.split .txt p{color:var(--ink-soft);max-width:54ch}
.split .txt .lede{color:var(--ink);margin-bottom:1.2em}
.fig-cap{margin-top:10px;font-size:12px;color:var(--ink-faint)}
@media(max-width:860px){.split{grid-template-columns:1fr}}
.steps{border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:70px 1fr 2fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.step .n{font-family:var(--f-caps);font-size:11px;letter-spacing:.14em;color:var(--ink-faint);padding-top:3px}
.step h3{font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:500;padding-top:3px}
.step p{color:var(--ink-soft);max-width:60ch}
@media(max-width:760px){.step{grid-template-columns:40px 1fr;gap:6px 14px}.step p{grid-column:2}}
.pubs{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,30px)}
@media(max-width:860px){.pubs{grid-template-columns:repeat(2,1fr)}}
.pub .ph{aspect-ratio:3/4;overflow:hidden;background:var(--bg-2)}
.pub img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.pub:hover img{transform:scale(1.03)}
.pub .nm{margin-top:10px}
.pub .lc{font-size:12px;color:var(--ink-faint)}
.online{columns:3;column-gap:40px;border-top:1px solid var(--line);padding-top:20px}
.online li{list-style:none;break-inside:avoid;padding:7px 0;font-size:13.5px;color:var(--ink-soft)}
.online li b{font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.14em;font-size:10.5px;font-weight:500;color:var(--ink);margin-right:10px}
@media(max-width:760px){.online{columns:1}}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,28px)}
@media(max-width:860px){.team{grid-template-columns:repeat(2,1fr)}}
.member .ph{aspect-ratio:1;overflow:hidden;background:var(--bg-2)}
.member img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .5s}
.member:hover img{filter:none}
.member .nm{margin-top:10px}
.nl{border:1px solid var(--line);padding:clamp(24px,4vw,48px);display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center}
@media(max-width:760px){.nl{grid-template-columns:1fr}}

/* ---------- contato ---------- */
.ct{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(30px,6vw,96px)}
@media(max-width:860px){.ct{grid-template-columns:1fr}}
.ct dl{display:grid;gap:22px}
.ct dt{color:var(--ink-faint);margin-bottom:4px}
.ct dd{font-size:15px}
.ct dd a{border-bottom:1px solid var(--line);transition:border-color .2s}
.ct dd a:hover{border-color:var(--ink)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}
.form .full{grid-column:1/-1}
.form label{display:block;color:var(--ink-faint);margin-bottom:6px}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:15px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);padding:8px 0;border-radius:0;outline:none;transition:border-color .2s;-webkit-appearance:none;appearance:none}
.form select{background-image:linear-gradient(45deg,transparent 50%,var(--ink-soft) 50%),linear-gradient(135deg,var(--ink-soft) 50%,transparent 50%);background-position:calc(100% - 10px) 52%,calc(100% - 5px) 52%;background-size:5px 5px;background-repeat:no-repeat}
.form textarea{min-height:90px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.18em;font-size:11.5px;font-weight:500;padding:15px 26px;background:var(--ink);color:var(--bg);transition:opacity .25s}
.btn:hover{opacity:.82}
.map{margin-top:clamp(40px,6vw,80px);aspect-ratio:21/8;background:var(--bg-2)}
.map iframe{width:100%;height:100%;border:0;filter:grayscale(1) contrast(.95)}
@media(max-width:760px){.form{grid-template-columns:1fr}.map{aspect-ratio:4/3}}

/* ---------- rodapé ---------- */
.ft{border-top:1px solid var(--line);margin-top:clamp(60px,8vw,120px);padding:clamp(36px,5vw,56px) 0 28px;font-size:13px;color:var(--ink-soft)}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.ft-grid .caps{display:block;color:var(--ink);margin-bottom:12px}
.ft-grid a{display:block;padding:2px 0;transition:color .2s}
.ft-grid a:hover{color:var(--ink)}
.ft-logo img{height:30px;filter:brightness(.2);margin-bottom:16px}
.ft-bot{display:flex;justify-content:space-between;gap:20px;margin-top:40px;font-size:11.5px;color:var(--ink-faint)}
@media(max-width:860px){.ft-grid{grid-template-columns:1fr 1fr}.ft-bot{flex-direction:column;gap:6px}}
.wa{position:fixed;right:18px;bottom:18px;z-index:80;width:46px;height:46px;border-radius:50%;background:var(--ink);display:flex;align-items:center;justify-content:center;opacity:.9;transition:opacity .2s,transform .3s var(--ease)}
.wa:hover{opacity:1;transform:translateY(-2px)}
.wa svg{width:20px;height:20px;fill:#fff}

/* reveal */
.rv{opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.slide img{transition:none;transform:none}}

/* ---------- publicações online ---------- */
.online li a{display:block;transition:color .2s}
.online li a:hover{color:var(--ink)}

/* ---------- mapa do site ---------- */
.mp-intro{max-width:60ch;color:var(--ink-soft);margin-top:12px}
.mp-sec{padding-top:clamp(40px,5vw,72px)}
.mp-sec > .caps{display:block;margin-bottom:6px}
.mp-sec > p{color:var(--ink-faint);font-size:13px;margin-bottom:22px}
.mp-cat{font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:var(--ink-faint);margin:28px 0 14px}
.mc-grid{display:grid;gap:clamp(14px,1.8vw,26px)}
.mc-grid.c3{grid-template-columns:repeat(3,1fr)}
.mc-grid.c4{grid-template-columns:repeat(4,1fr)}
.mc-grid.c6{grid-template-columns:repeat(6,1fr)}
@media(max-width:1000px){.mc-grid.c6{grid-template-columns:repeat(4,1fr)}.mc-grid.c4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.mc-grid.c3,.mc-grid.c4{grid-template-columns:1fr 1fr}.mc-grid.c6{grid-template-columns:repeat(3,1fr)}}
@media(max-width:440px){.mc-grid.c6{grid-template-columns:1fr 1fr}}
.mc .ph{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--bg-2);position:relative}
.mc-grid.c3 .mc .ph{aspect-ratio:16/10}
.mc .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.mc:hover .ph img{transform:scale(1.04)}
.mc .ph .n{position:absolute;left:8px;top:8px;background:rgba(250,250,248,.92);font-family:var(--f-caps);font-size:10px;letter-spacing:.1em;padding:2px 6px}
.mc .t{font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:500;margin-top:10px;line-height:1.4}
.mc .d{font-size:12px;color:var(--ink-faint);margin-top:2px;line-height:1.45}
.mc .l{display:flex;gap:14px;margin-top:6px;font-size:12px}
.mc .l a{color:var(--ink-soft);border-bottom:1px solid var(--line);transition:color .2s,border-color .2s}
.mc .l a:hover{color:var(--ink);border-color:var(--ink)}
.mp-todo{columns:2;column-gap:48px;border-top:1px solid var(--line);padding-top:18px}
.mp-todo li{list-style:none;break-inside:avoid;padding:8px 0;font-size:13.5px;color:var(--ink-soft);border-bottom:1px solid var(--line)}
.mp-todo b{color:var(--ink);font-weight:500}
@media(max-width:760px){.mp-todo{columns:1}}

.split.mid{align-items:center}
.split.mid figure img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 42%}
