/* ══════════════════════════════════════════════════════════════════
   ARTERYX — site público (home + páginas de produto)
   Estilo editorial: papel claro, títulos em serifa, fios finos,
   muito respiro. Consumido por lp/_ui.php.

   A cor de destaque muda por página via --acc (definida no <head>).
   ══════════════════════════════════════════════════════════════════ */

*{box-sizing:border-box;margin:0;padding:0}

:root{
  --papel:#FBFAF7;        /* fundo principal (papel quente) */
  --papel-2:#F4F1EA;      /* seção alternada */
  --tinta:#141A24;        /* títulos */
  --texto:#3E434B;        /* corpo de texto */
  --fraco:#7C818A;        /* apoio */
  --linha:#E4DFD5;        /* fio fino */
  --linha-2:#D3CCBE;      /* fio um pouco mais forte */
  --ouro:#A87C2E;         /* acento tipográfico em fundo claro */
  --ouro-luz:#E6A93C;     /* acento em fundo escuro (ouro da marca) */
  --ink:#11151C;          /* fundo do intervalo escuro e do rodapé */
  --acc:#24559E;          /* destaque da página (sobrescrito por produto) */
  --ok:#2F7A55;
  --erro:#B3261E;
  --topo:74px;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
}

html{scroll-behavior:smooth;scroll-padding-top:calc(var(--topo) + 10px)}
body{
  font-family:var(--sans);background:var(--papel);color:var(--texto);
  font-size:1.02rem;line-height:1.72;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--tinta);color:var(--papel)}

.wrap{max-width:1180px;margin:0 auto;padding:0 30px}
.wrap-estreito{max-width:840px;margin:0 auto;padding:0 30px}

/* ─── Tipografia editorial ─────────────────────────────────────── */
h1,h2,h3,.serif{font-family:var(--serif);color:var(--tinta);font-weight:400;
                letter-spacing:-.015em;font-optical-sizing:auto}
h1{font-size:clamp(2.6rem,5.6vw,4.5rem);line-height:1.03;letter-spacing:-.028em}
h1 em{font-style:italic;color:var(--ouro);font-weight:300}
h2{font-size:clamp(1.85rem,3.4vw,2.75rem);line-height:1.12;letter-spacing:-.022em}
h3{font-size:1.16rem;line-height:1.3;letter-spacing:-.01em}

/* sobrescrita ("olho" de seção) */
.olho{font-family:var(--sans);font-size:.68rem;font-weight:600;text-transform:uppercase;
      letter-spacing:.2em;color:var(--ouro);display:inline-flex;align-items:center;gap:12px}
.olho::before{content:"";width:26px;height:1px;background:var(--ouro);opacity:.7;flex-shrink:0}
.olho.centro{justify-content:center}

/* índice numérico das seções (01, 02…) */
.num{font-family:var(--serif);font-size:.9rem;color:var(--linha-2);letter-spacing:.06em}

.fio{height:1px;background:var(--linha);border:0}

/* ─── Cabeçalho fixo ───────────────────────────────────────────── */
.topo{position:sticky;top:0;z-index:60;background:rgba(251,250,247,.86);
      backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--linha)}
.topo-in{height:var(--topo);display:flex;align-items:center;gap:34px}
.marca{display:flex;align-items:center;gap:11px;flex-shrink:0}
.marca img{height:29px;width:auto}
.marca span{font-size:.98rem;font-weight:600;letter-spacing:.26em;color:var(--tinta)}
.topo-nav{display:flex;gap:30px;margin-left:auto}
.topo-nav a{font-size:.83rem;font-weight:500;letter-spacing:.04em;color:var(--texto);
            position:relative;padding:4px 0}
.topo-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
                   background:var(--tinta);transition:right .3s cubic-bezier(.2,.7,.2,1)}
.topo-nav a:hover::after,.topo-nav a.on::after{right:0}
.topo-nav a.on{color:var(--tinta)}
.topo-acoes{display:flex;align-items:center;gap:20px;margin-left:8px}
.link-entrar{font-size:.83rem;font-weight:500;letter-spacing:.04em;color:var(--fraco);white-space:nowrap}
.link-entrar:hover{color:var(--tinta)}

/* ─── Botões ───────────────────────────────────────────────────── */
.bt{display:inline-flex;align-items:center;justify-content:center;gap:10px;
    font-family:var(--sans);font-size:.76rem;font-weight:600;text-transform:uppercase;
    letter-spacing:.13em;padding:15px 28px;border:1px solid var(--tinta);border-radius:2px;
    background:var(--tinta);color:var(--papel);cursor:pointer;
    transition:background .25s,color .25s,border-color .25s,transform .25s}
.bt:hover{background:var(--ouro);border-color:var(--ouro);color:#fff;transform:translateY(-1px)}
.bt-vazio{background:transparent;color:var(--tinta)}
.bt-vazio:hover{background:var(--tinta);border-color:var(--tinta);color:var(--papel)}
.bt-peq{padding:11px 20px;font-size:.71rem}

/* link com seta */
.seta{display:inline-flex;align-items:center;gap:9px;font-size:.83rem;font-weight:600;
      letter-spacing:.06em;color:var(--tinta);text-transform:uppercase}
.seta i{font-style:normal;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.seta:hover i{transform:translateX(6px)}

/* ─── Hero ─────────────────────────────────────────────────────── */
.hero{padding:clamp(70px,11vw,132px) 0 clamp(52px,7vw,84px);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;top:-260px;right:-220px;width:620px;height:620px;
             border-radius:50%;pointer-events:none;
             background:radial-gradient(circle,rgba(230,169,60,.13),transparent 66%)}
.hero-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:clamp(34px,6vw,88px);
           align-items:end;position:relative;z-index:1}
.hero h1{margin-top:26px}
.hero-dir{padding-bottom:6px}
.hero .sub{font-size:1.08rem;color:var(--texto);max-width:44ch;margin-bottom:30px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero-notas{list-style:none;display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:46px;
            padding-top:22px;border-top:1px solid var(--linha);position:relative;z-index:1}
.hero-notas li{display:flex;align-items:center;gap:9px;font-size:.83rem;color:var(--fraco)}
.hero-notas svg{width:14px;height:14px;color:var(--acc);flex-shrink:0}

/* ─── Seções ───────────────────────────────────────────────────── */
section{padding:clamp(64px,8vw,104px) 0}
.sec-papel{background:var(--papel-2)}
.sec-fio{border-top:1px solid var(--linha)}

.cab{max-width:660px;margin-bottom:clamp(38px,5vw,60px)}
.cab.centro{margin-left:auto;margin-right:auto;text-align:center}
.cab h2{margin:16px 0 14px}
.cab p{color:var(--fraco);font-size:1.02rem}

/* cabeçalho com índice à esquerda e texto à direita */
.cab-linha{display:grid;grid-template-columns:auto 1fr;gap:clamp(28px,5vw,70px);
           align-items:start;margin-bottom:clamp(38px,5vw,58px);
           padding-bottom:26px;border-bottom:1px solid var(--linha)}
.cab-linha .cab{margin-bottom:0;max-width:none}
.cab-linha .cab h2{margin-top:14px}

/* ─── Antes / depois ───────────────────────────────────────────── */
.dores{display:grid;gap:0;border-top:1px solid var(--linha)}
.dor{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;
     padding:20px 4px;border-bottom:1px solid var(--linha);transition:background .25s}
.dor:hover{background:rgba(255,255,255,.6)}
.dor .antes{color:var(--fraco);font-size:.96rem}
.dor .antes s{text-decoration-color:var(--linha-2);text-decoration-thickness:1px}
.dor .meio{color:var(--linha-2);font-size:.9rem;letter-spacing:.2em}
.dor .depois{color:var(--tinta);font-size:.99rem;font-weight:500}

/* ─── Cartões de recurso ───────────────────────────────────────── */
.mods{display:grid;grid-template-columns:repeat(3,1fr);gap:0;
      border-top:1px solid var(--linha);border-left:1px solid var(--linha)}
.mod{padding:32px 30px 34px;border-right:1px solid var(--linha);border-bottom:1px solid var(--linha);
     transition:background .3s}
.mod:hover{background:#fff}
.mod-ico{width:26px;height:26px;color:var(--acc);margin-bottom:20px}
.mod-ico svg{width:100%;height:100%}
.mod h3{margin-bottom:9px}
.mod p{font-size:.92rem;color:var(--fraco);line-height:1.66}

/* ─── Sistemas (home) ──────────────────────────────────────────── */
.sistemas{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--linha)}
.sis{display:flex;flex-direction:column;padding:38px 34px 34px;border-right:1px solid var(--linha);
     border-bottom:1px solid var(--linha);transition:background .3s}
.sis:first-child{border-left:1px solid var(--linha)}
.sis:hover{background:#fff}
.sis-num{font-family:var(--serif);font-size:2.1rem;line-height:1;color:var(--linha-2);margin-bottom:26px}
.sis h3{font-size:1.5rem;font-weight:400;margin-bottom:4px}
.sis .tag{font-size:.67rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;
          color:var(--acc-sis,var(--ouro));margin-bottom:18px;display:block}
.sis > p{font-size:.94rem;color:var(--fraco);margin-bottom:22px}
.sis ul{list-style:none;display:grid;gap:0;margin-bottom:28px;border-top:1px solid var(--linha)}
.sis li{font-size:.87rem;color:var(--texto);padding:11px 0;border-bottom:1px solid var(--linha)}
.sis .seta{margin-top:auto}

/* ─── Chips (para quem é) ──────────────────────────────────────── */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{border:1px solid var(--linha-2);border-radius:2px;padding:9px 18px;font-size:.85rem;
      color:var(--texto);background:transparent;transition:.25s}
.chip:hover{border-color:var(--tinta);color:var(--tinta)}

/* ─── Passos ───────────────────────────────────────────────────── */
.passos{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(26px,4vw,54px)}
.passo{padding-top:24px;border-top:2px solid var(--tinta)}
.passo .n{font-family:var(--serif);font-size:1.9rem;line-height:1;color:var(--ouro);
          display:block;margin-bottom:16px}
.passo h3{margin-bottom:9px}
.passo p{font-size:.93rem;color:var(--fraco)}

/* ─── Intervalo escuro ─────────────────────────────────────────── */
.faixa{background:var(--ink);color:#EDEAE3;padding:clamp(70px,9vw,116px) 0}
.faixa h2,.faixa h3{color:#fff}
.faixa .olho{color:var(--ouro-luz)}
.faixa .olho::before{background:var(--ouro-luz)}
.faixa .cab p{color:#A9AFB9}
.faixa .cab-linha{border-bottom-color:rgba(255,255,255,.14)}
.faixa .num{color:rgba(255,255,255,.28)}
.destaques{display:grid;grid-template-columns:repeat(3,1fr);gap:0;
           border-top:1px solid rgba(255,255,255,.14)}
.dst{padding:34px 32px 30px;border-right:1px solid rgba(255,255,255,.14);
     border-bottom:1px solid rgba(255,255,255,.14)}
.dst:first-child{border-left:1px solid rgba(255,255,255,.14)}
.dst svg{width:24px;height:24px;color:var(--ouro-luz);margin-bottom:20px}
.dst h3{font-size:1.24rem;margin-bottom:10px}
.dst p{font-size:.92rem;color:#A9AFB9;line-height:1.68}

/* ─── FAQ ──────────────────────────────────────────────────────── */
.faq{border-top:1px solid var(--linha)}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{cursor:pointer;padding:24px 46px 24px 0;list-style:none;position:relative;
             font-family:var(--serif);font-size:1.2rem;color:var(--tinta);letter-spacing:-.01em;
             transition:color .2s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--ouro)}
.faq summary::after,.faq summary::before{content:"";position:absolute;right:6px;top:50%;
             background:var(--ouro);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.faq summary::after{width:15px;height:1px;transform:translateY(-50%)}
.faq summary::before{width:1px;height:15px;right:13px;transform:translateY(-50%)}
.faq details[open] summary::before{transform:translateY(-50%) rotate(90deg);opacity:0}
.faq .resp{padding:0 60px 28px 0;font-size:.96rem;color:var(--fraco);max-width:70ch}

/* ─── Contato / formulário ─────────────────────────────────────── */
.contato-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(38px,6vw,86px);align-items:start}
.contato-txt h2{margin:16px 0 18px}
.contato-txt > p{color:var(--fraco);margin-bottom:30px;max-width:42ch}
.lista-check{list-style:none;display:grid;gap:0;border-top:1px solid var(--linha)}
.lista-check li{display:flex;gap:14px;font-size:.93rem;padding:15px 0;border-bottom:1px solid var(--linha)}
.lista-check svg{width:17px;height:17px;color:var(--acc);flex-shrink:0;margin-top:4px}

.form-card{background:#fff;border:1px solid var(--linha);padding:clamp(28px,4vw,44px)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:26px 24px}
.campo{display:flex;flex-direction:column}
.campo.full{grid-column:1/-1}
label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;
      color:var(--fraco);margin-bottom:9px}
label .req{color:var(--ouro);margin-left:3px}
label .opc{font-weight:400;text-transform:none;letter-spacing:0;font-size:.72rem}
input,select,textarea{font-family:var(--sans);font-size:.96rem;color:var(--tinta);width:100%;
      padding:8px 0 11px;border:0;border-bottom:1px solid var(--linha-2);border-radius:0;
      background:transparent;transition:border-color .25s}
input::placeholder,textarea::placeholder{color:#B3B7BD}
input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:var(--tinta)}
select{cursor:pointer;appearance:none;background-image:
  linear-gradient(45deg,transparent 50%,var(--fraco) 50%),
  linear-gradient(135deg,var(--fraco) 50%,transparent 50%);
  background-position:calc(100% - 11px) calc(50% - 1px),calc(100% - 6px) calc(50% - 1px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:24px}
textarea{resize:vertical;min-height:64px}
input.erro,select.erro{border-bottom-color:var(--erro)}
.msg-erro{font-size:.74rem;color:var(--erro);margin-top:7px;display:none}
.msg-erro.on{display:block}

.optin{display:flex;gap:13px;align-items:flex-start;margin-top:34px;padding-top:24px;
       border-top:1px solid var(--linha);cursor:pointer}
.optin input{width:17px;height:17px;margin-top:3px;accent-color:var(--tinta);flex-shrink:0;
             cursor:pointer;border-bottom:0}
.optin span{font-size:.83rem;color:var(--fraco);line-height:1.6}
.optin.erro span{color:var(--erro)}
.btn{width:100%;margin-top:28px;padding:17px;border:1px solid var(--tinta);border-radius:2px;
     background:var(--tinta);color:var(--papel);font-family:var(--sans);font-size:.78rem;
     font-weight:600;text-transform:uppercase;letter-spacing:.13em;cursor:pointer;
     transition:background .25s,border-color .25s}
.btn:hover:not(:disabled){background:var(--ouro);border-color:var(--ouro);color:#fff}
.btn:disabled{opacity:.5;cursor:not-allowed}
.seguro{text-align:center;font-size:.74rem;color:#9AA0A8;margin-top:16px}
.alerta{display:none;margin-top:18px;padding:14px 16px;border-left:2px solid var(--erro);
        background:#FBF3F2;color:#8C1D18;font-size:.87rem}
.alerta.on{display:block}
.sucesso{display:none;padding:16px 0}
.sucesso.on{display:block}
.sucesso .ic{width:52px;height:52px;border:1px solid var(--ok);border-radius:50%;color:var(--ok);
             display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:24px}
.sucesso h3{font-size:1.6rem;font-family:var(--serif);margin-bottom:12px}
.sucesso p{color:var(--fraco);font-size:.96rem;max-width:44ch}

/* ─── Rodapé ───────────────────────────────────────────────────── */
footer{background:var(--ink);color:#8A9099;padding:clamp(48px,6vw,76px) 0 40px;font-size:.87rem}
.rod-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;
          padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.12)}
.rod-marca img{height:30px;margin-bottom:18px;filter:brightness(0) invert(1);opacity:.92}
.rod-marca p{font-size:.9rem;color:#8A9099;max-width:34ch}
.rod-col h4{font-family:var(--sans);font-size:.67rem;font-weight:600;text-transform:uppercase;
            letter-spacing:.18em;color:#EDEAE3;margin-bottom:18px}
.rod-col ul{list-style:none;display:grid;gap:11px}
.rod-col a{font-size:.89rem;color:#8A9099;transition:color .2s}
.rod-col a:hover{color:#fff}
.rod-baixo{padding-top:26px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
           font-size:.79rem;color:#666C75}
.rod-baixo a:hover{color:#fff}

/* ─── Entrada por rolagem ───────────────────────────────────────
   Só esconde quando há JavaScript (a classe .js é posta no <html>
   pelo próprio site_head). Sem JS, tudo aparece normalmente. */
.js .rv{opacity:0;transform:translateY(18px)}
.js .rv.on{opacity:1;transform:none;
       transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);
       transition-delay:var(--d,0ms)}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv{opacity:1;transform:none}
  *{transition-duration:.01ms !important;animation-duration:.01ms !important}
}

/* ─── Responsivo ───────────────────────────────────────────────── */
@media(max-width:1000px){
  .mods,.sistemas,.destaques{grid-template-columns:repeat(2,1fr)}
  .sis:first-child,.dst:first-child{border-left:0}
  .hero-grid{grid-template-columns:1fr;gap:30px;align-items:start}
  .hero .sub{max-width:56ch}
  .contato-grid{grid-template-columns:1fr;gap:44px}
  .rod-grid{grid-template-columns:1fr 1fr;gap:34px}
}
@media(max-width:860px){
  .topo-nav{display:none}
  .topo-acoes{margin-left:auto}
  .passos{grid-template-columns:1fr;gap:30px}
  .cab-linha{grid-template-columns:1fr;gap:14px}
  .cab-linha .num{display:none}
}
@media(max-width:660px){
  .wrap,.wrap-estreito{padding:0 20px}
  body{font-size:1rem}
  .mods,.sistemas,.destaques{grid-template-columns:1fr;border-left:0}
  .mod,.sis,.dst{border-left:0;border-right:0;padding-left:0;padding-right:0}
  .mod,.sis{padding-left:2px;padding-right:2px}
  .mod:hover,.sis:hover{background:transparent}
  .dor{grid-template-columns:1fr;gap:6px;padding:17px 2px}
  .dor .meio{display:none}
  .grid2{grid-template-columns:1fr;gap:24px}
  .form-card{padding:26px 20px;margin:0 -20px;border-left:0;border-right:0}
  .rod-grid{grid-template-columns:1fr;gap:32px}
  input,select,textarea{font-size:16px}   /* evita zoom no iOS */
  .hero-notas{gap:8px 20px}
}
