  :root{
    --ink:#0d0c0a;
    --paper:#ffffff;
    --off:#f6f5f2;
    --gold:#b08d4e;
    --gold-deep:#8a6a34;
    --gold-soft:#d9c29b;
    --muted:#6b6259;
    --line:rgba(13,12,10,.12);

    --bc-cream:#f8f4ec;
    --bc-cream-deep:#f1eadb;
    --bc-ink:#181410;
    --bc-gold:#b08d4e;

    --bm-cream:#f1eadb;
    --bm-rose:#e7cac2;
    --bm-rose-deep:#a9695c;
    --bm-ink:#3a2e28;
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
    line-height:1.6;
    font-size:16.5px;
    overflow-x:hidden;
  }
  ::selection{ background:var(--gold); color:var(--paper); }
  a{ color:inherit; text-decoration:none; }
  img{ max-width:100%; display:block; }
  section{ position:relative; }
  .shell{ max-width:1240px; margin:0 auto; padding:0 clamp(20px,5vw,64px); }

  h1,h2,h3{ font-family:'Playfair Display',Georgia,serif; font-weight:600; line-height:1.08; text-wrap:balance; }

  .eyebrow{
    font-family:'Inter',sans-serif; font-size:11px; font-weight:600;
    letter-spacing:.2em; text-transform:uppercase; color:var(--gold-deep);
  }

  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:9px;
    font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600;
    letter-spacing:.08em; text-transform:uppercase;
    padding:16px 32px; border-radius:1px; transition:transform .3s ease, box-shadow .3s ease, background .3s ease, color .3s ease;
    white-space:nowrap;
  }
  .btn-gold{ background:var(--gold); color:var(--ink); box-shadow:0 14px 30px -14px rgba(176,141,78,.6); }
  .btn-gold:hover{ background:#c9a455; transform:translateY(-2px); }
  .btn-line{ border:1px solid currentColor; }
  .btn-line.on-dark{ color:var(--gold-soft); border-color:rgba(217,194,155,.5); }
  .btn-line.on-dark:hover{ color:var(--paper); border-color:var(--gold-soft); background:rgba(217,194,155,.08); }
  .btn-line.on-light{ color:var(--ink); border-color:rgba(13,12,10,.35); }
  .btn-line.on-light:hover{ background:var(--ink); color:var(--paper); }

  :focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

  .reveal{ opacity:0; transform:translateY(26px); transition:opacity .9s cubic-bezier(.16,.8,.3,1), transform .9s cubic-bezier(.16,.8,.3,1); }
  .reveal.in{ opacity:1; transform:none; }
  @media (prefers-reduced-motion: reduce){ .reveal{ opacity:1; transform:none; transition:none; } html{ scroll-behavior:auto; } }

  /* ---------- NAV ---------- */
  .nav{
    position:fixed; top:0; left:0; right:0; z-index:80;
    display:flex; align-items:center; justify-content:space-between;
    padding:22px clamp(20px,5vw,64px);
    background:rgba(13,12,10,0);
    transition:background .4s ease, padding .4s ease, box-shadow .4s ease;
  }
  .nav.scrolled{ background:rgba(13,12,10,.92); backdrop-filter:blur(10px); padding:14px clamp(20px,5vw,64px); box-shadow:0 1px 0 rgba(176,141,78,.25); }
  .nav-brand{ font-family:'Playfair Display',serif; font-size:17px; color:var(--paper); letter-spacing:.02em; }
  .nav-brand b{ color:var(--gold); font-weight:600; }
  .nav-links{ display:none; align-items:center; gap:34px; list-style:none; }
  .nav-links a{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#cfc6b6; transition:color .2s ease; }
  .nav-links a:hover{ color:var(--paper); }
  .nav-cta{ display:none; }
  @media (min-width:900px){
    .nav-links{ display:flex; }
    .nav-cta{ display:inline-flex; border:1px solid var(--gold-soft); color:var(--gold-soft); font-size:11px; letter-spacing:.1em; text-transform:uppercase; padding:10px 20px; }
    .nav-cta:hover{ background:var(--gold); color:var(--ink); border-color:var(--gold); }
  }

  /* ---------- HERO ---------- */
  .hero{ background:var(--ink); color:var(--paper); min-height:100vh; display:flex; align-items:flex-end; overflow:hidden; }
  .hero-grid{ width:100%; display:grid; grid-template-columns:1fr; }
  .hero-photo{ grid-row:1; grid-column:1; position:relative; height:62vh; }
  .hero-photo img{ width:100%; height:100%; object-fit:cover; object-position:50% 45%; filter:saturate(.92) contrast(1.02); }
  .hero-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(13,12,10,0) 68%, var(--ink) 100%); }
  .hero-copy{ grid-row:2; grid-column:1; padding:26px clamp(20px,5vw,64px) 56px; position:relative; z-index:2; }
  .hero-copy .eyebrow{ color:var(--gold-soft); }
  .hero-copy h1{ font-size:clamp(2rem,7.4vw,3.1rem); margin-top:14px; max-width:14ch; }
  .hero-copy h1 em{ font-style:italic; color:var(--gold-soft); }
  .hero-dek{ margin-top:18px; max-width:46ch; font-size:1.05rem; color:#cfc6b6; }
  .hero-stats{ list-style:none; display:flex; flex-wrap:wrap; gap:20px 28px; margin-top:30px; padding-top:22px; border-top:1px solid rgba(217,194,155,.22); }
  .hero-stats li b{ display:block; font-family:'Playfair Display',serif; font-size:1.4rem; color:var(--gold-soft); }
  .hero-stats li span{ font-size:11px; letter-spacing:.06em; color:#a99f8d; }
  .hero-cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }

  @media (min-width:900px){
    .hero{ align-items:center; padding-top:130px; }
    .hero-grid{ display:grid; grid-template-columns:1fr; min-height:100vh; }
    .hero-photo{ grid-row:1; grid-column:1; position:absolute; inset:0; height:100%; }
    .hero-photo::after{ background:linear-gradient(270deg, var(--ink) 4%, rgba(13,12,10,.7) 34%, rgba(13,12,10,.15) 58%, transparent 74%); }
    .hero-copy{ grid-row:1; grid-column:1; position:relative; max-width:620px; padding:0 6vw 0 3vw; justify-self:end; text-align:left; }
    .hero-copy h1{ font-size:clamp(2.6rem,5.2vw,4.4rem); max-width:12ch; }
    .hero-dek{ font-size:1.15rem; }
  }

  /* ---------- SOBRE ---------- */
  .sobre{ background:var(--paper); padding:88px 0; }
  .sobre-grid{ display:grid; grid-template-columns:1fr; gap:40px; align-items:center; }
  .sobre-photo{ order:1; aspect-ratio:4/5; overflow:hidden; border-radius:2px; max-width:340px; margin:0 auto; }
  .sobre-photo img{ width:100%; height:100%; object-fit:cover; }
  .sobre-copy{ order:2; }
  .sobre-copy h2{ font-size:clamp(1.7rem,4vw,2.3rem); max-width:14ch; }
  .sobre-copy p{ margin-top:18px; max-width:56ch; color:var(--muted); font-size:1.02rem; }
  .sobre-copy p + p{ margin-top:14px; }
  @media (min-width:860px){
    .sobre-grid{ grid-template-columns:.85fr 1.15fr; gap:72px; }
    .sobre-photo{ order:1; max-width:none; }
    .sobre-copy{ order:2; }
  }

  /* ---------- IMPRENSA ---------- */
  .imprensa{ background:var(--off); padding:56px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .imprensa .eyebrow{ display:block; text-align:center; margin-bottom:26px; }
  .imprensa-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px 12px; }
  .imprensa-chip{
    font-family:'Inter',sans-serif; font-size:13px; font-weight:600; color:var(--ink);
    background:var(--paper); border:1px solid var(--line); border-radius:100px;
    padding:10px 20px;
  }
  .imprensa-chip.pending{ color:var(--muted); font-weight:500; border-style:dashed; }
  .imprensa-note{ text-align:center; margin-top:18px; font-size:12.5px; color:var(--muted); }
  .imprensa-grid{ display:grid; grid-template-columns:1fr; gap:30px; align-items:center; }
  .imprensa-photo{ order:-1; width:120px; aspect-ratio:2/3; overflow:hidden; border-radius:2px; margin:0 auto; box-shadow:0 18px 30px -18px rgba(13,12,10,.35); }
  .imprensa-photo img{ width:100%; height:100%; object-fit:cover; object-position:50% 20%; }
  @media (min-width:760px){
    .imprensa-grid{ grid-template-columns:120px 1fr; gap:40px; }
    .imprensa-photo{ order:0; margin:0; }
    .imprensa-row{ justify-content:flex-start; }
    .imprensa .eyebrow{ text-align:left; }
    .imprensa-note{ text-align:left; }
  }

  /* ---------- BENDITAS & CO ---------- */
  .bc{ background:var(--bc-cream); color:var(--bc-ink); }
  .bc-grid{ display:grid; grid-template-columns:1fr; }
  .bc-photo{ aspect-ratio:4/3; overflow:hidden; order:1; }
  .bc-photo img{ width:100%; height:100%; object-fit:cover; filter:brightness(.96); }
  .bc-copy{ order:2; padding:52px clamp(20px,5vw,64px) 60px; }
  .bc-logo{ width:150px; height:auto; margin-bottom:22px; }
  .bc-copy .eyebrow{ color:var(--bc-gold); }
  .bc-copy h2{ margin-top:12px; font-size:clamp(1.7rem,4.4vw,2.6rem); max-width:13ch; }
  .bc-copy h2 em{ font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--bc-gold); font-weight:500; }
  .bc-copy p{ margin-top:18px; font-family:'Cormorant Garamond',serif; font-size:1.25rem; line-height:1.5; max-width:50ch; color:#3a332b; }
  .bc-badge{
    display:inline-flex; align-items:center; gap:6px; margin-top:22px;
    font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--bc-gold);
    border:1px solid var(--gold-soft); padding:7px 14px; border-radius:100px;
  }
  .bc-badge::before{ content:""; width:4px; height:4px; border-radius:50%; background:var(--bc-gold); }
  .bc-cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
  @media (min-width:900px){
    .bc-grid{ grid-template-columns:1fr 1fr; align-items:stretch; }
    .bc-photo{ order:2; aspect-ratio:auto; }
    .bc-copy{ order:1; display:flex; flex-direction:column; justify-content:center; padding:70px 5vw 70px 6vw; max-width:600px; }
  }

  /* ---------- BENDITAS MÃES ---------- */
  .bm{ background:var(--bm-cream); color:var(--bm-ink); padding:76px 0; }
  .bm-grid{ display:grid; grid-template-columns:1fr; gap:34px; align-items:center; }
  .bm-copy .eyebrow{ color:var(--bm-rose-deep); }
  .bm-copy h2{ margin-top:12px; font-size:clamp(1.7rem,4.2vw,2.4rem); max-width:14ch; color:var(--bm-ink); }
  .bm-copy p{ margin-top:18px; max-width:52ch; font-size:1.05rem; color:#5c4a41; }
  .bm-stat{ display:inline-flex; align-items:baseline; gap:8px; margin-top:26px; }
  .bm-stat b{ font-family:'Playfair Display',serif; font-size:2.4rem; color:var(--bm-rose-deep); }
  .bm-stat span{ font-size:12px; letter-spacing:.05em; color:#846a5f; text-transform:uppercase; }
  .bm-cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:26px; }
  .bm-card{
    background:var(--paper); border:1px solid rgba(169,105,92,.22); border-radius:3px;
    padding:26px 24px; box-shadow:0 20px 44px -30px rgba(58,46,40,.35);
  }
  .bm-card .quote{ font-family:'Playfair Display',serif; font-style:italic; font-size:1.2rem; color:var(--bm-ink); line-height:1.4; }
  .bm-card .who{ margin-top:14px; font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--bm-rose-deep); }
  .bm-photo{ position:relative; }
  .bm-photo .frame{ aspect-ratio:5/4; overflow:hidden; border-radius:3px; box-shadow:0 26px 50px -28px rgba(58,46,40,.4); }
  .bm-photo img{ width:100%; height:100%; object-fit:cover; }
  .bm-photo .cap{ margin-top:12px; font-size:12px; color:#846a5f; }
  .bm-proof{
    position:absolute; bottom:-22px; right:-14px; width:112px;
    background:var(--paper); padding:6px 6px 8px; border-radius:3px;
    box-shadow:0 16px 34px -16px rgba(58,46,40,.5); transform:rotate(4deg);
  }
  .bm-proof img{ width:100%; border-radius:1px; display:block; }
  .bm-proof span{ display:block; text-align:center; margin-top:5px; font-size:8.5px; letter-spacing:.04em; color:var(--bm-rose-deep); text-transform:uppercase; }
  @media (max-width:520px){ .bm-proof{ width:88px; right:0; bottom:-16px; } }
  @media (min-width:860px){
    .bm-grid{ grid-template-columns:1.1fr .9fr; gap:60px; }
  }

  /* ---------- PORTFÓLIO ---------- */
  .frentes{ background:var(--paper); padding:90px 0; }
  .frentes-head{ text-align:center; max-width:620px; margin:0 auto 48px; }
  .frentes-head h2{ font-size:clamp(1.8rem,4.2vw,2.5rem); }
  .frentes-head p{ margin-top:14px; color:var(--muted); }
  .frentes-grid{ display:grid; grid-template-columns:1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
  .frente-card{ background:var(--paper); padding:0 0 26px; display:flex; flex-direction:column; gap:14px; transition:background .3s ease; }
  .frente-card:hover{ background:var(--off); }
  .frente-photo{ aspect-ratio:4/3; overflow:hidden; }
  .frente-photo img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
  .frente-card:hover .frente-photo img{ transform:scale(1.04); }
  .frente-body{ padding:20px 28px 0; display:flex; flex-direction:column; gap:14px; flex:1; }
  .frente-card .tag{ font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-deep); font-weight:600; }
  .frente-card h3{ font-size:1.3rem; }
  .frente-card p{ color:var(--muted); font-size:.95rem; flex:1; }
  .frente-card .go{ font-size:12px; letter-spacing:.06em; text-transform:uppercase; font-weight:600; color:var(--ink); display:inline-flex; align-items:center; gap:6px; }
  .frente-card .go svg{ width:13px; height:13px; transition:transform .25s ease; }
  .frente-card:hover .go svg{ transform:translateX(4px); }
  @media (min-width:640px){ .frentes-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (min-width:1040px){ .frentes-grid{ grid-template-columns:repeat(3,1fr); } }

  /* ---------- DEPOIMENTOS ---------- */
  .depo{ background:var(--off); padding:84px 0; border-top:1px solid var(--line); }
  .depo-head{ text-align:center; max-width:600px; margin:0 auto 40px; }
  .depo-head h2{ font-size:clamp(1.7rem,4vw,2.3rem); }
  .depo-grid{ display:grid; grid-template-columns:1fr; gap:18px; }
  .depo-card{ background:var(--paper); border:1px solid var(--line); border-radius:2px; padding:28px 26px; }
  .depo-card .stars{ color:var(--gold); font-size:13px; letter-spacing:.1em; }
  .depo-card p{ margin-top:14px; font-size:1rem; color:var(--ink); }
  .depo-card .meta{ margin-top:16px; display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
  .depo-card .name{ font-weight:600; font-size:.92rem; }
  .depo-card .role{ font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; }
  .depo-card .src{ font-size:10.5px; color:var(--gold-deep); text-transform:uppercase; letter-spacing:.06em; font-weight:600; }
  .depo-note{ text-align:center; margin-top:30px; font-size:12.5px; color:var(--muted); }
  @media (min-width:820px){ .depo-grid{ grid-template-columns:repeat(3,1fr); } }

  /* ---------- CTA FINAL ---------- */
  .cta-final{ background:var(--ink); color:var(--paper); text-align:center; padding:96px 0; position:relative; overflow:hidden; }
  .cta-final::before{ content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 0%, rgba(176,141,78,.16), transparent 60%); pointer-events:none; }
  .cta-final h2{ font-size:clamp(1.9rem,5vw,3.1rem); max-width:18ch; margin:0 auto; position:relative; }
  .cta-final .sub{ margin-top:16px; color:#a99f8d; max-width:44ch; margin-left:auto; margin-right:auto; position:relative; }
  .cta-tracks{ display:flex; flex-direction:column; gap:16px; max-width:380px; margin:40px auto 0; position:relative; }
  .cta-track{ display:flex; align-items:center; justify-content:space-between; gap:16px; border:1px solid rgba(217,194,155,.28); padding:20px 24px; text-align:left; transition:border-color .3s ease, background .3s ease; }
  .cta-track:hover{ border-color:var(--gold-soft); background:rgba(217,194,155,.06); }
  .cta-track .t{ font-family:'Playfair Display',serif; font-size:1.15rem; }
  .cta-track .d{ font-size:12.5px; color:#a99f8d; margin-top:3px; }
  .cta-track svg{ width:18px; height:18px; color:var(--gold-soft); flex:none; }
  @media (min-width:640px){ .cta-tracks{ flex-direction:row; } .cta-track{ flex:1; flex-direction:column; align-items:flex-start; } }
  .cta-final .marcas{ margin-top:48px; position:relative; }
  .cta-final .marcas .eyebrow{ color:var(--gold-soft); }
  .cta-final .marcas-row{ justify-content:center; }

  /* ---------- FOOTER ---------- */
  footer{ background:var(--paper); padding:56px 0 30px; }
  .foot-grid{ display:grid; grid-template-columns:1fr; gap:34px; padding-bottom:36px; border-bottom:1px solid var(--line); }
  .foot-brand{ font-family:'Playfair Display',serif; font-size:1.3rem; }
  .foot-brand b{ color:var(--gold-deep); }
  .foot-contact{ margin-top:12px; font-size:.92rem; color:var(--muted); }
  .foot-col h4{ font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:12px; }
  .foot-col ul{ list-style:none; display:flex; flex-direction:column; gap:8px; }
  .foot-col a{ font-size:.92rem; color:var(--ink); }
  .foot-col a:hover{ color:var(--gold-deep); }
  .marcas{ padding-top:32px; }
  .marcas .eyebrow{ display:block; margin-bottom:16px; }
  .marcas-row{ display:flex; flex-wrap:wrap; gap:22px 34px; align-items:baseline; }
  .marcas-row span{ font-family:'Playfair Display',serif; font-size:1.05rem; color:#8f8576; letter-spacing:.01em; }
  .foot-base{ margin-top:32px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; font-size:11px; color:#9b9284; letter-spacing:.03em; }
  @media (min-width:760px){ .foot-grid{ grid-template-columns:1.3fr 1fr 1fr; } }
