/* ── PAGE-SPECIFIC ──────────────────────────────────────── */
/* PAGE HERO */
.hero{background:var(--night);padding:5.5rem 0 5rem;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-80px;right:-80px;width:560px;height:560px;border-radius:50%;background:rgba(47,74,199,0.09);pointer-events:none}
.hero::after{content:'';position:absolute;bottom:-60px;left:-40px;width:400px;height:400px;border-radius:50%;background:rgba(47,74,199,0.05);pointer-events:none}
.hero-inner{max-width:var(--max);margin:0 auto;padding:0 2.5rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:1.5rem;opacity:0;animation:riseIn 0.5s ease 0.05s forwards}
.hero-eyebrow-line{width:28px;height:1px;background:var(--blue)}
.hero h1{font-size:clamp(3rem,5vw,5rem);color:#fff;margin-bottom:1.5rem;opacity:0;animation:riseIn 0.6s ease 0.15s forwards}
.hero h1 em{font-style:italic;color:var(--blue-2)}
.hero-sub{font-size:1.05rem;color:rgba(255,255,255,0.65);line-height:1.8;max-width:460px;opacity:0;animation:riseIn 0.6s ease 0.25s forwards}
.hero-right{opacity:0;animation:riseIn 0.7s ease 0.2s forwards}

/* Stat strip */
.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,0.08);border-radius:var(--r-lg);overflow:hidden}
.stat-item{background:rgba(255,255,255,0.04);padding:1.75rem 1.5rem;text-align:center}
.stat-num{font-family:var(--serif);font-size:2.5rem;font-weight:900;color:#fff;line-height:1;margin-bottom:0.4rem}
.stat-num em{font-style:italic;color:var(--blue-2)}
.stat-label{font-size:0.75rem;color:rgba(255,255,255,0.45);letter-spacing:0.04em;line-height:1.4}

/* EU badges */
.hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:1.5rem}
.hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:999px;padding:5px 12px;font-size:0.72rem;color:rgba(255,255,255,0.6)}

/* MISSION */
.mission{padding:6rem 0}
.mission-layout{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.mission-left{}
.mission-left h2{font-size:clamp(2rem,3vw,2.8rem);margin-bottom:1.5rem}
.mission-left h2 em{font-style:italic;color:var(--blue)}
.mission-body{font-size:1rem;color:var(--ink-2);line-height:1.85;display:flex;flex-direction:column;gap:1.25rem}
.mission-body p strong{color:var(--heading)}
.mission-quote{border-left:3px solid var(--blue);padding:1.5rem 1.75rem;background:var(--paper-2);border-radius:0 var(--r-lg) var(--r-lg) 0;margin-top:2rem}
.mission-quote p{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--heading);line-height:1.65}

.mission-right{}
.mission-right .label{margin-bottom:1.25rem;display:block}

/* Value cards */
.value-stack{display:flex;flex-direction:column;gap:1px;background:var(--paper-3);border-radius:var(--r-lg);overflow:hidden}
.value-item{background:var(--paper);padding:1.5rem 1.75rem;display:flex;align-items:flex-start;gap:1rem;transition:background 0.15s}
.value-item:hover{background:var(--paper-2)}
.value-icon{width:36px;height:36px;border-radius:var(--r);background:var(--blue-pale);display:flex;align-items:center;justify-content:center;font-size:0.9rem;flex-shrink:0;margin-top:1px}
.value-title{font-size:0.88rem;font-weight:600;color:var(--heading);margin-bottom:0.3rem}
.value-body{font-size:0.8rem;color:var(--ink-2);line-height:1.6}

/* HOW WE WORK */
.how-section{background:var(--paper-2);padding:6rem 0}
.section-header{text-align:center;max-width:640px;margin:0 auto 4rem}
.section-header h2{font-size:clamp(2rem,3vw,2.8rem);margin-bottom:1rem}
.section-header h2 em{font-style:italic;color:var(--blue)}
.section-header p{font-size:1rem;color:var(--ink-2);line-height:1.8}

/* PARTNERS */
.partners{padding:6rem 0}
.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.partner-card{border:1px solid var(--paper-3);border-radius:var(--r-lg);padding:2rem;background:var(--paper);transition:all 0.2s}
.partner-card:hover{border-color:var(--blue);box-shadow:0 6px 24px rgba(47,74,199,0.07);transform:translateY(-2px)}
.partner-icon{font-size:1.5rem;margin-bottom:1rem}
.partner-card h3{font-family:var(--serif);font-weight:700;font-size:0.95rem;color:var(--heading);margin-bottom:0.5rem}
.partner-card p{font-size:0.82rem;color:var(--ink-2);line-height:1.65}

/* COMPANY INFO */
.company-info{background:var(--paper-2);padding:6rem 0}
.company-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem}

/* Legal block */
.legal-block{background:var(--paper);border:1px solid var(--paper-3);border-radius:var(--r-lg);padding:2rem}
.legal-title{font-family:var(--serif);font-weight:700;font-size:1.15rem;color:var(--heading);margin-bottom:0.25rem}
.legal-reg{font-size:0.78rem;color:var(--ink-3);font-family:var(--mono,'Courier New',monospace);margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--paper-3)}

/* Office cards */
.offices{display:flex;flex-direction:column;gap:1px;background:var(--paper-3);border-radius:var(--r-lg);overflow:hidden;margin-bottom:1.5rem}
.office{background:var(--paper);padding:1.5rem;display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}
.office-flag{font-size:1.5rem;line-height:1}
.office-country{font-size:0.7rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:0.3rem}
.office-name{font-size:0.88rem;font-weight:600;color:var(--heading);margin-bottom:0.25rem}
.office-address{font-size:0.8rem;color:var(--ink-2);line-height:1.6}
.office-tag{display:inline-flex;align-items:center;gap:4px;margin-top:0.4rem;font-size:0.65rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;background:var(--blue-pale);color:var(--blue);padding:2px 8px;border-radius:999px}

/* Contact block */
.contact-block{background:var(--paper);border:1px solid var(--paper-3);border-radius:var(--r-lg);padding:2rem}
.contact-row{display:flex;align-items:center;gap:0.875rem;padding:0.875rem 0;border-bottom:1px solid var(--paper-3)}
.contact-row:first-child{padding-top:0}
.contact-row:last-child{border-bottom:none;padding-bottom:0}
.contact-icon{width:34px;height:34px;border-radius:var(--r);background:var(--blue-pale);display:flex;align-items:center;justify-content:center;font-size:0.85rem;flex-shrink:0}
.contact-label{font-size:0.7rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px}
.contact-value{font-size:0.88rem;color:var(--heading);font-weight:500}
.contact-value a{color:var(--blue);transition:color 0.15s}
.contact-value a:hover{color:var(--blue-2)}

/* RESPONSIVE */
@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr;gap:3rem}
  .stat-strip{grid-template-columns:1fr 1fr 1fr}
  .mission-layout,.company-layout{grid-template-columns:1fr;gap:3rem}
  .partner-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .stat-strip{grid-template-columns:1fr}
  .partner-grid{grid-template-columns:1fr}
  .hero{padding:4rem 0 3.5rem}
}