/* Homepage pública — azul-marinho e dourado, com componentes existentes. */
body:has(.rml-home-reference) { background:#fff; }
body:has(.rml-home-reference) #main-body { padding:0; }
body:has(.rml-home-reference) #main-body>.container,
body:has(.rml-home-reference) #main-body .primary-content { width:100%; max-width:none; padding:0; }
.rml-home-reference { color:#506582; background:#fff; padding-bottom:0; }
.rml-home-reference * { box-sizing:border-box; }
.rml-home-reference .rh-container { width:90%; max-width:1180px; margin-inline:auto; }
.rml-home-reference h1,.rml-home-reference h2,.rml-home-reference h3 { color:#0b2344; letter-spacing:-.035em; }
.rml-home-reference h2 { font-size:clamp(24px,2.5vw,32px); line-height:1.2; margin:0 0 12px; }
.rml-home-reference h3 { font-size:17px; line-height:1.35; margin:0 0 7px; letter-spacing:-.025em; }
.rml-home-reference p { font-size:15px; line-height:1.5; margin:0 0 18px; }
.rml-home-reference .rh-label { display:flex; align-items:center; gap:12px; color:#996500; font-size:11px; font-weight:600; line-height:1.4; text-transform:uppercase; letter-spacing:.1em; margin:0 0 10px; }
.rml-home-reference .rh-label::before { content:''; flex:0 0 24px; border-top:2px solid #b77a0b; }
.rml-home-reference a { text-decoration:none; }
.rml-home-reference a:focus-visible { outline:3px solid #996500; outline-offset:4px; }
.rml-home-reference .rh-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.rml-home-reference .rh-button { display:inline-flex; justify-content:center; align-items:center; gap:14px; padding:12px 22px; min-height:46px; border:1px solid #c79928; border-radius:5px; background:#ddb039; color:#0b2344; font-size:14px; font-weight:600; line-height:1.4; transition:background .15s ease; }
.rml-home-reference .rh-button:hover { background:#edc457; border-color:#c79928; color:#0b2344; }
.rml-home-reference .rh-button-secondary { color:#0b2344; background:#fff; }
.rml-home-reference .rh-button-secondary:hover { background:#fcf7eb; }
.rml-home-reference .rh-hero { color:#506582; background:#faf9f6 url('../img/homepage/home-reference-servers.webp') center/cover no-repeat; }
.rml-home-reference .rh-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:24px 40px; align-items:center; padding-top:30px; padding-bottom:22px; }
.rml-home-reference .rh-hero-copy { max-width:590px; }
.rml-home-reference .rh-hero .rh-label { color:#b77a0b; }
.rml-home-reference h1 { color:#0b2344; font-size:clamp(34px,3.5vw,48px); line-height:1.05; margin:0 0 18px; }
.rml-home-reference h1 strong { color:#996500; font-weight:inherit; }
.rml-home-reference .rh-lead { max-width:540px; color:#506582; }
.rml-home-reference .rh-hero .rh-button:not(.rh-button-secondary),
.rml-home-reference .rh-cta .rh-button:not(.rh-button-secondary) { background:#ddb039; color:#032236; box-shadow:0 3px 15px #b77a0b24; }
.rml-home-reference .rh-hero .rh-button:not(.rh-button-secondary):hover,
.rml-home-reference .rh-cta .rh-button:not(.rh-button-secondary):hover { background:#edc457; }
.rml-home-reference .rh-hero-card { grid-column:2; grid-row:1/3; width:290px; justify-self:end; background:#fffffff5; border:1px solid #e7dfd0; border-radius:8px; padding:22px; box-shadow:0 8px 30px #0003; }
.rml-home-reference .rh-hero-card ul { display:grid; gap:12px; padding:0; margin:0 0 14px; list-style:none; }
.rml-home-reference .rh-hero-card li { display:flex; align-items:center; gap:12px; font-size:13px; line-height:1.4; }
.rml-home-reference .rh-hero-card strong { color:#0b2344; }
.rml-home-reference .rh-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 50px; width:50px; height:50px; border-radius:50%; background:#fcf7eb; color:#ad7600; font-size:25px; }
.rml-home-reference .rh-hero-card .rh-icon { flex-basis:42px; width:42px; height:42px; font-size:22px; color:#996500; background:#fcf7eb; }
.rml-home-reference .rh-location { padding-top:15px; margin:0; border-top:1px solid #e7dfd0; font-size:13px; }
.rml-home-reference .rh-location i { margin-right:12px; color:#996500; }
.rml-home-reference .rh-benefits { grid-column:1; display:flex; gap:18px; margin:0; padding:0; list-style:none; }
.rml-home-reference .rh-benefits li { display:flex; align-items:center; gap:9px; padding-right:0; font-size:12px; color:#506582; }
.rml-home-reference .rh-benefits li+li { padding-left:0; }
.rml-home-reference .rh-benefits .rh-icon { flex-basis:42px; width:42px; height:42px; color:#996500; border:1px solid #996500; background:#fcf7eb; font-size:22px; }
.rml-home-reference .rh-heading { text-align:left; margin-bottom:18px; }
.rml-home-reference .rh-heading .rh-label { justify-content:flex-start; }
.rml-home-reference .rh-heading p:last-child { margin-bottom:0; }
.rml-home-reference .rh-services { padding-top:30px; padding-bottom:28px; scroll-margin-top:24px; }
.rml-home-reference .rh-services-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.rml-home-reference .rh-service { display:flex; flex-direction:column; padding:12px 14px 16px; border:1px solid #e4eaf1; border-radius:7px; background:#fff; background-blend-mode:soft-light; box-shadow:0 3px 10px #05243b18; }
.rml-home-reference .rh-service .rh-icon { position:relative; margin-top:-28px; margin-bottom:8px; color:#996500; background:#fcf7eb; border:1px solid #fcf7eb; }
.rml-home-reference .rh-service h3 { color:#0b2344; }
.rml-home-reference .rh-service p { color:#506582; font-size:14px; margin-bottom:18px; }
.rml-home-reference .rh-service a { margin-top:auto; color:#996500; font-weight:600; font-size:14px; }
.rml-home-reference .rh-service a:hover { color:#774c00; text-decoration:underline; }
.rml-home-reference .rh-about { padding:30px 0; display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.rml-home-reference .rh-about>div>p:not(.rh-label) { font-size:14px; }
.rml-home-reference .rh-features { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-content:center; border-left:1px solid #e7dfd0; padding-left:24px; }
.rml-home-reference .rh-features article { display:flex; align-items:flex-start; gap:14px; }
.rml-home-reference .rh-features article:nth-child(n+3) { padding-top:16px; border-top:1px solid #e7dfd0; }
.rml-home-reference .rh-features h3 { font-size:14px; }
.rml-home-reference .rh-features p { font-size:13px; margin:0; }
.rml-home-reference .rh-features .rh-icon { border:2px solid #fff; }
.rml-home-reference .rh-facts { padding-top:26px; padding-bottom:28px; }
.rml-home-reference .rh-facts dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:20px 0 0; }
.rml-home-reference .rh-facts dl>div { position:relative; min-width:0; padding:0 16px 0 76px; display:flex; flex-direction:column; justify-content:center; min-height:52px; }
.rml-home-reference .rh-facts dl>div+div { border-left:1px solid #e7dfd0; }
.rml-home-reference .rh-facts dt { color:#0b2344; font-size:18px; font-weight:700; line-height:1.3; }
.rml-home-reference .rh-facts .rh-icon { position:absolute; left:16px; top:0; }
.rml-home-reference .rh-facts dd { margin:5px 0 0; font-size:12px; line-height:1.4; }
.rml-home-reference .rh-cta { background:#031b2b url('../img/homepage/home-navy-hero.webp') center/cover no-repeat; border:1px solid #e7dfd0; border-radius:14px; padding:28px 40px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.rml-home-reference .rh-cta h2 { color:#fff; font-size:28px; }
.rml-home-reference .rh-cta h2 span { color:#ddb039; }
.rml-home-reference .rh-cta p { color:#e2eaf2; }
.rml-home-reference .rh-cta .rh-label { color:#ddb039; }
.rml-home-reference .rh-cta-copy>p:not(.rh-label) { max-width:440px; margin:0 0 16px; font-size:14px; }
.rml-home-reference .rh-cta .rh-actions { flex-wrap:nowrap; flex-shrink:0; }
@media(min-width:1000px) {
 .rml-home-reference .rh-hero-grid { width:min(1180px,86%); }
}
@media(min-width:1000px) and (max-width:1199px) {
 .rml-home-reference .rh-hero-grid { grid-template-columns:minmax(0,1fr) 280px; gap:20px; }
 .rml-home-reference .rh-hero-card { width:280px; padding:18px; }
 .rml-home-reference .rh-hero-card li { font-size:12px; }
 .rml-home-reference .rh-service { padding:18px; }
 .rml-home-reference .rh-service h3 { font-size:16px; }
 .rml-home-reference .rh-about { padding:26px; gap:24px; }
 .rml-home-reference .rh-features { padding-left:20px; gap:16px; }
 .rml-home-reference .rh-features article { gap:10px; }
 .rml-home-reference .rh-features .rh-icon { width:42px; height:42px; flex-basis:42px; font-size:22px; }
 .rml-home-reference .rh-cta { padding:26px; gap:20px; }
 .rml-home-reference .rh-cta .rh-button { font-size:12px; padding-inline:16px; }
}
@media(max-width:999px) {
 .rml-home-reference .rh-container { width:calc(100% - 40px); }
 .rml-home-reference .rh-hero { background-image:none; }
 .rml-home-reference .rh-hero-grid { grid-template-columns:1fr; gap:26px; padding-top:32px; }
 .rml-home-reference .rh-hero-copy { max-width:650px; }
 .rml-home-reference .rh-hero-card { grid-column:auto; grid-row:auto; width:100%; }
 .rml-home-reference .rh-hero-card ul { grid-template-columns:1fr 1fr; }
 .rml-home-reference .rh-benefits { gap:12px; }
 .rml-home-reference .rh-benefits li { padding-right:0; }
 .rml-home-reference .rh-benefits li+li { padding-left:12px; }
 .rml-home-reference .rh-services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .rml-home-reference .rh-about { grid-template-columns:1fr; padding:28px 0; gap:24px; }
 .rml-home-reference .rh-features { padding:22px 0 0; border-left:0; border-top:1px solid #e7dfd0; }
 .rml-home-reference .rh-facts dl { grid-template-columns:1fr 1fr; gap:24px 0; }
 .rml-home-reference .rh-facts dl>div:nth-child(3) { border-left:0; }
 .rml-home-reference .rh-cta { flex-direction:column; align-items:flex-start; padding:28px; }
}
@media(max-width:599px) {
 .rml-home-reference .rh-container { width:calc(100% - 32px); }
 .rml-home-reference h1 { font-size:34px; }
 .rml-home-reference .rh-actions { flex-direction:column; align-items:stretch; }
 .rml-home-reference .rh-button { width:100%; }
 .rml-home-reference .rh-hero-card ul { grid-template-columns:1fr; }
 .rml-home-reference .rh-benefits { flex-direction:column; gap:16px; }
 .rml-home-reference .rh-benefits li+li { border:0; padding-left:0; }
 .rml-home-reference .rh-services-grid,.rml-home-reference .rh-features { grid-template-columns:1fr; }
 .rml-home-reference .rh-about { padding:28px 0; }
 .rml-home-reference .rh-facts dl { gap:22px 12px; }
 .rml-home-reference .rh-facts dl>div { padding:0; border:0; }
 .rml-home-reference .rh-facts dl>div+div { border:0; }
 .rml-home-reference .rh-facts .rh-icon { position:static; display:flex; margin-bottom:10px; }
 .rml-home-reference .rh-facts dt { font-size:18px; }
 .rml-home-reference .rh-cta { padding:24px; background-image:none; }
 .rml-home-reference .rh-cta .rh-actions { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .rml-home-reference .rh-button { transition:none; } }

.rml-home-reference .rh-benefits strong,.rml-home-reference .rh-trust strong { display:block; color:#0b2344; font-size:13px; line-height:1.4; }
.rml-home-reference .rh-benefits small,.rml-home-reference .rh-trust small { display:block; margin-top:4px; font-size:12px; line-height:1.4; }
.rml-home-reference .rh-service-image { display:block; width:100%; height:110px; object-fit:cover; border-radius:3px; }
.rml-home-reference .rh-service-image-0,.rml-home-reference .rh-service-image-3 { object-position:right; }
.rml-home-reference .rh-service-image-0 { object-fit:none; }
.rml-home-reference .rh-about-band { background:#fbf7ed; }
.rml-home-reference .rh-cta-points { padding:18px; margin:0; list-style:none; display:grid; gap:12px; border-radius:8px; background:#031b2bcc; color:#fff; font-size:13px; }
.rml-home-reference .rh-cta-points i { color:#ddb039; margin-right:8px; font-size:18px; }
.rml-home-reference .rh-trust { margin-top:20px; padding:22px 0; background:#f0f6f9; }
.rml-home-reference .rh-trust ul { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; }
.rml-home-reference .rh-trust li { display:flex; align-items:center; gap:14px; padding:0 18px; }
.rml-home-reference .rh-trust li:first-child { padding-left:0; }
.rml-home-reference .rh-trust li+li { border-left:1px solid #dce3ec; }
@media(min-width:1000px) {
 .rml-home-reference .rh-hero-grid { padding-block:34px 24px; }
 .rml-home-reference .rh-benefits { margin-right:-60px; }
}
@media(max-width:999px) {
 .rml-home-reference .rh-benefits { grid-row:2; }
 .rml-home-reference .rh-trust ul { grid-template-columns:1fr 1fr; gap:22px 0; }
 .rml-home-reference .rh-trust li:nth-child(3) { border-left:0; padding-left:0; }
}
@media(max-width:599px) {
 .rml-home-reference .rh-service-image { height:145px; }
 .rml-home-reference .rh-trust ul { grid-template-columns:1fr; }
 .rml-home-reference .rh-trust li+li { border:0; padding:0; }
 .rml-home-reference .rh-cta-points { width:100%; padding:14px 0; background:none; }
}


.rml-home-reference .rh-faq { padding-block:28px; }
.rml-home-reference .rh-faq-grid,.rml-home-reference .rh-faq-grid>div { display:grid; gap:8px; align-content:start; }
.rml-home-reference .rh-faq-grid { gap:16px 24px; }
.rml-home-reference .rh-faq details { border:1px solid #dce5ed; border-radius:4px; background:#fff; }
.rml-home-reference .rh-faq summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; padding:10px 16px; font-size:13px; line-height:1.4; color:#0b2344; cursor:pointer; list-style:none; }
.rml-home-reference .rh-faq summary::-webkit-details-marker { display:none; }
.rml-home-reference .rh-faq summary:focus-visible { outline:3px solid #996500; outline-offset:3px; }
.rml-home-reference .rh-faq summary i { flex-shrink:0; font-size:10px; }
.rml-home-reference .rh-faq details[open] summary i { transform:rotate(180deg); }
.rml-home-reference .rh-faq details p { padding:4px 16px 16px; margin:0; font-size:14px; }
@media(min-width:700px) { .rml-home-reference .rh-faq-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Paleta dos botões com a decoração partilhada. */
.rml-home-reference .rh-button { background:#ddb039 !important; color:#0b2344 !important; border-color:#c79928 !important; }
.rml-home-reference .rh-button:hover { background:#edc457 !important; color:#0b2344 !important; border-color:#c79928 !important; }
.rml-home-reference .rh-hero .rh-button-secondary { background:#fff !important; color:#0b2344 !important; }
.rml-home-reference .rh-hero .rh-button-secondary:hover { background:#fcf7eb !important; }
.rml-home-reference .rml-action.rml-action-secondary::after { border-left-color:rgba(153,101,0,.25); }
/* A mesma apresentação do cabeçalho e rodapé usada na página Projetos Digitais. */
body:has(.rml-home-reference) #header,body:has(.rml-home-reference) #header .navbar { background:#031b2b; }
body:has(.rml-home-reference) #header .navbar>.container,body:has(.rml-home-reference) #footer>.container { width:min(1180px,86%); max-width:none; padding-inline:0; }
body:has(.rml-home-reference) #header .navbar { min-height:70px; padding-block:8px; }
body:has(.rml-home-reference) #header .navbar-brand { flex-basis:150px; margin-right:24px !important; }
body:has(.rml-home-reference) #header .navbar-brand img { width:150px; height:auto; max-height:50px; }
body:has(.rml-home-reference) #footer { background:#031b2b; }
body:has(.rml-home-reference) #footer.rml-footer .rml-footer-grid { grid-template-columns:1fr; gap:24px; padding-block:26px; }
body:has(.rml-home-reference) #footer.rml-footer .rml-footer-column { border-left:0; padding-inline:0; }
body:has(.rml-home-reference) #footer.rml-footer .rml-footer-logo img { width:150px; }
body:has(.rml-home-reference) #footer.rml-footer .rml-footer-brand { display:block; grid-column:1/-1; padding-bottom:0; }
body:has(.rml-home-reference) #footer.rml-footer .rml-footer-logo { margin-bottom:12px; }
body:has(.rml-home-reference) #footer.rml-footer .rml-footer-brand p { margin-bottom:12px; }
body:has(.rml-home-reference) #footer.rml-footer .rml-footer-contacts,body:has(.rml-home-reference) #footer.rml-footer .rml-footer-contacts address { display:block; grid-column:auto; }
@media(min-width:650px) {
 body:has(.rml-home-reference) #footer.rml-footer .rml-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:1000px) {
 body:has(.rml-home-reference) #header .navbar>.container { flex-wrap:nowrap; }
 body:has(.rml-home-reference) #header .navbar-brand { order:1; }
 body:has(.rml-home-reference) #header .rml-site-tools { order:3; margin-left:14px; }
 body:has(.rml-home-reference) #header .rml-site-tools .d-xl-none { display:none !important; }
 body:has(.rml-home-reference) #mainNavbar { display:flex !important; order:2; width:auto; flex-basis:auto; padding:0; margin:0; border:0; }
 body:has(.rml-home-reference) #mainNavbar>.navbar-nav { flex-direction:row; width:auto; margin:0; padding:0; border:0; }
 body:has(.rml-home-reference) #mainNavbar>.navbar-nav>li { width:auto; }
 body:has(.rml-home-reference) #mainNavbar .nav-link { font-size:12px; min-height:42px; padding:8px 9px !important; }
 body:has(.rml-home-reference) #mainNavbar .active>.nav-link::after { display:block; }
 body:has(.rml-home-reference) #header .rml-client-area-link { padding:7px 14px !important; font-size:12px; border-radius:6px; }
 body:has(.rml-home-reference) #footer.rml-footer .rml-footer-grid { grid-template-columns:1.5fr .9fr .9fr 1fr 1.1fr; gap:0; }
 body:has(.rml-home-reference) #footer.rml-footer .rml-footer-column { border-left:1px solid #164057; padding-inline:18px; }
 body:has(.rml-home-reference) #footer.rml-footer .rml-footer-brand { grid-column:auto; padding-right:22px; }
 body:has(.rml-home-reference) #footer.rml-footer .rml-footer-signature { font-size:10px; letter-spacing:.07em; }
 body:has(.rml-home-reference) #footer.rml-footer .rml-footer-column h3 { font-size:12px; margin-bottom:14px; }
 body:has(.rml-home-reference) #footer.rml-footer .rml-footer-column h3::after { display:none; }
 body:has(.rml-home-reference) #footer.rml-footer .rml-footer-links { gap:6px; }
 body:has(.rml-home-reference) #footer.rml-footer .rml-footer-brand p,body:has(.rml-home-reference) #footer.rml-footer .rml-footer-links a,body:has(.rml-home-reference) #footer.rml-footer .rml-footer-contact-item strong { font-size:12px; }
}
@media(max-width:649px) {
 body:has(.rml-home-reference) #header .navbar>.container,body:has(.rml-home-reference) #footer>.container { width:calc(100% - 40px); }
}
