@import url('./brand.css');

:root { --navy:#1b2944; --paper:#f5f8fc; --yellow:#f4d447; --lime:#f4d447; --muted:#607089; --line:#d5deea; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
section[id] { scroll-margin-top:90px; }
body { margin:0; background:var(--paper); color:var(--navy); font:400 16px/1.6 "Practical Inter",Inter,Arial,sans-serif; }
a { color:inherit; }
a:focus-visible,summary:focus-visible { outline:3px solid var(--yellow); outline-offset:4px; }
main a:focus-visible { outline-color:var(--navy); }
.hero a:focus-visible,.page-hero a:focus-visible,.method a:focus-visible { outline-color:var(--yellow); }
.skip-link { position:absolute; top:8px; left:16px; z-index:60; padding:10px 18px; background:var(--yellow); color:var(--navy); border-radius:8px; transform:translateY(-200%); font-weight:700; }
.skip-link:focus { transform:translateY(0); }
.contact-short { display:none; }
.wrap { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:50; background:rgba(19,31,53,.84); border-bottom:1px solid rgba(255,255,255,.28); box-shadow:0 8px 30px rgba(15,28,52,.12); -webkit-backdrop-filter:blur(20px) saturate(1.35); backdrop-filter:blur(20px) saturate(1.35); }
.nav { min-height:77px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.nav .brand-lockup { width:185px; }
.nav-links { display:flex; align-items:center; gap:27px; margin-left:auto; }
.nav-links a { color:#dce4ee; text-decoration:none; font-size:13px; font-weight:600; white-space:nowrap; }
.nav-links a:hover,.nav-links a[aria-current="page"] { color:var(--yellow); }
.nav-end { display:flex; align-items:center; gap:13px; }
.lang-switch { display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; padding:8px 12px; border:1px solid rgba(255,255,255,.48); border-radius:999px; background:rgba(255,255,255,.09); box-shadow:inset 0 1px 0 rgba(255,255,255,.25); color:#fff; font-size:11px; font-weight:700; text-decoration:none; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:0 22px; border:1px solid rgba(255,255,255,.72); border-radius:999px; background:rgba(244,212,71,.84); box-shadow:inset 0 1px 0 rgba(255,255,255,.62),0 10px 28px rgba(18,33,58,.12); -webkit-backdrop-filter:blur(14px) saturate(1.25); backdrop-filter:blur(14px) saturate(1.25); color:var(--navy); text-decoration:none; font-size:13px; font-weight:800; }
.button:hover { background:rgba(244,212,71,.93); box-shadow:inset 0 1px 0 rgba(255,255,255,.62),0 14px 30px rgba(18,33,58,.17); }
.button--small { min-height:44px; padding-inline:16px; font-size:12px; }
.button--ghost { border:1px solid rgba(255,255,255,.5); background:rgba(255,255,255,.09); color:#fff; }
.button--ghost:hover { background:rgba(255,255,255,.17); }
.hero .button--ghost { color:#fff; border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.08); }
.hero .button--ghost:hover { color:#fff; background:rgba(255,255,255,.16); }
.button--dark { border-color:rgba(255,255,255,.16); background:linear-gradient(145deg,#233a5a,#172540); color:#fff; }
.button--dark:hover { background:linear-gradient(145deg,#2b4467,#1a2b49); }
.eyebrow { display:inline-flex; align-items:center; gap:10px; color:#b6c4d8; text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.14em; }
.eyebrow::before { content:""; width:16px; height:15px; background:linear-gradient(115deg,#fff 0 42%,transparent 42% 55%,var(--yellow) 55%); transform:skewX(-10deg); }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { line-height:1.08; letter-spacing:-.035em; }
h1 { font-size:clamp(45px,5.5vw,77px); }
h2 { font-size:clamp(32px,4vw,52px); }
h3 { font-size:clamp(22px,2vw,28px); }
.hero { position:relative; overflow:hidden; background:radial-gradient(ellipse at 82% 22%,rgba(193,211,221,.22),transparent 37%),linear-gradient(135deg,#1b2944,#243b58 76%,#30465f); color:#fff; }
.hero::before { content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:56px 56px; mask-image:linear-gradient(#000,transparent 92%); }
.hero-grid { position:relative; display:grid; grid-template-columns:1fr .86fr; align-items:center; gap:58px; padding:78px 0 83px; min-height:630px; }
.hero h1 { max-width:720px; margin:20px 0 22px; }
.hero h1 em { color:var(--yellow); font-style:normal; }
.hero-lede { max-width:630px; color:#d0dae7; font-size:18px; line-height:1.58; }
.hero-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:28px; }
.hero-note { color:#aebdd0; font-size:12px; margin:19px 0 0; }
.hero-note strong { color:#fff; }
.hero-contact-options { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:9px; color:#d5deeb; font-size:13px; }
.hero-contact-options a { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:4px; }
.flow-card { border:1px solid rgba(255,255,255,.35); background:linear-gradient(145deg,rgba(255,255,255,.20),rgba(255,255,255,.055) 58%,rgba(255,255,255,.11)); box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 22px 70px rgba(0,0,0,.12); -webkit-backdrop-filter:blur(22px) saturate(1.25); backdrop-filter:blur(22px) saturate(1.25); border-radius:20px; padding:27px; }
.flow-top { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:17px; border-bottom:1px solid rgba(255,255,255,.14); color:#b6c4d8; text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:800; }
.flow-top span:last-child { color:var(--yellow); }
.flow-step { display:grid; grid-template-columns:38px 1fr; gap:13px; align-items:center; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.flow-step .num { display:grid; place-items:center; width:35px; height:35px; border:1px solid rgba(255,255,255,.34); border-radius:10px; color:var(--yellow); font-size:10px; }
.flow-step b { display:block; font-size:13px; }
.flow-step small { display:block; color:#a8b7cb; font-size:11px; }
.flow-output { margin-top:18px; padding:12px 14px; border:1px solid rgba(244,212,71,.5); border-radius:10px; background:rgba(244,212,71,.12); font-size:12px; }
.flow-output b { color:var(--yellow); }
.section { padding:88px 0; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:32px; }
.section-head h2 { max-width:760px; margin:12px 0 0; }
.section-head p { max-width:380px; margin:0; color:var(--muted); }
.section .eyebrow { color:#596c85; }
.section .eyebrow::before { background:linear-gradient(115deg,var(--navy) 0 42%,transparent 42% 55%,var(--yellow) 55%); }
.programs { background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.8),transparent 39%),linear-gradient(145deg,#eaf1f8,#f5f8fc); }
.program-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.program-card { display:flex; flex-direction:column; background:linear-gradient(145deg,rgba(255,255,255,.91),rgba(255,255,255,.69)); border:1px solid rgba(255,255,255,.9); box-shadow:inset 0 1px 0 #fff,0 16px 38px rgba(35,55,83,.07); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); border-radius:18px; }
.program-card--lead { border:1px solid rgba(244,212,71,.85); box-shadow:inset 0 1px 0 #fff,0 17px 42px rgba(52,63,70,.11); }
.program-card-body { display:flex; flex:1; flex-direction:column; padding:24px; }
.program-card-header { display:flex; align-items:center; gap:16px; min-height:96px; }
.program-card-header > div { min-width:0; }
.program-visual { flex:0 0 96px; width:96px; height:96px; margin:0; overflow:hidden; border-radius:12px; background:#cbd5e1; }
.program-visual img { display:block; width:100%; height:100%; object-fit:cover; }
.program-tag { color:#60728c; text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:800; }
.program-card--lead .program-tag { color:#806b07; }
.program-card h3 { margin:7px 0 0; font-size:22px; line-height:1.1; }
.program-fit { display:flex; flex-wrap:wrap; justify-content:space-between; gap:5px 12px; margin:20px 0 8px; padding:12px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:#59677d; font-size:12px; }
.program-fit b { color:var(--navy); }
.program-card p { color:#59677d; font-size:14px; }
.program-card ul { margin:4px 0 25px; padding-left:18px; color:#59677d; font-size:13px; }
.program-card li { margin:5px 0; }
.card-link { margin-top:auto; font-size:13px; font-weight:800; text-underline-offset:4px; }
.proof { background:#fff; }
.case-layout { display:grid; grid-template-columns:.66fr 1.34fr; gap:18px; align-items:stretch; }
.case-story { display:flex; flex-direction:column; min-height:430px; padding:30px; border:1px solid rgba(255,255,255,.82); border-radius:18px; background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(225,236,247,.74)); box-shadow:inset 0 1px 0 #fff,0 16px 36px rgba(35,55,83,.06); }
.case-company { display:flex; align-items:center; gap:13px; min-height:70px; }
.case-company img { display:block; width:55px; height:60px; object-fit:contain; }
.case-company strong { display:block; color:var(--navy); font-size:22px; line-height:1.1; letter-spacing:-.035em; }
.case-company span { display:block; margin-top:5px; color:#596b82; font-size:12px; letter-spacing:.02em; }
.case-story-number { margin-top:auto; color:var(--navy); font-size:clamp(62px,8vw,105px); font-weight:800; letter-spacing:-.09em; line-height:1; }
.case-story-number span { margin-left:13px; color:#5d6f89; font-size:11px; letter-spacing:.08em; text-transform:uppercase; vertical-align:middle; }
.case-story h3 { margin:15px 0 9px; }
.case-story p { color:var(--muted); font-size:13px; }
.proof-panel { padding:30px; background:radial-gradient(circle at 94% 0%,rgba(224,238,247,.11),transparent 42%),linear-gradient(145deg,#1c2c47,#213754); color:#fff; border:1px solid rgba(255,255,255,.22); border-radius:18px; box-shadow:inset 0 1px 0 rgba(255,255,255,.13); }
.proof-panel .case-tag { color:var(--yellow); text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:800; }
.proof-panel h3 { margin:23px 0; }
.proof-panel p { color:#cbd5e3; font-size:14px; }
.proof-facts { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.proof-metric { min-width:0; padding:19px; border:1px solid rgba(255,255,255,.22); border-radius:11px; background:rgba(255,255,255,.035); }
.proof-index { display:block; color:var(--yellow); font-size:11px; font-weight:800; letter-spacing:.12em; }
.proof-metric h4 { margin:9px 0 3px; color:#fff; font-size:17px; line-height:1.2; }
.proof-metric .proof-task { min-height:38px; margin:0 0 15px; color:#b9c8db; font-size:12px; line-height:1.4; }
.proof-comparison { display:flex; align-items:end; gap:9px; }
.proof-comparison div { min-width:0; flex:1; }
.proof-comparison span,.proof-single span { display:block; margin-bottom:4px; color:#aabbd1; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.proof-comparison strong,.proof-single strong { display:block; color:var(--yellow); font-size:clamp(22px,2.6vw,32px); line-height:1.1; letter-spacing:-.04em; }
.proof-comparison .proof-arrow { flex:0 0 auto; margin:0 0 5px; color:var(--yellow); font-size:23px; }
.proof-single strong { font-size:clamp(21px,2.3vw,29px); }
.proof-metric .proof-explanation { margin:14px 0 0; padding-top:11px; border-top:1px solid rgba(255,255,255,.17); color:#dbe3ed; font-size:11px; line-height:1.42; }
.proof-panel .proof-note { margin:19px 0 0; font-size:11px; color:#aabbd1; }
.quotes { background:linear-gradient(155deg,#f8f9f8,#f3f5f6); }
.quote-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.quote-card { display:flex; flex-direction:column; min-height:254px; margin:0; padding:27px; background:#fff; border:1px solid var(--line); border-radius:16px; }
.quote-card:first-child { background:rgba(244,212,71,.82); border-color:rgba(226,195,64,.78); box-shadow:inset 0 1px 0 rgba(255,255,255,.56),0 18px 38px rgba(73,67,40,.08); }
.quote-card blockquote { margin:0; font:clamp(20px,2vw,27px)/1.3 Georgia,serif; letter-spacing:-.025em; }
.quote-card figcaption { display:flex; flex-direction:column; margin-top:auto; padding-top:26px; font-size:12px; line-height:1.45; }
.quote-card figcaption span { color:#63718a; }
.evidence-teaser { background:#fff; }
.evidence-teaser-grid { display:grid; grid-template-columns:1fr .85fr; gap:50px; align-items:center; }
.evidence-teaser p { max-width:650px; color:var(--muted); }
.evidence-teaser figure { margin:0; padding:36px; background:rgba(244,212,71,.82); border:1px solid rgba(226,195,64,.78); box-shadow:inset 0 1px 0 rgba(255,255,255,.56),0 18px 38px rgba(73,67,40,.08); border-radius:18px; }
.evidence-teaser blockquote { margin:0; font:clamp(24px,2.5vw,35px)/1.25 Georgia,serif; letter-spacing:-.025em; }
.evidence-teaser figcaption { margin-top:28px; font-size:12px; font-weight:700; }
.method { background:linear-gradient(145deg,#223653,#2c4160); color:#fff; }
.method .eyebrow,.method .section-head p { color:#c2cfe0; }
.method .eyebrow::before { background:linear-gradient(115deg,#fff 0 42%,transparent 42% 55%,var(--yellow) 55%); }
.method-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; }
.method-card { min-height:205px; padding:22px; border:1px solid rgba(255,255,255,.18); border-radius:13px; }
.method-card .step { color:var(--yellow); font-size:11px; font-weight:800; }
.method-card h3 { margin:35px 0 10px; font-size:19px; }
.method-card p { color:#bbc9db; font-size:13px; }
.method-visual { max-width:1024px; margin:38px auto 0; }
.method-visual img { display:block; width:100%; height:auto; border-radius:18px; }
.method-visual figcaption { margin-top:9px; color:#b7c6d8; font-size:11px; text-align:right; }
.team-section { background:#fff; }
.team-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.team-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:linear-gradient(145deg,#fff,#f2f6fa); }
.team-card:first-child { border-color:#d9bc3e; background:linear-gradient(145deg,#fffaf0,#fff); }
.team-card-header { display:flex; align-items:center; gap:16px; padding:27px 27px 0; }
.team-card-heading { min-width:0; }
.team-portrait { flex:0 0 64px; width:64px; height:64px; overflow:hidden; border-radius:50%; background:#e3e9ef; }
.team-portrait img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.team-card-body { display:flex; flex:1; flex-direction:column; padding:22px 27px 27px; }
.team-role { display:block; margin-bottom:7px; color:#52637a; font-size:12px; line-height:1.5; font-weight:700; }
.team-card h3 { margin:0; font-size:24px; line-height:1.15; }
.team-card p { flex:1; margin-bottom:24px; color:#53637a; font-size:15px; }
.team-card .card-link { align-self:flex-start; display:inline-flex; align-items:center; gap:7px; min-height:44px; }
.team-next { margin-top:25px; }
.team-next a { display:inline-flex; align-items:center; min-height:44px; }
.guide-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.guide-card { display:flex; flex-direction:column; min-height:220px; padding:25px; border:1px solid var(--line); border-radius:15px; background:#fff; text-decoration:none; }
.guide-card span { color:#5d6d84; text-transform:uppercase; letter-spacing:.1em; font-size:10px; font-weight:800; }
.guide-card h3 { margin:37px 0 12px; font-size:22px; }
.guide-card p { color:var(--muted); font-size:13px; }
.guide-card b { margin-top:auto; font-size:12px; }
.closing { background:rgba(244,212,71,.84); border-top:1px solid rgba(255,255,255,.62); padding:65px 0; }
.closing-inner { display:grid; grid-template-columns:1.25fr 1fr; align-items:center; gap:55px; }
.closing .eyebrow { color:#4f4522; }
.closing .eyebrow::before { background:var(--navy); }
.closing h2 { max-width:700px; margin:14px 0 22px; }
.closing-copy p { max-width:640px; margin:0; color:#3e443f; font-size:17px; }
.contact-card { padding:28px; border:1px solid rgba(255,255,255,.9); border-radius:18px; background:rgba(255,255,255,.66); box-shadow:0 18px 42px rgba(69,61,30,.08); }
.contact-person { display:flex; align-items:center; gap:16px; margin-bottom:25px; }
.contact-person img { width:64px; height:64px; border-radius:50%; object-fit:cover; }
.contact-person strong { display:block; font-size:22px; line-height:1.25; }
.contact-person span { display:block; margin-top:5px; font-size:12px; color:#546072; }
.contact-card .button { width:100%; min-height:54px; text-align:center; padding-block:10px; }
.contact-alternatives { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:5px 18px; margin-top:12px; color:#485569; font-size:13px; }
.contact-alternatives a { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:4px; font-weight:700; }
.page-contact-options { margin-top:12px; font-size:14px; }
.page-contact-options a { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:4px; }
.site-footer { padding:31px 0; background:#10192d; color:#c8d1df; }
.footer-inner { display:grid; grid-template-columns:1fr auto; align-items:start; gap:24px; }
.footer-inner .brand-lockup { width:165px; }
.footer-inner p { margin:15px 0 0; font-size:12px; }
.footer-column { display:flex; flex-direction:column; align-items:flex-end; }
.footer-contact { display:flex; flex-wrap:wrap; gap:6px 24px; margin-top:15px; font-size:13px; }
.footer-contact a { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:4px; }
.footer-links { display:flex; flex-wrap:wrap; gap:18px; font-size:12px; }
.footer-links a { text-decoration:none; }
.footer-links a:hover { color:var(--yellow); }
.page-hero { background:var(--navy); color:#fff; padding:77px 0 83px; }
.page-hero h1 { max-width:890px; margin:18px 0 21px; }
.page-hero p { max-width:720px; color:#cbd6e5; font-size:19px; }
.page-hero .button { margin-top:15px; }
.content-grid { display:grid; grid-template-columns:1fr 1fr; gap:38px; }
.content-grid p { color:var(--muted); }
.question-list { display:grid; gap:12px; }
.question { padding:19px 21px; background:#fff; border:1px solid var(--line); border-radius:11px; }
.question b { display:block; font-size:17px; }
.question span { color:var(--muted); font-size:13px; }
.plain-list { padding-left:20px; color:var(--muted); }
.plain-list li { margin:9px 0; }
.editorial { background:#f7f9fa; }
.editorial .wrap { max-width:980px; }
.editorial .lead { max-width:800px; font:clamp(23px,3vw,33px)/1.42 Georgia,serif; color:#293550; }
.editorial p { color:#586276; }
@media(max-width:1060px) { .nav { gap:18px; } .nav-links { gap:14px; } .nav .brand-lockup { width:165px; } .contact-label { display:none; } .contact-short { display:inline; } .hero-grid { gap:30px; } .team-card-header { padding:23px 23px 0; gap:13px; } .team-card-body { padding:20px 23px 23px; } .closing-inner { gap:30px; } }
@media(max-width:760px) {
  section[id] { scroll-margin-top:130px; }
  .wrap { width:min(100% - 34px,560px); }
  .nav { min-height:68px; gap:8px 12px; flex-wrap:wrap; padding-top:10px; }
  .nav .brand-lockup { width:140px; }
  .nav-links { display:flex; flex-wrap:wrap; justify-content:space-between; order:3; width:100%; margin-left:0; gap:0 12px; padding:0 0 4px; }
  .nav-links a { display:inline-flex; align-items:center; min-height:44px; font-size:12px; }
  .nav-end { margin-left:auto; }
  .nav-end .button { padding-inline:13px; }
  .nav-end { gap:8px; }
  .hero-grid { grid-template-columns:1fr; gap:34px; padding:63px 0 70px; min-height:0; }
  .hero h1 { font-size:clamp(41px,10vw,58px); }
  .hero-lede { font-size:16px; }
  .hero-actions { flex-direction:column; }
  .hero-actions .button { width:100%; }
  .section { padding:70px 0; }
  .section-head { display:block; }
  .section-head p { margin-top:15px; }
  .program-grid,.guide-grid,.method-grid,.case-layout,.quote-grid,.content-grid,.team-cards,.evidence-teaser-grid,.closing-inner,.footer-inner { grid-template-columns:1fr; }
  .program-card,.method-card,.guide-card { min-height:0; }
  .program-card h3 { margin-top:7px; }
  .case-layout { gap:26px; }
  .case-story { min-height:0; }
  .case-story-number { margin-top:24px; font-size:66px; }
  .case-story .card-link { margin-top:24px; }
  .proof-panel { padding:22px; }
  .proof-facts { grid-template-columns:1fr; }
  .proof-metric .proof-task { min-height:0; }
  .quote-card { min-height:0; }
  .closing-inner,.footer-inner { align-items:start; }
  .footer-column { align-items:flex-start; }
  .closing-copy p { font-size:16px; }
  .contact-card { padding:23px; }
  .closing .button { width:100%; }
  .page-hero { padding:66px 0 72px; }
  .page-hero h1 { font-size:clamp(41px,10vw,60px); }
  .page-hero p { font-size:16px; }
}
@media(min-width:761px) and (max-width:1060px) {
  .team-card-header { flex-direction:column; align-items:flex-start; }
  .program-card-header { flex-direction:column; align-items:flex-start; gap:12px; min-height:158px; }
}
@media(max-width:350px) {
  section[id] { scroll-margin-top:170px; }
  .nav .brand-lockup { width:112px; }
  .nav-links { column-gap:6px; }
  .nav-links a { font-size:11px; }
  .program-visual { flex-basis:72px; width:72px; height:72px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button { transition:none; } }
