@font-face { font-family:CollegeMori; src:url('../fonts/PPMori-Regular.otf') format('opentype'); font-weight:400; font-display:swap; }
@font-face { font-family:CollegeMori; src:url('../fonts/PPMori-SemiBold.otf') format('opentype'); font-weight:600 800; font-display:swap; }
.about-page { --about-purple:#9000ff; --about-dark:#101014; background:#fff; color:var(--about-dark); }
.about-main { font-family:CollegeMori,Arial,sans-serif; }
.about-main section { padding:0; overflow:visible; }
.about-main h1,.about-main h2,.about-main h3 { font-family:CollegeMori,Arial,sans-serif; font-weight:600; color:inherit; letter-spacing:-.045em; margin:0; }
.about-main h2 { font-size:clamp(34px,3.7vw,54px); line-height:1.06; }
.about-main p { font-size:18px; line-height:1.55; margin:0 0 20px; }
.about-main img { display:block; width:100%; height:auto; object-fit:cover; border-radius:0; }
.about-main a { transition:background-color .2s,color .2s; }
.about-main a:focus-visible { outline:3px solid var(--about-purple); outline-offset:6px; }
.about-wrap { width:min(1280px,calc(100% - 96px)); margin-inline:auto; }
.about-page #header { position:sticky; top:0; }
.about-page .about-main.scrolled-offset { margin-top:0; }
.about-page .mobile-nav-toggle { border:0; padding:4px; background:transparent; }
.about-main .about-hero { display:grid; grid-template-columns:1fr 1fr; }
.about-hero__copy { padding:70px 40px 70px max(48px,calc((100vw - 1280px)/2)); align-self:center; }
.about-main .about-hero h1 { font-size:clamp(48px,5.6vw,82px); line-height:1.01; letter-spacing:-.055em; }
.about-hero h1 span { color:var(--about-purple); }
.about-hero__copy p { font-size:24px; line-height:1.35; margin:28px 0 32px; }
.about-main .about-hero__image { height:100%; min-height:600px; object-position:50% 50%; }
.about-main .about-button { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; background:var(--about-purple); color:#fff; padding:20px 26px; font-size:15px; line-height:1.3; font-weight:600; text-decoration:none; }
.about-main .about-button:hover { background:#7100ca; color:#fff; }
.about-main .about-mission { display:grid; grid-template-columns:1fr 1.3fr; gap:64px; padding-block:80px; }
.about-mission>div { border-left:1px solid #d9d9dd; padding-left:54px; }
.about-main .about-mission p { font-size:25px; line-height:1.4; letter-spacing:-.02em; }
.about-main .about-mission .about-mission__detail { font-size:16px; line-height:1.6; color:#68686f; margin-bottom:0; letter-spacing:0; }
.about-main .about-history { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #e6e6e8; }
.about-history>img { height:100%; min-height:430px; object-position:center; }
.about-history__copy { padding:64px max(48px,calc((100vw - 1280px)/2)) 64px 64px; }
.about-history__copy h2 { margin-bottom:30px; }
.about-main .about-text-link { display:inline-flex; align-items:center; gap:16px; color:var(--about-dark); font-size:15px; line-height:1.5; font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.about-main .about-text-link:hover { color:var(--about-purple); }
.about-main .about-team { background:var(--about-dark); color:#fff; padding-block:76px; }
.about-team__layout { display:grid; grid-template-columns:.85fr 2.4fr; gap:50px; }
.about-team__intro h2 { font-size:clamp(34px,3.4vw,48px); }
.about-team__intro p { margin-top:28px; font-size:16px; color:#c9c9ce; }
.about-team__people { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.about-team figure { margin:0; }
.about-team figure img { aspect-ratio:1.15; object-position:center; }
.about-team figcaption { padding-top:18px; }
.about-main .about-team h3 { font-size:19px; letter-spacing:-.025em; line-height:1.2; }
.about-team figcaption p { font-size:13px; line-height:1.5; color:#c9c9ce; margin:9px 0 0; }
.about-main .about-campus { display:grid; grid-template-columns:.8fr 1.7fr 1fr; gap:38px; align-items:center; padding-block:90px; }
.about-campus__heading p { font-size:15px; margin:24px 0 0; }
.about-campus>img { aspect-ratio:1.4; }
.about-campus__social { border-left:1px solid #d9d9dd; padding-left:30px; }
.about-main .about-campus__social h3 { font-size:24px; line-height:1.15; margin-bottom:20px; }
.about-campus__social p { font-size:15px; line-height:1.6; color:#55555d; }
.about-campus__social p:last-child { margin-bottom:0; }
.about-main .about-next { background:var(--about-purple); color:#fff; padding-block:62px; }
.about-next__layout { display:flex; align-items:center; justify-content:space-between; gap:38px; }
.about-next h2 { font-size:clamp(34px,3.3vw,48px); }
.about-next__actions { display:flex; align-items:center; gap:40px; }
.about-main .about-button--white { background:#fff; color:var(--about-dark); }
.about-main .about-button--white:hover { background:#eee3ff; color:var(--about-dark); }
.about-next .about-text-link { color:#fff; }
.about-next .about-text-link:hover { color:#fff; text-decoration-thickness:2px; }
.about-next a:focus-visible { outline-color:#fff; }
@media(max-width:1199px) { .about-team__layout { grid-template-columns:1fr; gap:36px; } .about-team__intro { display:flex; gap:50px; align-items:end; } .about-team__intro p { max-width:380px; margin:0; } .about-next__layout { align-items:start; } .about-next__actions { flex-direction:column; align-items:start; gap:24px; } .about-campus { grid-template-columns:1fr 1.5fr; } .about-campus__social { grid-column:1/-1; border:0; padding:0; max-width:720px; } }
@media(max-width:767px) { .about-wrap { width:calc(100% - 40px); } .about-hero__copy { padding:44px 24px; } .about-main .about-hero { grid-template-columns:1fr; } .about-main .about-hero h1 { font-size:clamp(46px,9vw,68px); } .about-hero__copy p { font-size:21px; margin:24px 0; } .about-main .about-hero__image { height:auto; min-height:0; aspect-ratio:1.3; object-position:center; } .about-main .about-mission { grid-template-columns:1fr; gap:28px; padding-block:48px; } .about-mission>div { border:0; padding:0; } .about-main .about-mission p { font-size:22px; } .about-main .about-history { grid-template-columns:1fr; } .about-history>img { height:auto; min-height:0; aspect-ratio:1.65; } .about-history__copy { padding:40px 24px 48px; } .about-history__copy h2 { margin-bottom:24px; } .about-main p { font-size:17px; } .about-main .about-team { padding-block:48px; } .about-team__intro { display:block; } .about-team__intro p { margin-top:20px; } .about-team__people { grid-template-columns:1fr; gap:30px; } .about-team figure img { aspect-ratio:1.36; } .about-main .about-campus { grid-template-columns:1fr; gap:28px; padding-block:48px; } .about-campus__heading p { margin-top:20px; } .about-campus__social { grid-column:auto; } .about-next__layout { flex-direction:column; gap:28px; } .about-main .about-next { padding-block:44px; } .about-main .about-button { padding:18px 22px; } }
@media(prefers-reduced-motion:reduce) { .about-main a { transition:none; } }

@media(max-width:767px){
 .about-main .about-hero{width:100%;margin:0}
 .about-page .about-hero__copy{min-height:68svh;padding:124px 24px 48px!important;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
 .about-main .about-hero h1{font-size:clamp(46px,13vw,64px);line-height:1.02;width:100%}
 .about-main .about-hero__copy p{font-size:20px;line-height:1.4;margin:26px 0 30px}
 .about-main .about-hero .about-button{width:100%;max-width:350px;padding:20px 22px;font-size:15px}
 .about-main .about-hero__image{height:34svh;min-height:240px;aspect-ratio:auto}
}
