/* ─── MANROPE SELF-HOSTED ────────────────────────── */
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/manrope-400.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/manrope-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/manrope-700.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/fonts/manrope-800.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --primary:#05C9E4;
  --sky:#5CC4FA;
  --mint:#0DDBC1;
  --paper:#FFFFFF;
  --ice:#F4FBFD;
  --line:#D8F1F6;
  --deep:#0B4F5C;
  --deep-teal:#0B4F5C;
  --text:#0B4F5C;
  --muted:#527F89;
  --muted-2:#6B98A1;
  --shadow:0 30px 80px rgba(11,79,92,.08);
  --shadow-soft:0 18px 44px rgba(11,79,92,.05);
  --radius:30px;
  --radius-md:22px;
  --radius-sm:16px;
  --hover-transition:all .35s cubic-bezier(.4,0,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Manrope',sans-serif;
  color:var(--text);
  background:var(--paper);
  background-image:radial-gradient(rgba(5,201,228,.18) 1.3px, transparent 1.3px);
  background-size:30px 30px;
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
  overflow-x:hidden;
}
@media (min-width:961px){
  body{background-attachment:fixed}
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit;transition:var(--hover-transition)}
.container{width:min(1220px,calc(100% - 2rem));margin-inline:auto}

/* ─── HEADER (matches index) ─── */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(11,79,92,.06)}
.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand-logo{height:32px;width:auto}
.site-header.is-scrolled{box-shadow:0 4px 24px rgba(11,79,92,.08)}
.site-nav{display:flex;gap:2.5rem;align-items:center}
.site-nav a{font-size:.9rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--deep);position:relative}
.site-nav a::after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:2px;background:var(--primary);transform:scaleX(0);transform-origin:center;transition:transform .25s ease}
.site-nav a:hover,.site-nav a.is-active{color:var(--primary)}
.site-nav a:hover::after,.site-nav a.is-active::after{transform:scaleX(1)}
.menu-toggle{display:none;background:none;border:0;padding:.3rem;cursor:pointer}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--deep);margin:5px 0;border-radius:999px}

/* ─── LANGUAGE TOGGLE (matches home's .lang-toggle-home) ─── */
.lang-toggle{
  display:inline-flex;align-items:center;gap:.4rem;
  margin-left:.4rem;padding:.45rem .85rem;
  border-radius:999px;border:1px solid rgba(11,79,92,.14);
  background:#fff;
  font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--deep);font-family:inherit;cursor:pointer;
  transition:var(--hover-transition)
}
.lang-toggle:hover{border-color:var(--primary);color:var(--primary)}
.lang-toggle .lang-current{color:var(--primary)}
.lang-toggle .lang-sep{opacity:.4}

/* ─── PAGE HERO (premium index-style) ─── */
.page-hero{
  position:relative;overflow:hidden;
  padding:8rem 0 4rem;
  background:
    radial-gradient(circle at top,var(--ice) 0%, transparent 78%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.75));
}
.page-hero::before{
  content:"";position:absolute;top:50%;right:-2%;transform:translateY(-50%);
  width:min(48vw,620px);height:min(48vw,620px);
  background:url('/assets/img/Revoltosos_Isotipo_Color.svg') center/contain no-repeat;
  opacity:.04;pointer-events:none;z-index:0
}
.page-hero > .container{position:relative;z-index:1}
.page-hero h1,.section h2,.section h3,.card h3,.client-card h3,.talent-name,.profile-name{
  margin:0;line-height:.92;letter-spacing:-.04em;text-transform:uppercase;color:var(--deep);font-weight:800
}
.page-hero h1{font-size:clamp(3.4rem,9vw,7rem);max-width:11ch;margin-top:.5rem}
.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.78rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--primary);
  margin-bottom:1rem
}
.eyebrow::before{content:"";width:30px;height:2px;background:var(--primary);border-radius:999px}
.lead{font-size:clamp(1.08rem,1.55vw,1.24rem);font-weight:500;line-height:1.7;color:var(--muted);max-width:68ch;margin-top:1.4rem}
.breadcrumbs{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);margin-bottom:1.2rem}
.breadcrumbs a:hover{color:var(--primary)}
.sep{opacity:.5}

/* ─── MARQUEE (the signature index strip) ─── */
.marquee-wrapper{position:relative;width:100%;overflow:hidden;padding:2.6rem 0 3rem;z-index:5}
.marquee-container{
  background:var(--primary);color:var(--paper);padding:1.4rem 0;
  white-space:nowrap;width:112vw;margin-left:-6vw;
  transform:rotate(-2.5deg);display:flex;
  box-shadow:0 24px 60px rgba(5,201,228,.22)
}
.marquee-content{display:flex;width:200%;animation:scroll-text 32s linear infinite;will-change:transform}
.marquee-content span{
  font-weight:800;font-size:clamp(2rem,4.5vw,3.4rem);
  margin-right:3.5rem;text-transform:uppercase;
  vertical-align:middle;white-space:nowrap;letter-spacing:-.04em;line-height:1
}
.marquee-content span.outline{color:transparent;-webkit-text-stroke:2px var(--paper)}
@keyframes scroll-text{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-content{animation:none}}

/* ─── SECTIONS / LAYOUT ─── */
.section{padding:1.8rem 0 5rem}
.section-header{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:1.9rem}
.section-header h2{font-size:clamp(2.2rem,4.5vw,3.8rem)}
.kicker{max-width:38ch;font-size:1rem;font-weight:500;color:var(--muted)}
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:1.2rem;align-items:stretch}

/* ─── CARDS / PANELS ─── */
.panel,.highlight-box,.card,.metric,.talent-card,.client-card,.contact-card,.seo-panel,.brand-fit-box,.audience-box{
  background:rgba(255,255,255,.86);
  border:1px solid rgba(11,79,92,.08);
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:var(--hover-transition)
}
.panel{padding:2.2rem}
.highlight-box,.contact-card,.seo-panel,.brand-fit-box,.audience-box{padding:2rem}
.highlight-box{background:linear-gradient(180deg,rgba(5,201,228,.09),rgba(255,255,255,.95))}
.highlight-box h3,.contact-card h3,.audience-box h3,.brand-fit-box h3{font-size:clamp(1.6rem,2vw,2.2rem);margin-bottom:.8rem}
.highlight-box p,.panel p,.card p,.client-card p,.contact-card p,.seo-panel p,.brand-fit-box p,.audience-box p{color:var(--muted);margin:0}
.card{padding:2rem;position:relative;overflow:hidden}
.card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.4,0,.2,1)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);background:#fff}
.card:hover::after{transform:scaleX(1)}
.card-number,.mini{font-size:.74rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--primary)}
.card h3{font-size:1.55rem;margin:.7rem 0 1rem}

/* ─── PILLS / BUTTONS ─── */
.pill-list,.cta-row,.hero-actions,.stat-pills{display:flex;gap:.7rem;flex-wrap:wrap}
.pill,.stat-pill{
  display:inline-flex;align-items:center;
  padding:.68rem 1rem;border-radius:999px;
  font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  background:rgba(255,255,255,.92);border:1px solid rgba(11,79,92,.09);color:var(--deep)
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:.85rem 1.4rem;border-radius:999px;
  font-weight:800;font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;border:1px solid transparent;
  transition:var(--hover-transition)
}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 18px 34px rgba(5,201,228,.24)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 22px 40px rgba(5,201,228,.32)}
.btn-secondary{border-color:rgba(11,79,92,.14);background:#fff;color:var(--deep)}
.btn-secondary:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}

/* ─── GRIDS ─── */
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.metric{padding:1.7rem 1.5rem}
.big{display:block;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800;letter-spacing:-.04em;color:var(--deep);line-height:1.02;margin-top:.35rem}
.list-tight{margin:1rem 0 0 1.1rem;padding:0;color:var(--muted)}
.list-tight li{margin:.5rem 0}

/* ─── ROSTER / TALENT CARDS ─── */
.roster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.talent-card{overflow:hidden}
.talent-card a{display:block}
.talent-photo-wrap{
  aspect-ratio:4/5;overflow:hidden;
  background:linear-gradient(180deg,rgba(11,79,92,.04),rgba(5,201,228,.08));
  border-bottom:1px solid rgba(11,79,92,.06)
}
.talent-photo{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.talent-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.talent-card:hover .talent-photo{transform:scale(1.05)}
.talent-info{padding:1.3rem 1.3rem 1.4rem}
.talent-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem}
.talent-name{font-size:1.65rem}
.talent-handle{font-size:.92rem;font-weight:800;color:var(--primary);margin-top:.18rem}
.talent-location{
  flex:0 0 auto;display:inline-flex;align-items:center;padding:.54rem .8rem;border-radius:999px;
  font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;background:rgba(13,219,193,.16);color:var(--deep)
}
.talent-copy{font-size:1rem;font-weight:500;line-height:1.7;color:var(--muted);margin-bottom:1rem}

/* ─── PROFILE PAGES (premium redesign) ─── */
.profile-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:stretch}
.profile-portrait-card{
  background:
    linear-gradient(180deg, rgba(5,201,228,.14), rgba(255,255,255,.2)),
    radial-gradient(circle at top, rgba(92,196,250,.22), transparent 60%);
  border:1px solid rgba(11,79,92,.08);
  border-radius:32px;
  box-shadow:0 30px 80px rgba(11,79,92,.12);
  padding:.8rem;min-height:100%;
  position:relative;overflow:hidden
}
.profile-portrait-card::before{
  content:"";position:absolute;top:-30%;right:-20%;width:70%;height:70%;
  background:radial-gradient(circle,rgba(5,201,228,.2),transparent 70%);
  pointer-events:none
}
.profile-portrait-shell{position:relative;border-radius:26px;overflow:hidden;background:rgba(255,255,255,.85);aspect-ratio:4/5}
.profile-portrait-shell::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(180deg,transparent,rgba(11,79,92,.38));pointer-events:none;z-index:1}
.profile-portrait{width:100%;height:100%;object-fit:cover;object-position:center top}

.profile-panel{
  padding:2.6rem 2.4rem;display:flex;flex-direction:column;justify-content:center;
  background:#fff;border:1px solid rgba(11,79,92,.08);border-radius:32px;
  position:relative;overflow:hidden
}
.profile-panel::before{
  content:"";position:absolute;top:-40%;right:-30%;width:100%;height:100%;
  background:radial-gradient(circle,rgba(5,201,228,.07),transparent 60%);
  pointer-events:none
}
.profile-panel > *{position:relative}
.profile-kicker{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 1.3rem}
.profile-kicker .pill{background:rgba(5,201,228,.09)}
.profile-name{font-size:clamp(2.8rem,6vw,5.6rem);line-height:.9;margin-top:.8rem;letter-spacing:-.04em}
.profile-handle{
  font-size:1.1rem;font-weight:800;color:var(--primary);margin-top:.6rem;
  letter-spacing:.02em;font-style:italic;display:inline-block
}
.profile-bio{font-size:1.02rem;font-weight:500;line-height:1.65;color:var(--muted);margin-top:1.2rem;max-width:46ch}
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:1.6rem}
.profile-stat{padding:1rem 1.1rem;border-radius:18px;background:rgba(244,251,253,.92);border:1px solid rgba(11,79,92,.06)}
.profile-stat .mini{display:block;margin-bottom:.3rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:800}
.profile-stat .big{font-size:1.35rem;margin-top:0}
@media (max-width:900px){.profile-hero{grid-template-columns:1fr}.profile-panel{padding:2rem 1.6rem}}

/* ─── CLIENT CARDS ─── */
.client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.client-card{padding:1.55rem}
.client-logo{height:88px;border-radius:22px;background-position:center;background-repeat:no-repeat;background-size:contain;background-color:var(--ice);border:1px solid rgba(11,79,92,.06);margin-bottom:1rem}
.client-fiveguys{background-image:url('/assets/img/clientes/fiveguys.jpg')}
.client-lenovo{background-image:url('/assets/img/clientes/lenovo.png')}
.client-jager{background-image:url('/assets/img/clientes/jagermeister.webp')}
.client-beata{background-image:url('/assets/img/clientes/beatapasta.svg')}
.client-vichy{background-image:url('/assets/img/clientes/vichycatalan.png')}
.client-odeon{background-image:url('/assets/img/clientes/odeon.webp')}

/* ─── CONTACT ─── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-link{font-size:1.18rem;font-weight:800;color:var(--primary)}
.contact-link:hover{color:var(--deep)}
.info-stack{display:grid;gap:.7rem}

/* ─── FOOTER (premium index-style) ─── */
.site-footer{
  padding:4rem 2rem 2rem;text-align:center;background:var(--paper);
  border-top:1px solid rgba(11,79,92,.06);position:relative
}
.footer-symbol{width:45px;height:45px;margin:0 auto 1.5rem;display:block}
.footer-contact-block{margin-bottom:1.5rem;font-weight:800;font-size:1.5rem}
.footer-contact-block a{color:var(--primary);display:inline-block}
.footer-contact-block a:hover{color:var(--deep)}
.footer-socials{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}
.footer-socials a{font-weight:800;font-size:1rem;color:var(--deep);letter-spacing:.08em;text-transform:uppercase}
.footer-socials a:hover{color:var(--primary)}
.footer-copy-line{font-size:.8rem;margin-bottom:1rem;font-weight:800;opacity:.6;color:var(--deep)}
.footer-legal{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;font-size:.75rem;font-weight:800;text-transform:uppercase}
.footer-legal a{opacity:.6;color:var(--deep)}
.footer-legal a:hover{color:var(--primary);opacity:1}
.note{font-size:.96rem;font-weight:500;color:var(--muted)}
.spacer-sm{height:.4rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}

/* ─── REVEAL ANIMATION ─── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.active{opacity:1;transform:none}

/* ─── RESPONSIVE ─── */
@media (max-width:960px){
  .site-nav{
    position:absolute;top:84px;left:0;right:0;
    background:rgba(255,255,255,.98);
    border-bottom:1px solid rgba(11,79,92,.06);
    padding:1.2rem;
    display:none;flex-direction:column;align-items:flex-start;gap:1rem
  }
  .site-nav.is-open{display:flex}
  .menu-toggle{display:block}
  .split,.grid-3,.metric-grid,.roster-grid,.profile-hero,.dual-grid,.client-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}
  .section-header,.footer-bottom{flex-direction:column;align-items:flex-start}
  .page-hero{padding:6.5rem 0 3rem}
  .page-hero h1{max-width:12ch}
  .profile-grid{grid-template-columns:1fr 1fr}
  .marquee-wrapper{padding:2rem 0 2.4rem}
}
@media (max-width:640px){
  .container{width:min(100%,calc(100% - 1.2rem))}
  .brand-logo{height:28px}
  .header-inner{min-height:74px}
  .site-nav{top:74px}
  .page-hero{padding:5.4rem 0 2.6rem}
  .page-hero h1{font-size:2.9rem}
  .panel,.highlight-box,.contact-card,.seo-panel,.brand-fit-box,.audience-box,.profile-panel,.profile-portrait-card,.card,.metric{padding:1.5rem}
  .profile-grid{grid-template-columns:1fr}
  .talent-top{flex-direction:column;align-items:flex-start}
  .talent-location{order:-1}
}

/* ─── ACCESSIBILITY ─── */
.skip-to-content{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;background:var(--primary);color:#fff;font-weight:800;padding:.75rem 1.5rem;border-radius:0 0 8px 0;z-index:9999;font-family:'Manrope',sans-serif;font-size:.9rem;text-decoration:none}
.skip-to-content:focus{left:0;top:0;width:auto;height:auto;outline:none}
:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:4px}
button:focus-visible,a:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
:focus:not(:focus-visible){outline:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .reveal{opacity:1;transform:none}
}

/* ─── MANIFESTO HERO (3-line treatment from index) ─── */
.page-hero.is-manifesto{
  padding:5rem 0 4rem;
  background:
    radial-gradient(circle at 50% 0%,var(--ice) 0%, transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.82))
}
.page-hero.is-manifesto::before{
  width:min(55vw,720px);height:min(55vw,720px);
  top:50%;right:-5%;opacity:.035
}
.manifesto-h1{
  display:flex;flex-direction:column;width:100%;max-width:1100px;margin:.6rem auto 0;
  font-size:clamp(2.8rem,9.5vw,8.5rem);line-height:.85;letter-spacing:-.045em;
  font-weight:800;text-transform:uppercase;color:var(--deep)
}
.manifesto-h1 .m-line-1{align-self:flex-start;margin-left:4%}
.manifesto-h1 .m-line-2{align-self:center;color:transparent;-webkit-text-stroke:2.5px var(--deep)}
.manifesto-h1 .m-line-3{
  align-self:flex-end;color:#fff;background:var(--primary);
  padding:.05em 1.6vw;margin-right:4%;
  transform:rotate(-3deg) translateY(-8%);display:inline-block;
  box-shadow:0 24px 60px rgba(5,201,228,.32)
}
.page-hero.is-manifesto .lead{margin:3rem auto 1.8rem;text-align:center;max-width:62ch;font-size:clamp(1.1rem,1.4vw,1.25rem);color:var(--deep);opacity:.82}
.page-hero.is-manifesto .breadcrumbs{justify-content:center}
.page-hero.is-manifesto .eyebrow{display:flex;justify-content:center;margin:.4rem auto 0}
.page-hero.is-manifesto .cta-row{justify-content:center;margin-top:.6rem}

/* ─── PREMIUM COMPONENTS (used in polished subpages) ─── */

/* Big pull-quote statement, full-width */
.big-statement{
  padding:6rem 2rem;text-align:center;position:relative;
  background:linear-gradient(180deg,rgba(244,251,253,.6),rgba(255,255,255,0))
}
.big-statement .container{max-width:1100px;margin:0 auto}
.big-statement h2{
  font-size:clamp(2rem,5vw,4.2rem);line-height:.95;letter-spacing:-.035em;
  color:var(--deep);text-transform:uppercase;font-weight:800;margin:0
}
.big-statement h2 em{font-style:normal;color:var(--primary);position:relative;display:inline-block}
.big-statement h2 .outline-word{color:transparent;-webkit-text-stroke:2px var(--deep)}
.big-statement .kicker{font-size:1.05rem;max-width:55ch;margin:2rem auto 0;color:var(--muted);font-weight:500}

/* Horizontal stat band — alternative to card grids */
.stat-band{
  padding:5rem 0;background:var(--deep);color:#fff;position:relative;overflow:hidden
}
.stat-band::before{
  content:"";position:absolute;top:-30%;left:-10%;width:70%;height:160%;
  background:radial-gradient(circle,rgba(5,201,228,.16),transparent 60%);pointer-events:none
}
.stat-band .container{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.stat-band .stat{text-align:left}
.stat-band .stat .num{font-size:clamp(2.4rem,5vw,4rem);font-weight:800;letter-spacing:-.03em;line-height:1;color:#fff;display:block}
.stat-band .stat .label{font-size:.78rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--primary);margin-top:.8rem;display:block}
.stat-band .stat .copy{font-size:.95rem;color:rgba(255,255,255,.7);margin-top:.6rem;max-width:26ch;font-weight:500}
@media (max-width:900px){.stat-band .container{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.stat-band .container{grid-template-columns:1fr}}

/* Step chain — numbered horizontal flow with connector lines */
.step-chain{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative;margin-top:3rem}
.step-chain .chain-item{
  padding:2.5rem 2rem;background:#fff;border:1px solid rgba(11,79,92,.08);
  position:relative;transition:var(--hover-transition)
}
.step-chain .chain-item:not(:last-child){border-right:none}
.step-chain .chain-item:hover{background:var(--ice);transform:translateY(-4px);box-shadow:0 24px 60px rgba(11,79,92,.1)}
.step-chain .chain-num{
  font-size:3.5rem;font-weight:800;color:var(--primary);line-height:1;
  letter-spacing:-.03em;display:block;margin-bottom:1rem;opacity:.2
}
.step-chain .chain-item h3{font-size:1.3rem;margin-bottom:.6rem;letter-spacing:-.02em}
.step-chain .chain-item p{color:var(--muted);font-size:.95rem;line-height:1.6;font-weight:500}
.step-chain .chain-item:hover .chain-num{opacity:1}
@media (max-width:900px){.step-chain{grid-template-columns:1fr}.step-chain .chain-item{border-right:1px solid rgba(11,79,92,.08) !important;border-bottom:none}.step-chain .chain-item:not(:last-child){border-bottom:none}}

/* Big CTA band — like home's final section */
.bold-cta-band{
  padding:6rem 2rem;text-align:center;position:relative;
  background:linear-gradient(135deg,var(--ice) 0%, #fff 100%);
  border-top:1px solid rgba(11,79,92,.06);
  border-bottom:1px solid rgba(11,79,92,.06)
}
.bold-cta-band::before{
  content:"";position:absolute;inset:0;
  background:url('/assets/img/Revoltosos_Isotipo_Color.svg') right center/auto 120% no-repeat;
  opacity:.035;pointer-events:none
}
.bold-cta-band .container{position:relative;max-width:900px;margin:0 auto}
.bold-cta-band h2{
  font-size:clamp(2.2rem,6vw,5rem);line-height:.95;letter-spacing:-.035em;
  text-transform:uppercase;color:var(--deep);margin:.6rem 0 1.4rem
}
.bold-cta-band .lead{font-size:1.15rem;max-width:55ch;margin:0 auto 2.2rem;color:var(--muted)}
.bold-cta-band .cta-row{justify-content:center}

/* Section with subtle ice background — ritmo visual */
.section.is-ice{background:linear-gradient(180deg,transparent,var(--ice) 30%,var(--ice) 70%,transparent);padding:6rem 0}

/* Section breathing room (premium pacing) */
.section{padding:5rem 0}
.section + .section{padding-top:0}
.section.has-breathing{padding:6.5rem 0}

/* ─── CONTACT FORM ─── */
.contact-form{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(11,79,92,.08);
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  padding:2.4rem
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-row{display:flex;flex-direction:column;gap:.5rem}
.form-row.full{grid-column:1 / -1}
.form-row label{font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--deep)}
.form-row input,.form-row select,.form-row textarea{
  font-family:inherit;font-size:1rem;font-weight:500;color:var(--deep);
  background:#fff;border:1px solid rgba(11,79,92,.14);
  border-radius:14px;padding:.95rem 1.1rem;
  transition:border-color .25s,box-shadow .25s;width:100%
}
.form-row textarea{resize:vertical;min-height:140px;line-height:1.55}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{
  outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(5,201,228,.14)
}
.form-row .hint{font-size:.78rem;font-weight:500;color:var(--muted);margin-top:.1rem}
.form-row .checkbox{display:flex;align-items:flex-start;gap:.7rem;font-size:.86rem;font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0}
.form-row .checkbox input{width:18px;height:18px;margin-top:.15rem;accent-color:var(--primary)}
.form-submit{display:flex;justify-content:flex-end;margin-top:1.4rem}
.form-submit .btn{min-width:220px}
.form-success{
  display:none;padding:1.4rem;background:rgba(13,219,193,.12);
  border:1px solid rgba(13,219,193,.35);border-radius:18px;color:var(--deep);
  font-weight:700;margin-top:1.2rem
}
.form-success.is-visible{display:block}

/* ─── PROCESS STEPS (qué pasa después) ─── */
.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.step-card{
  position:relative;padding:1.8rem 1.6rem;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(11,79,92,.08);
  border-radius:var(--radius);box-shadow:var(--shadow-soft);
  backdrop-filter:blur(10px);transition:var(--hover-transition)
}
.step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);background:#fff}
.step-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--sky));color:#fff;
  font-weight:800;font-size:1.05rem;letter-spacing:-.02em;margin-bottom:1rem;
  box-shadow:0 12px 24px rgba(5,201,228,.28)
}
.step-card h3{font-size:1.15rem;margin:.2rem 0 .6rem}
.step-card p{font-size:.95rem;color:var(--muted);margin:0;line-height:1.6}

/* ─── BRIEF CHECKLIST ─── */
.brief-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1.4rem;margin-top:1rem;list-style:none;padding:0}
.brief-checklist li{position:relative;padding-left:1.8rem;font-weight:500;color:var(--muted);line-height:1.55}
.brief-checklist li::before{
  content:"";position:absolute;left:0;top:.35rem;width:18px;height:18px;border-radius:50%;
  background:var(--primary) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center/12px no-repeat
}
.brief-checklist li strong{color:var(--deep);font-weight:800}

/* ─── FILTER BAR (talentos) ─── */
.filter-bar{
  display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;
  padding:1.2rem 1.4rem;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(11,79,92,.08);
  border-radius:999px;
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(10px);
  margin-bottom:1.6rem
}
.filter-label{font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-right:.4rem}
.filter-chip{
  display:inline-flex;align-items:center;
  padding:.55rem .95rem;border-radius:999px;
  font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  background:rgba(244,251,253,.7);border:1px solid rgba(11,79,92,.1);color:var(--deep);
  cursor:pointer;transition:all .25s ease;font-family:inherit
}
.filter-chip:hover{border-color:var(--primary);color:var(--primary)}
.filter-chip.is-active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 8px 18px rgba(5,201,228,.24)}
.filter-count{font-size:.78rem;font-weight:700;color:var(--muted);margin-left:auto}

/* talentos roster grid hide-on-filter */
.talent-card.is-hidden{display:none}

/* ─── GALLERY (talent profile content) ─── */
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.gallery-item{
  position:relative;aspect-ratio:9/16;overflow:hidden;border-radius:18px;
  background:linear-gradient(135deg,rgba(5,201,228,.18),rgba(92,196,250,.22),rgba(13,219,193,.18));
  border:1px solid rgba(11,79,92,.08);
  display:flex;align-items:flex-end;justify-content:flex-start;
  padding:1rem;cursor:default;transition:var(--hover-transition)
}
.gallery-item::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.4),transparent 60%);
  pointer-events:none
}
.gallery-item:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.gallery-item .gallery-tag{
  position:relative;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--deep);background:rgba(255,255,255,.85);padding:.4rem .7rem;border-radius:999px
}
.gallery-item.is-tt{background:linear-gradient(135deg,rgba(11,79,92,.92),rgba(5,201,228,.6))}
.gallery-item.is-tt .gallery-tag{background:rgba(255,255,255,.95);color:var(--deep)}
.gallery-item.is-ig{background:linear-gradient(135deg,rgba(228,64,95,.85),rgba(247,153,57,.78),rgba(188,42,141,.85))}
.gallery-item.is-ig .gallery-tag{background:rgba(255,255,255,.95);color:#bc2a8d}

/* ─── BRANDS WORKED (chips with logos) ─── */
.brand-strip{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.8rem}
.brand-strip .brand-pill{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.55rem .95rem;border-radius:999px;
  background:rgba(255,255,255,.95);border:1px solid rgba(11,79,92,.1);
  font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--deep)
}
.brand-strip .brand-pill::before{
  content:"";width:14px;height:14px;border-radius:4px;background:var(--primary);
  display:inline-block;flex:0 0 auto
}

/* ─── METRIC HERO STRIP (clientes / contacto numbers) ─── */
.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.metric-strip .metric{padding:2rem 1.6rem;text-align:left;position:relative;overflow:hidden}
.metric-strip .metric::after{
  content:"";position:absolute;right:-30px;bottom:-30px;width:120px;height:120px;
  background:radial-gradient(circle,rgba(5,201,228,.14),transparent 70%);pointer-events:none
}
.metric-strip .big{font-size:clamp(2.2rem,3.6vw,3.2rem);margin-top:.5rem}

/* ─── SECTOR / VERTICAL CARDS (clientes) ─── */
.sector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.sector-card{
  padding:1.7rem 1.5rem;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(11,79,92,.08);
  border-radius:var(--radius);box-shadow:var(--shadow-soft);
  backdrop-filter:blur(10px);transition:var(--hover-transition);
  position:relative;overflow:hidden
}
.sector-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);background:#fff}
.sector-icon{
  width:54px;height:54px;border-radius:18px;
  background:linear-gradient(135deg,var(--primary),var(--mint));
  display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:1.5rem;
  margin-bottom:1rem;box-shadow:0 14px 28px rgba(5,201,228,.24)
}
.sector-card h3{font-size:1.25rem;margin:0 0 .55rem}
.sector-card p{font-size:.95rem;color:var(--muted);margin:0;line-height:1.6}

/* ─── DO / DON'T DUAL ─── */
.dodont-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.dodont-card{padding:2rem;border-radius:var(--radius);background:rgba(255,255,255,.86);border:1px solid rgba(11,79,92,.08);box-shadow:var(--shadow-soft);backdrop-filter:blur(10px)}
.dodont-card.is-do{background:linear-gradient(180deg,rgba(13,219,193,.1),rgba(255,255,255,.95));border-color:rgba(13,219,193,.25)}
.dodont-card.is-dont{background:linear-gradient(180deg,rgba(232,72,85,.06),rgba(255,255,255,.95));border-color:rgba(232,72,85,.18)}
.dodont-card .eyebrow{margin-bottom:.6rem}
.dodont-card.is-do .eyebrow{color:#0DA88E}
.dodont-card.is-dont .eyebrow{color:#E84855}
.dodont-card h3{font-size:1.4rem;margin:0 0 1rem}
.dodont-card ul{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}
.dodont-card li{position:relative;padding-left:1.6rem;color:var(--muted);font-weight:500;line-height:1.55}
.dodont-card.is-do li::before{content:"✓";position:absolute;left:0;top:0;color:#0DA88E;font-weight:800}
.dodont-card.is-dont li::before{content:"✗";position:absolute;left:0;top:0;color:#E84855;font-weight:800}

/* ─── LEGAL PAGES (use site shell + clean content) ─── */
.legal-content{max-width:760px;margin:0 auto}
.legal-content h2{font-size:1.4rem;margin:2.2rem 0 .9rem;padding-left:1rem;border-left:4px solid var(--primary);text-transform:uppercase;letter-spacing:-.02em;color:var(--deep);font-weight:800}
.legal-content h2:first-child{margin-top:0}
.legal-content p,.legal-content ul{font-size:1rem;font-weight:500;color:var(--muted);line-height:1.75;margin:0 0 1rem}
.legal-content ul{padding-left:1.4rem}
.legal-content li{margin-bottom:.4rem}
.legal-content a{color:var(--primary);font-weight:800}
.legal-content a:hover{color:var(--deep)}
.legal-content strong{color:var(--deep);font-weight:800}

/* ─── RESPONSIVE for new components ─── */
@media (max-width:960px){
  .form-grid,.steps-grid,.metric-strip,.sector-grid,.dodont-grid,.gallery-grid,.brief-checklist{grid-template-columns:1fr 1fr}
  .manifesto-h1{font-size:clamp(2.4rem,12vw,5rem)}
  .filter-bar{border-radius:var(--radius);flex-direction:column;align-items:flex-start}
  .filter-count{margin-left:0}
}
@media (max-width:640px){
  .form-grid,.steps-grid,.metric-strip,.sector-grid,.dodont-grid,.gallery-grid,.brief-checklist{grid-template-columns:1fr}
  .contact-form{padding:1.5rem}
  .form-submit{justify-content:stretch}
  .form-submit .btn{width:100%}
  .manifesto-h1{font-size:clamp(2rem,11vw,3.4rem)}
}

