/* ==========================================================================
   RUYSAM — CSS compartilhado das landing pages de captacao
   Um arquivo so para as tres paginas. Alterar aqui altera todas.
   Regras de contraste ja validadas em WCAG AA:
     --gold      #C89D43  so sobre fundo escuro (7,4:1 no navy)
     --gold-2    #E2C177  gold claro sobre navy (10,7:1)
     --gold-ink  #7D5F10  obrigatorio sobre fundo claro (5,3:1)
   ========================================================================== */
:root{
  --navy:#0D1321;
  --navy-2:#151D2F;
  --navy-3:#1E2740;
  --gold:#C89D43;
  --gold-2:#E2C177;
  --gold-ink:#7D5F10;
  --cream:#F3F1ED;
  --cream-2:#EDEAE3;
  --white:#FFFFFF;
  --ink:#141A29;
  --ink-2:#4A5468;
  --line:#DFDAD1;
  --radius:5px;
  --serif:ui-serif,Georgia,"Iowan Old Style","Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);font-weight:700;margin:0 0 14px}
.dark .eyebrow,.final .eyebrow{color:var(--gold)}
.hero .eyebrow{color:var(--gold-2)}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.012em;margin:0}
h1{font-size:45px;line-height:1.11}
h2{font-size:34px;line-height:1.18}
h3{font-size:20px;line-height:1.3}
p{margin:0 0 16px}
strong{font-weight:700}
.topbar{background:var(--navy);border-bottom:1px solid rgba(200,157,67,.28)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 24px}
.brand{line-height:1.15}
.brandlogo{display:block;height:44px;width:auto;filter:brightness(0) invert(1)}
.brandtxt{font-family:var(--serif);font-size:19px;color:var(--cream);letter-spacing:.03em;display:none}
.brandtxt .g{color:var(--gold)}
.brand small{display:block;font-family:var(--sans);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:#A9B0BF;margin-top:6px}
.online{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--cream);white-space:nowrap}
.dot{width:8px;height:8px;border-radius:50%;background:#39D07A;box-shadow:0 0 0 3px rgba(57,208,122,.22);flex:none}
.hero{background:var(--navy);color:var(--cream);position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,520px);
            gap:22px;padding-top:54px;padding-bottom:62px}
.hero-photo{position:absolute;top:0;right:0;bottom:0;width:46%;z-index:1;overflow:hidden}
.retrato{background-image:url("https://ruysam.adv.br/wp-content/uploads/2026/05/img-8926-scaled.jpg");background-size:cover;background-position:center 18%;background-repeat:no-repeat}
.hero-photo .retrato{position:absolute;inset:0}
.hero-photo:after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--navy) 0%,rgba(13,19,33,.92) 14%,rgba(13,19,33,.45) 38%,rgba(13,19,33,0) 72%),
             linear-gradient(0deg,var(--navy) 0%,rgba(13,19,33,0) 22%)}
.photocard{position:absolute;z-index:3;right:34px;top:58%;max-width:19rem;text-align:right;
  border-right:2px solid var(--gold);padding-right:16px;text-shadow:0 2px 14px rgba(0,0,0,.8)}
.photocard strong{display:block;font-family:var(--serif);font-weight:600;font-size:18px;color:var(--white);margin-bottom:4px}
.photocard span{font-size:13.5px;color:#CBD0DA;line-height:1.45;display:block}
.badge{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;border:1px solid rgba(200,157,67,.45);
  border-radius:999px;padding:7px 15px;font-size:12px;letter-spacing:.07em;text-transform:uppercase;
  color:var(--gold-2);margin-bottom:22px;line-height:1.4}
.hero h1{color:var(--white);margin-bottom:20px}
.subhead{font-size:19px;line-height:1.5;color:#D6D9E0;margin:0 0 20px;max-width:33em}
.urgency{font-size:20px;line-height:1.45;color:var(--gold-2);border-left:2px solid var(--gold);padding-left:18px;margin:0}
.trustrow{display:flex;flex-wrap:wrap;gap:9px;margin:0}
.chip{font-size:13px;color:#CFD4DE;background:var(--navy-2);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:7px 14px}
.chip .g5{color:var(--gold-2);letter-spacing:.08em}
.formcard{background:var(--cream);color:var(--ink);border-radius:7px;padding:28px 26px 24px;
  border-top:3px solid var(--gold);box-shadow:0 26px 64px rgba(0,0,0,.4)}
.formcard h3{font-size:22px;margin-bottom:6px}
.formcard .sub{font-size:14.5px;color:var(--ink-2);margin-bottom:20px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.field{margin-bottom:15px}
label{display:block;font-size:13px;font-weight:600;letter-spacing:.01em;margin-bottom:7px;color:var(--ink)}
input,select,textarea{width:100%;font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--white);
  border:1px solid #8E8878;border-radius:var(--radius);padding:13px 14px;line-height:1.35}
select{appearance:none;padding-right:38px;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234A5468' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
input:focus,select:focus{outline:3px solid rgba(200,157,67,.55);outline-offset:1px;border-color:var(--gold-ink)}
.consent{display:flex;gap:10px;align-items:flex-start;margin:4px 0 16px}
.consent input{width:18px;height:18px;min-width:18px;margin-top:2px;accent-color:var(--navy)}
.consent .t{font-size:12.5px;line-height:1.5;color:var(--ink-2)}
.err{display:none;font-size:12.5px;color:#A32020;font-weight:600;margin-top:6px}
.field.invalid .err{display:block}
.field.invalid input,.field.invalid select{border-color:#A32020}
.btn{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;border:0;border-radius:var(--radius);
  background:var(--gold);color:var(--navy);font-family:var(--sans);font-size:16.5px;font-weight:700;
  padding:18px 20px;cursor:pointer;text-decoration:none;line-height:1.25;text-align:center;transition:background .15s}
.btn:hover{background:var(--gold-2)}
.btn svg{width:20px;height:20px;flex:none}
/* icone do WhatsApp no botao: escrito uma vez aqui em vez de seis vezes no HTML */
.btn i.wa{width:20px;height:20px;flex:none;display:block;background:no-repeat center/contain url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230D1321'%3E%3Cpath d='M12 2a10 10 0 00-8.6 15l-1.3 4.7 4.8-1.3A10 10 0 1012 2zm5.8 14c-.25.7-1.45 1.34-2 1.38-.55.05-1.06.24-3.58-.75-3.05-1.2-4.95-4.35-5.1-4.55-.15-.2-1.2-1.6-1.2-3.05 0-1.45.75-2.15 1.02-2.45.27-.3.6-.37.8-.37h.58c.19.01.44-.07.68.52.25.6.85 2.05.92 2.2.08.15.13.32.03.52-.1.2-.15.32-.3.5l-.45.51c-.15.15-.3.31-.13.61.17.3.77 1.27 1.65 2.06 1.13 1.01 2.08 1.32 2.38 1.47.3.15.47.13.65-.08.17-.2.75-.87.95-1.17.2-.3.4-.25.67-.15.27.1 1.72.81 2.02.96.3.15.5.22.57.35.08.12.08.72-.17 1.42z'/%3E%3C/svg%3E")}
.btn.loading{opacity:.75;pointer-events:none}
.formnote{font-size:12.5px;color:var(--ink-2);text-align:center;margin:13px 0 0;line-height:1.5}
section{padding:76px 0}
.sec-title{max-width:44rem;margin-bottom:40px}
.sec-title p{color:var(--ink-2);font-size:17.5px;margin:0}
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:27px 25px}
.card h3{margin-bottom:9px}
.card p{font-size:15.5px;color:var(--ink-2);margin:0}
.card .tag{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold-ink);margin-bottom:11px}
.dark{background:var(--navy);color:var(--cream)}
.dark h2{color:var(--white)}
.dark .sec-title p{color:#C6CBD6}
.dark .card{background:var(--navy-2);border-color:rgba(255,255,255,.11)}
.dark .card h3{color:var(--white)}
.dark .card p{color:#C6CBD6}
.dark .card .tag{color:var(--gold)}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.step{counter-increment:s;background:var(--white);border:1px solid var(--line);border-radius:6px;padding:28px 25px}
.step:before{content:counter(s);font-family:var(--serif);font-size:15px;font-weight:700;color:var(--navy);
  background:var(--gold);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:15px}
.step h3{margin-bottom:8px}
.step p{font-size:15.5px;color:var(--ink-2);margin:0}
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:center}
.portrait-mob{display:none}
.creds{list-style:none;padding:0;margin:0 0 26px}
.creds li{position:relative;padding-left:22px;margin-bottom:13px;font-size:16.5px;color:#D6D9E0;line-height:1.5}
.creds li:before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;background:var(--gold);border-radius:1px}
.pullquote{font-family:var(--serif);font-size:21px;line-height:1.42;color:var(--gold-2);border-left:2px solid var(--gold);padding-left:20px;margin:0}
.quote{background:var(--white);border:1px solid var(--line);border-left:3px solid var(--gold-ink);border-radius:6px;padding:26px 24px}
.reviews{max-width:880px;margin:0 auto}
.gverify{text-align:center;margin:22px 0 0;font-size:15px}
.gverify a{color:var(--gold-ink);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(125,95,16,.4);padding-bottom:2px}
.gverify a:hover{border-bottom-color:var(--gold-ink)}
.stars{color:var(--gold-ink);font-size:14px;letter-spacing:.16em;margin-bottom:13px}
.quote p{font-size:16px;color:var(--ink);margin-bottom:14px}
.quote footer{font-size:13.5px;color:var(--ink-2)}
.disclaimer{font-size:13px;color:var(--ink-2);margin-top:22px;max-width:54rem;line-height:1.55}
details{background:var(--white);border:1px solid var(--line);border-radius:6px;margin-bottom:12px;overflow:hidden}
summary{cursor:pointer;padding:20px 54px 20px 22px;font-weight:600;font-size:16.5px;position:relative;list-style:none;line-height:1.4}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";position:absolute;right:22px;top:16px;font-size:25px;color:var(--gold-ink);font-weight:400;line-height:1}
details[open] summary:after{content:"–"}
details .body{padding:0 22px 22px;font-size:16px;color:var(--ink-2)}
details .body p:last-child{margin-bottom:0}
.final{background:var(--navy);color:var(--cream);padding:80px 0}
.final .wrap{display:grid;grid-template-columns:1fr .88fr;gap:54px;align-items:center}
.final h2{color:var(--white);margin-bottom:16px}
.final p{color:#C6CBD6}
.final .formcard p{color:var(--ink-2)}
.final .formcard h3{color:var(--ink)}
footer.site{background:#080C15;color:#9AA1B1;padding:52px 0 38px;font-size:14px}
footer.site .cols{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:34px}
footer.site h4{font-family:var(--sans);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 12px;font-weight:700}
footer.site p{margin:0 0 8px;line-height:1.55}
footer.site .legal{border-top:1px solid rgba(255,255,255,.1);margin-top:32px;padding-top:22px;font-size:12.5px;color:#767E8F;line-height:1.6}
.casos{display:flex;flex-wrap:wrap;gap:9px;margin-top:34px}
.casos span{font-size:14px;color:var(--ink);background:var(--white);border:1px solid var(--line);
  border-radius:999px;padding:8px 15px;line-height:1.3}
.casos-nota{font-size:14px;color:var(--ink-2);margin:16px 0 0}
.sticky{display:none}
@media (max-width:1140px){
  .hero .wrap{grid-template-columns:1fr;gap:24px}
  .hero-photo{display:none}
  .portrait-mob{display:block}
  .split{grid-template-columns:1fr;gap:30px}
  .final .wrap{grid-template-columns:1fr;gap:34px}
  .g3,.steps{grid-template-columns:1fr 1fr}
  footer.site .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  body{font-size:16px;padding-bottom:74px}
  .brandlogo{height:34px}
  .brandtxt{font-size:16px}
  .topbar .brand small{display:none}
  .topbar .wrap{padding:11px 18px}
  .online{font-size:12px}
  h1{font-size:29px;line-height:1.16}
  h2{font-size:26px}
  .wrap{padding:0 18px}
  .hero .wrap{padding-top:26px;padding-bottom:40px}
  .badge{font-size:11px;padding:6px 12px;margin-bottom:16px}
  .hero h1{margin-bottom:16px}
  .subhead{font-size:17px;margin-bottom:16px}
  .urgency{font-size:17.5px;padding-left:14px}
  section{padding:52px 0}
  .final{padding:56px 0}
  .g2,.g3,.steps,footer.site .cols{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .formcard{padding:23px 19px 21px}
  .pullquote{font-size:18px}
  .sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--navy);
    border-top:1px solid rgba(200,157,67,.4);padding:10px 14px}
  .sticky a{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--gold);
    color:var(--navy);font-weight:700;font-size:15.5px;text-decoration:none;border-radius:var(--radius);padding:15px;line-height:1.2}
}
