/* ==========================================================================
   Bombo Media — tokens
   ========================================================================== */
:root{
  --navy-950:#04060f;
  --navy-900:#0a1633;
  --navy-800:#101f47;
  --navy-700:#16295c;
  --blue-500:#1e56c2;
  --blue-300:#5b8def;
  --gold-500:#ffd400;
  --gold-400:#ffde33;
  --gold-200:#ffec99;
  --ink-100:#f5f7fc;
  --ink-300:#c7cee3;
  --ink-500:#8b93b3;
  --black:#020409;

  --font-display:'Anton', Impact, sans-serif;
  --font-body:'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;

  --container:1240px;
  --radius:14px;
  --ease:cubic-bezier(.22,.68,0,1.01);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:88px;overflow-x:hidden;width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{
  margin:0;
  background:var(--navy-950);
  color:var(--ink-100);
  font-family:var(--font-body);
  font-size:15px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  width:100%;
}
p{overflow-wrap:break-word;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;margin:0;padding:0;}
h1,h2,h3{margin:0;}
p{margin:0;}
.container{
  width:100%;
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:clamp(20px,5vw,48px);
}
.text-gold{color:var(--gold-500);}

:focus-visible{
  outline:2px solid var(--gold-500);
  outline-offset:3px;
  border-radius:2px;
}

/* Floating WhatsApp button */
.whatsapp-float{
  position:fixed;
  right:24px;
  bottom:calc(24px + env(safe-area-inset-bottom, 0px));
  width:58px;height:58px;
  border-radius:50%;
  background:#25d366;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 30px -8px rgba(0,0,0,.5);
  z-index:400;
  transition:transform .2s var(--ease), box-shadow .2s var(--ease);
}
.whatsapp-float:hover{
  transform:translateY(-3px) scale(1.05);
  box-shadow:0 14px 36px -8px rgba(0,0,0,.55);
}
.whatsapp-icon{
  width:30px;height:30px;
  background-color:#fff;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z'/></svg>");
}
@media (max-width:600px){
  .whatsapp-float{width:52px;height:52px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));}
  .whatsapp-icon{width:26px;height:26px;}
}

/* film grain overlay */
.grain{
  position:fixed;inset:0;
  pointer-events:none;
  z-index:999;
  opacity:.05;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* ==========================================================================
   Buttons / chips
   ========================================================================== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:16px 28px;
  border-radius:999px;
  font-family:var(--font-body);
  font-weight:700;
  font-size:.95rem;
  letter-spacing:.01em;
  border:2px solid transparent;
  cursor:pointer;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease);
}
.btn-primary{
  background:var(--gold-500);
  color:var(--navy-950);
  box-shadow:0 0 0 0 rgba(255,212,0,.5);
  font-family:var(--font-display);
  font-weight:400;
  font-size:1.2rem;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 30px -8px rgba(255,212,0,.55);
  background:var(--gold-400);
}
.btn-ghost{
  border-color:rgba(245,247,252,.3);
  color:var(--ink-100);
}
.btn-ghost:hover{
  border-color:var(--gold-500);
  color:var(--gold-500);
  transform:translateY(-2px);
}
.btn-block{width:100%;}

.chip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:13px 22px;
  border-radius:999px;
  border:1px solid rgba(245,247,252,.18);
  font-weight:600;
  font-size:.92rem;
  transition:border-color .25s var(--ease), color .25s var(--ease), transform .25s var(--ease), background .25s var(--ease);
}
.chip:hover{
  border-color:var(--gold-500);
  color:var(--gold-500);
  background:rgba(255,212,0,.06);
  transform:translateY(-2px);
}
.chip-icon{
  flex-shrink:0;
  width:18px;height:18px;
  background-color:var(--gold-500);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-position:center;mask-position:center;
}
.chip-icon-mail{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/><rect x='2' y='4' width='20' height='16' rx='2'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/><rect x='2' y='4' width='20' height='16' rx='2'/></svg>");}
.chip-icon-instagram{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077'/></svg>");}

/* ==========================================================================
   Header
   ========================================================================== */
.site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:500;
  backdrop-filter:blur(14px);
  background:rgba(4,6,15,.55);
  border-bottom:1px solid rgba(245,247,252,.08);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:76px;
}
.logo{
  display:inline-flex;
  align-items:center;
}
.logo img{
  display:block;
  height:48px;
  width:auto;
}
.site-header .logo img{
  height:58px;
}
.nav{
  display:flex;
  align-items:center;
  gap:36px;
}
.nav a{
  font-size:.92rem;
  font-weight:600;
  line-height:1;
  color:var(--ink-300);
  position:relative;
  transition:color .2s var(--ease);
}
.nav a:not(.nav-cta):not(.lang-menu-item)::after{
  content:'';
  position:absolute;
  left:0;bottom:-6px;
  width:0;height:2px;
  background:var(--gold-500);
  transition:width .25s var(--ease);
}
.nav a:not(.nav-cta):not(.lang-menu-item):hover{color:var(--ink-100);}
.nav a:not(.nav-cta):not(.lang-menu-item):hover::after{width:100%;}
.nav a.nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  background:var(--gold-500);
  color:var(--navy-950);
  padding:12px 34px;
  border-radius:999px;
  font-family:var(--font-display);
  font-weight:400;
  font-size:1.15rem;
  letter-spacing:.02em;
  text-transform:uppercase;
  transition:transform .2s var(--ease), background .2s var(--ease);
}
.nav a.nav-cta:hover{background:var(--gold-400);transform:translateY(-2px);}

.nav-cta-row{
  display:flex;
  align-items:center;
  gap:12px;
}

.lang-switch{
  position:relative;
  flex-shrink:0;
}
.lang-toggle{
  display:inline-flex;
  align-items:center;
  gap:4px;
  background:transparent;
  border:1px solid rgba(245,247,252,.25);
  border-radius:999px;
  padding:5px 9px;
  font-family:var(--font-body);
  font-weight:700;
  font-size:.7rem;
  letter-spacing:.02em;
  color:var(--ink-100);
  cursor:pointer;
  transition:border-color .2s var(--ease), color .2s var(--ease);
}
.lang-toggle:hover{border-color:var(--gold-500);color:var(--gold-500);}
.lang-caret{
  width:8px;height:8px;
  background-color:currentColor;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
  transition:transform .2s var(--ease);
}
.lang-switch.open .lang-caret{transform:rotate(180deg);}
.lang-menu{
  position:fixed;
  width:max-content;
  background:var(--navy-950);
  border:1px solid rgba(245,247,252,.14);
  border-radius:16px;
  padding:6px;
  box-shadow:0 20px 40px -12px rgba(0,0,0,.5);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  transition:opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;
  z-index:600;
}
.lang-menu.open{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.lang-menu .lang-menu-item{
  display:block;
  text-align:center;
  padding:7px 9px;
  border-radius:999px;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--ink-300);
  transition:background .2s var(--ease), color .2s var(--ease);
}
.lang-menu-item:hover{background:rgba(255,255,255,.06);color:var(--ink-100);}
.lang-menu-item.is-current{
  color:var(--gold-500);
  background:rgba(255,212,0,.08);
  cursor:default;
}

.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  width:44px;height:44px;
  background:none;
  border:none;
  border-radius:8px;
  cursor:pointer;
}
.nav-toggle span{
  display:block;
  width:100%;height:2px;
  background:var(--ink-100);
  transition:transform .25s var(--ease), opacity .25s var(--ease);
}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero{
  position:relative;
  padding:calc(76px + 96px) 0 120px;
  overflow:hidden;
  max-width:100vw;
  background:var(--navy-950);
}
.hero-bg{
  position:absolute;
  inset:-46px 0;
  background:
    linear-gradient(90deg, rgba(4,6,15,.98) 0%, rgba(4,6,15,.93) 40%, rgba(4,6,15,.6) 58%, rgba(4,6,15,.22) 78%, rgba(4,6,15,.26) 100%),
    url('../assets/hero-bg.webp');
  background-size:cover, cover;
  background-position:right center, 68% center;
  background-repeat:no-repeat, no-repeat;
  pointer-events:none;
  will-change:transform;
}
.hero-inner{
  position:relative;
  z-index:2;
  max-width:760px;
}
.kicker{
  font-family:var(--font-body);
  font-weight:700;
  font-size:.85rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--gold-500);
  margin-bottom:18px;
}
.hero-title{
  font-family:var(--font-display);
  font-size:clamp(3rem, 9vw, 6.2rem);
  line-height:.95;
  letter-spacing:.01em;
  text-transform:uppercase;
  margin-bottom:28px;
}
.hero-subhead{
  font-family:var(--font-body);
  font-weight:700;
  font-size:clamp(1.05rem,2vw,1.35rem);
  color:var(--ink-100);
  margin-bottom:20px;
}
.hero-lede{
  font-size:clamp(.95rem,1.6vw,1.1rem);
  color:var(--ink-300);
  max-width:60ch;
  margin-bottom:36px;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-bottom:28px;
}
.hero-actions .btn{width:200px;}
.hero-trust{
  font-size:.82rem;
  letter-spacing:.04em;
  color:var(--ink-500);
  text-transform:uppercase;
}

/* equalizer */
.eq{
  position:absolute;
  right:clamp(20px,6vw,80px);
  bottom:60px;
  display:flex;
  align-items:flex-end;
  gap:6px;
  height:90px;
  z-index:1;
  opacity:.85;
}
.eq span{
  width:8px;
  border-radius:4px;
  background:linear-gradient(180deg, var(--gold-500), var(--blue-500));
  animation:eq 1.2s ease-in-out infinite;
}
.eq span:nth-child(1){height:30%;animation-delay:-1.1s;}
.eq span:nth-child(2){height:60%;animation-delay:-0.9s;}
.eq span:nth-child(3){height:90%;animation-delay:-0.7s;}
.eq span:nth-child(4){height:45%;animation-delay:-0.5s;}
.eq span:nth-child(5){height:75%;animation-delay:-0.3s;}
.eq span:nth-child(6){height:35%;animation-delay:-0.15s;}
.eq span:nth-child(7){height:65%;animation-delay:-1.3s;}
.eq span:nth-child(8){height:25%;animation-delay:-0.6s;}
@keyframes eq{
  0%,100%{transform:scaleY(.4);}
  50%{transform:scaleY(1);}
}
@media (max-width:820px){
  .eq{display:none;}
}

/* ==========================================================================
   Problema
   ========================================================================== */
.problema{
  background:var(--black);
  padding:96px 0;
  text-align:center;
}
.problema .kicker{justify-content:center;}
.problema .container{
  max-width:840px;
}
.problema .section-title{
  font-size:clamp(1.8rem,4vw,2.6rem);
  color:var(--ink-300);
  margin-bottom:20px;
}
.problema-destacado{
  font-family:var(--font-display);
  font-size:clamp(2rem,5vw,3rem);
  text-transform:uppercase;
  color:var(--gold-500);
  line-height:1.1;
  margin-bottom:24px;
}
.problema-cierre{
  font-size:1.1rem;
  color:var(--ink-500);
}

/* ==========================================================================
   Ticker (stadium LED board)
   ========================================================================== */
.ticker{
  background:var(--black);
  border-top:1px solid rgba(255,212,0,.25);
  border-bottom:1px solid rgba(255,212,0,.25);
  overflow:hidden;
  padding:9px 0;
}
.ticker-track{
  display:flex;
  width:max-content;
  animation:scroll-left 165s linear infinite;
}
.ticker:hover .ticker-track{animation-play-state:paused;}
.ticker-track span{
  font-family:var(--font-display);
  font-size:.82rem;
  letter-spacing:.08em;
  color:var(--gold-500);
  white-space:nowrap;
  padding-right:0;
}
@keyframes scroll-left{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* ==========================================================================
   Section shells
   ========================================================================== */
section{padding:120px 0;}
.section-title{
  font-family:var(--font-display);
  font-size:clamp(2.2rem,5vw,3.4rem);
  text-transform:uppercase;
  line-height:1.02;
  margin-bottom:16px;
}
.section-lede{
  font-size:1rem;
  color:var(--ink-300);
  max-width:56ch;
  margin-bottom:48px;
}

/* ==========================================================================
   Servicios
   ========================================================================== */
.servicios{background:var(--navy-900);}
@media (min-width:1100px){
  .servicios .section-lede{max-width:none;white-space:nowrap;}
}
.cards{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px,1fr));
  grid-template-rows:auto auto auto auto 1fr;
  grid-auto-rows:auto auto auto auto 1fr;
  gap:24px;
  margin-top:16px;
}
.card{
  position:relative;
  min-width:0;
  display:grid;
  grid-template-rows:subgrid;
  grid-row:span 5;
  row-gap:0;
  background:linear-gradient(160deg, var(--navy-800), var(--navy-700));
  border:1px solid rgba(245,247,252,.08);
  border-radius:var(--radius);
  overflow:hidden;
  padding:32px 28px;
  transition:transform .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg, var(--gold-500), var(--blue-500));
  border-radius:var(--radius) var(--radius) 0 0;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s var(--ease);
}
.card:hover{
  transform:translateY(-6px);
  border-color:rgba(255,212,0,.35);
  box-shadow:0 20px 40px -20px rgba(0,0,0,.6);
}
.card:hover::before{transform:scaleX(1);}
.card-icon{
  display:block;
  width:34px;height:34px;
  margin-bottom:16px;
  background-color:var(--gold-500);
  opacity:.55;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-position:left center;
  mask-position:left center;
}
.card-icon-search{
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m21 21-4.34-4.34'/><circle cx='11' cy='11' r='8'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m21 21-4.34-4.34'/><circle cx='11' cy='11' r='8'/></svg>");
}
.card-icon-monitor{
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect width='20' height='14' x='2' y='3' rx='2'/><line x1='8' x2='16' y1='21' y2='21'/><line x1='12' x2='12' y1='17' y2='21'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect width='20' height='14' x='2' y='3' rx='2'/><line x1='8' x2='16' y1='21' y2='21'/><line x1='12' x2='12' y1='17' y2='21'/></svg>");
}
.card-icon-clapper{
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m12.296 3.464 3.02 3.956'/><path d='M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z'/><path d='M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/><path d='m6.18 5.276 3.1 3.899'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m12.296 3.464 3.02 3.956'/><path d='M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z'/><path d='M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/><path d='m6.18 5.276 3.1 3.899'/></svg>");
}
.card-icon-phone{
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect width='14' height='20' x='5' y='2' rx='2' ry='2'/><path d='M12 18h.01'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect width='14' height='20' x='5' y='2' rx='2' ry='2'/><path d='M12 18h.01'/></svg>");
}
.card-micro{
  display:block;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#8ab3f5;
  margin-bottom:10px;
}
.card h3{
  font-family:var(--font-display);
  font-size:1.4rem;
  text-transform:uppercase;
  letter-spacing:.01em;
  margin-bottom:10px;
}
.card-tag{
  color:var(--gold-400);
  font-weight:600;
  font-size:.92rem;
  margin-bottom:18px;
}
.card ul{display:flex;flex-direction:column;gap:10px;}
.card li{
  position:relative;
  padding-left:24px;
  color:var(--ink-300);
  font-size:.92rem;
  line-height:1.5;
}
.card li::before{
  content:'';
  position:absolute;
  left:0;top:.28em;
  width:14px;height:14px;
  background-color:var(--blue-300);
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-position:center;
  mask-position:center;
}

/* ==========================================================================
   Cómo trabajamos (pasos)
   ========================================================================== */
.proceso{position:relative;overflow:hidden;background:var(--ink-100);color:var(--navy-950);}
.proceso-bg{
  position:absolute;
  inset:-28% 0;
  background-image:url('../assets/tactics-board.webp');
  background-size:cover;
  background-position:center;
  opacity:.14;
  pointer-events:none;
  will-change:transform;
}
.proceso .container{position:relative;z-index:1;}
.proceso .kicker{color:var(--blue-500);}
.proceso .section-title{color:var(--navy-950);}
.proceso .section-lede{color:#3a4260;}
@media (min-width:860px){
  .proceso .section-lede{max-width:none;white-space:nowrap;}
}
.pasos{
  position:relative;
  margin-top:48px;
  display:flex;
  flex-wrap:wrap;
  row-gap:40px;
}
.pasos::before{
  content:'';
  position:absolute;
  top:29px;
  left:10%;
  right:10%;
  height:2px;
  background:linear-gradient(90deg, var(--blue-500), var(--gold-500));
  opacity:.4;
}
.pasos li{
  position:relative;
  z-index:1;
  flex:1 1 140px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:14px;
  padding:0 14px;
}
.paso-badge{
  flex-shrink:0;
  width:58px;height:58px;
  border-radius:50%;
  background:var(--ink-100);
  border:2px solid var(--navy-950);
  display:flex;
  align-items:center;
  justify-content:center;
}
.paso-icon{
  display:block;
  width:24px;height:24px;
  background-color:var(--navy-950);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-position:center;mask-position:center;
}
.paso-icon-ear{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 1 1-7 0'/><path d='M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 1 1-7 0'/><path d='M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4'/></svg>");}
.paso-icon-bulb{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5'/><path d='M9 18h6'/><path d='M10 22h4'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5'/><path d='M9 18h6'/><path d='M10 22h4'/></svg>");}
.paso-icon-pen{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z'/><path d='m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18'/><path d='m2.3 2.3 7.286 7.286'/><circle cx='11' cy='11' r='2'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z'/><path d='m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18'/><path d='m2.3 2.3 7.286 7.286'/><circle cx='11' cy='11' r='2'/></svg>");}
.paso-icon-rocket{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5'/><path d='M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09'/><path d='M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z'/><path d='M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5'/><path d='M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09'/><path d='M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z'/><path d='M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05'/></svg>");}
.paso-icon-trend{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M16 7h6v6'/><path d='m22 7-8.5 8.5-5-5L2 17'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M16 7h6v6'/><path d='m22 7-8.5 8.5-5-5L2 17'/></svg>");}
.paso-num{
  font-family:var(--font-display);
  font-size:.8rem;
  color:var(--blue-500);
}
.pasos h3{
  font-family:var(--font-display);
  font-size:1.3rem;
  text-transform:uppercase;
  margin-top:-8px;
}

@media (max-width:760px){
  .pasos{flex-direction:column;row-gap:0;}
  .pasos::before{
    top:29px;bottom:29px;left:29px;right:auto;
    width:2px;height:auto;
    background:linear-gradient(180deg, var(--blue-500), var(--gold-500));
  }
  .pasos li{
    flex-direction:row;
    align-items:center;
    text-align:left;
    padding:18px 0;
    gap:20px;
  }
  .pasos h3{margin-top:0;}
}

/* ==========================================================================
   Nosotros
   ========================================================================== */
.nosotros{background:var(--navy-950);}
.nosotros-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  grid-template-rows:auto auto 1fr;
  column-gap:64px;
  align-items:start;
}
.nosotros-grid > *{min-width:0;}
.nosotros-kicker{grid-column:1;grid-row:1;}
.nosotros-title{grid-column:1;grid-row:2;}
.nosotros-text{grid-column:1;grid-row:3;}
.nosotros-grid > .valores{grid-column:2;grid-row:2 / span 2;}
.nosotros-text p{color:var(--ink-300);font-size:1.05rem;max-width:56ch;margin-bottom:18px;}
.nosotros-text p.nosotros-detalle{
  color:var(--ink-500);
  font-size:.92rem;
  padding-top:10px;
  border-top:1px solid rgba(245,247,252,.08);
}
.valores{display:flex;flex-direction:column;gap:22px;}
.valores li{
  display:flex;
  gap:16px;
  align-items:center;
  padding:20px;
  border:1px solid rgba(245,247,252,.08);
  border-radius:var(--radius);
  background:rgba(255,255,255,.02);
  transition:border-color .3s var(--ease), transform .3s var(--ease);
}
.valores li:hover{border-color:rgba(255,212,0,.35);transform:translateX(4px);}
.valores-icon{
  flex-shrink:0;
  width:22px;height:22px;
  background-color:var(--gold-500);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-position:center;mask-position:center;
}
.valores-icon-target{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><circle cx='12' cy='12' r='6'/><circle cx='12' cy='12' r='2'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><circle cx='12' cy='12' r='6'/><circle cx='12' cy='12' r='2'/></svg>");}
.valores-icon-film{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect width='18' height='18' x='3' y='3' rx='2'/><path d='M7 3v18'/><path d='M3 7.5h4'/><path d='M3 12h18'/><path d='M3 16.5h4'/><path d='M17 3v18'/><path d='M17 7.5h4'/><path d='M17 16.5h4'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect width='18' height='18' x='3' y='3' rx='2'/><path d='M7 3v18'/><path d='M3 7.5h4'/><path d='M3 12h18'/><path d='M3 16.5h4'/><path d='M17 3v18'/><path d='M17 7.5h4'/><path d='M17 16.5h4'/></svg>");}
.valores-icon-gamepad{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='6' x2='10' y1='11' y2='11'/><line x1='8' x2='8' y1='9' y2='13'/><line x1='15' x2='15.01' y1='12' y2='12'/><line x1='18' x2='18.01' y1='10' y2='10'/><path d='M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='6' x2='10' y1='11' y2='11'/><line x1='8' x2='8' y1='9' y2='13'/><line x1='15' x2='15.01' y1='12' y2='12'/><line x1='18' x2='18.01' y1='10' y2='10'/><path d='M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z'/></svg>");}
.valores p{color:var(--ink-100);font-size:.98rem;max-width:none;margin:0;}

@media (max-width:880px){
  .nosotros-grid{grid-template-columns:1fr;}
  .nosotros-kicker,.nosotros-title,.nosotros-text,.nosotros-grid > .valores{
    grid-column:1;grid-row:auto;
  }
  .nosotros-grid > .valores{margin-top:40px;}
}

/* ==========================================================================
   Contacto
   ========================================================================== */
.contacto{
  background:linear-gradient(180deg, var(--navy-900), var(--black));
  border-top:1px solid rgba(255,212,0,.12);
}
.contacto-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:start;
}
.contacto-inner > *{min-width:0;}
.contacto .section-lede{margin-bottom:32px;}
.contact-chips{display:flex;flex-wrap:wrap;gap:14px;}
.contacto-mark{
  display:block;
  width:100%;
  max-width:300px;
  height:auto;
  margin:48px auto 0; /* fallback centering (column-relative) until JS centers it on the title */
}

.form{
  display:flex;
  flex-direction:column;
  gap:18px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(245,247,252,.08);
  border-radius:var(--radius);
  padding:32px;
}
.form label{
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:.85rem;
  font-weight:600;
  color:var(--ink-300);
}
.form input,.form textarea{
  font-family:var(--font-body);
  font-size:1rem;
  color:var(--ink-100);
  background:rgba(255,255,255,.04);
  border:1px solid rgba(245,247,252,.14);
  border-radius:8px;
  padding:12px 14px;
  resize:vertical;
  transition:border-color .2s var(--ease), background .2s var(--ease);
}
.form input::placeholder,.form textarea::placeholder{color:var(--ink-500);}
.form input:focus,.form textarea:focus{
  border-color:var(--gold-500);
  background:rgba(255,255,255,.06);
}
.form-status{
  min-height:1.2em;
  font-size:.85rem;
  color:var(--gold-400);
}
.hp-field{
  position:absolute;
  left:-9999px;
  width:1px;height:1px;
  overflow:hidden;
}

@media (max-width:880px){
  .contacto-inner{grid-template-columns:1fr;}
}

@media (max-width:600px){
  /* Mobile only: the bombo mark moves below the form and shrinks — desktop/tablet keep
     the original placement (centered under the title, inside the copy column).
     The actual move (DOM reparent) happens in JS; this just sizes/centers it
     once it's a direct sibling of .form. */
  .contacto-mark{max-width:190px;margin:0 auto;}
}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer{
  background:var(--black);
  padding:48px 0;
  border-top:1px solid rgba(245,247,252,.08);
}
.footer-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}
.footer-brand{display:flex;flex-direction:column;gap:14px;}
.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:14px;}
.footer-nav{display:flex;gap:26px;flex-wrap:wrap;}
.footer-nav a{font-size:.88rem;color:var(--ink-500);transition:color .2s var(--ease);}
.footer-nav a:hover{color:var(--gold-500);}
.footer-note{
  font-size:.8rem;
  color:var(--ink-300);
}
.footer-social{display:flex;gap:12px;}
.footer-social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;height:36px;
  border-radius:50%;
  border:1px solid rgba(245,247,252,.18);
  transition:border-color .2s var(--ease), background .2s var(--ease);
}
.footer-social-link:hover{
  border-color:var(--gold-500);
  background:rgba(255,212,0,.06);
}
.footer-social-link .chip-icon{
  width:16px;height:16px;
  background-color:var(--ink-300);
  transition:background-color .2s var(--ease);
}
.footer-social-link:hover .chip-icon{background-color:var(--gold-500);}

@media (max-width:600px){
  .footer-inner{justify-content:center;text-align:center;}
  .footer-brand{align-items:center;}
  .footer-right{align-items:center;}
  .footer-nav{justify-content:center;gap:16px;}
  .footer-nav a{font-size:.75rem;}
}

/* ==========================================================================
   Scroll reveal
   ========================================================================== */
.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s var(--ease), transform .7s var(--ease);
}
.reveal.in-view{opacity:1;transform:translateY(0);}

/* ==========================================================================
   Mobile nav
   ========================================================================== */
@media (max-width:860px){
  .nav-toggle{display:flex;}
  .nav{
    position:fixed;
    top:76px;left:0;right:0;
    width:100%;
    box-sizing:border-box;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:var(--navy-950);
    border-top:1px solid rgba(245,247,252,.08);
    border-bottom:1px solid rgba(245,247,252,.08);
    max-height:0;
    overflow:hidden;
    transition:max-height .35s var(--ease);
  }
  .nav.open{max-height:400px;}
  .nav a:not(.lang-menu-item){width:100%;box-sizing:border-box;padding:18px clamp(20px,5vw,48px);}
  .nav a:not(.nav-cta):not(.lang-menu-item)::after{display:none;}
  .nav a:not(.nav-cta):not(.lang-menu-item){border-bottom:1px solid rgba(245,247,252,.08);}
  .nav-cta-row{margin:12px clamp(20px,5vw,48px) 16px;}
  .nav a.nav-cta{width:auto;flex:1;text-align:center;}
  .lang-switch{flex-shrink:0;}
  .nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle.open span:nth-child(2){opacity:0;}
  .nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
}

@media (max-width:600px){
  section{padding:80px 0;}
  /* Compressed so the whole hero fits within one mobile screen, no scroll
     needed to see the CTA — was badly overflowing (title alone ran past the
     fold). Sizes were also cut down from an earlier, much larger pass because
     -webkit-text-size-adjust wasn't reset, so real phones were rendering text
     bigger than the CSS said and wrapping "PUEDE HACER"/"CAN MAKE" (see the
     html{text-size-adjust:100%} fix above) — this range keeps a wide safety
     margin against that regardless. */
  .hero{padding-top:calc(76px + 64px);padding-bottom:64px;}
  .hero-inner .kicker{margin-bottom:22px;}
  .hero-title{font-size:clamp(2.5rem, 12.5vw, 3.1rem);margin-bottom:28px;}
  .hero-subhead{margin-bottom:20px;}
  .hero-lede{font-size:.85rem;line-height:1.45;margin-bottom:34px;}
  .hero-actions{gap:10px;margin-bottom:28px;flex-direction:row;flex-wrap:nowrap;align-items:stretch;}
  .hero-actions .btn{padding:13px 14px;font-size:.8rem;width:auto;flex:1;}
  .hero-trust{font-size:.6rem;letter-spacing:.02em;white-space:nowrap;}
  .hero-bg{
    background-image:
      linear-gradient(180deg, rgba(4,6,15,.8) 0%, rgba(4,6,15,.74) 60%, rgba(4,6,15,.66) 100%),
      url('../assets/hero-bg-mobile.webp');
    background-position:center center, center center;
  }
}

/* ==========================================================================
   Reduced motion
   ========================================================================== */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:0.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.001ms !important;
    scroll-behavior:auto !important;
  }
  .reveal{opacity:1;transform:none;}
  .ticker-track{animation:none;}
  .card{transform:none !important;}
}
