@font-face{font-family:'Bricolage Grotesque'; font-style:normal; font-weight:600 800; font-display:swap; src:url(/fonts/bricolage-grotesque-800.woff2) format('woff2');}
  @font-face{font-family:'Archivo'; font-style:normal; font-weight:400 700; font-display:swap; src:url(/fonts/archivo.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
  @font-face{font-family:'IBM Plex Mono'; font-style:normal; font-weight:400; font-display:swap; src:url(/fonts/ibm-plex-mono-400.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
  @font-face{font-family:'IBM Plex Mono'; font-style:normal; font-weight:600; font-display:swap; src:url(/fonts/ibm-plex-mono-600.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

  :root{
    --ink:#0f0d0a;
    --panel:#18140f;
    --panel-2:#1f1912;
    --paper:#efeae0;
    --paper-soft:#a49a86;
    --accent:#f4c400;
    --line:rgba(239,234,224,.14);
    --display:'Bricolage Grotesque', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --sans:'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --mono:'IBM Plex Mono', ui-monospace, 'SF Mono', Consolas, monospace;
    --ease:cubic-bezier(.16,1,.32,1);
    --pad:clamp(20px, 5vw, 64px);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth; -webkit-text-size-adjust:100%;}
  body{background:var(--ink); color:var(--paper); font-family:var(--sans); font-size:17px; line-height:1.6; overflow-x:hidden;}
  ::selection{background:var(--accent); color:var(--ink);}
  a{color:inherit; text-decoration:none;}
  img{display:block; max-width:100%;}
  :focus-visible{outline:2px solid var(--accent); outline-offset:3px;}
  html{scrollbar-width:thin; scrollbar-color:var(--paper-soft) var(--ink);}
  ::-webkit-scrollbar{width:9px;}
  ::-webkit-scrollbar-track{background:var(--ink);}
  ::-webkit-scrollbar-thumb{background:var(--paper-soft);}

  h1,h2,h3{font-family:var(--display); font-weight:800; line-height:1.02; letter-spacing:-.025em; text-wrap:balance;}
  p{text-wrap:pretty;}

  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    min-height:52px; padding:15px 28px;
    font:700 14px/1 var(--sans); letter-spacing:.03em; text-transform:uppercase;
    border-radius:3px; border:1px solid transparent; background:transparent; cursor:pointer;
    transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease);
  }
  .btn svg{width:18px; height:18px; flex:none;}
  .btn:active{transform:scale(.98);}
  .btn--accent{background:var(--accent); color:#0f0d0a;}
  .btn--accent:hover{background:#ffe066; color:#0f0d0a;}
  .btn--line{border-color:var(--line); color:var(--paper);}
  .btn--line:hover{border-color:var(--accent); color:var(--accent);}
  .btn--sm{min-height:40px; padding:9px 16px; font-size:12px;}

  /* ===== topbar (âncoras) ===== */
  .topbar{
    position:sticky; top:0; z-index:30;
    display:flex; align-items:center; justify-content:space-between;
    padding:14px var(--pad);
    background:rgba(15,13,10,.88); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .topbar__logo img{height:44px; width:auto;}
  .topbar nav{display:none;}
  .progress{position:fixed; top:0; left:0; right:0; height:2px; z-index:50; background:var(--accent); transform-origin:left; transform:scaleX(0); pointer-events:none;}
  .wa-float{
    position:fixed; right:16px; bottom:16px; z-index:40;
    display:flex; flex-direction:column; gap:8px;
    transform:translateY(130%); opacity:0; visibility:hidden;
    transition:transform .45s var(--ease), opacity .35s var(--ease), visibility 0s .45s;
  }
  .wa-float.is-on{transform:none; opacity:1; visibility:visible; transition-delay:0s;}
  .wa-float a{
    display:flex; align-items:center; gap:10px; min-height:48px; padding:0 16px;
    border-radius:3px; background:var(--accent); color:var(--ink);
    font:700 13px/1 var(--sans); letter-spacing:.03em; text-transform:uppercase;
    box-shadow:0 10px 24px rgba(0,0,0,.5);
    transition:background .25s var(--ease), transform .25s var(--ease);
  }
  .wa-float a:hover{background:#ffe066;}
  .wa-float a:active{transform:scale(.98);}
  .wa-float svg{width:22px; height:22px; flex:none;}

  /* ===== hero ===== */
  .hero{position:relative; overflow:hidden;}
  .hero__bg{position:absolute; inset:0;}
  .hero__bg img{width:100%; height:100%; object-fit:cover; object-position:50% 62%;}
  .hero__bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,13,10,.55) 0%, rgba(15,13,10,.55) 40%, var(--ink) 92%);}
  .hero__body{position:relative; z-index:1; padding:clamp(60px,10vh,110px) var(--pad) 56px; max-width:900px;}
  .hero__eyebrow{display:inline-block; font:700 12px/1 var(--mono); letter-spacing:.05em; color:var(--ink); background:var(--accent); padding:7px 12px; margin-bottom:20px;}
  .hero h1{font-size:clamp(2.3rem, 6.6vw, 4rem); margin-bottom:20px;}
  .hero__sub{font-size:clamp(1rem, 2.4vw, 1.15rem); color:#d9d0bd; max-width:52ch; margin-bottom:28px;}
  .hero__actions{display:flex; flex-wrap:wrap; align-items:center; gap:16px 28px; margin-bottom:30px;}
  .hero__trust{display:flex; flex-wrap:wrap; gap:10px 24px; font:600 13px/1 var(--sans); color:var(--paper-soft);}
  .hero__trust li{display:flex; align-items:center; gap:8px; list-style:none;}
  .hero__trust svg{width:16px; height:16px; color:var(--accent); flex:none;}
  .js-anim .hero__bg{animation:zoomOut 2.2s var(--ease) both;}
  @keyframes zoomOut{from{scale:1.1;} to{scale:1;}}
  .js-anim .hero__eyebrow,.js-anim .hero h1,.js-anim .hero__sub,.js-anim .hero__actions,.js-anim .hero__trust{opacity:0; animation:rise .9s var(--ease) forwards;}
  .js-anim .hero h1{animation-delay:.1s;}
  .js-anim .hero__sub{animation-delay:.2s;}
  .js-anim .hero__actions{animation-delay:.3s;}
  .js-anim .hero__trust{animation-delay:.38s;}
  @keyframes rise{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:none;}}

  /* ===== genérico ===== */
  main{max-width:1180px; margin:0 auto; padding:0 var(--pad);}
  section[id]{scroll-margin-top:76px;}
  .section{padding:clamp(56px,8vw,96px) 0;}
  .section-head{max-width:640px; margin-bottom:40px;}
  .kicker{display:inline-block; font:700 12px/1 var(--mono); letter-spacing:.06em; color:var(--accent); margin-bottom:14px;}
  .section-head h2{font-size:clamp(1.8rem, 4.6vw, 2.6rem); margin-bottom:12px;}
  .section-head p{color:var(--paper-soft); font-size:1.02rem; max-width:56ch;}

  .js-reveal [data-reveal]{opacity:0; transform:translateY(18px); transition:opacity .75s var(--ease) var(--d,0s), transform .75s var(--ease) var(--d,0s);}
  .js-reveal [data-reveal].in{opacity:1; transform:none;}

  /* ===== grade de ícones (diferenciais / ficha técnica) ===== */
  .icon-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .icon-card{background:var(--panel); padding:26px 22px;}
  .icon-card__ico{width:38px; height:38px; border-radius:3px; background:rgba(244,196,0,.12); color:var(--accent); display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
  .icon-card__ico svg{width:20px; height:20px;}
  .icon-card h3{font-family:var(--sans); font-weight:700; font-size:1.02rem; margin-bottom:6px;}
  .icon-card p{color:var(--paper-soft); font-size:.92rem;}
  .icon-card b{font-family:var(--mono); color:var(--paper); font-weight:600;}

  /* ===== aplicações: cartão com foto presa ===== */
  .app-grid{display:grid; gap:1px; background:var(--line); border:1px solid var(--line);}
  .app-card{background:var(--panel); display:grid; grid-template-columns:auto 1fr; gap:0;}
  .app-card__photo{aspect-ratio:1/1; overflow:hidden; background:var(--panel-2);}
  .app-card__photo img{width:100%; height:100%; object-fit:cover; transition:scale .8s var(--ease);}
  @media (hover:hover){ .app-card:hover .app-card__photo img{scale:1.05;} }
  .app-card__body{padding:20px 22px; display:flex; flex-direction:column; justify-content:center;}
  .app-card__body h3{font-family:var(--display); font-weight:800; font-size:1.3rem; margin-bottom:6px;}
  .app-card__body p{color:var(--paper-soft); font-size:.9rem; margin-bottom:12px;}
  .app-card__body a{font:700 12px/1 var(--mono); letter-spacing:.04em; text-transform:uppercase; color:var(--accent); display:inline-flex; align-items:center; gap:6px;}
  .app-card__body a svg{width:14px; height:14px; transition:transform .25s var(--ease);}
  .app-card__body a:hover svg{transform:translateX(4px);}

  /* ===== painel foto+texto (extração) ===== */
  .panel{background:var(--panel); border:1px solid var(--line);}
  .panel-split{display:grid;}
  .panel-split__photo{aspect-ratio:4/3; overflow:hidden;}
  .panel-split__photo img{width:100%; height:100%; object-fit:cover;}
  .panel-split__body{padding:clamp(24px,4vw,44px);}
  .panel-split__body .kicker{margin-bottom:12px;}
  .panel-split__body h2{font-size:clamp(1.6rem,4vw,2.2rem); margin-bottom:14px;}
  .panel-split__body p{color:var(--paper-soft); margin-bottom:0;}
  .team-strip{margin-top:1px; aspect-ratio:21/9; overflow:hidden; border-top:1px solid var(--line);}
  .team-strip img{width:100%; height:100%; object-fit:cover;}

  /* ===== projetos: grade presa ===== */
  .gallery-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .gallery-grid figure{aspect-ratio:1/1; overflow:hidden; background:var(--panel-2);}
  .gallery-grid img{width:100%; height:100%; object-fit:cover; transition:scale .8s var(--ease);}
  @media (hover:hover){ .gallery-grid figure:hover img{scale:1.05;} }

  /* ===== contato ===== */
  .contact-panel{padding:clamp(28px,5vw,52px); display:grid; gap:28px;}
  .info{display:grid; gap:20px;}
  .info dt{font:700 12px/1 var(--mono); letter-spacing:.06em; color:var(--accent); margin-bottom:6px;}
  .info dd{font-size:1.02rem;}
  .contact-actions{display:flex; flex-wrap:wrap; gap:12px;}

  footer{padding:32px var(--pad) 100px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; font-size:13px; color:var(--paper-soft);}
  footer a:hover{color:var(--accent);}

  /* ===== responsive ===== */
  @media (min-width:860px){
    .topbar nav{display:flex; gap:28px; font-size:13px; letter-spacing:.03em;}
    .topbar nav a{padding-bottom:2px; border-bottom:1px solid transparent; transition:border-color .25s, color .25s;}
    .topbar nav a:hover{border-color:var(--accent); color:var(--accent);}
    .icon-grid{grid-template-columns:repeat(4,1fr);}
    .app-grid{grid-template-columns:repeat(2,1fr);}
    .panel-split{grid-template-columns:1fr 1fr;}
    .panel-split.rev .panel-split__photo{order:2;}
    .gallery-grid{grid-template-columns:repeat(4,1fr);}
    .contact-panel{grid-template-columns:1.1fr .9fr; align-items:start;}
  }
  @media (max-width:600px){
    body{font-size:16px;}
    .section{padding:48px 0;}
    .app-card{grid-template-columns:96px 1fr;}
  }
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{transition-duration:.01ms !important;}
  }

  [hidden]{display:none !important;}

  /* ===== nav: 7 links só cabem a partir de 1020px ===== */
  @media (min-width:860px) and (max-width:1019px){ .topbar nav{display:none;} }
  @media (min-width:1020px){ .topbar nav{gap:22px;} }

  /* ===== links de apoio nos cards ===== */
  .app-card__more{display:inline-block; margin-top:8px; font-size:.85rem; color:var(--paper-soft); border-bottom:1px solid var(--line);}
  .app-card__more:hover{color:var(--accent); border-color:var(--accent);}

  /* ===== 3 colunas de benefícios ===== */
  .icon-grid--3{grid-template-columns:repeat(2,1fr);}
  @media (min-width:860px){ .icon-grid--3{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:600px){ .icon-grid--3{grid-template-columns:1fr;} }

  /* ===== frete: passos numerados (sequência real) ===== */
  .steps{list-style:none; display:grid; gap:1px; background:var(--line); border:1px solid var(--line); counter-reset:step;}
  .steps li{background:var(--panel); padding:26px 22px; counter-increment:step;}
  .steps li::before{content:counter(step); display:block; font-family:var(--display); font-weight:800; font-size:2.4rem; line-height:1; color:var(--accent); margin-bottom:14px;}
  .steps h3{font-family:var(--sans); font-weight:700; font-size:1.02rem; margin-bottom:6px;}
  .steps p{color:var(--paper-soft); font-size:.92rem;}
  .steps-cta{margin-top:24px;}
  @media (min-width:860px){ .steps{grid-template-columns:repeat(3,1fr);} }

  /* ===== galeria com legenda ===== */
  .gallery-grid figure{position:relative;}
  .gallery-grid figcaption{position:absolute; left:0; right:0; bottom:0; padding:28px 12px 10px; font-size:.82rem; font-weight:600; color:var(--paper); background:linear-gradient(180deg, rgba(15,13,10,0), rgba(15,13,10,.85)); pointer-events:none;}

  /* ===== FAQ ===== */
  .faq{border-top:1px solid var(--line);}
  .faq details{border-bottom:1px solid var(--line);}
  .faq summary{list-style:none; cursor:pointer; padding:20px 44px 20px 0; position:relative; font-family:var(--display); font-weight:800; font-size:1.15rem; line-height:1.25;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{content:"+"; position:absolute; right:6px; top:50%; transform:translateY(-50%); font:400 1.6rem/1 var(--sans); color:var(--accent); transition:transform .25s var(--ease);}
  .faq details[open] summary::after{content:"\2212";}
  .faq summary:hover{color:var(--accent);}
  .faq details p{color:var(--paper-soft); padding:0 44px 22px 0; max-width:64ch;}

  /* ===== formulário de orçamento ===== */
  .quote{display:grid; gap:14px; margin-top:6px;}
  .quote__row{display:grid; gap:14px;}
  .field label{display:block; font-size:.82rem; font-weight:600; color:var(--paper-soft); margin-bottom:6px;}
  .field input,.field select{width:100%; min-height:50px; padding:12px 14px; font:400 16px/1.2 var(--sans); color:var(--paper); background:var(--panel-2); border:1px solid var(--line); border-radius:3px; appearance:none; -webkit-appearance:none;}
  .field select{background-image:linear-gradient(45deg,transparent 50%,var(--paper-soft) 50%),linear-gradient(135deg,var(--paper-soft) 50%,transparent 50%); background-position:calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size:6px 6px; background-repeat:no-repeat; padding-right:38px;}
  .field input::placeholder{color:#6f6657;}
  .field input:focus,.field select:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:transparent;}
  .quote .btn{width:100%; margin-top:4px;}
  .quote__actions{display:flex; flex-wrap:wrap; gap:12px;}
  .quote__actions .btn{flex:1 1 220px;}
  .quote__note{font-size:.82rem; color:var(--paper-soft);}
  @media (min-width:600px){ .quote__row{grid-template-columns:1fr 1fr;} }

  /* ===== formatos / preço / depoimentos (ativados quando houver dados) ===== */
  .format-grid{display:grid; gap:1px; background:var(--line); border:1px solid var(--line);}
  .format-card{background:var(--panel);}
  .format-card figure{aspect-ratio:4/3; overflow:hidden; background:var(--panel-2);}
  .format-card img{width:100%; height:100%; object-fit:cover;}
  .format-card__body{padding:18px 20px 22px;}
  .format-card h3{font-family:var(--display); font-weight:800; font-size:1.25rem; margin-bottom:6px;}
  .format-card p{color:var(--paper-soft); font-size:.9rem;}
  .format-card .meta{font-family:var(--mono); font-size:.85rem; color:var(--paper); margin-top:8px;}
  @media (min-width:860px){ .format-grid{grid-template-columns:repeat(3,1fr);} }
  .price-band{padding:clamp(28px,5vw,48px); border:1px solid var(--line); background:var(--panel);}
  .price-band strong{font-family:var(--display); font-weight:800; font-size:clamp(1.8rem,5vw,2.6rem); color:var(--accent);}
  .quotes{
    display:flex; gap:12px; overflow-x:auto; overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    margin-inline:calc(var(--pad) * -1); padding:2px var(--pad) 14px; scroll-padding-inline:var(--pad);
    scrollbar-width:none;
  }
  .quotes::-webkit-scrollbar{display:none;}
  .quotes blockquote{flex:0 0 min(84vw, 380px); scroll-snap-align:start; display:flex; flex-direction:column; background:var(--panel); border:1px solid var(--line); padding:26px 22px;}
  .quotes blockquote footer{margin-top:auto;}
  .quotes blockquote p{font-size:1.02rem; margin-bottom:18px;}
  .quotes footer{padding:0; border:0; display:block; font-size:.85rem; color:var(--paper-soft);}
  .quotes blockquote p{color:var(--paper);}
  .quotes .stars{display:flex; gap:3px; margin-bottom:14px; color:var(--accent);}
  .quotes .stars svg{width:16px; height:16px;}
  .quotes footer strong{color:var(--paper); font-weight:600;}
  .quotes__bar{display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:6px;}
  .quotes__more{font-size:.95rem;}
  .quotes__nav{display:none; gap:8px;}
  .quotes__nav button{width:46px; height:46px; border:1px solid var(--line); border-radius:3px; background:transparent; color:var(--paper); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:border-color .25s var(--ease), color .25s var(--ease), opacity .25s var(--ease);}
  .quotes__nav button:hover:not(:disabled){border-color:var(--accent); color:var(--accent);}
  .quotes__nav button:disabled{opacity:.35; cursor:default;}
  .quotes__nav svg{width:18px; height:18px;}
  @media (hover:hover) and (min-width:700px){ .quotes__nav{display:flex;} }
  .quotes__more a{border-bottom:1px solid var(--line);}
  .quotes__more a:hover{color:var(--accent); border-color:var(--accent);}

  /* ===== rodapé ===== */
  footer .foot-links{display:flex; flex-wrap:wrap; gap:6px 18px;}
  .also{padding:8px 0 0; font-size:.95rem; color:var(--paper-soft);}
  .also a{color:var(--paper); border-bottom:1px solid var(--line); margin-right:14px;}
  .also a:hover{color:var(--accent); border-color:var(--accent);}

  /* ===== hero em tela cheia ===== */
  .hero{min-height:calc(100svh - 64px); display:flex; align-items:flex-end;}
  .hero__bg img{object-position:50% 55%;}
  .hero__bg::after{background:linear-gradient(180deg, rgba(15,13,10,.35) 0%, rgba(15,13,10,.15) 35%, rgba(15,13,10,.82) 78%, var(--ink) 100%), linear-gradient(90deg, rgba(15,13,10,.55), transparent 65%);}
  .hero__body{max-width:1180px; width:100%; margin:0 auto; padding:clamp(120px,22vh,220px) var(--pad) 48px;}
  .hero h1{font-size:clamp(2.4rem, 6.2vw, 5rem); max-width:17ch; line-height:.98; margin-bottom:22px;}
  .hero__sub{max-width:46ch;}

  /* ===== aplicações: painéis que abrem ===== */
  .apanels{display:flex; flex-direction:column; gap:8px;}
  .apanel{position:relative; overflow:hidden; height:84px; background:var(--panel-2); cursor:pointer; border-radius:3px; transition:height .7s var(--ease);}
  .apanel.is-open{height:min(70svh,460px); cursor:default;}
  .apanel img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.55) saturate(.9); scale:1.06; transition:filter .7s var(--ease), scale 1.1s var(--ease);}
  .apanel.is-open img{filter:none; scale:1;}
  .apanel::after{content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg, transparent 35%, rgba(15,13,10,.88)); opacity:0; transition:opacity .6s var(--ease);}
  .apanel.is-open::after{opacity:1;}
  .apanel__tab{position:absolute; left:20px; top:50%; translate:0 -50%; font:800 clamp(1.5rem,5vw,2rem)/1 var(--display); transition:opacity .3s var(--ease);}
  .apanel.is-open .apanel__tab{opacity:0;}
  .apanel__body{position:absolute; left:0; right:0; bottom:0; padding:22px; z-index:1; opacity:0; visibility:hidden; translate:0 14px; transition:opacity .45s var(--ease), translate .6s var(--ease), visibility 0s .45s;}
  .apanel.is-open .apanel__body{opacity:1; visibility:visible; translate:none; transition-delay:.25s,.25s,0s;}
  .apanel__body h3{font-size:clamp(2rem,7vw,3rem); margin-bottom:8px;}
  .apanel__body p{max-width:38ch; color:#e4dccb; margin-bottom:16px;}
  .apanel__cta{display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px;}
  .apanel__more{font-size:.9rem; border-bottom:1px solid var(--line);}
  .apanel__more:hover{color:var(--accent); border-color:var(--accent);}
  @media (min-width:860px){
    .apanels{flex-direction:row; height:min(76svh,620px);}
    .apanel,.apanel.is-open{height:auto;}
    .apanel{flex:1 1 0; min-width:0; transition:flex-grow .8s var(--ease);}
    .apanel.is-open{flex-grow:5;}
    .apanel__tab{left:50%; top:auto; bottom:26px; translate:-50% 0; writing-mode:vertical-rl; rotate:180deg; font-size:2rem;}
    .apanel__body{padding:32px;}
  }

  /* ===== galeria de obras ===== */
  .filters{display:flex; gap:8px; overflow-x:auto; padding-bottom:6px; margin-bottom:18px; scrollbar-width:none;}
  .filters::-webkit-scrollbar{display:none;}
  .filters button{flex:none; min-height:42px; padding:0 18px; border:1px solid var(--line); border-radius:999px; background:transparent; color:var(--paper-soft); font:600 14px/1 var(--sans); cursor:pointer; transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);}
  .filters button:hover{color:var(--paper); border-color:var(--paper-soft);}
  .filters button[aria-pressed="true"]{background:var(--accent); border-color:var(--accent); color:var(--ink);}
  .mosaic{columns:2; column-gap:8px; list-style:none;}
  .mosaic li{break-inside:avoid; margin-bottom:8px; border-radius:3px; overflow:hidden; background:var(--panel-2);}
  .mosaic li[hidden]{display:none;}
  .tile{display:block; width:100%; padding:0; border:0; background:none; cursor:zoom-in; overflow:hidden;}
  .tile img{width:100%; height:auto; transition:scale .9s var(--ease);}
  @media (hover:hover){ .tile:hover img{scale:1.05;} }
  .js-reveal .mosaic li{opacity:0; clip-path:inset(14% 0 0 0); transition:opacity .8s var(--ease), clip-path .9s var(--ease);}
  .js-reveal .mosaic li.in{opacity:1; clip-path:inset(0);}
  .mosaic__more{display:flex; justify-content:center; margin-top:22px;}
  @media (min-width:700px){ .mosaic{columns:3; column-gap:10px;} .mosaic li{margin-bottom:10px;} }
  @media (min-width:1100px){ .mosaic{columns:4;} }

  /* ===== foto ampliada ===== */
  .lb{border:0; padding:0; background:transparent; max-width:100vw; max-height:100dvh; width:100vw; height:100dvh; color:var(--paper);}
  .lb:not([open]){display:none;}
  .lb::backdrop{background:rgba(8,7,5,.94);}
  .lb img{position:absolute; inset:56px 12px 56px; margin:auto; max-width:calc(100% - 24px); max-height:calc(100% - 112px); width:auto; height:auto; object-fit:contain;}
  .lb button{position:absolute; width:48px; height:48px; border:1px solid var(--line); border-radius:50%; background:rgba(15,13,10,.6); color:var(--paper); font:400 28px/1 var(--sans); cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0 0 3px;}
  .lb button:hover{border-color:var(--accent); color:var(--accent);}
  .lb__x{top:10px; right:10px;}
  .lb__n{top:50%; translate:0 -50%;}
  .lb__n--prev{left:10px;} .lb__n--next{right:10px;}
  .lb__c{position:absolute; left:0; right:0; bottom:16px; text-align:center; font-size:.85rem; color:var(--paper-soft);}
  @media (max-width:699px){ .lb__n{top:auto; bottom:8px; translate:none;} .lb__c{bottom:24px;} }

  @media (prefers-reduced-motion:reduce){
    .apanel,.apanel img,.apanel__body,.mosaic li,.tile img{transition:none !important;}
    .hero__bg img{animation:none !important;}
  }

  /* celular: os dois WhatsApp viram uma barra na base, sem cobrir o texto */
  @media (max-width:699px){
    .wa-float{left:12px; right:12px; bottom:12px; flex-direction:row; gap:8px;}
    .wa-float a{flex:1; justify-content:center;}
    footer{padding-bottom:84px;}
  }

  /* ===== tema claro (bege de pedra) alternando com o escuro ===== */
  :root{--accent-t:var(--accent);}
  .theme-light{--ink:#efe9dc; --panel:#e5ddcc; --panel-2:#dcd3bf; --paper:#1a1510; --paper-soft:#5c5343; --line:rgba(26,21,16,.2); --accent-t:#765800; background:var(--ink); color:var(--paper);}
  .section.theme-light{box-shadow:0 0 0 100vmax var(--ink); clip-path:inset(0 -100vmax);}
  .theme-light .kicker,.theme-light .icon-card__ico,.theme-light .faq summary::after,.theme-light .faq summary:hover,.theme-light .btn--line:hover,.theme-light .topbar nav a:hover{color:var(--accent-t);}
  .theme-light .btn--line:hover{border-color:var(--accent-t);}
  .theme-light .icon-card__ico{background:rgba(138,104,0,.12);}
  .theme-light .filters button[aria-pressed="true"]{color:#0f0d0a;}
  .theme-light .filters button:hover{color:var(--paper); border-color:var(--paper);}
  .topbar.theme-light{background:rgba(239,233,220,.95); border-bottom-color:rgba(26,21,16,.14);}
  .theme-light .icon-card{border:0;}

  /* ===== cabeçalho: dois botões iguais ===== */
  .topbar{padding-top:10px; padding-bottom:10px;}
  .topbar__cta{display:flex; gap:8px;}
  .topbar__cta .btn{min-width:96px; padding-inline:14px;}
  .topbar__cta svg{width:16px; height:16px;}
  @media (max-width:420px){ .topbar__cta .btn{min-width:0; padding-inline:11px; gap:6px;} }

  /* ===== foto principal: pedra em evidência ===== */
  .hero__bg::after{background:linear-gradient(180deg, rgba(15,13,10,.28) 0%, rgba(15,13,10,0) 28%, rgba(15,13,10,.72) 78%, var(--ink) 100%), linear-gradient(90deg, rgba(15,13,10,.5), transparent 62%);}
  .hero__actions{display:grid; grid-template-columns:repeat(2, 285px); gap:12px;}
  .hero__actions .btn{justify-content:center; white-space:nowrap;}
  @media (max-width:699px){
    .hero{display:block; min-height:0;}
    .hero__bg{position:relative; inset:auto; height:54svh; min-height:300px;}
    .hero__bg::after{background:linear-gradient(180deg, rgba(15,13,10,0) 55%, var(--ink) 100%);}
    .hero__body{padding:0 var(--pad) 26px;}
    .hero h1{font-size:clamp(2.2rem,9.4vw,2.8rem); margin-bottom:14px;}
    .hero__sub{margin-bottom:20px;}
    .hero__bg{height:46svh; min-height:280px;}
    .hero__sub{font-size:.98rem; margin-bottom:14px;}
    .hero__ask{display:block;}
    .hero__actions{grid-template-columns:1fr 1fr;}
    .hero__actions .lg{display:none;}
    .hero__actions .btn{padding-inline:12px;}
  }

  /* ===== faixa de confiança ===== */
  .trust{background:var(--accent); color:#0f0d0a;}
  .trust ul{list-style:none; max-width:1180px; margin:0 auto; padding:16px var(--pad); display:grid; gap:10px;}
  .trust li{display:flex; align-items:center; gap:10px; font:700 15px/1.3 var(--sans);}
  .trust svg{width:20px; height:20px; flex:none;}
  @media (min-width:760px){ .trust ul{grid-template-columns:repeat(3,auto); justify-content:space-between; padding-block:18px;} .trust li{font-size:16px;} }

  /* ===== A pedra: números grandes ao lado da foto ===== */
  .pedra{display:grid; gap:28px;}
  .pedra__photo{overflow:hidden; border-radius:3px; background:var(--panel-2); aspect-ratio:4/3;}
  .pedra__photo img{width:100%; height:100%; object-fit:cover;}
  .pedra__body h2{font-size:clamp(2rem,5vw,3.2rem); margin-bottom:14px;}
  .pedra__lead{font-size:1.08rem; color:var(--paper-soft); max-width:48ch; margin-bottom:26px;}
  .pedra__nums{display:grid; gap:0; border-top:1px solid var(--line);}
  .pedra__nums div{display:grid; grid-template-columns:minmax(150px,auto) 1fr; align-items:center; gap:22px; padding:18px 0; border-bottom:1px solid var(--line);}
  .pedra__nums dt{font:800 clamp(2.8rem,8vw,4.2rem)/1 var(--display); letter-spacing:-.02em;}
  .pedra__nums dd{font-size:.98rem; color:var(--paper-soft);}
  .pedra__nums dd b{color:var(--paper);}
  .pedra__tags{list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin-top:22px;}
  .pedra__tags li{padding:9px 14px; border:1px solid var(--line); border-radius:999px; font-size:.9rem; font-weight:600;}
  @media (min-width:860px){
    .pedra{grid-template-columns:5fr 6fr; gap:clamp(32px,5vw,72px); align-items:center;}
    .pedra__photo{aspect-ratio:auto; height:100%; min-height:520px;}
  }

  .hero__ask{display:none; font-weight:700; font-size:.92rem; margin-bottom:10px; color:var(--paper);}

  @media (max-width:699px){ .hero__ask{display:block;} }

  /* ===== topo: fotos que trocam sozinhas ===== */
  .hero__bg{overflow:hidden;}
  .hero__bg::after{z-index:60;}
  .hero__slide{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1.6s ease;}
  .hero__slide.on{opacity:1;}
  @media (max-width:699px){
    .hero__bg::after{background:linear-gradient(180deg, rgba(15,13,10,0) 40%, rgba(15,13,10,.55) 72%, var(--ink) 100%);}
  }
  .hero__bg{margin-bottom:-1px;}

  /* ===== história: carrossel de arrastar ===== */
  .story{padding:clamp(56px,8vw,96px) 0;}
  .story .section-head{margin-bottom:22px;}
  .story__hint{display:flex; align-items:center; gap:8px; font-weight:600; color:var(--paper);}
  .story__hint .nudge{width:20px; height:20px; color:var(--accent); animation:nudge 1.5s ease-in-out infinite;}
  @keyframes nudge{0%,100%{transform:translateX(0);} 50%{transform:translateX(7px);}}
  .story__track{display:flex; gap:14px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; margin-inline:calc(var(--pad) * -1); padding:2px var(--pad) 14px; scroll-padding-inline:var(--pad); scrollbar-width:none;}
  .story__track::-webkit-scrollbar{display:none;}
  .stage{flex:0 0 min(86vw, 520px); scroll-snap-align:start; background:var(--panel); border:1px solid var(--line); border-radius:3px; overflow:hidden; display:flex; flex-direction:column;}
  .stage figure{aspect-ratio:4/3; overflow:hidden; background:var(--panel-2);}
  .stage figure img{width:100%; height:100%; object-fit:cover;}
  .stage__text{padding:20px 22px 24px; display:flex; flex-direction:column; align-items:flex-start; flex:1;}
  .stage__step{display:inline-flex; align-items:center; gap:8px; font:700 13px/1 var(--sans); color:var(--accent); margin-bottom:12px;}
  .stage__step svg{width:18px; height:18px;}
  .stage__text h3{font-size:clamp(1.4rem,3.4vw,1.8rem); margin-bottom:8px;}
  .stage__text p{color:#d9d0bd; margin-bottom:18px;}
  .stage__text .btn{margin-top:auto;}
  .story__bar{display:flex; align-items:center; gap:18px; margin-top:6px;}
  .story__prog{flex:1; height:3px; background:var(--line); border-radius:2px; overflow:hidden;}
  .story__prog i{display:block; height:100%; width:100%; background:var(--accent); transform:scaleX(.25); transform-origin:left;}
  @media (min-width:700px){ .story__nav{display:flex;} }
  @media (prefers-reduced-motion:reduce){ .story__hint .nudge{animation:none;} .hero__slide{transition:none;} }

  /* ===== ícones ===== */
  .trust svg{width:22px; height:22px;}
  .apanel__body h3{display:flex; align-items:center; gap:12px;}
  .apanel__body h3 svg{width:.8em; height:.8em; color:var(--accent); flex:none;}
  .apanel__tab svg{width:1em; height:1em; color:var(--accent); margin-right:10px; vertical-align:-.12em;}
  @media (min-width:860px){ .apanel__tab svg{display:none;} }
  .pedra__tags li{display:inline-flex; align-items:center; gap:8px;}
  .pedra__tags svg{width:17px; height:17px; color:var(--accent-t); flex:none;}
  .info dt{display:flex; align-items:center; gap:8px;}
  .info dt svg{width:15px; height:15px; flex:none;}

  /* A empresa */
  .empresa{display:grid; gap:32px;}
  .empresa__body h2{font-size:clamp(2rem,5vw,3.2rem); margin-bottom:16px; max-width:18ch;}
  .empresa__lead{font-size:1.08rem; color:var(--paper-soft); max-width:50ch; margin-bottom:26px;}
  .empresa__facts{border-top:1px solid var(--line); margin-bottom:28px;}
  .empresa__facts div{padding:14px 0; border-bottom:1px solid var(--line);}
  .empresa__facts dt{font:800 1.25rem/1.15 var(--display); letter-spacing:-.015em; color:var(--accent);}
  .empresa__facts dd{font-size:.95rem; color:var(--paper-soft); margin-top:3px;}
  .empresa__photos{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
  .empresa__photos figure{position:relative; overflow:hidden; border-radius:3px; background:var(--panel-2);}
  .empresa__photos img{width:100%; height:100%; object-fit:cover;}
  .empresa__main{grid-column:1/-1; aspect-ratio:16/10;}
  .empresa__main figcaption{position:absolute; left:0; right:0; bottom:0; padding:34px 14px 12px; font-size:.85rem; font-weight:600; background:linear-gradient(to top,rgba(15,13,10,.72),transparent);}
  .empresa__sm{aspect-ratio:1/1;}
  @media (min-width:860px){
    .empresa{grid-template-columns:5fr 7fr; gap:clamp(32px,5vw,72px); align-items:center;}
  }

  /* Informações dentro dos painéis */
  .apanel__body p{margin-bottom:12px;}
  .apanel__pts{list-style:none; display:grid; gap:6px; margin-bottom:18px; max-width:46ch;}
  .apanel__pts li{font-size:.9rem; line-height:1.35; color:#e4dccb; padding-left:14px; position:relative;}
  .apanel__pts li::before{content:""; position:absolute; left:0; top:.55em; width:6px; height:6px; border-radius:50%; background:var(--accent);}
  .apanel__pts b{color:#fff;}
  @media (max-width:859px){ .apanel.is-open{height:min(82svh,600px);} .apanel__body{padding:18px;} .apanel__body h3{margin-bottom:6px;} }
  @media (min-width:860px){ .apanel__pts{grid-template-columns:1fr 1fr; gap:10px 22px; max-width:60ch;} }

  /* Legibilidade do texto dos painéis: degradê só embaixo + sombra no texto (a foto continua aparecendo) */
  .apanel::after{background:linear-gradient(180deg, transparent 22%, rgba(10,8,6,.5) 55%, rgba(10,8,6,.88) 100%);}
  .apanel__body p,.apanel__pts li,.apanel__more{color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.9), 0 0 12px rgba(0,0,0,.65);}
  .apanel__pts li{font-size:.92rem; font-weight:500;}
  .apanel__pts li b{font-weight:700;}
  .apanel__body h3{text-shadow:0 1px 3px rgba(0,0,0,.8);}
  .apanel__more{border-color:rgba(255,255,255,.6);}
  @media (min-width:860px){ .apanel__pts li{font-size:.95rem;} }
