/* Shared dimensional finish for every page. Keep layout in style.css. */
:root {
  --surface: linear-gradient(145deg, #fffefb 0%, #fff 48%, #f3eee4 100%);
  --raised: 0 2px 3px #102b3806, 0 12px 24px -14px #102b3840, 0 30px 60px -35px #102b3855;
  --edge: inset 0 1px 0 #fff, inset 0 -1px 0 #a38a5e24;
}
body { background: #faf8f3; }
.utility { background: linear-gradient(100deg, #081d28, #234552, #102b38); }
.site-header, .home-page .site-header {
  background: linear-gradient(115deg, #fff, #fbf8f1);
  box-shadow: 0 8px 28px -20px #061d2c80;
}
.home-page .site-header.is-scrolled { background: #fffcf7; box-shadow: 0 10px 30px -18px #061d2c66; }
.college-logo { filter: drop-shadow(0 5px 3px #102b3820); }
.main-nav { background: linear-gradient(#fff9, #eee8dc55); }
.menu-toggle { border-radius: 9px; background: var(--surface); box-shadow: var(--edge), 0 4px 9px #102b3810; }
.about-dropdown { border-radius: 0 0 14px 14px; box-shadow: 0 18px 35px #102b3826; }

/* Desktop navigation reads as a single raised control bar. */
@media (min-width: 851px) {
  .site-header { position: relative; z-index: 40; }
  .main-nav { padding: 10px 0 14px; border: 0; background: transparent; }
  .main-nav .nav-inner {
    align-items: center; gap: 4px; padding: 7px;
    border: 1px solid #dcd0b9; border-radius: 14px;
    background: linear-gradient(160deg, #fffefb, #f0eade);
    box-shadow: inset 0 1px 0 #fff, 0 3px 0 #d9cfbd, 0 10px 22px -15px #102b3855;
  }
  .main-nav .nav-inner > a, .main-nav .about-menu > summary {
    display: flex; align-items: center; justify-content: center; gap: 7px;
    min-height: 44px; padding: 11px 14px; border: 1px solid transparent;
    border-radius: 9px; font-size: 12px; font-weight: 600; letter-spacing: 0;
    line-height: 1.5; white-space: nowrap; color: var(--navy);
    transition: background .2s, box-shadow .2s, color .2s;
  }
  .main-nav .nav-inner > a[aria-current]::after { display: none; }
  .main-nav .nav-inner > a:hover, .main-nav .about-menu > summary:hover {
    background: #fffaf0; border-color: #e0d1b5; box-shadow: 0 3px 8px #102b380a;
  }
  .main-nav .nav-inner > a[aria-current], .main-nav .about-menu[data-current-section] > summary,
  .main-nav .about-menu[open] > summary {
    color: #fff6e4; border-color: #355560; background: linear-gradient(135deg, #315461, #102b38);
    box-shadow: inset 0 1px 0 #ffffff25, 0 3px 0 #081d29, 0 6px 10px #102b381a;
  }
  .main-nav .nav-inner .nav-cta {
    margin-left: auto; gap: 14px; color: #182e36; border-color: #d1b17b;
    background: linear-gradient(135deg, #f0d9af, #d1b17b);
    box-shadow: inset 0 1px 0 #fff8, 0 3px 0 #ad8954;
  }
  .main-nav .about-dropdown {
    top: calc(100% + 12px); left: 0; min-width: 265px; padding: 9px;
    border: 1px solid #d5bd94; border-radius: 12px; background: #fffcf7;
    box-shadow: inset 0 1px 0 #fff, 0 5px 0 #102b3810, 0 22px 45px #071c2a38;
  }
  .main-nav .about-dropdown > a { padding: 12px 14px; border-radius: 7px; }
  .main-nav .about-dropdown > a:hover, .main-nav .about-dropdown > a[aria-current] {
    background: linear-gradient(110deg, #ece0c9, #faf4e9); color: #63491f;
  }
  .tab-list { padding: 12px; gap: 10px; background: linear-gradient(#f5efe4, #e9e0cf); }
  .tab-list button { min-width: 160px; min-height: 50px; border: 1px solid transparent; font-weight: 600; }
  .tab-list button:hover { background: #fff8eb; border-color: #d8c8ab; }
  .tabs .tab-list [aria-selected=true], .tabs .tab-list [aria-selected=true]:hover {
    color: #fff6e4; border-color: #355560; background: linear-gradient(135deg, #315461, #102b38);
    box-shadow: inset 0 1px 0 #ffffff30, 0 3px 0 #081d29, 0 8px 14px #102b3820;
  }
}
@media (min-width: 851px) and (max-width: 1100px) {
  .main-nav .nav-inner { gap: 2px; padding: 5px; }
  .main-nav .nav-inner > a, .main-nav .about-menu > summary { padding-inline: 8px; font-size: 11px; }
  .main-nav .nav-inner .nav-cta { gap: 6px; }
}

/* Light falls across the dark hero, with an architectural inset frame. */
.page-banner, .home-page .court-hero {
  background: radial-gradient(ellipse at 85% 10%, #3e6069 0%, transparent 52%), linear-gradient(120deg, #081d29, #153744 70%, #102b38);
  box-shadow: inset 0 1px 0 #ffffff20, inset 0 -1px 0 #d1b17b80, 0 14px 30px -24px #102b3880;
}
.page-banner::before {
  content: ''; position: absolute; inset: 16px; border: 1px solid #d1b17b2e;
  border-radius: 4px; pointer-events: none;
}
.page-banner::after {
  content: ''; position: absolute; width: 320px; height: 320px; right: 4%; top: -150px;
  border: 34px solid #d1b17b0c; border-radius: 50%;
  box-shadow: 0 0 0 1px #d1b17b20, 0 0 0 45px #ffffff03; pointer-events: none;
}
.page-banner h1, .home-page .court-hero h1 { text-shadow: 0 4px 12px #0004; }
.page-banner .lede { color: #d4dfe1; }
.banner-symbol { opacity: .07; text-shadow: 0 8px 3px #0008; }
.home-page .hero-media { perspective: 1000px; }
.home-page .hero-media img {
  border: 6px solid #f3e7cc; border-radius: 12px;
  transform: rotateY(-5deg) rotateX(2deg);
  box-shadow: 8px 9px 0 #8a7855, 0 32px 55px -15px #000a;
}
.home-page .hero-media::before { border-radius: 12px; background: #d1b17b08; }
.home-page .hero-media::after { display: none; }
.quick-strip, .home-page .quick-strip, .key-details, .about-section-nav {
  background: linear-gradient(180deg, #fffefa, #efe9dd);
  box-shadow: inset 0 1px 0 #fff, 0 8px 20px -18px #102b3870;
}
.cream { background: radial-gradient(ellipse at top left, #fffaf1, transparent 65%), #f0ece3; }

/* Beveled surfaces share lighting and depth across all content types. */
.path-card, .home-page .path-card, .home-person, .staff-card, .campus-photo-grid figure, .faculty-card, .trustee-card,
.form-card, .tabs, .programme-card, .empty-state, .info-box,
.about-detail-copy, .principal-profile, article.prose {
  background: var(--surface); border: 1px solid #d9ceba;
  border-radius: 16px; box-shadow: var(--edge), var(--raised);
}
.about-detail-copy, .principal-profile, article.prose { padding: clamp(24px, 3.5vw, 48px); }
.about-detail-copy, .principal-profile { min-width: 0; }
.info-box { border-left: 3px solid var(--gold); }
.home-person, .staff-card, .campus-photo-grid figure, .programme-card { overflow: hidden; }
.path-card, .home-page .path-card, .home-person, .faculty-card, .trustee-card {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.path-card > svg, .trustee-card > svg { filter: drop-shadow(0 3px 1px #8d683825); }
.featured { background: linear-gradient(135deg, #254a59, #0b202b); }
.programme-card header { background: linear-gradient(125deg, #264b59, #0b202b); box-shadow: inset 0 1px 0 #ffffff28; }
.tabs { overflow: hidden; }
.tab-list { gap: 6px; padding: 8px; background: #eae4d8; }
.tab-list button { border-radius: 9px; padding: 14px 22px; }
.tab-list [aria-selected=true] { background: var(--surface); box-shadow: 0 4px 10px #102b3815; }
.filter-list button { border-radius: 30px; background: var(--surface); box-shadow: var(--edge), 0 4px 8px #102b380c; }
.filter-list .active { background: linear-gradient(135deg, #2b505f, #102b38); box-shadow: inset 0 1px 0 #ffffff30, 0 5px 12px #102b3820; }
.enquiry-form input:not([type=checkbox]):not([type=hidden]), .enquiry-form select, .enquiry-form textarea {
  border-radius: 8px; background: #f9f7f2; box-shadow: inset 0 2px 4px #102b380b, 0 1px 0 #fff;
}
.section .narrow details { padding: 20px 22px; margin-bottom: 12px; border: 1px solid #ded5c4; border-radius: 12px; background: var(--surface); box-shadow: 0 5px 12px -8px #102b3833; }

/* Framed photography sits above the paper surface. */
.about-visual, .trust-layout figure, .about-leader-portrait, .principal-portrait {
  border: 1px solid #d2c4a9; border-radius: 14px; background: var(--surface);
  box-shadow: var(--edge), 5px 6px 0 #e0d6c3, 0 24px 40px -25px #102b3877;
}
.about-visual > img, .about-leader-portrait img, .principal-portrait img { border-radius: 8px; }
.campus-photo img, .wide-photo img, .gallery-item, .home-gallery-grid > a {
  border-radius: 14px; box-shadow: 0 2px 0 #b6a789, var(--raised);
}
.photo-label { border-radius: 8px; background: linear-gradient(130deg, #244956, #0b202b); box-shadow: 0 10px 20px #102b3833; }
.gallery-item > span { border-radius: 6px; box-shadow: inset 0 1px 0 #ffffff30, 0 4px 10px #0003; }

.btn, .home-page .btn { border-radius: 9px; box-shadow: inset 0 1px 0 #ffffff45, 0 4px 0 #081d2924, 0 9px 16px -9px #102b3870; }
.btn-gold, .home-page .btn-gold, .home-page .court-button {
  background: linear-gradient(135deg, #f1d9a9, #d1b17b 65%, #bd985f); border-color: #e1c38d;
  box-shadow: inset 0 1px 0 #fff9, 0 4px 0 #8b6b3e, 0 12px 24px -12px #0008;
}
.btn-navy { background: linear-gradient(135deg, #315767, #102b38); }
.btn-outline { background: linear-gradient(135deg, #fff, #f1ede4); }
.home-page .court-button-outline { background: linear-gradient(135deg, #ffffff12, #ffffff04); }
.btn:active, .home-page .btn:active { transform: translateY(2px); box-shadow: inset 0 1px 3px #0002; }
.values-band, .home-purpose, .cta-band, .home-page .cta-band {
  background: radial-gradient(ellipse at top right, #31505b, transparent 65%), linear-gradient(125deg, #153542, #0a212d);
  box-shadow: inset 0 1px 0 #ffffff20, inset 0 -1px 0 #d1b17b30;
}
footer, .home-page footer { background: radial-gradient(ellipse at top left, #173744, transparent 65%), #091d28; }
.contact-fab a { box-shadow: inset 0 2px 1px #ffffff55, 0 3px 0 #061b2b38, 0 10px 20px #061b2b33; }
dialog { border: 1px solid #d1b17b66; border-radius: 14px; box-shadow: 0 35px 100px #0008; }

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .path-card:hover, .home-page .path-card:hover, .home-person:hover, .faculty-card:hover, .trustee-card:hover {
    transform: translateY(-6px); border-color: #bb9b64;
    box-shadow: var(--edge), 0 8px 12px -7px #102b3820, 0 30px 45px -25px #102b3866;
  }
}
@media (max-width: 850px) {
  .main-nav .about-dropdown { border-radius: 0; box-shadow: none; }
  .home-page .hero-media img { transform: none; border-width: 4px; box-shadow: 4px 5px 0 #8a7855, 0 22px 35px -14px #0009; }
}
@media (max-width: 600px) {
  .page-banner::before { inset: 10px; }
  .page-banner::after { right: -160px; }
  .tab-list { gap: 3px; padding: 5px; flex-wrap: wrap; }
  .tab-list button { flex: 1 1 auto; padding: 12px 10px; }
  .about-detail-copy, .principal-profile, article.prose { padding: 24px 20px; }
  .form-card { padding: 26px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  .path-card:hover, .home-page .path-card:hover, .btn:hover, .home-page .btn:hover, .contact-fab a:hover { transform: none; }
}
@media print {
  body { background: #fff; }
  *, *::before, *::after { box-shadow: none !important; text-shadow: none !important; }
}
