/* AIESEP app system 2.0 — shared chrome, controls and fallback content families. */
body.aiesep-app{background:var(--a-app-canvas);color:var(--a-app-muted);font-family:var(--a-font-body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}
.aiesep-app :is(h1,h2,h3,h4){color:var(--a-app-ink);font-family:var(--a-font-display);font-weight:600;letter-spacing:-.025em}
.aiesep-app :is(button,input,select,textarea){font-family:var(--a-font-body);letter-spacing:0}
.aiesep-app .button{border-radius:var(--a-app-control-radius);font-size:.9375rem;font-weight:550;min-height:46px;line-height:1.4;padding:12px 20px;box-shadow:0 2px 3px #15283F08;gap:14px;transition:background-color .16s,box-shadow .16s,transform .16s}
.aiesep-app .button:hover{box-shadow:0 4px 10px #0868B51a;transform:translateY(-1px)}
.aiesep-app .button:active{transform:translateY(0)}
.aiesep-app .button :is(svg){width:20px;height:20px}
.aiesep-app :is(input[type=search],input[type=text],input[type=email],input[type=password],input[type=tel],input[type=url],select,textarea){border-radius:var(--a-app-control-radius);border-color:#9BAFC3;min-height:46px;font-size:1rem;background:#fff;box-shadow:0 1px 2px #15283F04;transition:border-color .16s,box-shadow .16s}
.aiesep-app :is(input,select,textarea):focus{border-color:var(--a-app-accent);box-shadow:0 0 0 3px #0868B515}
.aiesep-app :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--a-app-accent);outline-offset:3px}
.aiesep-app .section-label,.aiesep-app .eyebrow{letter-spacing:.045em;font-size:.75rem;line-height:1.5}
.aiesep-app .site-header{position:sticky;top:0;background:#fffffffa;border-bottom:1px solid var(--a-app-line);box-shadow:0 2px 12px #15283F04;backdrop-filter:blur(14px)}
.aiesep-app.admin-bar .site-header{top:32px}
.aiesep-app .header-inner{gap:16px;min-height:80px}
.aiesep-app .brand{display:flex;align-items:center;gap:0;text-decoration:none;color:var(--a-app-ink);margin-right:auto}
.aiesep-app .brand img{width:70px;height:auto;object-fit:contain}
.aiesep-app .brand-context{display:grid;gap:1px;min-width:146px;margin-left:17px;padding-left:17px;border-left:1px solid #cfdae5;color:#52677d;font-size:.78rem;font-weight:450;letter-spacing:-.012em;line-height:1.35;white-space:nowrap}
.aiesep-app .brand-context>span{display:block}
.aiesep-app .primary-navigation .mega-primary-list{gap:12px!important}
.aiesep-app .primary-navigation .mega-item>a{font-size:.8125rem;font-weight:550;min-height:46px}
.aiesep-app .mega-toggle{width:24px;min-width:24px}
.aiesep-app .app-header-tools{display:flex;align-items:center;gap:8px}
.aiesep-app .app-header-tools a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--a-app-line);border-radius:10px;color:var(--a-app-ink);text-decoration:none;font-size:.8125rem;font-weight:550;white-space:nowrap;background:var(--a-app-surface)}
.aiesep-app .app-header-tools a:hover{background:var(--a-app-canvas);border-color:#9BAFC3}
.aiesep-app .app-search-link{width:44px;padding:0}
.aiesep-app .app-account-link{padding:10px 14px}
.aiesep-app .header-join{min-height:44px;font-size:.8125rem;padding:10px 16px}
.aiesep-app .menu-toggle{min-height:44px;border:1px solid var(--a-app-line);padding:8px 12px;border-radius:10px;gap:8px;font-size:.875rem}
.aiesep-app .mega-panel{left:var(--a-layout-gutter);right:var(--a-layout-gutter);width:auto;max-width:1280px;margin:auto;border:1px solid var(--a-app-line);border-radius:0 0 18px 18px;box-shadow:0 18px 42px #15283F1a}
.aiesep-app .mega-layout{grid-template-columns:.9fr 2fr 1.05fr;gap:32px;padding-block:28px 20px}
.aiesep-app .mega-introduction h2{font-size:1.75rem;letter-spacing:-.025em;margin-bottom:16px}
.aiesep-app .mega-introduction p{font-size:.875rem;margin-bottom:14px}
.aiesep-app .mega-routes{gap:4px 20px;grid-auto-rows:minmax(96px,auto)}
.aiesep-app .mega-route{padding:15px 10px;gap:7px;border-radius:10px}
.aiesep-app .mega-route:hover{background:var(--a-app-canvas)}
.aiesep-app .mega-route-title{font-size:1.0625rem;letter-spacing:-.015em}
.aiesep-app .mega-route-description{font-size:.8125rem}
.aiesep-app .mega-preview{border-radius:12px;min-height:280px;padding:24px}
.aiesep-app .mega-preview h3{font-size:1.25rem;letter-spacing:-.02em}
.aiesep-app .mega-preview-label{font-size:.75rem;letter-spacing:.02em;text-transform:none}
.aiesep-app .navigation-dialog{border-radius:20px 0 0 20px}
.aiesep-app .mobile-section summary{font-size:1.0625rem;min-height:56px;letter-spacing:-.015em}
.aiesep-app .mobile-section-links a{font-size:.9375rem}
.aiesep-app .search-return-context{background:#fff;border-bottom:1px solid var(--a-app-line)}
.aiesep-app :is(.about-opening,.membership-cover,.history-opening,.sig-directory-opening,.sig-profile-opening,.award-hub-opening,.award-scheme-opening,.award-poster-opening,.help-opening,.events-intro,.gallery-masthead,.page-masthead){background:var(--a-app-canvas);padding-block:36px 26px;border:0}
.aiesep-app :is(.about-opening,.membership-cover,.history-opening,.sig-directory-opening,.sig-profile-opening,.award-hub-opening,.award-scheme-opening,.award-poster-opening,.help-opening,.events-intro,.gallery-masthead,.page-masthead) h1{font-size:clamp(2rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.03em;max-width:28ch}
.aiesep-app :is(.about-intro,.research-intro,.membership-cover .lede,.page-masthead p){font-size:1.0625rem;line-height:1.65}
.aiesep-app :is(.about-photograph img,.membership-cover-image img,.gallery-collection-cover,.gallery-photo img,.event-detail-hero img){border-radius:14px}
.aiesep-app :is(.help-contact,.help-topics,.event-group,.sig-index,.award-family-list,.membership-value-list){border-color:var(--a-app-line)}
.aiesep-app :is(.help-disclosures details,.sig-participation,.award-call,.event-practical,.membership-paths){border-radius:14px;border-color:var(--a-app-line)}
.aiesep-app :is(.event-row h3,.gallery-collection h2,.award-family-list h3){font-size:1.375rem;line-height:1.3;letter-spacing:-.02em}
.aiesep-app .reading-content{font-size:1.0625rem;line-height:1.8}
.aiesep-app .task-header{background:#fff;border-bottom:1px solid var(--a-app-line)}
.aiesep-app .task-header>.a-container{min-height:76px}
.aiesep-app .task-header img{width:60px;height:46px;object-fit:contain}
.aiesep-app .task-header nav a{border-radius:10px;font-size:.875rem;min-height:44px;padding:10px 14px}
.aiesep-app .demo-task-note span{color:#365675}
.aiesep-app .demo-task-note{background:#EAF3FC;border-bottom:1px solid var(--a-app-line);font-size:.8125rem;color:#365675}
.aiesep-app .site-footer{background:#fff;color:var(--a-app-muted);border-top:1px solid var(--a-app-line);padding-top:32px}
.aiesep-app .site-footer a,.aiesep-app .site-footer .footer-community p{color:var(--a-app-ink)}
.aiesep-app .footer-brand img{filter:none}
.aiesep-app .footer-main{gap:20px;padding-bottom:18px}
.aiesep-app .site-footer :is(.footer-directory,.footer-community,.footer-bottom){border-color:var(--a-app-line)}
.aiesep-app .footer-directory h2{font-size:.875rem;text-transform:none;letter-spacing:-.01em}
.aiesep-app .footer-directory a{font-size:.8125rem;min-height:32px}
.aiesep-app .footer-community{padding-block:18px}
.aiesep-app .site-footer .footer-community small{color:#566f86!important}
.aiesep-app .footer-bottom{padding-block:16px;min-height:56px}
.app-motion-preference{background:#fff;padding-bottom:12px}
.app-motion-preference>.a-container{display:flex;justify-content:flex-end}
.app-motion-preference .motion-toggle{color:#52647A;border-color:#DDE5EE;min-height:44px}
body.login{background:var(--a-app-canvas)}
body.login #login{border:1px solid var(--a-app-line);border-radius:18px;box-shadow:0 8px 30px #15283F06}
body.login :is(#loginform,#lostpasswordform){border-radius:12px}
body.login :is(input.input,button,.button-primary){border-radius:10px}
@media(min-width:1120px) and (max-width:1375px){.aiesep-app .header-inner{gap:10px}.aiesep-app .brand-context{display:none}.aiesep-app .primary-navigation .mega-primary-list{gap:7px!important}.aiesep-app .app-account-link{padding-inline:10px}.aiesep-app .brand img{width:54px}.aiesep-app .header-join{padding-inline:12px}}
@media(max-width:1119px){.aiesep-app .header-inner{gap:12px;min-height:72px}.aiesep-app .app-header-tools{margin-left:auto}.aiesep-app .brand{margin-right:0}}
@media(max-width:820px){.aiesep-app .brand-context{display:none}.aiesep-app .brand img{width:54px}}
@media(max-width:600px){.aiesep-app .header-inner{min-height:68px;gap:8px}.aiesep-app .brand img{width:46px;height:auto}.aiesep-app .app-account-link{display:none!important}.aiesep-app .menu-toggle{gap:6px}.aiesep-app .menu-toggle svg{width:20px}.aiesep-app :is(.about-opening,.membership-cover,.history-opening,.sig-directory-opening,.sig-profile-opening,.award-hub-opening,.award-scheme-opening,.award-poster-opening,.help-opening,.events-intro,.gallery-masthead,.page-masthead){padding-block:26px 22px}.aiesep-app .task-header .task-context{display:none}.aiesep-app .task-header nav{gap:2px}.aiesep-app .task-header nav a{padding-inline:9px;font-size:.8125rem}.aiesep-app .task-header>.a-container{min-height:68px}.aiesep-app .footer-main p{font-size:.8125rem}.aiesep-app .footer-directory{gap:24px}.aiesep-app .footer-community{gap:14px}.aiesep-app .footer-community p{font-size:.9375rem}}
@media(max-width:782px){.aiesep-app.admin-bar .site-header{top:46px}}
@media(prefers-reduced-motion:reduce){.aiesep-app .button:hover{transform:none}}
html[data-motion=reduced] .aiesep-app *{scroll-behavior:auto!important}
html[data-motion=reduced] .aiesep-app .button:hover{transform:none}
@media(forced-colors:active){.aiesep-app .site-header{background:Canvas}.aiesep-app .app-header-tools a,.aiesep-app .menu-toggle{border-color:ButtonText}.aiesep-app :is(.button,.mega-panel){box-shadow:none}}
/* Footer lives on a white surface; override retained inverse directory typography. */
.aiesep-app .site-footer .footer-directory h2{color:var(--a-app-ink);margin-bottom:10px}
.aiesep-app .site-footer .footer-main .footer-directory{padding-top:24px;margin-top:6px}
.app-motion-preference .motion-toggle{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;min-height:44px;background:#fff;border:1px solid #DDE5EE;border-radius:10px;font:500 .8125rem/1.4 var(--a-font-body);cursor:pointer}
.app-motion-preference .motion-toggle:hover{background:#F4F7FB}
.aiesep-app .app-home-search .app-search-field input{border-radius:10px}
