:root{--black: #080808;--ink: #111;--white: #f5f4f0;--paper: #e9e7e1;--gray: #a5a5a2;--line: rgba(245, 244, 240, .22);--page-pad: clamp(1.25rem, 4vw, 4.5rem);--serif: Didot, "Bodoni MT", "Times New Roman", serif;--sans: "Helvetica Neue", Arial, sans-serif}[hidden]{display:none!important}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-weight:300}body,button,a{-webkit-font-smoothing:antialiased}img{display:block;width:100%}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}.skip-link{position:fixed;z-index:100;top:1rem;left:1rem;padding:.75rem 1rem;color:var(--black);background:var(--white);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{position:fixed;z-index:20;top:0;left:0;display:flex;width:100%;height:5.5rem;align-items:center;justify-content:space-between;padding:0 var(--page-pad);color:var(--white);mix-blend-mode:difference}.wordmark{display:block;height:4rem;overflow:hidden}.wordmark img{width:auto;height:100%;object-fit:contain}.main-nav{display:flex;gap:clamp(1.2rem,2.8vw,3rem);font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.main-nav a{position:relative;padding:.5rem 0}.main-nav a:after{position:absolute;bottom:.2rem;left:0;width:100%;height:1px;background:currentColor;content:"";transform:scaleX(0);transform-origin:right;transition:transform .3s ease}.main-nav a:hover:after,.main-nav a:focus-visible:after{transform:scaleX(1);transform-origin:left}.menu-toggle{display:none;border:0;background:transparent}.hero{position:relative;min-height:100svh;overflow:hidden;color:var(--white);background:var(--black)}.hero-image,.hero-shade{position:absolute;inset:0;height:100%;object-fit:cover}.hero-image{object-position:52% center;filter:contrast(1.05);animation:hero-in 1.5s ease-out both}.hero-shade{background:linear-gradient(90deg,#000000c2,#0000003b 55%,#00000061),linear-gradient(0deg,rgba(0,0,0,.58),transparent 55%)}.hero-content{position:relative;z-index:1;display:flex;min-height:100svh;max-width:58rem;flex-direction:column;align-items:flex-start;justify-content:center;padding:8rem var(--page-pad) 7rem}.eyebrow{margin:0 0 1.8rem;font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase}.eyebrow.dark{color:#5b5a56}h1,h2,h3,p{margin-top:0}h1{margin-bottom:2rem;font-family:var(--serif);font-size:clamp(4rem,9.6vw,9.8rem);font-weight:500;letter-spacing:-.055em;line-height:.84}.hero-intro{max-width:31rem;margin-bottom:2.3rem;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.55}.hero-title-long{max-width:12ch;font-size:clamp(3.8rem,7.2vw,7.6rem)}.button{display:inline-flex;min-width:12.5rem;align-items:center;justify-content:space-between;gap:2rem;border:1px solid currentColor;padding:1rem 1.15rem;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:color .25s,background .25s}.button-light:hover,.button-light:focus-visible{color:var(--black);background:var(--white)}.hero-index{position:absolute;z-index:1;right:var(--page-pad);bottom:2.3rem;margin:0;font-size:.65rem;letter-spacing:.18em}.scroll-cue{position:absolute;z-index:1;bottom:2rem;left:var(--page-pad);display:flex;gap:1rem;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase}.api-notice{display:flex;justify-content:space-between;gap:1rem;padding:.8rem var(--page-pad);color:var(--white);background:#292824;font-size:.68rem;letter-spacing:.04em}.section{padding:clamp(6rem,11vw,11rem) var(--page-pad)}.about-section{position:relative;display:grid;grid-template-columns:minmax(15rem,.8fr) minmax(17rem,1fr);gap:clamp(3rem,9vw,10rem);align-items:center;background:var(--paper)}.section-number{position:absolute;top:3rem;right:var(--page-pad);color:#77756e;font-size:.65rem;letter-spacing:.16em}.about-copy h2,.work-heading h2,.contact-content h2{max-width:11ch;margin-bottom:2.5rem;font-family:var(--serif);font-size:clamp(3rem,6vw,6.6rem);font-weight:500;letter-spacing:-.045em;line-height:.95}.about-copy .lead{max-width:34rem;font-size:clamp(1.18rem,1.8vw,1.65rem);line-height:1.5}.about-copy>p:not(.eyebrow):not(.lead){max-width:31rem;color:#55534f;line-height:1.75}.text-link{display:inline-flex;gap:2rem;border-bottom:1px solid #77756e;padding:1rem 0 .6rem;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.about-image-wrap{margin:0}.about-image-wrap img{aspect-ratio:3/4;object-fit:cover;object-position:48% center;filter:grayscale(1)}.about-image-wrap figcaption{display:flex;justify-content:space-between;margin-top:.8rem;color:#67655f;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase}.professors-section{color:var(--white);background:#151515}.professors-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:2rem;align-items:end;margin-bottom:clamp(3rem,7vw,6rem)}.professors-heading .eyebrow{align-self:start}.professors-heading h2{max-width:11ch;margin:0;font-family:var(--serif);font-size:clamp(3.2rem,6.5vw,7rem);font-weight:500;letter-spacing:-.05em;line-height:.92}.professors-heading>p:last-child{color:var(--gray);line-height:1.6}.professors-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,2rem)}.professor-card{width:100%;border:0;padding:0;color:inherit;background:transparent;cursor:pointer;text-align:left}.professor-image{display:block;width:100%;aspect-ratio:1/1.05;overflow:hidden;background:#ddd}.professor-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1);transition:filter .35s ease,transform .6s ease}.professor-card:hover .professor-image img,.professor-card:focus-visible .professor-image img{filter:grayscale(0);transform:scale(1.02)}.professor-card-copy{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;padding-top:1.25rem}.professor-card-copy strong{font-family:var(--serif);font-size:clamp(1.7rem,2.4vw,2.6rem);font-weight:500}.professor-card-copy>span:not(.professor-more){grid-column:1;color:var(--gray)}.professor-more{grid-column:2;grid-row:1/3;align-self:center;color:var(--gray);font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.professor-dialog{width:min(68rem,100% - 2rem);max-height:min(90vh,54rem);border:0;padding:0;color:var(--ink);background:var(--white)}.professor-dialog::backdrop{background:#000000d1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.professor-dialog-close{position:absolute;z-index:2;top:1rem;right:1rem;display:grid;width:2.75rem;height:2.75rem;place-items:center;border:1px solid #aaa;border-radius:50%;background:var(--white);cursor:pointer;font-size:1.5rem}.professor-dialog-layout{display:grid;grid-template-columns:minmax(16rem,.8fr) minmax(20rem,1.2fr);min-height:36rem}.professor-dialog-layout>img{width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1)}.professor-dialog-copy{overflow-y:auto;padding:clamp(2.5rem,5vw,5rem)}.professor-dialog-copy h3{margin-bottom:1.5rem;font-family:var(--serif);font-size:clamp(2.8rem,5vw,5rem);font-weight:500;letter-spacing:-.05em;line-height:.9}.professor-biography,.professor-dialog-copy li{color:#4e4c48;line-height:1.65}.professor-dialog-copy h4{margin:2rem 0 .8rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.professor-dialog-copy ul{margin:0;padding-left:1.2rem}.professor-dialog-copy li+li{margin-top:.65rem}.courses-section{color:var(--white);background:var(--black)}.section-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:2rem;align-items:end;margin-bottom:clamp(4rem,8vw,8rem)}.section-heading .eyebrow{align-self:start}.section-heading h2{margin:0;font-family:var(--serif);font-size:clamp(3.5rem,8vw,8rem);font-weight:500;letter-spacing:-.05em;line-height:.9}.section-heading>p:last-child{max-width:16rem;color:var(--gray);line-height:1.6}.course-list{border-top:1px solid var(--line)}.course-row{display:grid;min-height:11rem;grid-template-columns:4rem minmax(13rem,1.1fr) minmax(14rem,1fr) minmax(12rem,.75fr) 3rem;gap:2rem;align-items:center;border-bottom:1px solid var(--line)}.course-number,.course-name p{color:var(--gray);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase}.course-name h3{margin:0 0 .5rem;font-family:var(--serif);font-size:clamp(1.7rem,3.2vw,3.4rem);font-weight:500}.course-description{max-width:28rem;margin:0;color:var(--gray);font-size:.88rem;line-height:1.6}.course-row-no-image{grid-template-columns:4rem minmax(13rem,1.1fr) minmax(20rem,1.75fr) 3rem}.course-row-no-image .course-description{max-width:none}.course-arrow{justify-self:end;font-size:1.4rem}.course-image{width:100%;aspect-ratio:16/10;overflow:hidden;background:#d7d5cf}.course-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1);transition:filter .35s ease}.course-row:hover .course-image{opacity:1}.course-row:hover .course-image img{filter:grayscale(0)}.loading-line{border-top:1px solid var(--line);padding:2rem 0;color:var(--gray)}.students-section{background:var(--white)}.students-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:2rem;align-items:end;margin-bottom:clamp(3rem,7vw,6rem)}.students-heading .eyebrow{align-self:start}.students-heading h2{margin:0;font-family:var(--serif);font-size:clamp(3.5rem,8vw,8rem);font-weight:500;letter-spacing:-.05em;line-height:.9}.students-heading>p:last-child{max-width:18rem;color:#66645f;line-height:1.6}.student-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,4vw,4rem) clamp(1rem,2vw,2rem)}.student-card{min-width:0}.student-portrait{width:100%;aspect-ratio:3/4;overflow:hidden;background:#d7d5cf}.student-portrait img{width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1);transition:filter .35s,transform .6s}.student-card:hover .student-portrait img{filter:grayscale(0);transform:scale(1.02)}.student-card h3{margin:1.25rem 0 .4rem;font-family:var(--serif);font-size:clamp(1.7rem,2.6vw,2.7rem);font-weight:500;line-height:1}.student-role{min-height:2.5em;margin-bottom:.7rem;color:#55534f;line-height:1.45}.student-contact{margin:0;color:#77746e;font-size:.72rem;letter-spacing:.04em;overflow-wrap:anywhere}.students-empty{border-top:1px solid #aaa89f;padding:2rem 0;color:#66645f}.work-section{background:var(--paper)}.work-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:4rem}.work-heading h2{max-width:13ch;margin-bottom:0}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,4rem) 1.5rem}.carousel-shell{position:relative;padding-inline:4rem}.carousel-controls{position:absolute;z-index:3;inset:0;pointer-events:none}.carousel-controls button{position:absolute;top:50%;display:grid;width:3rem;height:3rem;transform:translateY(-50%);place-items:center;border:1px solid #8d8b85;border-radius:50%;background:color-mix(in srgb,var(--paper) 90%,transparent);cursor:pointer;font-size:1.15rem;pointer-events:auto;transition:color .2s,background .2s}.carousel-controls button:first-child{left:0}.carousel-controls button:last-child{right:0}.carousel-controls button:hover,.carousel-controls button:focus-visible{color:var(--white);background:var(--black)}.carousel-track{display:flex;overflow-x:hidden;gap:clamp(1rem,2vw,2rem);padding-bottom:1rem;overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-y}.carousel-track::-webkit-scrollbar{display:none}.carousel-track>*{flex:0 0 auto;scroll-snap-align:start}.student-grid .student-card,.professors-grid .professor-card{width:calc((100% - 4rem) / 3)}.video-grid .video-card{width:min(76vw,52rem)}.video-card{margin:0}.video-card:first-child:nth-last-child(odd){grid-column:1/-1}.video-frame{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--black)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-card h3{margin:1rem 0 0;font-family:var(--serif);font-size:clamp(1.3rem,2vw,2rem);font-weight:500}.video-stage{position:relative;overflow:hidden;background:var(--black)}.video-stage>img{aspect-ratio:16/8;object-fit:cover;filter:grayscale(1) brightness(.72);transition:transform 1s ease,filter .5s}.video-stage:hover>img{filter:grayscale(1) brightness(.88);transform:scale(1.02)}.play-link{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;color:var(--white);font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.play-icon{display:grid;width:5.5rem;height:5.5rem;place-items:center;border:1px solid rgba(255,255,255,.65);border-radius:50%;padding-left:.25rem;font-size:1rem;transition:color .25s,background .25s,transform .25s}.play-link:hover .play-icon,.play-link:focus-visible .play-icon{color:var(--black);background:var(--white);transform:scale(1.08)}.video-links{border-top:1px solid #aaa89f}.video-links a{display:flex;justify-content:space-between;border-bottom:1px solid #aaa89f;padding:1.2rem 0}.news-section{padding:clamp(6rem,11vw,11rem) var(--page-pad);color:var(--white);background:#111}.news-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:2rem;align-items:end;margin-bottom:clamp(4rem,8vw,7rem)}.news-heading h2{margin:0;font-family:var(--serif);font-size:clamp(3.5rem,8vw,8rem);font-weight:500;letter-spacing:-.05em;line-height:.9}.news-heading>p:last-child{color:var(--gray);line-height:1.6}.news-list{border-top:1px solid var(--line)}.news-carousel-shell{padding-inline:4rem}.news-carousel-controls button{color:var(--white);border-color:#77746d;background:#111111eb}.news-carousel-controls button:hover,.news-carousel-controls button:focus-visible{color:var(--black);background:var(--white)}.news-item{display:grid;width:min(82vw,72rem);grid-template-columns:minmax(16rem,.85fr) minmax(20rem,1.15fr);gap:clamp(2rem,6vw,7rem);align-items:start;border-bottom:1px solid var(--line);padding:clamp(2rem,5vw,5rem) 0}.news-item:nth-child(2n) .news-image{order:2}.news-image{margin:0;overflow:hidden;background:#292929}.news-image img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;filter:grayscale(.15)}.news-copy{display:grid;grid-template-columns:3rem 1fr;gap:1rem}.news-copy h3{margin:0;font-family:var(--serif);font-size:clamp(2.4rem,5vw,5.5rem);font-weight:500;letter-spacing:-.04em;line-height:.95}.news-copy p{grid-column:2;margin:1rem 0 0;color:#bbb8b1;line-height:1.75;white-space:pre-line}.news-number{color:var(--gray);font-size:.6rem;letter-spacing:.16em}.news-item-no-image{grid-template-columns:1fr}.news-item-no-image .news-copy{grid-template-columns:4rem minmax(0,1fr)}.news-item-no-image .news-copy p{max-width:70rem}.news-empty{border-top:1px solid var(--line);padding-top:2rem;color:var(--gray)}.contact-section{position:relative;min-height:100svh;overflow:hidden;padding:clamp(6rem,10vw,10rem) var(--page-pad) 2rem;color:var(--black);background:var(--white)}.contact-logo{position:absolute;right:-2vw;bottom:-11vw;color:#00000009;font-family:var(--serif);font-size:60vw;line-height:.75;pointer-events:none}.contact-logo span{position:absolute;top:44%;left:41%;font-size:8vw;letter-spacing:.05em}.contact-content{position:relative;z-index:1}.contact-brand-image{width:clamp(14rem,24vw,23rem);margin-bottom:3rem}.contact-content h2{max-width:12ch}.button-dark:hover,.button-dark:focus-visible{color:var(--white);background:var(--black)}.contact-details{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:clamp(5rem,12vw,10rem);border-top:1px solid #bbb9b3;padding-top:2rem}.contact-details address{display:flex;flex-direction:column;gap:.55rem;font-style:normal}.contact-details address p{margin-bottom:.5rem}.social-links{display:flex;flex-direction:column;align-items:flex-end;gap:.7rem}.social-links a{display:inline-flex;align-items:center;gap:.55rem;border-bottom:1px solid #aaa;padding-bottom:.25rem}.social-icon{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.6}.social-icon-dot{fill:currentColor;stroke:none}.site-footer{position:relative;z-index:1;display:flex;justify-content:space-between;margin-top:6rem;border-top:1px solid #bbb9b3;padding-top:1.2rem;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}:focus-visible{outline:2px solid currentColor;outline-offset:5px}@keyframes hero-in{0%{opacity:0;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@media(max-width:760px){.carousel-track{overflow-x:auto;scroll-snap-type:x proximity;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.site-header{height:4.5rem;mix-blend-mode:normal;background:linear-gradient(180deg,rgba(0,0,0,.78),transparent)}.wordmark{height:3.25rem}.menu-toggle{z-index:2;display:flex;width:2.5rem;height:2.5rem;flex-direction:column;align-items:center;justify-content:center;gap:.42rem;padding:0}.menu-toggle span{width:1.4rem;height:1px;background:currentColor;transition:transform .25s}.menu-open .menu-toggle span:first-child{transform:translateY(.24rem) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-.24rem) rotate(-45deg)}.main-nav{position:fixed;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1rem;padding:var(--page-pad);background:var(--black);opacity:0;pointer-events:none;transform:translateY(-1rem);transition:opacity .25s,transform .25s}.menu-open .main-nav{opacity:1;pointer-events:auto;transform:none}.main-nav a{font-family:var(--serif);font-size:clamp(2.4rem,12vw,4rem);font-weight:500;letter-spacing:-.03em;text-transform:none}.hero-content{justify-content:flex-end;padding-bottom:8rem}.hero-image{object-position:55% center}.hero-shade{background:linear-gradient(0deg,#000000eb,#00000014 72%),linear-gradient(90deg,rgba(0,0,0,.25),transparent)}h1{font-size:clamp(3.7rem,17.5vw,6rem)}.hero-title-long{font-size:clamp(3.3rem,14vw,5.3rem)}.hero-intro{max-width:24rem;font-size:.95rem}.hero-index{display:none}.api-notice{flex-direction:column}.about-section{grid-template-columns:1fr}.about-copy{order:2}.about-image-wrap{order:1;width:82%;margin-left:auto}.professors-heading{grid-template-columns:1fr;gap:1rem}.professors-grid{grid-template-columns:1fr;gap:3rem}.professors-grid .professor-card{width:min(82vw,30rem)}.professor-card{display:grid;grid-template-columns:minmax(8rem,.75fr) 1fr;gap:1rem}.professor-card-copy{align-content:end}.professor-more{grid-column:1;grid-row:auto;margin-top:.5rem}.professor-dialog-layout{display:block}.professor-dialog-layout>img{width:100%;height:min(44vh,24rem);object-position:center 28%}.professor-dialog-copy{padding:2rem 1.25rem 2.5rem}.section-heading,.news-heading,.students-heading{grid-template-columns:1fr;gap:1rem}.student-grid{grid-template-columns:none}.student-grid .student-card{width:min(72vw,25rem)}.section-heading .eyebrow,.news-heading .eyebrow{margin-bottom:1rem}.course-row{min-height:0;grid-template-columns:2.3rem 1fr 1.5rem;gap:.7rem;padding:1.3rem 0}.course-description{display:none}.course-row-no-image .course-description{display:block;grid-column:2/-1;grid-row:2}.course-image{display:block;grid-column:2/-1;grid-row:2;margin-top:.75rem}.course-name h3{font-size:1.75rem}.work-heading{display:block}.video-grid{grid-template-columns:none}.video-grid .video-card{width:88vw}.video-card:first-child:nth-last-child(odd){grid-column:auto}.video-stage>img{aspect-ratio:4/5}.play-icon{width:4.5rem;height:4.5rem}.news-item{width:82vw;grid-template-columns:1fr}.news-item:nth-child(2n) .news-image{order:initial}.news-copy,.news-item-no-image .news-copy{grid-template-columns:2.5rem 1fr}.contact-details{grid-template-columns:1fr}.social-links{align-items:flex-start;margin-top:2rem}.site-footer{flex-direction:column;gap:.7rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.admin-shell{min-height:100vh;color:#1b1b1b;background:#f3f3f1;font-family:Arial,sans-serif;font-weight:400}.admin-sidebar{position:fixed;inset:0 auto 0 0;z-index:30;display:flex;width:15rem;flex-direction:column;padding:1.5rem;color:#fff;background:#101010}.admin-brand{display:flex;align-items:center;gap:.8rem;padding-bottom:2rem;border-bottom:1px solid #333;font-size:.78rem;letter-spacing:.12em}.admin-brand img{width:2rem;height:2.8rem;object-fit:contain}.admin-sidebar nav{display:flex;flex-direction:column;gap:.3rem;margin-top:2rem}.admin-sidebar nav a{border-radius:.25rem;padding:.75rem .85rem;color:#bcbcbc;font-size:.9rem}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{color:#fff;background:#292929}.admin-logout{margin-top:auto;border:1px solid #444;padding:.75rem;color:#ddd;background:transparent;cursor:pointer;text-align:left}.admin-main{min-height:100vh;margin-left:15rem}.admin-mobile-header{display:none}.admin-page{width:min(100%,78rem);margin:auto;padding:3rem clamp(1.25rem,4vw,4rem) 5rem}.admin-page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2.5rem}.admin-page h1,.admin-login-card h1{margin:0;font-family:Arial,sans-serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:600;letter-spacing:-.04em;line-height:1}.admin-page h2{margin-bottom:1.5rem;font-family:Arial,sans-serif;font-size:1.25rem;font-weight:600}.admin-kicker{margin-bottom:.65rem;color:#777;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.admin-primary,.admin-secondary{display:inline-flex;min-height:2.6rem;align-items:center;justify-content:center;border:1px solid #151515;border-radius:.2rem;padding:.65rem 1rem;background:#151515;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600}.admin-secondary{color:#222;background:transparent}.admin-primary:disabled{opacity:.45;cursor:not-allowed}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;margin-bottom:3.5rem;border:1px solid #d5d5d1;border-radius:.35rem;background:#fff}.admin-stats a{display:flex;align-items:center;justify-content:space-between;padding:1.7rem;border-right:1px solid #ddd}.admin-stats a:last-child{border:0}.admin-stats strong{font-size:2rem}.admin-quick-links{max-width:46rem}.admin-maintenance{max-width:46rem;margin-top:3.5rem;border-top:1px solid #ccc;padding-top:2rem}.admin-maintenance>p:not(.admin-kicker,.admin-success,.admin-error){max-width:40rem;color:#666;line-height:1.6}.admin-danger-button{border:1px solid #a32323;border-radius:.2rem;padding:.75rem 1rem;color:#a32323;background:transparent;cursor:pointer;font:inherit}.admin-danger-button:disabled{cursor:wait;opacity:.5}.admin-quick-links>a{display:flex;justify-content:space-between;border-top:1px solid #ccc;padding:1.15rem 0}.admin-quick-links>a:last-child{border-bottom:1px solid #ccc}.admin-form{margin-bottom:2.5rem;border:1px solid #d4d4d0;border-radius:.35rem;padding:clamp(1.25rem,3vw,2rem);background:#fff}.admin-form.compact{margin-top:1rem}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem}.admin-form label{display:flex;flex-direction:column;gap:.45rem;color:#555;font-size:.75rem;font-weight:600}.admin-form label.wide,.admin-form .wide{grid-column:1/-1}.admin-file-field small{color:#777;font-weight:400}.admin-image-preview{display:flex;align-items:center;gap:1rem;color:#666;font-size:.8rem}.admin-image-preview img{width:7rem;height:5rem;border-radius:.2rem;object-fit:cover;object-position:center}.admin-image-remove{margin-left:auto;border:0;padding:.45rem;color:#a32323;background:transparent;cursor:pointer;font:inherit;text-decoration:underline}.admin-form input:not([type=checkbox]),.admin-form textarea{width:100%;border:1px solid #c9c9c5;border-radius:.2rem;padding:.75rem;background:#fff;color:#111;font:inherit}.admin-form input:focus,.admin-form textarea:focus{border-color:#111;outline:2px solid rgba(0,0,0,.08)}.admin-form .admin-check{flex-direction:row;align-items:center;gap:.6rem}.admin-form-actions{display:flex;gap:.7rem;margin-top:1.5rem}.admin-success{margin-left:1rem;color:#26733a;font-size:.8rem}.admin-error{color:#a32323;font-size:.8rem}.admin-help{margin:-1.5rem 0 2rem;color:#666;font-size:.85rem}.admin-table-wrap{overflow-x:auto;border:1px solid #d4d4d0;border-radius:.35rem;background:#fff}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:1rem;border-bottom:1px solid #e2e2df;text-align:left;vertical-align:middle}.admin-table th{color:#777;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.admin-table td{font-size:.85rem}.admin-table td small{display:block;max-width:28rem;overflow:hidden;margin-top:.35rem;color:#777;text-overflow:ellipsis;white-space:nowrap}.admin-table .actions,.admin-gallery-grid .actions{display:flex;justify-content:flex-end;gap:.5rem}.admin-table button,.admin-gallery-grid button{border:0;padding:.4rem;color:#333;background:transparent;cursor:pointer;text-decoration:underline}.admin-table button.danger,.admin-gallery-grid button.danger{color:#a32323}.admin-status{display:inline-block;border-radius:2rem;padding:.3rem .55rem;color:#246c36;background:#e3f2e6;font-size:.7rem}.admin-status.inactive{color:#666;background:#ededeb}.admin-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.admin-gallery-grid article{display:flex;flex-direction:column;gap:.55rem;border:1px solid #d4d4d0;padding:1rem;background:#fff}.admin-gallery-grid article>span{color:#777;font-size:.75rem}.admin-thumb{aspect-ratio:4/3;overflow:hidden;background:#ddd}.admin-thumb img{width:100%;height:100%;object-fit:cover;object-position:center}.admin-thumb-portrait{aspect-ratio:3/4}.admin-settings-section{margin-top:3.5rem}.admin-login-page{display:grid;min-height:100vh;place-items:center;padding:1.25rem;color:#222;background:#e9e9e6}.admin-login-card{display:flex;width:min(100%,26rem);flex-direction:column;gap:1.1rem;border:1px solid #ccc;padding:clamp(1.5rem,5vw,3rem);background:#fff}.admin-login-card>img{width:4rem;height:5.6rem;object-fit:contain;background:#000}.admin-login-card label{display:flex;flex-direction:column;gap:.45rem;font-size:.78rem;font-weight:600}.admin-login-card input{padding:.8rem;border:1px solid #bbb;font:inherit}.admin-login-card>a{margin-top:.5rem;color:#666;font-size:.78rem}@media(max-width:820px){.admin-sidebar{width:min(85vw,18rem);transform:translate(-100%);transition:transform .2s}.admin-shell.nav-open .admin-sidebar{transform:translate(0)}.admin-mobile-header{position:sticky;top:0;z-index:20;display:flex;height:3.5rem;align-items:center;justify-content:space-between;padding:0 1rem;color:#fff;background:#111}.admin-mobile-header button{border:1px solid #555;padding:.4rem .65rem;color:#fff;background:transparent}.admin-main{margin-left:0}.admin-stats{grid-template-columns:1fr}.admin-stats a{border-right:0;border-bottom:1px solid #ddd}.admin-form-grid{grid-template-columns:1fr}.admin-form label.wide{grid-column:auto}.admin-gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.carousel-shell{padding-inline:3.25rem}.student-grid{grid-template-columns:none}.student-grid .student-card{width:82vw}.carousel-controls button{width:2.75rem;height:2.75rem}.admin-page-header{align-items:flex-start}.admin-gallery-grid{grid-template-columns:1fr}.admin-table th:nth-child(2),.admin-table td:nth-child(2){display:none}}
