/* AVADA KEDAVRA 2.0 — visual foundation, home, navigation and faculty.
   Installed AFTER the legacy styles to progressively replace paper layouts. */
:root {
  --bg: #0d1013;
  --ink: #ece5d9;
  --cream: #ece5d9;
  --gold: #c8a66e;
  --muted: #aaa7a1;
  --line: rgba(197,163,105,.23);
  --ak2-midnight: #0d1013;
  --ak2-slate: #171b20;
  --ak2-card: #181b20;
  --ak2-gold: #c8a66e;
  --ak2-gold-light: #f0d9a7;
  --ak2-text: #ece5d9;
  --ak2-subtle: #a7a4a0;
}
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { background: var(--ak2-midnight); color: var(--ak2-text); }
::selection { background: #c8a66e; color: #111216; }
body::before { content:''; pointer-events:none; position:fixed; inset:0; z-index:-1; background:radial-gradient(circle at 0 0, rgba(195,155,90,.055), transparent 43%); }

/* Shared castle navigation used by all routes. */
.ak2-header.header { height:82px; width:100%; padding:0 clamp(20px,3.6vw,60px); display:flex; justify-content:space-between; align-items:center; gap:28px; position:sticky; top:0; z-index:100; background:rgba(12,15,19,.94); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border-bottom:1px solid rgba(198,163,108,.26); box-shadow:0 18px 45px rgba(0,0,0,.18); }
.ak2-brand.brand { gap:11px; font-size:17px; line-height:1; letter-spacing:.15em; color:#f1e7d6; min-width:0; }
.ak2-brand-wordmark { display:block; }
.ak2-brand.brand small { font:9px/1.5 Interface,Arial,sans-serif; letter-spacing:.27em; margin-top:8px; color:#b9a17c; }
.ak2-brand-mark { height:51px; width:43px; flex:none; color:#c8a66e; }
.ak2-header.header nav { margin-left:auto; display:flex; align-items:center; gap:clamp(10px,1.75vw,27px); flex-wrap:nowrap; font-size:11px; color:#bcb7b0; }
.ak2-header.header nav a { position:relative; white-space:nowrap; padding:11px 0; transition:color .2s; }
.ak2-header.header nav a:hover, .ak2-header.header nav a[aria-current='page'] { color:#f2dcad; }
.ak2-header.header nav a[aria-current='page']:not(.nav-enter)::after { content:''; position:absolute; left:0; right:0; bottom:1px; height:1px; background:linear-gradient(90deg,transparent,#c8a66e,transparent); }
.ak2-header.header nav a.nav-enter { display:inline-flex; gap:15px; align-items:center; padding:13px 16px; margin-left:4px; background:linear-gradient(100deg,rgba(201,163,94,.15),rgba(201,163,94,.04)); border:1px solid #c8a66e91; color:#ecd4a9; letter-spacing:.03em; }
.ak2-header.header nav a.nav-enter:hover { background:rgba(201,163,94,.25); }
.ak2-header.header nav a.nav-enter span { margin:0; }
.ak2-menu-button.menu-toggle { display:none; }
.ak2-skip { position:fixed; z-index:300; left:15px; top:-80px; padding:14px 18px; background:#e4c58c; color:#111; }
.ak2-skip:focus { top:10px; }

/* Shared footer, with monumental typography rather than a paper motif. */
.ak2-footer.footer { width:100%; max-width:none; padding:64px 0 0; display:block; background:linear-gradient(180deg,#101318,#080a0e); border-top:1px solid var(--line); }
.ak2-footer-grid { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:40px; }
.ak2-footer-motto { color:#c4b8a7; font:clamp(22px,2.5vw,36px)/1.25 Editorial,Georgia,serif; }
.ak2-footer-motto em { color:#d4af72; }
.ak2-footer-links { display:grid; gap:12px; font:11px/1.2 Interface,Arial,sans-serif; letter-spacing:.04em; color:#c2b5a4; }
.ak2-footer-links a:hover { color:#e8c88b; }
.ak2-footer-foot { display:flex; justify-content:space-between; gap:20px; padding:28px 0; margin-top:52px; border-top:1px solid rgba(195,161,105,.15); color:#8e8b84; font:9px/1.6 Interface,Arial,sans-serif; letter-spacing:.07em; }

/* Home typography and structure. */
.ak2-home { overflow:clip; }
.ak2-home h1,.ak2-home h2,.ak2-home h3,.ak2-faculty-page h1,.ak2-faculty-page h2 { font-family:Editorial,Georgia,serif; font-weight:400; letter-spacing:-.035em; }
.ak2-home h2 em,.ak2-faculty-page h1 em,.ak2-faculty-page h2 em { color:var(--ak2-gold-light); }
.ak2-section-kicker { display:block; color:#d4b784; font:10px/1.5 Interface,Arial,sans-serif; letter-spacing:.22em; text-transform:uppercase; }
.ak2-chapter { padding-block:clamp(75px,10vw,142px); }
.ak2-chapter-heading { display:flex; gap:18px; align-items:center; margin-bottom:65px; font:9px/1.5 Interface,Arial,sans-serif; color:#bda67e; letter-spacing:.26em; }
.ak2-roman { font:29px/.9 Editorial,Georgia,serif; color:#d3b17d; }
.ak2-chapter-heading>div { height:1px; flex:1; background:linear-gradient(90deg,rgba(193,155,92,.34),transparent); margin-left:12px; }
.ak2-split-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:57px; }
.ak2-split-heading h2,.ak2-world h2,.ak2-faculty-section h2,.ak2-ending h2 { margin-top:18px; font-size:clamp(49px,5vw,78px); line-height:1.03; }
.ak2-split-heading>p { max-width:378px; color:#a9a6a0; font:14px/1.9 Interface,Arial,sans-serif; padding-bottom:7px; }
.ak2-inline-link { display:inline-flex; align-items:center; gap:20px; padding:7px 0; border-bottom:1px solid rgba(216,179,116,.38); font:12px/1.4 Interface,Arial,sans-serif; color:#e8c48c; transition:color .2s,border-color .2s; }
.ak2-inline-link:hover { color:#fff2d0; border-color:#e8c48c; }
.ak2-inline-link span { font-size:19px; }
.ak2-btn { min-height:53px; min-width:194px; display:inline-flex; align-items:center; justify-content:space-between; gap:22px; padding:16px 20px; border:1px solid rgba(216,181,120,.65); font:11px/1.4 Interface,Arial,sans-serif; letter-spacing:.025em; transition:background .18s,transform .18s, border-color .18s; }
.ak2-btn span { font:19px/1 Georgia,serif; }
.ak2-btn:hover { transform:translateY(-2px); }
.ak2-btn-primary { background:#c9a771; color:#101316; border-color:#c9a771; font-weight:600; }
.ak2-btn-primary:hover { background:#e2c390; }
.ak2-btn-secondary { background:#12161b9a; color:#eddbbd; }
.ak2-btn-secondary:hover { background:#28272a; border-color:#e5c896; }

/* Hero: architecture and atmosphere, not a parchment card. */
.ak2-hero { isolation:isolate; position:relative; min-height:min(850px,calc(100svh - 82px)); min-height:max(665px,min(850px,calc(100svh - 82px))); background:#0d1418; border-bottom:1px solid rgba(204,174,115,.22); }
.ak2-hero-image { position:absolute; inset:0; z-index:-2; background:url('/assets/castle.webp') center 49%/cover no-repeat; }
.ak2-hero::after { content:''; position:absolute; pointer-events:none; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(7,11,15,.96) 0%,rgba(9,12,16,.85) 32%,rgba(12,15,19,.38) 68%,rgba(10,13,17,.1) 100%),linear-gradient(0deg,#0d1013 0%,transparent 29%,#0b0f14a8 100%); }
.ak2-hero-noise { pointer-events:none; position:absolute; inset:0; background:radial-gradient(ellipse at 78% 43%,transparent 0%,#090d1291 100%); }
.ak2-hero-container { position:relative; min-height:inherit; display:flex; align-items:center; }
.ak2-hero-copy { position:relative; z-index:1; max-width:820px; padding:90px 0 110px; }
.ak2-kicker { font:11px/1.8 Interface,Arial,sans-serif; letter-spacing:.3em; color:#dfcaa7; display:flex; align-items:center; gap:17px; }
.ak2-kicker-line { flex:none; width:32px; height:1px; background:#d6b67d; }
.ak2-hero-overline { display:block; font:10px/1.5 Interface,Arial,sans-serif; letter-spacing:.25em; color:#bbb5ab; margin-top:48px; }
.ak2-hero h1 { max-width:770px; margin-top:15px; font-size:clamp(81px,9vw,148px); line-height:.86; letter-spacing:-.07em; text-shadow:0 12px 55px #030609a3; }
.ak2-hero h1 span { display:block; color:#e6c38a; }
.ak2-sigil-divider { display:flex; align-items:center; gap:12px; margin:35px 0 26px; max-width:210px; color:#dfbc7f; font:23px/1 Georgia,serif; }
.ak2-sigil-divider span { flex:1; height:1px; background:linear-gradient(90deg,transparent,#bc995d); }
.ak2-sigil-divider span:last-child { transform:scaleX(-1); }
.ak2-hero h2 { font:clamp(24px,2.4vw,33px)/1.22 Editorial,Georgia,serif; letter-spacing:-.01em; margin:0; }
.ak2-hero h2 em { color:#f1d6aa; }
.ak2-hero-copy>p:not(.ak2-kicker) { max-width:505px; font:14px/1.85 Interface,Arial,sans-serif; color:#c5c1ba; margin-top:18px; }
.ak2-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.ak2-hero-signet { pointer-events:none; position:absolute; right:3%; top:24%; width:200px; display:grid; justify-items:center; gap:17px; color:#e2c28bb5; transform:rotate(5deg); }
.ak2-hero-signet-ring { width:190px; height:190px; border:1px solid #d1b47a63; border-radius:50%; display:grid; place-items:center; box-shadow:inset 0 0 0 14px #a68b5910,0 0 0 14px #a68b5908; }
.ak2-hero-signet svg { width:104px; height:126px; }
.ak2-hero-signet>span { text-align:center; font:8px/1.8 Interface,Arial,sans-serif; letter-spacing:.2em; }
.ak2-hero-bottom { position:absolute; bottom:30px; left:0; right:0; display:flex; justify-content:space-between; align-items:center; gap:25px; color:#d8c0a0b5; font:9px/1.5 Interface,Arial,sans-serif; letter-spacing:.18em; }
.ak2-hero-bottom a { display:flex; gap:18px; align-items:center; color:#eed5a5; }
.ak2-hero-bottom a span { font-size:18px; }
.ak2-ticker { background:#15181d; border-bottom:1px solid rgba(194,158,101,.19); }
.ak2-ticker-inner { display:grid; grid-template-columns:1fr 1.25fr 1.3fr auto; gap:30px; padding:24px 0; align-items:center; }
.ak2-ticker-inner>div { display:grid; gap:8px; padding-right:18px; border-right:1px solid rgba(204,172,120,.14); }
.ak2-ticker-inner>div:last-child { border:0; padding:0; }
.ak2-ticker-inner span { font:9px/1.4 Interface,Arial,sans-serif; color:#bb9e70; letter-spacing:.18em; }
.ak2-ticker-inner strong { font:20px/1.2 Editorial,Georgia,serif; color:#e6ddcf; }
.ak2-ticker-end { display:flex!important; gap:12px!important; align-items:center; }
.ak2-ticker-end i { width:7px; height:7px; background:#b2bf91; border-radius:50%; box-shadow:0 0 13px #b3c59185; }

/* World: dark monumental editorial grid. */
.ak2-world-grid { display:grid; grid-template-columns:1fr 1fr; gap:10%; }
.ak2-world h2 { margin-bottom:27px; }
.ak2-world-lead { max-width:410px; font:23px/1.45 Editorial,Georgia,serif; color:#d4c5ac; }
.ak2-world-body { padding-top:28px; }
.ak2-world-body p { color:#aba8a2; font:14px/1.95 Interface,Arial,sans-serif; margin:0 0 18px; }
.ak2-world-body .ak2-inline-link { margin-top:18px; }
.ak2-statement { position:relative; display:grid; justify-items:center; text-align:center; padding:63px 20px 7px; margin-top:75px; border-top:1px solid rgba(191,157,101,.18); }
.ak2-statement::before { content:''; position:absolute; top:-1px; width:104px; height:1px; background:#d3ae70; }
.ak2-statement-symbol { font:35px/1 Georgia,serif; color:#bf9a63; }
.ak2-statement p { font:italic clamp(28px,3.3vw,49px)/1.25 Editorial,Georgia,serif; color:#e3d6c3; margin:16px 0 22px; }
.ak2-statement>span:last-child { font:9px/1.6 Interface,Arial,sans-serif; letter-spacing:.2em; color:#aa9674; }

/* Four unique common rooms. */
.ak2-houses-section { position:relative; padding:110px 0 118px; background:radial-gradient(ellipse at 50% 50%,#202028 0%,#14171b 54%,#111418 100%); border-block:1px solid rgba(193,155,99,.14); }
.ak2-house-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.ak2-house { --house-color:#c79757; position:relative; min-height:430px; overflow:hidden; display:flex; flex-direction:column; align-items:center; text-align:center; padding:22px 19px 20px; background:radial-gradient(ellipse at 50% 25%,color-mix(in srgb,var(--house-color) 23%,transparent),transparent 63%),linear-gradient(180deg,#29292f,#15171c 85%); border:1px solid color-mix(in srgb,var(--house-color) 38%,transparent); transition:transform .25s,border-color .25s,box-shadow .25s; }
.ak2-house::before { position:absolute; content:''; inset:9px; border:1px solid color-mix(in srgb,var(--house-color) 24%,transparent); pointer-events:none; }
.ak2-house::after { content:''; position:absolute; width:160%; height:160%; inset:-30%; border:1px solid color-mix(in srgb,var(--house-color) 18%,transparent); transform:rotate(47deg) translateY(42%); pointer-events:none; }
.ak2-house:hover { transform:translateY(-6px); border-color:color-mix(in srgb,var(--house-color) 77%,transparent); box-shadow:0 18px 42px #0007; }
.ak2-house-gryffindor { --house-color:#be6959; }
.ak2-house-slytherin { --house-color:#5eaa88; }
.ak2-house-ravenclaw { --house-color:#7e9fcf; }
.ak2-house-hufflepuff { --house-color:#dbb56e; }
.ak2-house-top { width:100%; display:flex; justify-content:space-between; align-items:center; color:#d4c5b0; font:8px/1.4 Interface,Arial,sans-serif; letter-spacing:.11em; }
.ak2-house-top span:last-child { color:var(--house-color); font-size:18px; }
.ak2-house-sigil { color:var(--house-color); width:116px; height:132px; margin:19px auto 14px; filter:drop-shadow(0 3px 13px color-mix(in srgb,var(--house-color) 28%,transparent)); }
.ak2-house-caption { color:var(--house-color); font:9px/1.5 Interface,Arial,sans-serif; text-transform:uppercase; letter-spacing:.16em; }
.ak2-house h3 { margin:7px 0 0; font:clamp(28px,2.35vw,39px)/1.17 Editorial,Georgia,serif; color:#f2e9d9; }
.ak2-house p { color:#b8b4ad; font:12px/1.6 Interface,Arial,sans-serif; margin:15px 0 22px; }
.ak2-house-footer { width:100%; display:flex; justify-content:space-between; align-items:center; gap:6px; margin-top:auto; border-top:1px solid rgba(220,202,164,.2); padding-top:15px; color:#bbb4a8; font:7px/1.4 Interface,Arial,sans-serif; letter-spacing:.095em; text-align:left; }
.ak2-house-footer span:last-child { font-size:17px; color:var(--house-color); }
.ak2-house-note { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-top:28px; }
.ak2-house-note>span { color:#a9a49a; font:9px/1.5 Interface,Arial,sans-serif; letter-spacing:.13em; }

/* Timeline. */
.ak2-history-section { padding:115px 0 130px; background:linear-gradient(135deg,#0d1115,#101217 50%,#19191e); }
.ak2-years { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid rgba(205,176,121,.24); border-bottom:1px solid rgba(205,176,121,.24); }
.ak2-year { position:relative; padding:26px 24px 36px 0; margin-right:20px; }
.ak2-year + .ak2-year { padding-left:22px; border-left:1px solid rgba(210,183,135,.15); }
.ak2-year-top { display:flex; justify-content:space-between; align-items:center; }
.ak2-year-top>span { font:clamp(36px,4vw,57px)/1 Editorial,Georgia,serif; color:#8f8574; }
.ak2-year-top i { width:5px; height:5px; border-radius:50%; background:#c0a070; }
.ak2-year h3 { font:24px/1.15 Editorial,Georgia,serif; margin:20px 0 13px; color:#e7dcca; }
.ak2-year p { font:12px/1.75 Interface,Arial,sans-serif; color:#a8a49e; }
.ak2-year-current .ak2-year-top span,.ak2-year-current h3 { color:#e9c58c; }
.ak2-year-current::after { position:absolute; content:''; top:-2px; left:0; right:0; height:2px; background:#c8a66e; }
.ak2-history-more { margin-top:26px; }

/* Director / faculty preview. */
.ak2-faculty-section { padding:100px 0; border-block:1px solid rgba(200,170,118,.16); background:radial-gradient(ellipse at 18% 48%,rgba(181,139,78,.12),transparent 39%),#171a1f; }
.ak2-faculty-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.95fr); gap:9%; align-items:center; }
.ak2-faculty-art { position:relative; min-height:515px; display:grid; place-items:center; border:1px solid rgba(197,163,102,.25); background:radial-gradient(ellipse at 50% 48%,rgba(200,158,86,.16),transparent 52%),repeating-linear-gradient(90deg,transparent 0 71px,#a88b5b0d 72px 73px),linear-gradient(180deg,#1b2026,#0e1115); overflow:hidden; }
.ak2-faculty-art::before,.ak2-faculty-art::after { content:''; position:absolute; inset:15px; border:1px solid #b69a6644; pointer-events:none; }
.ak2-faculty-art::after { inset:28px; border-color:#b69a662b; }
.ak2-faculty-window { width:60%; min-height:380px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:30px; border:2px solid #b69a665e; border-radius:180px 180px 8px 8px; background:linear-gradient(180deg,#26272b9a,#14191d70); box-shadow:inset 0 0 50px #0007,0 0 45px #0007; }
.ak2-faculty-window svg { width:165px; height:190px; color:#c9ae7b; filter:drop-shadow(0 0 17px #b69a663f); }
.ak2-faculty-window span { font:10px/1.4 Interface,Arial,sans-serif; color:#c5a979; letter-spacing:.32em; }
.ak2-faculty-annotation { position:absolute; bottom:26px; left:23px; color:#ab9b7b; font:8px/1.5 Interface,Arial,sans-serif; letter-spacing:.16em; }
.ak2-faculty-orbit { position:absolute; top:32px; right:33px; font:30px/1 Georgia,serif; color:#e1c386; }
.ak2-faculty-copy .ak2-chapter-heading { margin-bottom:44px; }
.ak2-faculty-copy>p { max-width:450px; font:14px/1.95 Interface,Arial,sans-serif; color:#b7b2aa; margin:27px 0; }
.ak2-faculty-feature { display:grid; gap:7px; padding:21px 0; margin-bottom:22px; border-top:1px solid rgba(201,168,115,.24); border-bottom:1px solid rgba(201,168,115,.24); }
.ak2-faculty-feature span,.ak2-faculty-feature small { font:9px/1.4 Interface,Arial,sans-serif; letter-spacing:.15em; color:#bba378; }
.ak2-faculty-feature strong { font:28px/1.15 Editorial,Georgia,serif; }

/* Portal cards, clean architectural panels instead of sheets of paper. */
.ak2-portal-section { padding:110px 0 140px; background:#0d1013; }
.ak2-portal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.ak2-portal-card { position:relative; min-height:310px; display:flex; flex-direction:column; align-items:flex-start; padding:30px; background:linear-gradient(135deg,#202329,#12151b); border:1px solid rgba(198,166,111,.22); transition:transform .2s,border-color .2s; }
.ak2-portal-card:hover { transform:translateY(-4px); border-color:#c8a66e; }
.ak2-portal-card::before { content:''; height:1px; position:absolute; inset:8px 8px auto; background:linear-gradient(90deg,#c6a16e80,transparent); }
.ak2-portal-icon { color:#e3c489; font:48px/1 Editorial,Georgia,serif; }
.ak2-portal-card small { margin:29px 0 12px; color:#c2a477; font:9px/1.4 Interface,Arial,sans-serif; letter-spacing:.19em; }
.ak2-portal-card h3 { font:32px/1.2 Editorial,Georgia,serif; margin:0 0 12px; }
.ak2-portal-card p { max-width:280px; color:#b3aea6; font:12px/1.75 Interface,Arial,sans-serif; }
.ak2-portal-card strong { display:block; font:12px/1.4 Interface,Arial,sans-serif; font-weight:400; color:#e3c489; margin-top:auto; padding-top:20px; }
.ak2-ending { text-align:center; padding:100px 0 105px; position:relative; overflow:hidden; background:linear-gradient(#0c1016b8,#090e14ea),url('/assets/castle.webp') center 60%/cover; border-top:1px solid rgba(205,170,115,.23); }
.ak2-ending-mark { display:block; width:75px; height:93px; margin:0 auto 30px; color:#d5b477; }
.ak2-ending h2 { margin:18px auto 20px; }
.ak2-ending p { color:#c0b9ae; font:14px/1.7 Interface,Arial,sans-serif; margin-bottom:30px; }

/* Faculty route: a first functional, honest landing page without invented people. */
.ak2-faculty-page { overflow:clip; background:#0f1216; }
.ak2-faculty-page-hero { min-height:515px; display:flex; align-items:center; padding:85px 0 70px; background:linear-gradient(90deg,#0b1016f7,#11161cb5),url('/assets/castle.webp') center 40%/cover; border-bottom:1px solid var(--line); }
.ak2-faculty-page-hero h1 { font:clamp(76px,9vw,124px)/.91 Editorial,Georgia,serif; margin:25px 0; }
.ak2-faculty-page-hero p:not(.ak2-section-kicker) { font:14px/1.85 Interface,Arial,sans-serif; max-width:590px; color:#beb8af; margin-bottom:25px; }
.ak2-faculty-page-body { padding:105px 0 130px; }
.ak2-director-profile { display:grid; grid-template-columns:minmax(280px,43%) 1fr; gap:7%; align-items:center; margin-bottom:120px; }
.ak2-director-visual { min-height:450px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:23px; background:radial-gradient(circle,#53483438,transparent 70%),linear-gradient(#1b2027,#12151b); border:1px solid #c9a46b5c; }
.ak2-director-visual svg { width:138px; color:#bea270; }
.ak2-director-visual span { text-align:center; padding:0 12px; color:#b8a17a; font:9px/1.5 Interface,Arial,sans-serif; letter-spacing:.13em; }
.ak2-director-profile h2 { font-size:clamp(64px,6vw,95px); margin:23px 0; }
.ak2-director-profile p { color:#bcb7af; font:14px/1.9 Interface,Arial,sans-serif; max-width:560px; margin-bottom:30px; }
.ak2-awaiting-roster { padding:70px 25px 80px; text-align:center; border:1px solid #c8a66e36; background:linear-gradient(135deg,#191d22,#11151a); }
.ak2-awaiting-roster>span { font:42px/1 Georgia,serif; color:#cfad77; }
.ak2-awaiting-roster h2 { font:clamp(39px,4.5vw,64px)/1.14 Editorial,Georgia,serif; margin:18px 0; }
.ak2-awaiting-roster p { max-width:560px; margin:0 auto 25px; color:#bab5ac; font:13px/1.8 Interface,Arial,sans-serif; }

/* Pages still awaiting their full art pass inherit the castle palette and subtle panels. */
.journey { padding-top:34px; }
.journey-heading h1,.document-heading h1 { color:#f2e5d4; }
.breadcrumb { color:#bba981; }
.portal-public-notice { background:linear-gradient(110deg,#191b21,#252025)!important; border-top:1px solid #c8a66e47!important; border-bottom:1px solid #c8a66e47!important; }
.portal-public-notice .container { position:relative; }
.portal-public-notice .container::after { content:'✦'; position:absolute; right:10px; top:10px; opacity:.13; color:#e6b975; font:100px Georgia,serif; pointer-events:none; }
.portal-public-notice .container>* { position:relative; z-index:1; }

@media (max-width:1190px) {
  .ak2-header.header { gap:10px; padding-inline:25px; }
  .ak2-header.header nav { gap:12px; font-size:10px; }
  .ak2-brand.brand { font-size:14px; letter-spacing:.12em; }
  .ak2-brand-mark { width:37px; }
  .ak2-header.header nav a.nav-enter { padding:11px 12px; gap:6px; }
  .ak2-house { padding-inline:15px; }
  .ak2-house-footer { font-size:6px; }
}
@media (max-width:960px) {
  .ak2-header.header { height:74px; }
  .ak2-menu-button.menu-toggle { min-width:82px; display:flex; flex-direction:row; gap:12px; align-items:center; justify-content:center; border:1px solid #c8a66e61; background:#201f2180; padding:10px 14px; color:#ead5ae; font:11px Interface,Arial,sans-serif; letter-spacing:.1em; }
  .ak2-menu-bars { width:18px; display:grid; gap:4px; }
  .ak2-menu-bars i { height:1px; background:#dfc397; width:100%; }
  .ak2-menu-bars i:nth-child(2) { width:70%; }
  .ak2-header.header nav { position:absolute; top:100%; left:0; right:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:12px 5% 25px; background:#11151af8; border-top:1px solid #b898664f; box-shadow:0 20px 35px #000a; max-height:calc(100dvh - 74px - 68px); overflow-y:auto; }
  .ak2-header.header nav.open { display:flex; }
  .ak2-header.header nav a { font-size:13px; padding:13px 8px; min-height:45px; border-bottom:1px solid #c8a66e1e; }
  .ak2-header.header nav a.nav-enter { margin:12px 0 0; padding:14px; justify-content:space-between; }
  .ak2-hero-signet { display:none; }
  .ak2-ticker-inner { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ak2-ticker-end { display:none!important; }
  .ak2-house-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ak2-house { min-height:370px; }
  .ak2-years { grid-template-columns:repeat(3,1fr); }
  .ak2-year { border-bottom:1px solid #c8a66e2e; }
  .ak2-faculty-grid { gap:6%; }
  .ak2-faculty-art { min-height:435px; }
  .ak2-faculty-window { min-height:310px; }
  .ak2-faculty-window svg { width:130px; height:150px; }
}
@media (max-width:680px) {
  html { scroll-padding-top:82px; }
  .container { width:calc(100% - 38px); }
  .ak2-header.header { height:68px; padding-inline:16px; }
  .ak2-brand.brand { font-size:14px; letter-spacing:.075em; gap:8px; }
  .ak2-brand.brand small { font-size:7px; letter-spacing:.12em; margin-top:5px; }
  .ak2-brand-mark { width:33px; height:42px; }
  .ak2-menu-button.menu-toggle { min-width:75px; min-height:43px; padding:9px; }
  .ak2-header.header nav { max-height:calc(100dvh - 68px - 68px); }
  .ak2-hero { min-height:max(680px,calc(100svh - 68px)); }
  .ak2-hero-image { background-position:60% center; }
  .ak2-hero::after { background:linear-gradient(90deg,#080d13e8,#080d13b0 65%,#080d1366),linear-gradient(0deg,#0d1013 0%,transparent 40%,#0d101360 95%); }
  .ak2-hero-container { align-items:flex-start; }
  .ak2-hero-copy { padding-top:clamp(80px,11vh,145px); padding-bottom:116px; width:100%; }
  .ak2-kicker { font-size:9px; letter-spacing:.17em; gap:10px; }
  .ak2-kicker-line { width:20px; }
  .ak2-hero-overline { margin-top:33px; font-size:9px; }
  .ak2-hero h1 { font-size:clamp(56px,13.8vw,91px); margin-top:17px; letter-spacing:-.065em; }
  .ak2-sigil-divider { margin:26px 0 24px; }
  .ak2-hero h2 { font-size:clamp(23px,6vw,30px); }
  .ak2-hero-copy>p:not(.ak2-kicker) { font-size:13px; line-height:1.75; max-width:340px; }
  .ak2-hero-actions { gap:10px; flex-direction:column; align-items:stretch; max-width:335px; }
  .ak2-hero-actions .ak2-btn { width:100%; min-height:48px; }
  .ak2-hero-bottom { bottom:20px; gap:9px; font-size:7px; letter-spacing:.09em; }
  .ak2-hero-bottom>span { max-width:45%; }
  .ak2-ticker-inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; padding:20px 0; }
  .ak2-ticker-inner>div { padding-right:6px; gap:8px; }
  .ak2-ticker-inner span { font-size:7px; letter-spacing:.075em; }
  .ak2-ticker-inner strong { font-size:15px; }
  .ak2-chapter { padding-block:80px; }
  .ak2-chapter-heading { gap:10px; margin-bottom:36px; font-size:8px; letter-spacing:.16em; }
  .ak2-roman { font-size:26px; }
  .ak2-chapter-heading>div { margin-left:0; }
  .ak2-world-grid,.ak2-faculty-grid { grid-template-columns:1fr; gap:25px; }
  .ak2-world h2,.ak2-split-heading h2,.ak2-faculty-section h2,.ak2-ending h2 { font-size:clamp(42px,10.5vw,58px); }
  .ak2-world-lead { font-size:21px; }
  .ak2-world-body { padding-top:0; }
  .ak2-world-body p { font-size:13px; }
  .ak2-statement { margin-top:50px; padding-top:50px; }
  .ak2-statement p { font-size:34px; }
  .ak2-houses-section,.ak2-history-section,.ak2-portal-section { padding-block:83px; }
  .ak2-split-heading { display:block; margin-bottom:35px; }
  .ak2-split-heading>p { margin-top:20px; font-size:13px; }
  .ak2-house-grid { gap:10px; }
  .ak2-house { min-height:310px; padding:13px 9px 12px; }
  .ak2-house::before { inset:5px; }
  .ak2-house-top { font-size:6px; }
  .ak2-house-sigil { width:76px; height:100px; margin:15px 0 11px; }
  .ak2-house-caption { font-size:7px; letter-spacing:.05em; }
  .ak2-house h3 { font-size:clamp(25px,6vw,33px); }
  .ak2-house p { font-size:10px; line-height:1.4; margin:10px 0; }
  .ak2-house-footer { font-size:6px; letter-spacing:0; padding-top:10px; }
  .ak2-house-note { display:grid; gap:11px; }
  .ak2-house-note>span { font-size:8px; }
  .ak2-years { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ak2-year,.ak2-year+.ak2-year { min-height:214px; padding:20px 10px 22px; margin-right:0; }
  .ak2-year:nth-child(odd) { border-left:0; }
  .ak2-year h3 { font-size:20px; margin-top:13px; }
  .ak2-year p { font-size:11px; }
  .ak2-year-top span { font-size:40px; }
  .ak2-faculty-section { padding:75px 0 85px; }
  .ak2-faculty-art { min-height:310px; order:2; }
  .ak2-faculty-copy { order:1; }
  .ak2-faculty-window { min-height:240px; width:55%; }
  .ak2-faculty-window svg { width:95px; height:110px; }
  .ak2-faculty-copy .ak2-chapter-heading { margin-bottom:30px; }
  .ak2-portal-grid { grid-template-columns:1fr; }
  .ak2-portal-card { min-height:235px; padding:26px; }
  .ak2-portal-card small { margin:15px 0 7px; }
  .ak2-portal-card h3 { margin:0 0 7px; }
  .ak2-portal-icon { font-size:35px; }
  .ak2-ending { padding:80px 0; }
  .ak2-footer.footer { padding-top:43px; }
  .ak2-footer-grid { grid-template-columns:1fr; gap:33px; }
  .ak2-footer-motto { font-size:27px; }
  .ak2-footer-links { grid-template-columns:repeat(3,1fr); gap:10px; font-size:10px; }
  .ak2-footer-foot { display:grid; gap:7px; margin-top:34px; font-size:8px; }
  .ak2-faculty-page-hero { min-height:410px; }
  .ak2-faculty-page-hero h1 { font-size:clamp(68px,14vw,96px); }
  .ak2-faculty-page-body { padding:72px 0 95px; }
  .ak2-director-profile { grid-template-columns:1fr; gap:25px; margin-bottom:90px; }
  .ak2-director-visual { min-height:300px; }
  .ak2-director-profile h2 { font-size:70px; }
}
@media (max-width:370px) {
  .ak2-brand.brand { font-size:12px; }
  .ak2-hero h1 { font-size:clamp(53px,13.4vw,62px); }
  .ak2-hero-bottom>a { gap:7px; }
  .ak2-house-sigil { width:70px; height:82px; }
  .ak2-house h3 { font-size:23px; }
  .ak2-house { min-height:300px; }
  .ak2-ticker-inner strong { font-size:13px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; }
}
/* Match the pre-existing mobile dock to the new charcoal-and-gold visual system. */
@media (max-width: 900px) {
  .mobile-dock { border-top:1px solid rgba(205,171,111,.55); background:rgba(12,15,20,.97); box-shadow:0 -15px 34px #0009; }
  .mobile-dock .mobile-dock-link { color:#a7a5a1; }
  .mobile-dock .mobile-dock-link.is-current { color:#f0d5a7; background:linear-gradient(180deg,#c8a66e24,transparent); }
  .mobile-dock .mobile-dock-link.is-current::before { background:#dcb681; box-shadow:0 0 10px #dcb68184; }
}
@media (max-width: 370px) { .ak2-hero h1 { font-size:clamp(43px,12.9vw,53px); } }
/* Subtly adapt existing library and profile cards to the new palette, without altering form behavior. */
.library-card { background:linear-gradient(140deg,rgba(199,164,105,.09),rgba(17,22,27,.35)); border-color:rgba(200,166,111,.31); }
.library-card:hover { background:linear-gradient(140deg,rgba(199,164,105,.15),rgba(17,22,27,.45)); }
.library-filters button[aria-pressed='true'] { background:#c8a66e; color:#0d1013; }
