/*
Theme Name: Helucce Marcenaria
Theme URI: https://heluccemarcenaria.com.br
Author: Factor Marketing
Description: Tema customizado para a Helucce Marcenaria — site institucional de uma página, com edição de textos e imagens principais pelo Personalizar do WordPress.
Version: 1.0
Text Domain: helucce-marcenaria
*/


  :root{
    --charcoal:#423e3a;
    --charcoal-soft:#5c5650;
    --bronze:#8f765f;
    --bronze-light:#a8927d;
    --bronze-pale:#e2d6c8;
    --cream:#faf6f1;
    --cream-deep:#f1e8dd;
    --white:#ffffff;
    --line:rgba(66,62,58,0.14);
    --shadow:rgba(66,62,58,0.16);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{}
  body{
    font-family:'Montserrat',sans-serif;
    color:var(--charcoal);
    background:var(--cream);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;}
  .container{max-width:1180px;margin:0 auto;padding:0 32px;}
  section{position:relative;}

  .eyebrow{font-size:12px;font-weight:600;letter-spacing:0.28em;text-transform:uppercase;color:var(--bronze);}
  h1,h2,h3,h4{font-family:'Montserrat',sans-serif;color:var(--charcoal);line-height:1.15;font-weight:700;}
  h2{font-size:clamp(28px,3.6vw,44px); letter-spacing:-0.01em;}
  h3{font-size:20px; font-weight:600;}
  p{font-size:15.5px; line-height:1.75; color:var(--charcoal-soft); font-weight:400;}

  .divider{display:flex; align-items:center; gap:12px; margin:18px 0 26px;}
  .divider .diamond{width:7px;height:7px; background:var(--bronze); transform:rotate(45deg); flex-shrink:0;}
  .divider.center{justify-content:center;}
  .divider .wave{height:1px; width:70px; background:var(--line); position:relative;}

  .btn{display:inline-flex; align-items:center; gap:10px; padding:15px 30px; font-size:13px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; border-radius:2px; transition:all .3s ease; border:1px solid transparent; cursor:pointer;}
  .btn-primary{background:var(--charcoal); color:var(--cream);}
  .btn-primary:hover{background:var(--bronze);}
  .btn-outline{border-color:var(--charcoal); color:var(--charcoal);}
  .btn-outline:hover{background:var(--charcoal); color:var(--cream);}

  .reveal{opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* ---------- Nav ---------- */
  header{position:fixed; top:0; left:0; right:0; z-index:100; padding:24px 0; background:rgba(241,232,221,0.72); backdrop-filter:blur(6px); border-bottom:1px solid rgba(66,62,58,0.08); transition:background .35s ease, padding .35s ease, box-shadow .35s ease, border-color .35s ease;}
  header.scrolled{background:rgba(250,246,241,0.94); backdrop-filter:blur(10px); padding:15px 0; box-shadow:0 8px 24px var(--shadow); border-bottom-color:transparent;}
  nav.container{display:flex; align-items:center; justify-content:space-between;}
  .logo{font-size:19px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--charcoal); display:flex; flex-direction:column; line-height:1;}
  .logo span{font-size:9px; font-weight:500; letter-spacing:0.32em; color:var(--bronze); margin-top:5px;}
  .nav-links{display:flex; gap:38px; align-items:center;}
  .nav-links a{font-size:12.5px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:var(--charcoal); opacity:0.82; position:relative; padding-bottom:4px;}
  .nav-links a::after{content:""; position:absolute; left:0; bottom:0; height:1px; width:0; background:var(--bronze); transition:width .3s ease;}
  .nav-links a:hover::after{width:100%;}
  .nav-cta{padding:11px 24px; font-size:12px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; border:1px solid var(--charcoal); color:var(--charcoal); border-radius:2px; transition:all .3s ease;}
  .nav-cta:hover{background:var(--charcoal); color:var(--cream);}
  .burger{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:12px; margin:-12px;}
  .burger span{width:24px; height:2px; background:var(--charcoal); transition:transform .25s ease, opacity .25s ease;}
  .burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .burger.is-open span:nth-child(2){opacity:0;}
  .burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  /* ---------- Arc photo signature ---------- */
  .arc-photo{position:relative; width:100%; height:100%; overflow:hidden;}
  .arc-photo .circle{position:absolute; top:-15%; right:-15%; height:130%; aspect-ratio:1/1; width:auto; border-radius:50%; overflow:hidden;}
  .arc-photo .circle img{width:100%; height:100%; object-fit:cover;}
  .arc-photo .ring{position:absolute; top:-15%; right:-15%; height:130%; aspect-ratio:1/1; width:auto; border-radius:50%; border:1px solid var(--bronze-light); opacity:.5; pointer-events:none;}
  .circle.logo-frame{background:var(--cream); display:flex; align-items:center; justify-content:center;}
  .hero-visual .circle.logo-frame img{width:56%; height:auto; object-fit:contain;}

  /* ---------- Placeholder imagery (self-contained, no external requests) ---------- */
  .ph-img{
    width:100%; height:100%;
    background:
      radial-gradient(circle at 30% 25%, rgba(250,246,241,0.35), transparent 55%),
      linear-gradient(135deg, var(--bronze-pale) 0%, var(--bronze-light) 45%, var(--charcoal) 100%);
    display:flex; align-items:center; justify-content:center; position:relative;
  }
  .ph-img::after{
    content:"";
    width:30%; height:30%; max-width:56px; max-height:56px; min-width:26px; min-height:26px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23faf6f1' stroke-width='1.4'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Ccircle cx='9' cy='10.5' r='1.6'/%3E%3Cpath d='M4 17l5-5 3 3 3-4 5 6'/%3E%3C/svg%3E");
    background-size:contain; background-repeat:no-repeat; background-position:center;
    opacity:0.6;
  }

  /* ---------- Hero ---------- */
  .hero{
    padding:168px 0 90px;
    position:relative;
    background:
      linear-gradient(180deg, rgba(250,246,241,0.93) 0%, rgba(250,246,241,0.86) 55%, var(--cream) 100%),
      url('https://images.unsplash.com/photo-1749374848450-34bfa8600ecd?w=2000&auto=format&fit=crop') center 35%/cover no-repeat;
  }
  .hero .container{display:grid; grid-template-columns:1.05fr 0.95fr; gap:60px; align-items:center;}
  .hero h1{font-size:clamp(36px,5.4vw,60px); margin:16px 0 20px; letter-spacing:-0.01em;}
  .hero h1 em{font-style:italic; font-weight:400; color:var(--bronze);}
  .hero p{font-size:16.5px; max-width:480px; margin-bottom:32px;}
  .hero-actions{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:46px;}
  .hero-stats{display:flex; gap:44px; border-top:1px solid var(--line); padding-top:26px;}
  .hero-stats div strong{display:block; font-size:30px; color:var(--charcoal); font-weight:700;}
  .hero-stats div span{font-size:11.5px; color:var(--charcoal-soft); letter-spacing:0.04em;}
  .hero-visual{height:540px;}

  /* ---------- Section shells ---------- */
  .section-pad{padding:110px 0;}
  .bg-cream-deep{background:var(--cream-deep);}
  .bg-charcoal{background:var(--charcoal); color:var(--cream);}
  .bg-charcoal .eyebrow{color:var(--bronze-light);}
  .bg-charcoal h2{color:var(--cream);}
  .bg-charcoal p{color:rgba(250,246,241,0.72);}
  .section-head{max-width:640px; margin-bottom:50px;}
  .section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
  .section-head p{margin-top:14px;}
  .head-row{display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:50px;}
  .head-row .section-head{margin-bottom:0;}

  /* ---------- Sobre ---------- */
  .split{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
  .split-media{position:relative; height:460px;}
  .split-media .quote-card{position:absolute; bottom:-26px; left:-26px; max-width:270px; background:var(--charcoal); color:var(--cream); padding:26px; border-radius:2px; box-shadow:0 20px 45px var(--shadow); z-index:3;}
  .quote-card .qline{font-size:14px; font-style:italic; line-height:1.6; margin-bottom:6px;}
  .quote-card .qline em{color:var(--bronze-light); font-style:italic;}
  .pillars{display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:34px;}
  .pillar h4{font-size:14px; letter-spacing:0.02em; margin-bottom:6px; color:var(--bronze);}
  .pillar p{font-size:13.5px; line-height:1.65;}

  /* ---------- Historia (narrative + collage) ---------- */
  .historia-wrap{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
  .historia-text p{margin-bottom:16px;}
  .historia-text p:last-of-type{margin-bottom:0;}
  .collage{position:relative; height:480px;}
  .collage .main-shot{position:absolute; top:0; right:0; width:78%; height:60%; border-radius:3px; overflow:hidden;}
  .collage .main-shot img{width:100%;height:100%;object-fit:cover; filter:grayscale(45%) sepia(12%);}
  .collage .quote-float{position:absolute; top:24px; left:0; width:44%; background:var(--charcoal); color:var(--cream); padding:22px 20px; border-radius:2px; z-index:3; box-shadow:0 18px 36px var(--shadow);}
  .collage .quote-float .qline{font-size:13px; line-height:1.55; margin-bottom:6px;}
  .collage .quote-float .qline em{color:var(--bronze-light); font-style:italic;}
  .collage .shot-a{position:absolute; bottom:0; left:0; width:47%; height:38%; border-radius:3px; overflow:hidden;}
  .collage .shot-b{position:absolute; bottom:0; right:0; width:47%; height:38%; border-radius:3px; overflow:hidden;}
  .collage .shot-a img, .collage .shot-b img{width:100%;height:100%;object-fit:cover;}

  /* ---------- Historia timeline (dark) ---------- */
  .historia-dark h2{max-width:640px; margin-left:auto; margin-right:auto;}
  .historia-dark h2 em{font-style:italic; font-weight:400; color:var(--bronze-light); display:block;}
  .timeline-v{position:relative; max-width:920px; margin:70px auto 0;}
  .timeline-v::before{
    content:""; position:absolute; left:50%; top:6px; bottom:6px; width:1px;
    background:repeating-linear-gradient(180deg, rgba(250,246,241,0.22) 0 6px, transparent 6px 12px);
    transform:translateX(-50%);
  }
  .tl-row{display:grid; grid-template-columns:1fr 1fr; gap:60px; position:relative; margin-bottom:56px; align-items:start;}
  .tl-row:last-child{margin-bottom:0;}
  .tl-row.left .tl-card{grid-column:1;}
  .tl-row.right .tl-card{grid-column:2;}
  .tl-dot-center{
    position:absolute; left:50%; top:26px; transform:translate(-50%,-50%);
    width:9px; height:9px; border-radius:50%; background:var(--charcoal);
    border:2px solid var(--bronze); z-index:2;
  }
  .tl-card{
    background:rgba(250,246,241,0.04); border:1px solid rgba(250,246,241,0.1);
    padding:28px 26px; border-radius:3px;
  }
  .tl-year{font-size:13px; font-weight:700; letter-spacing:0.08em; color:var(--bronze-light); margin-bottom:10px;}
  .tl-year.em{font-style:italic; font-weight:500;}
  .tl-card h4{color:var(--cream); font-size:16px; margin-bottom:10px;}
  .tl-card p{color:rgba(250,246,241,0.62); font-size:13.5px; line-height:1.7;}
  .historia-quote{text-align:center; max-width:620px; margin:80px auto 0; padding-top:40px; border-top:1px solid rgba(250,246,241,0.12);}
  .historia-quote p{font-style:italic; color:var(--bronze-pale); font-size:17px; line-height:1.65;}
  .historia-quote span{display:block; margin-top:16px; font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; color:rgba(250,246,241,0.5);}

  /* ---------- Card grids ---------- */
  .grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
  .grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
  .card{background:var(--white); padding:32px 26px; border-radius:3px; border:1px solid var(--line); transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;}
  .card:hover{transform:translateY(-6px); box-shadow:0 22px 40px var(--shadow); border-color:transparent;}
  .card-icon{width:48px; height:48px; border-radius:50%; background:var(--cream-deep); display:flex; align-items:center; justify-content:center; margin-bottom:18px; color:var(--bronze); flex-shrink:0;}
  .card-icon svg{width:22px; height:22px;}
  .card h4{font-size:15.5px; margin-bottom:9px;}
  .card p{font-size:13.5px;}
  .card .num{font-size:13px; font-weight:700; color:var(--bronze-light); letter-spacing:0.05em; margin-bottom:12px; display:block;}

  /* ---------- Experiencia (light row) ---------- */
  .exp-row{display:grid; grid-template-columns:repeat(6,1fr); gap:0; margin-top:10px; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .exp-col{padding:34px 18px; text-align:center; border-left:1px solid var(--line);}
  .exp-col:first-child{border-left:none;}
  .exp-col .card-icon{margin:0 auto 18px;}
  .exp-col h4{font-size:14px; margin-bottom:10px; line-height:1.35;}
  .exp-col p{font-size:12.5px; line-height:1.6;}
  .exp-caption{text-align:center; margin-top:36px; font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--charcoal-soft);}
  .exp-caption b{color:var(--bronze); font-weight:700;}

  /* ---------- Diferenciais sidebar ---------- */
  .servicos-wrap{display:grid; grid-template-columns:1fr 300px; gap:50px; align-items:start;}
  .dif-sidebar{background:var(--cream-deep); padding:34px 28px; border-radius:3px; position:sticky; top:110px;}
  .dif-sidebar h3{font-size:17px; margin-bottom:22px;}
  .dif-sidebar li{display:flex; align-items:flex-start; gap:12px; margin-bottom:16px; font-size:13.5px; font-weight:500; line-height:1.4;}
  .dif-sidebar li:last-child{margin-bottom:0;}
  .dif-sidebar .check{color:var(--bronze); flex-shrink:0; margin-top:1px;}

  /* ---------- Acabamentos ---------- */
  .acab-header{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; margin-bottom:56px;}
  .acab-visual{height:300px;}
  .acab-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
  .acab-card{background:var(--white); border:1px solid var(--line); padding:28px 24px; border-radius:3px; display:flex; flex-direction:column;}
  .acab-card h4{font-size:15px; margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid var(--line);}
  .acab-card .sub{font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:var(--bronze); margin:14px 0 6px;}
  .acab-card .sub:first-of-type{margin-top:0;}
  .acab-card ul li{font-size:12.8px; line-height:1.6; color:var(--charcoal-soft); padding-left:14px; position:relative; margin-bottom:6px;}
  .acab-card ul li::before{content:"–"; position:absolute; left:0; color:var(--bronze-light);}
  .softclose-tag{margin-top:16px; padding-top:16px; border-top:1px solid var(--line); display:flex; align-items:center; gap:12px;}
  .softclose-tag .ic{color:var(--bronze); flex-shrink:0;}
  .softclose-tag strong{display:block; font-size:12.5px;}
  .softclose-tag span{font-size:11.5px; color:var(--charcoal-soft);}
  .durability-box{background:var(--charcoal); color:var(--cream); padding:16px 18px; border-radius:3px; margin-top:16px;}
  .durability-box p{color:rgba(250,246,241,0.85); font-size:12.5px; font-style:italic; line-height:1.6;}
  .swatches{display:flex; gap:7px; margin-top:16px;}
  .swatches div{flex:1; height:38px; border-radius:2px;}

  /* ---------- Materia prima ---------- */
  .mp-wrap{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
  .mp-brands{display:flex; gap:16px; align-items:center; margin:20px 0 28px;}
  .mp-brands div{font-weight:700; font-size:16px; letter-spacing:0.02em; color:var(--charcoal); padding:9px 18px; border:1px solid var(--line); border-radius:2px;}
  .mp-points{display:flex; flex-direction:column; gap:20px;}
  .mp-point{display:flex; gap:16px;}
  .mp-point .card-icon{width:42px; height:42px; margin-bottom:0;}
  .mp-point h4{font-size:14.5px; margin-bottom:5px;}
  .mp-point p{font-size:13px;}
  .mp-visual{height:440px; position:relative;}
  .mp-visual .quote-float{position:absolute; bottom:-22px; right:-22px; max-width:250px; background:var(--charcoal); color:var(--cream); padding:24px; border-radius:2px; z-index:3; box-shadow:0 18px 36px var(--shadow);}
  .mp-visual .quote-float p{color:rgba(250,246,241,0.9); font-style:italic; font-size:13.5px; line-height:1.6;}
  .mp-visual .quote-float em{color:var(--bronze-light); font-style:italic;}
  .mp-panel{background:var(--cream-deep); border:1px solid var(--line); border-radius:4px; padding:40px; height:100%; display:flex; flex-direction:column; justify-content:center;}
  .mp-panel-label{font-size:12px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--bronze); margin-bottom:20px;}
  .mp-swatch-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:24px;}
  .mp-swatch-grid div{height:70px; border-radius:3px;}
  .mp-panel-caption{font-size:13.5px; color:var(--charcoal-soft); line-height:1.6;}

  /* ---------- Numeros ---------- */
  .numeros{display:grid; grid-template-columns:repeat(3,1fr); text-align:center; gap:30px;}
  .numeros strong{display:block; font-size:clamp(34px,4vw,52px); font-weight:700; color:var(--bronze-light);}
  .numeros span{font-size:13px; letter-spacing:0.06em; text-transform:uppercase; color:rgba(250,246,241,0.65);}

  /* ---------- Processo ---------- */
  .proc-banner{width:100%; height:280px; border-radius:4px; overflow:hidden; margin-bottom:56px;}
  .proc-banner img{width:100%;height:100%;object-fit:cover;}
  .proc-cols{display:grid; grid-template-columns:repeat(5,1fr); gap:22px;}
  .proc-col .top{display:flex; align-items:center; gap:10px; margin-bottom:16px;}
  .proc-num-badge{width:38px; height:38px; border-radius:50%; background:var(--cream-deep); color:var(--bronze); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; flex-shrink:0;}
  .proc-col h4{font-size:13.5px; line-height:1.3;}
  .proc-thumb{width:100%; height:96px; border-radius:3px; overflow:hidden; margin-bottom:14px;}
  .proc-thumb img{width:100%;height:100%;object-fit:cover;}
  .proc-col ul li{font-size:12.2px; line-height:1.6; color:var(--charcoal-soft); padding-left:13px; position:relative; margin-bottom:5px;}
  .proc-col ul li::before{content:"•"; color:var(--bronze); position:absolute; left:0;}

  /* ---------- Portfolio ---------- */
  .port-grid{display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:220px; gap:14px;}
  .port-grid a{position:relative; overflow:hidden; border-radius:3px;}
  .port-grid a:nth-child(1){grid-column:span 2; grid-row:span 2;}
  .port-grid img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
  .port-grid a:hover img{transform:scale(1.07);}
  .port-cap{position:absolute; left:0; right:0; bottom:0; padding:16px 18px; background:linear-gradient(0deg, rgba(66,62,58,0.85), transparent); color:var(--cream); font-size:13px; font-weight:600;}
  .port-notes{margin-top:44px; display:grid; grid-template-columns:repeat(2,1fr); gap:14px 40px;}
  .port-notes li{font-size:13.8px; color:var(--charcoal-soft); padding-left:18px; position:relative; line-height:1.6;}
  .port-notes li::before{content:"◆"; font-size:8px; color:var(--bronze); position:absolute; left:0; top:6px;}

  /* ---------- Depoimentos ---------- */
  .dep-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .dep-card{background:var(--white); border:1px solid var(--line); padding:32px 28px; border-radius:3px;}
  .dep-card .stars{color:var(--bronze); font-size:14px; margin-bottom:16px; letter-spacing:2px;}
  .dep-card p{font-style:italic; font-size:14.5px; margin-bottom:22px;}
  .dep-who strong{display:block; font-size:14px;}
  .dep-who span{font-size:12.5px; color:var(--bronze);}

  /* ---------- Contato ---------- */
  .contato-wrap{display:grid; grid-template-columns:0.85fr 1.15fr; gap:70px;}
  .contato-info li{display:flex; gap:16px; padding:20px 0; border-bottom:1px solid rgba(250,246,241,0.15);}
  .contato-info li:first-child{padding-top:0;}
  .contato-info .ic{width:40px; height:40px; border-radius:50%; background:rgba(250,246,241,0.08); display:flex; align-items:center; justify-content:center; color:var(--bronze-light); flex-shrink:0;}
  .contato-info strong{display:block; font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; color:rgba(250,246,241,0.55); margin-bottom:4px;}
  .contato-info span, .contato-info a{font-size:15px; color:var(--cream); font-weight:500;}
  .form-card{background:var(--cream); color:var(--charcoal); padding:44px; border-radius:3px;}
  .form-intro{font-size:13.5px; line-height:1.7; margin-bottom:24px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px;}
  .field-group{margin-bottom:22px;}
  .group-label{display:block; font-size:11.5px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; color:var(--charcoal-soft); margin-bottom:12px;}
  .checks-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px 16px;}
  .chk{display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--charcoal-soft); cursor:pointer;}
  .chk input{width:16px; height:16px; accent-color:var(--bronze); cursor:pointer; flex-shrink:0;}
  .btn-whats svg{color:currentColor;}
  .field{display:flex; flex-direction:column; gap:8px;}
  .field.full{grid-column:span 2;}
  .field label{font-size:11.5px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; color:var(--charcoal-soft);}
  .field input, .field select, .field textarea{border:none; border-bottom:1.5px solid var(--line); padding:10px 2px; font-family:'Montserrat',sans-serif; font-size:14.5px; background:transparent; color:var(--charcoal);}
  .field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--bronze);}
  .field textarea{resize:vertical; min-height:90px;}

  /* ---------- Footer ---------- */
  footer{background:#37332f; color:rgba(250,246,241,0.6); padding:60px 0 26px;}
  .foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:50px; padding-bottom:40px; border-bottom:1px solid rgba(250,246,241,0.1);}
  .foot-logo{font-size:19px; font-weight:700; letter-spacing:0.1em; color:var(--cream); text-transform:uppercase; margin-bottom:16px;}
  footer h5{font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--bronze-light); margin-bottom:18px;}
  footer ul li{margin-bottom:10px; font-size:13.8px;}
  footer ul li a:hover{color:var(--cream);}
  .foot-bottom{padding-top:26px; display:flex; justify-content:space-between; font-size:12.5px;}

  .wa-float{position:fixed; bottom:26px; right:26px; z-index:90; width:58px; height:58px; border-radius:50%; background:var(--bronze); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px var(--shadow); transition:transform .3s ease;}
  .wa-float:hover{transform:scale(1.08); background:var(--charcoal);}

  @media(max-width:980px){
    .nav-links, .nav-cta{display:none;}
    .burger{display:flex;}
    .hero .container, .split, .historia-wrap, .acab-header, .mp-wrap, .servicos-wrap{grid-template-columns:1fr; gap:40px;}
    .servicos-wrap{grid-template-columns:1fr;}
    .dif-sidebar{position:static;}
    .pillars, .grid-4, .grid-2, .exp-row, .proc-cols, .acab-grid{grid-template-columns:repeat(2,1fr);}
    .exp-row{border:none;}
    .exp-col{border-left:none; border-top:1px solid var(--line);}
    .exp-col:first-child, .exp-col:nth-child(2){border-top:none;}
    .numeros{grid-template-columns:1fr; gap:36px;}
    .port-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:180px;}
    .port-grid a:nth-child(1){grid-column:span 2; grid-row:span 1;}
    .port-notes{grid-template-columns:1fr;}
    .dep-grid{grid-template-columns:1fr;}
    .contato-wrap{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr 1fr;}
    .collage{height:auto; min-height:420px;}
    .tl-row, .tl-row.left, .tl-row.right{grid-template-columns:1fr; gap:0; padding-left:28px;}
    .tl-row.left .tl-card, .tl-row.right .tl-card{grid-column:1;}
    .timeline-v::before{left:8px;}
    .tl-dot-center{left:8px; top:26px;}
  }
  @media(max-width:640px){
    .grid-4, .grid-2, .exp-row, .proc-cols, .pillars, .acab-grid{grid-template-columns:1fr;}
    .exp-col{border-top:1px solid var(--line) !important;}
    .exp-col:first-child{border-top:none !important;}
    .form-row{grid-template-columns:1fr;}
    .checks-grid{grid-template-columns:1fr;}
    .field.full{grid-column:span 1;}
    .foot-grid{grid-template-columns:1fr;}
    .foot-bottom{flex-direction:column; gap:8px;}
    .split-media .quote-card, .collage .quote-float, .mp-visual .quote-float{position:static; margin-top:20px; max-width:100%;}
    .container{padding:0 20px;}
    .hero{padding:130px 0 60px;}
    .hero-visual{height:320px;}
    .hero-stats{gap:26px;}
    .hero-stats div strong{font-size:24px;}
    .hero-actions{flex-direction:column; align-items:stretch;}
    .hero-actions .btn{justify-content:center;}
    .section-pad{padding:70px 0;}
    .proc-banner{height:180px; margin-bottom:36px;}
    .acab-visual{height:200px;}
    .form-card{padding:26px 20px;}
    .split-media, .mp-visual{height:320px;}
    .timeline-v{margin-top:46px;}
    .tl-card{padding:22px 20px;}
    .historia-quote{margin-top:56px; padding-top:30px;}
  }

