:root{
  --ap-blue:#17418c;
  --ap-blue-2:#102d63;
  --ap-navy:#111827;
  --ap-ink:#1b2433;
  --ap-muted:#687386;
  --ap-line:#d9e1ec;
  --ap-soft:#f4f6fa;
  --ap-paper:#ffffff;
  --ap-orange:#ec7a18;
  --ap-orange-dark:#c95f08;
  --wrap:1180px;
  --shadow:0 18px 45px rgba(17,24,39,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ap-paper)}
body{margin:0;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;color:var(--ap-ink);background:#fff;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
button,input,textarea{font:inherit}
.wrap{width:min(var(--wrap),calc(100% - 48px));margin-inline:auto}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--ap-line)}
.site-header:before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--ap-blue),var(--ap-orange))}
.header-inner{height:78px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{width:168px;height:auto}
.desktop-nav{margin-left:auto}
.nav{display:flex;align-items:center;gap:3px;list-style:none;margin:0;padding:0}
.nav>li{position:relative}
.nav-link{display:flex;align-items:center;min-height:42px;padding:0 13px;border-bottom:3px solid transparent;color:#2f3a4d;font-size:13px;font-weight:800;letter-spacing:.015em;transition:.18s ease}
.nav-link:hover,.nav-link.active{color:var(--ap-blue);border-bottom-color:var(--ap-orange)}
.subnav{position:absolute;top:100%;left:0;display:none;min-width:210px;margin:0;padding:8px;background:#fff;border:1px solid var(--ap-line);box-shadow:var(--shadow);list-style:none}
.has-sub:hover .subnav{display:block}
.subnav a{display:block;padding:10px 12px;color:#2f3a4d;font-size:14px;font-weight:700;border-left:3px solid transparent}
.subnav a:hover{color:var(--ap-blue);border-left-color:var(--ap-orange);background:#f7f9fc}
.socials,.mobile-socials{display:flex;align-items:center;gap:7px}
.social{width:34px;height:34px;display:grid;place-items:center;color:var(--ap-blue);border:1px solid var(--ap-line);background:#fff;transition:.18s ease}
.social svg{width:17px;height:17px;fill:currentColor}
.social:hover{background:var(--ap-blue);border-color:var(--ap-blue);color:#fff}
.mobile-toggle{display:none;margin-left:auto;width:44px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid var(--ap-line);background:#fff;cursor:pointer}
.mobile-toggle span{width:20px;height:2px;background:var(--ap-navy)}
.mobile-panel{display:none;padding:0 0 18px}
.mobile-panel.is-open{display:block}
.mobile-nav{display:grid;gap:6px;list-style:none;margin:0 0 12px;padding:0}
.mobile-nav a{display:block;padding:13px 14px;background:#fff;border:1px solid var(--ap-line);font-weight:800;color:#2f3a4d}

/* Hero */
.hero{padding-top:30px}
.hero-shell{position:relative;overflow:hidden;min-height:560px;background:var(--ap-navy);border:1px solid var(--ap-line);box-shadow:var(--shadow)}
.hero-shell:after{content:"";position:absolute;inset:auto 0 0;height:7px;background:linear-gradient(90deg,var(--ap-orange),rgba(236,122,24,.2));z-index:4}
.hero-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .5s ease;background:#172644;background-image:linear-gradient(90deg,rgba(12,26,55,.88) 0%,rgba(12,26,55,.64) 48%,rgba(12,26,55,.2) 100%),var(--bg-image);background-size:cover;background-position:center}
.hero-slide.is-active{opacity:1;pointer-events:auto;z-index:1}
.hero-slide-fespa{background:linear-gradient(125deg,#112c62 0%,#17418c 55%,#0d2045 100%)}
.fespa-slide-banner{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.56;filter:saturate(1.03) contrast(1.02)}
.hero-slide-fespa:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,32,69,.95) 0%,rgba(13,32,69,.78) 50%,rgba(13,32,69,.20) 100%)}
.hero-content{position:relative;z-index:2;min-height:560px;width:min(690px,100%);padding:76px 68px 78px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff}
.fespa-slide-content{position:relative;z-index:3}
.hero-content h1,.hero-content h2{margin:0 0 20px;font-size:clamp(40px,5vw,68px);line-height:.98;letter-spacing:-.05em;font-weight:900;color:#fff;text-wrap:balance}
.hero-content h2{font-size:clamp(36px,4.5vw,60px)}
.hero-content p{max-width:650px;margin:0;color:rgba(255,255,255,.9);font-size:18px;line-height:1.55}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn,.btn-secondary,.btn-light,.btn-outline{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:12px 18px;border:1px solid transparent;font-size:14px;font-weight:900;letter-spacing:.01em;cursor:pointer;transition:.18s ease}
.btn{background:var(--ap-orange);color:#fff;border-color:var(--ap-orange)}
.btn:hover{background:var(--ap-orange-dark);border-color:var(--ap-orange-dark);transform:translateY(-1px)}
.btn-secondary{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.55)}
.btn-secondary:hover{background:#fff;color:var(--ap-blue)}
.btn-light{background:#fff;color:var(--ap-blue);border-color:#fff}
.btn-light:hover{background:#edf2fb;border-color:#edf2fb}
.btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn-outline:hover{background:#fff;color:var(--ap-blue)}
.hero-dots{position:absolute;left:68px;bottom:30px;z-index:6;display:flex;gap:8px}
.hero-dot{width:34px;height:4px;border:0;background:rgba(255,255,255,.36);cursor:pointer;padding:0;transition:.18s ease}
.hero-dot.is-active{width:54px;background:#fff}
.hero-nav{position:absolute;right:28px;bottom:22px;z-index:6;display:flex;gap:8px}
.hero-arrow{width:43px;height:43px;border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.08);color:#fff;font-size:20px;cursor:pointer;transition:.18s ease}
.hero-arrow:hover{background:#fff;color:var(--ap-blue)}

.top-video-hero{margin-top:24px;overflow:hidden;background:#101827;border:1px solid var(--ap-line);box-shadow:var(--shadow)}
.top-video-hero-media{width:100%;height:clamp(250px,31vw,390px);object-fit:cover}

/* Fast access */
.action-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:24px;border:1px solid var(--ap-line);background:#fff}
.action-card{display:block;min-height:150px;padding:24px 22px;border-right:1px solid var(--ap-line);background:#fff;transition:.18s ease}
.action-card:last-child{border-right:0}
.action-card:hover{background:#f7f9fc;box-shadow:inset 0 4px 0 var(--ap-orange)}
.action-card h3{margin:0 0 10px;color:var(--ap-navy);font-size:18px;line-height:1.17;letter-spacing:-.02em}
.action-card p{margin:0;color:var(--ap-muted);font-size:14.5px;line-height:1.48}

/* Sections */
.section{padding:68px 0 0}
.section-compact{padding-top:34px}
.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px;border-bottom:1px solid var(--ap-line);padding-bottom:18px}
.section-header h2{margin:0;color:var(--ap-navy);font-size:clamp(30px,3vw,43px);line-height:1.04;letter-spacing:-.04em;font-weight:900}
.section-header p{margin:10px 0 0;max-width:700px;color:var(--ap-muted);font-size:16px}
.section-link{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;min-height:42px;padding:10px 15px;border:1px solid var(--ap-blue);background:#fff;color:var(--ap-blue);font-size:13px;font-weight:900;transition:.18s ease}
.section-link:hover{background:var(--ap-blue);color:#fff}

/* News */
.news-section{padding-top:58px}
.news-grid{display:grid;grid-template-columns:1.18fr .82fr .82fr;gap:20px}
.news-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ap-line);min-height:100%;transition:.18s ease}
.news-card:hover{border-color:#b9c5d6;box-shadow:var(--shadow);transform:translateY(-2px)}
.news-card:first-child{grid-row:span 2}
.news-card__image{display:block;aspect-ratio:16/10;overflow:hidden;background:#edf1f6;border-bottom:1px solid var(--ap-line)}
.news-card:first-child .news-card__image{aspect-ratio:16/11}
.news-card__image img{width:100%;height:100%;object-fit:cover;transition:.35s ease}
.news-card:hover .news-card__image img{transform:scale(1.025)}
.news-card__body{padding:23px;display:flex;flex-direction:column;gap:12px;flex:1}
.news-meta,.article-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--ap-orange);font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:900}
.news-meta time,.article-meta time{color:var(--ap-muted);letter-spacing:0;text-transform:none;font-weight:800}
.news-card h3,.news-card h2{margin:0;color:var(--ap-navy);line-height:1.1;letter-spacing:-.025em;font-weight:900}
.news-card h3{font-size:21px}.news-card:first-child h3{font-size:28px}
.news-card p{margin:0;color:var(--ap-muted);line-height:1.52}
.inline-link-dark{margin-top:auto;align-self:flex-start;color:var(--ap-blue);font-weight:900;border-bottom:2px solid var(--ap-orange)}

/* Institutional */
.institutional{display:grid;grid-template-columns:1.08fr .92fr;border:1px solid var(--ap-line);background:#fff;box-shadow:var(--shadow)}
.institutional-media{min-height:430px;background:#e8edf4;border-right:1px solid var(--ap-line)}
.institutional-media img{width:100%;height:100%;object-fit:cover}
.institutional-copy{padding:52px;display:flex;flex-direction:column;justify-content:center;background:var(--ap-blue-2);color:#fff;position:relative}
.institutional-copy:before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--ap-orange)}
.institutional-copy h3{margin:0 0 20px;font-size:clamp(30px,3.2vw,48px);line-height:1.02;letter-spacing:-.045em;color:#fff}
.institutional-copy p{margin:0 0 16px;color:rgba(255,255,255,.86);font-size:16px}
.institutional-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}

/* Editorial highlight cards */
.highlights-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.highlight-card{display:flex;flex-direction:column;min-height:360px;background:#fff;border:1px solid var(--ap-line);overflow:hidden;transition:.18s ease}
.highlight-card:before{content:"";display:block;aspect-ratio:16/10;background-image:var(--card-bg);background-size:cover;background-position:center;border-bottom:1px solid var(--ap-line);filter:saturate(.98)}
.highlight-card:hover{border-color:#b9c5d6;box-shadow:var(--shadow);transform:translateY(-2px)}
.highlight-body{position:static;inset:auto;padding:22px;color:var(--ap-ink);display:flex;flex-direction:column;gap:10px;flex:1}
.highlight-body h3{margin:0;color:var(--ap-navy);font-size:21px;line-height:1.12;letter-spacing:-.025em;font-weight:900}
.highlight-body p{margin:0;color:var(--ap-muted);font-size:14.5px;line-height:1.5}
.inline-link{margin-top:auto;align-self:flex-start;color:var(--ap-blue);font-weight:900;border-bottom:2px solid var(--ap-orange)}

/* Logos and contacts */
.logos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--ap-line);background:#fff}
.logos-grid.members{grid-template-columns:repeat(5,1fr)}
.logo-card{min-height:124px;padding:26px;background:#fff;border-right:1px solid var(--ap-line);border-bottom:1px solid var(--ap-line);display:flex;align-items:center;justify-content:center;transition:.18s ease}
.logo-card:hover{background:#f7f9fc}
.logo-card img{max-width:86%;max-height:70px;object-fit:contain}
.contacts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:76px}
.contact-card{background:#fff;border:1px solid var(--ap-line);padding:32px;box-shadow:var(--shadow)}
.contact-card h3{margin:0 0 18px;color:var(--ap-navy);font-size:25px;letter-spacing:-.025em}
.contact-list{display:grid;gap:17px}
.contact-item small{display:block;margin-bottom:5px;color:var(--ap-orange);font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:900}
.contact-item div{color:#374151}.contact-item a{color:var(--ap-blue);font-weight:900}

.site-footer{margin-top:0;background:var(--ap-navy);color:#fff;border-top:5px solid var(--ap-orange)}
.footer-shell{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-shell p{margin:0;color:rgba(255,255,255,.78)}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a,.to-top{color:rgba(255,255,255,.88);font-size:14px;font-weight:800}.footer-links a:hover,.to-top:hover{color:#fff}

/* Modal */
.info-modal{position:fixed;inset:0;z-index:100;display:none}.info-modal.is-open{display:block}
.info-modal__backdrop{position:absolute;inset:0;background:rgba(7,12,22,.74);backdrop-filter:blur(8px)}
.info-modal__dialog{position:relative;width:min(1040px,calc(100% - 40px));max-height:calc(100vh - 58px);margin:29px auto;background:#fff;overflow:auto;box-shadow:0 32px 80px rgba(0,0,0,.32);display:grid;grid-template-columns:.92fr 1.08fr;border:1px solid rgba(255,255,255,.22)}
.info-modal__close{position:absolute;right:15px;top:15px;z-index:3;width:42px;height:42px;border:1px solid var(--ap-line);background:#fff;color:var(--ap-navy);font-size:28px;line-height:1;cursor:pointer}
.info-modal__media{min-height:520px;background:#e8edf4}.info-modal__media img{width:100%;height:100%;object-fit:cover}
.info-modal__body{padding:54px;display:flex;flex-direction:column;justify-content:center}.info-modal__eyebrow{margin:0 0 12px;color:var(--ap-orange);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.info-modal__body h2{margin:0 0 20px;color:var(--ap-navy);font-size:clamp(30px,3.3vw,46px);line-height:1.05;letter-spacing:-.04em}.info-modal__body p{margin:0 0 16px;color:#475366}.info-modal__actions{margin-top:12px}

/* News archive and article pages */
.page-hero{padding:72px 0 50px;background:linear-gradient(135deg,var(--ap-blue-2),var(--ap-blue));color:#fff;border-bottom:5px solid var(--ap-orange)}
.page-eyebrow{margin:0 0 12px;color:#ffc18b;font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:900}.page-hero h1{margin:0 0 18px;font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.055em;color:#fff}.page-hero p{margin:0;max-width:720px;color:rgba(255,255,255,.86);font-size:18px}
.news-archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;padding-bottom:76px}.news-card-large .news-card__image{aspect-ratio:16/8.8}.empty-state{background:#fff;border:1px solid var(--ap-line);padding:42px;margin-bottom:76px}.empty-state h2{margin:0 0 8px;color:var(--ap-navy)}.empty-state p{margin:0;color:var(--ap-muted)}
.article-page{padding:54px 0 76px}.article-wrap{max-width:940px}.back-link{display:inline-flex;margin-bottom:22px;color:var(--ap-blue);font-weight:900}.article-page h1{margin:16px 0 20px;color:var(--ap-navy);font-size:clamp(40px,5vw,68px);line-height:.98;letter-spacing:-.055em}.article-lead{margin:0 0 28px;max-width:820px;color:#485568;font-size:21px;line-height:1.5}.article-image{width:100%;max-height:520px;object-fit:cover;margin:24px 0 34px;border:1px solid var(--ap-line);box-shadow:var(--shadow)}.article-content{background:#fff;border:1px solid var(--ap-line);padding:42px}.article-content p{margin:0 0 18px;color:#344154;font-size:18px;line-height:1.7}.article-content p:last-child{margin-bottom:0}.article-action{padding-top:10px}

@media (max-width:1050px){
  .desktop-nav,.socials{display:none}.mobile-toggle{display:flex}.header-inner{height:74px}.brand img{width:154px}.hero-content{padding:62px 48px 76px}.action-strip{grid-template-columns:repeat(2,1fr)}.action-card:nth-child(2){border-right:0}.action-card:nth-child(1),.action-card:nth-child(2){border-bottom:1px solid var(--ap-line)}.news-grid{grid-template-columns:repeat(2,1fr)}.news-card:first-child{grid-row:auto;grid-column:span 2}.institutional{grid-template-columns:1fr}.institutional-media{min-height:320px;border-right:0;border-bottom:1px solid var(--ap-line)}.highlights-grid{grid-template-columns:repeat(2,1fr)}.logos-grid,.logos-grid.members{grid-template-columns:repeat(3,1fr)}.info-modal__dialog{grid-template-columns:1fr}.info-modal__media{min-height:300px}.news-archive-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .wrap{width:min(100% - 28px,var(--wrap))}.hero{padding-top:18px}.hero-shell{min-height:560px}.hero-content{min-height:560px;padding:42px 24px 80px}.hero-content p{font-size:16px}.hero-dots{left:24px;bottom:28px}.hero-nav{right:18px;bottom:20px}.action-strip,.news-grid,.highlights-grid,.contacts-grid{grid-template-columns:1fr}.news-card:first-child{grid-column:auto}.action-card,.action-card:nth-child(2){border-right:0;border-bottom:1px solid var(--ap-line)}.action-card:last-child{border-bottom:0}.section{padding-top:50px}.section-header,.section-header.news-header{align-items:flex-start;flex-direction:column}.institutional-copy{padding:34px 28px}.logos-grid,.logos-grid.members{grid-template-columns:repeat(2,1fr)}.footer-shell{padding:28px 0;align-items:flex-start;flex-direction:column}.page-hero{padding:50px 0 38px}.article-page{padding-top:34px}.article-content{padding:28px}.article-lead{font-size:18px}.info-modal__body{padding:30px}.info-modal__dialog{width:calc(100% - 20px);max-height:calc(100vh - 36px);margin:18px auto}.info-modal__media{min-height:230px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
