/* RCO Consultoria — base visual do site e do portal (requer rco-theme.css). */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button,a,input,select,textarea,summary,label{touch-action:manipulation}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3{color:var(--text-strong);letter-spacing:-.035em}
h1{font-size:clamp(40px,5.6vw,76px);font-weight:700;line-height:1.04;margin-bottom:26px}
h2{font-size:clamp(28px,3.1vw,44px);font-weight:700;line-height:1.12;margin-bottom:18px}
h3{font-size:21px;font-weight:650;line-height:1.25;margin-bottom:10px}
em{font-style:normal;color:var(--accent-text)}
html[data-theme=dark] em{color:var(--accent)}
p{line-height:1.7}
code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em;background:var(--surface-3);padding:1px 6px;border-radius:5px}
.eyebrow{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--accent-text);margin-bottom:18px}
html[data-theme=dark] .eyebrow{color:var(--accent)}

/* Botões */
.button,button.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 20px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-strong);font-size:14.5px;font-weight:650;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,transform .15s;white-space:nowrap}
.button:hover{background:var(--surface-2)}
.button:active{transform:translateY(1px)}
.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.button.secondary{background:var(--surface);border-color:var(--border-strong)}
.button.ghost{background:transparent;border-color:transparent;padding-inline:10px}
.button.ghost:hover{background:var(--surface-2)}
.button.dark{background:var(--rco-charcoal);border-color:var(--rco-charcoal);color:#fff}
.button.dark:hover{background:#000}
.button.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,var(--border))}
.button.danger:hover{background:var(--bad-soft)}
.button.small{min-height:36px;padding:7px 14px;font-size:13px}
.button[disabled],.button[aria-busy=true]{opacity:.6;cursor:progress}
.text-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:650;color:var(--accent-text)}
.text-link:hover{text-decoration:underline;text-underline-offset:3px}
html[data-theme=dark] .text-link{color:var(--accent-text)}

/* Campos */
input,select,textarea{width:100%;min-width:0;min-height:46px;padding:11px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-strong);font-size:15px;transition:border-color .15s,box-shadow .15s}
textarea{min-height:96px;resize:vertical;line-height:1.5}
input::placeholder,textarea::placeholder{color:var(--subtle)}
input:hover,select:hover,textarea:hover{border-color:var(--subtle)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}
input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 18%,transparent)}
input[readonly]{background:var(--surface-2)}
input:disabled,select:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}
input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;padding:0;accent-color:var(--accent);flex:none;margin:0}
select{appearance:none;padding-right:38px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.field-help{font-size:13px;color:var(--muted);line-height:1.55;margin:0}
.field-error{font-size:13px;color:var(--bad);font-weight:600;margin:0}
.field-error:empty{display:none}
.form-message{font-size:13.5px;margin:12px 0 0;color:var(--muted);line-height:1.5}
.form-message:empty{display:none}
.form-message.error{color:var(--bad);font-weight:600}
.form-message.ok{color:var(--good);font-weight:600}

/* ---------- Site ---------- */
.site-header{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.site-header.scrolled{border-bottom-color:var(--border);box-shadow:var(--shadow-sm)}
.site-header-inner{max-width:1320px;margin:auto;min-height:78px;padding:10px 40px;display:flex;align-items:center;gap:28px}
.brand{display:block;flex:none;height:54px}
.brand img{height:100%;width:auto}
.brand.small{height:42px}
.site-nav{display:flex;gap:4px;margin-left:auto}
.site-nav a{padding:10px 14px;border-radius:999px;font-size:14px;font-weight:600;color:var(--muted)}
.site-nav a:hover,.site-nav a.active{color:var(--text-strong);background:var(--surface-3)}
.site-nav .nav-access-mobile{display:none}
.site-header-actions{display:flex;align-items:center;gap:10px}
.site-menu{display:none}

.hero{max-width:1320px;margin:auto;padding:72px 40px 80px;display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.hero .lead{max-width:520px;font-size:18px;color:var(--muted);margin-bottom:34px}
.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.hero-points{list-style:none;padding:0;margin:44px 0 0;display:flex;gap:22px;flex-wrap:wrap;font-size:13px;color:var(--muted);font-weight:600}
.hero-points li{display:flex;align-items:center;gap:8px}
.hero-points li::before{content:"";width:18px;height:2px;background:var(--accent);border-radius:2px}

.hero-art{position:relative;margin:0;min-height:500px;border-radius:24px;background:radial-gradient(120% 90% at 85% 10%,var(--accent-soft-2),transparent 60%),var(--surface-3);display:flex;align-items:center;justify-content:center;padding:48px 36px 60px;overflow:hidden;isolation:isolate}
.hero-art::before,.hero-art::after{content:"";position:absolute;border:1px solid var(--border-strong);border-radius:50%;opacity:.55;z-index:-1}
.hero-art::before{width:560px;height:560px;top:40px;left:-40px}
.hero-art::after{width:380px;height:380px;top:130px;left:50px}
.mock{width:min(470px,100%);background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden;transform:rotate(-2deg)}
.mock-bar{display:flex;align-items:center;gap:6px;padding:11px 14px;border-bottom:1px solid var(--divider);background:var(--surface-2)}
.mock-dot{width:9px;height:9px;border-radius:50%;background:var(--border-strong)}
.mock-title{margin-left:10px;font-size:11.5px;font-weight:650;color:var(--muted)}
.mock-body{padding:14px;display:grid;gap:8px}
.mock-vision{height:30px;border-radius:7px;background:var(--rco-charcoal);display:flex;align-items:center;justify-content:space-between;padding:0 10px;color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.mock-vision i{width:34px;height:16px;border-radius:4px;background:var(--rco-orange)}
.mock-row{display:grid;grid-template-columns:72px repeat(3,1fr);gap:8px;align-items:center}
.mock-row b{font-size:10.5px;color:var(--muted);font-weight:650}
.mock-card{height:30px;border-radius:7px;background:var(--surface-3);position:relative}
.mock-card::after{content:"";position:absolute;right:7px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%}
.mock-card.s-good::after{background:var(--good-fill)}
.mock-card.s-warn::after{background:var(--warn-fill)}
.mock-card.s-bad::after{background:var(--bad-fill)}
.mock-card.s-excellent::after{background:var(--excellent-fill)}
.mock-card.s-empty::after{background:var(--empty-fill);height:3px;margin-top:-1.5px;border-radius:2px}
.mock-chart{position:relative;margin:2px 14px 16px;height:92px;display:flex;align-items:flex-end;gap:10px;padding:0 6px;border-bottom:1px solid var(--border)}
.mock-chart span{flex:1;height:var(--h);max-width:28px;background:color-mix(in srgb,var(--chart-real) 30%,var(--surface-3));border-radius:4px 4px 0 0}
.mock-chart span.on{background:var(--chart-real)}
.mock-chart svg{position:absolute;inset:6px 6px 0;width:calc(100% - 12px);height:calc(100% - 6px);overflow:visible}
.mock-chart polyline{fill:none;stroke:var(--chart-target);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.hero-stamp{position:absolute;right:22px;bottom:52px;background:var(--rco-charcoal);color:#fff;padding:16px 22px;border-radius:12px;font-size:15px;line-height:1.45;transform:rotate(3deg);box-shadow:var(--shadow-md)}
.hero-stamp b{color:var(--rco-orange)}
.hero-art figcaption{position:absolute;left:24px;bottom:16px;font-size:11.5px;color:var(--muted)}

.pillars{border-block:1px solid var(--border);display:flex;justify-content:center;gap:12px 48px;padding:20px 24px;flex-wrap:wrap;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.pillars span{display:flex;align-items:center;gap:10px}
.pillars span::before{content:"";width:6px;height:6px;background:var(--accent);transform:rotate(45deg)}

.section{max-width:1320px;margin:auto;padding:96px 40px;scroll-margin-top:80px}
.section-head{display:flex;justify-content:space-between;gap:48px;align-items:end;margin-bottom:44px}
.section-head h2{margin-bottom:0}
.section-head>p{font-size:15.5px;color:var(--muted);max-width:360px;margin-bottom:4px}
.services{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.service{position:relative;display:flex;flex-direction:column;padding:30px 28px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:border-color .2s,box-shadow .2s,transform .2s}
.service:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.service-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-text);margin-bottom:26px}
.service-icon .ico{width:24px;height:24px}
.service-number{position:absolute;top:30px;right:28px;font-size:12px;font-weight:700;color:var(--subtle)}
.service p{font-size:14.5px;color:var(--muted)}
.service ul{list-style:none;margin:10px 0 26px;padding:0;border-top:1px solid var(--divider)}
.service li{padding:11px 0;border-bottom:1px solid var(--divider);font-size:14px;color:var(--text);display:flex;gap:10px}
.service li::before{content:"";width:6px;height:6px;margin-top:8px;border-radius:50%;background:var(--accent);flex:none}
.service .text-link{margin-top:auto}

.method{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:var(--surface-2);border-radius:24px;max-width:1240px;padding:80px 64px}
.method .lead{color:var(--muted);font-size:16px;max-width:440px}
.steps{list-style:none;padding:0;margin:0}
.steps li{display:flex;gap:22px;border-bottom:1px solid var(--border);padding:24px 0}
.steps li:first-child{padding-top:4px}
.steps li:last-child{border-bottom:0}
.step-n{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--accent-border);color:var(--accent-text);font-size:13px;font-weight:700}
.steps p{font-size:14.5px;color:var(--muted);margin:0}

.platform{background:var(--rco-charcoal);color:#E6E8E1;margin-top:96px;scroll-margin-top:60px}
html[data-theme=dark] .platform{background:#0C0E0B;border-block:1px solid var(--border)}
.platform-inner{max-width:1320px;margin:auto;padding:96px 40px;display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}
.platform h2{color:#fff}
.platform .eyebrow,html[data-theme=dark] .platform .eyebrow{color:var(--rco-orange)}
.platform-copy p{color:#B9BEB2;font-size:16px;margin-bottom:30px}
.platform .button.primary{color:#161814}
.features{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.features li{display:flex;gap:14px;padding:20px;border:1px solid #363B33;border-radius:var(--radius);background:#262A24}
html[data-theme=dark] .features li{background:#151814;border-color:#2A2E27}
.features .ico{width:22px;height:22px;color:var(--rco-orange);margin-top:2px}
.features b{display:block;color:#fff;font-size:15px;margin-bottom:4px}
.features span{display:block;color:#A9AEA2;font-size:13.5px;line-height:1.5}

.client-access{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.client-access>div>p:not(.eyebrow){font-size:16px;color:var(--muted)}
.access-card{padding:32px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.access-card label{display:block;font-size:14px;font-weight:700;color:var(--text-strong);margin-bottom:6px}
.access-card .field-help{margin-bottom:14px}
.input-action{display:flex;gap:10px}
.input-action input{flex:1}

.contact-band{background:var(--rco-orange);color:#1A1C19}
.contact-inner{max-width:1320px;margin:auto;padding:64px 40px;display:flex;justify-content:space-between;align-items:center;gap:40px}
.contact-band h2{margin:0;color:#1A1C19}
.contact-band .eyebrow,html[data-theme=dark] .contact-band .eyebrow{color:#3A1E08}

.site-footer{border-top:1px solid var(--border)}
.site-footer-inner{max-width:1320px;margin:auto;padding:30px 40px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;font-size:13.5px;color:var(--muted)}
.site-footer a:hover{color:var(--text-strong);text-decoration:underline;text-underline-offset:3px}
.site-footer small{margin-left:auto;font-size:12.5px}

@media (max-width:1080px){
  .hero{gap:36px;padding:56px 28px 64px}
  .hero-art{min-height:440px}
  .section{padding:72px 28px}
  .site-header-inner{padding:10px 28px;gap:16px}
  .site-nav a{padding:9px 10px}
  .method{gap:44px;padding:64px 40px;margin-inline:28px}
  .platform-inner{gap:44px;padding:72px 28px}
  .features{grid-template-columns:1fr}
  .client-access{gap:36px}
  .contact-inner{padding:52px 28px}
  .site-footer-inner{padding:28px}
}
@media (max-width:860px){
  .site-menu{display:inline-flex}
  .header-access{display:none}
  .site-nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:2px;padding:10px 16px 16px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);display:none}
  .site-header.menu-open .site-nav{display:flex}
  .site-nav a{padding:13px 12px;border-radius:var(--radius-sm);font-size:16px}
  .site-nav .nav-access-mobile{display:block;margin-top:6px;background:var(--accent);color:var(--accent-ink);text-align:center}
  .site-header-actions{margin-left:auto}
  .hero,.method,.platform-inner,.client-access{grid-template-columns:1fr}
  .services{grid-template-columns:1fr}
  .section-head{display:block}
  .section-head>p{margin-top:16px}
}
@media (max-width:600px){
  .site-header-inner{min-height:66px;padding:8px 16px}
  .brand{height:44px}
  .hero{padding:36px 18px 48px}
  .hero h1{font-size:44px}
  .hero .lead{font-size:16.5px}
  .actions .button{width:100%}
  .hero-points{margin-top:28px}
  .hero-art{min-height:390px;padding:32px 16px 64px;border-radius:18px}
  .mock-row{grid-template-columns:62px repeat(3,1fr);gap:6px}
  .hero-stamp{right:12px;bottom:48px;font-size:13px;padding:12px 16px}
  .pillars{gap:10px 24px;font-size:11px;justify-content:flex-start}
  .section{padding:56px 18px}
  .method{margin-inline:0;border-radius:0;padding:56px 18px}
  .platform{margin-top:56px}
  .platform-inner{padding:56px 18px}
  .access-card{padding:22px}
  .input-action{flex-direction:column}
  .input-action .button{width:100%}
  .contact-inner{flex-direction:column;align-items:flex-start;padding:44px 18px}
  .contact-band .button{width:100%}
  .site-footer-inner{padding:24px 18px;gap:14px 20px}
  .site-footer small{margin-left:0;flex-basis:100%}
}
