:root {
  --ink: #162235;
  --navy: #0b1f33;
  --navy-2: #123456;
  --steel: #2f5f7e;
  --accent: #d96b1c;
  --accent-dark: #a94f11;
  --surface: #ffffff;
  --surface-2: #f3f7f9;
  --line: #d8e2e8;
  --muted: #607385;
  --success: #137a4a;
  --danger: #a5342b;
  --radius: 8px;
  --shadow: 0 14px 40px rgba(10, 30, 50, 0.10);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--ink);
  background: var(--surface);
  line-height: 1.65;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--accent-dark); }
img { max-width: 100%; display: block; }
button, input, textarea, select { font: inherit; }
.container { width: min(1160px, calc(100% - 32px)); margin: 0 auto; }
.narrow { max-width: 860px; }
.skip-link {
  position: absolute;
  top: -60px;
  left: 16px;
  background: var(--surface);
  color: var(--navy);
  padding: 8px 12px;
  z-index: 2000;
}
.skip-link:focus { top: 12px; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(11, 31, 51, 0.96);
  border-bottom: 1px solid rgba(255,255,255,0.12);
}
.nav-shell {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.brand { display: inline-flex; align-items: center; gap: 12px; color: white; font-weight: 800; }
.brand:hover { color: white; }
.brand-mark img, .brand-mark { width: 54px; height: 54px; object-fit: contain; }
.main-nav { display: flex; align-items: center; gap: 4px; }
.main-nav a { color: rgba(255,255,255,0.84); padding: 10px 12px; border-radius: var(--radius); font-size: 0.94rem; }
.main-nav a:hover, .main-nav a:focus { color: white; background: rgba(255,255,255,0.10); outline: none; }
.nav-cta { background: rgba(217,107,28,0.22); color: white !important; }
.menu-toggle {
  display: none;
  border: 1px solid rgba(255,255,255,0.22);
  background: transparent;
  color: white;
  border-radius: var(--radius);
  padding: 8px 10px;
}
.hero {
  padding: 72px 0 56px;
  background: linear-gradient(135deg, var(--navy), #173e5d);
  color: white;
}
.hero-grid, .service-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr);
  gap: 36px;
  align-items: center;
}
.hero h1, .page-hero h1 {
  margin: 0 0 18px;
  font-size: clamp(2.1rem, 5vw, 4rem);
  line-height: 1.08;
  letter-spacing: 0;
}
.hero p, .page-hero p { font-size: 1.08rem; max-width: 760px; }
.hero-copy { max-width: 760px; }
.hero-visual, .page-hero-media, .service-card, .service-row, .team-card, .contact-form, .notice-box, .related-box, .service-detail-grid article {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}
.hero-visual { overflow: hidden; background: #0d2a45; }
.hero-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 18px;
  border-radius: var(--radius);
  border: 1px solid transparent;
  font-weight: 750;
  cursor: pointer;
}
.button-primary { background: var(--accent); color: white; }
.button-primary:hover, .button-primary:focus { background: var(--accent-dark); color: white; outline: 3px solid rgba(217,107,28,0.25); }
.button-secondary { background: white; color: var(--navy); border-color: var(--line); }
.button-secondary:hover, .button-secondary:focus { color: var(--navy); outline: 3px solid rgba(47,95,126,0.18); }
.eyebrow {
  margin: 0 0 10px;
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.78rem;
  font-weight: 800;
}
.section { padding: 68px 0; }
.section-muted { background: var(--surface-2); }
.section-heading { margin-bottom: 28px; }
.section-heading h2, .split h2, .two-columns h2, .cta-inner h2 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  line-height: 1.16;
  letter-spacing: 0;
}
.section-heading p, .split p, .two-columns p { color: var(--muted); max-width: 760px; }
.services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.service-card { overflow: hidden; box-shadow: none; }
.service-card-media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.service-card-body { padding: 18px; }
.service-card h3 { margin: 0 0 10px; color: var(--navy); font-size: 1.13rem; }
.service-card p { margin-top: 0; color: var(--muted); }
.card-tag { color: var(--steel) !important; font-weight: 800; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.06em; }
.card-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.card-actions a, .text-link, .related-links a { color: var(--steel); font-weight: 800; }
.split, .two-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr); gap: 34px; align-items: start; }
.sector-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.sector-list li {
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 16px;
  font-weight: 800;
}
.method-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.method-grid article {
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px;
}
.method-grid span {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--navy);
  color: white;
  font-weight: 800;
}
.method-grid h3 { margin: 14px 0 8px; color: var(--navy); }
.method-grid p { margin: 0; color: var(--muted); }
.notice-box { padding: 22px; box-shadow: none; }
.team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.team-card { padding: 20px; text-align: center; box-shadow: none; }
.team-photo img { width: 112px; height: 112px; object-fit: cover; border-radius: 50%; margin: 0 auto 14px; border: 3px solid var(--surface-2); }
.team-card h3 { margin: 0 0 4px; color: var(--navy); }
.team-card p { margin: 0 0 8px; color: var(--muted); }
.muted, .small-note { color: var(--muted); font-size: 0.92rem; }
.faq-list { display: grid; gap: 10px; }
.faq-item { background: white; border: 1px solid var(--line); border-radius: var(--radius); padding: 0; }
.faq-item summary { cursor: pointer; padding: 16px 18px; font-weight: 800; color: var(--navy); }
.faq-item summary:focus { outline: 3px solid rgba(47,95,126,0.20); }
.faq-item p { margin: 0; padding: 0 18px 18px; color: var(--muted); }
.contact-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr); gap: 34px; align-items: start; }
.contact-details { margin-top: 24px; display: grid; gap: 10px; }
.contact-details p { margin: 0; }
.contact-form { padding: 22px; box-shadow: none; display: grid; gap: 16px; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
label { display: grid; gap: 6px; font-weight: 750; color: var(--navy); }
input, textarea, select {
  width: 100%;
  border: 1px solid #b8c8d4;
  border-radius: var(--radius);
  padding: 11px 12px;
  background: white;
  color: var(--ink);
}
input:focus, textarea:focus, select:focus { outline: 3px solid rgba(47,95,126,0.20); border-color: var(--steel); }
.consent { grid-template-columns: auto 1fr; align-items: start; font-weight: 600; color: var(--ink); }
.consent input { width: 18px; height: 18px; margin-top: 4px; }
.consent a { color: var(--steel); text-decoration: underline; }
.form-status { margin: 0; font-weight: 750; color: var(--muted); }
.form-status.is-error { color: var(--danger); }
.form-status.is-ok { color: var(--success); }
.cta-band { padding: 54px 0; background: var(--navy); color: white; }
.cta-inner { display: flex; gap: 28px; align-items: center; justify-content: space-between; }
.cta-inner h2 { color: white; }
.cta-inner p { max-width: 760px; color: rgba(255,255,255,0.82); }
.page-hero {
  padding: 54px 0;
  background: linear-gradient(135deg, var(--surface-2), #ffffff);
  border-bottom: 1px solid var(--line);
}
.service-hero { background: linear-gradient(135deg, var(--navy), #173e5d); color: white; border: 0; }
.service-hero h1, .service-hero p { color: white; }
.page-hero-media { overflow: hidden; background: white; }
.page-hero-media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; color: var(--muted); font-size: 0.92rem; }
.breadcrumb a::after { content: "/"; margin-left: 8px; color: #8ca0af; }
.service-list { display: grid; gap: 16px; }
.service-row {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 20px;
  padding: 16px;
  box-shadow: none;
}
.service-row-media img { width: 100%; height: 160px; object-fit: cover; border-radius: var(--radius); }
.service-row h2 { margin: 0 0 8px; color: var(--navy); }
.service-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.service-detail-grid article { padding: 22px; box-shadow: none; }
.service-detail-grid h2 { margin-top: 0; color: var(--navy); }
.check-list { margin: 0; padding-left: 20px; }
.check-list li { margin-bottom: 8px; }
.related-box { padding: 22px; box-shadow: none; }
.related-links { display: grid; gap: 12px; }
.legal-content section { border-bottom: 1px solid var(--line); padding: 22px 0; }
.legal-content h2 { color: var(--navy); margin: 0 0 10px; }
.site-footer { background: #081827; color: rgba(255,255,255,0.82); padding: 54px 0 24px; }
.footer-grid { display: grid; grid-template-columns: 1.3fr repeat(5, minmax(130px, 1fr)); gap: 24px; }
.footer-logo, .footer-logo img { width: 66px; height: 66px; object-fit: contain; }
.site-footer h2 { color: white; font-size: 1rem; margin: 0 0 12px; }
.site-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 7px; }
.site-footer a { color: rgba(255,255,255,0.86); }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.12);
  margin-top: 32px;
  padding-top: 18px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  color: rgba(255,255,255,0.65);
  font-size: 0.92rem;
}
.whatsapp-float {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1200;
  display: inline-grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #1f9d58;
  color: white;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(0,0,0,0.22);
}
.whatsapp-float:hover, .whatsapp-float:focus { color: white; outline: 3px solid rgba(31,157,88,0.28); }
@media (max-width: 980px) {
  .menu-toggle { display: inline-flex; }
  .main-nav {
    position: absolute;
    top: 72px;
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    padding: 12px 16px 18px;
    background: var(--navy);
    border-top: 1px solid rgba(255,255,255,0.12);
  }
  .main-nav.is-open { display: flex; }
  .main-nav a { padding: 12px; }
  .hero-grid, .service-hero-grid, .split, .two-columns, .contact-grid { grid-template-columns: 1fr; }
  .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .container { width: min(100% - 28px, 1160px); }
  .hero, .page-hero { padding: 42px 0; }
  .section { padding: 48px 0; }
  .hero h1, .page-hero h1 { font-size: 2rem; }
  .hero-actions, .cta-inner { align-items: stretch; flex-direction: column; }
  .button { width: 100%; }
  .services-grid, .team-grid, .service-detail-grid, .field-grid, .sector-list { grid-template-columns: 1fr; }
  .method-grid { grid-template-columns: 1fr; }
  .service-row { grid-template-columns: 1fr; }
  .service-row-media img { height: auto; aspect-ratio: 16 / 10; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { display: grid; }
  .brand span { font-size: 0.98rem; }
}

/* Homepage redesign: industrial editorial system */
.home-v2 { --ink:#071a31; --navy:#061b32; --navy-2:#0a2948; --orange:#c74400; --blue:#0a68d8; --line:#cbdbea; --muted:#526173; }
.home-v2 .site-header { background:rgba(255,255,255,.96); color:var(--ink); border-bottom:1px solid #dce6ef; backdrop-filter:blur(12px); }
.home-v2 .brand { color:var(--ink); }
.home-v2 .brand-mark { width:190px; height:58px; overflow:hidden; background:var(--navy); }
.home-v2 .brand-mark img { width:190px; height:58px; object-fit:cover; object-position:center; }
.home-v2 .brand span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.home-v2 .main-nav a { color:var(--ink); font-weight:700; font-size:.92rem; }
.home-v2 .main-nav a:hover, .home-v2 .main-nav a:focus-visible { color:var(--orange); }
.home-v2 .main-nav .nav-cta { color:#fff; background:var(--orange); border:1px solid var(--orange); padding:14px 18px; }
.home-v2 .menu-toggle { color:var(--ink); border-color:#9fb1c3; }
.home-v2 .section { padding:clamp(72px,8vw,126px) 0; }
.home-v2 main [id] { scroll-margin-top:86px; }
.home-v2 #servicios { padding-top:42px; }
.home-v2 .section-label { display:inline-flex; align-items:center; gap:12px; margin:0 0 22px; color:var(--orange); text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; font-weight:800; }
.home-v2 .section-label::before { content:""; width:38px; height:1px; background:var(--orange); }
.home-v2 h1,.home-v2 h2,.home-v2 h3 { color:var(--ink); letter-spacing:-.035em; }
.home-v2 h2 { max-width:860px; font-size:clamp(2.2rem,4.4vw,4.7rem); line-height:1.02; }
.home-v2 .accent { color:var(--orange); }
.home-v2 .button { border-radius:2px; min-height:50px; padding:13px 20px; }
.home-v2 .button-primary { background:var(--orange); border-color:var(--orange); }
.home-v2 .button-secondary { color:var(--ink); border-color:#6f8498; background:#fff; }
.home-v2 .hero-v2 { min-height:calc(100vh - 180px); display:grid; align-items:stretch; background:#fff; overflow:hidden; border-bottom:1px solid var(--line); }
.home-v2 .hero-v2-grid { width:min(1500px,100%); margin:auto; display:grid; grid-template-columns:minmax(420px,.9fr) minmax(560px,1.25fr); min-height:720px; }
.home-v2 .hero-v2-copy { padding:clamp(74px,8vw,138px) clamp(28px,5vw,86px); align-self:center; position:relative; z-index:2; }
.home-v2 .hero-v2 h1 { font-size:clamp(3.1rem,5.5vw,6.25rem); line-height:.98; margin:0 0 28px; max-width:770px; }
.home-v2 .hero-v2-copy>p { font-size:clamp(1.05rem,1.5vw,1.28rem); line-height:1.7; color:var(--muted); max-width:690px; }
.home-v2 .hero-v2-media { position:relative; min-height:620px; background:#edf4f9; overflow:hidden; }
.home-v2 .hero-v2-media::before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#fff 0,rgba(255,255,255,.18) 18%,transparent 42%); }
.home-v2 .hero-v2-media img { width:100%; height:100%; object-fit:cover; }
.home-v2 .hero-v2-media::after { content:""; position:absolute; inset:5% 6%; border:1px solid rgba(10,104,216,.26); background-image:linear-gradient(rgba(10,104,216,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(10,104,216,.09) 1px,transparent 1px); background-size:96px 96px; pointer-events:none; }
.home-v2 .hero-actions { margin-top:34px; }
.home-v2 .discipline-layout { display:grid; grid-template-columns:minmax(280px,.65fr) minmax(620px,1.35fr); gap:clamp(42px,7vw,110px); align-items:start; }
.home-v2 .discipline-intro { position:sticky; top:120px; }
.home-v2 .discipline-list { border-top:1px solid var(--line); }
.home-v2 .discipline-row { display:grid; grid-template-columns:70px minmax(190px,.9fr) minmax(180px,1fr) 240px; gap:22px; align-items:center; min-height:150px; border-bottom:1px solid var(--line); }
.home-v2 .discipline-row strong { color:var(--orange); font-size:2.8rem; font-weight:600; }
.home-v2 .discipline-row h3 { margin:0; font-size:1.24rem; }
.home-v2 .discipline-row p { color:var(--muted); margin:0; }
.home-v2 .discipline-media img { width:100%; height:118px; object-fit:cover; filter:saturate(.82); }
.home-v2 .text-link { display:inline-flex; gap:12px; align-items:center; margin-top:25px; color:var(--ink); font-weight:800; border-bottom:2px solid var(--orange); padding-bottom:8px; }
.home-v2 .sector-band,.home-v2 .evidence-band { background:var(--navy); color:#fff; position:relative; overflow:hidden; }
.home-v2 .sector-band::after,.home-v2 .evidence-band::after,.home-v2 .site-footer::after { content:""; position:absolute; inset:0; opacity:.09; pointer-events:none; background-image:linear-gradient(rgba(73,151,230,.34) 1px,transparent 1px),linear-gradient(90deg,rgba(73,151,230,.34) 1px,transparent 1px); background-size:72px 72px; }
.home-v2 .sector-band .container,.home-v2 .evidence-band .container,.home-v2 .site-footer .container { position:relative; z-index:1; }
.home-v2 .sector-band h2,.home-v2 .evidence-band h2 { color:#fff; }
.home-v2 .sector-tabs { display:grid; grid-template-columns:repeat(6,1fr); border-top:1px solid rgba(255,255,255,.22); border-bottom:1px solid rgba(255,255,255,.22); margin:42px 0 24px; }
.home-v2 .sector-tabs span { min-height:76px; display:flex; align-items:center; padding:16px; border-right:1px solid rgba(255,255,255,.14); font-weight:700; }
.home-v2 .sector-tabs span:first-child { color:var(--orange); border-bottom:3px solid var(--orange); }
.home-v2 .sector-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.home-v2 .sector-gallery img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.home-v2 .evidence-grid { display:grid; grid-template-columns:minmax(300px,.7fr) minmax(600px,1.3fr); gap:clamp(40px,7vw,100px); align-items:center; }
.home-v2 .evidence-grid p { color:#c8d5e1; font-size:1.08rem; max-width:580px; }
.home-v2 .evidence-actions { display:flex; gap:24px; flex-wrap:wrap; }
.home-v2 .evidence-actions a { color:#fff; border-bottom:2px solid var(--orange); padding-bottom:7px; font-weight:800; }
.home-v2 .evidence-rail { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.home-v2 .evidence-rail img { width:100%; height:360px; object-fit:cover; }
.home-v2 .process-line { display:grid; grid-template-columns:repeat(4,1fr); margin-top:54px; border-top:1px solid #86acd4; }
.home-v2 .process-step { padding:30px 26px 0; position:relative; }
.home-v2 .process-step::before { content:""; position:absolute; width:14px; height:14px; border-radius:50%; background:var(--orange); top:-7px; left:26px; }
.home-v2 .process-step strong { color:var(--orange); font-size:2.4rem; font-weight:600; }
.home-v2 .process-step h3 { font-size:1.24rem; margin:10px 0; }
.home-v2 .process-step p { color:var(--muted); }
.home-v2 .standards-strip { padding:38px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.home-v2 .standards-strip .container { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:center; }
.home-v2 .standards-strip p { margin:0; color:var(--muted); }
.home-v2 .proposal-section { background:#fff; }
.home-v2 .proposal-grid { display:grid; grid-template-columns:minmax(300px,.65fr) minmax(620px,1.35fr); gap:clamp(42px,7vw,100px); }
.home-v2 .proposal-copy { border-right:1px solid var(--line); padding-right:clamp(20px,4vw,60px); }
.home-v2 .proposal-copy p { color:var(--muted); font-size:1.06rem; }
.home-v2 .proposal-form { padding:0; border:0; box-shadow:none; background:transparent; }
.home-v2 .proposal-form .field-grid { grid-template-columns:repeat(3,1fr); gap:16px; }
.home-v2 .proposal-form label { color:var(--ink); }
.home-v2 .proposal-form input,.home-v2 .proposal-form select,.home-v2 .proposal-form textarea { border-radius:2px; border-color:#aabccc; background:#fff; min-height:48px; }
.home-v2 .proposal-form textarea { min-height:132px; }
.home-v2 .form-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:18px; }
.home-v2 .file-note { border:1px dashed #9db0c3; padding:16px; color:var(--muted); }
.home-v2 .site-footer { position:relative; }
.home-v2 .footer-grid { grid-template-columns:1.2fr repeat(3,.8fr); }
.home-v2 .footer-logo img { max-width:200px; }
.home-v2 .whatsapp-float { width:54px; height:54px; background:#087d3e; font-size:.78rem; }
.home-v2 .about-v2-grid { display:grid; grid-template-columns:minmax(320px,.78fr) minmax(560px,1.22fr); gap:clamp(44px,7vw,108px); align-items:center; }
.home-v2 .about-v2-copy p { color:var(--muted); font-size:1.08rem; max-width:720px; }
.home-v2 .about-v2-media { display:grid; grid-template-columns:1.15fr .85fr; grid-template-rows:1fr 1fr; gap:10px; min-height:520px; }
.home-v2 .about-v2-media picture:first-child { grid-row:1 / 3; }
.home-v2 .about-v2-media img { width:100%; height:100%; min-height:250px; object-fit:cover; }
.home-v2 .solutions-v2 { background:#f7fafc; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.home-v2 .solutions-heading { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:52px; }
.home-v2 .solutions-heading p { max-width:560px; color:var(--muted); }
.home-v2 .solutions-index { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); background:#fff; }
.home-v2 .solution-entry { display:grid; grid-template-columns:66px 1fr; gap:18px; min-height:142px; padding:25px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--ink); transition:background .18s ease,transform .18s ease; }
.home-v2 .solution-entry:hover,.home-v2 .solution-entry:focus-visible { background:#eef6fd; transform:translateY(-2px); }
.home-v2 .solution-entry strong { color:var(--orange); font-size:2rem; font-weight:600; line-height:1; }
.home-v2 .solution-entry h3 { margin:0 0 8px; font-size:1.16rem; }
.home-v2 .solution-entry p { margin:0; color:var(--muted); font-size:.93rem; line-height:1.55; }
.home-v2 .brochure-v2 { background:var(--navy); color:#fff; position:relative; overflow:hidden; }
.home-v2 .brochure-v2::after,.home-v2 .method-v2::after { content:""; position:absolute; inset:0; opacity:.1; pointer-events:none; background-image:linear-gradient(rgba(73,151,230,.38) 1px,transparent 1px),linear-gradient(90deg,rgba(73,151,230,.38) 1px,transparent 1px); background-size:72px 72px; }
.home-v2 .brochure-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(340px,.8fr) minmax(480px,1.2fr); gap:clamp(46px,8vw,120px); align-items:center; }
.home-v2 .brochure-v2 h2 { color:#fff; }
.home-v2 .brochure-copy-v2>p { color:#cbd8e5; font-size:1.08rem; max-width:650px; }
.home-v2 .brochure-list-v2 { list-style:none; padding:0; margin:28px 0; display:grid; gap:12px; }
.home-v2 .brochure-list-v2 li { color:#e3edf5; padding-left:24px; position:relative; }
.home-v2 .brochure-list-v2 li::before { content:"+"; color:var(--orange); position:absolute; left:0; font-weight:900; }
.home-v2 .brochure-actions-v2 { display:flex; gap:14px; flex-wrap:wrap; }
.home-v2 .brochure-actions-v2 .button-secondary { color:#fff; border-color:#9ab0c4; background:transparent; }
.home-v2 .brochure-preview-v2 { display:block; width:min(520px,100%); justify-self:center; border-left:3px solid var(--orange); box-shadow:0 34px 80px rgba(0,0,0,.36); transform:rotate(.8deg); }
.home-v2 .brochure-preview-v2 img { display:block; width:100%; height:auto; }
.home-v2 .advantages-v2 { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(44px,7vw,100px); }
.home-v2 .advantage-list { border-top:1px solid var(--line); }
.home-v2 .advantage-item { display:grid; grid-template-columns:70px 1fr; gap:20px; padding:28px 0; border-bottom:1px solid var(--line); }
.home-v2 .advantage-item strong { color:var(--orange); font-size:1.5rem; }
.home-v2 .advantage-item h3 { margin:0 0 7px; }
.home-v2 .advantage-item p { margin:0; color:var(--muted); }
.home-v2 .portfolio-full { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:46px; }
.home-v2 .portfolio-item-v2 { position:relative; min-height:290px; overflow:hidden; background:#102a43; }
.home-v2 .portfolio-item-v2 img { width:100%; height:100%; min-height:290px; object-fit:cover; transition:transform .35s ease; }
.home-v2 .portfolio-item-v2:hover img { transform:scale(1.035); }
.home-v2 .portfolio-caption { position:absolute; inset:auto 0 0; padding:54px 18px 17px; color:#fff; background:linear-gradient(transparent,rgba(3,16,30,.92)); }
.home-v2 .portfolio-caption strong { display:block; font-size:.98rem; }
.home-v2 .portfolio-caption span { color:#c9d7e4; font-size:.82rem; }
.home-v2 .team-v2-layout { display:grid; grid-template-columns:minmax(280px,.55fr) minmax(650px,1.45fr); gap:clamp(42px,7vw,100px); align-items:start; }
.home-v2 .team-v2-intro { position:sticky; top:120px; }
.home-v2 .team-v2-intro p { color:var(--muted); }
.home-v2 .team-v2-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 18px; }
.home-v2 .team-profile { border-top:1px solid #8eb6dc; padding-top:12px; }
.home-v2 .team-profile img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center top; filter:saturate(.88); background:#eef3f7; }
.home-v2 .team-profile h3 { margin:14px 0 4px; font-size:1.1rem; }
.home-v2 .team-profile p { margin:0 0 7px; color:var(--orange); font-size:.9rem; }
.home-v2 .team-profile a,.home-v2 .team-profile .muted { font-size:.86rem; }
.home-v2 .method-v2 { background:var(--navy); color:#fff; position:relative; overflow:hidden; }
.home-v2 .method-v2 .container { position:relative; z-index:1; }
.home-v2 .method-v2 h2,.home-v2 .method-v2 h3 { color:#fff; }
.home-v2 .method-v2 .process-line { border-color:#69a5df; }
.home-v2 .method-v2 .process-step p { color:#c8d7e5; }
.home-v2 .faq-v2 { max-width:1080px; }
.home-v2 .faq-v2 .faq-list { margin-top:42px; }
@media (max-width:1100px) {
  .home-v2 .hero-v2-grid,.home-v2 .discipline-layout,.home-v2 .evidence-grid,.home-v2 .proposal-grid,.home-v2 .about-v2-grid,.home-v2 .brochure-grid,.home-v2 .advantages-v2,.home-v2 .team-v2-layout { grid-template-columns:1fr; }
  .home-v2 .hero-v2-copy { padding-bottom:50px; }
  .home-v2 .hero-v2-media { min-height:500px; }
  .home-v2 .discipline-intro { position:static; }
  .home-v2 .discipline-row { grid-template-columns:60px 1fr 1fr 180px; }
  .home-v2 .sector-tabs { grid-template-columns:repeat(3,1fr); }
  .home-v2 .proposal-copy { border-right:0; border-bottom:1px solid var(--line); padding:0 0 36px; }
  .home-v2 .portfolio-full { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .home-v2 .team-v2-intro { position:static; }
}
@media (max-width:760px) {
  .home-v2 .main-nav.is-open a { color:#fff; }
  .home-v2 .main-nav.is-open .nav-cta { color:#fff; }
  .home-v2 .brand-mark,.home-v2 .brand-mark img { width:142px; height:50px; }
  .home-v2 .hero-v2 { min-height:0; }
  .home-v2 .hero-v2-grid { min-height:0; }
  .home-v2 .hero-v2-copy { padding:54px 20px 38px; }
  .home-v2 .hero-v2 h1 { font-size:clamp(2.6rem,12vw,4.25rem); }
  .home-v2 .hero-v2-media { min-height:360px; }
  .home-v2 .discipline-row { grid-template-columns:48px 1fr; padding:22px 0; min-height:0; }
  .home-v2 .discipline-row>p,.home-v2 .discipline-media { grid-column:2; }
  .home-v2 .discipline-media img { height:auto; aspect-ratio:16/9; }
  .home-v2 .sector-tabs { grid-template-columns:1fr 1fr; }
  .home-v2 .sector-tabs span { min-height:58px; }
  .home-v2 .sector-gallery { grid-template-columns:1fr; }
  .home-v2 .sector-gallery picture:nth-child(n+2) { display:none; }
  .home-v2 .evidence-rail { grid-template-columns:1fr 1fr; }
  .home-v2 .evidence-rail img { height:210px; }
  .home-v2 .process-line { grid-template-columns:1fr; border-top:0; border-left:1px solid #86acd4; margin-left:8px; }
  .home-v2 .process-step { padding:0 0 28px 30px; }
  .home-v2 .process-step::before { top:7px; left:-7px; }
  .home-v2 .standards-strip .container { grid-template-columns:1fr; gap:16px; }
  .home-v2 .proposal-form .field-grid { grid-template-columns:1fr; }
  .home-v2 .footer-grid { grid-template-columns:1fr; }
  .home-v2 .about-v2-media { grid-template-columns:1fr; grid-template-rows:auto; min-height:0; }
  .home-v2 .about-v2-media picture:first-child { grid-row:auto; }
  .home-v2 .about-v2-media picture:nth-child(n+2) { display:none; }
  .home-v2 .solutions-heading { display:block; }
  .home-v2 .solutions-index { grid-template-columns:1fr; }
  .home-v2 .solution-entry { grid-template-columns:48px 1fr; min-height:0; padding:20px 16px; }
  .home-v2 .brochure-preview-v2 { width:min(360px,88vw); }
  .home-v2 .portfolio-full { grid-template-columns:1fr 1fr; }
  .home-v2 .portfolio-item-v2,.home-v2 .portfolio-item-v2 img { min-height:210px; }
  .home-v2 .team-v2-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:480px) { .home-v2 .portfolio-full,.home-v2 .team-v2-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .home-v2 *, .home-v2 *::before, .home-v2 *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }

/* DISMEK V3: evolución de la web pública con video, contenido completo y UI accesible. */
.home-v3 {
  --p-ink:#071629; --p-ink-2:#0b223b; --p-ink-3:#102d4c; --p-orange:#b84300;
  --p-orange-bright:#ff7a2d; --p-blue:#1f7ed6; --p-green:#08783a; --p-white:#fff;
  --p-surface:#f4f7fa; --p-line:#d4e0ea; --p-muted:#5b6877; --p-dark-muted:#b7c5d3;
  --p-shadow:0 22px 55px rgba(7,22,41,.14); --p-radius:14px;
  background:var(--p-white); color:var(--p-ink); overflow-x:hidden;
}
.home-v3 * { box-sizing:border-box; }
.home-v3 .container { width:min(1320px,calc(100% - 48px)); }
.home-v3 main [id] { scroll-margin-top:84px; }
.home-v3 main h1,.home-v3 main h2,.home-v3 main h3 { letter-spacing:-.035em; }
.home-v3 main h2 { font-size:clamp(2.25rem,4.2vw,4.65rem); line-height:1.02; }
.home-v3 .accent { color:var(--p-orange); }
.premium-hero .accent,.premium-about .accent,.premium-brochure .accent,.premium-projects .accent,.premium-method .accent { color:var(--p-orange-bright); }
.premium-about .premium-section-label,.premium-brochure .premium-section-label,.premium-projects .premium-section-label,.premium-method .premium-section-label { color:var(--p-orange-bright); }
.premium-header { position:fixed; inset:0 0 auto; z-index:1000; color:#fff; border-bottom:1px solid rgba(255,255,255,.14); transition:background .25s ease,box-shadow .25s ease,backdrop-filter .25s ease; }
.premium-header.is-scrolled,.premium-header.menu-open { background:rgba(7,22,41,.96); box-shadow:0 14px 36px rgba(0,0,0,.24); backdrop-filter:blur(18px); }
.premium-nav-shell { min-height:78px; display:flex; align-items:center; gap:28px; }
.premium-brand { width:178px; height:58px; display:inline-flex; align-items:center; flex:0 0 auto; background:url("dismec_logo.webp") center/contain no-repeat; }
.premium-brand picture,.premium-brand img { display:none; }
.premium-nav { margin-left:auto; display:flex; align-items:center; gap:4px; }
.premium-nav>a { min-height:48px; display:inline-flex; align-items:center; padding:0 14px; color:#fff; border-radius:10px; font-size:.92rem; font-weight:750; transition:background .18s ease,color .18s ease; }
.premium-nav>a:hover,.premium-nav>a:focus-visible,.premium-nav>a[aria-current="true"] { background:rgba(255,255,255,.1); color:#fff; }
.premium-nav .premium-nav-cta { margin-left:10px; padding:0 20px; background:var(--p-orange); box-shadow:0 10px 24px rgba(217,79,0,.28); }
.premium-nav .premium-nav-cta:hover,.premium-nav .premium-nav-cta:focus-visible { background:#bb4200; }
.premium-menu-toggle,.premium-menu-close { min-width:48px; min-height:48px; border:1px solid rgba(255,255,255,.34); border-radius:10px; color:#fff; background:rgba(7,22,41,.35); display:none; align-items:center; justify-content:center; gap:9px; font:inherit; font-weight:800; }
.premium-menu-toggle svg,.premium-menu-close svg,.premium-action svg,.premium-icon-link svg,.video-control svg,.premium-card-action svg { width:20px; height:20px; flex:none; }
.video-control-icon { display:inline-flex; }
.video-control-icon[hidden] { display:none; }
.premium-hero { position:relative; min-height:100svh; display:grid; align-items:end; isolation:isolate; background:var(--p-ink); color:#fff; overflow:hidden; }
.premium-hero-video,.premium-hero-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-3; }
.premium-hero::before { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(3,14,28,.9) 0%,rgba(3,14,28,.7) 45%,rgba(3,14,28,.16) 78%),linear-gradient(0deg,rgba(3,14,28,.75) 0%,transparent 48%); pointer-events:none; }
.premium-hero::after { content:""; position:absolute; inset:0; z-index:-1; opacity:.18; background-image:linear-gradient(rgba(89,163,229,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(89,163,229,.25) 1px,transparent 1px); background-size:88px 88px; mask-image:linear-gradient(90deg,transparent 35%,#000); pointer-events:none; }
.premium-hero-inner { width:min(1320px,calc(100% - 48px)); margin:0 auto; padding:150px 0 74px; display:grid; grid-template-columns:minmax(0,780px) 1fr; align-items:end; gap:48px; }
.premium-hero-copy { max-width:780px; }
.premium-kicker { display:inline-flex; align-items:center; gap:10px; margin:0 0 22px; padding:9px 14px; border:1px solid rgba(255,101,0,.55); border-radius:999px; background:rgba(7,22,41,.58); color:#ffd3bd; text-transform:uppercase; letter-spacing:.105em; font-size:.74rem; font-weight:850; }
.premium-kicker::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--p-orange-bright); box-shadow:0 0 0 6px rgba(255,101,0,.13); }
.premium-hero h1 { margin:0 0 24px; max-width:800px; color:#fff; font-size:clamp(3.35rem,5.6vw,6.7rem); line-height:.95; text-wrap:balance; }
.premium-hero-copy>p { max-width:720px; color:#e0e8ef; font-size:clamp(1.03rem,1.5vw,1.25rem); line-height:1.65; }
.premium-hero-actions { margin-top:32px; display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.premium-action { min-height:54px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:13px 20px; border:1px solid transparent; border-radius:10px; font-weight:850; transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease; }
.premium-action:hover,.premium-action:focus-visible { transform:translateY(-2px); }
.premium-action-primary { color:#fff; background:var(--p-orange); box-shadow:0 13px 30px rgba(217,79,0,.3); }
.premium-action-primary:hover,.premium-action-primary:focus-visible { background:#bb4200; box-shadow:0 16px 34px rgba(217,79,0,.4); }
.premium-action-secondary { color:#fff; border-color:rgba(255,255,255,.65); background:rgba(7,22,41,.42); }
.premium-action-secondary:hover,.premium-action-secondary:focus-visible { background:rgba(255,255,255,.1); border-color:#fff; }
.premium-icon-link { min-height:48px; display:inline-flex; align-items:center; gap:8px; padding:9px 12px; color:#fff; border-radius:9px; font-weight:750; }
.premium-icon-link:hover,.premium-icon-link:focus-visible { background:rgba(255,255,255,.1); }
.premium-hero-controls { justify-self:end; display:flex; align-items:center; gap:12px; }
.video-control { min-height:52px; display:inline-flex; align-items:center; gap:10px; padding:11px 15px; color:#fff; border:1px solid rgba(255,255,255,.45); border-radius:12px; background:rgba(7,22,41,.68); backdrop-filter:blur(12px); font:inherit; font-weight:750; }
.video-control:hover,.video-control:focus-visible { border-color:#fff; background:rgba(7,22,41,.9); }
.premium-hero-video.is-paused { filter:saturate(.78); }
.premium-scroll-cue { position:absolute; left:50%; bottom:22px; transform:translateX(-50%); display:grid; justify-items:center; gap:4px; color:#fff; font-size:.72rem; opacity:.88; }
.premium-scroll-cue span:last-child { width:11px; height:11px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); animation:premium-bob 1.5s ease-in-out infinite; }
@keyframes premium-bob { 50% { transform:translateY(6px) rotate(45deg); } }
.premium-section { padding:clamp(78px,8.5vw,132px) 0; }
.premium-section-label { display:flex; align-items:center; gap:11px; margin:0 0 17px; color:var(--p-orange); text-transform:uppercase; letter-spacing:.11em; font-size:.76rem; font-weight:900; }
.premium-section-label::before { content:""; width:38px; height:2px; background:currentColor; }
.premium-about { background:var(--p-ink); color:#fff; position:relative; overflow:hidden; }
.premium-about::after,.premium-brochure::after,.premium-projects::after,.premium-method::after { content:""; position:absolute; inset:0; opacity:.09; pointer-events:none; background-image:linear-gradient(rgba(83,154,220,.42) 1px,transparent 1px),linear-gradient(90deg,rgba(83,154,220,.42) 1px,transparent 1px); background-size:72px 72px; }
.premium-about-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(340px,.85fr) minmax(620px,1.15fr); gap:clamp(48px,7vw,108px); align-items:center; }
.premium-about h2,.premium-brochure h2,.premium-projects h2,.premium-method h2 { color:#fff; }
.premium-about-copy>p:not(.premium-section-label) { color:var(--p-dark-muted); font-size:1.05rem; line-height:1.75; }
.premium-proof-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:34px; }
.premium-proof { min-height:94px; padding:18px; border:1px solid rgba(150,190,225,.25); border-radius:12px; background:rgba(255,255,255,.035); }
.premium-proof strong { display:block; color:var(--p-orange-bright); font-size:2.25rem; line-height:1; }
.premium-proof span { display:block; margin-top:7px; color:#dfe8f0; font-weight:750; }
.premium-about-media { display:grid; grid-template-columns:1.2fr .85fr; grid-template-rows:1fr 1fr; gap:10px; min-height:540px; }
.premium-about-media picture:first-child { grid-row:1/3; }
.premium-about-media img { width:100%; height:100%; min-height:250px; object-fit:cover; border-radius:12px; }
.premium-solutions { background:var(--p-surface); }
.premium-heading-row { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:38px; }
.premium-heading-row p:last-child { max-width:560px; color:var(--p-muted); }
.premium-filters { display:flex; gap:9px; overflow-x:auto; padding:0 0 13px; margin-bottom:28px; scrollbar-width:thin; }
.premium-filter { min-height:46px; flex:0 0 auto; padding:10px 15px; border:1px solid #9fb4c7; border-radius:10px; background:#fff; color:var(--p-ink); font:inherit; font-size:.88rem; font-weight:800; }
.premium-filter[aria-pressed="true"] { color:#fff; background:var(--p-ink); border-color:var(--p-ink); box-shadow:inset 0 -3px 0 var(--p-orange-bright); }
.premium-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.premium-service-card { min-width:0; display:flex; flex-direction:column; border:1px solid var(--p-line); border-radius:var(--p-radius); background:#fff; overflow:hidden; box-shadow:0 8px 22px rgba(7,22,41,.06); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.premium-service-card[hidden] { display:none; }
.premium-service-card:hover,.premium-service-card:focus-within { transform:translateY(-5px); border-color:#f0a578; box-shadow:var(--p-shadow); }
.premium-service-media { display:block; overflow:hidden; background:#dbe6ee; }
.premium-service-media img { width:100%; aspect-ratio:16/8.7; object-fit:cover; transition:transform .35s ease; }
.premium-service-card:hover .premium-service-media img { transform:scale(1.035); }
.premium-service-body { flex:1; display:flex; flex-direction:column; padding:20px; }
.premium-service-tag { margin:0 0 8px; color:var(--p-orange); text-transform:uppercase; letter-spacing:.08em; font-size:.69rem; font-weight:900; }
.premium-service-card h3 { margin:0 0 8px; font-size:1.28rem; }
.premium-service-card .premium-service-summary { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:0 0 18px; color:var(--p-muted); font-size:.93rem; line-height:1.58; }
.premium-card-actions { margin-top:auto; display:grid; grid-template-columns:1fr 1fr auto; gap:8px; border-top:1px solid var(--p-line); padding-top:14px; align-items:center; }
.premium-card-action { min-height:44px; display:inline-flex; justify-content:center; align-items:center; gap:7px; padding:8px 10px; border:1px solid transparent; border-radius:9px; color:var(--p-ink); background:transparent; font:inherit; font-size:.79rem; font-weight:850; }
.premium-card-action:hover,.premium-card-action:focus-visible { background:#edf3f8; }
.premium-card-action.quick { border-color:#b6c8d7; }
.premium-card-action.whatsapp { color:#fff; background:var(--p-green); white-space:nowrap; }
.premium-card-action.whatsapp:hover,.premium-card-action.whatsapp:focus-visible { background:#0e7135; }
.premium-capability-footer { margin-top:28px; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; border:1px solid #9db5c9; border-radius:12px; background:#fff; }
.premium-capability-footer p { margin:0; color:var(--p-muted); }
.premium-projects { position:relative; overflow:hidden; background:var(--p-ink); color:#fff; }
.premium-projects>.container { position:relative; z-index:1; }
.premium-projects .premium-heading-row p:last-child { color:var(--p-dark-muted); }
.premium-project-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.premium-project { min-height:360px; position:relative; overflow:hidden; border-radius:12px; background:var(--p-ink-2); }
.premium-project picture,.premium-project img { width:100%; height:100%; display:block; }
.premium-project img { min-height:360px; object-fit:cover; transition:transform .4s ease; }
.premium-project:hover img { transform:scale(1.045); }
.premium-project-caption { position:absolute; inset:auto 0 0; padding:70px 17px 17px; background:linear-gradient(transparent,rgba(2,13,25,.96)); }
.premium-project-caption strong { display:block; color:#fff; }
.premium-project-caption span { color:#c6d4df; font-size:.82rem; }
.premium-brochure { position:relative; overflow:hidden; background:var(--p-ink-2); color:#fff; }
.premium-brochure-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(350px,.8fr) minmax(560px,1.2fr); gap:clamp(48px,8vw,120px); align-items:center; }
.premium-brochure-copy>p:not(.premium-section-label) { color:var(--p-dark-muted); font-size:1.06rem; }
.premium-checklist { list-style:none; padding:0; margin:28px 0; display:grid; gap:12px; }
.premium-checklist li { position:relative; padding-left:26px; color:#e4edf5; }
.premium-checklist li::before { content:"✓"; position:absolute; left:0; color:var(--p-orange-bright); font-weight:900; }
.premium-brochure-actions { display:flex; gap:12px; flex-wrap:wrap; }
.premium-brochure-preview { display:block; justify-self:center; width:min(500px,100%); padding:12px; border:1px solid rgba(255,255,255,.28); border-radius:15px; background:#fff; box-shadow:0 32px 78px rgba(0,0,0,.38); transform:rotate(.7deg); transition:transform .25s ease; }
.premium-brochure-preview:hover,.premium-brochure-preview:focus-visible { transform:translateY(-6px) rotate(0); }
.premium-brochure-preview img { display:block; width:100%; height:auto; border-radius:9px; }
.premium-method { position:relative; overflow:hidden; background:var(--p-ink); color:#fff; }
.premium-method>.container { position:relative; z-index:1; }
.premium-method-line { display:grid; grid-template-columns:repeat(5,1fr); margin-top:48px; border-top:1px solid #568ab8; }
.premium-method-step { position:relative; padding:28px 22px 0; }
.premium-method-step::before { content:""; position:absolute; width:12px; height:12px; top:-7px; left:22px; border-radius:50%; background:var(--p-orange-bright); box-shadow:0 0 0 5px rgba(255,101,0,.13); }
.premium-method-step strong { color:var(--p-orange-bright); font-size:2rem; }
.premium-method-step h3 { margin:8px 0; color:#fff; font-size:1.08rem; }
.premium-method-step p { color:var(--p-dark-muted); font-size:.9rem; }
.premium-advantages { background:#fff; }
.premium-advantage-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:36px; }
.premium-advantage { padding:30px; border-top:3px solid var(--p-orange); background:var(--p-surface); border-radius:0 0 12px 12px; }
.premium-advantage strong { color:var(--p-orange); font-size:2rem; }
.premium-advantage h3 { margin:13px 0 8px; }
.premium-advantage p { margin:0; color:var(--p-muted); }
.premium-team { background:#fff; }
.premium-team-layout { display:grid; grid-template-columns:minmax(280px,.55fr) minmax(680px,1.45fr); gap:clamp(48px,7vw,104px); align-items:start; }
.premium-team-intro { position:sticky; top:116px; }
.premium-team-intro p { color:var(--p-muted); }
.premium-team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px 16px; }
.premium-team-card { border-top:1px solid #8bb3d6; padding-top:12px; }
.premium-team-card img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center top; border-radius:10px; background:#edf2f6; filter:saturate(.9); }
.premium-team-card h3 { margin:13px 0 4px; font-size:1.08rem; }
.premium-team-card p { margin:0 0 8px; color:var(--p-orange); font-size:.88rem; }
.premium-team-card a,.premium-team-card .muted { font-size:.84rem; }
.premium-faq-contact { background:var(--p-surface); }
.premium-faq-contact-grid { display:grid; grid-template-columns:minmax(340px,.75fr) minmax(650px,1.25fr); gap:clamp(46px,7vw,100px); align-items:start; }
.premium-faq-list { margin-top:26px; border-top:1px solid #9eb5c8; }
.premium-faq-list details { border-bottom:1px solid #9eb5c8; }
.premium-faq-list summary { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; font-weight:850; list-style:none; }
.premium-faq-list summary::-webkit-details-marker { display:none; }
.premium-faq-list summary::after { content:"+"; color:var(--p-orange); font-size:1.6rem; transition:transform .18s ease; }
.premium-faq-list details[open] summary::after { transform:rotate(45deg); }
.premium-faq-list details p { margin:0; padding:0 0 22px; color:var(--p-muted); }
.premium-contact-panel { padding:32px; border:1px solid var(--p-line); border-radius:16px; background:#fff; box-shadow:var(--p-shadow); }
.premium-contact-panel h2 { font-size:clamp(2.1rem,3.3vw,3.5rem); }
.premium-contact-links { display:flex; flex-wrap:wrap; gap:10px 22px; margin:20px 0 26px; }
.premium-contact-links a { color:var(--p-ink); font-weight:800; border-bottom:2px solid var(--p-orange); }
.home-v3 .proposal-form { padding:0; border:0; background:transparent; box-shadow:none; }
.home-v3 .proposal-form .field-grid { grid-template-columns:repeat(3,1fr); gap:14px; }
.home-v3 .proposal-form label { color:var(--p-ink); font-size:.86rem; font-weight:800; }
.home-v3 .proposal-form input,.home-v3 .proposal-form select,.home-v3 .proposal-form textarea { min-height:48px; border:1px solid #9cb1c3; border-radius:9px; background:#fff; color:var(--p-ink); font:inherit; font-size:.94rem; }
.home-v3 .proposal-form textarea { min-height:132px; }
.home-v3 .proposal-form input:focus,.home-v3 .proposal-form select:focus,.home-v3 .proposal-form textarea:focus { outline:3px solid rgba(31,126,214,.25); border-color:var(--p-blue); }
.home-v3 .file-note { margin:15px 0; padding:14px; border:1px dashed #8fa7bb; border-radius:10px; color:var(--p-muted); background:#f8fafc; }
.home-v3 .form-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:18px; }
.home-v3 .form-status.is-ok { color:#087d3e; }
.home-v3 .form-status.is-error { color:#a81f1f; }
.home-v3 .visually-hidden { position:absolute!important; width:1px!important; height:1px!important; min-width:0!important; min-height:0!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }
.premium-dialog { width:min(960px,calc(100% - 30px)); max-height:90vh; padding:0; overflow:hidden; border:1px solid #385675; border-radius:16px; color:#fff; background:var(--p-ink); box-shadow:0 32px 100px rgba(0,0,0,.54); }
.premium-dialog::backdrop { background:rgba(2,10,20,.78); backdrop-filter:blur(8px); }
.premium-dialog-close { position:absolute; right:16px; top:16px; z-index:2; width:46px; height:46px; display:grid; place-items:center; border:1px solid #7891a7; border-radius:10px; background:var(--p-ink-2); color:#fff; font:inherit; font-size:1.5rem; }
.premium-dialog-grid { display:grid; grid-template-columns:.9fr 1.1fr; }
.premium-dialog-media { min-height:100%; background:#132b45; }
.premium-dialog-media img { width:100%; height:100%; min-height:640px; object-fit:cover; }
.premium-dialog-content { padding:42px 40px 34px; overflow:auto; max-height:90vh; }
.premium-dialog-tag { color:var(--p-orange-bright); text-transform:uppercase; letter-spacing:.09em; font-size:.72rem; font-weight:900; }
.premium-dialog h2 { margin:8px 50px 12px 0; color:#fff; font-size:clamp(2rem,3vw,3rem); }
.premium-dialog-lead { color:#c8d6e2; }
.premium-dialog-columns { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:24px 0; }
.premium-dialog-columns section { padding:18px; border:1px solid #34506b; border-radius:11px; background:rgba(255,255,255,.035); }
.premium-dialog h3 { margin:0 0 12px; color:#fff; }
.premium-dialog ul { margin:0; padding-left:18px; color:#cdd9e4; }
.premium-dialog li+li { margin-top:7px; }
.premium-dialog-actions { display:flex; gap:12px; flex-wrap:wrap; }
.premium-dialog-actions .premium-action { flex:1 1 220px; }
.home-v3 .site-footer { position:relative; background:#041321; }
.home-v3 .site-footer::after { content:""; position:absolute; inset:0; opacity:.07; pointer-events:none; background-image:linear-gradient(rgba(83,154,220,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(83,154,220,.4) 1px,transparent 1px); background-size:72px 72px; }
.home-v3 .site-footer .container { position:relative; z-index:1; }
.premium-social-row { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.premium-social-row a { min-height:44px; display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid rgba(255,255,255,.24); border-radius:9px; color:#fff; }
.home-v3 .whatsapp-float { background:var(--p-green); width:58px; height:58px; box-shadow:0 14px 36px rgba(22,137,68,.34); }
.home-v3 .whatsapp-float:hover,.home-v3 .whatsapp-float:focus-visible { transform:translateY(-3px) scale(1.04); }
.premium-back-top { position:fixed; left:22px; bottom:22px; z-index:900; width:48px; height:48px; display:grid; place-items:center; border:0; border-radius:50%; color:#fff; background:var(--p-ink); box-shadow:0 12px 28px rgba(0,0,0,.24); opacity:0; visibility:hidden; transform:translateY(8px); transition:.2s ease; }
.premium-back-top.is-visible { opacity:1; visibility:visible; transform:none; }
.reveal-item { opacity:1; transform:none; }
.reveal-ready .reveal-item { opacity:0; transform:translateY(24px); transition:opacity .6s ease,transform .6s ease; }
.reveal-ready .reveal-item.in-view { opacity:1; transform:none; }
@media (max-width:1120px) {
  .premium-menu-toggle { display:inline-flex; margin-left:auto; }
  .premium-menu-close { display:inline-flex; position:absolute; right:24px; top:16px; }
  .premium-nav { position:fixed; inset:0 0 0 auto; width:min(380px,100%); min-height:100svh; padding:86px 24px 30px; display:flex; flex-direction:column; align-items:stretch; gap:4px; background:var(--p-ink); box-shadow:-20px 0 55px rgba(0,0,0,.38); transform:translateX(105%); visibility:hidden; transition:transform .26s ease,visibility .26s ease; overflow-y:auto; }
  .premium-nav.is-open { transform:none; visibility:visible; }
  .premium-nav>a { min-height:54px; padding:0 16px; }
  .premium-nav .premium-nav-cta { margin:18px 0 0; justify-content:center; }
  .premium-hero-inner,.premium-about-grid,.premium-brochure-grid,.premium-team-layout,.premium-faq-contact-grid { grid-template-columns:1fr; }
  .premium-hero-controls { justify-self:start; }
  .premium-about-media { min-height:460px; }
  .premium-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .premium-project-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .premium-team-intro { position:static; }
  .premium-dialog-grid { grid-template-columns:1fr; }
  .premium-dialog-media { display:none; }
}
@media (max-width:760px) {
  .home-v3 .container,.premium-hero-inner { width:min(100% - 32px,1320px); }
  .premium-nav-shell { min-height:70px; }
  .premium-brand { width:142px; height:52px; }
  .premium-hero { min-height:100svh; align-items:end; }
  .premium-hero::before { background:linear-gradient(0deg,rgba(3,14,28,.94) 0%,rgba(3,14,28,.54) 68%,rgba(3,14,28,.28) 100%); }
  .premium-hero-inner { padding:112px 0 70px; gap:28px; }
  .premium-kicker { font-size:.65rem; padding:7px 10px; }
  .premium-hero h1 { font-size:clamp(2.55rem,12.5vw,4.4rem); line-height:.98; }
  .premium-hero-copy>p { font-size:1rem; }
  .premium-hero-actions { display:grid; grid-template-columns:1fr 1fr; }
  .premium-action { width:100%; }
  .premium-icon-link { justify-content:center; border:1px solid rgba(255,255,255,.25); }
  .premium-hero-controls { position:absolute; right:16px; bottom:74px; }
  .video-control { width:48px; padding:0; justify-content:center; }
  .video-control span[data-video-label] { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .premium-scroll-cue { display:none; }
  .premium-section { padding:72px 0; }
  .premium-about-media { grid-template-columns:1fr; grid-template-rows:auto; min-height:0; }
  .premium-about-media picture:first-child { grid-row:auto; }
  .premium-about-media picture:nth-child(n+2) { display:none; }
  .premium-about-media img { min-height:280px; }
  .premium-proof-strip { grid-template-columns:1fr 1fr; }
  .premium-heading-row { display:block; }
  .premium-service-grid { grid-template-columns:1fr; }
  .premium-card-actions { grid-template-columns:1fr 1fr; }
  .premium-card-action.whatsapp { grid-column:1/-1; }
  .premium-capability-footer { align-items:flex-start; flex-direction:column; }
  .premium-project-grid { grid-template-columns:1fr 1fr; }
  .premium-project,.premium-project img { min-height:250px; }
  .premium-project:nth-child(n+7) { display:none; }
  .premium-method-line { grid-template-columns:1fr; border-top:0; border-left:1px solid #568ab8; margin-left:7px; }
  .premium-method-step { padding:0 0 28px 28px; }
  .premium-method-step::before { top:7px; left:-7px; }
  .premium-advantage-grid { grid-template-columns:1fr; }
  .premium-team-grid { grid-template-columns:1fr 1fr; }
  .premium-contact-panel { padding:22px 18px; }
  .home-v3 .proposal-form .field-grid { grid-template-columns:1fr; }
  .premium-dialog-content { padding:34px 20px 24px; }
  .premium-dialog-columns { grid-template-columns:1fr; }
}
@media (max-width:460px) {
  .premium-hero-actions { grid-template-columns:1fr; }
  .premium-proof-strip,.premium-project-grid,.premium-team-grid { grid-template-columns:1fr; }
  .premium-project:nth-child(n+5) { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .home-v3 *,.home-v3 *::before,.home-v3 *::after { scroll-behavior:auto!important; animation:none!important; transition-duration:.01ms!important; }
  .reveal-ready .reveal-item { opacity:1; transform:none; }
}
