/* Tipografia da marca, hospedada no próprio site */
@font-face{font-family:"Nimbus Sans";src:url("fonts/NimbusSans-Regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Nimbus Sans";src:url("fonts/NimbusSans-Bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Nimbus Sans";src:url("fonts/NimbusSans-Italic.woff") format("woff");font-weight:400;font-style:italic;font-display:swap}
:root{
  --ink:#101828;--ink-2:#1E2938;--ink-3:#364153;--blue:#2020F1;--sky:#8EAEFF;--mist:#D8E6FF;--paper:#F9FAFB;--line:#E5E7EB;--grey:#697282;
  --sans:"Nimbus Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  --on-dark-2:#B4C2E0;
  /* escala: cantos, espaços e tamanhos de texto */
  --r-s:20px;--r-m:24px;--r-l:28px;
  --s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;
  --sec-s:clamp(2.5rem,6vw,4.5rem);--sec-m:clamp(3rem,7vw,5rem);--sec-l:clamp(4rem,9vw,7.5rem);
  --t-display:clamp(2.6rem,6vw,4.75rem);--t-1:clamp(2.2rem,4.8vw,3.6rem);--t-2:clamp(1.9rem,3.6vw,2.75rem);--t-3:clamp(1.5rem,2.4vw,2rem);--t-4:1.4rem;
  --t-lead:clamp(1.05rem,1.8vw,1.35rem);--t-body:1.15rem;
  --mono:"Fragment Mono",ui-monospace,Menlo,Consolas,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-y:scroll}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
header :focus-visible,.hero :focus-visible,.contact :focus-visible,.cta :focus-visible,.page-band :focus-visible,footer :focus-visible,.lb :focus-visible,.skip:focus-visible{outline-color:var(--sky)}
.wrap{width:min(1240px,100% - 2.5rem);margin-inline:auto}

/* Navegação */
header{position:fixed;inset:0 0 auto 0;z-index:10;transition:background .3s}
header.scrolled{background:rgba(16,24,40,.66);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:block;text-decoration:none}
.brand img{width:190px;height:auto;display:block}
nav{display:flex;gap:2.25rem;font-size:.9rem;font-weight:700;color:#fff}
nav a{text-decoration:none;opacity:.88;transition:opacity .2s}
nav a:hover{opacity:1}

/* Barra sempre visível (páginas de projeto) */
.header-solid{background:rgba(16,24,40,.66);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}


/* Seletor de idioma */
.lang{display:flex;gap:.65rem;margin-left:1.4rem;padding-left:1.4rem;border-left:1px solid rgba(255,255,255,.3);font-size:.85rem;font-weight:700;color:#fff}
.lang a{opacity:.78;text-decoration:none;transition:opacity .2s}
.lang a:hover{opacity:1}
.lang a[aria-current="true"]{opacity:1}
.hdr-right{display:flex;align-items:center}


/* Menu legível sobre fotos claras (antes de rolar) */
header .wrap{position:relative}
header::before{content:"";position:absolute;inset:0 0 -48px 0;background:linear-gradient(rgba(16,24,40,.7),rgba(16,24,40,0));pointer-events:none;transition:opacity .3s}
header.scrolled::before,header.header-solid::before{opacity:0}
nav a{padding-block:.2rem;border-bottom:2px solid transparent}
nav a[aria-current]{opacity:1;border-bottom-color:var(--sky)}

/* Acessibilidade: pular para o conteúdo e texto só para leitores de tela */
.skip{position:absolute;left:1rem;top:-5rem;z-index:30;background:var(--sky);color:var(--ink);padding:.7rem 1.1rem;border-radius:980px;font-weight:700;text-decoration:none;transition:top .2s}
.skip:focus{top:1rem}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
::selection{background:var(--sky);color:var(--ink)}

/* Botão */
.btn{display:inline-block;padding:.8rem 1.7rem;border-radius:980px;background:var(--sky);color:var(--ink);font-weight:700;text-decoration:none;transition:background .2s,transform .2s}
.btn:hover{background:#fff}
.btn:active{transform:scale(.97)}

/* Cartões de projeto */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4)}
.card{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(16,24,40,.12)}
.card img{background:var(--line);display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.card-text{padding:1.25rem 1.5rem 1.6rem}
.cat{display:block;font-size:.875rem;font-weight:700;margin-bottom:.35rem}
.cat-arq{color:#181D97}.cat-int{color:#697282}
.card h3{font-size:var(--t-4);letter-spacing:-.02em;line-height:1.2;color:var(--ink)}

/* Página de projeto */
.p-hero{position:relative;width:100%;height:min(100vh,var(--h,66.667vw));min-height:clamp(460px,120vw,600px);background:var(--ink);overflow:hidden}
.p-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hpos,50% 30%);display:block}
.p-hero-card{position:absolute;left:max(1.25rem,calc((100% - 1240px)/2));bottom:clamp(1.25rem,4vw,2.75rem);z-index:2;max-width:min(40rem,calc(100% - 2.5rem));padding:clamp(1.1rem,2.4vw,1.8rem) clamp(1.25rem,3vw,2.3rem);border-radius:var(--r-l);background:rgba(16,24,40,.62);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);color:#fff}
.p-hero-card h1{font-size:var(--t-1);line-height:1.02;letter-spacing:-.04em;font-weight:700}
.p-hero-card .p-meta{margin:1rem 0 0;font-size:.95rem;color:var(--on-dark-2)}
.p-hero-card .p-meta strong{color:var(--sky);font-weight:700}
.p-hero-card .p-lead{margin-top:.9rem;font-size:var(--t-lead);line-height:1.35;letter-spacing:-.01em;color:var(--mist)}
.prose{width:min(44rem,100% - 2.5rem);margin:var(--sec-m) auto}
.prose h2{font-size:var(--t-3);letter-spacing:-.03em;line-height:1.15;margin-bottom:1rem}
.prose p{font-size:var(--t-body);line-height:1.7;color:var(--ink-3)}
.prose p+p{margin-top:0}
.fig{margin:0}
.fig-media>img{display:block;width:auto;height:auto;max-width:100%;border-radius:var(--r-m);background:var(--ink)}
.fig figcaption{margin-top:var(--s-3);font-size:.875rem;line-height:1.45;color:var(--grey)}
.wrap.art{width:min(54rem,100% - 2.5rem);margin:var(--sec-s) auto}
.art>p{margin:0;font-size:var(--t-body);line-height:1.7;color:var(--ink-3)}
.art>p,.prose p{text-indent:1.75em}
.prose p{text-align:justify;text-justify:inter-word}
.art>p{text-align:justify;text-justify:inter-word;-webkit-hyphens:manual;hyphens:manual;orphans:2;widows:2}
main{overflow-x:clip}
.art::after{content:"";display:block;clear:both}
.art>.fig{width:100%;margin:var(--sec-s) 0}
.art>.fig>.fig-media>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:var(--pos,50% 50%)}
.related{padding-block:var(--sec-s) var(--sec-l)}
.related h2{font-size:var(--t-3);letter-spacing:-.03em;margin-bottom:1.5rem}
.cta{background:var(--ink);color:#fff;text-align:center;padding-block:var(--sec-l)}
.cta h2{font-size:var(--t-2);line-height:1.08;letter-spacing:-.04em;margin-bottom:2rem}

/* Rodapé */
footer{background:var(--ink);color:var(--on-dark-2);padding-block:1.75rem;font-size:.875rem}
footer .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--s-4)}
footer .wrap>.links{justify-self:end;text-align:right}
footer .brand img{width:112px}
footer a{text-decoration:none}
footer a:hover{color:#fff}

@media (max-width:860px){
  footer .wrap{grid-template-columns:1fr;justify-items:center;text-align:center}
  footer .wrap>.links{justify-self:center;text-align:center}
  nav{gap:1.4rem}
  .brand img{width:150px}
  .cards{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
}

/* ===== Página inicial ===== */
.hero{position:relative;min-height:100vh;min-height:100svh;background:var(--blue);color:#fff;overflow:hidden;display:flex}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:100% 50%;display:block}
.hero-shape{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-body{position:relative;z-index:2;flex:1;display:flex;align-items:center;padding-block:7rem 5rem}
.hero-copy{width:min(36rem,54vw)}
.hero h1{font-size:var(--t-1);line-height:1.04;letter-spacing:-.04em;font-weight:700}
.hero h1 span{display:block;font-weight:400;color:var(--sky);letter-spacing:-.025em}
.hero p{margin-top:1.4rem;font-size:var(--t-lead);line-height:1.4;color:var(--on-dark-2);max-width:27rem}
.hero .btn{margin-top:2rem}
.projects{background:var(--paper);padding-block:var(--sec-l)}
.banner{width:100%;height:clamp(280px,56vw,680px);background:var(--ink)}
.banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.contact{background:var(--ink);color:#fff;text-align:center;padding-block:var(--sec-l)}
.contact h2{font-size:var(--t-2);line-height:1.06;letter-spacing:-.04em;font-weight:700}
.contact p{margin-top:1rem;font-size:var(--t-lead);color:var(--on-dark-2)}
.channels{margin:3rem auto 0;width:min(960px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-3);text-align:left}
.channel{display:block;text-decoration:none;padding:1.5rem;border-radius:var(--r-m);background:var(--ink-2);transition:background .2s}
.channel:hover{background:var(--ink-3)}
.channel small{display:block;font-size:.875rem;color:var(--on-dark-2);margin-bottom:.35rem}
.channel strong{font-family:var(--mono);font-weight:400;font-size:1.05rem;overflow-wrap:anywhere}

/* ===== Páginas sem foto no topo ===== */
/* Páginas internas (lista de projetos e contato): faixa escura no topo + conteúdo claro */
.page-band{background:var(--ink);color:#fff;padding:calc(72px + var(--sec-s)) 0 clamp(2.5rem,6vw,4rem)}
.page-band h1{font-size:var(--t-1);line-height:1.04;letter-spacing:-.04em;font-weight:700}
.page-band p{margin-top:1rem;font-size:var(--t-lead);color:var(--on-dark-2);max-width:40rem}
.p-full{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.p-full main{flex:1;display:flex;flex-direction:column}
.p-full .page-body{flex:1}
.page-body{padding-block:var(--sec-s) var(--sec-l)}

/* Filtro e lista de projetos */
.filters{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:2rem}
.filters button{min-height:44px;font:inherit;font-size:.95rem;font-weight:700;padding:.6rem 1.2rem;border-radius:980px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.filters button:hover{border-color:var(--ink)}
.filters button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.list{display:grid;gap:var(--s-4)}
.row{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);background:#fff;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;text-decoration:none;color:inherit;transition:transform .3s,box-shadow .3s}
a.row:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(16,24,40,.12)}
.row[hidden]{display:none}
.row img{background:var(--line);display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.row .txt{padding:clamp(1.25rem,3vw,2.25rem);display:flex;flex-direction:column;justify-content:center}
.row h2{font-size:var(--t-3);letter-spacing:-.03em;line-height:1.08}
.row p{margin-top:.6rem;font-size:1.05rem;line-height:1.5;color:var(--ink-3);max-width:32rem}
.row .more{margin-top:1.1rem;font-weight:700;color:#181D97}



@media (max-width:860px){
  .hero{background:var(--ink)}
  .hero-shape,.hero-photo{display:none}
  .hero-copy{width:100%}
  .channels{grid-template-columns:1fr}
  .row{grid-template-columns:1fr}
}

/* Ampliação de fotos (vidro fosco) */
.lb{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:max(5vh,5.5rem) 5vw;background:rgba(16,24,40,.45);-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);animation:lb-in .25s ease}
.lb[hidden]{display:none}
.lb>img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:var(--r-s);box-shadow:0 30px 80px rgba(0,0,0,.45)}
.lb button{position:absolute;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font:inherit;font-size:1.9rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .2s}
.lb button:hover{background:rgba(255,255,255,.3)}
.lb button svg,.gbtns button svg{display:block;flex:none;pointer-events:none}
.lb-close{top:1.25rem;right:1.25rem}
.lb-nav{top:50%;margin-top:-23px}
.lb-prev{left:1.25rem}.lb-next{right:1.25rem}

/* Galeria: uma fileira de fotos com cantos arredondados */
.gallery-sec{margin-block:var(--sec-m) 0}
.gallery-sec h2{font-size:var(--t-3);letter-spacing:-.03em;margin-bottom:.9rem}
.mosaic{--gh:clamp(220px,30vw,440px);--pad:max(1.25rem,calc((100vw - 1240px)/2));overflow-x:auto;padding:.7rem 0 .9rem;scrollbar-width:none;-ms-overflow-style:none}
.mosaic::-webkit-scrollbar{display:none}
.mosaic-track{display:flex;gap:var(--s-3);width:max-content;padding-inline:var(--pad)}
.gtile{flex:none;display:block;height:var(--gh);width:auto;max-width:none;border-radius:var(--r-s);cursor:pointer;user-select:none;-webkit-user-select:none;transition:transform .3s,box-shadow .3s}
.gtile:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(16,24,40,.12)}
.gctrl{display:flex;align-items:center;justify-content:space-between;width:min(1240px,100% - 2.5rem);margin:.5rem auto 0}
.gbar{position:relative;width:150px;height:3px;border-radius:3px;background:var(--line);pointer-events:none}
.gbar[hidden]{display:none}
.gthumb{position:absolute;left:0;top:0;height:100%;border-radius:3px;background:#9AA1AE}
.gbtns{display:flex;gap:var(--s-2)}
.gbtns button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:1.4rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,opacity .2s,border-color .2s}
.gbtns button:hover{border-color:var(--ink)}
.gbtns button:disabled{opacity:.35;cursor:default;border-color:var(--line)}
.lb-single .lb-nav,.lb-single .lb-count{display:none}
.lb-count{position:absolute;top:calc(1.25rem + 8px);left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:.875rem;color:#fff;background:rgba(255,255,255,.16);padding:.35rem .8rem;border-radius:980px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.empty{padding:var(--s-6) 0;color:var(--ink-3);font-size:var(--t-lead)}
/* com a foto aberta, o vidro fosco mostra só o fundo da página: sem logo nem barra por trás */
.lb-open header,.lb-open footer .brand{visibility:hidden}
@keyframes lb-in{from{opacity:0}to{opacity:1}}

/* Cabeçalho em telas pequenas: logo e idiomas na primeira linha, menu na segunda */
@media (max-width:700px){
  header .wrap{height:auto;min-height:60px;flex-wrap:wrap;row-gap:.15rem;padding-block:.6rem .5rem}
  .hdr-right{display:contents}
  .brand{order:1}
  .lang{order:2;margin-left:auto;padding-left:0;border-left:0}
  nav{order:3;flex-basis:100%}
  .page-band{padding-top:calc(104px + var(--sec-s))}
  nav a,.lang a{padding-block:.65rem}
  footer a{display:inline-block;padding-block:.5rem}
}

/* ===== Movimento e divisórias em ponta (forma da marca) ===== */
:root{--ease:cubic-bezier(.16,1,.3,1)}
@keyframes rise{from{opacity:0;transform:translateY(20px)}}
@keyframes shape-in{from{transform:scaleX(.9)}}
.js .hero h1{animation:rise .9s var(--ease) .1s backwards}
.js .hero p{animation:rise .9s var(--ease) .3s backwards}
.js .hero .btn{animation:rise .9s var(--ease) .42s backwards}
.js .hero-shape{transform-origin:0 50%;animation:shape-in 1.3s var(--ease) backwards}
.js .rise{animation:rise .9s var(--ease) var(--d,0s) backwards}
.js .reveal{opacity:0;transform:translateY(var(--ry,18px)) scale(var(--rs,1))}
.js .reveal.in{opacity:1;transform:none;transition:opacity .8s var(--ease) var(--d,0s),transform 1s var(--ease) var(--d,0s)}
.reveal-card{--ry:32px}
.reveal-fig{--ry:18px;--rs:.97}
.reveal-text{--ry:14px}

/* Forma da marca (grafismo do guia) nas faixas escuras */
.contact,.page-band,.cta{position:relative;overflow:hidden}
.contact .wrap,.page-band .wrap,.cta .wrap{position:relative;z-index:1}
.band-deco{position:absolute;right:-5%;top:50%;height:185%;aspect-ratio:540/1080;background:url("brand/forma-faixa.svg") center/contain no-repeat;opacity:.42;transform:translateY(-50%);pointer-events:none}
.js .band-deco:not(.in){opacity:0;transform:translate(18%,-50%)}
.js .band-deco.in{transition:transform 1.4s var(--ease),opacity 1.1s var(--ease)}

/* Tipografia: títulos equilibrados, parágrafos sem linha órfã */
h1,h2,h3{text-wrap:balance;font-kerning:normal;text-rendering:optimizeLegibility;overflow-wrap:break-word}
p{text-wrap:pretty}
html{scrollbar-color:#9AA1AE var(--paper)}
.p-meta time{font-family:var(--mono);font-size:.9em}
.row .more{display:inline-flex;align-items:center;gap:var(--s-2)}
.row .more svg{width:18px;height:18px;transition:transform .3s var(--ease)}
a.row:hover .more svg{transform:translateX(4px)}


.more-projects{margin-top:clamp(1.75rem,4vw,2.75rem);display:flex;justify-content:center}
.btn-line{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.6rem;border-radius:980px;border:1.5px solid var(--ink);color:var(--ink);font-weight:700;text-decoration:none;transition:background .2s,color .2s}
.btn-line svg{width:18px;height:18px;transition:transform .3s var(--ease)}
.btn-line:hover{background:var(--ink);color:#fff}
.btn-line:hover svg{transform:translateX(4px)}

/* ===== Contato ===== */
.header-ink{background:var(--ink)}
header.header-ink::before{opacity:0}
.contact-hero{flex:1;display:flex;align-items:center;padding:calc(72px + var(--sec-s)) 0 var(--sec-m)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.contact-copy h1{font-size:var(--t-display);line-height:1;letter-spacing:-.04em;font-weight:700}
.contact-lead{margin-top:1.2rem;font-size:var(--t-lead);line-height:1.35;color:var(--ink-3)}
.crows{list-style:none;margin-top:clamp(2rem,5vw,3.5rem);border-top:1px solid var(--ink)}
.crow{display:grid;grid-template-columns:9rem 1fr auto;align-items:center;gap:var(--s-4);padding:1.4rem 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding-left .4s var(--ease)}
.crow:hover{padding-left:.75rem}
.crow-label{font-size:.875rem;color:var(--grey)}
.crow-value{font-family:var(--mono);font-size:clamp(1.05rem,1.7vw,1.3rem);overflow-wrap:anywhere}
.crow svg{width:22px;height:22px;color:var(--blue);transition:transform .4s var(--ease)}
.crow:hover svg{transform:translate(4px,-4px)}
.contact-art{position:relative;justify-self:end;width:min(100%,320px);aspect-ratio:1/2}
.art-back,.art-photo{position:absolute;inset:0;width:100%;height:100%;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 540.02 1080'%3E%3Cpath d='M194.46,1055.76L24.26,885.56c-32.32-32.32-32.32-84.72,0-117.04l170.01-170.02c32.31-32.31,32.32-84.7.02-117.02L24.22,311.28c-32.3-32.32-32.29-84.71.02-117.02L194.25,24.24c32.32-32.32,84.72-32.32,117.04,0l204.48,204.48c15.52,15.52,24.24,36.57,24.24,58.52v505.72c0,21.95-8.72,43-24.24,58.52l-204.27,204.27c-32.32,32.32-84.72,32.32-117.04,0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 540.02 1080'%3E%3Cpath d='M194.46,1055.76L24.26,885.56c-32.32-32.32-32.32-84.72,0-117.04l170.01-170.02c32.31-32.31,32.32-84.7.02-117.02L24.22,311.28c-32.3-32.32-32.29-84.71.02-117.02L194.25,24.24c32.32-32.32,84.72-32.32,117.04,0l204.48,204.48c15.52,15.52,24.24,36.57,24.24,58.52v505.72c0,21.95-8.72,43-24.24,58.52l-204.27,204.27c-32.32,32.32-84.72,32.32-117.04,0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.art-back{background:var(--blue);transform:translate(-13%,5%)}
.art-photo{display:block;object-fit:cover;object-position:68% 50%}
@keyframes slide-in{from{opacity:0;transform:translate(-4%,14%)}}
.js .art-back{animation:slide-in 1.3s var(--ease) .1s backwards}
.art-photo~.art-photo{display:none}
.js .art-photo~.art-photo{display:block}
.js .art-photo{opacity:0;transition:opacity 1.4s var(--ease)}
.js .art-photo.was-on{opacity:1;z-index:1}
.js .art-photo.is-on{opacity:1;z-index:2}
.js .contact-art.intro .art-photo.is-on{animation:rise 1.2s var(--ease) .3s backwards}
@media (max-width:860px){
  .contact-grid{grid-template-columns:1fr}
  .contact-art{display:none}
  .crow{grid-template-columns:1fr auto}
  .crow-label{grid-column:1/-1}
}

/* Toque e âncoras */
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
[id]{scroll-margin-top:84px}
a,button{-webkit-tap-highlight-color:rgba(142,174,255,.25)}
.p-meta time,.crow-value{font-variant-numeric:tabular-nums}
@media (hover:none){
  .card:hover,a.row:hover,.gtile:hover{transform:none;box-shadow:none}
  .crow:hover{padding-left:0}
  .crow:hover svg,.btn-line:hover svg,a.row:hover .more svg{transform:none}
}

/* Compartilhar: só os ícones, alinhados à direita */
.share{display:flex;flex-direction:column;align-items:flex-end;gap:var(--s-1);margin-top:var(--sec-m)}
.share-label{margin:0;font-size:.875rem;color:var(--grey);transition:opacity .22s var(--ease),transform .22s var(--ease)}
.share-links{display:flex;align-items:center;gap:var(--s-1)}
.ico{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:none;color:var(--ink-3);cursor:pointer;transition:color .2s}
.ico:hover{color:var(--blue)}
.ico svg{display:block;width:22px;height:22px}
.ico[hidden]{display:none}

/* Ficha com objeto recortado (PNG transparente): sem fundo e sem moldura quadrada */
.ficha.m .ficha-img.cutout,.ficha.g .ficha-img.cutout{height:auto;max-height:calc(var(--img) * 1.45)}
.ficha-img.cutout{object-fit:contain;border-radius:0;box-shadow:none;filter:drop-shadow(0 6px 10px rgba(28,28,26,.16))}


/* Foto na proporção original, sem recorte */
.art>.fig.natural>.fig-media>img{aspect-ratio:auto}

/* Foto com a metade da largura do texto, à esquerda, e o parágrafo ao lado */
.split{display:grid;grid-template-columns:var(--cols,minmax(0,1fr) minmax(0,1fr));gap:var(--s-6);align-items:center;margin:var(--sec-s) 0}
.split .fig{margin:0;width:100%}
.split .fig>.fig-media>img{width:100%;height:auto;aspect-ratio:auto}
.split>p{margin:0;font-size:var(--t-body);line-height:1.7;color:var(--ink-3);text-indent:1.75em;text-align:justify;text-justify:inter-word;-webkit-hyphens:manual;hyphens:manual}
@media (max-width:640px){.split{grid-template-columns:1fr;gap:var(--s-5)}.split .fig{max-width:26rem}}


/* Ficha alinhada à base da imagem (nas margens, em telas largas) */
.fig-media{position:relative}
@media (min-width:1380px){
  .fig-media>.ficha.att{position:absolute;float:none;clear:none;bottom:0;right:calc(-200px - 32px);left:auto;width:200px;max-width:none;margin:0}
  .fig-media>.ficha.att.left{right:auto;left:calc(-200px - 32px)}
}



/* Citação de quem projetou */
.citacao{margin:var(--sec-s) auto;max-width:38rem;text-align:center}
.citacao::before{content:"";display:block;width:40px;height:2px;margin:0 auto var(--s-5);background:var(--blue)}
.citacao blockquote{margin:0}
.citacao p{font-size:var(--t-3);font-style:italic;font-weight:400;line-height:1.3;letter-spacing:-.015em;color:var(--ink);text-wrap:balance}
.citacao p::before{content:"\201C"}
.citacao p::after{content:"\201D"}
.citacao figcaption{margin-top:var(--s-5);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}
.citacao figcaption span{font-weight:400}

/* Ficha de material: componente reutilizável dentro do texto das matérias */
.ficha{--img:88px;--over:40px;display:flow-root;width:100%;max-width:360px;margin:calc(var(--over) + 24px) 0 24px;padding:0 16px 16px;background:rgba(249,250,251,.62);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);border:1px solid rgba(16,24,40,.08);border-radius:var(--r-l)}
.ficha.m{--img:128px;--over:56px}
.ficha.g{--img:168px;--over:95px}
.ficha-img{display:block;width:var(--img);height:var(--img);margin-top:calc(var(--over) * -1);object-fit:cover;border-radius:12px;box-shadow:0 6px 16px rgba(28,28,26,.14)}
.ficha-nome{display:block;margin-top:12px;font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.ficha-nome a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.ficha-nome a:hover{color:var(--blue)}
.ficha-marca{display:block;margin-top:4px;font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}
.ficha-marca .sel{font-size:.85em;letter-spacing:0;vertical-align:.18em;margin-left:1px}
.ficha-frase{display:block;margin-top:10px;font-size:14px;line-height:1.45;color:#3A3935}
@media (min-width:1380px){
  .ficha{float:right;clear:right;width:200px;max-width:none;margin:var(--over) calc(-200px - 32px) var(--s-5) 32px}
  .ficha.left{float:left;clear:left;margin:var(--over) 32px var(--s-5) calc(-200px - 32px)}
}
@media (max-width:640px){.art>p,.split>p,.prose p{-webkit-hyphens:auto;hyphens:auto}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}


/* Sobre nós */
.prose h2.sec-title{margin-bottom:var(--s-2)}
.prose .sec-sub{margin:0 0 var(--s-5);font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:400;line-height:1.35;letter-spacing:-.01em;color:var(--grey);text-align:left;text-indent:0;text-wrap:balance}
.prose .bio-role{margin:var(--s-1) 0 var(--s-3);font-size:.875rem;line-height:1.4;color:var(--grey);text-align:left;text-indent:0}
.prose .bio-role .num{font-family:var(--mono)}
/* sem foto: só texto. Com foto, acrescentar a classe bio-foto ao article */
.bio-foto{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);column-gap:var(--s-6);align-items:start}
.bio-photo{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-m);background:var(--line)}
.bio h3{font-size:var(--t-4);line-height:1.15;letter-spacing:-.02em}
@media (max-width:640px){.bio-foto{grid-template-columns:1fr;row-gap:var(--s-4)}.bio-photo{width:9rem}}
.bio+.bio{margin-top:var(--sec-s)}
.prose .about-tag{margin-top:var(--sec-s);font-size:var(--t-2);font-weight:700;line-height:1.05;letter-spacing:-.04em;color:var(--ink);text-align:left;text-indent:0;text-wrap:balance}
.about-tag span{display:block;color:var(--blue)}
/* Sobre nós: respiro entre parágrafos e entre subtítulo e texto */
.about .prose p+p{margin-top:1.25rem}
.about .prose .sec-sub{margin-bottom:var(--s-6)}
.about .prose .sec-sub+p{margin-top:0}
.about .prose .bio-role+p{margin-top:0}
.about .prose p.about-tag{margin-top:var(--sec-s)}


/* Contato no celular: o título começa abaixo do cabeçalho de duas linhas */
@media (max-width:700px){.contact-hero{padding-top:calc(106px + var(--s-6))}}

/* ===== Primeira conversa (pc-): pré-briefing em telas, modo escuro, vidro fosco ===== */
.pc-body{background:var(--ink);color:#fff}
.pc-body :focus-visible{outline-color:var(--sky)}
.pc [hidden],.pc-bar [hidden]{display:none!important}
.pc{min-height:100vh;min-height:100svh;padding:calc(60px + 22px) 20px calc(130px + env(safe-area-inset-bottom))}
.pc-wrap{width:100%;max-width:560px;margin:0 auto}
.pc-meta{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--on-dark-2)}
.pc-count{font-family:var(--mono)}
.pc-track{height:2px;margin:12px 0 28px;background:rgba(255,255,255,.14)}
.pc-fill{display:block;height:100%;width:0;background:var(--sky);transition:width .4s var(--ease)}
.pc-h{font-size:32px;font-weight:700;line-height:1.04;letter-spacing:-.04em;color:#fff}
.pc-h:focus{outline:none}
.pc-h-open{font-size:42px}
.pc-open{margin-top:14px;font-size:18px;line-height:1.45;color:var(--on-dark-2)}
.pc-open a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.pc-apoio{margin-top:14px;font-size:16px;line-height:1.4;color:var(--on-dark-2)}
.pc-apoio-s{margin-top:4px}
.pc-sub{margin-top:30px;font-size:21px;font-weight:700;letter-spacing:-.03em}
.pc-grp{margin-top:24px;font-size:14px;color:var(--on-dark-2)}
.pc-set{margin:0;padding:0;border:0;min-width:0}
.pc-panel{margin-top:14px;padding:2px 18px;overflow:hidden;background:rgba(255,255,255,.06);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-m)}
.pc-rows{margin-bottom:-1px}
.pc-row{border-bottom:1px solid rgba(255,255,255,.1)}
.pc-opt{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:14px 0;font-size:18px;line-height:1.3;cursor:pointer;transition:padding-left .4s var(--ease);-webkit-tap-highlight-color:transparent}
.pc-opt input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.pc-opt.is-on{padding-left:12px;font-weight:700}
.pc-mark{position:relative;flex:none;width:22px;height:22px;border:1.5px solid rgba(255,255,255,.5);border-radius:50%;transition:background .2s,border-color .2s}
.pc-multi .pc-mark{border-radius:6px}
.pc-opt.is-on .pc-mark{background:var(--sky);border-color:var(--sky)}
.pc-opt.is-on .pc-mark::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--ink)}
.pc-multi .pc-opt.is-on .pc-mark::after{width:11px;height:6px;margin:-5px 0 0 -5.5px;border-radius:0;background:none;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg)}
.pc-opt input:focus-visible~.pc-mark{outline:3px solid var(--sky);outline-offset:3px}
.pc-2col .pc-rows{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}
.pc-2col .pc-opt{font-size:15px}
.pc-outro{padding:0 0 14px 12px}
.pc-field{display:block;margin-top:22px}
.pc-field label{display:block;font-size:14px;color:var(--on-dark-2)}
.pc-in{display:block;width:100%;padding:8px 0 9px;font:inherit;font-size:20px;color:#fff;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.5);border-radius:0;-webkit-appearance:none;appearance:none}
.pc-in-outro{font-size:17px}
.pc-in::placeholder,.pc-area::placeholder{color:rgba(255,255,255,.42)}
.pc-in:focus{outline:none;border-bottom-color:var(--sky)}
.pc-grid2{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}
.pc-area{display:block;width:100%;height:200px;margin-top:8px;padding:16px;font:inherit;font-size:17px;line-height:1.45;color:#fff;resize:none;background:rgba(255,255,255,.06);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-m)}
.pc-area:focus{outline:none;border-color:var(--sky)}
.pc-sum-panel{margin-top:18px}
.pc-sum{margin:0;margin-bottom:-1px}
.pc-sum-row{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.pc-sum dt{font-size:13px;line-height:1.5;color:var(--on-dark-2)}
.pc-sum dd{margin:0;font-size:15px;line-height:1.45;color:#fff;overflow-wrap:anywhere;white-space:pre-line}
.pc-nota{margin-top:14px;font-size:14px;line-height:1.4;color:var(--on-dark-2)}
.pc-bar{position:fixed;left:0;right:0;bottom:0;z-index:9;padding:14px 20px calc(26px + env(safe-area-inset-bottom));background:rgba(16,24,40,.55);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid rgba(255,255,255,.1)}
.pc-bar-in{display:flex;gap:12px;max-width:560px;margin:0 auto}
.pc-back{flex:none;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;color:#fff;background:rgba(255,255,255,.04);border:1.5px solid rgba(255,255,255,.6);border-radius:50%;cursor:pointer}
.pc-back svg{width:20px;height:20px}
.pc-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 24px;font:inherit;font-size:16px;font-weight:700;color:var(--ink);background:var(--sky);border:0;border-radius:980px;cursor:pointer;transition:background .2s,color .2s}
.pc-btn svg{width:20px;height:20px;transition:transform .4s var(--ease)}
.pc-btn:hover svg{transform:translateX(3px)}
.pc-btn .pc-ico-send{transition:transform .4s var(--ease)}
.pc-btn:hover .pc-ico-send{transform:translate(3px,-3px)}
.pc-btn.is-off{color:rgba(255,255,255,.5);background:rgba(255,255,255,.1)}
.pc-btn.is-off svg{transform:none!important}
@media (min-width:860px){
  .pc{padding-top:calc(72px + 40px)}
  .pc-h,.pc-h-open{font-size:var(--t-2)}
}
@media (max-width:700px){
  .pc-body nav{display:none}
}
@media (prefers-reduced-motion:reduce){
  .pc-opt,.pc-fill,.pc-btn,.pc-btn svg,.pc-mark{transition:none!important}
  .pc-opt.is-on{padding-left:0}
}

/* Contato: acesso à Primeira conversa */
.pc-cta{margin-top:var(--s-6)}
.pc-cta-t{font-size:var(--t-4);font-weight:700;letter-spacing:-.02em}
.pc-cta-p{margin-top:var(--s-2);color:var(--ink-3)}
.pc-cta .btn-line{margin-top:var(--s-4)}
.contact-copy .pc-cta+.crows{margin-top:var(--sec-s)}
.pc-cta-n{display:block;margin-top:var(--s-2);font-size:.875rem;color:var(--grey)}
