/* ============================================================
   RmaisD Arquitetura — folha de estilos compartilhada
   Regras usadas por mais de uma página (ou por todas).
   Ajustes específicos de cada página ficam em css/pagina-*.css
   ============================================================ */

/* ===== Design tokens ===== */
  :root{
    --paper:#FBFAF7;
    --paper-2:#F1EEE7;
    --ink:#1A1815;
    --ink-soft:#55504A;
    --gray:#878686;
    --orange:#F07D00;
    --orange-ink:#C96A00;
    --line:rgba(26,24,21,.13);
    --shadow: 0 30px 60px -30px rgba(26,24,21,.35);
    --sticky-scrim: linear-gradient(180deg, rgba(15,14,12,.05) 0%, rgba(15,14,12,.15) 45%, rgba(15,14,12,.78) 100%);
  }
@media (prefers-color-scheme:dark) { :root:not([data-theme="light"]){
      --paper:#14120F;
      --paper-2:#1C1914;
      --ink:#F3F0EA;
      --ink-soft:#C7C1B7;
      --gray:#A39F97;
      --orange:#FF9C3D;
      --orange-ink:#FFB05C;
      --line:rgba(243,240,234,.14);
      --shadow: 0 30px 70px -30px rgba(0,0,0,.6);
    } }
:root[data-theme="dark"]{
    --paper:#14120F;
    --paper-2:#1C1914;
    --ink:#F3F0EA;
    --ink-soft:#C7C1B7;
    --gray:#A39F97;
    --orange:#FF9C3D;
    --orange-ink:#FFB05C;
    --line:rgba(243,240,234,.14);
    --shadow: 0 30px 70px -30px rgba(0,0,0,.6);
  }
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Archivo',sans-serif;
    font-weight:400;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
img{max-width:100%;display:block;}
a{color:inherit;}
.u{ /* utility label style */
    font-family:'Space Grotesk',sans-serif;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:11.5px;
  }
h1,h2,h3{
    font-family:'Fraunces',serif;
    font-weight:500;
    margin:0;
    text-wrap:balance;
  }
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,48px);}
.wrap-narrow{max-width:760px;margin:0 auto;padding:0 clamp(20px,4vw,48px);}
/* ===== Reveal-on-scroll ===== */
  [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .8s ease, transform .8s cubic-bezier(.19,1,.22,1);}
[data-reveal].in{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion:reduce) { [data-reveal]{opacity:1 !important;transform:none !important;transition:none !important;} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto;} }
/* ===== Header ===== */
  header.top{
    padding:14px clamp(20px,4vw,48px) 12px;
    display:flex;align-items:center;justify-content:space-between;
    max-width:1180px;margin:0 auto;
  }
header.top .logo{display:inline-flex;}
header.top .logo img{height:46px;width:auto;display:block;}
nav.mainnav{display:flex;gap:clamp(18px,3vw,36px);}
nav.mainnav a{
    font-family:'Space Grotesk',sans-serif;font-weight:500;
    text-transform:uppercase;letter-spacing:.1em;font-size:12px;
    color:var(--ink-soft);text-decoration:none;
    border-bottom:1px solid transparent;padding-bottom:3px;
    transition:color .25s ease,border-color .25s ease;
  }
nav.mainnav a:focus-visible{outline:2px solid var(--orange);outline-offset:4px;border-radius:2px;}
@media (max-width:640px) { nav.mainnav{gap:14px;} }
@media (max-width:640px) { nav.mainnav a{font-size:10.5px;} }
/* ===== Section shell ===== */
  section{padding:clamp(64px,10vw,120px) 0;}
.eyebrow{
    font-family:'Space Grotesk',sans-serif;font-weight:600;text-transform:uppercase;
    letter-spacing:.14em;font-size:11.5px;color:var(--orange-ink);
  }
.manifesto-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(32px,6vw,80px);align-items:start;}
.stat-block{border-left:1px solid var(--line);padding-left:28px;}
.stat-block .num{font-family:'Fraunces',serif;font-size:clamp(46px,7vw,72px);font-weight:400;color:var(--orange);line-height:1;}
@media (max-width:820px) { .manifesto-grid{grid-template-columns:1fr;} }
@media (max-width:820px) { .stat-block{border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:22px;} }
.servicos-list{border-bottom:1px solid var(--line);}
.servico .k{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--gray);}
.servico p{color:var(--ink-soft);font-size:14.5px;max-width:56ch;margin:0;}
@media (max-width:640px) { .servico{grid-template-columns:1fr;gap:8px;} }
.av-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);}
.credenciais li{font-family:'Space Grotesk',sans-serif;font-size:13px;letter-spacing:.03em;color:#F0EAE0;padding-bottom:6px;border-bottom:1px solid var(--av-line);}
.laudos{list-style:none;margin:0;padding:0;}
.laudos li{padding:16px 0;border-top:1px solid var(--av-line);font-size:15px;color:#EFEAE1;}
.laudos li:last-child{border-bottom:1px solid var(--av-line);}
.laudos b{font-family:'Fraunces',serif;font-weight:500;color:var(--paper);display:block;margin-bottom:3px;font-size:16.5px;}
.cta-solid:hover, .cta-solid:focus-visible{background:var(--orange-ink);}
@media (max-width:820px) { .av-grid{grid-template-columns:1fr;} }
/* ===== Footer ===== */
  footer{padding:clamp(48px,8vw,80px) 0 40px;}
.foot-grid{display:grid;grid-template-columns:1.1fr .8fr 1fr 1fr;gap:clamp(24px,4vw,44px);padding-bottom:40px;border-bottom:1px solid var(--line);}
@media (max-width:820px) { .foot-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:480px) { .foot-grid{grid-template-columns:1fr;} }
.foot-grid h4{
    font-family:'Space Grotesk',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:11.5px;
    color:var(--gray);margin:0 0 14px;
  }
.foot-grid p, .foot-grid a{font-size:14.5px;color:var(--ink-soft);margin:0 0 6px;text-decoration:none;display:block;}
.foot-grid a:hover{color:var(--orange-ink);}
.foot-logo img{height:26px;width:auto;margin-bottom:16px;}
.foot-logo p{max-width:32ch;}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding-top:22px;}
.foot-bottom p{font-size:12px;color:var(--gray);margin:0;}
.foot-credito{font-size:12px;color:var(--gray);margin:0;text-decoration:none;}
.foot-credito:hover{color:var(--orange-ink);}
.foot-privacidade-heading{margin-top:22px;}

/* ===== Utilitários de espaçamento/estado (evitam style="" inline) ===== */
.visually-hidden{position:absolute;left:-9999px;}
.mt-14{margin-top:14px;}
.mt-18{margin-top:18px;}
.u-light{color:#F0EAE0;}
nav.mainnav a:hover, nav.mainnav a:focus-visible, nav.mainnav a[aria-current="page"]{color:var(--orange-ink);border-color:var(--orange);}
.page-banner{padding:clamp(48px,7vw,72px) 0 clamp(40px,6vw,56px);background:var(--paper-2);border-bottom:1px solid var(--line);}
.page-banner h1{font-size:clamp(30px,5vw,52px);font-weight:400;font-style:italic;max-width:18ch;margin-top:14px;}
.section-head{max-width:64ch;margin-bottom:36px;}
.section-head h2{font-size:clamp(24px,3.4vw,32px);font-weight:400;margin-top:14px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;}
.form-grid .full{grid-column:1/-1;}
.form-grid label{display:block;font-family:'Space Grotesk',sans-serif;font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--gray);margin-bottom:8px;}
.form-grid input, .form-grid select, .form-grid textarea{
    width:100%;font-family:'Archivo',sans-serif;font-size:14.5px;color:var(--ink);
    background:var(--paper);border:1px solid var(--line);padding:12px 14px;border-radius:2px;
  }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:var(--orange);}
.form-grid textarea{resize:vertical;min-height:110px;}
.form-submit{margin-top:26px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.form-submit button{
    font-family:'Space Grotesk',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:12.5px;
    background:var(--orange);color:#241300;border:none;padding:14px 30px;cursor:pointer;transition:background .25s ease;
  }
.form-submit button:hover{background:var(--orange-ink);}
.form-note{font-size:12.5px;color:var(--gray);max-width:38ch;}
.form-alert{padding:14px 18px;margin-bottom:22px;font-size:14px;border-left:3px solid;}
.form-alert--ok{background:rgba(240,125,0,.1);border-color:var(--orange);color:var(--ink);}
.form-alert--erro{background:rgba(196,60,40,.08);border-color:#C43C28;color:var(--ink);}
@media (max-width:640px) { .form-grid{grid-template-columns:1fr;} }
.cta-band{text-align:center;}
.cta-band p{color:var(--ink-soft);font-size:15px;max-width:48ch;margin:0 auto;}
