:root {
  --seorty-ink: #101412;
  --seorty-green: #00bf73;
}

/* Portada: marca centrada geométricamente y cabecera integrada con el hero. */
.site-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  align-items: center !important;
  height: 78px !important;
  background: rgba(16, 20, 18, .97) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .12) !important;
  box-shadow: none !important;
}
.site-header > .logo { grid-column: 2; grid-row: 1; justify-self: center; z-index: 2; }
.site-header > .desktop-nav { grid-column: 1; grid-row: 1; justify-self: start; }
.site-header > .header-actions { grid-column: 3; grid-row: 1; justify-self: end; }
.site-header:not(.is-scrolled) .wordmark,
.site-header:not(.is-scrolled) .desktop-nav a { color: #fff !important; }
.site-header:not(.is-scrolled) .seorty-mark .mark-plane { fill: #fff !important; }
.site-header:not(.is-scrolled) .language-toggle {
  color: #fff !important;
  background: rgba(255, 255, 255, .08) !important;
  border-color: rgba(255, 255, 255, .38) !important;
  box-shadow: none !important;
}
.site-header:not(.is-scrolled) .language-toggle #current-code,
.site-header:not(.is-scrolled) .language-toggle i { color: #fff !important; }
.site-header.is-scrolled { display: grid !important; border-bottom-color: #e1e5e2 !important; }

/* La marca gana presencia; el idioma queda como herramienta flotante fuera de la barra. */
.site-header .logo > .seorty-mark { width: 48px !important; height: 48px !important; }
.site-header .wordmark { font-size: 25px !important; }
.site-header .logo { gap: 12px !important; }
.site-header .language {
  position: fixed !important;
  top: 92px;
  right: max(20px, calc((100vw - 1180px) / 2));
  z-index: 35;
}
.site-header .language-toggle,
.site-header:not(.is-scrolled) .language-toggle {
  color: #fff !important;
  background: rgba(17, 22, 20, .74) !important;
  border-color: rgba(255, 255, 255, .56) !important;
  box-shadow: none !important;
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
}
.site-header .language-toggle #current-code,
.site-header .language-toggle i,
.site-header:not(.is-scrolled) .language-toggle #current-code,
.site-header:not(.is-scrolled) .language-toggle i { color: #fff !important; }
.site-header .language-toggle #current-code,
.site-header .language-toggle i { color: #fff !important; text-shadow: 0 1px 5px rgba(0, 0, 0, .7); }

/* Menor cuando está cerrado; al abrir muestra bandera y nombre completo, sin siglas. */
.language-toggle {
  min-width: 68px !important;
  width: 68px !important;
  height: 36px !important;
  padding: 3px 8px 3px 4px !important;
  gap: 5px !important;
}
.language-toggle #current-flag { width: 28px !important; height: 28px !important; font-size: 15px !important; }
.language-toggle #current-flag {
  background: transparent !important;
  box-shadow: none !important;
}
.language-toggle #current-code { font-size: 9px !important; }
.language-menu { top: 44px !important; width: 198px !important; }
.language-menu :is(button, a) { grid-template-columns: 34px 1fr !important; min-height: 45px !important; }
.language-menu :is(button, a) small { display: none !important; }
.language-menu :is(button, a).active::after { right: 8px; }
.panel-access {
  min-width: 68px;
  height: 36px;
  padding: 0 13px;
  border: 1px solid rgba(20, 25, 23, .42);
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  color: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .06em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.panel-access:hover { transform: translateY(-1px); background: rgba(0, 199, 122, .12); border-color: rgba(0, 199, 122, .72); }
.site-header:not(.is-scrolled) .panel-access { color: #fff; border-color: rgba(255,255,255,.58); background: rgba(10,15,12,.18); }

/* Ritmo visual tecnológico: fotografía, contraste y profundidad sin cambiar la identidad. */
.hero { border-radius: 0 0 34px 34px; box-shadow: 0 24px 65px rgba(10, 17, 13, .18); }
.statement { position: relative; background: #fff; }
.statement::after {
  content: "";
  position: absolute;
  right: -9vw;
  top: 14%;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 191, 115, .12), transparent 68%);
  pointer-events: none;
}
.method { background: linear-gradient(145deg, #eff5f2 0%, #f8faf9 55%, #e5f8ef 100%) !important; }
.engine-heading{grid-column:1/-1;display:grid;grid-template-columns:190px 1fr;gap:70px;margin-bottom:38px}.engine-heading h2{margin:0;font-size:clamp(42px,5vw,68px);line-height:1;letter-spacing:-.06em;max-width:900px}.engine-heading>p:last-child{grid-column:2;max-width:690px;margin:-35px 0 0;color:#69716c;font-size:16px;line-height:1.7}

/* Argumentario comercial original: beneficios verificables antes que promesas. */
.commercial-value {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(520px, 1.22fr);
  gap: 90px;
  background: #101412;
  color: #fff;
}
.commercial-value-intro { position: sticky; top: 118px; align-self: start; }
.commercial-value-intro h2 {
  margin: 18px 0 28px;
  font-size: clamp(46px, 5.3vw, 76px);
  line-height: .98;
  letter-spacing: -.07em;
}
.commercial-value-intro > p:not(.section-number) { color: #aeb7b2; font-size: 16px; line-height: 1.75; }
.commercial-value .story-link { color: #fff; border-bottom-color: rgba(255, 255, 255, .55); }
.commercial-value-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #343b37; }
.value-point { min-height: 285px; padding: 31px; background: #171c19; }
.value-point:nth-child(2), .value-point:nth-child(5) { background: #00bf73; color: #082f20; }
.value-point > span { color: #00bf73; font: 700 10px var(--mono); }
.value-point:nth-child(2) > span, .value-point:nth-child(5) > span { color: #07583a; }
.value-point h3 { margin: 48px 0 17px; font-size: 25px; line-height: 1.05; letter-spacing: -.045em; }
.value-point p { margin: 0; color: #aeb7b2; font-size: 13px; line-height: 1.7; }
.value-point:nth-child(2) p, .value-point:nth-child(5) p { color: #07583a; }
.value-point.reveal:nth-child(2), .value-point.reveal:nth-child(4), .value-point.reveal:nth-child(6) { transition-delay: .08s; }
.launch-contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;background:#eef5f1}.launch-contact-copy h2{margin:18px 0 25px;font-size:clamp(44px,5vw,70px);line-height:1;letter-spacing:-.065em}.launch-contact-copy p:last-child{max-width:520px;color:#68716c;line-height:1.7}.launch-contact-copy a{font-weight:800;text-underline-offset:4px}.lead-form{padding:32px;border:1px solid #d7e0db;border-radius:20px;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:18px;box-shadow:0 22px 60px rgba(12,40,27,.08)}.lead-form label{display:grid;gap:8px}.lead-form label>span{font-size:11px;font-weight:800}.lead-form input,.lead-form textarea{width:100%;border:1px solid #cdd6d1;border-radius:10px;background:#fbfcfb;padding:14px;font:inherit}.lead-form input:focus,.lead-form textarea:focus{outline:3px solid rgba(0,191,115,.16);border-color:#00bf73}.lead-message,.lead-consent,.lead-form>button,.lead-form>p{grid-column:1/-1}.lead-honeypot{position:absolute!important;left:-10000px!important}.lead-consent{grid-template-columns:auto 1fr!important;align-items:center}.lead-consent input{width:18px;height:18px}.lead-consent span{font-weight:500!important}.lead-form>button{min-height:52px;border:0;border-radius:10px;background:#00bf73;color:#092d20;display:flex;justify-content:space-between;align-items:center;padding:0 18px;font:800 13px var(--body);cursor:pointer}.lead-form>button:disabled{opacity:.55;cursor:wait}.lead-form>p{min-height:20px;margin:0;font-size:12px;font-weight:700}
.launch-contact-high{position:relative;background:#101412;color:#fff}.launch-contact-high .section-number{color:#72e1b1!important}.launch-contact-high .launch-contact-copy>p{color:#adb7b1}.contact-promises{margin-top:28px;display:grid;gap:12px;color:#dce4df;font-size:13px;font-weight:700}.contact-promises span{padding-top:12px;border-top:1px solid rgba(255,255,255,.13)}

/* Cabecera común de páginas por idioma y servicios. */
.lp-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  align-items: center !important;
  background: rgba(16, 20, 18, .97) !important;
  border-bottom-color: rgba(255, 255, 255, .12) !important;
}
.lp-brand { grid-column: 2; grid-row: 1; justify-self: center; color: #fff !important; }
.lp-brand svg { width: 47px !important; height: 47px; }
.lp-brand span { font-size: 24px; }
.lp-brand svg path:nth-child(-n+2) { fill: #fff; }
.lp-nav { grid-column: 3; grid-row: 1; justify-self: end; gap: 24px; color: #fff; }
.lp-language summary {
  min-width: 66px !important;
  height: 36px !important;
  padding: 0 9px !important;
  gap: 6px !important;
  border-color: rgba(255, 255, 255, .38) !important;
  background: rgba(255, 255, 255, .08);
  font-size: 9px !important;
}
.lp-language {
  position: fixed !important;
  top: 92px;
  right: max(20px, calc((100vw - 1180px) / 2));
  z-index: 35;
}
.lp-language summary {
  color: #fff;
  background: rgba(17, 22, 20, .74) !important;
  border-color: rgba(255, 255, 255, .56) !important;
  box-shadow: none;
  text-shadow: 0 1px 5px rgba(0, 0, 0, .7);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
}
.lp-menu { width: 202px !important; }
.lp-menu a { justify-content: flex-start !important; min-height: 43px; align-items: center; color: #17191d !important; }
.lp-menu b { display: none !important; }
.lp-hero { border-radius: 0 0 34px 34px; box-shadow: 0 24px 65px rgba(10, 17, 13, .18); }
.lp-card { overflow: hidden; position: relative; }
.lp-card::after {
  content: "";
  position: absolute;
  inset: -70% -35%;
  background: linear-gradient(115deg, transparent 43%, rgba(255, 255, 255, .28) 50%, transparent 57%);
  transform: translateX(-65%) rotate(8deg);
  transition: transform .8s ease;
  pointer-events: none;
}
.lp-card:hover::after { transform: translateX(65%) rotate(8deg); }

@media (max-width: 1050px) {
  .site-header > .desktop-nav { display: none; }
  .commercial-value { grid-template-columns: 1fr; gap: 52px; }
  .launch-contact{grid-template-columns:1fr;gap:45px}
  .engine-heading{grid-template-columns:1fr;gap:18px}.engine-heading>p:last-child{grid-column:1;margin:0}
  .commercial-value-intro { position: static; }
}
@media (max-width: 700px) {
  .panel-access { position: fixed; top: 80px; right: 82px; z-index: 40; min-width: 62px; height: 34px; padding: 0 10px; border-color: rgba(255,255,255,.56); background: rgba(17,22,20,.74); color: #fff; }
  .site-header { height: 68px !important; padding: 0 14px !important; }
  .site-header .logo > .seorty-mark { width: 39px !important; height: 39px !important; }
  .site-header .wordmark { font-size: 20px !important; }
  .site-header .logo { gap: 8px !important; }
  .site-header .language, .lp-language { top: 80px; right: 12px; }
  .language-toggle { width: 62px !important; min-width: 62px !important; height: 34px !important; }
  .language-toggle #current-flag { width: 26px !important; height: 26px !important; }
  .hero, .lp-hero { border-radius: 0 0 24px 24px; }
  .commercial-value-grid { grid-template-columns: 1fr; }
  .value-point { min-height: 245px; }
  .lead-form{grid-template-columns:1fr;padding:23px}.lead-form>*{grid-column:1!important}
  .statement::after { display: none; }
  .lp-header { height: 68px !important; padding: 0 14px !important; }
  .lp-brand span { display: inline !important; font-size: 20px; }
  .lp-brand svg { width: 39px !important; height: 39px; }
  .lp-brand { gap: 8px !important; }
  .lp-language summary { min-width: 60px !important; width: 60px; height: 34px !important; padding: 0 7px !important; }
}
@media (max-width: 390px) {
  .site-header .wordmark, .lp-brand span { font-size: 18px !important; }
  .site-header .logo, .lp-brand { gap: 6px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .lp-card::after { display: none; }
}
