/* Executive brand palette: crest navy and gold, supported by sapphire and ivory. */
:root { --navy:#111a2d; --navy-2:#1e2d4c; --ink:#182033; --muted:#657080; --gold:#d9ad4f; --gold-2:#f1d17d; --mist:#f4f5f7; --line:#e4e7eb; --sapphire:#176a97; --ivory:#fff; --brand-red:#b82d32; --brand-red-dark:#8e2027; }
html { scroll-padding-top: 28px; }
body { overflow-x: clip; }
:focus-visible { outline: 3px solid var(--sapphire); outline-offset: 5px; }
header :focus-visible, .hero :focus-visible, .cta :focus-visible { outline-color: var(--brand-red); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.preloader { display:none; }
html.is-loading { overflow:hidden; }
html.is-loading .preloader {
  position:fixed; inset:0; z-index:1000; display:grid; place-items:center;
  background:radial-gradient(ellipse at 50% 38%, #1c4b6c 0, #102b44 38%, #091a2c 85%);
  color:#fff; opacity:1; transition:opacity .32s ease;
}
html.is-loading .preloader.is-leaving { opacity:0; pointer-events:none; }
.preloader[hidden] { display:none !important; }
.preloader-inner { text-align:center; padding:32px 24px; }
.preloader-inner img { display:block; width:148px; height:177px; object-fit:contain; margin:0 auto 26px; filter:drop-shadow(0 14px 28px #0005); }
.preloader-name { font-size:24px; font-weight:750; letter-spacing:.25em; margin:0; padding-left:.25em; }
.preloader-name span { display:block; font-size:10px; letter-spacing:.24em; color:var(--gold-2); margin-top:7px; }
.preloader-tagline { color:#becdd9; font-size:14px; margin:22px 0 26px; }
.preloader-line { display:block; width:170px; height:2px; background:#ffffff20; overflow:hidden; margin:auto; }
.preloader-line::after { content:""; display:block; height:100%; background:var(--gold); transform-origin:left; animation:loading-line 1.1s ease-out both; }
@keyframes loading-line { from { transform:scaleX(.05); } to { transform:scaleX(1); } }
.site-header { position:relative; inset:auto; z-index:5; color:var(--ink); background:#fff; box-shadow:0 1px 0 #111a2d12; }
.utility-bar { background:var(--brand-red); color:#fff; font-size:11px; letter-spacing:.08em; }
.utility-inner { display:flex; justify-content:space-between; align-items:center; min-height:36px; }
.utility-contact { display:flex; gap:24px; letter-spacing:0; text-transform:none; }
.site-header nav { padding:17px 0; }
.site-header nav::after { display:none; }
.site-header .brand { color:var(--navy); }
.site-header .brand-label { color:var(--navy); font-weight:800; }
.site-header .brand-crest { width:48px; height:57px; filter:none; }
.site-header .nav-links { color:#606875; text-transform:none; letter-spacing:0; font-size:14px; gap:26px; }
.site-header .nav-links a:hover { color:var(--brand-red); }
.site-header .nav-links a:not(.nav-cta)::after { background:var(--brand-red); bottom:-10px; }
.site-header .nav-cta { color:#fff; background:var(--brand-red); border-color:var(--brand-red); padding:11px 17px; border-radius:2px; }
.site-header .nav-cta:hover { color:#fff; background:var(--brand-red-dark); }
.menu-toggle { display:none; border:0; background:transparent; color:var(--navy); font-size:24px; cursor:pointer; }
.hero { padding:0; min-height:750px; background-image:linear-gradient(90deg, #070d1df2 0%, #101b31df 43%, #111a2d72 100%), url("assets/operaciones-premiumseg.png"); background-position:center; }
.hero-layout { min-height:750px; display:grid; grid-template-columns:minmax(0,1fr) 360px; align-items:center; gap:70px; }
.hero::after { border-color:#78a9c33d; box-shadow:0 0 0 38px #3e8fbd0a,0 0 0 78px #3e8fbd09; }
.hero h1 { font-size:clamp(48px,6.5vw,80px); font-weight:800; letter-spacing:-.055em; max-width:800px; }
.hero h1::after { content:""; display:block; width:66px; height:4px; background:var(--brand-red); margin-top:30px; }
.hero-content { padding:155px 0 80px; max-width:820px; animation:none; }
.hero-contact-card { align-self:end; margin-bottom:54px; background:#fff; color:var(--ink); box-shadow:0 18px 45px #050b171f; border-top:6px solid var(--brand-red); }
.hero-card-top { padding:19px 24px 15px; background:var(--brand-red); color:#fff; }
.hero-card-top span { display:block; font-size:11px; letter-spacing:.12em; text-transform:uppercase; opacity:.8; }
.hero-card-top strong { display:block; font-size:23px; margin-top:6px; }
.hero-contact-card > p { padding:20px 24px 0; color:var(--muted); font-size:14px; line-height:1.6; }
.hero-card-action { display:flex; justify-content:space-between; align-items:center; margin:18px 24px 12px; padding:14px 16px; color:#fff; background:var(--navy); font-size:12px; font-weight:800; }
.hero-card-action:hover { background:var(--brand-red); }
.hero-contact-card small { display:block; padding:0 24px 21px; color:#86909b; font-size:11px; }
html.is-ready .hero-content { animation:rise .65s ease-out both; }
.brand-crest { width:54px; height:64px; }
.brand-label { font-size:12px; line-height:1.4; letter-spacing:.13em; }
.nav-cta { border-radius:4px; background:#ffffff08; }
.btn { border-radius:4px; transition:background .2s,transform .2s; }
.btn-primary { background:var(--brand-red); color:#fff; box-shadow:0 8px 24px #8e202733; }
.btn-primary:hover { background:var(--brand-red-dark); }
.trust { background:#fff; border-bottom:1px solid var(--line); }
.trust::before { background:var(--gold); width:4px; }
.trust-row { padding:26px 0; }
.trust-item { min-height:74px; padding:16px 20px; background:#fff; box-shadow:0 8px 25px #111a2d0b; }
.trust-item:first-child { padding-left:20px; border-left:4px solid var(--brand-red); }
.trust-item { padding-left:22px; border-left:1px solid #d6c8a7; gap:15px; color:#526172; }
.trust-item:first-child { padding-left:0; border:0; }
.trust-item strong { color:var(--navy); font-size:24px; }
.section-kicker { color:var(--brand-red); display:flex; align-items:center; gap:10px; }
.section-kicker::before { content:""; display:inline-block; width:24px; height:2px; background:var(--brand-red); }
.services { background:#f6f6f6; border-top:1px solid #eee; }
.card { border-radius:6px; border-top:3px solid #b8cbd8; padding:30px; }
.card:nth-child(3n+1) { border-top-color:var(--brand-red); }
.card:nth-child(3n+2) { border-top-color:var(--navy-2); }
.icon { background:#eaf1f6; color:var(--sapphire); border-radius:50%; }
.card:nth-child(3n+1) .icon { background:#f8f0df; color:#846020; }
.card:hover { box-shadow:0 16px 38px #173d6810; }
.clients { background:#fff; position:relative; border-top:1px solid var(--line); }
.clients-head { display:grid; grid-template-columns:1.1fr 1fr; gap:70px; align-items:end; }
.clients-head h2 { margin-bottom:0; }
.clients-head .lead { font-size:17px; max-width:450px; }
.clients-note { color:#68788a; font-size:11px; font-weight:650; letter-spacing:.025em; margin:20px 0 3px; }
.clients-grid { gap:20px; margin-top:48px; }
.client-card { display:block; min-width:0; padding:0; overflow:hidden; border:1px solid #e3e3de; border-radius:5px; background:#fff; box-shadow:0 3px 14px #19344d04; }
.client-card:hover { transform:translateY(-4px); box-shadow:0 14px 30px #19344d12; border-color:#c9b37c; }
.client-stage { height:156px; display:flex; justify-content:center; align-items:center; padding:22px 24px; background:#fff; border-bottom:1px solid #edf0f1; }
.client-card .client-stage img { display:block; width:auto; height:auto; max-width:100%; max-height:108px; object-fit:contain; filter:none; }
.client-card .client-stage .logo-boncao { width:184px; }
.client-card .client-stage .logo-wide { width:190px; max-height:80px; }
.client-card .client-stage .logo-original { width:144px; clip-path:inset(0 6%); }
.client-card .client-stage .logo-rotaria { width:109px; max-height:112px; border-radius:3px; clip-path:inset(6% 1% 1% round 3px); }
.client-card .client-stage .logo-una { width:170px; border-radius:3px; }
.client-stage-warm { background:#f5f4ef; }
.client-caption { padding:17px 18px 19px; position:relative; min-height:85px; }
.client-caption::after { content:"↗"; position:absolute; right:14px; top:15px; color:#9d803e; font-size:16px; }
.client-card .client-caption span { display:block; padding-right:12px; color:var(--navy); font-size:13px; font-weight:750; text-transform:none; letter-spacing:0; line-height:1.4; }
.client-card .client-caption span::after { content:none; }
.client-caption small { display:block; font-size:11px; color:#647386; line-height:1.4; margin-top:5px; padding-right:8px; }
#nosotros { background:#fff; }
.check-mark { background:#e7f0f6; color:var(--sapphire); }
.visual { background:linear-gradient(145deg,#1d2a45,#0b1222); box-shadow:18px 18px 0 #eadfe0; }
.signal { color:var(--gold-2); }
.proof-card { background:var(--mist); box-shadow:none; }
.cta { background:linear-gradient(120deg,#111a2d,#202f4d); }
.cta .section-kicker { color:var(--gold-2); justify-content:center; }
.cta .wrap { position:relative; z-index:1; }
.cta p { color:#d0dce6; }
footer { background:#091a2c; padding:32px 0 90px; }
footer a { overflow-wrap:anywhere; }
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:36px; align-items:start; }
.footer-brand p { color:#94a7b9; max-width:290px; margin:18px 0 0; }
.footer-block { display:grid; gap:9px; color:#aebdca; font-size:13px; }
.footer-block strong { color:#f2d99d; font-size:11px; letter-spacing:.16em; text-transform:uppercase; margin-bottom:4px; }
.footer-block a:hover { color:#fff; }
.footer-legal { grid-column:1 / -1; border-top:1px solid #ffffff1a; padding-top:18px; display:flex; gap:24px; flex-wrap:wrap; color:#71879a; font-size:11px; }
.dialog-actions { flex-wrap:wrap; }
.contact-channel { margin-top:24px; padding-top:19px; border-top:1px solid var(--line); }
.contact-channel > span { display:block; color:var(--navy); font-size:13px; font-weight:750; margin-bottom:10px; }
.channel-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.channel-btn { min-height:46px; border:1px solid var(--line); border-radius:5px; cursor:pointer; font:inherit; font-size:12px; font-weight:800; letter-spacing:.02em; transition:transform .2s, border-color .2s, background .2s; }
.channel-btn:hover { transform:translateY(-2px); }
.channel-whatsapp { color:#fff; background:#159b67; border-color:#159b67; }
.channel-whatsapp:hover { background:#107e54; }
.channel-email { color:var(--navy); background:#f3f7f9; border-color:#bfd0dc; }
.channel-email:hover { background:#e4eef3; border-color:var(--sapphire); }
.btn-email { border-color: #bfd0dc; color: var(--navy); background: #f3f7f9; }
.btn-email:hover { background: #e4eef3; border-color: var(--sapphire); }
input,textarea { font-size:16px; }
.dialog-inner em { font-weight:500; font-style:normal; color:#7c8b98; }
.location-card { display:grid; grid-template-columns:1fr 1.15fr; gap:28px; align-items:stretch; margin-top:48px; padding:26px; background:#f1f6f8; border:1px solid var(--line); border-radius:6px; }
.location-card h3 { color:var(--navy); font-size:28px; margin:12px 0 10px; }
.location-card p { color:var(--muted); max-width:430px; }
.location-note { display:block; color:#7a8995; font-size:11px; margin-top:8px; }
.map-link { display:inline-flex; margin-top:12px; color:var(--navy-2); font-size:13px; font-weight:800; }
.real-map { width:100%; min-height:280px; border:0; border-radius:4px; filter:saturate(.8); }
@media (max-width:980px) {
  .nav-links { gap:18px; font-size:11px; }
  .clients-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .clients-head { gap:32px; }
  .split { gap:40px; }
}
@media (max-width:760px) {
  .wrap { width:calc(100% - 40px); }
  .utility-inner { min-height:32px; font-size:9px; }
  .utility-inner > span { display:none; }
  .utility-contact { width:100%; justify-content:space-between; gap:8px; }
  .site-header nav { padding:14px 0; }
  .menu-toggle { display:block; }
  .brand-crest { width:44px; height:53px; }
  .brand-label { display:block; font-size:9px; letter-spacing:.07em; }
  .nav-links { display:none; position:absolute; left:20px; right:20px; top:100%; padding:10px 14px 14px; background:#fff; box-shadow:0 14px 25px #111a2d1a; }
  .nav-links.is-open { display:grid; gap:0; }
  .nav-links.is-open a { display:block; padding:13px 8px; border-bottom:1px solid var(--line); }
  .nav-links.is-open .nav-cta { margin-top:10px; text-align:center; border:0; }
  .nav-cta { padding:10px 12px; font-size:10px; letter-spacing:.03em; }
  .hero-layout { min-height:720px; display:block; }
  .hero-contact-card { display:none; }
  .hero { min-height:720px; min-height:92svh; background-position:65% center; }
  .hero-content { padding:145px 0 68px; }
  .eyebrow { font-size:10px; line-height:1.8; letter-spacing:.12em; max-width:290px; }
  .hero h1 { font-size:clamp(44px,11.8vw,70px); line-height:1.04; margin-top:23px; }
  .hero p { font-size:16px; line-height:1.7; }
  .hero h1::after { margin-top:24px; width:48px; height:3px; }
  .actions { gap:10px; }
  .actions .btn { font-size:11px; padding:14px 16px; }
  .trust-row { gap:20px; padding:26px 0; }
  .trust-item,.trust-item:first-child { padding-left:16px; border-left:2px solid var(--gold); font-size:12px; }
  .trust-item strong { min-width:82px; font-size:21px; }
  section { padding:72px 0; }
  .clients-head { grid-template-columns:1fr; gap:24px; }
  .clients-head h2 { font-size:38px; }
  .clients-note { margin-top:15px; line-height:1.8; }
  .clients-grid { gap:12px; margin-top:30px; }
  .client-stage { height:132px; padding:16px; }
  .client-card .client-stage img { max-height:94px; }
  .client-card .client-stage .logo-rotaria { width:88px; max-height:90px; }
  .client-caption { padding:14px 12px 15px; min-height:91px; }
  .client-card .client-caption span { font-size:12px; }
  .client-caption small { font-size:10px; }
  .client-caption::after { right:9px; top:10px; font-size:13px; }
  .visual { min-height:430px; box-shadow:10px 10px 0 #f3ecdc; }
  .visual-crest { width:200px; height:238px; top:24px; }
  .visual-panel strong { font-size:23px; }
  .location-card { grid-template-columns:1fr; margin-top:38px; padding:20px; }
  .real-map { min-height:250px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:28px 20px; }
  .footer-brand { grid-column:1 / -1; }
  .footer-legal { grid-column:1 / -1; display:grid; gap:7px; }
  .proof { margin-top:40px; }
  .dialog-inner { padding:26px 20px; }
  .dialog-actions .btn { padding:13px 14px; font-size:11px; }
  .channel-actions { grid-template-columns:1fr; }
  .whatsapp-float { width:48px; height:48px; padding:0; justify-content:center; }
  .whatsapp-float span { display:none; }
}
@media (max-width:380px) { header .brand-label { display:none; } }

/* Premiumseg brand correction: use the shield palette, not the reference site's red. */
:root { --brand-red: #102b4d; --brand-red-dark: #071a30; }
.utility-bar { background:var(--navy); }
.site-header .nav-cta { background:var(--navy); border-color:var(--navy); }
.site-header .nav-cta:hover { background:var(--navy-2); }
.hero h1::after, .section-kicker::before { background:var(--gold); }
.section-kicker { color:#80601d; }
.btn-primary { background:linear-gradient(115deg,var(--gold),var(--gold-2)); color:var(--navy); box-shadow:0 8px 24px #d9ad4f33; }
.btn-primary:hover { background:var(--gold-2); color:var(--navy); }
.hero-card-top { background:var(--navy); }
.hero-card-action { background:var(--navy); }
.hero-card-action:hover { background:var(--navy-2); }
.trust-item:first-child { border-left-color:var(--gold); }
.card:nth-child(3n+1) { border-top-color:var(--gold); }
.clients-note { color:var(--navy-2); }
.cta { border-top:4px solid var(--gold); }
.contact-channel > span { color:var(--navy); }
@media (prefers-reduced-motion:reduce) {
  .preloader-line::after { animation:none; }
  html.is-ready .hero-content { animation:none; }
}
