/* 29 Oct 2026: calmer inner pages and focused redesigns requested by the client. */

/* Inner pages stay visually still; only local UI feedback such as FAQ disclosure remains. */
.inner-page .hero-inner h1{animation:none!important;opacity:1!important;filter:none!important;transform:none!important}

/* Ten directions: the supplied orbital artwork becomes the page's single visual anchor. */
[data-page="departments"] .departments-hero{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);
  align-items:center;
  gap:clamp(32px,5vw,84px);
  min-height:650px;
  padding:clamp(44px,5vw,76px);
  background:linear-gradient(145deg,#f7faff 0%,#eef4ff 62%,#e3edff 100%);
}
[data-page="departments"] .departments-hero:before,
[data-page="departments"] .departments-hero:after{display:none}
.departments-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:28px}
.departments-hero-copy .hero-kicker{
  color:var(--blue);
  font-size:13px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.departments-hero-copy h1{color:#0c1742;max-width:720px}
.departments-hero-copy .hero-bottom{max-width:620px}
[data-page="departments"] .departments-hero .hero-bottom>p{color:#4e5876;font-size:20px}
.departments-hero-visual{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:100%;
  max-width:650px;
  justify-self:end;
  aspect-ratio:1;
  border-radius:50%;
}
.departments-hero-visual:before{
  content:'';
  position:absolute;
  inset:10%;
  z-index:-1;
  border-radius:50%;
  background:#76a9ff4d;
  filter:blur(56px);
}
.departments-hero-visual img{
  width:100%;
  height:100%;
  object-fit:contain;
  mix-blend-mode:multiply;
  -webkit-mask-image:radial-gradient(circle closest-side at center,#000 0 82%,rgba(0,0,0,.85) 90%,transparent 100%);
  mask-image:radial-gradient(circle closest-side at center,#000 0 82%,rgba(0,0,0,.85) 90%,transparent 100%);
}

/* About: blurred supplied image, restrained overlay and a readable glass panel. */
.about-intro-visual{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin:32px var(--gutter) 52px;
  padding:clamp(44px,5vw,76px);
  min-height:650px;
  border-radius:40px;
  color:#fff;
}
.about-intro-visual:before{
  content:'';
  position:absolute;
  z-index:-2;
  inset:-34px;
  background:url('association-ribbons.webp') center/cover no-repeat;
  filter:blur(15px) saturate(1.08);
  transform:scale(1.06);
}
.about-intro-visual:after{
  content:'';
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(105deg,rgba(7,18,55,.9) 0%,rgba(13,34,92,.76) 46%,rgba(31,20,24,.5) 100%);
}
.about-intro-visual>h2{position:relative;color:#fff;max-width:960px;margin-bottom:64px}
.about-intro-visual .two-column{position:relative;align-items:start;gap:clamp(32px,6vw,96px)}
.about-intro-visual .statement{color:#fff!important;font-size:clamp(32px,3.3vw,48px)!important;line-height:1.22!important}
.about-intro-visual .two-column>div{
  padding:30px;
  border:1px solid #ffffff40;
  border-radius:28px;
  background:rgba(8,20,58,.5);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  box-shadow:inset 0 1px #ffffff40;
}
.about-intro-visual .two-column>div p{color:#fff;font-size:17px;line-height:1.65}
.about-intro-visual .text-link{margin-top:26px;background:#fff;color:#104bd8}
.about-intro-visual .text-link:hover{background:#eef4ff}

/* Leadership: explicit contrast and clean reading order instead of text over texture. */
.leader.leader-redesigned{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:0;
  padding:0;
  overflow:hidden;
  border:1px solid #dfe5f0;
  border-radius:34px;
  background:#fff;
  color:#10183d;
  box-shadow:0 18px 60px rgba(21,45,99,.08);
}
.leader-name{
  position:relative;
  min-height:380px;
  padding:48px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  background:linear-gradient(145deg,#071844 0%,#0a3ba5 100%);
  color:#fff;
}
.leader-index{
  position:absolute;
  top:22px;
  right:34px;
  font-size:clamp(92px,10vw,150px);
  font-weight:500;
  line-height:1;
  letter-spacing:-.08em;
  color:#ffffff12;
}
.leader .leader-eyebrow{margin:0 0 20px;color:#a9d6ff;font-size:13px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}
.leader.leader-redesigned h3{position:relative;color:#fff;font-size:clamp(44px,4.7vw,68px);line-height:1.02;max-width:520px}
.leader-bio{padding:48px;display:flex;flex-direction:column;justify-content:space-between;gap:48px}
.leader.leader-redesigned .leader-bio>p{font-size:clamp(20px,1.75vw,26px)!important;line-height:1.5!important;color:#172044;max-width:820px;margin:0}
.leader-bio>span{padding-top:24px;border-top:1px solid #dfe5f0;color:#54617c;font-size:13px;line-height:1.5;letter-spacing:.04em;text-transform:uppercase}

/* Membership benefits: numbered, editorial cards inspired by the supplied reference. */
.membership-benefits-section{padding-bottom:104px!important}
.membership-benefits{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:start;
}
.inner-page .membership-benefits .benefit-card{
  min-height:440px;
  margin:0;
  border:1px solid #dfe4ee;
  border-radius:26px;
  background:#f8f9fb;
  color:#111a3e;
  overflow:hidden;
}
.inner-page .membership-benefits .benefit-card:nth-child(2){
  margin-top:64px;
  border-color:transparent;
  background:linear-gradient(180deg,#0645d4 0%,#3f74e9 68%,#f4f7fc 100%);
  color:#fff;
}
.inner-page .membership-benefits .benefit-card:nth-child(3){background:linear-gradient(145deg,#f5f8ff,#eaf1ff)}
.membership-benefits .benefit-card>a{min-height:440px;padding:30px;display:flex;flex-direction:column;align-items:flex-start;text-decoration:none}
.benefit-number{font-family:Manrope,Arial,sans-serif;font-size:13px;letter-spacing:.08em;line-height:1;color:currentColor;opacity:.76}
.membership-benefits .benefit-icon{width:44px;height:44px;margin:52px 0 28px;color:#1456df}
.inner-page .membership-benefits .benefit-card:first-child .benefit-icon{color:#1456df}
.membership-benefits .benefit-card:nth-child(2) .benefit-icon{color:#fff}
.membership-benefits .benefit-card h3{margin:0 0 18px;font-size:clamp(28px,2.4vw,36px);line-height:1.1;color:inherit}
.membership-benefits .benefit-card p{margin:0;max-width:34ch;font-size:16px;line-height:1.55;color:inherit;opacity:.82}
.benefit-footer{width:100%;margin-top:auto;padding-top:34px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.inner-page .membership-benefits .benefit-action{display:block;width:auto;margin:0;padding:0;background:transparent;border:0;border-radius:0;color:#1456df;font-size:14px;line-height:1.4;font-weight:600}
.inner-page .membership-benefits .benefit-card:nth-child(2) .benefit-action{background:transparent;color:#104bd8}
.benefit-check{width:30px;height:30px;display:grid;place-items:center;flex:none;border:1px solid currentColor;border-radius:50%;color:#1456df;font-size:14px;background:#fff}
.membership-benefits .benefit-card:focus-within{outline:3px solid #7b9aff;outline-offset:5px}
.membership-benefits .benefit-card>a:focus-visible{outline:0}

/* FAQ: separate cards, standards-sized targets and a local smooth disclosure. */
.faq-grid{display:grid;gap:14px;border:0}
.faq-grid details{
  overflow:clip;
  border:1px solid #dfe4ee;
  border-radius:20px;
  background:#f7f8fb;
  padding:0 28px;
}
.faq-grid details[open]{background:#fff;border-color:#c8d5ef;box-shadow:0 14px 38px rgba(19,48,107,.08)}
.faq-grid summary{
  min-height:88px;
  padding:24px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  color:#101a42;
  font-size:clamp(20px,1.8vw,26px);
  line-height:1.3;
  cursor:pointer;
  list-style:none;
}
.faq-grid summary::-webkit-details-marker{display:none}
.faq-grid summary:after{display:none}
.faq-grid summary:focus-visible{outline:3px solid #7b9aff;outline-offset:4px;border-radius:12px}
.faq-icon{
  position:relative;
  width:40px;
  height:40px;
  flex:none;
  border:1px solid #cbd8f0;
  border-radius:50%;
  background:#fff;
  transition:rotate .35s cubic-bezier(.22,1,.36,1),background .25s ease;
}
.faq-icon:before,.faq-icon:after{content:'';position:absolute;left:50%;top:50%;width:14px;height:1.5px;border-radius:2px;background:#1456df;translate:-50% -50%}
.faq-icon:after{rotate:90deg}
.faq-grid details[open] .faq-icon{rotate:45deg;background:#eef4ff}
.faq-answer{overflow:hidden}
.faq-answer>div{padding:0 68px 28px 0}
.faq-answer p{margin:0;max-width:900px;color:#4f5b78;font-size:17px!important;line-height:1.65!important}

/* Joint projects: give the action its own rhythm instead of attaching it to copy. */
.projects-initiative{padding-top:88px!important;padding-bottom:96px!important}
.projects-initiative>h2{margin-bottom:56px!important}
.projects-initiative .two-column>div{display:flex;flex-direction:column;align-items:flex-start}
.projects-initiative .two-column>div>p{margin:0}
.projects-initiative .button{margin-top:36px;align-self:flex-start;min-width:240px}

@media(max-width:999px){
  [data-page="departments"] .departments-hero{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);min-height:560px;padding:44px}
  .departments-hero-copy h1{font-size:clamp(48px,7vw,72px)}
  .about-intro-visual{min-height:0;padding:48px;margin-top:24px}.about-intro-visual>h2{margin-bottom:46px}
  .leader-name,.leader-bio{padding:38px}.leader-name{min-height:340px}
  .membership-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .inner-page .membership-benefits .benefit-card:nth-child(2){margin-top:40px}
  .inner-page .membership-benefits .benefit-card:nth-child(3){grid-column:1/-1}
  .membership-benefits .benefit-card>a{padding:26px}.membership-benefits .benefit-icon{margin-top:42px}
}

@media(max-width:900px){
  [data-page="departments"] .departments-hero{grid-template-columns:1fr;gap:18px;padding:40px 32px 28px}
  .departments-hero-copy{gap:20px}
  .departments-hero-visual{justify-self:center;max-width:440px;margin-top:-8px}
}

@media(max-width:760px){
  [data-page="departments"] .departments-hero{grid-template-columns:1fr;gap:18px;padding:36px 24px 24px}
  .departments-hero-copy{gap:20px}.departments-hero-copy .hero-bottom p{font-size:18px}
  .departments-hero-visual{justify-self:center;max-width:440px;margin-top:-8px}
  .about-intro-visual .two-column{grid-template-columns:1fr}.about-intro-visual .two-column>div{padding:26px}
  .leader.leader-redesigned{grid-template-columns:1fr}.leader-name{min-height:310px}.leader-bio{min-height:320px}
  .membership-benefits{grid-template-columns:1fr}
  .inner-page .membership-benefits .benefit-card:nth-child(2){margin-top:0}
  .inner-page .membership-benefits .benefit-card:nth-child(3){grid-column:auto}
  .membership-benefits .benefit-card,.membership-benefits .benefit-card>a{min-height:380px}
}

@media(max-width:699px){
  [data-page="departments"] .departments-hero{margin:0 10px 16px;border-radius:28px;min-height:0}
  .departments-hero-copy .hero-kicker{font-size:11px}.departments-hero-copy h1{font-size:clamp(44px,12vw,62px)}
  .departments-hero-visual{max-width:360px}
  .about-intro-visual{margin:16px 20px 36px;padding:34px 24px;border-radius:28px}.about-intro-visual>h2{margin-bottom:34px}.about-intro-visual .statement{font-size:30px!important}.about-intro-visual .two-column>div{border-radius:22px;padding:22px}.about-intro-visual .two-column>div p{font-size:16px}
  .leader.leader-redesigned{border-radius:26px}.leader-name,.leader-bio{padding:28px}.leader-name{min-height:280px}.leader.leader-redesigned h3{font-size:44px}.leader-bio{min-height:0;gap:32px}.leader-bio p{font-size:19px!important}.leader-bio>span{font-size:11px}
  .membership-benefits-section{padding-bottom:56px!important}.membership-benefits{gap:16px}.membership-benefits .benefit-card,.membership-benefits .benefit-card>a{min-height:360px}.membership-benefits .benefit-card>a{padding:26px}.membership-benefits .benefit-icon{margin:38px 0 24px}.membership-benefits .benefit-card h3{font-size:30px}.membership-benefits .benefit-card p{font-size:16px}
  .faq-grid{gap:12px}.faq-grid details{padding:0 20px;border-radius:18px}.faq-grid summary{min-height:78px;padding:20px 0;gap:18px;font-size:20px}.faq-icon{width:36px;height:36px}.faq-answer>div{padding:0 0 22px}.faq-answer p{font-size:16px!important}
  .projects-initiative{padding-top:56px!important;padding-bottom:64px!important}.projects-initiative>h2{margin-bottom:36px!important}.projects-initiative .button{width:100%;margin-top:28px}
}

@media(prefers-reduced-motion:reduce){.faq-icon{transition:none}.faq-answer{animation:none!important}}
