:root{--ink:#20221f;--paper:#fbf7ef;--soft:#efe8dc;--accent:#8a3f2d;--accent-dark:#673022;--deep:#26362f;--white:#fff;--focus:#005fcc}
html{scroll-padding-top:6rem}body{margin:0;color:var(--ink);background:var(--paper);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1.125rem;line-height:1.72}a{color:var(--accent-dark);text-underline-offset:.2em}:focus-visible{outline:4px solid var(--focus);outline-offset:4px}.skip-link{position:absolute;left:1rem;top:-10rem;z-index:2000;background:#fff;color:#000;padding:.75rem 1rem}.skip-link:focus{top:1rem}.site-header{background:var(--paper);border-bottom:1px solid #d8d0c4}.navbar{padding:1rem 0}.navbar-brand{color:var(--ink);line-height:1.1;white-space:normal}.brand-name,.brand-note{display:block}.brand-name{font-size:1.25rem;font-weight:800}.brand-note{font-size:.82rem;margin-top:.25rem}.nav-link{color:var(--ink);font-weight:650;margin-left:.65rem}.nav-link:hover,.nav-link:focus{color:var(--accent-dark);text-decoration:underline}.narrow{max-width:850px}.welcome{min-height:74vh;display:flex;align-items:center;padding:5rem 0 6rem}.eyebrow,.num{text-transform:capitalize;letter-spacing:.13em;font-size:1.25rem;font-weight:800;color:var(--accent-dark)}h1,h2,h3{line-height:1.14;letter-spacing:-.025em}h1{font-size:clamp(3.3rem,9vw,7rem);max-width:9ch;margin:.7rem 0 2.2rem}h2{font-size:clamp(2.2rem,5vw,4.25rem);margin-bottom:1.5rem}.welcome-lead,.intro{font-size:clamp(1.3rem,2.3vw,1.65rem);max-width:38ch}.welcome-copy{max-width:46ch}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.btn{border-radius:.25rem;font-weight:750;padding:.75rem 1.1rem}.btn-primary{--bs-btn-bg:var(--accent);--bs-btn-border-color:var(--accent);--bs-btn-hover-bg:var(--accent-dark);--bs-btn-hover-border-color:var(--accent-dark);--bs-btn-active-bg:var(--accent-dark);--bs-btn-active-border-color:var(--accent-dark)}.section{padding:6rem 0}.soft{background:var(--soft)}.step{border-top:2px solid var(--ink);padding:1.6rem 0 2rem}.step h3{font-size:1.65rem;margin-bottom:.4rem}.step p{margin:0;max-width:47ch}.statement{padding:7rem 0;background:var(--accent);color:#fff}.statement-copy{font-size:clamp(2rem,5vw,4rem);line-height:1.2;max-width:18ch;margin:0}.people-list{list-style:none;padding:0;margin:2.5rem 0 0}.people-list li{border-top:1px solid #aaa298;padding:1rem 0;font-size:1.2rem}.people-list li::before{content:"— ";font-weight:800;color:var(--accent-dark)}.boundaries{background:#3c2c27;color:#fff}.num.light{color:#f3c3b4}.boundary-item{display:grid;grid-template-columns:260px 1fr;gap:1.5rem;border-top:1px solid #8f7b73;padding:1.5rem 0}.boundary-item h3{font-size:1.2rem;margin:0}.boundary-item p{margin:0}.facts{margin:2rem 0 3rem}.facts div,.value{display:grid;grid-template-columns:180px 1fr;gap:1.5rem;border-top:1px solid #aaa298;padding:1.3rem 0}.facts dt,.value h3{font-weight:800}.facts dd,.value h3,.value p{margin:0}.visit-note{border-left:5px solid var(--accent);padding:1.2rem 1.5rem;background:#fff}.visit-note h3{font-size:1.4rem}.dark{background:var(--deep);color:#fff}.big-question{font-size:clamp(1.7rem,3.5vw,2.5rem);line-height:1.3;max-width:26ch}.emphasis{margin-top:2.5rem;padding-top:2rem;border-top:1px solid #819087;font-size:1.3rem;font-weight:650}.value h3{font-size:1.25rem}.site-footer{padding:3rem 0;background:var(--ink);color:#fff}.site-footer a{color:#fff}.site-footer p{margin-bottom:.5rem}@media(max-width:767.98px){body{font-size:1.05rem}.welcome{min-height:auto;padding:4rem 0}.section{padding:4rem 0}.statement{padding:5rem 0}.facts div,.value,.boundary-item{grid-template-columns:1fr;gap:.35rem}.nav-link{margin-left:0;padding:.65rem 0}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Optional OpenDyslexic files:
   Copy your own OpenDyslexic-Regular.woff2 and OpenDyslexic-Bold.woff2
   into /fonts to activate the supplied font. */
@font-face{font-family:"OpenDyslexic";src:url("../fonts/OpenDyslexic-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"OpenDyslexic";src:url("../fonts/OpenDyslexic-Bold.woff2") format("woff2");font-weight:700 900;font-style:normal;font-display:swap}

.accessibility-bar{background:#fff;border-bottom:1px solid #cfc8bd;padding:.55rem 0}
.accessibility-bar .container{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.accessibility-label{font-weight:800;margin-right:.15rem}
.accessibility-control{appearance:none;background:#fff;color:#20221f;border:2px solid #20221f;border-radius:.25rem;padding:.42rem .7rem;font:inherit;font-size:.92rem;font-weight:700;line-height:1.3}
.accessibility-control:hover,.accessibility-control[aria-pressed="true"]{background:#20221f;color:#fff}
.accessibility-control:focus-visible{outline:4px solid var(--focus);outline-offset:3px}

body.large-text{font-size:1.35rem}
body.large-text .nav-link,body.large-text .accessibility-control{font-size:1rem}
body.dyslexic-font{font-family:"OpenDyslexic",Verdana,Arial,sans-serif;letter-spacing:.02em;word-spacing:.06em}
body.dyslexic-font p,body.dyslexic-font li,body.dyslexic-font dd{line-height:1.9}

body.high-contrast{--ink:#fff;--paper:#000;--soft:#000;--accent:#ffeb3b;--accent-dark:#00ffff;--deep:#000;--focus:#ffeb3b;background:#000;color:#fff}
body.high-contrast .site-header,body.high-contrast .accessibility-bar,body.high-contrast .soft,body.high-contrast .dark,body.high-contrast .boundaries,body.high-contrast .statement,body.high-contrast .visit-note,body.high-contrast .site-footer{background:#000!important;color:#fff!important;border-color:#fff!important}
body.high-contrast a:not(.btn){color:#00ffff!important}
body.high-contrast .navbar-brand,body.high-contrast .nav-link{color:#fff!important}
body.high-contrast .navbar-toggler{background:#fff}
body.high-contrast .accessibility-control{background:#000;color:#fff;border-color:#fff}
body.high-contrast .accessibility-control:hover,body.high-contrast .accessibility-control[aria-pressed="true"]{background:#ffeb3b;color:#000}
body.high-contrast .btn-primary{--bs-btn-bg:#ffeb3b;--bs-btn-border-color:#ffeb3b;--bs-btn-color:#000;--bs-btn-hover-bg:#fff;--bs-btn-hover-border-color:#fff;--bs-btn-hover-color:#000}
body.high-contrast .btn-outline-dark{color:#fff;border-color:#fff}
body.high-contrast .num,body.high-contrast .eyebrow,body.high-contrast .num.light{color:#ffeb3b}
body.high-contrast .people-list li::before{color:#ffeb3b}
body.high-contrast .facts div,body.high-contrast .value,body.high-contrast .boundary-item,body.high-contrast .step{border-color:#fff}
@media(max-width:767.98px){.accessibility-label{width:100%}.accessibility-control{font-size:.88rem}}

/* Alongside identity */
.brand-title{display:block}.hero-tagline{display:block;font-size:clamp(1.35rem,2.5vw,1.8rem);font-weight:650;margin-top:.4rem;color:var(--accent-dark)}
.invitation{font-size:clamp(2rem,4.8vw,3.8rem);line-height:1.15;letter-spacing:-.025em;font-weight:750;max-width:12ch;margin:0 0 1.7rem}
body.high-contrast .hero-tagline{color:#ffeb3b}

/* Alongside logo */
.logo-brand{display:inline-flex;align-items:center;padding:.15rem 0}
.site-logo{display:block;width:min(340px,48vw);height:auto;max-height:84px;object-fit:contain;object-position:left center}
body.high-contrast .site-logo{background:#fff;border-radius:.25rem;padding:.2rem}
@media(max-width:767.98px){.site-logo{width:min(245px,68vw);max-height:66px}}

/* Keep visual emphasis on prose without styling the paragraph element itself as a heading. */
.welcome-lead,.welcome-copy,.intro,.big-question,.emphasis{display:block}

/* Trinity campus banner */
.campus-banner{margin:0 0 2.2rem;overflow:hidden;border-radius:.35rem}
.campus-banner img{display:block;width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;object-position:center 72%}
@media(max-width:767.98px){.campus-banner{margin-bottom:1.7rem}.campus-banner img{aspect-ratio:4/3;object-position:38% 72%}}
body.high-contrast .campus-banner{outline:2px solid #fff;outline-offset:2px}
