@font-face{font-family:'Product Sans';src:url('../assets/fonts/ProductSans-Thin.ttf') format('truetype');font-weight:100;font-display:swap}
@font-face{font-family:'Product Sans';src:url('../assets/fonts/ProductSans-Light.ttf') format('truetype');font-weight:300;font-display:swap}
@font-face{font-family:'Product Sans';src:url('../assets/fonts/ProductSans-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Product Sans';src:url('../assets/fonts/ProductSans-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'Product Sans';src:url('../assets/fonts/ProductSans-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Product Sans';src:url('../assets/fonts/ProductSans-Black.ttf') format('truetype');font-weight:900;font-display:swap}

:root{
  --white:#FFFFFF;--grey-bg:#F0F0F0;--grey-3:#C2C2C2;--grey-tx:#6E6E6E;
  --dark-2:#303030;--amber:#F5A800;--dark:#272727;--darker:#1D1D1D;
  --offwhite:#F3F8F0;--orange:#F59300;--orange-2:#F58000;--ink:#1D1D1D;--green:#D2E4C7;
  --display:'Product Sans',-apple-system,Arial,sans-serif;--body:'Product Sans',-apple-system,Arial,sans-serif;
  --maxw:1180px;--radius:14px;--cut:#fff;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);font-weight:300;color:var(--ink);background:var(--white);line-height:1.6;font-size:18px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
h1,h2,h3,h4{font-family:var(--display);font-weight:900;line-height:1.08;letter-spacing:-.5px}
.sec{padding:128px 0;position:relative}
.h1{font-size:clamp(2.8rem,6vw,72px)}
/* TODOS os títulos de seção = mesmo tamanho (só o hero é maior) */
.h2{font-size:clamp(2rem,4.4vw,44px)}
.section-title{text-align:center;max-width:820px;margin:0 auto;line-height:1.12}
.section-sub{text-align:center;max-width:70ch;margin:22px auto 0;color:#cfd3d0;font-size:1.08rem;font-weight:300}

/* Recorte diagonal com PONTA alternando de lado */
.cut{position:relative}
.cut::before{content:"";position:absolute;left:0;bottom:calc(100% - 1px);width:100%;height:2.4vw;min-height:26px;background:var(--cut);clip-path:polygon(0 0,72% 100%,100% 0,100% 100%,0 100%);z-index:3}
.cut.l::before{clip-path:polygon(0 0,28% 100%,100% 0,100% 100%,0 100%)}

.btn{display:inline-flex;align-items:center;gap:11px;font-family:var(--display);font-weight:500;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;padding:15px 30px;border-radius:999px;cursor:pointer;border:none;transition:.2s;white-space:nowrap}
.btn svg{width:20px;height:20px;flex:0 0 auto}
.btn-dark{background:#141414;color:#fff}.btn-dark:hover{background:#000}
.btn-orange{background:var(--amber);color:#241a02}.btn-orange:hover{background:var(--orange-2);color:#fff}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.5)}.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.hl{background:var(--amber);color:#241a02;padding:2px 9px;border-radius:4px;font-weight:500;box-decoration-break:clone;-webkit-box-decoration-break:clone}

.site-header{position:fixed;top:0;left:0;right:0;z-index:50;transition:.3s}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:88px}
.brand-logo{height:38px;width:auto}
.nav{display:flex;align-items:center;gap:30px}
.nav>a{font-family:var(--display);font-weight:500;font-size:.95rem;color:#fff;opacity:.92;transition:.2s}
.nav>a:hover,.nav>a.active{color:var(--amber);opacity:1}
.nav>a.active{border-bottom:2px solid var(--amber);padding-bottom:4px}
.header-social{display:flex;gap:12px;margin-left:6px;padding-left:16px;border-left:1px solid rgba(255,255,255,.25)}
.header-social a{display:grid;place-items:center;color:#fff;opacity:.8;transition:.2s}
.header-social a:hover{color:var(--amber);opacity:1}
.header-social svg{width:18px;height:18px}
.site-header.scrolled{background:var(--dark);box-shadow:0 4px 24px rgba(0,0,0,.25)}
.burger{display:none;background:none;border:none;color:#fff;font-size:1.6rem;cursor:pointer}

.hero{height:720px;display:flex;align-items:center;position:relative;color:#fff;background-size:cover;background-position:center}
.hero .wrap{width:100%}
.hero-inner{max-width:680px;margin-left:auto;text-align:right}
.hero h1{color:var(--offwhite)}
.hero p{font-size:clamp(1rem,1.5vw,1.18rem);margin:22px 0 36px;color:#fff;font-weight:300;line-height:1.9}

.problema{background:var(--grey-bg)}
.problema .grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.problema h2{color:var(--orange);text-align:right}
.problema .txt{text-align:right}
.problema p{margin-top:22px;font-size:1.08rem;color:#3c4044;font-weight:300;margin-left:auto;max-width:48ch}
.problema .ph{border-radius:var(--radius);overflow:hidden}

.dark{background:var(--dark);color:var(--offwhite)}
.dark h2{color:var(--orange)}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:56px}
.pillar{background:var(--dark-2);border-radius:var(--radius);padding:38px 26px;text-align:center}
.pillar .ic{width:58px;height:58px;margin:0 auto 18px;object-fit:contain;filter:brightness(0) invert(1)}
.pillar h3{font-size:1.2rem;color:#fff;margin-bottom:10px;font-weight:700}
.pillar p{font-size:.96rem;color:#b9bdba;font-weight:300}
.cta-row{display:flex;gap:22px;justify-content:center;margin-top:52px;flex-wrap:wrap}

.solucoes{background:var(--darker)}
.solgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:54px}
.scard{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/4.5;display:flex;align-items:flex-end;color:#fff}
.scard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.4s}
.scard:hover img{transform:scale(1.06)}
.scard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.8) 100%)}
.scard .lab{position:relative;z-index:2;padding:24px;width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.scard h3{font-size:1.24rem;line-height:1.18;font-weight:700;max-width:9ch;min-height:2.36em;display:flex;align-items:flex-end}
.scard .arr{width:40px;height:40px;border-radius:9px;background:var(--amber);display:grid;place-items:center;flex:0 0 auto}
.scard .arr svg{width:18px;height:18px;color:#241a02}

.diffs{background:var(--amber);color:#241a02}
.diffs h2{color:#241a02;text-align:center;max-width:840px;margin:0 auto}
.dgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:46px 30px;margin-top:64px}
.diff{position:relative;padding-top:18px}
.diff .num{position:absolute;top:30px;left:-6px;font-family:var(--display);font-weight:900;font-size:5.6rem;line-height:1;color:var(--orange-2);opacity:.45;z-index:0}
.diff h3{position:relative;z-index:1;font-size:1.4rem;margin-bottom:8px;font-weight:700}
.diff p{position:relative;z-index:1;font-size:1rem;color:#3a2c06;font-weight:300}
.diffs .close{text-align:center;margin-top:60px;font-size:1.18rem;font-weight:400;max-width:62ch;margin-left:auto;margin-right:auto}

.setores{background:#fff}
.setores .section-title{color:var(--orange)}
.setbands{margin-top:52px;display:flex;flex-direction:column;gap:14px}
.setband{position:relative;display:flex;align-items:center;min-height:130px;border-radius:var(--radius);overflow:hidden;color:#fff}
.setband img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.setband::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,20,20,.9) 0%,rgba(20,20,20,.5) 45%,rgba(20,20,20,.05) 100%)}
.setband .c{position:relative;z-index:2;padding:24px 40px}
.setband h3{font-size:1.9rem;font-weight:900}
.setband .bignum{position:absolute;right:40px;top:50%;transform:translateY(-50%);z-index:2;font-family:var(--display);font-weight:900;font-size:4rem;color:var(--amber);opacity:.5}

.portfolio{background:var(--grey-bg)}
.portfolio .section-title{color:var(--orange)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}
.pcard{border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.09);background:#fff}
.pcard img{height:210px;width:100%;object-fit:cover;background:#e8e8e8}
.pcard .b{padding:22px 24px 26px}
.pcard h3{color:#23272A;font-size:1.2rem;font-weight:700;margin-bottom:12px}
.pcard .meta{display:flex;align-items:center;gap:9px;font-size:.95rem;color:#2e3236;margin-bottom:7px;font-weight:500}
.pcard .meta svg{width:18px;height:18px;color:#272727;flex:0 0 auto}
.pcard .svc{display:flex;align-items:center;gap:9px;font-size:.92rem;color:#5b5f63;font-weight:300}
.pcard .svc svg{width:18px;height:18px;color:#272727;flex:0 0 auto}

.logos{background:#fff;padding-bottom:150px}
.logos .section-title{color:var(--orange);max-width:none;white-space:nowrap}
.logogrid{display:grid;grid-template-columns:repeat(6,1fr);gap:50px 70px;margin-top:54px;align-items:center}
.logogrid img{height:112px;width:auto;margin:0 auto;object-fit:contain}

.ctaband{background:var(--dark);color:#fff;text-align:center;padding-bottom:150px}
.ctaband h2{color:var(--offwhite);max-width:820px;margin:0 auto 30px}

.form-sec{background:var(--amber);color:#241a02;position:relative;isolation:isolate}
.form-sec::after{content:"";position:absolute;inset:0;background:rgba(245,168,0,.82);z-index:0;pointer-events:none}
.form-sec>.wrap{position:relative;z-index:5}
.helmet-wrap{position:relative;height:0}
.helmet{width:480px;position:absolute;left:50%;transform:translateX(-50%);top:-70px;z-index:6}
.form-sec h2{text-align:center;color:#241a02;max-width:760px;margin:0 auto 10px}
.form-sec .lead{text-align:center;max-width:none;margin:0 auto 40px;color:#241a02;font-weight:400;white-space:nowrap}
.nform{max-width:880px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:24px 30px}
.field{display:flex;flex-direction:column}
.field.full{grid-column:1/-1}
.field label{font-family:var(--display);font-weight:600;font-size:.86rem;margin-bottom:7px}
.field input,.field select,.field textarea{background:transparent;border:none;border-bottom:1.5px solid rgba(36,26,2,.55);padding:11px 2px;font-family:var(--body);font-size:1rem;color:#241a02;outline:none}
.field textarea{min-height:90px;resize:vertical;border:1.5px solid rgba(36,26,2,.45);border-radius:8px;padding:11px 12px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#241a02}
.field input::placeholder,.field textarea::placeholder{color:rgba(36,26,2,.55)}
.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.tags input{position:absolute;opacity:0;width:0;height:0}
.tags label{cursor:pointer;border:1.5px solid rgba(36,26,2,.55);border-radius:999px;padding:8px 16px;font-size:.9rem;font-weight:400;transition:.15s;user-select:none}
.tags input:checked + label{background:#241a02;color:var(--amber);border-color:#241a02}
.form-sec .submit-row{grid-column:1/-1;display:flex;justify-content:center;margin-top:14px}

.site-footer{background:var(--darker);color:#c4c8c5;padding:84px 0 36px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.foot-logo{height:40px;margin-bottom:16px}
.slogan{font-style:italic;color:#9aa09c;max-width:34ch;font-weight:300}
.site-footer h4{font-family:var(--display);color:#fff;font-size:1rem;margin-bottom:16px;font-weight:700}
.site-footer a{display:block;color:#c4c8c5;margin-bottom:8px;font-size:.95rem;font-weight:300}
.site-footer a:hover{color:var(--amber)}
.socials{display:flex;gap:14px;margin-top:18px}
.socials a{width:42px;height:42px;min-width:42px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;transition:.2s}
.socials a:hover{background:var(--amber)}
.socials svg{width:20px;height:20px;color:#fff}
.socials a:hover svg{color:#241a02}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:48px;padding-top:22px;text-align:center;font-size:.85rem;color:#8a8f8b;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.foot-bottom a.cogu{display:inline-flex;align-items:center;gap:6px;color:var(--amber);font-weight:500}
.foot-bottom a.cogu img{height:20px}

@media(max-width:980px){
  .pillars,.solgrid,.dgrid,.pgrid{grid-template-columns:repeat(2,1fr)}
  .logogrid{grid-template-columns:repeat(3,1fr)}
  .problema .grid{grid-template-columns:1fr;gap:36px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .hero-inner{text-align:left}
  .logos .section-title,.form-sec .lead{white-space:normal}
  .header-social{display:none}
}
@media(max-width:620px){
  .sec{padding:64px 0}
  .nav{display:none}.burger{display:block}
  .solgrid,.dgrid,.pgrid,.logogrid,.nform{grid-template-columns:1fr}
  .hero{height:560px}
  .helmet{width:250px;top:-36px}
}

/* ===== Página "Quem somos" ===== */
.hero.short{min-height:60vh}
.splitgrid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.splitgrid img{border-radius:var(--radius);width:100%;height:100%;max-height:480px;object-fit:cover}
.ambersec{background:var(--amber);color:#241a02}
.ambersec h2{color:#241a02}
.ambersec .lead{max-width:64ch;margin:22px auto 0;text-align:center;font-weight:300;color:#3a2c06}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:56px}
.stat{background:var(--dark-2);border-radius:var(--radius);padding:42px 24px;text-align:center}
.stat b{display:block;font-family:var(--display);font-weight:900;font-size:3rem;color:var(--amber);line-height:1}
.stat span{display:block;margin-top:12px;color:#cfd3d0;font-size:.98rem;font-weight:300}
.stat small{color:#8a8f8b;font-size:.78rem}
.worktrio{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:48px}
.workcard{background:#fff;border:1px solid #e6e6e6;border-radius:var(--radius);padding:34px 30px}
.workcard h3{color:var(--ink);font-size:1.28rem;margin-bottom:12px;font-weight:700}
.workcard p{color:#4a4e52;font-weight:300;font-size:1rem}
.logostrip{background:#fff;border-radius:var(--radius);padding:36px 30px;margin:48px auto 0;display:grid;grid-template-columns:repeat(7,1fr);gap:30px;align-items:center}
.logostrip img{height:70px;width:auto;margin:0 auto;object-fit:contain}
.states{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}
.state{background:var(--amber);color:#241a02;font-family:var(--display);font-weight:700;padding:14px 30px;border-radius:12px;font-size:1.25rem}
@media(max-width:980px){
  .splitgrid{grid-template-columns:1fr;gap:34px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .worktrio{grid-template-columns:1fr}
  .logostrip{grid-template-columns:repeat(4,1fr);gap:24px}
}

/* ===== Rodapé rico (Nosso Escritório) ===== */
.office p{display:flex;gap:10px;align-items:flex-start;margin-bottom:13px;font-weight:300;font-size:.95rem;color:#c4c8c5;line-height:1.5}
.office p svg{width:18px;height:18px;color:var(--amber);flex:0 0 auto;margin-top:3px}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:48px;padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:16px 28px;flex-wrap:wrap;font-size:.85rem;color:#8a8f8b}
.foot-bottom .legal{display:flex;gap:20px;flex-wrap:wrap}
.foot-bottom .legal a{color:#8a8f8b;margin:0;display:inline}
.foot-bottom .legal a:hover{color:var(--amber)}
.foot-bottom .credit{display:flex;align-items:center;gap:8px}
.foot-bottom .credit a.cogu{display:inline-flex;align-items:center}
.foot-bottom .credit a.cogu img{height:20px}

/* detalhe (slashes) decorando a foto da História */
.histgrid{position:relative}
.histgrid .photo{position:relative}
.histgrid .photo .detalhe{position:absolute;width:88px;bottom:-22px;right:-18px;z-index:0}
.histgrid .photo img{position:relative;z-index:1}

@media(max-width:700px){
  .foot-bottom{flex-direction:column;text-align:center}
}

/* ===== Ícones reais (máscara recolorível) ===== */
.micon{display:inline-block;background:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;flex:0 0 auto}
.ic-capacete{-webkit-mask-image:url(../assets/icones/capacete.svg);mask-image:url(../assets/icones/capacete.svg)}
.ic-escavadeira{-webkit-mask-image:url(../assets/icones/escavadeira.svg);mask-image:url(../assets/icones/escavadeira.svg)}
.ic-whatsapp{-webkit-mask-image:url(../assets/icones/whatsapp.svg);mask-image:url(../assets/icones/whatsapp.svg)}
.btn .micon{width:20px;height:20px}
.pcard .svc .micon{width:17px;height:17px}

/* foot-bottom: legal à esquerda, crédito à direita */
.foot-bottom{display:block;padding-left:0;padding-right:0}
.foot-bottom>.wrap{display:flex;justify-content:center;align-items:center;gap:14px 28px;flex-wrap:wrap;padding:0}

/* ===== Ajustes respiro/contraste (rodada 26/06 noite) ===== */
.hero h1,.hero p{text-shadow:0 2px 18px rgba(0,0,0,.5)}
.solucoes{padding-bottom:172px}
.setores{padding-bottom:172px}
.setsub{text-align:center;max-width:64ch;margin:18px auto 0;color:#5b5f63;font-weight:300;font-size:1.06rem}
.portfolio{padding-bottom:172px}
.logos{padding-bottom:184px}
.site-footer{padding:112px 0 0}
.foot-bottom{background:#141414;border-top:none;margin-top:72px;padding:26px 0}
.foot-bottom>.wrap{padding:0 28px}

/* hero curto (Sobre) altura fixa */
.hero.short{height:460px;min-height:0}
/* botão de CTA no hover de cada setor */
.setband .setcta{position:absolute;right:40px;top:50%;transform:translateY(-50%) translateX(12px);opacity:0;pointer-events:none;transition:.28s;z-index:4;display:inline-flex;align-items:center;gap:9px;background:var(--amber);color:#241a02;font-family:var(--display);font-weight:600;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;padding:13px 24px;border-radius:999px;white-space:nowrap}
.setband .setcta svg{width:17px;height:17px;flex:0 0 auto}
.setband:hover .setcta{opacity:1;transform:translateY(-50%);pointer-events:auto}
.setband:hover .bignum{opacity:0}
.setband:hover::after{background:linear-gradient(90deg,rgba(20,20,20,.92) 0%,rgba(20,20,20,.66) 55%,rgba(20,20,20,.35) 100%)}
/* alinhamento do logo Cogumelu com o texto */
.foot-bottom .credit{display:inline-flex;align-items:center;gap:7px}
.foot-bottom .credit a.cogu{display:inline-flex;align-items:center}
.foot-bottom .credit a.cogu img{height:17px;display:block}

/* botão outline escuro (WhatsApp no fundo amarelo) */
.btn-outline-dark{background:transparent;color:#241a02;border:1.6px solid #241a02}
.btn-outline-dark:hover{background:#241a02;color:var(--amber)}
/* respiro maior abaixo dos botões dos diferenciais */
.diffs{padding-bottom:182px}
/* alinhamento fino do logo Cogumelu */
.foot-bottom .credit{align-items:center}
.foot-bottom .credit a.cogu img{height:16px;position:relative;top:1px}

/* ===== Sobre v3: capa mais baixa, foto da História maior + elemento na frente ===== */
.hero.short{height:400px}
.histgrid{align-items:center}
.histgrid .photo{position:relative}
.histgrid .photo>img{height:520px;width:100%;object-fit:cover;border-radius:var(--radius)}
.histgrid .photo .detalhe{position:absolute;width:104px;bottom:-24px;right:-20px;z-index:6}

/* ===== Sobre v4 ===== */
/* elemento (detalhe) menor, no canto, sem pegar no rosto */
.histgrid .photo{overflow:visible}
.histgrid .photo .detalhe{width:70px;bottom:-30px;right:-34px;z-index:6}

/* Números: design sofisticado, número grande branco + unidade âmbar pequena + label */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:60px}
.stat{background:transparent;border-radius:0;padding:10px 22px;text-align:center;position:relative}
.stat + .stat::before{content:"";position:absolute;left:0;top:14%;height:72%;width:1px;background:rgba(255,255,255,.13)}
.stat .big{font-family:var(--display);font-weight:900;font-size:clamp(2.6rem,5vw,4rem);color:var(--offwhite);line-height:1;display:inline-flex;align-items:flex-start;gap:3px}
.stat .big .u{color:var(--amber);font-size:1.45rem;font-weight:700;margin-top:8px}
.stat .lab{margin-top:16px;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:#9aa09c;font-weight:500;line-height:1.5}

/* Como trabalha: 6 cards */
.worktrio{grid-template-columns:repeat(3,1fr);gap:24px}
.workcard{position:relative;padding:32px 28px}
.workcard .wnum{font-family:var(--display);font-weight:900;color:var(--amber);font-size:1.1rem;margin-bottom:10px;display:block}

/* logos maiores + respiro inferior na seção de clientes */
.ambersec{padding-bottom:176px}
.logostrip img{height:92px}

/* Mapa ilustrativo de atuação */
.mapwrap{position:relative;background:linear-gradient(160deg,#23272A,#15181a);border-radius:var(--radius);height:440px;overflow:hidden;border:1px solid #0e1011}
.mapwrap .grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:38px 38px}
.mapwrap .blob{position:absolute;width:62%;height:78%;left:19%;top:11%;background:radial-gradient(ellipse at 50% 40%,rgba(245,168,0,.10),transparent 70%);border-radius:46% 54% 50% 50%/40% 44% 56% 60%;border:1.5px dashed rgba(245,168,0,.35)}
.pin{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:4px;z-index:2}
.pin .dot{width:26px;height:26px;color:var(--amber);filter:drop-shadow(0 3px 6px rgba(0,0,0,.45))}
.pin .lab{background:#fff;color:#23272A;border-radius:7px;padding:3px 9px;font-size:.68rem;font-weight:600;white-space:nowrap;box-shadow:0 3px 10px rgba(0,0,0,.3)}
.pin.lg .dot{width:34px;height:34px}
.mapnote{margin-top:14px;text-align:center;font-size:.82rem;color:#9aa09c;font-weight:300}

/* ===== Sobre v5 ===== */
/* números todos brancos */
.stat .big .u{color:var(--offwhite)}
.stat .lab{color:#cfd3d0}
.stat + .stat::before{background:rgba(255,255,255,.16)}
/* cards com ícone line âmbar (no lugar dos números) */
.worktrio .wicon{width:44px;height:44px;color:var(--amber);margin-bottom:16px;display:block}
.worktrio .wicon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* foto da História mais retangular + elemento bem menor */
.histgrid .photo>img{height:400px}
.histgrid .photo .detalhe{width:52px;bottom:-18px;right:-22px}
/* mapa em faixa de largura total */
.mapband{width:100%;margin-top:54px}
.mapband img{width:100%;display:block}
.mapband + .mapnote{margin-top:14px}
/* alinhamento do logo Cogumelu */
.foot-bottom .credit{display:inline-flex;align-items:center;gap:7px;line-height:1}
.foot-bottom .credit a.cogu{display:inline-flex;align-items:center}
.foot-bottom .credit a.cogu img{height:16px;display:block;position:static;top:auto}

/* ===== Sobre v6: corrige tamanho do detalhe.svg na História ===== */
.histgrid .photo>img:not(.detalhe){height:340px;width:100%;object-fit:cover;border-radius:var(--radius)}
.histgrid .photo .detalhe{width:80px!important;height:auto!important;bottom:-24px;right:-22px;z-index:6;border-radius:0}

/* ============================================================
   RESPONSIVO — passada completa (tablet + mobile)
   ============================================================ */
@media(max-width:980px){
  .sec{padding:88px 0}
  .pillars,.solgrid,.dgrid,.pgrid,.setgrid{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr);gap:36px 0}
  .stat+.stat::before{display:none}
  .worktrio{grid-template-columns:repeat(2,1fr)}
  .logostrip{grid-template-columns:repeat(4,1fr);gap:30px}
  .logogrid{grid-template-columns:repeat(3,1fr)}
  .problema .grid{grid-template-columns:1fr;gap:34px}
  .problema h2,.problema .txt{text-align:left}
  .problema p{margin-left:0;max-width:none}
  .foot-grid{grid-template-columns:1fr 1fr}
  .hero-inner{text-align:left;max-width:none;margin-left:0}
  .logos .section-title,.solucoes .section-title,.form-sec .lead,.section-title{white-space:normal}
  .header-social{display:none}
  .helmet{width:300px;top:-44px}
  .scard h3{max-width:none}
}
@media(max-width:620px){
  html,body{overflow-x:hidden}
  .sec{padding:62px 0}
  .wrap{padding:0 20px}
  .burger{display:block}
  .nav{position:absolute;top:88px;left:0;right:0;background:var(--dark);flex-direction:column;align-items:flex-start;gap:2px;padding:12px 24px 20px;display:none;box-shadow:0 14px 26px rgba(0,0,0,.35)}
  .nav>a{width:100%;padding:11px 0;font-size:1.05rem;opacity:1}
  .nav>a.active{border:none;color:var(--amber)}
  .pillars,.solgrid,.dgrid,.pgrid,.setgrid,.logogrid,.nform,.worktrio{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr);gap:34px 10px}
  .logostrip{grid-template-columns:repeat(3,1fr);gap:24px;padding:26px}
  .logostrip img{height:64px}
  .logogrid img{height:78px}
  .foot-grid{grid-template-columns:1fr;gap:30px}
  .foot-bottom>.wrap{flex-direction:column;text-align:center;gap:12px}
  .hero{height:auto;min-height:540px;padding:120px 0 60px}
  .hero.short{height:auto;min-height:330px;padding:120px 0 40px}
  .hero-inner{margin-top:0!important}
  .cta-row{gap:14px}
  .btn{padding:13px 22px;font-size:.76rem}
  .pillar,.workcard{padding:30px 24px}
  .diff{padding-top:14px}
  .diff .num{font-size:4.2rem;top:24px}
  .stat .big{font-size:2.6rem}
  .scard{aspect-ratio:16/10}
  .scard h3{max-width:none}
  .setband{min-height:120px}
  .setband .bignum{display:none}
  .setband .setcta{position:static;transform:none;opacity:1;pointer-events:auto;margin-top:14px;font-size:.66rem;padding:10px 16px}
  .setband .c{padding:20px 22px}
  .helmet{width:220px;top:-30px}
  .mapband{margin-top:34px}
  .histgrid .photo>img:not(.detalhe){height:300px}
  .problema p{font-size:1rem}
}

/* História: texto menor */
.histgrid p{font-size:.95rem;line-height:1.6}

/* form-body: respiro do capacete (era inline 250px) */
.form-body{padding-top:180px}

/* ============================================================
   MOBILE v2 — ajustes João (Home)
   ============================================================ */
@media(max-width:620px){
  /* hero: título menor + subtítulo em 2 linhas */
  .hero .h1{font-size:2.15rem;line-height:1.05}
  .hero p{font-size:1rem;margin:14px 0 24px;line-height:1.6}

  /* respiros simétricos (topo = base) em todas as seções */
  .sec{padding:56px 0}
  .solucoes,.setores,.portfolio,.logos,.diffs,.ctaband{padding-top:56px;padding-bottom:56px}
  .site-footer{padding-top:64px}
  .form-body{padding-top:150px}
  .form-sec{padding-bottom:80px!important}

  /* transição hero -> problema sem cunha (recorte reto) */
  .problema.cut::before{display:none}

  /* 2 cards por linha: pilares, soluções, diferenciais */
  .pillars,.solgrid,.dgrid{grid-template-columns:repeat(2,1fr);gap:14px}
  .pillar{padding:26px 16px}
  .pillar .ic{width:46px;height:46px;margin-bottom:12px}
  .pillar h3{font-size:1.04rem}
  .pillar p{font-size:.86rem}
  .scard{aspect-ratio:3/3.5}
  .scard .lab{padding:16px}
  .scard h3{font-size:1.02rem;min-height:0;max-width:none}
  .scard .arr{width:34px;height:34px}
  .dgrid{gap:30px 16px}
  .diff{padding-top:16px}
  .diff .num{font-size:3.2rem;top:16px}
  .diff h3{font-size:1.16rem}
  .diff p{font-size:.9rem}

  /* setores: sem botão, bands mais baixas */
  .setband{min-height:92px}
  .setband .setcta{display:none}
  .setband .bignum{display:none}
  .setband h3{font-size:1.5rem}
  .setband .c{padding:18px 22px}

  /* logos: 3 por linha */
  .logogrid{grid-template-columns:repeat(3,1fr);gap:28px 16px}
  .logogrid img{height:52px}

  /* capacete maior */
  .helmet{width:320px;top:-26px}
}

/* ============================================================
   MOBILE v2 — ajustes João (Sobre + rodapé compartilhado)
   ============================================================ */
@media(max-width:620px){
  /* História: foto mais retangular + elemento menor */
  .histgrid .photo>img:not(.detalhe){height:215px}
  .histgrid .photo .detalhe{width:50px!important;bottom:-16px;right:-16px}

  /* Como a Nobra trabalha: 2 cards por linha */
  .worktrio{grid-template-columns:repeat(2,1fr);gap:14px}
  .workcard{padding:22px 16px}
  .workcard h3{font-size:1.04rem}
  .workcard p{font-size:.84rem}
  .worktrio .wicon{width:38px;height:38px;margin-bottom:12px}

  /* respiros simétricos nas seções da Sobre */
  .ambersec{padding-top:56px;padding-bottom:56px}
  .ctaband{padding-top:56px;padding-bottom:56px}

  /* mapa: zoom (mais alto) sem cortar a parte de baixo */
  .mapband{margin-top:30px}
  .mapband img{height:360px;object-fit:cover;object-position:center bottom}

  /* rodapé: endereço em fonte menor */
  .office p{font-size:.74rem;gap:7px;line-height:1.45}
  .office p svg{width:15px;height:15px;margin-top:2px}
}

/* ===== Mobile v3 — ajustes João (Home, 27/06 tarde) ===== */
@media(max-width:620px){
  /* capa: cropar pra mostrar os engenheiros (lado esquerdo da foto) */
  .hero{background-position:left center}
  /* recorte triangular capa->seção 2 reativado, com bico no lado claro (esquerda) */
  .problema.cut::before{display:block;height:34px;min-height:0;
    clip-path:polygon(0 0,28% 100%,100% 0,100% 100%,0 100%)}
  /* respiros gerais maiores (topo = base) */
  .sec{padding:80px 0}
  .solucoes,.setores,.portfolio,.logos,.diffs,.ctaband,.ambersec{padding-top:80px;padding-bottom:80px}
}

/* ===== Mobile v4 — ajustes João (Sobre + rodapé, 27/06) ===== */
@media(max-width:620px){
  /* margem lateral um pouco maior (vale p/ texto da História e geral) */
  .wrap{padding:0 24px}

  /* rodapé: 3 links legais em UMA linha */
  .foot-bottom>.wrap{flex-direction:column;gap:10px}
  .foot-bottom .legal{flex-wrap:nowrap;justify-content:center;gap:10px;font-size:.7rem}
  .foot-bottom .legal a{white-space:nowrap}

  /* crédito Cogumelu alinhado */
  .foot-bottom .credit{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;line-height:1;font-size:.74rem}
  .foot-bottom .credit a.cogu{display:inline-flex;align-items:center;height:14px}
  .foot-bottom .credit a.cogu img{height:14px;display:block}
}

/* ===== Mobile v4-fix — legal em 1 linha sem estourar ===== */
@media(max-width:620px){
  .foot-bottom>.wrap{padding:0 16px}
  .foot-bottom .legal{font-size:.66rem;gap:9px;flex-wrap:nowrap;max-width:100%}
}

/* ============================================================
   PADRÃO DE ESPAÇAMENTO — Cogumelu (mobile) — v5
   Tokens únicos: respiro de seção, ritmo interno e recorte.
   ============================================================ */
@media(max-width:620px){
  :root{
    --sec-top:90px;    /* respiro SUPERIOR de toda seção */
    --sec-bot:100px;   /* respiro INFERIOR (um pouco maior que o superior) */
    --cut-h:28px;     /* altura do recorte diagonal entre seções */
    --rhythm:34px;    /* título/sub -> bloco de conteúdo (grids) */
    --rhythm-sm:18px; /* título -> subtítulo/lead */
  }
  /* respiro de seção: inferior > superior */
  .sec{padding:var(--sec-top) 0 var(--sec-bot)}
  .ambersec,.ctaband,.solucoes,.setores,.portfolio,.logos,.diffs{
    padding-top:var(--sec-top);padding-bottom:var(--sec-bot)}
  /* recorte diagonal com mesma altura em todas as seções */
  .cut::before{height:var(--cut-h);min-height:0}
  .problema.cut::before{height:var(--cut-h)}
  /* ritmo interno uniforme */
  .stats,.worktrio,.logostrip,.solgrid,.dgrid,.pgrid,.pillars,.setbands{margin-top:var(--rhythm)}
  .section-sub,.lead{margin-top:var(--rhythm-sm)}
  /* rodapé: links legais menores e com respiro lateral
     (mirar no <a> — .site-footer a impõe .95rem e venceria o container) */
  .foot-bottom .legal{gap:9px;padding:0 10px}
  .foot-bottom .legal a{font-size:.64rem;white-space:nowrap}
}

/* form (home): respiro maior entre o título e o formulário */
.form-sec .nform{margin-top:40px}

/* ===== Desktop (≥621px) — ajustes João ===== */
@media(min-width:621px){
  /* form: respiro título->formulário um pouco maior */
  .form-sec .nform{margin-top:64px}
  /* logo Cogumelu no rodapé: estava um tico pra cima -> desce 2px */
  .foot-bottom .credit a.cogu img{position:relative;top:4px}
}

/* ===== Desktop (≥621px) — rodapé margem esq. + capacete maior ===== */
@media(min-width:621px){
  /* rodapé: margem à esquerda um pouco maior no bloco principal */
  .site-footer .foot-grid{padding-left:32px}
  /* capacete do formulário maior */
  .helmet{width:580px;top:-84px}
  .form-body{padding-top:215px}
}

/* ============================================================
   SISTEMA DE ESPAÇAMENTO — autoritativo (home + sobre, desktop + mobile)
   Regra: respiro INFERIOR > superior, médio-grande, igual em todas.
   ============================================================ */
:root{ --sec-top:116px; --sec-bot:156px; }
@media(max-width:620px){ :root{ --sec-top:84px; --sec-bot:120px; } }

.sec,.problema,.solucoes,.setores,.portfolio,.logos,.diffs,.ctaband,.ambersec{
  padding-top:var(--sec-top)!important;
  padding-bottom:var(--sec-bot)!important;
}
/* exceção: seção do mapa = full-bleed embaixo (mapa colado na CTA) */
.mapsec{ padding-bottom:0!important; }

/* Sobre/mobile: logos 2 por linha, último centralizado */
@media(max-width:620px){
  .logostrip{grid-template-columns:repeat(2,1fr);gap:26px 18px}
  .logostrip img:last-child{grid-column:1/-1}
}

/* logos Sobre/mobile um pouco maiores */
@media(max-width:620px){ .logostrip img{height:82px} }

/* hero mobile: texto e botão centralizados */
@media(max-width:620px){
  .hero-inner{text-align:center;margin-left:auto;margin-right:auto}
}

/* rodapé legal mobile: fonte maior (pode quebrar em 2 linhas, centralizado) */
@media(max-width:620px){
  .foot-bottom .legal{flex-wrap:wrap;justify-content:center;gap:8px 16px}
  .foot-bottom .legal a{font-size:.8rem;white-space:nowrap}
}
/* logo Cogumelu: desce 2px pra alinhar com o texto do crédito (todas as telas) */
.foot-bottom .credit a.cogu img{position:relative;top:4px}

/* ============================================================
   PÁGINAS DE SERVIÇO — molde (1ª: Adequações Industriais)
   Reaproveita hero, .problema, .dark/.pillars, .diffs, .portfolio,
   .ctaband e .form-sec. Aqui só os componentes novos.
   ============================================================ */

/* PUV: ícones de método em linha âmbar (inline svg) nos pilares */
.pillar .picon{width:52px;height:52px;margin:0 auto 18px;color:var(--amber);display:block}
.pillar .picon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* BLOCO "O que inclui" — lista de escopo em 2 colunas (fundo branco) */
.inclui{background:#fff}
.inclui .section-title{color:var(--orange)}
.inclui .section-sub{color:#4a4e52}
.inc-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;margin-top:var(--rhythm,44px);max-width:960px;margin-left:auto;margin-right:auto}
.inc-item{display:flex;align-items:center;gap:16px;padding:19px 4px;border-bottom:1px solid #e9e9e9;font-size:1.04rem;font-weight:400;color:#2e3236;line-height:1.4}
.inc-item .chk{width:30px;height:30px;flex:0 0 auto;border-radius:8px;background:var(--amber);display:grid;place-items:center}
.inc-item .chk svg{width:15px;height:15px;color:#241a02}

/* "Por que a Nobra" numerado (5 itens) — 3 colunas no desktop */
.diffs.why .dgrid{grid-template-columns:repeat(3,1fr)}

/* svc das cases com ícone line (mesmo estilo do site) */
.pcard .svc svg{width:18px;height:18px;color:#272727;flex:0 0 auto}

@media(max-width:980px){
  .diffs.why .dgrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .diffs.why .dgrid{grid-template-columns:1fr}
  .inc-grid{grid-template-columns:1fr;gap:0}
  .pillar .picon{width:44px;height:44px;margin-bottom:12px}
}

/* ============================================================
   LANDING DE SERVIÇO v2 — apresentações próprias (≠ home)
   Hero split + form grafite · Risco editorial · Método stepper
   · Por que (2 col escuro). Mantém .inc-grid / .portfolio / .form-sec.
   ============================================================ */

/* ---- HERO split com formulário grafite na capa ---- */
.hero.svc{height:auto;min-height:680px;padding:130px 0 96px;align-items:center}
.svc-hero{display:grid;grid-template-columns:1.04fr .96fr;gap:54px;align-items:center;width:100%}
.svc-hero-copy h1{color:var(--offwhite)}
.svc-hero-copy>p{font-size:clamp(1.05rem,1.6vw,1.28rem);margin:18px 0 26px;color:#fff;font-weight:300;line-height:1.7}
.hero-proof{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.hero-proof li{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:500;color:#eaeaea;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);padding:8px 14px;border-radius:999px}
.hero-proof li svg{width:15px;height:15px;color:var(--amber);flex:0 0 auto}
.svc-form-card{background:#1f2123;border:1px solid #34373a;border-radius:16px;padding:32px 30px;box-shadow:0 26px 64px rgba(0,0,0,.45)}
.svc-form-card h3{color:#fff;font-size:1.4rem;font-weight:700;line-height:1.18;margin-bottom:6px}
.svc-form-card .sub{color:#aeb2b6;font-size:.92rem;font-weight:300;margin-bottom:22px}
.svc-form-card .field{margin-bottom:15px}
.svc-form-card label{display:block;color:#c9cdd0;font-size:.76rem;font-weight:600;letter-spacing:.02em;margin-bottom:6px}
.svc-form-card input{width:100%;background:#15171a;border:1px solid #3a3d40;border-radius:9px;padding:13px 14px;color:#fff;font-family:var(--body);font-size:.95rem;outline:none;transition:.18s}
.svc-form-card input:focus{border-color:var(--amber)}
.svc-form-card input::placeholder{color:#6c7074}
.svc-form-card .btn{width:100%;justify-content:center;margin-top:6px}
.svc-form-card .note{margin-top:13px;text-align:center;font-size:.74rem;color:#8a8f93;font-weight:300}

/* ---- BLOCO "O que está em jogo" — risco editorial (claro) ---- */
.risco{background:#fff}
.eyebrow{display:inline-block;font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:16px}
.risco-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.risco-lead h2{color:var(--ink);text-align:left;max-width:none}
.risco-lead p{margin-top:20px;color:#3c4044;font-weight:300;font-size:1.06rem;max-width:54ch}
.risco-list{display:flex;flex-direction:column}
.risco-item{display:flex;gap:20px;align-items:flex-start;padding:24px 2px;border-top:1px solid #e6e6e6}
.risco-item:last-child{border-bottom:1px solid #e6e6e6}
.risco-item .rnum{font-family:var(--display);font-weight:900;font-size:1.5rem;color:var(--amber);line-height:1.1;min-width:40px}
.risco-item h4{font-size:1.18rem;font-weight:700;color:var(--ink);margin-bottom:6px}
.risco-item p{color:#5b5f63;font-weight:300;font-size:.98rem;margin:0;max-width:none}

/* ---- BLOCO "Como entramos" — método em stepper 01–04 (escuro) ---- */
.metodo .section-sub{color:#b9bdba}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:60px}
.step{position:relative;padding-top:42px}
.step::before{content:"";position:absolute;top:8px;left:1px;width:15px;height:15px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 5px rgba(245,168,0,.16);z-index:2}
.step::after{content:"";position:absolute;top:15px;left:20px;right:-28px;height:2px;background:repeating-linear-gradient(90deg,rgba(245,168,0,.6) 0 7px,transparent 7px 14px);z-index:1}
.step:last-child::after{display:none}
.step .snum{font-family:var(--display);font-weight:900;font-size:2.4rem;color:rgba(255,255,255,.13);line-height:1;display:block;margin-bottom:6px}
.step h3{color:#fff;font-size:1.16rem;font-weight:700;margin-bottom:8px}
.step p{color:#b9bdba;font-weight:300;font-size:.95rem}

/* ---- BLOCO "Por que a Nobra" — 2 colunas escuro ---- */
.porque{background:var(--darker);color:#cfd3d0}
.porque-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:58px;align-items:start}
.porque-head h2{color:#fff;text-align:left;max-width:none}
.porque-auth{margin-top:18px;color:#9aa09c;font-weight:300;font-size:1.02rem}
.porque-head .cta-col{display:flex;flex-direction:column;gap:14px;margin-top:30px;align-items:flex-start}
.porque-list{display:flex;flex-direction:column}
.porque-row{display:flex;gap:18px;align-items:flex-start;padding:22px 0;border-top:1px solid rgba(255,255,255,.1)}
.porque-row:last-child{border-bottom:1px solid rgba(255,255,255,.1)}
.porque-row .pic{width:30px;height:30px;flex:0 0 auto;color:var(--amber)}
.porque-row .pic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.porque-row h4{color:#fff;font-size:1.12rem;font-weight:700;margin-bottom:4px}
.porque-row p{color:#a7abae;font-weight:300;font-size:.96rem;margin:0}

/* ---- responsivo landing v2 ---- */
@media(max-width:980px){
  .svc-hero{grid-template-columns:1fr;gap:36px}
  .hero.svc{min-height:0;padding:120px 0 70px}
  .risco-grid{grid-template-columns:1fr;gap:34px}
  .steps{grid-template-columns:repeat(2,1fr);gap:34px 28px}
  .step::after{display:none}
  .porque-grid{grid-template-columns:1fr;gap:32px}
}
@media(max-width:620px){
  .svc-hero-copy{text-align:center}
  .hero-proof{justify-content:center}
  .svc-form-card{padding:26px 20px}
  .steps{grid-template-columns:1fr;gap:24px}
  .step{padding-top:0;padding-left:34px}
  .step::before{top:6px;left:0}
  .step .snum{font-size:2rem}
}

/* ===== Ajustes João (27/06 noite) — landing Adequações ===== */
/* (3) Método agora é seção ÂMBAR (era escura) — texto/dots/conector escuros */
.metodo{background:var(--amber);color:#241a02}
.metodo .section-title{color:#241a02}
.metodo .section-sub{color:#3a2c06}
.metodo .step .snum{color:var(--orange-2);opacity:.5}
.metodo .step h3{color:#241a02}
.metodo .step p{color:#4a3a08}
.metodo .step::before{background:#241a02;box-shadow:0 0 0 5px rgba(36,26,2,.12)}
.metodo .step::after{background:repeating-linear-gradient(90deg,rgba(36,26,2,.55) 0 7px,transparent 7px 14px)}
/* WhatsApp na seção âmbar vira outline escuro (btn-orange sumiria no âmbar) */
.metodo .btn-orange{background:transparent;color:#241a02;border:1.6px solid #241a02}
.metodo .btn-orange:hover{background:#241a02;color:var(--amber)}
.metodo .steps{position:relative}

/* (4) "Por que a Nobra" no cinza-grafite #272727 (era #1D1D1D) */
.porque{background:#272727}

/* (2) Mobile: ligar os pontos do stepper com LINHA VERTICAL */
@media(max-width:620px){
  .metodo .step{position:relative;padding-top:0;padding-left:36px;padding-bottom:6px}
  .metodo .step::before{top:2px;left:0}
  .metodo .step::after{display:block;content:"";position:absolute;left:6px;top:18px;bottom:-20px;right:auto;width:2px;height:auto;
    background:repeating-linear-gradient(180deg,rgba(36,26,2,.5) 0 6px,transparent 6px 12px)}
  .metodo .step:last-child::after{display:none}
}

/* ===== Dropdown Serviços no header (add: páginas internas) ===== */
.nav .has-drop{position:relative;display:flex;align-items:center;padding:14px 0}
.has-drop>a{display:inline-flex;align-items:center;gap:5px;font-family:var(--display);font-weight:500;font-size:.95rem;color:#fff;opacity:.92;transition:.2s;cursor:pointer}
.has-drop>a::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:.2s;opacity:.8}
.has-drop:hover>a,.has-drop>a.active{color:var(--amber);opacity:1}
.has-drop>a.active{border-bottom:2px solid var(--amber);padding-bottom:4px}
.drop{position:absolute;top:100%;left:-10px;min-width:262px;background:#1c1f22;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:8px;display:none;flex-direction:column;box-shadow:0 20px 44px rgba(0,0,0,.45);z-index:80}
.has-drop:hover .drop{display:flex}
.drop a{display:block;padding:10px 13px;border-radius:8px;color:#e9edf0;font-family:var(--display);font-weight:400;font-size:.9rem;white-space:nowrap;opacity:.9;transition:.15s}
.drop a:hover{background:rgba(245,168,0,.14);color:var(--amber);opacity:1}
@media(max-width:620px){
  .nav .has-drop{flex-direction:column;align-items:flex-start;width:100%;padding:0}
  .has-drop>a{width:100%;padding:11px 0;font-size:1.05rem;opacity:1}
  .has-drop>a::after{margin-left:auto}
  .drop{position:static;display:flex;background:transparent;border:none;box-shadow:none;padding:0 0 6px 14px;min-width:0;border-left:2px solid rgba(245,168,0,.35);margin-left:2px}
  .drop a{padding:9px 0;font-size:1rem}
}

/* ===== Portfólio ===== */
.pf-hero-copy{max-width:770px}
.pf-hero-copy .eyebrow{display:block;margin-bottom:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem}
.pf-hero-copy p{color:#d7dbde;font-weight:300;margin:14px 0 26px}
.pfilters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:6px 0 38px}
.pfilter{border:1.5px solid rgba(0,0,0,.16);background:#fff;color:#2a2d30;padding:8px 17px;border-radius:100px;font-family:var(--display);font-weight:500;font-size:.85rem;cursor:pointer;transition:.18s}
.pfilter:hover{border-color:var(--dark)}
.pfilter.active{background:var(--dark);color:#fff;border-color:var(--dark)}
@media(max-width:620px){ .pfilters{gap:8px} .pfilter{padding:7px 14px;font-size:.8rem} }

/* ===== Contato ===== */
.contato-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:900px;margin:0 auto}
.contato-card{display:block;background:#fff;border:1px solid #e6e6e6;border-radius:14px;padding:26px;text-decoration:none;color:var(--dark);transition:.2s}
.contato-card:hover{border-color:var(--amber);box-shadow:0 12px 30px rgba(0,0,0,.06);transform:translateY(-2px)}
.contato-card .ci{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;background:var(--amber);border-radius:10px;margin-bottom:12px}
.contato-card .ci svg{width:22px;height:22px;fill:#241a02}
.contato-card h4{margin:0 0 4px;font-family:var(--display)}
.contato-card p{margin:0;color:#555;font-weight:300;word-break:break-word}
/* ===== Ficha do case ===== */
.ficha{background:#f6f6f6;border-radius:14px;padding:8px 22px;align-self:start}
.ficha-row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #e4e4e4}
.ficha-row:last-child{border-bottom:none}
.ficha-row span{color:#777;font-weight:300}
.ficha-row strong{font-family:var(--display);text-align:right}
/* ===== Galeria do case ===== */
.galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gitem{display:block;overflow:hidden;border-radius:10px;aspect-ratio:4/3;background:#eee;cursor:pointer}
.gitem img{width:100%;height:100%;object-fit:cover;transition:.35s}
.gitem:hover img{transform:scale(1.05)}
.backlink{display:inline-block;color:#cfd3d0;text-decoration:none;font-weight:300;margin-bottom:14px;font-size:.9rem}
.backlink:hover{color:var(--amber)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:200;padding:30px}
.lightbox.on{display:flex}
.lightbox img{max-width:94vw;max-height:90vh;border-radius:6px}
.lb-close{position:absolute;top:18px;right:28px;color:#fff;font-size:2.4rem;cursor:pointer;line-height:1}
@media(max-width:620px){ .contato-grid{grid-template-columns:1fr} .galeria{grid-template-columns:repeat(2,1fr)} }

/* ===== Card de portfólio clicável (obra com página) ===== */
.pcard-link{text-decoration:none;color:inherit;display:block;transition:.2s}
.pcard-link:hover{transform:translateY(-3px)}
.pcard-cta{display:block;padding:0 20px 18px;margin-top:-4px;color:var(--orange);font-family:var(--display);font-weight:600;font-size:.86rem;transition:.2s}
.pcard-link:hover .pcard-cta{color:var(--orange-2)}
.pmore{text-align:center;margin-top:38px}
.foot-nav{display:flex;flex-wrap:wrap;gap:10px 28px;padding:22px 0;margin-top:6px;border-top:1px solid rgba(255,255,255,.09)}
.foot-nav a{color:#cfd3d0;text-decoration:none;font-family:var(--display);font-weight:400;font-size:.92rem;transition:.2s}
.foot-nav a:hover{color:var(--amber)}

/* Ajustes 01/07: título menor nas páginas pf-hero + respiro do menu de rodapé */
.pf-hero-copy .h1{font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.08}
.foot-nav{margin-top:46px;padding:28px 0 0}
@media(max-width:620px){ .pf-hero-copy .h1{font-size:1.8rem} .foot-nav{margin-top:34px;padding-top:22px;gap:8px 20px} }

/* Capa Contato/Trabalhe: descer o texto (respiro do header); Contato mais alta */
@media(min-width:621px){
  .hero-lower{padding-top:96px}
  .hero.short.hero-tall{height:470px}
}

/* Galeria "ver mais fotos" */
.gitem-more{display:none}
.galeria.expanded .gitem-more{display:block}
.pmore .vermais{cursor:pointer}

/* --- Mapa de atuação (Leaflet) --- */
.mapa-full{position:relative;width:100%;margin-top:36px}
.mapa-atuacao{height:520px;width:100%;background:#23272A;z-index:0}
.leaflet-container{background:#242928}
.mapa-atuacao .leaflet-tile-pane{opacity:.45}
.mapa-atuacao .pin{background:var(--orange);border:2px solid #23272A;border-radius:50%;box-shadow:0 0 0 2px #23272A;color:#23272A;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}
.mapa-atuacao .leaflet-tooltip.cid{background:#1b1e20;border:1px solid var(--orange);color:#fff;font-size:12px;font-weight:600;border-radius:6px;padding:3px 8px;box-shadow:none}
.mapa-atuacao .leaflet-tooltip.cid:before{display:none}
.mapa-atuacao .leaflet-control-attribution{background:rgba(27,30,32,.72);color:#9aa0a6;font-size:10px}
.mapa-atuacao .leaflet-control-attribution a{color:#c9cdd0}
.leaflet-popup-content-wrapper{background:#1b1e20;color:#e8eaed;border:1px solid #33383c;border-radius:10px}
.leaflet-popup-tip{background:#1b1e20;border:1px solid #33383c}
.mp-pop h4{margin:0;font-size:15px;color:#fff;font-weight:600}
.mp-pop .cnt{color:var(--orange);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin:2px 0 8px}
.mp-pop .e{border-top:1px solid #33383c;padding:6px 0;font-size:13px;display:flex;justify-content:space-between;gap:16px}
.mp-pop .e b{color:var(--orange);font-weight:600}
.mapa-nota{position:absolute;left:0;right:0;bottom:0;z-index:500;pointer-events:none;text-align:center;color:#e8eaed;font-size:.92rem;font-weight:300;padding:40px 16px 16px;background:linear-gradient(to top,rgba(20,22,24,.92),rgba(20,22,24,0))}
@media(max-width:640px){.mapa-atuacao{height:430px}}
