/* Bruna Lopes | portfólio. Tokens e componentes compartilhados por todas as páginas. */
:root{
  --paper:#f7efe2;--ink:#292824;--red:#dc4038;--blue:#344b9b;--forest:#245c43;
  --pink:#edbbca;--yellow:#edc252;--line:#d7cbbb;--muted:#5e574e;
  --gutter:clamp(20px,5vw,72px);
  --header-h:78px;
  /* cores por "tom" de página; sobrescritas em .tone-* */
  --bg:var(--paper);--fg:var(--ink);--accent:var(--red);--rule:var(--line);--soft:var(--muted);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
img,video{max-width:100%}
a{color:inherit}
button{font:inherit;cursor:pointer;color:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:100}
.skip:focus{left:8px}
.wrap{padding-inline:var(--gutter);max-width:1560px;margin-inline:auto}
.serif{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400}

/* ---------- Tons ---------- */
.tone-paper{--bg:var(--paper);--fg:var(--ink);--accent:var(--red);--rule:var(--line);--soft:var(--muted)}
.tone-forest-accent{--accent:var(--forest)}
.tone-blue-accent{--accent:var(--blue)}
.tone-pink{--bg:var(--pink);--fg:var(--ink);--accent:var(--forest);--rule:#d2a0af;--soft:#514047}
.tone-yellow{--bg:#f1cf62;--fg:var(--ink);--accent:var(--blue);--rule:#d0af4d;--soft:#4e452b}
.tone-forest{--bg:var(--forest);--fg:var(--paper);--accent:var(--yellow);--rule:#4f8069;--soft:#d9e5dc}
.tone-blue{--bg:var(--blue);--fg:var(--paper);--accent:var(--yellow);--rule:#6f81c4;--soft:#dfe4f6}
.tone-red{--bg:var(--red);--fg:var(--paper);--accent:var(--yellow);--rule:#ef8d87;--soft:#fbe3e1}
.band{background:var(--bg);color:var(--fg);border-bottom:1px solid var(--rule)}

/* ---------- Cabeçalho ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(247,239,226,.94);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:var(--header-h)}
.logo{font-weight:800;text-decoration:none;letter-spacing:-.05em;font-size:25px;line-height:1}
.logo i{font-style:normal;color:var(--red)}
.nav{display:flex;align-items:center;gap:26px}
.nav a{text-decoration:none;font-size:14px;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover{border-bottom-color:var(--ink)}
.nav a[aria-current="page"]{border-bottom-color:var(--red)}
.nav .nav-cta{border:1px solid var(--blue);color:var(--blue);border-radius:100px;padding:9px 18px;font-size:13px}
.nav .nav-cta:hover{background:var(--blue);color:var(--paper);border-bottom-color:var(--blue)}
.nav .nav-cta[aria-current="page"]{background:var(--blue);color:var(--paper)}
.nav-toggle{display:none;background:none;border:1px solid var(--ink);border-radius:100px;padding:9px 16px;font-size:13px}
@media(max-width:900px){
  .nav-toggle{display:inline-block}
  .nav{position:absolute;left:0;right:0;top:var(--header-h);background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gutter) 24px;display:none}
  .nav.open{display:flex}
  .nav a{font-size:20px;padding:15px 0;border-bottom:1px solid var(--line)}
  .nav .nav-cta{margin-top:18px;text-align:center;border-radius:100px;font-size:16px;padding:15px}
}

/* ---------- Botões ---------- */
.button{display:inline-flex;align-items:center;gap:36px;border:1px solid var(--blue);color:var(--blue);background:transparent;border-radius:100px;padding:18px 26px;text-decoration:none;font-size:13px;transition:background .2s,color .2s}
.button:hover{background:var(--blue);color:var(--paper)}
.button.is-solid{background:var(--blue);color:var(--paper)}
.button.is-solid:hover{background:var(--ink);border-color:var(--ink)}
.button.is-light{border-color:currentColor;color:inherit}
.button.is-light:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.button.is-small{padding:12px 20px;gap:18px}

/* ---------- Home: abertura (igual à referência) ---------- */
.hero{padding-block:70px 56px}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:700}
.hero h1{font-size:clamp(60px,11.6vw,178px);line-height:.9;letter-spacing:-.075em;font-weight:500;margin:38px 0 44px;max-width:1200px}
.hero h1 .serif{color:var(--red);display:block}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.hero h1 .ln>span{display:block;animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.hero h1 .ln:nth-child(2)>span{animation-delay:.12s}
@keyframes rise{from{transform:translateY(105%)}to{transform:none}}
.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:36px}
.intro{max-width:470px;font-size:18px;line-height:1.55;margin:0}
.strip{background:var(--yellow);color:var(--ink)}
.strip .wrap{display:flex;justify-content:space-between;gap:16px;padding-block:22px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.strip a{text-decoration:none}
.strip a:hover{text-decoration:underline}
@media(max-width:700px){
  .hero{padding-block:48px 40px}
  .hero h1{font-size:17.5vw;margin:28px 0 30px}
  .hero-bottom{display:block}
  .intro{font-size:16px}
  .hero-bottom .button{margin-top:22px}
  .strip .wrap{flex-wrap:wrap;font-size:10px}
}

/* ---------- Cabeçalho de página interna ---------- */
.page-hero{padding-block:clamp(48px,7vw,96px) clamp(44px,6vw,72px)}
.crumbs{font-size:12px;color:var(--soft);margin:0 0 32px}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.page-hero h1{font-size:clamp(52px,9.4vw,148px);line-height:.92;letter-spacing:-.07em;font-weight:500;margin:0}
.page-hero h1 .serif{color:var(--accent);display:block}
.page-hero .lede{font-size:clamp(17px,1.6vw,21px);line-height:1.6;max-width:640px;margin:34px 0 0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0;padding:0;list-style:none}
.chips li,.chip{border:1px solid var(--rule);border-radius:30px;padding:9px 15px;font-size:12px;background:transparent}
.chip-solid{background:var(--fg);color:var(--bg);border-color:var(--fg)}

/* ---------- Seções ---------- */
.section{padding-block:clamp(56px,8vw,104px)}
.section+.section{border-top:1px solid var(--line)}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.sec-head h2,.h2{font-size:clamp(38px,6vw,80px);letter-spacing:-.06em;line-height:.98;font-weight:400;margin:0}
.h2 .serif,.sec-head h2 .serif{color:var(--accent)}
.sec-head .note{font-size:12px;color:var(--soft)}
.prose{font-size:clamp(17px,1.5vw,20px);line-height:1.65;max-width:62ch}
.prose p{margin:0 0 1.1em}
.prose p:last-child{margin-bottom:0}
.small{font-size:14px;line-height:1.7;color:var(--soft)}
.muted{color:var(--soft)}
.grid-2{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(32px,8vw,120px);align-items:start}
@media(max-width:820px){.grid-2{grid-template-columns:1fr}}

/* ---------- Números ---------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.stat{background:var(--yellow);padding:26px 22px 24px;color:var(--ink)}
.stat:nth-child(2){background:var(--pink)}
.stat:nth-child(3){background:var(--forest);color:var(--paper)}
.stat:nth-child(4){background:var(--blue);color:var(--paper)}
.stat strong{display:block;font-size:clamp(36px,4.6vw,66px);letter-spacing:-.06em;font-weight:400;line-height:1}
.stat span{display:block;font-size:13px;line-height:1.55;margin-top:14px;max-width:26ch}
.tone-pink .stat:nth-child(2){background:var(--paper)}
.stats.on-tone .stat{background:rgba(255,255,255,.12);color:inherit}
@media(max-width:900px){.stats{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.stat{padding:20px 16px}}

/* ---------- Cards de projeto ---------- */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.card{display:flex;flex-direction:column;text-decoration:none;background:var(--pink);color:var(--ink);position:relative;overflow:hidden;transition:transform .25s}
.card.t-yellow{background:var(--yellow)}
.card.t-forest{background:var(--forest);color:var(--paper)}
.card.t-blue{background:var(--blue);color:var(--paper)}
.card.t-red{background:var(--red);color:var(--paper)}
.card.t-paper{background:#efe3d0}
.card-media{aspect-ratio:4/5;overflow:hidden;background:rgba(0,0,0,.12)}
.card-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.card:hover .card-media img{transform:scale(1.045)}
.card-big{aspect-ratio:4/5;display:flex;flex-direction:column;justify-content:space-between;padding:26px}
.card-big strong{font-size:clamp(64px,8vw,118px);letter-spacing:-.07em;font-weight:400;line-height:.9}
.card-big span{font-size:13px;max-width:24ch;line-height:1.5}
.card-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px;flex:1}
.card-meta{font-size:12px;opacity:.85}
.card h3{font-size:clamp(24px,2.3vw,32px);letter-spacing:-.04em;font-weight:400;line-height:1.1;margin:0}
.card p{font-size:13px;line-height:1.6;margin:0;opacity:.9}
.card-arrow{position:absolute;right:20px;top:18px;width:42px;height:42px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;font-size:18px;transition:transform .25s}
.card:hover .card-arrow{transform:translate(3px,-3px)}
.card[hidden]{display:none}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.cards{grid-template-columns:1fr}.card-media,.card-big{aspect-ratio:1/1}}

/* filtros */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px}
.filters button{border:1px solid var(--line);background:transparent;border-radius:30px;padding:10px 18px;font-size:13px}
.filters button:hover{border-color:var(--ink)}
.filters button[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.empty{font-size:15px;color:var(--muted)}

/* ---------- Vídeos ---------- */
.videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.videos.is-two{grid-template-columns:repeat(2,minmax(0,420px));justify-content:start}
.vid .frame{position:relative;background:var(--ink);aspect-ratio:9/16;overflow:hidden;border-radius:4px}
.vid.is-wide{grid-column:span 2}
.vid.is-wide .frame{aspect-ratio:16/9}
.vid video{display:block;width:100%;height:100%;object-fit:contain;background:var(--ink)}
.vid .play{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(to top,rgba(20,19,17,.55),transparent 45%);border:0;padding:0}
.vid .play span{width:68px;height:68px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;font-size:20px;padding-left:4px;transition:transform .2s}
.vid .play:hover span{transform:scale(1.08)}
.vid.is-playing .play{display:none}
.vid .dur{position:absolute;left:14px;bottom:14px;background:var(--paper);color:var(--ink);font-size:11px;padding:4px 9px;border-radius:30px;pointer-events:none}
.vid.is-playing .dur{display:none}
.vid h3{font-size:22px;letter-spacing:-.03em;font-weight:400;margin:18px 0 8px}
.vid .credit{font-size:12px;line-height:1.65;color:var(--soft);margin:0}
@media(max-width:900px){.videos{grid-template-columns:repeat(2,minmax(0,1fr))}.vid.is-wide{grid-column:span 2}}
@media(max-width:560px){.videos,.videos.is-two{grid-template-columns:1fr;gap:40px}.vid{max-width:400px;width:100%;margin-inline:auto}.vid.is-wide{grid-column:auto;max-width:none}}

/* ---------- Ficha técnica ---------- */
.project-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(32px,7vw,110px);align-items:start}
.spec{margin:0;border-top:1px solid var(--ink)}
.spec div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);font-size:15px}
.spec dt{color:var(--muted);font-size:13px}
.spec dd{margin:0}
@media(max-width:820px){.project-intro{grid-template-columns:1fr}}

/* ---------- Navegação entre projetos ---------- */
.pager{display:grid;grid-template-columns:1fr 1fr}
.pager a{display:block;text-decoration:none;padding:clamp(32px,5vw,64px) var(--gutter);background:var(--bg);color:var(--fg);transition:filter .2s}
.pager a:hover{filter:brightness(.96)}
.pager small{display:block;font-size:12px;margin-bottom:14px;opacity:.85}
.pager strong{display:block;font-size:clamp(30px,4.6vw,64px);letter-spacing:-.06em;font-weight:400;line-height:1}
.pager .serif{color:var(--accent)}
.pager a:last-child{text-align:right}
@media(max-width:620px){.pager{grid-template-columns:1fr}.pager a:last-child{text-align:left}}

/* ---------- Carrossel (scroll-snap) ---------- */
.carousel{max-width:460px;width:100%}
.car-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;background:var(--ink);border-radius:4px}
.car-track::-webkit-scrollbar{display:none}
.car-track img{flex:0 0 100%;scroll-snap-align:center;display:block;aspect-ratio:4/5;object-fit:contain;width:100%;height:auto}
.car-ctl{display:flex;justify-content:space-between;align-items:center;margin-top:14px}
.car-ctl button{width:46px;height:46px;border-radius:50%;border:1px solid var(--blue);background:transparent;color:var(--blue);font-size:20px;transition:background .2s,color .2s}
.car-ctl button:hover{background:var(--blue);color:var(--paper)}
.car-count{font-size:13px;font-variant-numeric:tabular-nums}
.car-thumbs{display:flex;gap:8px;margin-top:14px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.car-thumbs button{flex:0 0 52px;aspect-ratio:4/5;padding:0;border:2px solid transparent;background:none;opacity:.55;transition:opacity .2s}
.car-thumbs button img{display:block;width:100%;height:100%;object-fit:cover}
.car-thumbs button[aria-current="true"]{border-color:var(--ink);opacity:1}
.trend{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:clamp(32px,7vw,110px);align-items:start}
.trend:nth-of-type(even) .carousel{order:-1;justify-self:start}
.trend:nth-of-type(even){grid-template-columns:minmax(0,460px) minmax(0,1fr)}
.trend h2{font-size:clamp(36px,5vw,68px);letter-spacing:-.06em;font-weight:400;line-height:1;margin:0 0 22px}
.trend .serif{color:var(--accent)}
@media(max-width:860px){.trend,.trend:nth-of-type(even){grid-template-columns:minmax(0,1fr)}.trend:nth-of-type(even) .carousel{order:0}}

/* ---------- Fotos ---------- */
.photo-grid{columns:3;column-gap:20px}
.photo-grid a{display:block;margin-bottom:20px;break-inside:avoid;overflow:hidden;background:rgba(0,0,0,.08)}
.photo-grid img{display:block;width:100%;height:auto;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.photo-grid a:hover img{transform:scale(1.03)}
@media(max-width:820px){.photo-grid{columns:2;column-gap:12px}.photo-grid a{margin-bottom:12px}}
dialog.lightbox{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;color:var(--paper)}
dialog.lightbox::backdrop{background:rgba(20,19,17,.94)}
.lb-inner{height:100%;display:grid;grid-template-rows:auto 1fr auto;padding:16px;gap:12px}
.lb-top{display:flex;justify-content:space-between;align-items:center;font-size:13px}
.lb-stage{min-height:0;display:grid;place-items:center}
.lb-stage img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.lb-bar{display:flex;justify-content:center;gap:16px}
.lb-btn{background:none;border:1px solid var(--paper);color:var(--paper);border-radius:100px;min-width:46px;height:46px;padding:0 18px;font-size:18px}
.lb-btn:hover{background:var(--paper);color:var(--ink)}

/* ---------- Resultados ---------- */
.case{padding-block:clamp(48px,7vw,88px)}
.case-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:34px}
.case-head h2{font-size:clamp(34px,5vw,64px);letter-spacing:-.06em;font-weight:400;margin:0;line-height:1}
.case-head span{font-size:13px;color:var(--muted)}
.chart{margin-top:44px;max-width:900px}
.chart-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.chart h3{font-size:22px;font-weight:400;letter-spacing:-.03em;margin:0}
.seg{display:inline-flex;border:1px solid var(--ink);border-radius:100px;overflow:hidden}
.seg button{background:none;border:0;padding:9px 16px;font-size:12px}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.bar-row{display:grid;grid-template-columns:minmax(120px,230px) 1fr 86px;gap:16px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}
.bar-row .lab small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.bar-track{background:rgba(0,0,0,.06);height:22px}
.bar{display:block;height:100%;background:var(--forest);width:0;transition:width .7s cubic-bezier(.2,.7,.2,1)}
.bar-row.is-top .bar{background:var(--red)}
.bar-row .val{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
@media(max-width:600px){.bar-row{grid-template-columns:1fr 70px;gap:6px 12px}.bar-row .bar-track{grid-column:1/-1;order:3}}
.insight{max-width:62ch;font-size:16px;line-height:1.75;margin:30px 0 0}
.source{font-size:11.5px;line-height:1.7;color:var(--muted);max-width:80ch;margin-top:22px}
.table-wrap{overflow:auto;margin-top:34px}
table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}
caption{text-align:left;font-weight:700;margin-bottom:14px}
th,td{padding:14px 12px;border-bottom:1px solid var(--line)}
th{background:var(--forest);color:var(--paper);font-weight:400;font-size:13px}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.highlight{margin-top:34px;background:var(--forest);color:var(--paper);padding:clamp(24px,4vw,44px);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end}
.highlight p{margin:0;font-size:clamp(22px,2.6vw,34px);letter-spacing:-.03em;line-height:1.2}
.highlight .kicker{font-size:12px;opacity:.85;margin-bottom:12px}
.versus{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px;max-width:900px}
.versus>div{padding:24px;background:var(--yellow)}
.versus>div:last-child{background:var(--paper)}
.versus h4{margin:0 0 18px;font-size:20px;font-weight:400;letter-spacing:-.03em}
.versus dl{margin:0;display:grid;gap:14px}
.versus dt{font-size:12px;color:#4e452b}
.versus dd{margin:2px 0 0;font-size:clamp(28px,3.4vw,44px);letter-spacing:-.05em}
@media(max-width:560px){.versus{grid-template-columns:1fr}.highlight{grid-template-columns:1fr}}

/* ---------- Atuação ---------- */
.service{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,6vw,96px);padding-block:clamp(40px,5vw,64px);border-top:1px solid var(--ink)}
.service h2{font-size:clamp(32px,4.4vw,60px);letter-spacing:-.06em;font-weight:400;line-height:1;margin:0}
.service .num{display:block;font-size:12px;color:var(--muted);margin-bottom:18px}
.service ul{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:0}
.service li{padding:13px 0;border-bottom:1px solid var(--line);font-size:16px}
.service .see{margin-top:26px;display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:820px){.service{grid-template-columns:1fr}}
.glossary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.glossary>div{border-top:1px solid var(--fg);padding-top:16px}
.glossary h3{font-size:22px;font-weight:400;letter-spacing:-.03em;margin:0 0 10px}
.glossary p{font-size:14px;line-height:1.65;margin:0;color:var(--soft)}
@media(max-width:900px){.glossary{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.glossary{grid-template-columns:1fr}}
.tools{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.tools li{border:1px solid var(--rule);border-radius:30px;padding:10px 16px;font-size:13px}

/* ---------- Sobre ---------- */
.portrait{margin:0;max-width:420px}
.portrait img{display:block;width:100%;height:auto;border-radius:4px}
.facts{margin:0;display:grid;gap:0;border-top:1px solid var(--ink)}
.facts div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px}
.facts dt{font-size:13px;color:var(--muted)}
.facts dd{margin:0}
@media(max-width:520px){.facts div{grid-template-columns:1fr;gap:4px}}
.work-table td a{text-decoration:none;border-bottom:1px solid var(--red)}
.work-table td a:hover{background:var(--yellow)}
.work-table th{background:var(--ink)}

/* ---------- Contato ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,7vw,110px);align-items:start}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr}}
.channels{display:grid;gap:0;border-top:1px solid var(--rule)}
.channels a{display:flex;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid var(--rule);text-decoration:none;font-size:clamp(17px,1.8vw,22px);letter-spacing:-.02em}
.channels a:hover{color:var(--accent)}
.channels a>span:not(.ico){flex:1;min-width:0;overflow-wrap:anywhere}
.channels small{font-size:12px;opacity:.8;letter-spacing:0}
.channels .ico{width:48px;height:48px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;flex:none}
.site-footer li a{display:inline-flex;align-items:center;gap:9px}
.site-footer .ico{display:inline-flex;opacity:.85}
.form{display:grid;gap:18px}
.form label{display:grid;gap:8px;font-size:13px}
.form input,.form select,.form textarea{font:inherit;font-size:16px;padding:14px 16px;border:1px solid var(--ink);border-radius:0;background:rgba(255,255,255,.55);color:var(--ink)}
.form textarea{min-height:150px;resize:vertical}
.form [hidden],[data-has-contact][hidden],[data-no-contact][hidden]{display:none}
.pick{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0}
.pick legend{font-size:13px;margin-bottom:10px;padding:0}
.pick label{display:block}
.pick input{position:absolute;opacity:0}
.pick span{display:inline-block;border:1px solid var(--ink);border-radius:30px;padding:10px 16px;font-size:13px;cursor:pointer}
.pick input:checked+span{background:var(--ink);color:var(--paper)}
.pick input:focus-visible+span{outline:3px solid var(--blue);outline-offset:3px}

/* ---------- CTA e rodapé ---------- */
.cta{padding-block:clamp(64px,9vw,120px)}
.cta h2{font-size:clamp(44px,7.4vw,112px);font-weight:400;line-height:.98;letter-spacing:-.065em;margin:0 0 30px}
.cta h2 .serif{color:var(--yellow);display:block}
.cta p{max-width:520px;font-size:17px;line-height:1.65;margin:0 0 30px}
.site-footer{background:var(--ink);color:var(--paper);padding-block:56px 30px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.foot-logo{font-size:clamp(40px,6vw,84px);font-weight:800;letter-spacing:-.07em;line-height:.9}
.foot-logo i{font-style:normal;color:var(--red)}
.site-footer h3{font-size:12px;font-weight:400;opacity:.7;margin:0 0 14px}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:14px}
.site-footer a{text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.foot-base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:48px;padding-top:20px;border-top:1px solid rgba(247,239,226,.2);font-size:12px;opacity:.8}
@media(max-width:700px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:first-child{grid-column:1/-1}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}
}
@media(max-width:520px){
  .channels a{flex-wrap:wrap;gap:4px 16px;padding:18px 0}
  .channels a>span:not(.ico){font-size:16px;flex:1 1 0}
  .channels small{flex-basis:100%;padding-left:64px;margin-top:-2px}
}
