/* ==========================================================================
   CGT Berrô Theme — components.css
   Sistema de classes reutilizáveis (BEM-loose) para substituir estilos inline.
   Migração progressiva. Convenção: .berro-bloco__elemento--modificador · cores var(--berro-*).
   ========================================================================== */

/* ── Layout ────────────────────────────────────────────────────────────────*/
.berro-wrap{max-width:1560px;margin-inline:auto;padding-inline:40px;}
.berro-wrap--narrow{max-width:1360px;}
.berro-wrap--article{max-width:820px;}
.berro-wrap--text{max-width:720px;}

.berro-sec{position:relative;}
.berro-sec--dark{background:var(--berro-ink);color:var(--berro-chalk);}
.berro-sec--light{background:var(--berro-chalk);color:var(--berro-ink);}
.berro-sec--pad{padding:130px 40px;}
.berro-sec--pad-sm{padding:70px 40px;}

/* ── Rótulos / eyebrow / cabeçalho de seção ────────────────────────────────*/
.berro-eyebrow{font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--berro-smoke);}
.berro-labelrow{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px;}
.berro-secnum{font-family:var(--berro-font-body);font-weight:800;font-size:13px;color:var(--berro-ink);
  background:var(--berro-accent);padding:6px 15px;border-radius:100px;font-variant-numeric:tabular-nums;}

/* ── Tipografia display (Gunter) ───────────────────────────────────────────*/
.berro-display{font-family:var(--berro-font-display);font-weight:400;line-height:.86;margin:0;text-wrap:balance;}
.berro-display--xxl{font-size:min(15vw,220px);line-height:.84;}
.berro-display--xl{font-size:min(13vw,180px);}
.berro-display--lg{font-size:min(9vw,120px);line-height:.9;}
.berro-display--md{font-size:min(8vw,104px);line-height:.92;}
.berro-display--sm{font-size:min(7vw,88px);line-height:.92;}
.berro-display--xs{font-size:min(7.5vw,96px);line-height:.92;}

/* ── Botões ────────────────────────────────────────────────────────────────*/
.berro-btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--berro-font-body);
  font-weight:800;font-size:14px;letter-spacing:.06em;text-transform:uppercase;
  padding:15px 26px;border-radius:100px;border:0;transition:background .3s,color .3s,opacity .3s;}
.berro-btn--sm{font-size:13px;letter-spacing:.04em;padding:12px 22px;}
.berro-btn--solid{background:var(--berro-accent);color:var(--berro-ink);}
.berro-btn--solid:hover{opacity:.88;color:var(--berro-ink);}
.berro-btn--dark{background:var(--berro-ink);color:var(--berro-chalk);}
.berro-btn--dark:hover{color:var(--berro-chalk);}
.berro-btn--outline{background:transparent;border:1.5px solid var(--berro-accent);color:var(--berro-accent);}
.berro-btn--outline:hover{background:var(--berro-accent);color:var(--berro-ink);}
.berro-btn--outline-dark{background:transparent;border:1.5px solid var(--berro-ink);color:var(--berro-ink);}

/* ── Pílulas / badges ──────────────────────────────────────────────────────*/
.berro-pill{display:inline-block;font-family:var(--berro-font-body);font-weight:800;font-size:13px;
  letter-spacing:.02em;background:var(--berro-accent);color:var(--berro-ink);
  padding:6px 15px;border-radius:100px;font-variant-numeric:tabular-nums;}
.berro-badge{position:relative;flex:0 0 auto;will-change:transform;}
.berro-badge__mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--berro-accent);}

/* ── Marquee ───────────────────────────────────────────────────────────────*/
.berro-marquee{position:relative;overflow:hidden;padding:23px 0;
  border-top:1px solid var(--berro-line);border-bottom:1px solid var(--berro-line);}
.berro-marquee__track{display:flex;white-space:nowrap;font-family:var(--berro-font-display);font-weight:400;
  font-size:min(15vw,var(--berro-marquee-size,190px));line-height:1.05;color:transparent;
  -webkit-text-stroke:1.4px var(--berro-marquee-color,rgba(245,244,241,.6));
  text-stroke:1.4px var(--berro-marquee-color,rgba(245,244,241,.6));
  animation:berro-marquee var(--berro-marquee-speed,22s) linear infinite;}
.berro-marquee__track--filled{color:var(--berro-marquee-color,var(--berro-chalk));-webkit-text-stroke:0;text-stroke:0;}

/* ── Nav (header) ──────────────────────────────────────────────────────────*/
.berro-nav{position:fixed;top:0;left:0;right:0;z-index:900;display:grid;
  grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:22px 40px;mix-blend-mode:difference;
  transition:background .35s ease,padding .35s ease;}
.berro-nav__center{display:flex;align-items:center;gap:24px;justify-self:center;}
.berro-nav__right{display:flex;align-items:center;gap:16px;justify-self:end;}
.berro-brand{justify-self:start;}
.berro-brand{display:flex;align-items:center;gap:2px;font-family:var(--berro-font-body);
  font-weight:900;font-size:30px;letter-spacing:-.03em;color:var(--berro-brand-color,var(--berro-accent));}
.berro-logo{display:block;height:var(--berro-logo-height,30px);width:auto;}
.berro-logo--scrolled{display:none;}

/* Estado rolado: fundo sólido, sem mix-blend, cores próprias */
.berro-nav.is-scrolled{mix-blend-mode:normal;background:var(--berro-header-sc-bg,var(--berro-ink));}
.berro-nav.is-scrolled .berro-brand{color:var(--berro-header-sc-link,var(--berro-chalk));}
.berro-nav.is-scrolled .berro-menu a{color:var(--berro-header-sc-link,var(--berro-chalk));}
.berro-nav.is-scrolled .berro-burger span{background:var(--berro-header-sc-link,var(--berro-chalk));}
.berro-nav--altlogo.is-scrolled .berro-logo--main{display:none;}
.berro-nav--altlogo.is-scrolled .berro-logo--scrolled{display:block;}

/* Hambúrguer (mobile) */
.berro-burger{display:none;flex-direction:column;justify-content:center;gap:6px;width:30px;height:30px;
  background:none;border:0;padding:0;cursor:pointer;z-index:901;}
.berro-burger span{display:block;height:2px;width:100%;background:var(--berro-chalk);
  transition:transform .3s var(--berro-ease,cubic-bezier(.16,1,.3,1)),opacity .3s;}
.berro-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.berro-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.berro-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* Overlay do menu mobile */
.berro-mobilemenu{position:fixed;inset:0;z-index:895;background:var(--berro-ink);color:var(--berro-chalk);
  display:flex;flex-direction:column;justify-content:center;padding:110px 28px 44px;overflow-y:auto;
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .4s,transform .4s,visibility .4s;}
.berro-mobilemenu.is-open{opacity:1;visibility:visible;transform:none;}
.berro-mobilemenu__nav ul{list-style:none;margin:0;padding:0;}
.berro-mobilemenu__nav li{border-top:1px solid var(--berro-line);}
.berro-mobilemenu__nav li:last-child{border-bottom:1px solid var(--berro-line);}
.berro-mobilemenu__nav a{display:block;font-family:var(--berro-font-display);font-weight:400;
  font-size:clamp(38px,12vw,60px);line-height:1.18;padding:14px 0;color:var(--berro-chalk);}
.berro-mobilemenu__nav a:hover{color:var(--berro-accent);}
.berro-mobilemenu__foot{margin-top:44px;display:flex;flex-direction:column;gap:26px;}
.berro-mobilemenu__social{display:flex;flex-wrap:wrap;gap:20px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.03em;}
@media(min-width:821px){ .berro-mobilemenu{display:none;} }
@media(max-width:820px){ .berro-burger{display:flex;} }

/* ── Hero (front-page) ─────────────────────────────────────────────────────*/
.berro-hero{position:relative;min-height:100vh;overflow:hidden;display:flex;flex-direction:column;
  justify-content:flex-end;padding:120px 40px 40px;}
.berro-hero__media{position:absolute;inset:0;z-index:0;overflow:hidden;will-change:transform;}
.berro-hero__video{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100vh;
  min-width:177.78vh;transform:translate(-50%,-50%);border:0;pointer-events:none;
  filter:grayscale(1) contrast(1.05) brightness(.66);}
.berro-hero__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(11,10,8,.55) 0%,rgba(11,10,8,.15) 32%,rgba(11,10,8,.25) 60%,rgba(11,10,8,.92) 100%);}
.berro-hero__ghost-wrap{position:absolute;inset:0;bottom:24%;z-index:1;display:flex;flex-direction:column;
  justify-content:center;align-items:center;pointer-events:none;}
/* posição horizontal */
.berro-hero__ghost-wrap--h-left{align-items:flex-start;}
.berro-hero__ghost-wrap--h-left .berro-hero__ghost{text-align:left;}
.berro-hero__ghost-wrap--h-right{align-items:flex-end;}
.berro-hero__ghost-wrap--h-right .berro-hero__ghost{text-align:right;}
/* posição vertical */
.berro-hero__ghost-wrap--v-top{justify-content:flex-start;}
.berro-hero__ghost-wrap--v-bottom{justify-content:flex-end;}
.berro-hero__ghost{font-family:var(--berro-hero-ghost-font,var(--berro-font-display));font-weight:400;line-height:.84;text-align:center;
  color:transparent;-webkit-text-stroke:1.5px var(--berro-hero-ghost-color,var(--berro-accent));
  text-stroke:1.5px var(--berro-hero-ghost-color,var(--berro-accent));letter-spacing:-.01em;}
.berro-hero__ghost--filled{color:var(--berro-hero-ghost-color,var(--berro-accent));
  -webkit-text-stroke:0;text-stroke:0;}
.berro-hero__ghost > span{display:block;}
.berro-hero__ghost .l1{font-size:min(13vw,var(--berro-hero-ghost-size,196px));}
.berro-hero__ghost .l2{font-size:min(9.2vw,calc(var(--berro-hero-ghost-size,196px) * 0.7));letter-spacing:.03em;}
.berro-hero__ghost .berro-char{display:inline-block;}
.berro-hero__dart{position:absolute;top:112px;right:44px;z-index:2;width:104px;height:104px;}
.berro-hero__dart > div{width:100%;height:100%;will-change:transform;}
.berro-hero__band{position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:32px 48px;
  justify-content:space-between;align-items:flex-end;max-width:1560px;margin:0 auto;width:100%;}
.berro-hero__intro{max-width:540px;}
.berro-hero__lead{font-size:19px;line-height:1.5;color:var(--berro-chalk);margin:0 0 26px;text-wrap:pretty;}
.berro-hero__index{min-width:320px;}
.berro-hero__index-title{font-family:var(--berro-font-display);font-size:28px;color:var(--berro-chalk);margin:0 0 16px;}
.berro-idxlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.berro-idxlist a{display:flex;gap:14px;align-items:baseline;padding:9px 0;border-top:1px solid var(--berro-line);
  font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.01em;}
.berro-idxlist a > span{color:var(--berro-accent);font-variant-numeric:tabular-nums;}

/* ── Sobre (home) ──────────────────────────────────────────────────────────*/
.berro-sobre-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:stretch;}
.berro-sobre__img{position:relative;overflow:hidden;border-radius:6px;min-height:440px;}
.berro-sobre__img img{width:100%;height:112%;object-fit:cover;filter:grayscale(1) contrast(1.06);}
.berro-sobre__col{display:flex;flex-direction:column;}
.berro-sobre__yellow{background:var(--berro-accent);color:var(--berro-ink);border-radius:6px;padding:44px 40px;
  flex:1;display:flex;align-items:center;}
.berro-sobre__yellow h2{font-family:var(--berro-font-display);font-weight:400;font-size:min(6.2vw,60px);
  line-height:.98;margin:0;letter-spacing:-.005em;text-wrap:balance;}
.berro-sobre__text{font-size:18px;line-height:1.62;color:var(--berro-chalk);margin:32px 0 0;text-wrap:pretty;}

/* ── Estatísticas ──────────────────────────────────────────────────────────*/
.berro-stats{display:flex;gap:44px;align-items:flex-end;}
.berro-stat__num{font-family:var(--berro-font-body);font-weight:900;font-size:52px;line-height:1;
  font-variant-numeric:tabular-nums;color:var(--berro-chalk);}
.berro-stat__num--accent{color:var(--berro-accent);}
.berro-stat__label{font-size:13px;color:var(--berro-smoke);margin-top:4px;}

/* ── Portfólio (slider drag) ───────────────────────────────────────────────*/
.berro-drag{position:relative;padding-left:40px;}
.berro-drag__track{display:flex;gap:26px;will-change:transform;user-select:none;}
.berro-projcard{flex:0 0 auto;width:440px;}
.berro-projcard__media{position:relative;overflow:hidden;border-radius:6px;height:540px;background:var(--berro-card);}
.berro-projcard__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);pointer-events:none;}
.berro-projcard__num{position:absolute;top:16px;left:16px;font-family:var(--berro-font-body);font-weight:900;
  font-size:15px;color:var(--berro-accent);font-variant-numeric:tabular-nums;background:rgba(11,10,8,.55);
  backdrop-filter:blur(4px);padding:5px 11px;border-radius:100px;}
.berro-projcard__meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;gap:16px;}
.berro-projcard__title{font-family:var(--berro-font-body);font-weight:800;font-size:22px;margin:0;letter-spacing:-.01em;}
.berro-projcard__year{font-size:13px;color:var(--berro-smoke);white-space:nowrap;}
.berro-projcard__tag{font-size:14px;color:var(--berro-smoke);margin:6px 0 0;}

/* ── Serviços (acordeão) ───────────────────────────────────────────────────*/
.berro-svc-head{width:100%;background:none;border:none;text-align:left;padding:34px 0;display:flex;gap:28px;
  align-items:flex-start;font-family:var(--berro-font-body);color:var(--berro-ink);}
.berro-svc-head__num{font-weight:900;font-size:20px;color:var(--berro-smoke);font-variant-numeric:tabular-nums;padding-top:10px;}
.berro-svc-head__title{flex:1;font-family:var(--berro-font-display);font-weight:400;font-size:min(5vw,46px);line-height:1;letter-spacing:-.01em;}
.berro-svc-head__icon{font-size:34px;line-height:1;transition:transform .4s cubic-bezier(.16,1,.3,1);color:var(--berro-accent);}
.berro-svc-panel{overflow:hidden;height:0;transition:height .5s cubic-bezier(.16,1,.3,1);}
.berro-svc-body{display:grid;grid-template-columns:1fr 1fr;gap:44px;padding:0 0 40px 48px;}
.berro-svc-desc{font-size:17px;line-height:1.6;color:var(--berro-ink);margin:0;max-width:520px;text-wrap:pretty;}
.berro-steps__label{font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--berro-smoke);margin:0 0 16px;}
.berro-steps{list-style:none;margin:0;padding:0;}
.berro-steps li{display:flex;gap:16px;padding:11px 0;border-top:1px solid rgba(11,10,8,.12);font-size:16px;line-height:1.35;align-items:baseline;}
.berro-steps li > span:first-child{color:var(--berro-accent);font-weight:900;font-variant-numeric:tabular-nums;}

/* ── Parceiros ─────────────────────────────────────────────────────────────*/
.berro-part-wrap{display:grid;grid-template-columns:300px 1fr;gap:56px;align-items:start;}
.berro-part-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.berro-part{margin:0;}
.berro-part__media{position:relative;overflow:hidden;border-radius:6px;aspect-ratio:4/5;background:var(--berro-card);}
.berro-part__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);
  transition:transform .6s cubic-bezier(.16,1,.3,1),filter .4s ease;}
.berro-part__name{font-family:var(--berro-font-body);font-weight:700;font-size:15px;margin-top:12px;}
.berro-part__cap{margin-top:16px;}
.berro-part__cap-name{font-family:var(--berro-font-body);font-weight:800;font-size:20px;}
.berro-part__role{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--berro-accent);margin-top:4px;}

/* ── Clientes ──────────────────────────────────────────────────────────────*/
.berro-clients-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(245,244,241,.12);
  border:1px solid rgba(245,244,241,.12);border-radius:6px;overflow:hidden;}
.berro-client{background:var(--berro-ink);display:flex;align-items:center;justify-content:center;padding:44px 30px;min-height:150px;min-width:0;}
.berro-client img{max-width:170px;max-height:74px;width:auto;height:auto;object-fit:contain;opacity:.62;transition:opacity .35s ease,transform .35s ease;}

/* ── Blog (cards) ──────────────────────────────────────────────────────────*/
.berro-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
.berro-post{display:flex;flex-direction:column;color:var(--berro-ink);}
.berro-post__media{position:relative;overflow:hidden;border-radius:6px;aspect-ratio:3/2;background:#e6e4df;}
.berro-post__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:transform .7s cubic-bezier(.16,1,.3,1);}
.berro-post__cat{position:absolute;top:14px;left:14px;font-family:var(--berro-font-body);font-weight:800;
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:var(--berro-accent);color:var(--berro-ink);padding:6px 12px;border-radius:100px;}
.berro-post__title{font-family:var(--berro-font-body);font-weight:800;font-size:23px;line-height:1.15;margin:20px 0 0;letter-spacing:-.01em;text-wrap:balance;}
.berro-post__meta{display:flex;gap:14px;align-items:center;margin-top:14px;font-size:13px;color:var(--berro-smoke);}

/* ── Rodapé ────────────────────────────────────────────────────────────────*/
.berro-footer{position:relative;background:var(--berro-ink);color:var(--berro-chalk);padding:110px 0 40px;overflow:hidden;}
.berro-footer__top{max-width:1560px;margin:0 auto;padding:0 40px;display:flex;flex-wrap:wrap;gap:48px;
  justify-content:space-between;align-items:center;margin-bottom:90px;}
.berro-footer__cta{max-width:640px;}
.berro-footer__phrase{font-family:var(--berro-font-display);font-weight:400;font-size:min(6vw,64px);
  line-height:1;margin:18px 0 0;text-wrap:balance;}
.berro-footer__row{max-width:1560px;margin-inline:auto;display:flex;flex-wrap:wrap;
  justify-content:space-between;align-items:center;}
.berro-footer__row--menu{padding:44px 40px 0;gap:20px 32px;}
.berro-footer__row--meta{margin-top:28px;padding:24px 40px 0;border-top:1px solid var(--berro-line);gap:14px 32px;}
.berro-footer__social{display:flex;gap:24px;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.03em;}
.berro-footer__copy{font-size:12px;color:var(--berro-smoke);}
.berro-footer__dev{font-size:12px;color:var(--berro-smoke);letter-spacing:.02em;}
.berro-footer__dev b{color:var(--berro-chalk);font-weight:700;}
.berro-footer__totop{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;
  text-transform:uppercase;letter-spacing:.03em;}
.berro-footer__totop span{color:var(--berro-accent);}

/* ── Cabeçalhos de seção específicos + paddings ────────────────────────────*/
.berro-sec--portfolio{position:relative;padding:40px 0 130px;overflow:hidden;}
.berro-sec--clientes{position:relative;padding:20px 40px 130px;}
.berro-sec-intro{font-size:17px;line-height:1.55;color:var(--berro-smoke);max-width:560px;margin:0 0 56px;text-wrap:pretty;}
.berro-portfolio-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px;margin-bottom:48px;}
.berro-clients-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:44px;border-top:1px solid var(--berro-line);padding-top:44px;}
.berro-blog-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:56px;}

/* ── Serviços — arquivo (linha por serviço com pílula + steps verticais) ───*/
.berro-svcrow{border-top:1px solid var(--berro-line-dark);padding:64px 0;}
.berro-svcrow__head{display:flex;align-items:center;gap:24px;border:1.6px solid var(--berro-ink);border-radius:100px;padding:16px 34px;}
.berro-svcrow__num{font-family:var(--berro-font-display);font-size:clamp(38px,4vw,56px);line-height:.8;color:var(--berro-accent);}
.berro-svcrow__title{font-family:var(--berro-font-body);font-weight:800;font-size:clamp(19px,2.3vw,32px);letter-spacing:.01em;text-transform:uppercase;margin:0;text-wrap:balance;}
.berro-svcrow__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:48px;margin-top:44px;padding:0 8px;}
.berro-svcrow__synthesis{font-family:var(--berro-font-body);font-weight:800;font-size:clamp(20px,1.9vw,27px);line-height:1.15;text-transform:uppercase;margin:0 0 22px;text-wrap:balance;}
.berro-svcrow__desc{font-size:17px;line-height:1.62;color:#4a463f;margin:0;max-width:520px;text-wrap:pretty;}
.berro-steps-v{display:flex;gap:24px;align-items:stretch;}
.berro-steps-v__label{flex:0 0 auto;background:var(--berro-ink);border-radius:100px;display:flex;align-items:center;justify-content:center;padding:22px 9px;}
.berro-steps-v__label span{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--berro-font-body);font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--berro-chalk);white-space:nowrap;}
.berro-steps-v__label b{color:var(--berro-accent);font-weight:800;}
.berro-steps-arrow{list-style:none;margin:0;padding:0;flex:1;}
.berro-steps-arrow li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid rgba(11,10,8,.16);font-size:16px;line-height:1.35;align-items:baseline;}
.berro-steps-arrow li > span:first-child{color:var(--berro-accent);font-weight:900;}

/* CTA de fim de seção (título display + botão) */
.berro-cta-row{border-top:1px solid var(--berro-line-dark);margin-top:16px;padding-top:66px;display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:center;}
.berro-cta-row--dark{border-color:var(--berro-line);}
.berro-cta-row__title{font-family:var(--berro-font-display);font-weight:400;font-size:min(7vw,60px);line-height:.92;margin:0;text-wrap:balance;}

/* ── Single / artigo / contato — comuns ────────────────────────────────────*/
.berro-back{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--berro-smoke);}
.berro-back span{color:var(--berro-accent);}
.berro-metarow{display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;font-size:14px;color:var(--berro-smoke);margin-top:30px;}
.berro-metarow strong{color:var(--berro-chalk);font-weight:700;}
.berro-cover{position:relative;height:min(70vh,640px);overflow:hidden;background:var(--berro-card);}
.berro-cover img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06);}
.berro-deflabel{font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--berro-smoke);}
.berro-chip-tags{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;}
.berro-chip-tags .num{color:var(--berro-accent);font-variant-numeric:tabular-nums;}
.berro-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:26px;}
.berro-gallery__item{overflow:hidden;border-radius:6px;background:var(--berro-card);}
.berro-gallery__item img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);}

/* Post em destaque (home do blog) */
.berro-post--featured{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:44px;align-items:center;
  border-bottom:1px solid var(--berro-line-dark);padding-bottom:64px;margin-bottom:56px;}
.berro-post--featured .berro-post__media{aspect-ratio:16/11;}
.berro-post--featured .berro-post__title{font-family:var(--berro-font-display);font-weight:400;font-size:min(6vw,58px);line-height:.96;margin:0;}

/* Contato — coluna de infos */
.berro-contact-info{display:flex;flex-direction:column;gap:44px;}
.berro-contact-info__email{font-family:var(--berro-font-display);font-size:min(6vw,34px);color:var(--berro-chalk);}
.berro-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:64px;align-items:start;
  border-top:1px solid var(--berro-line);padding-top:70px;}

/* ── Página Sobre ──────────────────────────────────────────────────────────*/
.berro-manifesto{font-family:var(--berro-font-body);font-weight:800;font-size:min(4.4vw,50px);line-height:1.14;margin:0;letter-spacing:-.01em;text-wrap:balance;}
.berro-manifesto .hl{color:var(--berro-accent);}
.berro-duotone{position:relative;height:min(78vh,720px);overflow:hidden;}
.berro-duotone img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08) brightness(.8);}
.berro-duotone__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,10,8,.7),rgba(11,10,8,.1));}
.berro-duotone__caption{position:absolute;left:40px;bottom:40px;right:40px;}
.berro-duotone__caption p{font-family:var(--berro-font-display);font-weight:400;font-size:min(7vw,80px);line-height:.9;color:var(--berro-chalk);margin:0;text-wrap:balance;}
.berro-belief{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:56px;align-items:start;}
.berro-belief__title{font-family:var(--berro-font-display);font-weight:400;font-size:min(5vw,52px);line-height:.98;margin:18px 0 0;text-wrap:balance;}
.berro-belief__text{font-size:18px;line-height:1.62;color:#4a463f;margin:0;max-width:560px;text-wrap:pretty;}
.berro-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:rgba(11,10,8,.14);border:1px solid rgba(11,10,8,.14);border-radius:6px;overflow:hidden;margin-top:72px;}
.berro-value{background:var(--berro-chalk);padding:40px 34px;}
.berro-value__sym{font-family:var(--berro-font-display);font-size:64px;line-height:.8;color:var(--berro-accent);}
.berro-value__sym--ink{color:var(--berro-ink);}
.berro-value__title{font-family:var(--berro-font-body);font-weight:800;font-size:26px;margin-top:16px;}
.berro-value__text{font-size:15px;color:#4a463f;line-height:1.5;margin:10px 0 0;}
.berro-manifesto-wrap{max-width:1360px;margin-inline:auto;border-top:1px solid var(--berro-line);padding-top:70px;}
.berro-partners-wrap{max-width:1360px;margin-inline:auto;border-top:1px solid var(--berro-line);padding-top:70px;}



/* ── Newsletter (CTA — banda amarela) ──────────────────────────────────────*/
.berro-newsletter{background:var(--berro-accent);color:var(--berro-ink);padding:100px 40px;}
.berro-newsletter__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
.berro-newsletter__eyebrow{font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:rgba(11,10,8,.6);}
.berro-newsletter__heading{font-family:var(--berro-font-display);font-weight:400;font-size:min(6vw,64px);line-height:.98;margin:16px 0 0;text-wrap:balance;}
.berro-newsletter__text{font-size:18px;line-height:1.55;color:#3a352c;margin:20px 0 0;max-width:460px;}
.berro-newsletter__form .wpcf7-form{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;}
.berro-newsletter__form .wpcf7-form > p{margin:0;flex:1;min-width:220px;}
.berro-newsletter__form input[type=email]{width:100%;background:transparent;border:0;border-bottom:2px solid var(--berro-ink);
  color:var(--berro-ink);font-family:var(--berro-font-body);font-size:20px;padding:10px 2px;outline:none;}
.berro-newsletter__form input[type=email]::placeholder{color:rgba(11,10,8,.5);}
.berro-newsletter__form .wpcf7-submit{font-family:var(--berro-font-body);font-weight:800;font-size:14px;letter-spacing:.06em;
  text-transform:uppercase;background:var(--berro-ink);color:var(--berro-chalk);border:0;padding:16px 30px;border-radius:100px;cursor:pointer;}
.berro-newsletter__form .wpcf7-response-output{flex-basis:100%;border-radius:8px;border:1.5px solid var(--berro-ink)!important;
  padding:12px 16px!important;margin:8px 0 0!important;font-size:14px;}
.berro-newsletter__form .wpcf7-not-valid-tip{color:#8a1a1a;font-size:13px;}
@media(max-width:820px){ .berro-newsletter{padding:70px 20px;} .berro-newsletter__grid{grid-template-columns:1fr;gap:32px;} }

/* ── Busca (formulário) ─────────────────────────────────────────────────────*/
.berro-search{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;}
.berro-search__input{flex:1;min-width:200px;background:transparent;border:0;border-bottom:2px solid currentColor;
  color:inherit;font-family:var(--berro-font-body);font-size:20px;padding:10px 2px;outline:none;}
.berro-search__input::placeholder{color:currentColor;opacity:.5;}
.berro-search__btn{font-family:var(--berro-font-body);font-weight:800;font-size:13px;letter-spacing:.06em;
  text-transform:uppercase;background:var(--berro-accent);color:var(--berro-ink);border:0;
  padding:14px 26px;border-radius:100px;cursor:pointer;white-space:nowrap;}

/* ── Resultados de busca ────────────────────────────────────────────────────*/
.berro-searchlist{display:flex;flex-direction:column;}
.berro-result{display:flex;align-items:center;gap:24px;padding:28px 4px;border-top:1px solid var(--berro-line-dark);
  color:var(--berro-ink);transition:padding-left .3s cubic-bezier(.16,1,.3,1);}
.berro-searchlist .berro-result:last-child{border-bottom:1px solid var(--berro-line-dark);}
.berro-result:hover{padding-left:16px;color:var(--berro-ink);}
.berro-result__body{flex:1;min-width:0;}
.berro-result__type{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--berro-smoke);margin-bottom:8px;}
.berro-result__title{font-family:var(--berro-font-display);font-weight:400;font-size:min(5vw,34px);line-height:1.02;margin:0;}
.berro-result__excerpt{font-size:16px;line-height:1.55;color:var(--berro-text);margin:12px 0 0;max-width:640px;}
.berro-result__arrow{flex:none;font-size:26px;color:var(--berro-accent);transition:transform .3s cubic-bezier(.16,1,.3,1);}
.berro-result:hover .berro-result__arrow{transform:translateX(8px);}

/* ── 404 ────────────────────────────────────────────────────────────────────*/
.berro-404__code{font-size:min(38vw,300px);line-height:.9;margin:10px 0 0;letter-spacing:-.02em;
  color:transparent;-webkit-text-stroke:2px var(--berro-accent);text-stroke:2px var(--berro-accent);}
@supports not ((-webkit-text-stroke:2px #000) or (text-stroke:2px #000)){.berro-404__code{color:var(--berro-accent);}}
.berro-404__lead{font-size:clamp(20px,3vw,28px);line-height:1.3;max-width:620px;margin:20px auto 0;color:var(--berro-chalk);text-wrap:balance;}
.berro-404__search{max-width:480px;margin:40px auto 0;text-align:left;}
.berro-404__links{display:flex;gap:14px 26px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:40px;}
.berro-404__link{font-weight:700;font-size:14px;letter-spacing:.02em;text-transform:uppercase;color:var(--berro-chalk);
  border-bottom:1px solid transparent;padding-bottom:2px;}
.berro-404__link:hover{color:var(--berro-accent);border-color:var(--berro-accent);}
@media(max-width:600px){ .berro-result__arrow{display:none;} }

/* Link legal no rodapé */
.berro-footer__legal{color:inherit;text-decoration:underline;text-decoration-color:rgba(245,244,241,.3);
  text-underline-offset:3px;}
.berro-footer__legal:hover{color:var(--berro-accent);text-decoration-color:var(--berro-accent);}

/* ── Distância (diagrama animado) ──────────────────────────────────────────*/
.berro-distancia__stage{position:relative;}
/* trilha desenha-se (pathLength normalizado = 1) */
.berro-dist-path{stroke-dasharray:1;stroke-dashoffset:1;}
.berro-distancia__stage.is-drawn .berro-dist-path{
  transition:stroke-dashoffset 1.8s cubic-bezier(.65,0,.35,1);stroke-dashoffset:0;}
/* nós surgem em sequência */
.berro-dist-node{transform-box:fill-box;transform-origin:center;opacity:0;transform:scale(.35);}
.berro-distancia__stage.is-drawn .berro-dist-node{
  transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .5s ease;
  transition-delay:calc(.5s + var(--i) * .28s);opacity:1;transform:scale(1);}
/* leve flutuação depois de montado */
.berro-distancia__stage.is-drawn .berro-dist-node circle{animation:berro-dist-float 6s ease-in-out infinite;animation-delay:calc(2s + var(--i) * .4s);}
@keyframes berro-dist-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}}
/* guias verticais crescem da base */
.berro-dist-guide{transform-box:fill-box;transform-origin:bottom;transform:scaleY(0);}
.berro-distancia__stage.is-drawn .berro-dist-guide{
  transition:transform .9s cubic-bezier(.16,1,.3,1);transition-delay:calc(.8s + var(--i,0) * .2s);transform:scaleY(1);}
.berro-dist-guide:nth-of-type(1){--i:0;} .berro-dist-guide:nth-of-type(2){--i:1;} .berro-dist-guide:nth-of-type(3){--i:2;}
/* alvo viajante — escondido até o JS ativar */
.berro-dist-marker{opacity:0;transform-box:fill-box;transform-origin:center;}
.berro-distancia__stage.is-traveling .berro-dist-marker{opacity:1;transition:opacity .5s ease .4s;}

@media(prefers-reduced-motion:reduce){
  .berro-dist-path{stroke-dashoffset:0;transition:none;}
  .berro-dist-node{opacity:1;transform:none;}
  .berro-dist-node circle{animation:none;}
  .berro-dist-guide{transform:none;}
  .berro-dist-marker{display:none;}
}

/* ── Breadcrumbs ───────────────────────────────────────────────────────────*/
.berro-crumbs{margin:0 0 24px;}
.berro-crumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;list-style:none;margin:0;padding:0;
  font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;}
.berro-crumbs__item{display:inline-flex;align-items:center;gap:10px;}
.berro-crumbs__item:not(:first-child)::before{content:'/';opacity:.4;font-weight:400;}
.berro-crumbs__link{color:inherit;opacity:.6;transition:opacity .2s ease,color .2s ease;}
.berro-crumbs__link:hover{opacity:1;color:var(--berro-accent);}
.berro-crumbs__current{color:var(--berro-accent);}

/* ── Distância (editorial com imagem) ──────────────────────────────────────*/
.berro-distancia__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;}
.berro-distancia__title{font-size:min(6vw,72px);line-height:.96;margin:0 0 30px;}
.berro-distancia__text{font-size:19px;line-height:1.55;color:var(--berro-chalk);margin:0 0 18px;max-width:460px;}
.berro-distancia__text--muted{color:var(--berro-smoke);font-size:16px;}
.berro-distancia__img{position:relative;margin:0;overflow:hidden;border-radius:6px;aspect-ratio:4/3;
  background:var(--berro-accent-soft);display:flex;align-items:center;justify-content:center;padding:38px;}
.berro-distancia__img img{width:100%;height:100%;object-fit:contain;}
.berro-distancia__cap{position:absolute;left:18px;bottom:14px;font-weight:700;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--berro-ink);opacity:.6;}
@media(max-width:820px){ .berro-distancia__grid{grid-template-columns:1fr;gap:30px;} }

/* ── Busca no menu (botão + overlay) ───────────────────────────────────────*/
.berro-search-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;
  background:none;border:0;color:inherit;cursor:pointer;padding:0;flex:none;}
.berro-search-btn svg{display:block;}
.berro-search-overlay{position:fixed;inset:0;z-index:950;background:var(--berro-ink);color:var(--berro-chalk);
  display:flex;align-items:center;justify-content:center;padding:40px;
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .35s ease,visibility .35s ease,transform .35s ease;}
.berro-search-overlay.is-open{opacity:1;visibility:visible;transform:none;}
.berro-search-overlay__inner{width:min(760px,100%);}
.berro-search-overlay__inner .berro-eyebrow{display:block;margin-bottom:22px;}
.berro-search-overlay__inner .berro-search__input{font-size:clamp(26px,5vw,52px);padding:14px 2px;}
.berro-search-overlay__close{position:absolute;top:20px;right:28px;width:48px;height:48px;background:none;border:0;
  color:var(--berro-chalk);font-size:40px;line-height:1;cursor:pointer;}
.berro-search-overlay__close:hover{color:var(--berro-accent);}
@media(prefers-reduced-motion:reduce){.berro-search-overlay{transition:opacity .2s ease,visibility .2s ease;transform:none;}}

/* ── Indicadores (página Sobre) ────────────────────────────────────────────*/
.berro-about-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--berro-line);}
.berro-about-stats > div{padding:38px 24px;border-right:1px solid var(--berro-line);}
.berro-about-stats > div:last-child{border-right:0;}
.berro-about-stats .berro-stat__num{font-size:min(9vw,82px);}
.berro-about-stats .berro-stat__label{font-size:13px;margin-top:8px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;}
@media(max-width:640px){
  .berro-about-stats{grid-template-columns:1fr;}
  .berro-about-stats > div{border-right:0;border-bottom:1px solid var(--berro-line);}
}
