:root {
  --orange: #FF6F3D;
  --orange-hover: #FF8559;
  --orange-press: #E55A29;
  --orange-glow: rgba(255,111,61,0.32);
  --orange-soft: rgba(255,111,61,0.10);
  --navy-1000: #060D14;
  --navy-950: #0B1520;
  --navy-900: #111E2C;
  --navy-800: #1A2B3D;
  --navy-700: #253A50;
  --cream: #FDF9F0;
  --cream-dark: #F5F0E6;
  --ink: #1A2B3D;
  --ink-body: #3A4A5C;
  --ink-muted: #6A7686;
  --fg: #FFFFFF;
  --fg-88: rgba(255,255,255,0.88);
  --fg-72: rgba(255,255,255,0.72);
  --fg-55: rgba(255,255,255,0.55);
  --fg-32: rgba(255,255,255,0.32);
  --fg-18: rgba(255,255,255,0.18);
  --fg-08: rgba(255,255,255,0.08);
  --serif: 'EB Garamond', Georgia, serif;
  --sans: 'Poppins', system-ui, sans-serif;
  --mono: 'Poppins', system-ui, sans-serif;
  --code: 'JetBrains Mono', monospace;
  --ease: cubic-bezier(0.25,0.46,0.45,0.94);
  --ease-out: cubic-bezier(0.16,1,0.3,1);
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--sans); background:var(--navy-950); color:var(--fg-88); line-height:1.6; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-thumb { background:var(--orange); border-radius:3px; }
.container { max-width:1440px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }

/* ── NAV ── */
nav { position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(11,21,32,0.92); backdrop-filter:blur(20px); border-bottom:1px solid var(--fg-08); padding:14px 0; }
.nav-inner { display:flex; align-items:center; justify-content:space-between; }
.nav-logo { display:flex; align-items:center; gap:16px; }
.nav-wordmark { font-family:var(--serif); font-size:1.35rem; font-weight:600; color:var(--fg); }
.nav-wordmark span { color:var(--orange); }
.nav-pill { font-family:var(--mono); font-size:0.62rem; color:var(--orange); background:var(--orange-soft); border:1px solid rgba(255,111,61,0.2); padding:4px 12px; border-radius:20px; letter-spacing:0.08em; }
.btn-nav { background:var(--orange); color:#fff; font-family:var(--sans); font-weight:600; font-size:0.82rem; padding:10px 22px; border-radius:8px; text-decoration:none; transition:all 0.2s var(--ease); }
.btn-nav:hover { background:var(--orange-hover); transform:translateY(-1px); box-shadow:0 6px 20px var(--orange-glow); }

/* ── HERO ── */
.hero { min-height:100vh; display:flex; align-items:center; padding:64px 0 80px; position:relative; overflow:hidden; }
.hero-grid-bg { position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(255,111,61,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,111,61,0.025) 1px,transparent 1px); background-size:60px 60px; }
.hero-orb { position:absolute; border-radius:50%; pointer-events:none; filter:blur(90px); }
.orb-1 { width:600px; height:600px; background:radial-gradient(circle,rgba(255,111,61,0.09) 0%,transparent 70%); top:-150px; right:-100px; }
.orb-2 { width:400px; height:400px; background:radial-gradient(circle,rgba(11,21,32,0.8) 0%,transparent 70%); bottom:-80px; left:-80px; }
.hero-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:72px; align-items:center; }
.eyebrow { font-family:var(--mono); font-size:0.68rem; color:var(--orange); letter-spacing:0.12em; text-transform:uppercase; display:flex; align-items:center; gap:10px; margin-bottom:22px; animation:fadeUp 0.5s var(--ease) 0.1s both; }
.eyebrow::before { content:''; display:block; width:8px; height:8px; background:var(--orange); border-radius:50%; animation:pulse-dot 2s ease-in-out infinite; }
@keyframes pulse-dot { 0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.4;transform:scale(0.6);} }
.hero-title { font-family:var(--serif); font-size:3.75rem; font-weight:500; line-height:1.08; color:var(--fg); margin-bottom:22px; animation:fadeUp 0.6s var(--ease) 0.2s both; text-wrap:balance; }
.hero-title em { font-style:italic; color:var(--orange); }
.hero-sub { font-size:1rem; color:var(--fg-55); line-height:1.75; max-width:490px; margin-bottom:36px; animation:fadeUp 0.6s var(--ease) 0.3s both; }
.hero-bullets { list-style:none; display:flex; flex-direction:column; gap:14px; margin-bottom:40px; animation:fadeUp 0.6s var(--ease) 0.35s both; }
.hero-bullets li { display:flex; align-items:flex-start; gap:12px; font-size:0.9rem; color:var(--fg-72); }
.b-icon { width:21.6px; height:21.6px; border-radius:50%; background:var(--orange-soft); border:1px solid rgba(255,111,61,0.25); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px; color:var(--orange); font-size:0.7rem; }
.hero-bullets li strong { color:var(--fg-88); font-weight:600; }
.hero-bullet-content { flex:1; }
.hero-bullet-head { all:unset; box-sizing:border-box; display:block; font-weight:600; color:var(--fg-88); font-family:var(--sans); font-size:0.9rem; }
.hero-bullet-head > span:first-child { margin-right:4px; }
.hero-bullet-arrow { display:none; }
.hero-bullet-body-inner { color:var(--fg-72); }
@media(max-width:900px){
  .hero-bullet-head { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; cursor:pointer; }
  .hero-bullet-arrow { display:inline-block; color:var(--orange); font-size:0.8rem; transition:transform 0.3s var(--ease); flex-shrink:0; }
  .hero-bullet.open .hero-bullet-arrow { transform:rotate(180deg); }
  /* FIX: transición lenta y suave de apertura/cierre + fade del contenido */
  .hero-bullet-body { max-height:0; overflow:hidden; transition:max-height 0.6s var(--ease-out); }
  .hero-bullet-body-inner { padding-top:8px; opacity:0; transform:translateY(-6px); transition:opacity 0.5s var(--ease) 0.1s, transform 0.5s var(--ease) 0.1s; }
  .hero-bullet.open .hero-bullet-body-inner { opacity:1; transform:translateY(0); }
}
.hero-ctas { display:flex; align-items:center; gap:16px; animation:fadeUp 0.6s var(--ease) 0.4s both; }
.btn-primary { background:var(--orange); color:#fff; font-family:var(--sans); font-weight:600; font-size:0.92rem; padding:14px 32px; border-radius:8px; text-decoration:none; display:inline-flex; align-items:center; gap:8px; transition:all 0.25s var(--ease); animation:pulse-cta 3s ease-in-out infinite; position:relative; overflow:hidden; }
.btn-primary:hover { background:var(--orange-hover); transform:translateY(-2px); box-shadow:0 12px 32px var(--orange-glow); animation:none; }
.btn-ghost { color:var(--fg-55); font-size:0.88rem; text-decoration:none; border-bottom:1px solid rgba(255,255,255,0.18); padding-bottom:2px; transition:color 0.2s; }
.btn-ghost:hover { color:var(--fg); }
@keyframes pulse-cta { 0%,100%{box-shadow:0 0 0 0 var(--orange-glow);}50%{box-shadow:0 0 0 10px transparent;} }

/* ── CODE PANEL ── */
.hero-visual { position:relative; min-height:720px; animation:fadeUp 0.7s var(--ease) 0.3s both; }
.hero-photo { position:absolute; top:0; right:0; width:86%; height:100%; border-radius:16px; overflow:hidden; border:1px solid var(--fg-08); box-shadow:0 30px 70px rgba(0,0,0,0.45); }
.hero-photo img { width:100%; height:100%; object-fit:cover; object-position:55% 14%; display:block; }
.hero-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(155deg,transparent 30%,rgba(7,16,26,0.55) 100%); pointer-events:none; }
.hero-code { position:absolute; left:24px; bottom:30px; width:74%; z-index:2; transform:scale(0.8); transform-origin:bottom left; }
.code-window { background:rgba(7,16,26,0.97); border:1px solid var(--fg-18); border-radius:12px; overflow:hidden; box-shadow:0 40px 80px rgba(0,0,0,0.5); }
.code-bar { background:var(--fg-08); border-bottom:1px solid var(--fg-08); padding:11px 16px; display:flex; align-items:center; gap:7px; }
.dot { width:10px; height:10px; border-radius:50%; }
.dot-r{background:#FF5F57;}.dot-y{background:#FFBD2E;}.dot-g{background:#28C840;}
.code-filename { font-family:var(--code); font-size:0.68rem; color:var(--fg-32); margin-left:8px; }
.code-tabs { font-family:var(--code); font-size:0.6rem; color:var(--orange); margin-left:auto; }
.code-body { padding:20px 22px; font-family:var(--code); font-size:0.68rem; line-height:1.85; min-height:300px; }
.cursor { display:inline-block; width:2px; height:0.85em; background:var(--orange); vertical-align:text-bottom; animation:blink 1s step-end infinite; }
@keyframes blink { 0%,100%{opacity:1;}50%{opacity:0;} }

/* ── PROOF BAR ── */
.proof-bar { background:var(--navy-900); border-top:1px solid var(--fg-08); border-bottom:1px solid var(--fg-08); padding:20px 0; }
.proof-bar .container { max-width:none; width:100%; padding-left:48px; padding-right:48px; }
.proof-scroll { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.proof-item { display:flex; flex-direction:column; align-items:center; flex:1; padding:0 32px; border-left:1px solid var(--fg-08); }
.proof-item:first-child { border-left:0; }
.pi-num { font-family:var(--serif); font-size:1.7rem; font-weight:500; color:var(--orange); line-height:1; }
.pi-num em { font-style:italic; }
.pi-label { font-family:var(--mono); font-size:0.65rem; color:var(--fg-32); letter-spacing:0.08em; text-transform:uppercase; margin-top:3px; }
.proof-item.proof-dup { display:none; }
@keyframes proof-marquee { from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* ── CLIENT LOGOS ── */
.logos-bar { background:var(--navy-900); border-bottom:1px solid var(--fg-08); padding:40px 0 44px; }
.logos-label { text-align:center; font-family:var(--mono); font-size:0.66rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--fg-32); margin-bottom:30px; }
.logos-marquee { position:relative; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); }
.logos-track { display:flex; align-items:center; gap:84px; width:max-content; animation:scroll-r 40s linear infinite; }
.logos-marquee:hover .logos-track { animation-play-state:paused; }
.logos-logo { height:32px; display:flex; align-items:center; flex:0 0 auto; }
.logos-logo img { height:32px; width:auto; display:block; opacity:0.62; filter:grayscale(1) brightness(1.6); transition:opacity 0.25s var(--ease); }
.logos-logo.logos-raw img { filter:grayscale(1) brightness(1.6); }
.logos-logo:hover img { opacity:1; }

/* ── SHARED SECTION ── */
.block { padding:96px 0; }
.section-tag { font-family:var(--mono); font-size:0.67rem; color:var(--orange); letter-spacing:0.14em; text-transform:uppercase; display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.section-tag::before { content:''; display:block; width:24px; height:1px; background:var(--orange); }
.section-h { font-family:var(--serif); font-size:clamp(2rem,3.5vw,3rem); font-weight:500; line-height:1.15; color:var(--fg); margin-bottom:18px; white-space:nowrap; }
.section-h em { font-style:italic; color:var(--orange); }
.section-p { font-size:0.97rem; color:var(--fg-55); line-height:1.8; max-width:560px; }
.section-head-center { text-align:center; }
.section-head-center .section-tag { justify-content:center; }
.section-head-center .section-p { margin:0 auto; }

/* ── HOW IT WORKS ── */
.how-section { background:var(--cream); }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:60px; position:relative; }
.steps::before { content:''; position:absolute; top:32px; left:12.5%; right:12.5%; height:1px; background:repeating-linear-gradient(90deg,var(--orange) 0 6px,transparent 6px 14px); }
.step { padding:0 20px; text-align:center; position:relative; z-index:1; }
.step-num { width:64px; height:64px; border-radius:50%; background:var(--cream); border:1px solid rgba(255,111,61,0.3); display:flex; align-items:center; justify-content:center; margin:0 auto 22px; font-family:var(--mono); font-size:0.88rem; color:var(--orange); font-weight:700; transition:all 0.3s var(--ease); position:relative; }
.step-num::before { content:''; position:absolute; inset:-8px; border-radius:50%; border:1px solid rgba(255,111,61,0.12); }
.step:hover .step-num { background:var(--orange); color:#fff; border-color:var(--orange); box-shadow:0 0 20px rgba(255,111,61,0.35); }
.step h3 { font-family:var(--serif); font-size:1.1rem; font-weight:500; color:var(--ink); margin-bottom:8px; }
.step p { font-size:0.8rem; color:var(--ink-muted); line-height:1.6; }
.step-eta { display:inline-block; margin:2px 0 14px; font-family:var(--mono); font-size:0.63rem; color:var(--orange); background:var(--orange-soft); border:1px solid rgba(255,111,61,0.15); padding:3px 10px; border-radius:20px; }
.steps-cta { display:flex; justify-content:center; margin-top:64px; }

/* ── MASTERY SECTION ── */
.mastery-section { background:linear-gradient(135deg,#0A1822 0%,#0B1520 100%); position:relative; overflow:hidden; }
.mastery-section::before { content:''; position:absolute; right:-200px; top:-200px; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(255,111,61,0.06) 0%,transparent 70%); pointer-events:none; }
.mastery-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; align-items:center; }
.mastery-accord { display:flex; flex-direction:column; }
.mastery-item { border-bottom:1px solid var(--fg-18); }
.mastery-item:first-child { border-top:1px solid var(--fg-18); }
.mastery-btn { width:100%; background:none; border:none; padding:20px 0; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; text-align:left; transition:color 0.2s; }
.mastery-btn-left { display:flex; align-items:center; gap:14px; }
.mastery-btn-icon { color:var(--orange); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.mastery-btn-icon svg { width:22px; height:22px; display:block; }
.mastery-btn-title { font-size:0.95rem; font-weight:600; color:var(--fg-88); font-family:var(--sans); }
.mastery-btn.open .mastery-btn-title { color:var(--orange); }
.mastery-accord-arrow { color:var(--orange); font-size:0.9rem; flex-shrink:0; transition:transform 0.3s var(--ease); }
.mastery-btn.open .mastery-accord-arrow { transform:rotate(45deg); }
.mastery-body { max-height:0; overflow:hidden; transition:max-height 0.18s var(--ease); }
.mastery-body-inner { padding:0 0 18px 52px; font-size:0.83rem; color:var(--fg-55); line-height:1.65; }
.mastery-item.open .mastery-body { max-height:180px; }




/* ── ONE HIRE SECTION ── */
.onehire-section { background:var(--cream); }
.onehire-section .section-h { color:var(--ink); }
.onehire-section .section-p { color:var(--ink-body); }
/* Two-column layout */
.onehire-cols { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:52px; }
.onehire-col { background:var(--fg); border-radius:14px; overflow:hidden; border:1px solid rgba(26,43,61,0.08); }
.onehire-col-head {
  padding:18px 24px;
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:2px solid transparent;
}
.onehire-col-head.fe {
  background:rgba(255,111,61,0.06);
  border-bottom-color:var(--orange);
}
.onehire-col-head.be {
  background:rgba(26,43,61,0.04);
  border-bottom-color:var(--navy-800);
}
.onehire-col-title {
  font-family:var(--serif);
  font-size:1.2rem; font-weight:500;
  color:var(--ink);
}
.onehire-col-head.fe .onehire-col-title { color:var(--orange); }
.onehire-col-icon { font-size:1.5rem; }
.onehire-skill-list { padding:8px 0; }
.onehire-skill {
  display:flex; align-items:flex-start; gap:12px;
  padding:13px 24px;
  border-bottom:1px solid rgba(26,43,61,0.05);
  transition:background 0.15s;
}
.onehire-skill:last-child { border-bottom:0; }
.onehire-skill:hover { background:rgba(255,111,61,0.03); }
.onehire-skill-dot {
  width:6px; height:6px; border-radius:50%;
  background:var(--orange); flex-shrink:0; margin-top:7px;
}
.onehire-skill-dot.be-dot { background:var(--navy-700); }
.onehire-skill-text {}
.onehire-skill-name { font-size:0.84rem; font-weight:600; color:var(--ink); }
.onehire-skill-tools { font-size:0.75rem; color:var(--ink-muted); margin-top:2px; }
/* Banner — does both */
.onehire-banner {
  margin-top:20px;
  border-radius:14px;
  background:var(--navy-800);
  padding:32px 40px;
  display:flex; align-items:center; gap:40px;
}
.onehire-banner-left { flex:1; }
.onehire-banner-label {
  font-family:var(--mono); font-size:0.65rem;
  color:rgba(255,111,61,0.6); letter-spacing:0.12em;
  text-transform:uppercase; margin-bottom:10px;
}
.onehire-banner-headline {
  font-family:var(--serif);
  font-size:clamp(1.6rem,2.5vw,2.2rem);
  font-weight:500; color:var(--fg); line-height:1.15; white-space:nowrap;
}
.onehire-banner-headline em { font-style:italic; color:var(--orange); }
.onehire-banner-sub {
  font-size:0.85rem; color:var(--fg-55);
  line-height:1.65; margin-top:12px; max-width:420px;
}
.onehire-banner-right {
  display:flex; flex-direction:column; align-items:center;
  gap:0; flex-shrink:0;
}
.onehire-pill {
  background:rgba(255,111,61,0.1);
  border:1px solid rgba(255,111,61,0.2);
  border-radius:8px; padding:10px 20px;
  font-family:var(--serif); font-size:0.95rem;
  font-weight:500; color:var(--orange); white-space:nowrap;
}
.onehire-plus {
  font-family:var(--mono); font-size:1.1rem;
  color:var(--fg-32); padding:6px 0; line-height:1;
}
.onehire-equals {
  width:100%; height:1px;
  background:rgba(255,111,61,0.2); margin:8px 0;
}
.onehire-result {
  background:var(--orange); border-radius:8px;
  padding:12px 24px; text-align:center;
}
.onehire-result-main {
  font-family:var(--serif); font-size:1rem;
  font-weight:600; color:#fff; white-space:nowrap;
}
.onehire-result-sub {
  font-family:var(--mono); font-size:0.6rem;
  color:rgba(255,255,255,0.7); letter-spacing:0.08em;
  margin-top:3px;
}
@media(max-width:900px){
  .onehire-cols { grid-template-columns:1fr; }
  .onehire-banner { flex-direction:column; gap:24px; }
  .onehire-banner-right { flex-direction:row; gap:12px; align-items:center; }
  .onehire-equals { width:1px; height:40px; margin:0; }
  .onehire-plus { padding:0 6px; }
}

/* ── TECH MARQUEE ── */
.tech-section { background:var(--navy-800); overflow:hidden; }
.tech-header { text-align:center; max-width:620px; margin:0 auto 56px; }
.marquee-wrap { display:flex; flex-direction:column; gap:12px; }
.marquee-row { display:flex; overflow:hidden; position:relative; }
.marquee-row::before,.marquee-row::after { content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none; }
.marquee-row::before { left:0; background:linear-gradient(90deg,var(--navy-800),transparent); }
.marquee-row::after { right:0; background:linear-gradient(-90deg,var(--navy-800),transparent); }
.marquee-track { display:flex; gap:10px; animation:scroll-r 38s linear infinite; white-space:nowrap; }
.marquee-track-rev { display:flex; gap:10px; animation:scroll-l 33s linear infinite; white-space:nowrap; }
.marquee-track-3 { display:flex; gap:10px; animation:scroll-r 42s linear infinite; white-space:nowrap; }
.marquee-row:hover .marquee-track,.marquee-row:hover .marquee-track-rev,.marquee-row:hover .marquee-track-3 { animation-play-state:paused; }
@keyframes scroll-r { 0%{transform:translateX(0);}100%{transform:translateX(-50%);} }
@keyframes scroll-l { 0%{transform:translateX(-50%);}100%{transform:translateX(0);} }
.tech-chip { display:inline-flex; align-items:center; gap:8px; background:var(--fg-08); border:1px solid var(--fg-08); border-radius:9999px; padding:9px 18px; white-space:nowrap; transition:border-color 0.25s var(--ease), background 0.25s var(--ease); flex-shrink:0; }
.tech-chip:hover { border-color:rgba(255,111,61,0.3); background:rgba(255,111,61,0.07); }
.tech-chip .tn { font-family:var(--mono); font-size:0.7rem; color:var(--fg-55); }
.tech-chip .ti-c { font-size:1.1rem; display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; }
.tech-chip .ti-img { width:18px; height:18px; display:block; opacity:0.9; }
.tech-chip .ti-img.ti-white { filter:brightness(0) invert(1); opacity:0.82; }
.tech-chip .ti-c svg { width:18px; height:18px; display:block; }
.tech-chip:hover .ti-img { opacity:1; }

/* ── PROBLEM SECTION ── */
.problem-section { background:var(--cream-dark); }
.problem-section .section-h { color:var(--ink); }
.problem-section .section-p { color:var(--ink-body); }
.problem-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:48px; }
.problem-card { background:var(--fg); border:1px solid rgba(26,43,61,0.08); border-radius:12px; padding:28px; transition:all 0.3s var(--ease); }
.problem-card:hover { border-color:rgba(255,111,61,0.2); transform:translateY(-3px); box-shadow:0 12px 32px rgba(26,43,61,0.08); }
.p-label { font-family:var(--mono); font-size:0.65rem; color:var(--orange); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:12px; }
.problem-card h3 { font-family:var(--serif); font-size:1.2rem; color:var(--ink); margin-bottom:10px; font-weight:500; }
.problem-card p { font-size:0.83rem; color:var(--ink-body); line-height:1.65; }

/* ── PRICING ── */
.pricing-section { background:var(--navy-950); }
.pricing-card { background:var(--fg-08); border:1px solid rgba(255,111,61,0.3); border-radius:14px; padding:36px 32px; max-width:520px; margin:52px auto 0; }
.pricing-role-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 0; border-bottom:1px solid var(--fg-08); }
.pricing-role-row:last-child { border-bottom:0; }
.pricing-role-name { font-size:0.88rem; color:var(--fg-72); }
.pricing-role-price { font-family:var(--mono); font-size:0.88rem; color:var(--orange); font-weight:600; white-space:nowrap; flex-shrink:0; text-align:right; }
.pricing-note {
  margin-top:28px;
  background: linear-gradient(135deg, rgba(255,111,61,0.08) 0%, rgba(255,111,61,0.04) 100%);
  border: 1px solid rgba(255,111,61,0.22);
  border-radius:12px;
  padding:22px 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  max-width:520px;
  margin-left:auto;
  margin-right:auto;
}
.pricing-note-icon { width:40px; height:40px; flex-shrink:0; object-fit:contain; }
.pricing-note-text { text-align:left; }
.pricing-note-label { font-family:var(--mono); font-size:0.62rem; color:rgba(255,111,61,0.6); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:4px; }
.pricing-note-val { font-family:var(--serif); font-size:1.25rem; font-weight:500; color:var(--fg); line-height:1.2; }
.pricing-note-val em { font-style:italic; color:var(--orange); }

/* ── COMPARISON TABLE ── */
.comp-section { background:var(--cream); }
.comp-section .section-h { color:var(--ink); }
.comp-section .section-p { color:var(--ink-body); }
.comp-table { width:100%; border-collapse:collapse; margin-top:52px; border-radius:12px; overflow:hidden; }
.comp-table th { padding:14px 18px; text-align:center; font-family:var(--mono); font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; background:rgba(26,43,61,0.06); color:var(--ink-muted); border-bottom:1px solid rgba(26,43,61,0.1); }
.th-label { text-align:left!important; }
.th-sa { background:var(--orange-soft)!important; color:var(--orange)!important; border:1px solid rgba(255,111,61,0.2); }
.comp-table td { padding:13px 18px; text-align:center; font-size:0.82rem; color:var(--ink-body); border-bottom:1px solid rgba(26,43,61,0.06); background:var(--fg); }
.td-label { text-align:left!important; font-weight:500; color:var(--ink); background:rgba(26,43,61,0.04)!important; }
.td-sa { background:rgba(255,111,61,0.04)!important; color:var(--ink)!important; border-left:1px solid rgba(255,111,61,0.12); border-right:1px solid rgba(255,111,61,0.12); }
.cell-check { color:var(--orange); font-size:1rem; }
.cell-x { color:rgba(26,43,61,0.2); }
.cell-part { color:var(--ink-muted); font-size:0.74rem; }
.cost-hl { color:var(--orange)!important; font-family:var(--mono); font-size:0.8rem; font-weight:600; }
@media (hover: hover) and (pointer: fine) and (min-width: 701px) {
  .comp-table tbody tr:hover td { background:rgba(26,43,61,0.03)!important; }
  .comp-table tbody tr:hover .td-sa { background:rgba(255,111,61,0.08)!important; }
}

/* ── TESTIMONIALS ── */
.testi-section { background:var(--navy-900); overflow:hidden; }
.testi-carousel { --cw:480px; --ch:524px; --peek:80%; position:relative; max-width:1200px; margin:56px auto 0; height:var(--ch); }
.testi-track { position:absolute; inset:0; }
.testi-card { position:absolute; top:0; left:50%; width:var(--cw); height:var(--ch); margin-left:calc(var(--cw) / -2); background:var(--navy-800); border:1px solid var(--fg-18); border-radius:16px; padding:40px; display:flex; flex-direction:column; box-shadow:0 25px 50px -12px rgba(0,0,0,0.4); transition:transform 0.55s cubic-bezier(0.4,0,0.2,1), opacity 0.55s ease; will-change:transform,opacity; }
.testi-card[data-pos="center"] { transform:translateX(0) scale(1); opacity:1; z-index:3; }
.testi-card[data-pos="left"] { transform:translateX(calc(var(--peek) * -1)) scale(0.82); opacity:0.3; z-index:2; pointer-events:none; }
.testi-card[data-pos="right"] { transform:translateX(var(--peek)) scale(0.82); opacity:0.3; z-index:2; pointer-events:none; }
.testi-card[data-pos="hidden"] { transform:scale(0.65); opacity:0; z-index:1; pointer-events:none; }
.testi-stars { color:var(--orange); font-size:0.8rem; letter-spacing:2px; margin-bottom:20px; }
.testi-card blockquote { font-family:var(--sans); font-size:0.97rem; font-weight:400; color:var(--fg-88); line-height:1.65; letter-spacing:-0.005em; }
.testi-author { display:flex; align-items:center; gap:14px; margin-top:auto; padding-top:24px; }
.testi-avatar { width:48px; height:48px; border-radius:50%; flex-shrink:0; object-fit:cover; border:1px solid var(--fg-18); }
.testi-cite { font-style:normal; font-family:var(--sans); }
.testi-name { display:block; font-size:0.92rem; font-weight:600; color:var(--fg); }
.testi-name em { font-style:normal; font-weight:400; color:var(--fg-55); }
.testi-role-label { display:block; font-size:0.8rem; color:var(--fg-55); font-weight:400; margin-top:1px; }
.testi-arrow { position:absolute; top:50%; transform:translateY(-50%); width:50px; height:50px; border-radius:50%; background:var(--fg-08); border:1px solid var(--fg-18); color:var(--fg-88); display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:5; transition:all 0.2s var(--ease); }
.testi-arrow:hover { background:var(--orange); border-color:var(--orange); color:#fff; box-shadow:0 8px 24px var(--orange-glow); }
.testi-arrow svg { width:20px; height:20px; }
.testi-arrow.prev { left:0; }
.testi-arrow.next { right:0; }
.testi-dots { display:flex; justify-content:center; gap:10px; margin-top:38px; }
.testi-dot { width:8px; height:8px; border-radius:50%; background:var(--fg-18); border:none; cursor:pointer; padding:0; transition:all 0.25s var(--ease); }
.testi-dot.active { background:var(--orange); width:24px; border-radius:4px; }

/* ── BENCH / PIPELINE ── */
.bench-section { background:var(--cream-dark); }
.bench-section .section-tag { color:var(--orange); }
.bench-section .section-tag::before { background:var(--orange); }
.bench-layout { display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:center; margin-top:48px; }
.bench-photo { position:relative; border-radius:16px; overflow:hidden; aspect-ratio:1/1; box-shadow:0 25px 50px -12px rgba(0,0,0,0.3); }
.bench-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.bench-namecard { position:absolute; left:20px; bottom:20px; background:var(--navy-900); border:1px solid var(--fg-18); border-radius:10px; padding:12px 18px; box-shadow:0 12px 30px rgba(0,0,0,0.35); }
.bench-namecard strong { display:block; font-family:var(--serif); font-size:1.05rem; font-weight:500; color:#fff; line-height:1.2; }
.bench-namecard span { display:block; font-family:var(--mono); font-size:0.66rem; color:var(--orange); letter-spacing:0.04em; margin-top:3px; }
.bench-left h2 { font-family:var(--serif); font-size:clamp(2.2rem,4vw,3.2rem); font-weight:500; line-height:1.1; color:var(--ink); margin-bottom:20px; }
.bench-left h2 em { font-style:italic; color:var(--orange); }
.bench-left p { font-size:0.95rem; color:var(--ink-body); line-height:1.75; margin-bottom:32px; }
.bench-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(26,43,61,0.1); border:1px solid rgba(26,43,61,0.1); border-radius:12px; overflow:hidden; margin-bottom:32px; }
.bench-stat { background:var(--fg); padding:20px 22px; }
.bench-stat strong { display:block; font-family:var(--serif); font-size:1.9rem; font-weight:500; color:var(--ink); line-height:1; }
.bench-stat strong em { font-style:italic; color:var(--orange); }
.bench-stat span { font-family:var(--mono); font-size:0.62rem; color:var(--ink-muted); letter-spacing:0.1em; text-transform:uppercase; margin-top:4px; display:block; }
.bench-cta { display:inline-flex; align-items:center; gap:10px; background:var(--orange); color:#fff; font-family:var(--sans); font-weight:600; font-size:0.9rem; padding:14px 28px; border-radius:8px; text-decoration:none; transition:all 0.25s var(--ease); }
.bench-cta:hover { background:var(--orange-hover); transform:translateY(-2px); box-shadow:0 10px 28px var(--orange-glow); }
.bench-map { position:relative; }
.bench-map svg { width:100%; height:auto; overflow:visible; }

/* ── WHY ACCORDION ── */
.why-section { background:var(--navy-900); padding:96px 0; }
.why-section .section-tag { color:var(--orange); }
.why-section .section-tag::before { background:var(--orange); }
.why-inner { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:flex-start; margin-top:48px; }
.why-right { display:flex; flex-direction:column; position:sticky; top:100px; }
.why-image { border-radius:16px; overflow:hidden; aspect-ratio:4/3.53; background:var(--navy-800); position:relative; }
.why-image img { width:100%; height:100%; object-fit:cover; display:block; }
.why-accord { display:flex; flex-direction:column; }
.why-cta { margin-top:36px; }
.why-accord-item { border-bottom:1px solid var(--fg-08); }
.why-accord-item:first-child { border-top:1px solid var(--fg-08); }
.why-accord-btn { width:100%; background:none; border:none; padding:22px 0; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; font-family:var(--sans); font-size:0.95rem; font-weight:600; color:var(--fg-72); text-align:left; transition:color 0.2s; }
.why-accord-left { display:flex; align-items:center; gap:16px; }
.why-accord-stat { font-family:var(--serif); font-size:1.5rem; font-weight:500; color:var(--orange); line-height:1; min-width:52px; }
.why-accord-stat em { font-style:italic; }
.why-accord-arrow { color:var(--orange); font-size:0.9rem; flex-shrink:0; transition:transform 0.3s var(--ease); }
.why-accord-btn.open { color:var(--orange); }
.why-accord-btn.open .why-accord-arrow { transform:rotate(45deg); }
.why-accord-body { max-height:0; overflow:hidden; transition:max-height 0.18s var(--ease); }
.why-accord-inner { padding:0 0 20px 68px; font-size:0.85rem; color:var(--fg-55); line-height:1.7; }
.why-accord-item.open .why-accord-body { max-height:380px; }

/* ── FAQ ── */
.faq-section { background:var(--cream); }
.faq-section .section-h { color:var(--ink); }
.faq-section .section-h em { color:var(--orange); }
.faq-list { display:flex; flex-direction:column; gap:10px; margin-top:48px; }
.faq-item { background:var(--fg); border:1px solid rgba(26,43,61,0.08); border-radius:10px; overflow:hidden; }
.faq-q { width:100%; text-align:left; background:none; border:none; padding:20px 24px; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; font-family:var(--sans); font-size:0.9rem; font-weight:600; color:var(--ink); transition:color 0.2s; }
.faq-q:hover { color:var(--orange); }
.faq-arrow { font-size:1rem; color:var(--orange); transition:transform 0.3s var(--ease); flex-shrink:0; }
.faq-item.open .faq-arrow { transform:rotate(180deg); }
.faq-a { max-height:0; overflow:hidden; transition:max-height 0.35s var(--ease); }
.faq-a-inner { padding:0 24px 20px; font-size:0.85rem; color:var(--ink-body); line-height:1.7; border-top:1px solid rgba(26,43,61,0.06); padding-top:16px; }
.faq-item.open .faq-a { max-height:300px; }

/* ── FINAL CTA ── */
.final-cta { background:var(--navy-950); text-align:center; padding:120px 0; position:relative; overflow:hidden; }
.final-orb { position:absolute; width:700px; height:700px; border-radius:50%; background:radial-gradient(circle,rgba(255,111,61,0.07) 0%,transparent 60%); top:50%; left:50%; transform:translate(-50%,-50%); pointer-events:none; }
.final-cta h2 { font-family:var(--serif); font-size:clamp(2.2rem,4.5vw,3.8rem); font-weight:500; color:var(--fg); line-height:1.1; max-width:none; margin:0 auto 18px; position:relative; white-space:nowrap; }
.final-cta h2 em { font-style:italic; color:var(--orange); }
.final-cta p { font-size:1rem; color:var(--fg-55); max-width:460px; margin:0 auto 40px; position:relative; }

/* ── FOOTER ── */
footer { background:var(--navy-900); border-top:1px solid var(--fg-08); padding:28px 0; }
.foot-inner { display:flex; align-items:center; justify-content:space-between; }
footer p { font-size:0.78rem; color:var(--fg-32); }
.foot-note { font-family:var(--mono); font-size:0.67rem; color:rgba(255,111,61,0.35); }

/* ── ANIMATIONS ── */
@keyframes fadeUp { from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);} }
.reveal { opacity:0; transform:translateY(22px); transition:opacity 0.6s var(--ease),transform 0.6s var(--ease); }
/* FIX: transform:none (no translateY(0)) — un transform residual en el wrapper
   convierte al scroller en containing block y rompe position:sticky de la tabla */
.reveal.visible { opacity:1; transform:none; }

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .hero-inner,.mastery-grid,.bench-layout,.why-inner { grid-template-columns:1fr; gap:48px; }
  .hero-title { font-size:3rem; }
  .section-h, .bench-left h2, .final-cta h2, .onehire-banner-headline { white-space:normal; }
  .hero-visual { min-height:auto; position:relative; }
  .hero-photo { position:relative; width:100%; aspect-ratio:4/5; height:auto; }
  .hero-code { position:absolute; left:0; bottom:0; width:400px; max-width:none; margin-top:0; transform:scale(0.62); transform-origin:bottom left; z-index:3; }
  .hero-code .code-body { min-height:0; }
  .hero-code .code-body > div { white-space:nowrap; }
  .steps { grid-template-columns:1fr 1fr; gap:36px; }
  .steps::before { display:none; }
  .testi-carousel { --cw:400px; --peek:64%; --ch:588px; }
  .problem-grid { grid-template-columns:1fr; }
  .why-right { position:static; }
}
@media(max-width:600px){
  .block{padding:72px 0;}
  .steps{grid-template-columns:1fr;}
  .proof-item{padding:0 16px;}
  .pi-num{font-size:1.3rem;}
  .pricing-card { padding:28px 20px; }
  .pricing-role-row { gap:12px; }
  .pricing-role-name { font-size:0.82rem; }
  .pricing-role-price { font-size:0.82rem; }
}
@media(max-width:640px){
  .testi-carousel { --cw:86vw; --peek:0; --ch:608px; }
  .testi-card { padding:30px 26px; }
  .testi-card[data-pos="left"], .testi-card[data-pos="right"] { opacity:0; }
  .testi-arrow { width:42px; height:42px; }
  .testi-arrow.prev { left:-6px; }
  .testi-arrow.next { right:-6px; }
}
@media(max-width:700px){
  .proof-bar { overflow:hidden; }
  .proof-scroll { flex-wrap:nowrap; justify-content:flex-start; width:max-content; animation:proof-marquee 18s linear infinite; }
  .proof-bar .container { padding-left:0; padding-right:0; }
  .proof-item { flex:0 0 auto; }
  .proof-bar:hover .proof-scroll { animation-play-state:paused; }
  .proof-item.proof-dup { display:flex; }

  /* FIX TABLA:
     - border-collapse:separate → collapse + position:sticky causa el overlap del th sobre la columna fija
     - white-space:normal en labels → los textos largos bajan a 2 líneas dentro de la columna sticky
     - z-index escalonado → th-label (esquina) por encima de todo, td-label por encima de las celdas */
  .comp-table {
    overflow:visible;
    border-collapse:separate;
    border-spacing:0;
  }
  .comp-table th, .comp-table td { white-space:nowrap; }
  .comp-table .th-label, .comp-table .td-label {
    position:-webkit-sticky;
    position:sticky !important;
    left:0 !important;
    white-space:normal;
    min-width:140px; max-width:140px;
    font-size:11px; line-height:1.35;
    box-shadow:none;
  }
  .comp-table .td-label { z-index:4; background:#F2ECE0!important; }
  .comp-table .th-label { z-index:6; background:#EDE6D8!important; }
  /* FIX: cualquier th/td posicionado (p.ej. position:relative heredado del theme)
     pinta por encima de las celdas sticky. Forzamos static en TODAS las celdas
     de datos para que solo la columna de labels esté posicionada. */
  .comp-table th:not(.th-label),
  .comp-table td:not(.td-label) {
    position:static !important;
    z-index:auto !important;
  }

  /* Opcional: si querés que también las celdas de datos largas bajen a 2 líneas
     en vez de ensanchar la tabla, descomentá esto:
  .comp-table td:not(.td-label) { white-space:normal; min-width:110px; }
  */

  .final-cta .btn-primary { font-size:0.72rem!important; padding:14px 18px!important; white-space:nowrap; }
}

/* ── WORDPRESS / SHORTCODE CTA NORMALIZATION ── */
.fdelp-shortcode-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.fdelp-shortcode-cta .sa-inline-hs-form-wrap,
.fdelp-shortcode-cta .sa-hs-trigger-wrap {
  width: auto !important;
  max-height: none !important;
}

.fdelp-shortcode-cta .sa-hs-trigger-wrap {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.fdelp-shortcode-cta .sa-hs-show-form-btn {
  width: auto !important;
  max-width: none !important;
  max-height: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--orange) !important;
  color: #fff !important;
  font-family: var(--sans) !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  line-height: 1 !important;
  padding: 14px 32px !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: all 0.25s var(--ease) !important;
  animation: pulse-cta 3s ease-in-out infinite;
}

.fdelp-shortcode-cta .sa-hs-show-form-btn:hover {
  background: var(--orange-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 32px var(--orange-glow) !important;
  animation: none;
}

.fdelp-shortcode-cta .sa-hs-show-form-btn__label {
  white-space: nowrap;
}

.hero-ctas .fdelp-shortcode-cta,
.steps-cta .fdelp-shortcode-cta,
.why-cta .fdelp-shortcode-cta,
.final-cta .fdelp-shortcode-cta {
  width: auto;
}

.hero-ctas .fdelp-shortcode-cta .sa-hs-trigger-wrap {
  justify-content: flex-start !important;
}

.steps-cta .fdelp-shortcode-cta .sa-hs-trigger-wrap,
.final-cta .fdelp-shortcode-cta .sa-hs-trigger-wrap {
  justify-content: center !important;
}

.fdelp-shortcode-cta--bench .sa-hs-show-form-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  font-size: 0.9rem !important;
}

.fdelp-shortcode-cta--final .sa-hs-show-form-btn {
  font-size: 0.95rem !important;
  padding: 16px 40px !important;
}

@media(max-width:600px){
  .fdelp-shortcode-cta,
  .fdelp-shortcode-cta .sa-inline-hs-form-wrap,
  .fdelp-shortcode-cta .sa-hs-trigger-wrap,
  .fdelp-shortcode-cta .sa-hs-show-form-btn {
    width: 100% !important;
  }

  .hero-ctas {
    width: 100%;
  }

  .fdelp-shortcode-cta .sa-hs-show-form-btn {
    white-space: normal !important;
    text-align: center !important;
  }

  /* Final CTA: keep the long label on a single line on mobile.
     clamp() scales the type down on narrower phones so it never overflows. */
  .fdelp-shortcode-cta--final { padding: 0 !important; }
  .fdelp-shortcode-cta--final .sa-hs-show-form-btn {
    white-space: nowrap !important;
    font-size: clamp(0.58rem, 2.9vw, 0.82rem) !important;
    padding: 14px 16px !important;
    letter-spacing: -0.01em !important;
  }
  .fdelp-shortcode-cta--final .sa-hs-show-form-btn__label {
    white-space: nowrap !important;
  }
}
/* ============================================================
   HEADER + FOOTER FROM FDELP — FULLSTACK LP ONLY
   ============================================================ */

/* ---------- HEADER ---------- */

body.sa-fullstack-lp-active section.header-lp-fde,
.sa-fullstack-developer-lp section.header-lp-fde {
	text-align: center;
	background: #0b1520;
	height: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
}

body.sa-fullstack-lp-active a.skip-link.screen-reader-text,
.sa-fullstack-developer-lp a.skip-link.screen-reader-text {
	display: none;
}

body.sa-fullstack-lp-active nav.top,
.sa-fullstack-developer-lp nav.top {
	position: fixed;
	top: 18px;
	left: 0;
	right: 0;
	z-index: 100;
	display: flex;
	justify-content: center;
	padding: 0 24px;
	pointer-events: none;
}

body.sa-fullstack-lp-active .nav-pill-wrap,
.sa-fullstack-developer-lp .nav-pill-wrap {
	width: 100%;
	max-width: 1280px;
	pointer-events: auto;
	background: linear-gradient(
		180deg,
		rgba(37, 58, 80, 0.55) 0%,
		rgba(17, 30, 44, 0.85) 100%
	);
	backdrop-filter: blur(20px) saturate(140%);
	-webkit-backdrop-filter: blur(20px) saturate(140%);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 999px;
	box-shadow:
		0 10px 40px -10px rgba(0, 0, 0, 0.55),
		inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

body.sa-fullstack-lp-active .nav-inner,
.sa-fullstack-developer-lp .nav-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 12px 10px 28px;
	gap: 16px;
}

body.sa-fullstack-lp-active .brand,
.sa-fullstack-developer-lp .brand {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

body.sa-fullstack-lp-active .brand-logo,
.sa-fullstack-developer-lp .brand-logo {
	height: 28px;
	width: auto;
	display: block;
}

body.sa-fullstack-lp-active .brand-logo:hover,
.sa-fullstack-developer-lp .brand-logo:hover {
	opacity: 0.92;
}

body.sa-fullstack-lp-active .nav-links,
.sa-fullstack-developer-lp .nav-links {
	display: flex;
	align-items: center;
	gap: 6px;
	flex: 1;
	justify-content: center;
}

body.sa-fullstack-lp-active .nav-link,
.sa-fullstack-developer-lp .nav-link {
	font-size: 0.92rem;
	font-weight: 500;
	color: var(--fg);
	padding: 8px 14px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: background 0.2s var(--ease), color 0.2s var(--ease);
	cursor: pointer;
	position: relative;
	text-decoration: none;
}

body.sa-fullstack-lp-active .nav-link:hover,
.sa-fullstack-developer-lp .nav-link:hover {
	background: rgba(255, 255, 255, 0.06);
}

body.sa-fullstack-lp-active .nav-link .caret,
.sa-fullstack-developer-lp .nav-link .caret {
	width: 11px;
	height: 11px;
	display: inline-block;
	transition: transform 0.2s var(--ease);
	opacity: 0.85;
}

body.sa-fullstack-lp-active .nav-link:hover .caret,
.sa-fullstack-developer-lp .nav-link:hover .caret {
	transform: translateY(1px);
}

body.sa-fullstack-lp-active .btn-nav,
.sa-fullstack-developer-lp .btn-nav {
	background: var(--orange);
	color: #fff;
	font-weight: 600;
	font-size: 0.92rem;
	padding: 13px 28px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: all 0.2s var(--ease);
	flex-shrink: 0;
	box-shadow: 0 6px 18px rgba(255, 111, 61, 0.30);
	text-decoration: none;
}

body.sa-fullstack-lp-active .btn-nav:hover,
.sa-fullstack-developer-lp .btn-nav:hover {
	background: var(--orange-hover);
	transform: translateY(-1px);
	box-shadow: 0 10px 28px var(--orange-glow);
}

body.sa-fullstack-lp-active .btn-nav:active,
.sa-fullstack-developer-lp .btn-nav:active {
	transform: translateY(0);
}

@media (max-width: 1100px) {
	body.sa-fullstack-lp-active .nav-links,
	.sa-fullstack-developer-lp .nav-links {
		display: none;
	}

	body.sa-fullstack-lp-active .nav-inner,
	.sa-fullstack-developer-lp .nav-inner {
		padding: 8px 8px 8px 22px;
	}

	body.sa-fullstack-lp-active .brand-logo,
	.sa-fullstack-developer-lp .brand-logo {
		height: 24px;
	}

	body.sa-fullstack-lp-active .btn-nav,
	.sa-fullstack-developer-lp .btn-nav {
		padding: 11px 22px;
		font-size: 0.86rem;
	}
}


/* ---------- FOOTER ---------- */

body.sa-fullstack-lp-active .sa-footer,
.sa-fullstack-developer-lp .sa-footer {
	background: #1A2B3D;
	color: #ffffff;
	width: 100%;
	font-family: "Montserrat", Arial, sans-serif;
}

body.sa-fullstack-lp-active .sa-footer *,
.sa-fullstack-developer-lp .sa-footer * {
	box-sizing: border-box;
}

body.sa-fullstack-lp-active .sa-footer__inner,
.sa-fullstack-developer-lp .sa-footer__inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 112px 80px 86px;
	display: grid;
	grid-template-columns: 1.65fr 1fr 1fr 1.4fr;
	gap: 70px;
	align-items: flex-start;
}

body.sa-fullstack-lp-active .sa-footer__logo,
.sa-fullstack-developer-lp .sa-footer__logo {
	width: 235px;
	max-width: 100%;
	height: auto;
	display: block;
	margin-bottom: 55px;
}

body.sa-fullstack-lp-active .sa-footer__tagline,
.sa-fullstack-developer-lp .sa-footer__tagline {
	margin: 0;
	color: #ffffff;
	font-size: 20px;
	line-height: 1.45;
	font-weight: 400;
	letter-spacing: 0.3px;
}

body.sa-fullstack-lp-active .sa-footer__col h3,
.sa-fullstack-developer-lp .sa-footer__col h3 {
	margin: 0 0 22px;
	color: #ffffff;
	font-size: 24px;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: 0.4px;
}

body.sa-fullstack-lp-active .sa-footer__col a,
body.sa-fullstack-lp-active .sa-footer__col p,
.sa-fullstack-developer-lp .sa-footer__col a,
.sa-fullstack-developer-lp .sa-footer__col p {
	color: #ffffff;
	font-size: 17px;
	line-height: 1.55;
	font-weight: 400;
	text-decoration: none;
	letter-spacing: 0.2px;
}

body.sa-fullstack-lp-active .sa-footer__col a,
.sa-fullstack-developer-lp .sa-footer__col a {
	display: block;
	margin-bottom: 22px;
	transition: opacity 0.2s ease;
}

body.sa-fullstack-lp-active .sa-footer__col a:hover,
.sa-fullstack-developer-lp .sa-footer__col a:hover {
	opacity: 0.7;
}

body.sa-fullstack-lp-active .sa-footer__contact p,
.sa-fullstack-developer-lp .sa-footer__contact p {
	margin: 0 0 20px;
}

body.sa-fullstack-lp-active .sa-footer__contact strong,
.sa-fullstack-developer-lp .sa-footer__contact strong {
	font-weight: 700;
}

body.sa-fullstack-lp-active .sa-footer__contact p a,
.sa-fullstack-developer-lp .sa-footer__contact p a {
	display: inline-block;
	margin: 10px 0 0;
}

body.sa-fullstack-lp-active .sa-footer__socials,
.sa-fullstack-developer-lp .sa-footer__socials {
	display: flex;
	align-items: center;
	gap: 40px;
	margin-top: 28px;
}

body.sa-fullstack-lp-active .sa-footer__socials a,
.sa-fullstack-developer-lp .sa-footer__socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	color: #ffffff;
}

body.sa-fullstack-lp-active .sa-footer__socials svg,
.sa-fullstack-developer-lp .sa-footer__socials svg {
	width: 22px;
	height: 22px;
	fill: currentColor;
}

body.sa-fullstack-lp-active .sa-footer__socials a:nth-child(2) svg,
body.sa-fullstack-lp-active .sa-footer__socials a:nth-child(3) svg,
.sa-fullstack-developer-lp .sa-footer__socials a:nth-child(2) svg,
.sa-fullstack-developer-lp .sa-footer__socials a:nth-child(3) svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

@media (max-width: 1024px) {
	body.sa-fullstack-lp-active .sa-footer__inner,
	.sa-fullstack-developer-lp .sa-footer__inner {
		padding: 80px 40px;
		grid-template-columns: repeat(2, 1fr);
		gap: 55px 70px;
	}
}

@media (max-width: 767px) {
	body.sa-fullstack-lp-active .sa-footer__inner,
	.sa-fullstack-developer-lp .sa-footer__inner {
		padding: 60px 24px;
		grid-template-columns: 1fr;
		gap: 42px;
	}

	body.sa-fullstack-lp-active .sa-footer__logo,
	.sa-fullstack-developer-lp .sa-footer__logo {
		width: 210px;
		margin-bottom: 32px;
	}

	body.sa-fullstack-lp-active .sa-footer__tagline,
	.sa-fullstack-developer-lp .sa-footer__tagline {
		font-size: 18px;
	}

	body.sa-fullstack-lp-active .sa-footer__col h3,
	.sa-fullstack-developer-lp .sa-footer__col h3 {
		font-size: 22px;
		margin-bottom: 18px;
	}

	body.sa-fullstack-lp-active .sa-footer__col a,
	body.sa-fullstack-lp-active .sa-footer__col p,
	.sa-fullstack-developer-lp .sa-footer__col a,
	.sa-fullstack-developer-lp .sa-footer__col p {
		font-size: 16px;
	}

	body.sa-fullstack-lp-active .sa-footer__socials,
	.sa-fullstack-developer-lp .sa-footer__socials {
		gap: 28px;
	}
}