/* AdsMédicos site stylesheet: the ONE place for the design tokens and the shared components.
   Same token file as the sibling sites. Loaded by every page; page-family components are in /assets/ads.css. */

:root{
  /* light theme: reading sections */
  --ink:#0a0d14;
  --body:#343b4a;
  --muted:#545c6e;
  --bg:#ffffff;
  --surface:#ffffff;
  --tint:#f7f9fc;
  --line:#e6e9ef;
  --line-strong:#8791a5;
  --soft:#eef4ff;
  --soft-line:#cddffe;
  /* brand: electric blue */
  --accent:#0055fe;
  --accent-dk:#0043cc;
  --accent-lt:#3b82f6;
  --accent-on-dark:#8bb4ff;
  --live:#12b76a;
  --wa-btn:#25d366;
  /* dark theme: first screen, system band, closing band */
  --d0:#0a0d14;
  --d1:#10151f;
  --d2:#171d2b;
  --dline:rgba(255,255,255,.1);
  --dtext:#ffffff;
  --dtext2:rgba(255,255,255,.7);
  --chalk:var(--bg);
  /* names the product demos below were built on */
  --brand:#0055fe;
  --brand-2:#2f7bff;
  --brand-700:#0043cc;
  --wa:#25d366;
  --wa-head:#075e54;
  --mint:#eef4ff;
  --cream:#f5f8fc;
  --bubble:#d9fdd3;
  --wall:#e7e0d7;
  --shadow-sm:0 0 0 0 transparent;
  --shadow-lg:0 0 0 0 transparent;
  /* shape and rhythm */
  --radius:10px;
  --radius-lg:18px;
  --maxw:1200px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --display:"Plus Jakarta Sans","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --doodle:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22170%22%20height%3D%22170%22%20viewBox%3D%220%200%20170%20170%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%230b231d%22%20stroke-opacity%3D%220.05%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2026h34a6%206%200%200%201%206%206v15a6%206%200%200%201-6%206H32l-10%208v-8h-6a6%206%200%200%201-6-6V32a6%206%200%200%201%206-6z%22%2F%3E%3Cpath%20d%3D%22M112%2016v22M101%2027h22%22%2F%3E%3Cpath%20d%3D%22M146%2040c-5-9-19-4-14%207%203%206%2014%2012%2014%2012s11-6%2014-12c5-11-9-16-14-7z%22%2F%3E%3Crect%20x%3D%2220%22%20y%3D%2296%22%20width%3D%2234%22%20height%3D%2230%22%20rx%3D%224%22%2F%3E%3Cpath%20d%3D%22M20%20106h34M29%2092v8M45%2092v8%22%2F%3E%3Crect%20x%3D%2296%22%20y%3D%2298%22%20width%3D%2242%22%20height%3D%2220%22%20rx%3D%2210%22%20transform%3D%22rotate%2828%20117%20108%29%22%2F%3E%3Cpath%20d%3D%22M107%2094l10%2018%22%20transform%3D%22rotate%2828%20117%20108%29%22%2F%3E%3Cpath%20d%3D%22M66%20138l8%208%2016-18%22%2F%3E%3Cpath%20d%3D%22M138%20138h18M147%20129v18%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%; scroll-padding-top:96px; background:var(--d0);}
body{margin:0; color:var(--ink); background:var(--bg); font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:400; font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility;}
h1,h2,h3,p,ul,ol{margin:0; padding:0;}
h1,h2,h3{font-family:var(--display); font-weight:700; color:inherit;}
h3{font-weight:700;}
ul,ol{list-style:none;}
a{color:inherit; text-decoration:none;}
img,svg{display:block;}
::selection{background:var(--accent); color:#fff;}
:focus-visible{outline:3px solid var(--accent); outline-offset:3px; border-radius:4px;}
.dark :focus-visible,.nav :focus-visible,.mbar :focus-visible,.ft :focus-visible,.hero :focus-visible{outline-color:#fff;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
@media(min-width:900px){ .wrap{padding:0 40px;} }
.skip{position:absolute; left:-9999px; top:0; z-index:100; background:var(--ink); color:#fff; padding:12px 16px;}
.skip:focus{left:0;}

/* icons drawn once as masks so every check and cross shares one stroke weight */
.ico{display:inline-block; flex:none; width:20px; height:20px; background:currentColor; -webkit-mask:var(--i) center/contain no-repeat; mask:var(--i) center/contain no-repeat;}
.i-check{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7'/%3E%3C/svg%3E");}
.i-x{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11'/%3E%3C/svg%3E");}

/* links: animated hairline underline */
.ul{background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat; transition:background-size .2s var(--ease); padding-bottom:2px;}
.ul:hover,.ul:focus-visible{background-size:100% 2px;}
.ul.on{background-size:100% 2px;}

/* buttons: 48px tall, one radius, distinct default / hover / active / focus */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; font:inherit; font-weight:600; font-size:16px; line-height:1; min-height:48px; padding:0 24px; border-radius:12px; border:1px solid transparent; cursor:pointer; transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease; white-space:nowrap; touch-action:manipulation; -webkit-tap-highlight-color:transparent;}
.btn svg{width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex:none;}
.btn-blue{background:var(--accent); color:#fff; border-color:rgba(255,255,255,.18); box-shadow:0 0 0 1px rgba(0,85,254,.9), 0 10px 32px -8px rgba(0,85,254,.85), inset 0 1px 0 rgba(255,255,255,.22);}
.btn-blue:hover{background:var(--accent-dk); box-shadow:0 0 0 1px rgba(0,85,254,.9), 0 14px 40px -6px rgba(0,85,254,.95), inset 0 1px 0 rgba(255,255,255,.16);}
.btn-blue:active{background:#0038ab; box-shadow:0 0 0 1px rgba(0,85,254,.9), inset 0 2px 0 rgba(0,0,0,.2);}
.btn-blue svg.arr{transition:transform .18s var(--ease);}
.btn-blue:hover svg.arr{transform:translateX(3px);}
.btn-wa{background:var(--wa-btn); color:#04170f; border-color:#1aa953; box-shadow:inset 0 -2px 0 rgba(4,23,15,.22);}
.btn-wa:hover{background:#2fe173; border-color:#128a40;}
.btn-wa:active{background:#1fbd5b; box-shadow:inset 0 2px 0 rgba(4,23,15,.22);}
.btn-line{background:transparent; color:var(--ink); border-color:var(--line-strong);}
.btn-line:hover{background:var(--ink); color:#fff; border-color:var(--ink);}
.btn-line:active{background:#262d3d; border-color:#262d3d; color:#fff;}
.dark .btn-line,.hero .btn-line{color:#fff; border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.04);}
.dark .btn-line:hover,.hero .btn-line:hover{background:#fff; color:var(--ink); border-color:#fff;}
.btn-ink{background:var(--ink); color:#fff; border-color:var(--ink);}
.btn-ink:hover{background:var(--accent); border-color:var(--accent);}
.btn-ink:active{background:var(--accent-dk); border-color:var(--accent-dk);}
.btn-block{display:flex; width:100%;}

/* nav: a floating rounded bar inset from the edges */
.nav{position:sticky; top:12px; z-index:40; height:0;}
.nav-in{display:flex; align-items:center; justify-content:space-between; gap:16px; height:64px; width:calc(100% - 24px); max-width:1120px; margin:0 auto; padding:0 10px 0 18px; border-radius:18px; background:rgba(14,18,28,.82); -webkit-backdrop-filter:blur(14px) saturate(1.4); backdrop-filter:blur(14px) saturate(1.4); border:1px solid rgba(255,255,255,.12); box-shadow:0 10px 40px -12px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.06); color:#fff;}
.brand{display:flex; align-items:center; min-height:44px; color:#fff;}
.brand svg{height:34px; width:auto;}
.nav-links{display:flex; align-items:center; gap:28px; font-size:15px; font-weight:500;}
.nav-links a.ul{display:flex; align-items:center; min-height:44px; padding-bottom:0; background-position:0 calc(100% - 9px); color:rgba(255,255,255,.82);}
.nav-links a.ul:hover{color:#fff;}
.nav-links .btn{min-height:44px; padding:0 18px; font-size:15px; border-radius:12px;}
@media(max-width:860px){ .nav-links .hide-sm,.nav-links a.ul.hide-sm{display:none;} }
.nav-burger{display:none; width:44px; height:44px; margin:0 0 0 2px; align-items:center; justify-content:center; cursor:pointer; border-radius:12px; -webkit-tap-highlight-color:transparent;}
.nav-burger:hover{background:rgba(255,255,255,.08);}
.nav-burger .x{display:none;}
.nav-drawer{display:none; position:absolute; top:72px; left:50%; transform:translateX(-50%); width:calc(100% - 24px); max-width:1120px; flex-direction:column; padding:8px 18px 18px; border-radius:18px; background:#0e121c; border:1px solid rgba(255,255,255,.12); box-shadow:0 24px 60px -12px rgba(0,0,0,.7); color:#fff;}
.nav-drawer a{display:flex; align-items:center; min-height:48px; font-size:16px; font-weight:500; border-top:1px solid var(--dline);}
.nav-drawer a:first-child{border-top:0;}
.nav-drawer .btn{margin-top:16px; border-top:1px solid rgba(255,255,255,.18);}
@media(max-width:860px){
  .nav-burger{display:inline-flex;}
  .nav-links > .btn{display:none;}
  .nav-toggle:checked ~ .nav-in .nav-burger .bars{display:none;}
  .nav-toggle:checked ~ .nav-in .nav-burger .x{display:inline;}
  .nav-toggle:checked ~ .nav-drawer{display:flex;}
}

/* sections: light, tinted and dark bands */
.sec{padding:72px 0;}
@media(min-width:900px){ .sec{padding:112px 0;} }
.sec.alt{background:var(--tint); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.sec.white{background:var(--surface);}
.dark{background:var(--d0); color:var(--dtext); border-top:0; position:relative; overflow:hidden;}
.deep{background:var(--d0);}
.dark .muted,.dark .sub{color:var(--dtext2);}
/* small status and section labels: mono, uppercase, wide tracking */
.label{display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:12px; line-height:1; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-dk); background:var(--soft); border:1px solid var(--soft-line); border-radius:999px; padding:8px 14px; margin-bottom:20px;}
.label::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--accent);}
.dark .label{color:var(--accent-on-dark); background:rgba(59,130,246,.12); border-color:rgba(139,180,255,.28);}
.dark .label::before{background:var(--live); box-shadow:0 0 0 3px rgba(18,183,106,.2);}
h2.title{font-size:clamp(30px,4vw,42px); line-height:1.1; letter-spacing:-.03em; font-weight:800; max-width:20ch; text-wrap:balance;}
.sub{margin-top:16px; max-width:56ch; font-size:17px; line-height:1.55; color:var(--muted);}
@media(min-width:900px){ .sub{font-size:18px;} }
.head{margin-bottom:48px;}
@media(min-width:900px){ .head.split{display:grid; grid-template-columns:1.15fr .85fr; column-gap:64px; align-items:end;} .head.split .label{grid-column:1; justify-self:start;} .head.split .title{grid-column:1;} .head.split .sub{grid-column:2; grid-row:1 / span 2; margin:0;} }
@media(min-width:900px){ .head{margin-bottom:64px;} }


/* status pills */
.pills{margin-top:28px; display:flex; flex-wrap:wrap; justify-content:center; gap:10px;}
.pill{display:inline-flex; align-items:center; gap:8px; min-height:36px; padding:0 14px; border-radius:999px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.05); font-size:13px; font-weight:500; color:rgba(255,255,255,.82);}
.pill svg{width:15px; height:15px; fill:none; stroke:var(--accent-on-dark); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round;}
.pill .dot{width:7px; height:7px; border-radius:50%; background:var(--live); box-shadow:0 0 0 3px rgba(18,183,106,.22);}


/* footer, dark like the closing band */
.ft{padding:56px 0 32px; border-top:1px solid var(--dline); background:#070a10; font-size:14px; color:rgba(255,255,255,.78);}
.ft-in{display:grid; gap:32px;}
@media(min-width:760px){ .ft-in{grid-template-columns:1fr auto; gap:64px;} .ft .right{text-align:right;} }
.ft small{display:block; margin-top:12px; font-size:14px; color:rgba(255,255,255,.66); line-height:1.5;}
.ft .right{display:grid; gap:0; justify-items:start;}
@media(min-width:760px){ .ft .right{justify-items:end;} }
.ft .right > a{display:flex; align-items:center; min-height:44px;}
.ft-legal{display:flex; flex-wrap:wrap; gap:0 20px;}
@media(min-width:760px){ .ft-legal{justify-content:flex-end;} }
.ft-legal a{display:flex; align-items:center; min-height:44px;}
.ft .operator-line{margin:24px auto 0; padding:16px 24px 0; max-width:var(--maxw); border-top:1px solid var(--dline); font-size:13px; line-height:1.4; color:rgba(255,255,255,.66); text-align:center;}

/* LGPD consent banner on the landing (inner pages get theirs from assets/mfu-consent.js, which reads these variables) */
.cc{position:fixed;left:0;right:0;bottom:0;z-index:61;padding:14px;display:flex;justify-content:center;pointer-events:none}
.cc[hidden]{display:none}
.cc-in{pointer-events:auto;max-width:760px;width:100%;background:var(--chalk);border:1px solid var(--ink);border-radius:var(--radius);padding:16px 18px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.cc-text{margin:0;flex:1 1 320px;font-size:14px;color:var(--body);line-height:1.5}
.cc-text a{color:var(--ink);text-decoration:underline}
.cc-actions{display:flex;gap:10px;flex:0 0 auto}
.cc-btn{font:inherit;font-size:14px;font-weight:500;border-radius:var(--radius);padding:11px 16px;cursor:pointer;border:1px solid var(--ink);white-space:nowrap}
.cc-ghost{background:transparent;color:var(--ink)}
.cc-ghost:hover{background:var(--ink);color:var(--chalk)}
.cc-primary{background:var(--ink);color:var(--chalk)}
.cc-primary:hover{background:#262d3d}
@media(max-width:520px){.cc-actions{flex:1 1 100%}.cc-btn{flex:1}}


/* ==========================================================================
   Inner pages (/para, /ferramentas, /legal, 404): compact dark page header,
   light reading body, cards, tables, calculator and form controls.
   Everything below is scoped to body.pg or to classes the landing never uses.
   ========================================================================== */
:root{
  /* status colours used by notices and calculator results */
  --warn-ink:#6b4400;
  --warn-bg:#fff7e0;
  --warn-line:#f0d68a;
  --loss:#b4232a;
  --ok-ink:#085c3a;
  --ok-bg:#e8f8f0;
  --ok-line:#a9e3c6;
  --err-ink:#8a1c14;
  --err-bg:#fff1ef;
  --err-line:#f0b9b3;
  --field-h:48px;
}
.pg{background:var(--bg);}
.pg main{display:block;}

/* dark page header: breadcrumb pill, display h1, one-line lead, primary action */
.phd{position:relative; isolation:isolate; overflow:hidden; background:var(--d0); color:#fff; padding:104px 0 44px;}
@media(min-width:900px){ .phd{padding:132px 0 60px;} }
.phd::before{content:""; position:absolute; inset:0; z-index:-2; background:radial-gradient(60% 90% at 50% -20%,rgba(0,85,254,.55),rgba(0,85,254,.14) 55%,transparent 78%);}
.phd::after{content:""; position:absolute; inset:0; z-index:-1; background:repeating-linear-gradient(90deg,rgba(0,85,254,0) 0,rgba(0,85,254,0) 14px,rgba(20,90,255,.3) 44px,rgba(120,170,255,.18) 49px,rgba(0,85,254,.06) 78px,rgba(0,85,254,0) 96px); -webkit-mask:linear-gradient(180deg,#000 0,rgba(0,0,0,.5) 45%,transparent 90%); mask:linear-gradient(180deg,#000 0,rgba(0,0,0,.5) 45%,transparent 90%); pointer-events:none;}
.crumb{display:inline-flex; flex-wrap:wrap; align-items:center; gap:4px 10px; min-height:32px; padding:6px 14px; margin-bottom:20px; border-radius:999px; border:1px solid rgba(139,180,255,.28); background:rgba(59,130,246,.12); font-family:var(--mono); font-size:12px; line-height:1.2; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-on-dark);}
.crumb a{position:relative; color:inherit;}
.crumb a::after{content:""; position:absolute; inset:-12px -6px;}
.crumb a:hover{text-decoration:underline; text-underline-offset:3px;}
.crumb .sep{opacity:.6;}
.crumb [aria-current]{color:#fff;}
.phd h1{font-size:clamp(32px,6vw,48px); line-height:1.08; letter-spacing:-.03em; font-weight:800; color:#fff; max-width:24ch; text-wrap:balance;}
.phd-lead{margin-top:16px; max-width:62ch; font-size:17px; line-height:1.6; color:var(--dtext2);}
@media(min-width:900px){ .phd-lead{font-size:18px;} }
.phd .actions{margin-top:28px;}
.phd .btn-line{color:#fff; border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.04);}
.phd .btn-line:hover{background:#fff; color:var(--ink); border-color:#fff;}
.phd :focus-visible{outline-color:#fff;}

/* light reading body */
.pg .body{padding:48px 0 80px;}
@media(min-width:900px){ .pg .body{padding:72px 0 112px;} }
.wrap.narrow{max-width:860px;}
.rd{max-width:760px; color:var(--body); font-size:16px; line-height:1.7;}
.rd h2{font-family:var(--display); font-size:clamp(22px,2.6vw,28px); line-height:1.2; letter-spacing:-.025em; font-weight:800; color:var(--ink); margin:48px 0 14px; padding-top:28px; border-top:1px solid var(--line);}
.rd h2:first-child{margin-top:0; padding-top:0; border-top:0;}
.rd h3{font-family:var(--display); font-size:18px; line-height:1.3; letter-spacing:-.015em; font-weight:700; color:var(--ink); margin:28px 0 8px;}
.rd p{margin:0 0 14px;}
.rd ul,.rd ol{margin:0 0 16px; padding-left:22px; list-style:revert;}
.rd li{margin:6px 0; padding-left:2px;}
.rd li::marker{color:var(--accent);}
.rd strong{color:var(--ink); font-weight:650;}
.rd a:not(.btn){color:var(--accent-dk); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px;}
.rd a:not(.btn):hover{text-decoration-thickness:2px;}
.rd code{font-family:var(--mono); font-size:.9em; background:var(--tint); border:1px solid var(--line); border-radius:6px; padding:1px 6px;}
.rd .meta{color:var(--muted); font-size:14px;}
.draft{background:var(--warn-bg); border:1px solid var(--warn-line); color:var(--warn-ink); border-radius:14px; padding:14px 18px; font-size:14px; margin:0 0 28px;}
.draft strong{color:var(--warn-ink);}
.callout{background:var(--soft); border:1px solid var(--soft-line); border-left:4px solid var(--accent); border-radius:14px; padding:16px 20px; margin:0 0 20px;}
.callout p:last-child{margin-bottom:0;}
.tw{overflow-x:auto; margin:0 0 20px; border:1px solid var(--line); border-radius:16px; background:var(--surface);}
.tw:focus-visible{outline:3px solid var(--accent); outline-offset:2px;}
.rd table{border-collapse:collapse; width:100%; min-width:520px; font-size:14.5px; line-height:1.5;}
.rd th,.rd td{text-align:left; padding:12px 16px; border-bottom:1px solid var(--line); vertical-align:top;}
.rd th{background:var(--tint); color:var(--ink); font-family:var(--display); font-weight:700; font-size:13.5px;}
.rd tr:last-child td{border-bottom:0;}

/* link cards (segment hub, tools index) */
.cardgrid{display:grid; gap:16px; grid-template-columns:1fr;}
@media(min-width:640px){ .cardgrid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(min-width:1000px){ .cardgrid.c3{grid-template-columns:repeat(3,minmax(0,1fr));} }
.cardlink{position:relative; display:flex; flex-direction:column; padding:28px 24px 24px; background:var(--surface); border:1px solid var(--line); border-radius:22px; color:var(--ink); transition:border-color .15s ease,box-shadow .15s ease,transform .15s var(--ease);}
.cardlink::before{content:""; position:absolute; left:0; right:0; top:0; height:3px; border-radius:22px 22px 0 0; background:linear-gradient(90deg,var(--accent),var(--accent-lt)); opacity:0; transition:opacity .15s ease;}
.cardlink:hover{border-color:var(--soft-line); box-shadow:0 18px 44px -26px rgba(0,85,254,.45); transform:translateY(-2px);}
.cardlink:hover::before,.cardlink:focus-visible::before{opacity:1;}
.cardlink .tag{align-self:flex-start; font-family:var(--mono); font-size:11.5px; line-height:1; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-dk); background:var(--soft); border:1px solid var(--soft-line); border-radius:999px; padding:7px 11px; margin-bottom:14px;}
.cardlink h2,.cardlink h3{font-family:var(--display); font-size:21px; line-height:1.2; letter-spacing:-.025em; font-weight:800; margin:0 0 8px;}
.cardlink p{margin:0; color:var(--muted); font-size:15px; line-height:1.55;}
.cardlink .go{display:inline-flex; align-items:center; gap:8px; margin-top:auto; padding-top:18px; min-height:44px; font-weight:600; font-size:15px; color:var(--accent-dk);}
.cardlink .go svg{width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .18s var(--ease);}
.cardlink:hover .go svg{transform:translateX(3px);}

/* calculators: card, labelled fields at 48px, range, results, call to action */
.calc-card{background:var(--surface); border:1px solid var(--line); border-radius:22px; padding:24px 20px; box-shadow:0 24px 60px -36px rgba(10,13,20,.35);}
@media(min-width:640px){ .calc-card{padding:36px 36px 32px;} }
.calc-grid{display:grid; gap:22px 24px; grid-template-columns:1fr;}
@media(min-width:640px){ .calc-grid{grid-template-columns:1fr 1fr;} }
.pg main label{display:block; font-weight:600; color:var(--ink); font-size:15px; line-height:1.35; margin:0 0 8px;}
.pg main label .hint{display:block; font-weight:400; color:var(--muted); font-size:13px; line-height:1.4; margin-top:3px;}
.fld{position:relative;}
.fld .pre{position:absolute; left:16px; top:0; height:var(--field-h); display:flex; align-items:center; color:var(--muted); font-weight:600; font-size:15px; pointer-events:none;}
.fld .pre.suf{left:auto; right:16px;}
.pg main input[type=number],.pg main input[type=text],.pg main input[type=email],.pg main select,.pg main textarea{width:100%; min-height:var(--field-h); padding:0 16px; border:1.5px solid var(--line-strong); border-radius:12px; font:inherit; font-size:16px; color:var(--ink); background:var(--tint); transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease; -moz-appearance:textfield;}
.pg main textarea{padding:12px 16px; min-height:120px; resize:vertical; line-height:1.5;}
.pg main input.has-pre{padding-left:42px;}
.pg main input.has-suf{padding-right:40px;}
.pg main input[type=number]:hover,.pg main input[type=text]:hover,.pg main input[type=email]:hover,.pg main select:hover,.pg main textarea:hover{border-color:var(--accent);}
.pg main input[type=number]:focus-visible,.pg main input[type=text]:focus-visible,.pg main input[type=email]:focus-visible,.pg main select:focus-visible,.pg main textarea:focus-visible{outline:3px solid var(--accent); outline-offset:2px; border-color:var(--accent); background:#fff;}
.pg main input[type=range]{width:100%; height:44px; margin:0; accent-color:var(--accent); cursor:pointer;}
.pg main input[type=range]:focus-visible{outline:3px solid var(--accent); outline-offset:2px; border-radius:8px;}
.pg main input[type=checkbox]{width:22px; height:22px; margin:0; accent-color:var(--accent); flex:none;}
.calc-card .range-row{margin-top:26px;}
.calc-card .range-val{font-family:var(--display); font-weight:800; color:var(--accent-dk);}
.calc-card .out{margin-top:28px; border-top:1px dashed var(--line-strong); padding-top:26px;}
.calc-card .stats{display:grid; gap:14px; grid-template-columns:1fr;}
@media(min-width:760px){ .calc-card .stats{grid-template-columns:repeat(3,minmax(0,1fr));} }
.calc-card .stat{background:var(--tint); border:1px solid var(--line); border-radius:16px; padding:18px 20px;}
.calc-card .stat .k{font-size:13px; line-height:1.35; color:var(--muted); font-weight:600; margin-bottom:6px;}
.calc-card .stat .v{font-family:var(--display); font-weight:800; color:var(--ink); font-size:clamp(24px,3vw,30px); line-height:1.1; letter-spacing:-.03em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere;}
.calc-card .stat .sub{font-size:13px; line-height:1.4; color:var(--muted); margin-top:6px;}
.calc-card .stat.loss .v{color:var(--loss);}
.calc-card .stat.win{background:var(--soft); border-color:var(--soft-line);}
.calc-card .stat.win .v{color:var(--accent-dk);}
.pg .note{font-size:13.5px; line-height:1.55; color:var(--muted); margin:18px 0 0;}
.cta-row{margin-top:28px; display:flex; flex-wrap:wrap; gap:14px 18px; align-items:center;}
.cta-row .disc{flex:1 1 260px; font-size:13.5px; line-height:1.5; color:var(--muted); margin:0;}
@media(max-width:520px){ .cta-row .btn{width:100%; white-space:normal; text-align:center; line-height:1.25; padding-top:12px; padding-bottom:12px;} }
.btn-wa svg.wa{fill:currentColor; stroke:none; width:19px; height:19px;}

/* forms (Portal do Titular) */
.fm{background:var(--surface); border:1px solid var(--line); border-radius:22px; padding:24px 20px; margin:12px 0 8px; box-shadow:0 24px 60px -36px rgba(10,13,20,.3);}
@media(min-width:640px){ .fm{padding:32px;} }
.fm .field{margin:0 0 18px;}
.fm .req{color:var(--accent-dk);}
.fm .hint{font-size:13px; line-height:1.45; color:var(--muted); margin:6px 0 0;}
.fm .check{display:flex; gap:12px; align-items:flex-start; font-size:14.5px; line-height:1.5; font-weight:400; margin:0 0 14px; min-height:44px;}
.fm .check input{margin-top:2px;}
.fm .twocol{display:grid; gap:0 18px; grid-template-columns:1fr;}
@media(min-width:640px){ .fm .twocol{grid-template-columns:1fr 1fr;} }
.fm .btn:disabled{opacity:.65; cursor:wait;}
.form-status{display:none; margin:16px 0 0; padding:12px 16px; border-radius:12px; font-size:14px; line-height:1.5;}
.form-status.ok{display:block; color:var(--ok-ink); background:var(--ok-bg); border:1px solid var(--ok-line);}
.form-status.error{display:block; color:var(--err-ink); background:var(--err-bg); border:1px solid var(--err-line);}
.hp{position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important;}

/* the shared header on inner pages: logo image, keyboard-reachable menu toggle without JavaScript */
.brand img{height:34px; width:auto; max-width:100%;}
.brand-text{font-family:var(--display); font-weight:800; font-size:20px; letter-spacing:-.03em;}
.nav-toggle.kb{display:none; position:absolute; top:10px; right:22px; width:44px; height:44px; margin:0; opacity:0; z-index:3; cursor:pointer;}
@media(max-width:860px){ .nav-toggle.kb{display:block;} }
.nav-toggle.kb:focus-visible ~ .nav-in .nav-burger{outline:3px solid #fff; outline-offset:-3px;}

/* table of contents block in long legal pages */
.rd .toc{background:var(--tint); border:1px solid var(--line); border-radius:16px; padding:18px 22px; margin:0 0 32px; font-size:14.5px;}
.rd .toc b{font-family:var(--display); color:var(--ink);}
.rd .toc ol{columns:2; column-gap:28px; margin:10px 0 0; padding-left:20px;}
@media(max-width:560px){ .rd .toc ol{columns:1;} }

/* 404 */
.phd.nf{min-height:min(70vh,640px); display:flex; align-items:center; padding-bottom:72px;}
.phd.nf .wrap{width:100%;}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .cardlink,.cardlink::before,.cardlink .go svg{transition:none;}
  .cardlink:hover{transform:none;}
}
