/* RGC Security V2 - Tema institucional autónomo, fase 1.
   Paleta oficial: #ff6200, #1f2c4c, #f2f2f2. */
:root {
  --orange:#ff6200; --orange-hover:#e55700; --navy:#1f2c4c; --navy-dark:#152039;
  --slate:#536174; --bg:#f2f2f2; --border:#dfe3e9; --white:#fff;
  --soft-orange:#fff4ec; --shadow:0 18px 40px rgba(31,44,76,.075);
}
*,*::before,*::after { box-sizing:border-box }
html { scroll-behavior:smooth }
body { margin:0; font:400 16px/1.6 system-ui,-apple-system,"Segoe UI",Arial,sans-serif; color:var(--navy); background:#fff; -webkit-font-smoothing:antialiased }
a { color:inherit; text-decoration:none }
a:focus-visible, summary:focus-visible { outline:3px solid var(--orange); outline-offset:4px }
img { max-width:100%; height:auto }
h1,h2,h3,p { margin-top:0 }
h1,h2,h3 { line-height:1.16; letter-spacing:-.035em }
p { color:inherit }
.shell { width:min(1200px,calc(100% - 48px)); margin-inline:auto }
.skip-link { position:absolute; left:16px; top:-70px; background:#fff; color:var(--navy); padding:10px; z-index:1000 }
.skip-link:focus { top:12px }
.utility-bar { background:var(--navy-dark); color:#dce4ef; font-size:12px }
.utility-inner { min-height:36px; display:flex; align-items:center; justify-content:space-between; gap:12px }
.utility-region { color:#aebfd4 }
.site-header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.97); box-shadow:0 1px 0 var(--border),0 6px 24px rgba(31,44,76,.045); backdrop-filter:blur(12px) }
.header-main { min-height:90px; display:flex; align-items:center; gap:30px }
.brand { display:flex; flex-shrink:0; align-items:center }
.brand img { display:block; width:198px; height:auto; max-height:58px }
.desktop-nav { margin-left:auto; display:flex; gap:24px; align-items:center; flex-wrap:wrap }
.desktop-nav a { font-size:13px; font-weight:650; padding:11px 0; white-space:nowrap; transition:color .15s }
.desktop-nav a:hover, .desktop-nav a[aria-current=page] { color:var(--orange) }
.button { display:inline-flex; align-items:center; justify-content:center; gap:13px; border-radius:11px; min-height:47px; padding:13px 19px; font-weight:750; font-size:13px; letter-spacing:.005em; line-height:1.25; text-align:center; transition:background-color .2s,transform .2s,border-color .2s }
.button:hover { transform:translateY(-1px) }
.button-orange { background:var(--orange); color:#fff }
.button-orange:hover { background:var(--orange-hover) }
.button-dark { background:var(--navy); color:#fff }
.button-dark:hover { background:#2c416d }
.button-outline-light { color:#fff; border:1px solid rgba(255,255,255,.42) }
.button-outline-light:hover { background:rgba(255,255,255,.12) }
.header-cta { white-space:nowrap }
.mobile-menu { display:none; position:relative }
.home-hero { color:#fff; background:radial-gradient(circle at 87% 25%,#354c77 0,#263b61 24%,transparent 57%),linear-gradient(118deg,#1b2845,#1f2c4c 75%); overflow:hidden }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); align-items:stretch; min-height:575px; gap:34px }
.hero-copy { display:flex; flex-direction:column; justify-content:center; padding:80px 0 44px }
.eyebrow { display:inline-flex; align-items:center; gap:9px; color:var(--orange); font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase }
.eyebrow-light { color:#ffb380 }
.eyebrow-line { display:inline-block; width:18px; height:2px; background:var(--orange) }
.hero-copy h1 { font-weight:820; font-size:clamp(40px,4.3vw,65px); line-height:1.08; margin:20px 0 22px; max-width:710px; letter-spacing:-.048em }
.hero-copy h1 em, .page-hero h1 em { color:#ff9360; font-style:normal }
.hero-copy>p { max-width:605px; color:#d8e1f0; font-size:16px; line-height:1.85; margin-bottom:28px }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap }
.hero-foot { margin-top:auto; padding-top:65px; display:flex; align-items:center; gap:19px; flex-wrap:wrap; color:#c4cfdf; font-size:11px; font-weight:650; letter-spacing:.025em }
.hero-foot span+span::before { content:"/"; opacity:.35; margin-right:18px }
.hero-visual { min-height:475px; position:relative; align-self:center; overflow:hidden; isolation:isolate }
.hero-visual::before { content:""; position:absolute; width:310px; height:310px; left:50%; top:49%; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle,rgba(255,98,0,.12),transparent 68%) }
.visual-ring { position:absolute; border:1px solid rgba(255,255,255,.17); border-radius:50%; left:50%; top:48%; transform:translate(-50%,-50%) }
.ring-outer { width:420px; height:420px; border-style:dashed }
.ring-inner { width:300px; height:300px; border-color:rgba(255,98,0,.5) }
.visual-center { position:absolute; left:50%; top:48%; transform:translate(-50%,-50%); display:flex; flex-direction:column; justify-content:center; align-items:center; width:180px; height:180px; border-radius:32px; background:linear-gradient(145deg,#314872,#152642); box-shadow:0 24px 60px rgba(1,10,29,.35),inset 0 0 0 1px rgba(255,255,255,.2); font-size:54px; font-weight:900; line-height:1; letter-spacing:-.04em }
.visual-center::after { content:""; position:absolute; left:50%; bottom:-22px; width:22px; height:4px; background:var(--orange); transform:translateX(-50%) }
.visual-center span { margin-top:6px; font-size:10px; letter-spacing:.31em; color:#ffaf7d }
.visual-tag { position:absolute; padding:12px 18px; border:1px solid rgba(255,255,255,.2); background:rgba(26,39,66,.90); border-radius:12px; box-shadow:0 15px 30px rgba(4,16,38,.13); font-size:12px; font-weight:750; letter-spacing:.08em }
.tag-dot { display:inline-block; width:7px; height:7px; margin-right:8px; vertical-align:middle; background:var(--orange); border-radius:50% }
.tag-top { top:11%; left:10% }
.tag-right { right:2%; top:39% }
.tag-bottom { bottom:16%; left:14% }
.visual-corner { position:absolute; right:7%; bottom:7%; color:#aebeda; font-size:10px; letter-spacing:.18em; text-align:right }
.trust-strip { border-bottom:1px solid var(--border); background:#fff }
.trust-grid { display:grid; grid-template-columns:repeat(3,1fr) }
.trust-grid>div { min-height:112px; padding:26px 20px 26px 0; display:flex; justify-content:center; flex-direction:column; gap:2px; border-right:1px solid var(--border) }
.trust-grid>div+div { padding-left:35px }
.trust-grid>div:last-child { border-right:0 }
.trust-grid strong { font-size:13px }
.trust-grid span { color:var(--slate); font-size:12px }
.section { padding-top:93px; padding-bottom:95px }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:30px }
.section-head h2, .split-section h2, .details-grid h2 { font-size:clamp(29px,3vw,42px); max-width:650px; letter-spacing:-.042em; margin:13px 0 0 }
.text-link { color:var(--orange); white-space:nowrap; font-size:13px; font-weight:750; padding-bottom:8px }
.text-link:hover { text-decoration:underline }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px }
.service-card { display:flex; flex-direction:column; min-height:305px; padding:27px; border:1px solid var(--border); background:#fff; border-radius:18px; transition:border-color .2s,box-shadow .2s,transform .2s }
.service-card:hover { transform:translateY(-4px); border-color:#ffaf85; box-shadow:var(--shadow) }
.card-top { display:flex; justify-content:space-between; align-items:center }
.service-number { font-size:15px; color:#9aa6ba; font-weight:750 }
.round-arrow { display:grid; place-items:center; border-radius:50%; width:36px; height:36px; background:var(--soft-orange); color:var(--orange); font-size:18px }
.card-rule { display:block; height:2px; width:34px; background:var(--orange); margin:25px 0 }
.service-card h2,.service-card h3 { font-size:21px; margin-bottom:11px }
.service-card p { font-size:13px; line-height:1.75; color:var(--slate); margin-bottom:22px }
.card-link { color:var(--orange); font-size:13px; font-weight:750; margin-top:auto }
.section-soft { background:var(--bg) }
.split-section { display:grid; grid-template-columns:.95fr 1.05fr; gap:85px; align-items:center }
.split-section .lead { margin:24px 0 30px; color:var(--slate); font-size:16px; line-height:1.8 }
.solution-stack { display:flex; flex-direction:column; gap:12px }
.solution-row { display:flex; align-items:center; gap:19px; background:#fff; padding:24px; border:1px solid var(--border); border-radius:14px; transition:transform .2s,border-color .2s }
.solution-row:hover { transform:translateX(4px); border-color:#ffb18c }
.solution-count { color:var(--orange); font-weight:800; font-size:14px }
.solution-row>span:nth-child(2) { flex:1 }
.solution-row strong { display:block; font-size:16px; margin-bottom:4px }
.solution-row small { font-size:12px; color:var(--slate); line-height:1.6; display:block }
.solution-arr { font-size:24px; color:var(--orange) }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px }
.process-item { padding-top:20px; border-top:2px solid var(--border) }
.process-item span { color:var(--orange); font-size:14px; font-weight:800 }
.process-item h3 { font-size:18px; margin:18px 0 10px }
.process-item p { font-size:13px; line-height:1.75; color:var(--slate) }
.bottom-cta-wrap { padding-bottom:85px }
.bottom-cta { display:flex; justify-content:space-between; align-items:center; gap:30px; background:linear-gradient(120deg,var(--navy),#2f456d); padding:45px 54px; border-radius:22px; color:white }
.bottom-cta h2 { font-size:clamp(28px,3vw,38px); margin:13px 0 12px; max-width:700px }
.bottom-cta p { color:#dbe3f1; font-size:14px; margin:0 }
.bottom-cta .button { white-space:nowrap }
.page-hero { background:linear-gradient(125deg,var(--navy-dark),#2b426d); color:#fff; padding:84px 0 88px }
.page-hero h1 { font-size:clamp(39px,4.1vw,58px); max-width:800px; margin:15px 0 21px }
.page-hero p { font-size:17px; max-width:700px; color:#dce4f0; line-height:1.8; margin:0 }
.page-hero .button { margin-top:28px }
.breadcrumb { display:block; margin:0 0 28px; font-size:13px; color:#c9d4e8 }
.breadcrumb:hover { color:#fff }
.details-grid { display:grid; grid-template-columns:.93fr 1.07fr; gap:90px }
.details-grid h2 { margin-top:15px; margin-bottom:20px }
.details-grid .lead { color:var(--slate); font-size:17px; line-height:1.8 }
.details-grid p { color:var(--slate); line-height:1.8 }
.details-grid .button { margin-top:16px }
.feature-list { display:flex; flex-direction:column }
.feature-row { border-bottom:1px solid var(--border); display:flex; gap:28px; align-items:flex-start; padding:18px 0 }
.feature-row:first-child { border-top:1px solid var(--border) }
.feature-row span { color:var(--orange); font-size:14px; font-weight:800; margin-top:2px }
.feature-row p { margin:0; color:var(--navy); font-size:15px }
.solution-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px }
.solution-card { min-height:250px; display:flex; flex-direction:column; padding:30px; border:1px solid var(--border); border-radius:16px; transition:transform .2s,box-shadow .2s }
.solution-card:hover { transform:translateY(-4px); box-shadow:var(--shadow) }
.solution-card h2 { font-size:24px; margin:30px 0 14px }
.solution-card p { color:var(--slate); font-size:14px; line-height:1.75 }
.solution-card .card-link { margin-top:auto }
.notice-card { border:1px solid #f5d8c8; background:var(--soft-orange); padding:35px; border-radius:18px }
.notice-card h3 { font-size:26px; margin:18px 0 }
.notice-card p { font-size:15px }
.notice-flag { color:#a73d00; font-size:11px; letter-spacing:.1em; font-weight:800 }
.notice-small { border-top:1px solid #efc5aa; padding-top:15px; font-size:12px !important }
.site-footer { color:#d8dfeb; background:var(--navy-dark) }
.footer-layout { display:grid; grid-template-columns:1.5fr .8fr .8fr 1.2fr; gap:50px; padding-top:70px; padding-bottom:61px }
.footer-brand img { width:205px; display:block; margin-bottom:20px }
.footer-brand p { color:#bfccdc; font-size:13px; max-width:290px; line-height:1.8 }
.footer-layout h2 { color:#fff; font-size:14px; margin:5px 0 22px; letter-spacing:.02em }
.footer-layout a { display:block; margin-bottom:12px; color:#cdd7e5; font-size:13px }
.footer-layout a:hover { color:#ffae83 }
.footer-layout>div>p { font-size:13px; color:#bfccdc; line-height:1.8 }
.footer-layout a.footer-mail { overflow-wrap:anywhere; color:#fff }
.footer-layout a.footer-quote { margin-top:23px; color:#ffae83; font-weight:750 }
.footer-bottom { display:flex; justify-content:space-between; gap:16px; border-top:1px solid rgba(255,255,255,.12); padding:21px 0 28px; color:#9eafc4; font-size:11px }
@media(max-width:1190px) { .desktop-nav{gap:14px}.header-main{gap:17px}.brand img{width:178px}.header-cta{padding-inline:13px} }
@media(max-width:1020px) {
  .desktop-nav,.header-cta{display:none}.header-main{min-height:79px;justify-content:space-between}.brand img{width:185px}
  .mobile-menu{display:block}.mobile-menu summary{cursor:pointer;list-style:none;font-size:13px;font-weight:800;background:var(--bg);padding:12px 15px;border-radius:8px}.mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu summary span{color:var(--orange);margin-left:5px;font-size:17px}
  .mobile-menu nav{position:absolute;right:0;top:calc(100% + 14px);background:#fff;box-shadow:0 15px 34px rgba(16,31,55,.18);border:1px solid var(--border);border-radius:14px;min-width:235px;padding:12px;display:grid;gap:2px}
  .mobile-menu nav a{padding:9px 10px;font-size:14px;border-radius:7px}.mobile-menu nav a:hover{background:var(--bg)}.mobile-menu nav .mobile-cta{background:var(--orange);color:#fff;font-weight:800;margin-top:7px}
  .hero-grid{grid-template-columns:1fr .65fr;min-height:525px}.hero-copy{padding:65px 0 35px}.hero-copy h1{font-size:48px}.hero-visual{min-height:450px}.ring-outer{width:340px;height:340px}.ring-inner{width:250px;height:250px}.visual-center{width:155px;height:155px;font-size:45px}
  .split-section{gap:40px}.details-grid{gap:50px}.footer-layout{gap:30px;grid-template-columns:1.3fr 1fr 1fr}
}
@media(max-width:760px) {
  .shell{width:min(100% - 34px,600px)}.utility-region{display:none}.header-main{min-height:75px}.brand img{width:168px}
  .hero-grid{display:block;min-height:0}.hero-copy{padding:58px 0 48px}.hero-copy h1{font-size:clamp(37px,8vw,49px)}.hero-copy>p{font-size:14px;line-height:1.75}.hero-visual{display:none}.hero-foot{padding-top:39px;gap:10px;font-size:10px}.hero-foot span+span::before{margin-right:10px}
  .trust-grid{grid-template-columns:1fr}.trust-grid>div{min-height:70px;padding:14px 0;border-right:0;border-bottom:1px solid var(--border)}.trust-grid>div+div{padding-left:0}.trust-grid>div:last-child{border-bottom:0}
  .section{padding-top:65px;padding-bottom:65px}.section-head{display:block}.section-head h2,.split-section h2,.details-grid h2{font-size:31px}.section-head .text-link{display:inline-block;margin-top:20px}
  .service-grid,.solution-grid{grid-template-columns:1fr}.service-card{min-height:250px}.split-section,.details-grid{grid-template-columns:1fr;gap:34px}.process-grid{grid-template-columns:repeat(2,1fr);gap:20px}
  .bottom-cta-wrap{padding-bottom:65px}.bottom-cta{display:block;padding:30px 25px}.bottom-cta h2{font-size:30px}.bottom-cta .button{margin-top:23px;white-space:normal}
  .page-hero{padding:62px 0}.page-hero h1{font-size:39px}.page-hero p{font-size:15px}
  .footer-layout{grid-template-columns:1fr 1fr;gap:30px;padding:45px 0}.footer-brand{grid-column:1 / -1}.footer-bottom{display:grid;gap:5px}
}
@media(max-width:420px) {.hero-actions{display:grid}.hero-actions .button{width:100%}.process-grid{grid-template-columns:1fr}.footer-layout{grid-template-columns:1fr}.footer-brand{grid-column:auto}.site-footer .footer-brand img{width:200px} }
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
