/* ═══════════════════════════════════════════════════════════
   START BARCELONA  —  SHARED STYLES  v2
   Font: Prompt (Google Fonts)
   Palette:
   White #FFFFFF | Egg Blue #05C3DE | Resolution Blue #003087
   Midnight Blue #001E62 | Stratos #00002C | Cerise Rose #E03E52
═══════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Prompt:wght@300;400;500;600;700;800;900&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --white:#FFFFFF; --egg:#05C3DE; --resolution:#003087;
  --midnight:#001E62; --stratos:#00002C; --cerise:#E03E52;
  --bg:var(--stratos); --s1:var(--midnight); --s2:var(--resolution);
  --bdr:rgba(255,255,255,0.14);
  --red:var(--cerise); --red2:#f26474; --redglow:rgba(224,62,82,0.16);
  --tx:var(--white); --mu:rgba(255,255,255,0.62); --mu2:rgba(255,255,255,0.34);
  --ff:'Prompt',sans-serif; --max:1180px; --nav:68px; --r:12px;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--tx);font-family:var(--ff);font-size:16px;line-height:1.6;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none;z-index:9998}

/* ── NAV ─────────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;height:var(--nav);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,2.5rem);z-index:200;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.nav.scrolled{background:rgba(0,0,44,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-color:var(--bdr)}
.nav-logo{font-weight:800;font-size:1.15rem;color:var(--tx);text-decoration:none;display:flex;align-items:center;gap:.25rem;white-space:nowrap}
.nav-logo .dot{color:var(--red)}
.nav-links{display:flex;align-items:center;gap:.2rem;list-style:none}
.nav-links a{color:var(--mu);text-decoration:none;font-size:.875rem;font-weight:500;padding:.45rem .85rem;border-radius:8px;transition:color .2s,background .2s;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--tx);background:rgba(5,195,222,.08)}
.nav-cta{background:var(--red);color:#fff!important;padding:.5rem 1.25rem;border-radius:100px;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .2s,transform .15s}
.nav-cta:hover{background:var(--red2);transform:translateY(-1px)}
.nav-burger{display:none;background:none;border:none;cursor:pointer;color:var(--tx);font-size:1.4rem;padding:.25rem}

/* ── FOOTER ───────────────────────────────────── */
.footer-outer{border-top:1px solid var(--bdr);padding:3rem clamp(1.25rem,4vw,2.5rem) 2rem}
.footer-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem}
.fl-logo{font-weight:800;font-size:1.05rem;color:var(--tx);text-decoration:none;display:flex;align-items:center;gap:.25rem;margin-bottom:.65rem}
.fl-logo .dot{color:var(--red)}
.fl-tag{font-size:.82rem;color:var(--mu);line-height:1.55;max-width:230px}
.fl-socials{display:flex;gap:.55rem;margin-top:1.1rem}
.fl-soc{width:33px;height:33px;background:rgba(255,255,255,.05);border:1px solid var(--bdr);border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--mu);font-size:.8rem;transition:all .2s}
.fl-soc:hover{background:var(--redglow);border-color:rgba(224,62,82,.35);color:var(--red)}
.fc h4{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mu2);margin-bottom:.9rem}
.fc ul{list-style:none;display:flex;flex-direction:column;gap:.45rem}
.fc a{font-size:.875rem;color:var(--mu);text-decoration:none;transition:color .2s}
.fc a:hover{color:var(--tx)}
.footer-bot{max-width:var(--max);margin:.5rem auto 0;padding-top:1.1rem;border-top:1px solid var(--bdr);display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--mu2);flex-wrap:wrap;gap:.4rem}
.footer-bot a{color:var(--mu2);text-decoration:none}

/* ── SHARED COMPONENTS ─────────────────────────── */
.container{max-width:var(--max);margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
.section{padding:clamp(4.5rem,8vw,8rem) 0}
.divider{border:none;border-top:1px solid var(--bdr);margin:0}

.label{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--red);display:flex;align-items:center;gap:.5rem;margin-bottom:.85rem}
.label::before{content:'—';color:var(--egg);opacity:.75}

.h1{font-weight:800;font-size:clamp(3rem,8vw,6.5rem);line-height:.95;letter-spacing:-.035em}
.h2{font-weight:700;font-size:clamp(2rem,4.5vw,3.2rem);line-height:1.05;letter-spacing:-.025em}
.h3{font-weight:700;font-size:clamp(1.2rem,1.8vw,1.55rem);letter-spacing:-.015em}
.body-lg{font-size:clamp(.95rem,1.4vw,1.1rem);color:var(--mu);line-height:1.75;font-weight:300}
.red{color:var(--red)}

.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--ff);font-weight:600;font-size:.875rem;border-radius:100px;transition:all .2s;text-decoration:none;cursor:pointer;border:none}
.btn-red{background:var(--red);color:#fff;padding:.8rem 1.9rem;box-shadow:0 0 0 rgba(224,62,82,0)}
.btn-red:hover{background:var(--red2);transform:translateY(-2px);box-shadow:0 8px 28px rgba(224,62,82,.35)}
.btn-ghost{background:transparent;color:var(--mu);padding:.8rem 1.6rem;border:1px solid var(--bdr)}
.btn-ghost:hover{color:var(--tx);border-color:rgba(5,195,222,.45)}

.tag{display:inline-flex;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.28rem .75rem;border-radius:100px;width:fit-content}
.tag-red{background:rgba(224,62,82,.14);color:var(--red)}
.tag-gray{background:rgba(5,195,222,.08);color:var(--mu);border:1px solid rgba(5,195,222,.22)}

.stat-n{font-weight:800;font-size:clamp(2.2rem,4vw,3.5rem);letter-spacing:-.04em;line-height:1}
.stat-n sup{font-size:.5em;color:var(--red);vertical-align:super}
.stat-l{font-size:.75rem;color:var(--mu);text-transform:uppercase;letter-spacing:.09em;margin-top:.2rem}

.img-wrap{position:relative;border-radius:var(--r);overflow:hidden;background:var(--s2)}
.img-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.img-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.65))}

/* ticker */
.ticker-outer{overflow:hidden;border-block:1px solid var(--bdr);padding:.75rem 0}
.ticker-track{display:flex;gap:4rem;width:max-content;animation:ticker 28s linear infinite}
.ticker-item{font-weight:600;font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mu);white-space:nowrap;display:flex;align-items:center;gap:1.25rem}
.ticker-item::after{content:'✦';color:var(--red);font-size:.58rem}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* card */
.card{background:var(--s1);border:1px solid var(--bdr);border-radius:var(--r);overflow:hidden;transition:border-color .3s,transform .3s}
.card:hover{border-color:rgba(224,62,82,.3);transform:translateY(-4px)}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ── RESPONSIVE ─────────────────────────────────── */
@media(max-width:900px){.footer-inner{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:720px){
  .nav-links{display:none}
  .nav-links.open{display:flex;flex-direction:column;position:fixed;inset:var(--nav) 0 0 0;background:var(--bg);padding:2rem 1.5rem;align-items:flex-start;gap:.25rem;border-top:1px solid var(--bdr);z-index:199}
  .nav-links.open a{font-size:1.05rem;padding:.75rem 1rem;width:100%}
  .nav-burger{display:block}
  .footer-inner{grid-template-columns:1fr}
}
