  :root {
    --cream1:   #F2EEEB;
    --cream2:   #EDE1D5;
    --copper:   #BB7A56;
    --copper-d: #A06845;
    --grafite:  #2E3133;
    --navy:     #1C2B35;
    --navy-mid: #243442;
    --text:     #3A3D3F;
    --muted:    #7A7D80;
    --white:    #FAFAF8;
    --lgray:    #E8E5DE;
  }
  *{ margin:0; padding:0; box-sizing:border-box; }
  img{ max-width:100%; }
  html{ scroll-behavior:smooth; }
  body{
    background:var(--cream1);
    color:var(--grafite);
    font-family:'Asap', sans-serif;
    font-size:15px; line-height:1.65;
    overflow-x:hidden;
  }

  /* NAV */
  nav{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(242,238,235,0.97);
    backdrop-filter:blur(14px);
    padding:0 72px; height:64px;
    display:flex; align-items:center; justify-content:space-between;
    border-bottom:1px solid rgba(187,122,86,0.15);
  }
  .nav-brand{ display:flex; align-items:baseline; gap:14px; }
  .nav-name{ font-family:'Asap',sans-serif; font-size:17px; font-weight:500; color:var(--grafite); }
  .nav-sub{ font-size:10px; font-weight:400; letter-spacing:0.22em; text-transform:uppercase; color:var(--muted); }
  .nav-cta{
    background:var(--navy); color:var(--white);
    padding:10px 26px; font-size:10px; font-weight:600;
    letter-spacing:0.2em; text-transform:uppercase;
    text-decoration:none; transition:background 0.2s;
  }
  .nav-cta:hover{ background:var(--copper); }

  /* HERO */
  .hero{
    min-height:100vh;
    display:grid; grid-template-columns:55% 45%;
    padding-top:64px;
  }
  .hero-left{
    background:var(--navy);
    padding:88px 64px 88px 72px;
    display:flex; flex-direction:column; justify-content:center;
    position:relative;
  }
  /* subtle grid lines */
  .hero-left::before{
    content:'';
    position:absolute; inset:0;
    background: repeating-linear-gradient(
      90deg, transparent, transparent 59px,
      rgba(171,216,207,0.04) 60px
    );
    pointer-events:none;
  }
  .hero-tag{
    display:inline-flex; align-items:center; gap:10px;
    font-size:10px; font-weight:600; letter-spacing:0.3em;
    text-transform:uppercase; color:var(--copper);
    margin-bottom:28px; position:relative; z-index:1;
  }
  .hero-tag::before{ content:''; width:24px; height:1px; background:var(--copper); }
  .hero-h1{
    font-family:'Asap', sans-serif;
    font-size:clamp(32px,3.8vw,50px);
    font-weight:300; color:var(--white);
    line-height:1.15; margin-bottom:6px;
    letter-spacing:-0.01em; position:relative; z-index:1;
  }
  .hero-h2{
    font-family:'Asap', sans-serif;
    font-size:clamp(13px,1.4vw,17px);
    font-weight:400; color:var(--copper);
    letter-spacing:0.15em; text-transform:uppercase;
    margin-bottom:28px; position:relative; z-index:1;
  }
  .hero-rule{ width:36px; height:1px; background:var(--copper); margin-bottom:24px; position:relative; z-index:1; }
  .hero-sub{
    font-size:15px; line-height:1.9;
    color:rgba(242,238,235,0.72); max-width:440px; margin-bottom:36px;
    position:relative; z-index:1;
  }
  .hero-sub strong{ color:var(--white); font-weight:500; }
  .btn-p{
    display:inline-block;
    background:var(--copper); color:var(--white);
    padding:16px 32px; font-size:10px; font-weight:600;
    letter-spacing:0.22em; text-transform:uppercase;
    text-decoration:none; transition:all 0.25s; width:fit-content;
    position:relative; z-index:1;
  }
  .btn-p:hover{ background:var(--copper-d); transform:translateY(-2px); }
  .hero-fine{ margin-top:14px; font-size:11px; color:rgba(242,238,235,0.38); position:relative; z-index:1; }
  .hero-right{
    background:var(--cream2); position:relative; overflow:hidden;
  }
  .hero-img{
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; object-position:center top;
    filter:sepia(6%) saturate(1.02) brightness(1.02) contrast(1.02);
  }
  .hero-fade{
    position:absolute; inset:0;
    background:linear-gradient(to right, rgba(28,43,53,0.25) 0%, transparent 20%);
  }
  .hero-accent{
    position:absolute; left:0; top:8%; bottom:8%;
    width:2px; background:var(--copper); opacity:0.5;
  }

  /* SHARED */
  .lbl{
    font-size:10px; font-weight:600; letter-spacing:0.3em;
    text-transform:uppercase; color:var(--copper);
    display:flex; align-items:center; gap:10px; margin-bottom:16px;
  }
  .lbl::before{ content:''; width:5px; height:5px; background:var(--copper); border-radius:50%; flex-shrink:0; }
  .lbl.teal{ color:#2E5A5A; }
  .lbl.teal::before{ background:#2E5A5A; }
  h2.sh{
    font-family:'Asap', sans-serif;
    font-size:clamp(26px,3vw,42px); font-weight:300;
    line-height:1.18; color:var(--grafite); margin-bottom:14px;
    letter-spacing:-0.005em;
  }
  h2.sh em{ font-style:italic; color:var(--navy); }
  h2.sh.light{ color:var(--white); }
  h2.sh.light em{ color:var(--copper); }
  .copper-bar{ width:36px; height:1px; background:var(--copper); margin:18px 0; }
  .w{ max-width:1280px; margin:0 auto; padding:0 72px; }
  .sec{ padding:88px 0; }
  .sec-cream{ background:var(--cream1); }
  .sec-cream2{ background:var(--cream2); }
  .sec-white{ background:var(--white); }
  .sec-dark{ background:var(--navy); }

  /* CLIENTES */
  .clients{ background:var(--white); padding:96px 0; text-align:center; }
  .clients .lbl{ display:inline-block; }
  .clients-h{ font-family:'Asap',sans-serif; font-size:clamp(26px,3vw,40px); font-weight:300; color:var(--grafite); line-height:1.18; margin-bottom:10px; letter-spacing:-0.005em; }
  .clients-h em{ font-style:italic; color:var(--copper); }
  .clients-sub{ font-size:13px; color:var(--muted); max-width:520px; margin:0 auto 48px; line-height:1.7; }
  .logos-wall{ max-width:920px; margin:0 auto; }
  .logos-wall img{ width:100%; height:auto; display:block; mix-blend-mode:multiply; opacity:1; }
  .clients-fine{ margin-top:40px; font-size:10px; letter-spacing:0.2em; text-transform:uppercase; color:var(--muted); }
  .clients-fine strong{ color:var(--copper); font-weight:600; }
  .sec-navy-mid{ background:var(--navy-mid); }

  /* PROBLEMA */
  .prob-grid{ display:grid; grid-template-columns:1fr 1fr; gap:2px; margin-top:52px; }
  .prob-l{ background:var(--navy); padding:52px 48px; }
  .prob-l blockquote{
    font-family:'Asap', sans-serif;
    font-size:19px; font-weight:300; font-style:italic;
    color:var(--white); line-height:1.85;
  }
  .prob-l blockquote strong{ font-style:normal; font-weight:500; color:var(--copper); }
  .prob-r{ background:var(--cream1); padding:52px 48px; }
  .prob-list{ list-style:none; display:flex; flex-direction:column; gap:13px; margin-top:20px; }
  .prob-list li{ font-size:14px; line-height:1.65; color:var(--text); padding-left:18px; position:relative; }
  .prob-list li::before{ content:'—'; position:absolute; left:0; color:var(--copper); font-size:11px; top:3px; }
  .prob-close{ margin-top:32px; padding:24px 28px; border-left:2px solid var(--copper); background:var(--white); }
  .prob-close p{ font-family:'Asap',sans-serif; font-size:17px; font-weight:400; color:var(--grafite); line-height:1.6; }

  /* O QUE É — apenas 2 cards */
  .oque-2{ display:grid; grid-template-columns:1fr 1fr; gap:2px; margin-top:52px; }
  .oq{ background:var(--cream1); padding:40px 34px; }
  .oq.dark{ background:var(--grafite); }
  .oq-n{ font-family:'Asap',sans-serif; font-size:44px; font-weight:300; color:rgba(187,122,86,0.12); line-height:1; margin-bottom:14px; }
  .oq.dark .oq-n{ color:rgba(187,122,86,0.15); }
  .oq-tag{ font-size:9px; font-weight:600; letter-spacing:0.25em; text-transform:uppercase; color:var(--copper); margin-bottom:10px; }
  .oq-txt{ font-size:14px; line-height:1.75; color:var(--text); }
  .oq.dark .oq-txt{ color:rgba(242,238,235,0.7); }

  /* INVESTIGA — navy + cream only, no tiffany */
  .inv-6{ display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:52px; }
  .icard{ background:var(--cream2); padding:48px 36px; display:flex; flex-direction:column; }
  .icard:nth-child(1){ background:var(--navy); }
  .icard:nth-child(2){ background:var(--cream1); }
  .icard:nth-child(3){ background:var(--navy-mid); }
  .icard:nth-child(4){ background:var(--cream1); }
  .icard:nth-child(5){ background:var(--navy); }
  .icard:nth-child(6){ background:var(--cream2); }
  .isvg-wrap{ flex:1; display:flex; align-items:center; justify-content:center; min-height:100px; margin-bottom:24px; }
  .isvg{ width:80px; height:80px; }
  .ilbl{ font-size:9px; font-weight:600; letter-spacing:0.28em; text-transform:uppercase; color:var(--copper); margin-bottom:10px; }
  .icard:nth-child(1) .ilbl,
  .icard:nth-child(3) .ilbl,
  .icard:nth-child(5) .ilbl{ color:rgba(187,122,86,0.75); }
  .ititle{ font-family:'Asap',sans-serif; font-size:19px; font-weight:400; color:var(--grafite); margin-bottom:8px; line-height:1.25; }
  .icard:nth-child(1) .ititle,
  .icard:nth-child(3) .ititle,
  .icard:nth-child(5) .ititle{ color:var(--white); }
  .iq{ font-size:13px; line-height:1.65; color:var(--muted); font-style:italic; }
  .icard:nth-child(1) .iq,
  .icard:nth-child(3) .iq,
  .icard:nth-child(5) .iq{ color:rgba(242,238,235,0.6); }

  /* ENTREGÁVEIS */
  .e7{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; margin-top:52px; }
  .ec{ background:rgba(255,255,255,0.04); padding:30px 20px; border-top:1px solid rgba(187,122,86,0.2); transition:border-color 0.2s,background 0.2s; }
  .ec:hover{ border-color:var(--copper); background:rgba(187,122,86,0.06); }
  .en{ font-family:'Asap',sans-serif; font-size:26px; font-weight:300; color:rgba(187,122,86,0.3); line-height:1; margin-bottom:12px; }
  .ename{ font-size:10px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--cream1); line-height:1.5; margin-bottom:8px; }
  .edesc{ font-size:11px; line-height:1.6; color:rgba(242,238,235,0.4); }
  .eclose{ margin-top:36px; padding:32px 40px; background:rgba(187,122,86,0.08); border-left:2px solid var(--copper); }
  .eclose p{ font-family:'Asap',sans-serif; font-size:19px; font-weight:300; font-style:italic; color:var(--white); line-height:1.7; }
  .eclose strong{ font-style:normal; font-weight:500; color:var(--copper); }

  /* ECOSSISTEMA BXG™ */
  .eco-section{ background:var(--cream1); padding:88px 0; }
  .eco-subtitle{ font-size:15px; line-height:1.8; color:var(--text); max-width:520px; margin-top:8px; margin-bottom:52px; }
  .eco-flow{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:2px;
  }
  .eco-card{
    padding:32px 28px; position:relative;
    transition:transform 0.2s;
  }
  .eco-card:hover{ transform:translateY(-3px); }
  .eco-card:nth-child(odd){ background:var(--navy); }
  .eco-card:nth-child(even){ background:var(--white); }
  .eco-num{
    font-family:'Asap',sans-serif; font-size:48px; font-weight:300;
    line-height:1; margin-bottom:4px;
  }
  .eco-card:nth-child(odd) .eco-num{ color:rgba(187,122,86,0.12); }
  .eco-card:nth-child(even) .eco-num{ color:rgba(28,43,53,0.08); }
  .eco-title{
    font-family:'Asap',sans-serif; font-size:16px; font-weight:500;
    line-height:1.2; margin-bottom:5px;
  }
  .eco-card:nth-child(odd) .eco-title{ color:var(--white); }
  .eco-card:nth-child(even) .eco-title{ color:var(--navy); }
  .eco-sub{
    font-size:9px; font-weight:600; letter-spacing:0.18em;
    text-transform:uppercase; color:var(--copper); margin-bottom:0;
  }
  /* connector arrow */
  .eco-card::after{
    content:'↓';
    position:absolute; bottom:-14px; left:50%;
    transform:translateX(-50%);
    color:var(--copper); font-size:12px; z-index:2;
    opacity:0.5;
  }
  .eco-card:nth-child(4n)::after,
  .eco-card:last-child::after{ display:none; }
  /* top copper line on each card */
  .eco-card::before{
    content:'';
    position:absolute; top:0; left:0; right:0;
    height:2px; background:var(--copper); opacity:0.25;
  }
  .eco-card:nth-child(odd)::before{ opacity:0.4; }

  /* PARA QUEM */
  .pq4{ display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-top:52px; }
  .pqc{ background:rgba(255,255,255,0.06); padding:34px 28px; }
  .pqbar{ width:24px; height:1px; background:var(--copper); margin-bottom:16px; }
  .pqtitle{ font-family:'Asap',sans-serif; font-size:18px; font-weight:400; color:var(--white); margin-bottom:8px; line-height:1.3; }
  .pqdesc{ font-size:12px; line-height:1.65; color:rgba(242,238,235,0.5); }

  /* DIFERENCIAL */
  .dif2{ display:grid; grid-template-columns:1fr 1fr; gap:2px; margin-top:52px; }
  .difl{ background:var(--navy-mid); padding:56px 48px; display:flex; flex-direction:column; justify-content:center; }
  .difbig{ font-family:'Asap',sans-serif; font-size:84px; font-weight:300; color:var(--copper); line-height:1; }
  /* FIXED: label text light color for legibility on navy */
  .diflabel{
    font-size:17px; font-weight:400;
    color:rgba(242,238,235,0.82); line-height:1.75;
    margin-top:8px;
  }
  .difr{ background:var(--white); padding:56px 48px; display:flex; flex-direction:column; justify-content:center; gap:26px; }
  .difpt{ padding-left:16px; border-left:2px solid var(--copper); }
  .difpt h4{ font-size:10px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--grafite); margin-bottom:6px; }
  .difpt p{ font-size:13px; line-height:1.7; color:var(--muted); }

  /* SOBRE COM FOTO */
  .sobre-sec{ background:var(--navy); padding:88px 0; }
  .sobre-2{ display:grid; grid-template-columns:340px 1fr; gap:72px; align-items:center; }
  .sp{ position:relative; }
  .simg{
    width:100%; aspect-ratio:3/4; object-fit:cover; object-position:center top;
    filter:sepia(5%) saturate(0.95) brightness(1.03) contrast(1.03);
  }
  .simg-border{
    position:absolute; bottom:-9px; right:-9px;
    width:calc(100% - 18px); height:calc(100% - 18px);
    border:1px solid rgba(187,122,86,0.25);
    pointer-events:none;
  }
  .sbio{ font-size:15px; line-height:1.9; color:rgba(242,238,235,0.68); margin-bottom:24px; }
  .squote{ padding:22px 28px; border-left:2px solid var(--copper); background:rgba(187,122,86,0.07); }
  .squote p{ font-family:'Asap',sans-serif; font-size:18px; font-weight:300; font-style:italic; color:var(--white); line-height:1.7; }
  .squote strong{ font-style:normal; font-weight:500; color:var(--copper); }
  .stags{ display:flex; flex-wrap:wrap; gap:7px; margin-top:24px; }
  .stag{ border:1px solid rgba(187,122,86,0.25); padding:5px 13px; font-size:9px; letter-spacing:0.2em; text-transform:uppercase; color:var(--copper); }

  /* CTA */
  .cta{ background:var(--cream2); padding:112px 0; text-align:center; }
  .ctai{ max-width:620px; margin:0 auto; }
  .ctah{ font-family:'Asap',sans-serif; font-size:clamp(28px,3.8vw,44px); font-weight:300; color:var(--grafite); line-height:1.2; margin-bottom:16px; }
  .ctah em{ font-style:italic; color:var(--navy); }
  .ctasub{ font-size:15px; line-height:1.85; color:var(--text); margin-bottom:36px; }
  .btnc{ display:inline-block; background:var(--navy); color:var(--cream1); padding:18px 48px; font-size:10px; font-weight:600; letter-spacing:0.25em; text-transform:uppercase; text-decoration:none; transition:all 0.25s; }
  .btnc:hover{ background:var(--copper-d); transform:translateY(-2px); }
  .ctafine{ margin-top:16px; font-size:10px; color:var(--muted); }

  /* FOOTER */
  footer{ background:var(--grafite); padding:24px 72px; display:flex; align-items:center; justify-content:space-between; }
  footer p{ font-size:9px; letter-spacing:0.22em; text-transform:uppercase; color:rgba(242,238,235,0.28); }
  footer strong{ color:var(--copper); font-weight:500; }

  /* REVEAL */
  .rv{ opacity:0; transform:translateY(18px); transition:opacity 0.6s ease,transform 0.6s ease; }
  .rv.on{ opacity:1; transform:none; }

  @media(max-width:920px){
    nav{ padding:0 20px; }
    .hero{ grid-template-columns:1fr; min-height:auto; }
    .hero-right{ min-height:auto; aspect-ratio:4/5; order:-1; }
    .hero-img{ object-position:center 22%; }
    .hero-left{ padding:64px 24px 56px; }
    .w{ padding:0 20px; }
    .prob-grid,.oque-2,.inv-6,.dif2,.sobre-2{ grid-template-columns:1fr; }
    .pq4,.e7{ grid-template-columns:1fr 1fr; }
    .eco-flow{ grid-template-columns:1fr 1fr; }
    .sobre-2{ gap:40px; }
    .sp{ max-width:320px; margin:0 auto; }
  }

  @media(max-width:560px){
    nav{ padding:0 18px; }
    .nav-sub{ display:none; }
    .nav-cta{ padding:9px 16px; }
    .hero-left{ padding:48px 20px 44px; }
    .hero-right{ aspect-ratio:1/1; }
    .pq4,.e7,.eco-flow{ grid-template-columns:1fr; }
    .sp{ max-width:260px; }
    .cta{ padding:72px 0; }
    footer{ flex-direction:column; gap:10px; text-align:center; padding:24px 20px; }
  }
