:root{--blue:#15466c;--navy:#102f49;--text:#354b5a;--gold:#b98a43;--paper:#f7f5ef;--line:#dce1df}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--text);font:16px/1.7 Arial,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}img,video{max-width:100%}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.15;color:var(--navy)}h2{font-size:clamp(32px,4vw,52px);letter-spacing:-1.5px;margin:16px 0 25px}h3{font-size:25px}a{transition:color .2s,background .2s}a:hover{color:var(--gold)}.banner{position:relative;background:var(--navy);color:white;padding:170px max(6%,calc((100vw - 1280px)/2)) 160px;min-height:840px;display:grid;grid-template-columns:1fr 1.05fr;gap:65px;align-items:center;overflow:hidden}.banner:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 0 60%,#21577866,transparent 65%);pointer-events:none}header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px max(3%,calc((100vw - 1420px)/2));background:#102f49f5;border-bottom:1px solid #ffffff20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:white;line-height:1.3;min-width:0}.brand img{width:47px;height:57px;object-fit:contain;background:white;border-radius:3px;flex-shrink:0}.brand span{font-size:9px;letter-spacing:2px}.brand strong{display:block;font:22px Georgia,serif;letter-spacing:1px;margin-top:4px;white-space:nowrap}.main-nav{display:flex;gap:25px;font-size:13px}.main-nav a{text-decoration:none;display:flex;align-items:center;min-height:44px;color:#fff}.main-nav a:hover{color:#edd0a0}.header-tools{display:flex;gap:8px}.header-tools button{background:none;border:1px solid #ffffff30;color:white;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;min-height:44px;min-width:44px;font-size:11px}.drawer{position:fixed;top:96px;right:3%;z-index:25;padding:20px 28px;background:var(--navy);border:1px solid #ffffff35;min-width:275px;max-width:94vw;max-height:calc(100dvh - 110px);overflow:auto;box-shadow:0 18px 50px #0005}.drawer a{display:block;padding:11px 0;min-height:44px;text-decoration:none;border-bottom:1px solid #ffffff20;color:#fff}.banner-title{position:relative;z-index:2}.hero-eyebrow{font-size:10px;letter-spacing:2px;color:#e1c28e;display:block}.banner-title h1{font-size:clamp(43px,4.1vw,67px);line-height:1.09;letter-spacing:-2px;color:white;margin:25px 0}.banner-title h1 em{font-weight:400;color:#e9c997}.banner-description{max-width:450px;color:#d5e0e7;font-size:16px;line-height:1.85;margin:26px 0 34px}.hero-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.hero-actions a{min-height:50px;display:inline-flex;align-items:center;gap:28px;text-decoration:none;font-size:13px}.primary-action,.button{background:#e4c48f;color:var(--navy);border:0;padding:15px 22px;font-weight:600}.primary-action:hover,.button:hover{background:#f0d7ac;color:var(--navy)}.outline-action{color:white;border-bottom:1px solid #ffffff60;padding:8px 0}.hero-portrait{position:relative;z-index:2;height:440px;margin:0 0 0 10px;box-shadow:20px -20px 0 #ffffff08;border:1px solid #ffffff20}.hero-portrait>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.portrait-label{position:absolute;bottom:0;left:0;right:0;padding:60px 24px 24px;background:linear-gradient(transparent,#091f38e8);color:white}.portrait-label span{display:block;font-size:9px;letter-spacing:2px;color:#e7c994}.portrait-label strong{display:block;font:25px Georgia,serif;margin-top:8px}.hero-signature{position:absolute;left:6%;bottom:-28px;color:#ffffff07;font-size:clamp(110px,16vw,245px);font-weight:800;letter-spacing:8px;line-height:1;white-space:nowrap;pointer-events:none}.hero-signature span{font-weight:400;font-size:.35em;letter-spacing:10px;margin-left:15px}.content{max-width:1280px;padding:0 40px 80px;margin:auto}.welcome-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;border-bottom:1px solid var(--line);font-size:12px}.welcome-strip>span{color:#7a6446}.welcome-strip a{text-decoration:none;padding:8px 0;font-weight:600}.intro{padding:100px 0 45px;max-width:1000px}.section-caption{font-size:10px;letter-spacing:2px;font-weight:700;color:#816334}.intro>p{max-width:650px;line-height:1.85}.school-values{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:40px 0 0}.school-values>div{border-top:1px solid #c8d1d2;padding-top:20px}.school-values span{font-size:11px;color:var(--gold);margin-right:15px}.school-values strong{font:24px Georgia,serif;color:var(--navy)}.school-values p{font-size:13px;margin:10px 0}.quick-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d7ddd9;border:1px solid #d7ddd9;margin:30px 0 80px}.quick-nav a{position:relative;text-decoration:none;background:#fff;padding:26px}.quick-nav a:hover{background:#eeece3}.quick-nav span{font-size:9px;letter-spacing:1.5px;color:#987541}.quick-nav strong{display:block;font:30px Georgia,serif;color:var(--navy);margin-top:10px}.quick-nav small{font-size:12px}.quick-nav b{position:absolute;right:25px;top:50px;font-size:24px;font-weight:400}.school-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:70px;margin:0 0 100px}.school-row:nth-child(2) .row-image{order:2}.row-image{height:410px;overflow:hidden;background:#e4e5de}.row-image img{width:100%;height:100%;object-fit:cover;display:block}.school-row:first-child .row-image img{object-fit:contain}.row-copy{min-width:0}.section-number{font-size:10px;letter-spacing:2px;color:#896a36}.row-copy h2{margin-top:18px}.row-copy p{font-size:14px}.row-copy ul{margin:15px 0 25px;padding:0;list-style:none;display:grid;grid-template-columns:1fr;gap:0}.row-copy li a{display:flex;justify-content:space-between;gap:10px;text-decoration:none;border-bottom:1px solid #d6dedf;padding:12px 0;font-size:13px;min-height:44px}.row-copy li a:after{content:'↗';color:var(--gold)}.small-note,.form-note{font-size:12px;color:#61717b}.school-life{background:var(--navy);color:#dae5ec;padding:55px 60px;margin:30px 0 95px;position:relative;border-left:5px solid var(--gold)}.school-life h2{color:white}.school-life .section-caption{color:#e6c994}.school-life>p{max-width:730px}.school-life .small-note{color:#b9cbd6;max-width:750px}.family-access{display:flex;gap:16px;margin:28px 0;flex-wrap:wrap}.family-access .button{display:flex;justify-content:space-between;align-items:center;gap:65px;min-width:190px;text-decoration:none}.family-access .parent-access{background:white}.admissions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:65px;align-items:start;padding:90px 0;border-top:1px solid var(--line)}.admissions p{font-size:14px}.admissions ol{padding-left:20px;font-size:14px}.admissions li{padding:7px 0}.underlined{text-decoration:none;border-bottom:1px solid var(--gold);font-size:13px;display:inline-block;padding:12px 0}.admissions form{background:white;border:1px solid #dce1df;padding:32px}.admissions form h3{margin-bottom:12px}.admissions label{display:block;font-size:12px;font-weight:600;margin:15px 0 7px}.admissions label span{font-weight:400}.admissions input,.admissions select,.admissions textarea{display:block;width:100%;min-width:0;padding:11px 12px;background:#fafaf7;border:1px solid #ccd5d7;border-radius:0;min-height:44px;color:var(--navy);font-size:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.admissions .privacy{font-size:11px;line-height:1.6;margin:16px 0;color:#657581}.admissions .button{width:100%;min-height:50px}.send-actions{display:flex;gap:15px;flex-wrap:wrap;align-items:center}.send-actions button{padding:8px 14px;background:white;border:1px solid #bccbd1;min-height:44px}.text-link{font-size:13px;font-weight:600}.search-panel{background:white;padding:25px;border:1px solid #d2dbe0;margin:20px 0}.search-panel label{display:block;margin-bottom:12px}.search-panel>div{display:flex;gap:12px}.search-panel input{min-width:0;flex:1;padding:10px}.search-panel button{min-height:44px;padding:8px 18px}.gallery-heading,.video-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:30px}.gallery-heading>p,.video-heading>p{max-width:370px;font-size:14px;margin-bottom:25px}.photo-gallery{padding:20px 0 75px}.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}.gallery-filters button{background:none;border:1px solid #c9d3d7;min-height:44px;padding:10px 18px;font-size:12px;color:var(--navy)}.gallery-filters button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}.gallery-grid figure{margin:0;min-width:0}.gallery-grid figure:first-child{grid-column:span 2}.photo-open{position:relative;display:block;width:100%;height:275px;padding:0;border:0;background:#eceae4;overflow:hidden}.photo-open img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .5s}.gallery-grid figure:first-child .photo-open{height:350px}.gallery-grid figure:nth-child(2) .photo-open{height:350px}.photo-open:hover img{transform:scale(1.025)}.photo-zoom{position:absolute;right:12px;bottom:12px;background:var(--navy);color:white;width:36px;height:36px;display:grid;place-items:center;font-size:20px}.gallery-grid figcaption{font-size:12px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--navy)}.gallery-hint{font-size:12px;margin-top:24px;color:#6e7c85}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#photo-viewer{border:0;background:var(--navy);padding:60px 20px 20px;max-width:95vw;max-height:94dvh;color:white}#photo-viewer::backdrop{background:#06131aeb}#viewer-image{display:block;max-width:88vw;max-height:74dvh;object-fit:contain;margin:auto}#viewer-caption{text-align:center;font-size:13px;margin:15px 0 0}.photo-close{position:absolute;right:18px;top:10px;background:none;border:1px solid #ffffff70;color:white;padding:8px 15px;min-height:44px}.school-videos{background:#eeece4;padding:55px 40px;margin:20px -40px 70px}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.video-card{background:white;border:1px solid #dce1df;overflow:hidden}.video-card:first-child{grid-column:span 2}.video-stage{position:relative;aspect-ratio:16/9;background:var(--navy)}.video-stage video{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}.video-number{position:absolute;left:12px;top:12px;background:#102f49c9;color:white;font-size:11px;padding:5px 10px;pointer-events:none}.video-caption{padding:22px}.video-duration{font-size:9px;letter-spacing:2px;color:#816334}.video-caption h3{font-size:23px;margin:14px 0}.video-caption p{font-size:13px;margin:0}.contact{padding:70px 0 10px;border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:35px}.contact-grid>div{padding-top:25px;border-top:1px solid #bac8cf;min-width:0}.contact-grid h3{font-size:23px}.contact-grid p{font-size:14px}.contact-grid a{display:block;width:fit-content;text-decoration:none;min-height:44px;font-size:14px;overflow-wrap:anywhere}footer{background:var(--navy);color:#d1dee6;padding:60px max(6%,calc((100vw - 1200px)/2)) 25px}.footer-content{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}.footer-content h3{font:10px Arial,sans-serif;letter-spacing:1.5px;color:#e4c48f;margin:10px 0 20px}.footer-content a:not(.brand){display:block;text-decoration:none;font-size:12px;padding:7px 0;min-height:34px}.footer-identity p{font-size:12px;margin:20px 0}.footer-bottom{font-size:10px;letter-spacing:1px;padding-top:25px;border-top:1px solid #ffffff25;margin-top:40px}.floating-contact{position:fixed;z-index:15;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));background:var(--navy);color:white;padding:12px 17px;display:flex;align-items:center;gap:10px;text-decoration:none;font-size:12px;border:1px solid #b5c1c8;box-shadow:0 5px 25px #102f4925;min-height:48px}.floating-contact:hover{background:var(--blue);color:white}
@media(min-width:1500px){.banner{min-height:900px}.hero-portrait{height:500px}}@media(max-width:1100px){.main-nav{gap:15px;font-size:12px}.brand strong{font-size:18px}.banner{gap:35px;padding-left:5%;padding-right:5%}.banner-title h1{font-size:48px}.hero-portrait{height:400px}.school-row{gap:40px}.footer-content{grid-template-columns:1.4fr 1fr;gap:30px}}@media(max-width:900px){.main-nav{display:none}.banner{padding-top:155px;min-height:760px;gap:30px}.banner-title h1{font-size:40px;letter-spacing:-1px}.hero-portrait{height:370px;margin-left:0}.hero-actions{gap:10px}.hero-actions a{font-size:12px}.portrait-label strong{font-size:22px}.content{padding:0 28px 60px}.welcome-strip{flex-wrap:wrap;gap:10px 25px}.welcome-strip>span{flex-basis:100%}.school-row{gap:30px}.row-image{height:350px}.school-life{padding:40px}.admissions{gap:30px}.admissions form{padding:25px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid figure:first-child{grid-column:span 2}.gallery-grid figure:nth-child(2) .photo-open{height:275px}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.school-videos{margin-left:-28px;margin-right:-28px;padding:45px 28px}.gallery-heading,.video-heading{align-items:start;flex-direction:column;gap:0}.gallery-heading>p,.video-heading>p{max-width:650px}.form-row{grid-template-columns:1fr}}
@media(max-width:650px){header{padding:13px 5%;gap:8px}.brand img{width:35px;height:43px}.brand{gap:9px}.brand span{font-size:8px;letter-spacing:1px}.brand strong{font-size:18px;letter-spacing:.5px}.header-tools{gap:5px}.header-tools button{padding:8px;font-size:10px}.drawer{top:80px;right:5%}.banner{display:block;min-height:0;padding:125px 6% 65px}.banner-title h1{font-size:clamp(37px,8.5vw,52px);line-height:1.13;margin:20px 0}.hero-eyebrow{font-size:8px;letter-spacing:1.3px}.banner-description{font-size:14px;margin:22px 0}.hero-actions{gap:12px}.hero-portrait{height:auto;aspect-ratio:4/3;margin:40px 0 0;box-shadow:10px -10px 0 #ffffff08}.hero-signature{bottom:-10px;font-size:78px;letter-spacing:4px}.hero-signature span{font-size:.23em;margin-left:5px;letter-spacing:2px}.portrait-label{padding:45px 20px 20px}.portrait-label strong{font-size:23px}.content{padding:0 6% 50px}.welcome-strip{padding:22px 0;gap:3px 20px;font-size:11px}.welcome-strip a{min-height:44px;display:flex;align-items:center}.intro{padding:65px 0 20px}.intro>p{font-size:14px}.section-caption{font-size:9px;letter-spacing:1.4px}h2{letter-spacing:-.8px;font-size:35px}.school-values{grid-template-columns:1fr;gap:16px;margin-top:30px}.school-values>div{padding-top:15px}.school-values strong{font-size:23px}.school-values p{margin:6px 0 0 30px}.quick-nav{grid-template-columns:1fr;margin:25px 0 60px}.quick-nav a{padding:20px 23px}.quick-nav strong{font-size:28px;margin-top:5px}.quick-nav b{top:35px}.school-row{grid-template-columns:1fr;gap:25px;margin-bottom:60px}.school-row:nth-child(2) .row-image{order:0}.row-image{height:320px}.row-copy h2{margin-bottom:18px}.school-life{padding:35px 23px;margin-bottom:60px}.school-life h2{font-size:32px}.family-access{gap:12px}.family-access .button{min-width:0;flex:1 1 150px;gap:20px}.admissions{grid-template-columns:1fr;padding:60px 0;gap:30px}.admissions form{padding:23px}.gallery-heading h2,.video-heading h2{margin-bottom:20px}.gallery-filters{gap:8px;margin:20px 0}.gallery-filters button{font-size:11px;padding:9px 12px}.gallery-grid{gap:24px 12px}.photo-open,.gallery-grid figure:nth-child(2) .photo-open{height:200px}.gallery-grid figure:first-child .photo-open{height:auto;aspect-ratio:4/3}.gallery-grid figcaption{font-size:11px}.photo-gallery{padding-bottom:45px}.school-videos{margin:0 -6.8% 45px;padding:40px 6%}.video-grid{grid-template-columns:1fr}.video-card:first-child{grid-column:auto}.video-caption h3{font-size:22px}.contact{padding-top:45px}.contact-grid{grid-template-columns:1fr;gap:25px;margin-top:20px}.footer-content{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-identity{grid-column:1/-1}.footer-content a:not(.brand){min-height:44px}.footer-content h3{line-height:1.6}.floating-contact span{display:none}.floating-contact{padding:13px}.search-panel{padding:20px}.search-panel>div{flex-wrap:wrap}.search-panel input{flex:1 1 100%;font-size:16px}.gallery-hint{font-size:11px}}@media(max-width:360px){.brand strong{font-size:15px}.header-tools button{font-size:9px}.banner-title h1{font-size:34px}.gallery-grid{grid-template-columns:1fr}.gallery-grid figure:first-child{grid-column:auto}.photo-open,.gallery-grid figure:nth-child(2) .photo-open{height:auto;aspect-ratio:4/3}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,.photo-open img{transition:none}.photo-open:hover img{transform:none}}
