@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@700;800&display=swap");

:root { --bg:#fff; --surface-soft:#f7f5fb; --border:rgba(92,43,130,.14); --text:#1f2544; --muted:#4f5878; --primary:#5c2b82; --primary-dark:#3f1c62; --teal:#138b98; --blue:#2f4aa0; --shadow:0 18px 42px rgba(31,37,68,.09); --shadow-hover:0 25px 54px rgba(47,74,160,.15); --container:1280px; --gutter:48px; --heading:"Manrope","Avenir Next",sans-serif; --body:"Inter","Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:30px; }
body { margin:0; color:var(--text); background:var(--bg); font-family:var(--body); -webkit-font-smoothing:antialiased; }
h1,h2,h3,.eyebrow,.nav-links,.button,.resource-type,.insight-label { font-family:var(--heading); }
h1,h2,h3,p { margin-top:0; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.container { width:min(calc(100% - var(--gutter)),var(--container)); margin:0 auto; }
.site-shell { overflow:hidden; }
.topbar,.site-header { position:relative; z-index:20; padding:30px 0 18px; background:linear-gradient(180deg,rgba(255,255,255,.93),rgba(255,255,255,.42) 72%,rgba(255,255,255,0)); backdrop-filter:blur(8px); }
.nav { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; align-items:center; }
.brand img { width:90px; height:auto; }
.nav-links { display:flex; align-items:center; gap:30px; color:var(--text); font-size:.96rem; font-weight:600; letter-spacing:-.02em; }
.nav-actions { display:flex; align-items:center; gap:14px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:0 22px; border:1px solid transparent; border-radius:12px; font-weight:700; letter-spacing:-.02em; transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
.button:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(31,37,68,.12); }
.button-primary { color:#fff; background:var(--primary); }
.button-primary:hover { background:var(--primary-dark); }

.links-hero { position:relative; min-height:535px; display:grid; align-items:center; overflow:hidden; background:#eee9f4; }
.links-hero::before { content:""; position:absolute; inset:0; background:url("../images/news-hero.png") center/cover no-repeat; transform:scale(1.02); filter:saturate(.78); }
.links-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.96) 36%,rgba(255,255,255,.78) 51%,rgba(255,255,255,.19) 73%,rgba(255,255,255,.02) 100%),linear-gradient(0deg,rgba(38,18,75,.09),transparent 42%); }
.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.08fr .92fr; padding:66px 0 80px; }
.breadcrumb { display:flex; align-items:center; gap:10px; margin-bottom:27px; color:var(--muted); font-size:.9rem; }
.breadcrumb a { color:var(--primary); font-weight:700; }
.eyebrow { display:inline-block; margin-bottom:15px; color:var(--primary); font-size:.78rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
h1 { max-width:760px; margin-bottom:22px; color:var(--primary); font-size:clamp(4rem,5vw,4.5rem); line-height:.98; letter-spacing:-.065em; }
.hero-copy>p { max-width:650px; margin-bottom:28px; color:var(--muted); font-size:1.12rem; line-height:1.78; }
.hero-links { display:flex; flex-wrap:wrap; gap:11px; }
.hero-links a { display:inline-flex; align-items:center; gap:9px; min-height:42px; padding:0 15px; border:1px solid rgba(92,43,130,.18); border-radius:999px; color:var(--primary); background:rgba(255,255,255,.78); font-size:.82rem; font-weight:800; transition:background .18s ease,border-color .18s ease; }
.hero-links a:hover { border-color:var(--primary); background:#fff; }

.intro-section { padding:86px 0; }
.intro-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:100px; align-items:start; }
.intro-heading h2,.section-heading h2 { margin-bottom:0; color:var(--primary); font-size:clamp(2.3rem,4vw,3.6rem); line-height:1.04; letter-spacing:-.055em; }
.intro-grid>p { max-width:720px; margin:3px 0 0; color:var(--muted); font-size:1.03rem; line-height:1.85; }
.directory-section { position:relative; padding:98px 0 108px; background:linear-gradient(180deg,#f8f7fb 0%,#fff 88%); }
.directory-section::before { content:""; position:absolute; top:70px; right:-170px; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle,rgba(19,139,152,.09),transparent 68%); }
.section-heading { position:relative; z-index:1; display:flex; align-items:end; justify-content:space-between; gap:45px; margin-bottom:42px; }
.section-heading>p { max-width:470px; margin:0 0 4px; color:var(--muted); line-height:1.7; }
.resource-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.resource-card { position:relative; min-height:236px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; padding:27px 28px 26px; border:1px solid var(--border); border-radius:20px; background:#fff; box-shadow:0 10px 28px rgba(31,37,68,.055); transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.resource-card:hover { transform:translateY(-5px); border-color:rgba(92,43,130,.34); box-shadow:var(--shadow-hover); }
.card-number { color:rgba(92,43,130,.34); font-family:var(--heading); font-size:.72rem; font-weight:800; letter-spacing:.1em; }
.resource-type,.insight-label { display:block; margin:28px 0 9px; color:var(--teal); font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.resource-card h3 { max-width:85%; margin-bottom:8px; font-size:1.23rem; line-height:1.28; letter-spacing:-.035em; }
.resource-card p { max-width:90%; margin-bottom:0; color:var(--muted); font-size:.86rem; line-height:1.55; }
.external { position:absolute; top:23px; right:24px; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:var(--primary); background:var(--surface-soft); font-size:1rem; transition:color .2s ease,background .2s ease,transform .2s ease; }
.resource-card:hover .external { color:#fff; background:var(--primary); transform:translate(2px,-2px); }
.resource-card.featured { color:#fff; border-color:transparent; background:linear-gradient(135deg,#3f1c62,#5c2b82 65%,#2f4aa0); }
.resource-card.featured .card-number,.resource-card.featured p { color:rgba(255,255,255,.7); }
.resource-card.featured .resource-type { color:#aee4e4; }
.resource-card.featured .external { color:#fff; background:rgba(255,255,255,.15); }

.insights-section { padding:96px 0 110px; }
.insights-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:22px; }
.insight-card { grid-column:span 2; min-height:300px; display:flex; flex-direction:column; padding:30px; border:1px solid var(--border); border-radius:22px; background:#fff; box-shadow:0 10px 28px rgba(31,37,68,.055); transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.insight-card:nth-child(4),.insight-card:nth-child(5) { grid-column:span 3; }
.insight-card:hover { transform:translateY(-5px); border-color:rgba(92,43,130,.3); box-shadow:var(--shadow-hover); }
.insight-label { margin:0 0 20px; color:var(--primary); }
.insight-card h3 { margin-bottom:13px; font-size:1.35rem; line-height:1.3; letter-spacing:-.04em; }
.insight-card p { margin-bottom:24px; color:var(--muted); font-size:.9rem; line-height:1.65; }
.read-link { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:auto; padding-top:18px; border-top:1px solid var(--border); color:var(--primary); font-size:.83rem; font-weight:800; }
.read-link b { font-size:1rem; }
.help-panel { display:flex; align-items:center; justify-content:space-between; gap:42px; margin-top:84px; padding:43px 48px; border-radius:24px; color:#fff; background:linear-gradient(120deg,#32155c,#5c2b82 55%,#2f4aa0); box-shadow:var(--shadow); }
.help-panel .eyebrow { color:#d8c3e8; }
.help-panel h2 { margin-bottom:10px; font-size:clamp(1.8rem,3vw,2.6rem); letter-spacing:-.045em; }
.help-panel p { max-width:650px; margin:0; color:rgba(255,255,255,.78); line-height:1.68; }
.help-panel .button { flex:0 0 auto; color:var(--primary); background:#fff; }

.site-footer { width:100%; padding:46px max(32px,calc((100vw - var(--container))/2)) 28px; color:rgba(255,255,255,.88); background:linear-gradient(90deg,#26124b 0%,#2e1960 45%,#341f72 100%); }
.footer-grid { display:grid; grid-template-columns:1.45fr 1fr 1fr 1fr 1.12fr; gap:28px; }
.footer-column { display:flex; flex-direction:column; gap:11px; }
.footer-brand img { width:122px; margin-bottom:13px; }
.footer-brand-copy { max-width:245px; color:rgba(255,255,255,.72); font-size:.9rem; line-height:1.65; }
.footer-title { margin-bottom:4px; color:#fff; font-size:.95rem; font-weight:800; }
.footer-links { display:grid; gap:9px; color:rgba(255,255,255,.77); font-size:.88rem; }
.footer-links a:hover { color:#fff; }
.footer-meta { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-top:34px; padding-top:24px; border-top:1px solid rgba(255,255,255,.13); color:rgba(255,255,255,.62); font-size:.84rem; }
.footer-meta-links { display:flex; flex-wrap:wrap; gap:14px; }
.reveal { opacity:0; transform:translateY(20px); transition:opacity .55s ease,transform .55s ease; }
.reveal.visible { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; } .reveal { opacity:1; transform:none; } }
@media (max-width:1100px) { .resource-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .insight-card,.insight-card:nth-child(4),.insight-card:nth-child(5) { grid-column:span 3; } .footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:840px) { .nav { flex-wrap:wrap; gap:18px; } .nav-links { order:3; width:100%; } .nav-actions { margin-left:auto; } .hero-grid { grid-template-columns:1fr; } .intro-grid { grid-template-columns:1fr; gap:24px; } .section-heading { align-items:flex-start; flex-direction:column; gap:14px; } .help-panel { align-items:flex-start; flex-direction:column; } }
@media (max-width:680px) { :root { --gutter:28px; } .topbar { padding-top:16px; padding-bottom:12px; } .brand { width:100%; justify-content:center; } .brand img { width:82px; } .nav-actions { width:100%; margin-left:0; } .nav-actions .button { width:100%; } .links-hero { min-height:645px; } .links-hero::after { background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(255,255,255,.93) 58%,rgba(255,255,255,.54)); } .hero-grid { padding:51px 0 74px; } .hero-copy>p { font-size:1rem; } .hero-links { align-items:stretch; flex-direction:column; } .hero-links a { justify-content:space-between; } .intro-section,.directory-section,.insights-section { padding:72px 0 82px; } .resource-grid { grid-template-columns:1fr; } .resource-card { min-height:220px; } .insights-grid { grid-template-columns:1fr; } .insight-card,.insight-card:nth-child(4),.insight-card:nth-child(5) { grid-column:auto; min-height:270px; } .help-panel { margin-top:62px; padding:34px 25px; } .help-panel .button { width:100%; } .footer-grid { grid-template-columns:1fr; } .site-footer { padding-right:22px; padding-left:22px; } .footer-meta { align-items:flex-start; flex-direction:column; } }

.faq-section { padding:96px 0 110px; background:linear-gradient(180deg,#f8f7fb 0%,#fff 86%); }
.faq-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:86px; align-items:start; }
.faq-intro { position:sticky; top:40px; }
.faq-intro h2 { margin-bottom:18px; color:var(--primary); font-size:clamp(2.3rem,4vw,3.6rem); line-height:1.04; letter-spacing:-.055em; }
.faq-intro p { max-width:430px; margin-bottom:0; color:var(--muted); line-height:1.78; }
.faq-list { display:grid; gap:14px; }
.faq-item { overflow:hidden; border:1px solid var(--border); border-radius:18px; background:#fff; box-shadow:0 10px 28px rgba(31,37,68,.05); }
.faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:82px; padding:22px 25px; color:var(--primary); font-family:var(--heading); font-size:1.08rem; font-weight:800; line-height:1.4; list-style:none; cursor:pointer; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:"+"; width:32px; height:32px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; color:var(--primary); background:var(--surface-soft); font-size:1.2rem; transition:color .2s ease,background .2s ease,transform .2s ease; }
.faq-item[open] summary::after { color:#fff; background:var(--primary); transform:rotate(45deg); }
.faq-item summary:hover,.faq-item summary:focus-visible { background:#fbf9fd; outline:none; }
.faq-answer { padding:0 25px 25px; color:var(--muted); line-height:1.8; }
.faq-answer p { margin:0; color:inherit; }
.faq-answer a { color:var(--primary); font-weight:800; text-decoration:underline; text-underline-offset:3px; }

@media (max-width:840px) {
  .faq-layout { grid-template-columns:1fr; gap:34px; }
  .faq-intro { position:static; }
}

@media (max-width:680px) {
  .faq-section { padding:72px 0 82px; }
  .faq-item summary { min-height:74px; padding:19px 20px; font-size:1rem; }
  .faq-answer { padding:0 20px 22px; }
}
