:root{--bg:#101315;--card:#1a1e20;--cream:#ece9df;--muted:#a6aba8;--accent:#da805b;--line:#353a39}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font-family:Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #ffffff18;background:#101315;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:13px;font-weight:700;font-size:15px;line-height:1.2}.brand small{display:block;color:#a6aba8;font-size:9px;letter-spacing:.17em;margin-top:7px}.mark{display:grid;place-items:center;border:1px solid #686d69;width:42px;height:42px;font-family:Georgia;font-size:19px}.mark span{color:var(--accent)}nav{display:flex;align-items:center;gap:30px;font-size:13px;color:#d2d3ce}nav a:hover,.underlink:hover{color:var(--accent)}.contact{border:1px solid #7f8279;padding:10px 15px}.menu{display:none}.wrap{width:min(1240px,88%);margin:auto}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:.2em;color:var(--accent)}.dot{display:inline-block;background:var(--accent);border-radius:50%;width:7px;height:7px;margin-right:9px}.hero{min-height:650px;height:calc(100vh - 86px);max-height:850px;position:relative;display:flex;align-items:center}.hero-image{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.8}.hero-inner{position:relative;margin-left:6%;max-width:780px}.hero h1,.page-hero h1{font:normal clamp(64px,8.4vw,124px)/.96 Georgia,serif;letter-spacing:-.055em;margin:30px 0}.hero h1 em,h2 em{font-weight:normal;color:#d8b5a3}.hero-inner>p{font-size:18px;color:#dedfda;line-height:1.6}.buttons{display:flex;align-items:center;gap:30px;margin-top:35px}.button{background:var(--accent);color:#141414;font-size:12px;font-weight:bold;padding:17px 20px}.button span{margin-left:28px}.text-link,.underlink{font-size:13px;border-bottom:1px solid #777;padding-bottom:6px}.hero-caption{position:absolute;bottom:25px;left:6%;right:6%;display:flex;justify-content:space-between;color:#d4d3ca;font-size:10px;letter-spacing:.16em}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:120px 0}.intro h2,.section-top h2,footer h2{font:normal clamp(44px,5vw,68px)/1.05 Georgia,serif;letter-spacing:-.04em;margin:22px 0 35px}.portrait img{width:100%;height:310px;object-fit:cover}.prose{color:#c6c9c3;font-size:15px}.prose p{margin:0 0 22px}.prose .lead{font:normal 30px Georgia;color:var(--cream)}.explore{padding:30px 0 130px}.section-top{display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line);padding-top:42px}.section-top p{max-width:330px;color:var(--muted);font-size:14px}.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.explore-grid a{background:#1c2121;min-height:265px;padding:30px;display:flex;flex-direction:column;transition:background .2s}.explore-grid a:hover{background:#29302e}.explore-grid span,.film-caption span{font-size:10px;color:var(--accent);letter-spacing:.12em}.explore-grid h3{font:normal 30px Georgia;margin:auto 0 7px}.explore-grid p{color:var(--muted);font-size:14px;margin:0}.explore-grid b{font-size:12px;margin-top:25px}.accent{color:var(--accent)}.page-hero{padding:75px 0 55px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(55px,7vw,95px);margin:25px 0}.page-hero p{color:var(--muted)}.back{display:block;color:#a8aaa4;font-size:12px;margin-bottom:65px}.page-body{padding:25px 0 120px}.page-intro{font:normal 19px/1.8 Georgia,serif;color:#d9d9d0;max-width:960px;margin:35px 0}.content-title{font:normal clamp(29px,3vw,42px)/1.2 Georgia,serif;letter-spacing:-.025em;margin:70px 0 25px}.grades{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:25px 0;border-bottom:1px solid var(--line)}.grades span{color:var(--muted);font-size:10px;letter-spacing:.15em;margin-right:10px}.grades a{border:1px solid #484d4b;padding:9px 15px;font-size:12px}.grades a:hover,.grades a.active{background:var(--accent);border-color:var(--accent);color:#161616}.films{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:25px 0 55px}.film{min-width:0}.play,.film iframe{width:100%;aspect-ratio:16/9;border:0;display:block}.play{background-color:#252c2d;background-size:cover;background-position:center;cursor:pointer;color:white;position:relative;text-align:left}.play span{position:absolute;left:22px;bottom:20px;border:1px solid #e8e6dc;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font-size:13px}.play:hover span{background:var(--accent);border-color:var(--accent);color:#111}.play small{position:absolute;top:16px;left:20px;letter-spacing:.16em;font-size:9px}.film-caption{padding:14px 0;border-bottom:1px solid var(--line)}.film-caption h3{font:normal 19px/1.35 Georgia;margin:0 0 8px}.film-caption span{font-size:9px}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0}.photos figure{margin:0;background:#202526}.photos img{width:100%;height:260px;object-fit:contain;display:block}.photo-caption{color:var(--muted);margin:10px 0 35px}.missing{display:none}.doc,.article-link{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding:20px 0;max-width:900px}.doc-icon{width:48px;height:48px;background:#292f2e;display:grid;place-items:center;color:var(--accent)}.doc strong,.doc small{display:block}.doc strong{font-size:15px}.doc small{font-size:9px;letter-spacing:.14em;color:var(--accent)}.arrow,.article-link span{margin-left:auto}.notice{border-left:3px solid var(--accent);padding:20px 25px;background:#1d2322;max-width:900px;margin-top:60px;font-size:14px;color:#cdd0c9}.notice p{margin-bottom:0}footer{background:#1b201f;padding:80px 6% 24px;display:grid;grid-template-columns:2fr 1fr;gap:30px}footer h2{margin:20px 0}.footer-mail{font-size:18px;border-bottom:1px solid var(--accent)}.footer-side{font-size:13px;color:#b8beb9}.footer-side strong{color:#eee}.footer-side a{line-height:2.2}.footline{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:23px;margin-top:45px;font-size:11px;color:#949b95}@media(max-width:850px){header{height:72px}.menu{display:block;background:none;border:1px solid #555;color:#eee;padding:8px 12px}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#151a19;padding:25px 6%;flex-direction:column;align-items:flex-start;gap:20px}nav.open{display:flex}.hero{min-height:630px;height:85vh}.hero-image{background-position:65% center;opacity:.5}.hero h1{font-size:76px}.intro{grid-template-columns:1fr;gap:35px;padding:80px 0}.explore-grid,.films{grid-template-columns:repeat(2,minmax(0,1fr))}.photos{grid-template-columns:repeat(2,1fr)}.section-top{display:block}.explore{padding-bottom:80px}}@media(max-width:520px){.hero h1{font-size:60px}.buttons{align-items:flex-start;flex-direction:column;gap:23px}.films,.explore-grid{grid-template-columns:1fr}.photos img{height:160px}.page-hero{padding-top:45px}.page-hero h1{font-size:52px}.back{margin-bottom:45px}footer{grid-template-columns:1fr}.footline{grid-column:1}.footline span{display:none}}

.page-curriculum-vitae .photos,.page-myp-media .photos{grid-template-columns:1fr}.page-curriculum-vitae .photos img,.page-myp-media .photos img{height:auto;max-height:none;width:100%;object-fit:contain}

/* A quieter portfolio layout, led by the work itself. */
:root{--bg:#171717;--card:#222;--cream:#f0efeb;--muted:#babbb8;--accent:#bd7770;--line:#484848}
body{font-family:Arial,Helvetica,sans-serif}header{height:78px;background:#171717;padding:0 max(6%,calc((100% - 1200px)/2));border-color:#414141}.brand{font-size:15px;letter-spacing:0}.brand small,.mark,.hero-caption{display:none}nav{gap:25px;font-size:13px}nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:6px}.contact{border:0;padding:0;color:#fff;text-decoration:underline;text-underline-offset:5px}
.hero{width:min(1200px,88%);margin:0 auto;min-height:0;height:auto;max-height:none;display:grid;grid-template-columns:43% 57%;align-items:center;padding:60px 0 76px;gap:0}.hero-image{position:relative;grid-column:2;grid-row:1;min-height:460px;inset:auto;opacity:1;background-size:cover;background-position:center}.hero-inner{grid-column:1;grid-row:1;margin:0;padding-right:40px}.hero .eyebrow,.explore .eyebrow{display:none}.hero h1,.page-hero h1{font:600 clamp(42px,5vw,68px)/1.08 Arial,Helvetica,sans-serif;letter-spacing:-.045em;margin:0 0 26px}.hero h1 em{font-style:normal;color:var(--cream)}.hero-inner>p{font-size:17px;line-height:1.7;color:#ccc}.buttons{gap:22px;margin-top:30px;align-items:flex-start;flex-direction:column}.button{background:#eee;color:#171717;padding:12px 17px;font-size:13px}.button span{margin-left:16px}.text-link,.underlink{font-size:13px;color:#ddd}.intro{border-top:1px solid var(--line);padding:80px 0;gap:8%;grid-template-columns:40% 1fr}.intro .eyebrow,.section-top .eyebrow{font-size:10px;color:#bbb}.intro h2,.section-top h2,footer h2{font:600 clamp(29px,3vw,40px)/1.15 Arial,sans-serif;letter-spacing:-.035em;margin:18px 0 28px}.intro h2 em{font-style:normal;color:inherit}.portrait img{height:auto;max-height:370px;object-fit:cover}.prose{font-size:15px;line-height:1.8}.prose .lead{font:600 20px Arial}.explore{padding:0 0 90px}.section-top{display:block;padding-top:55px}.section-top p{max-width:650px}.explore-grid{display:block;border-top:1px solid var(--line)}.explore-grid a{padding:22px 0;min-height:0;background:transparent;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr auto;align-items:center;gap:20px}.explore-grid a:hover{background:transparent;color:#fff}.explore-grid span{display:none}.explore-grid h3{font:600 20px Arial;margin:0}.explore-grid p{font-size:14px}.explore-grid b{margin:0;font-weight:normal}.accent{color:inherit}.page-hero{padding:55px 0 35px}.page-hero h1{font-size:clamp(40px,5vw,62px)}.back{margin-bottom:40px}.page-hero .eyebrow{color:#aaa}.page-intro{font:normal 17px/1.8 Arial,sans-serif;color:#ddd}.content-title{font:600 clamp(24px,2.3vw,33px)/1.2 Arial,sans-serif;letter-spacing:-.02em}.film-caption h3{font:600 15px/1.4 Arial,sans-serif}.film-caption span,.play small{display:none}.play{background-color:#282828}.play span{width:42px;height:42px}.grades a.active,.grades a:hover{background:#eee;border-color:#eee;color:#222}.doc-icon{background:#292929;color:#ddd}.doc small{color:#aaa}.notice{border-color:#999;background:#252525}.article-link{color:#ddd}footer{background:#222}.footer-mail{border-color:#aaa}
@media(max-width:850px){header{height:72px}.hero{grid-template-columns:1fr;padding:30px 0 55px}.hero-image{grid-column:1;grid-row:2;min-height:0;aspect-ratio:2/1;margin-top:30px}.hero-inner{grid-column:1;grid-row:1;padding:0}.hero h1{font-size:52px}.hero h1 br{display:none}.buttons{flex-direction:row;align-items:center}.intro{grid-template-columns:1fr;padding:55px 0}.explore-grid a{grid-template-columns:1fr auto}.explore-grid p{grid-column:1}.explore-grid b{grid-column:2;grid-row:1}.photos img{height:200px}}
@media(max-width:520px){.hero h1{font-size:42px}.hero-image{aspect-ratio:4/3}.buttons{flex-wrap:wrap;gap:20px}.intro h2{font-size:30px}.explore-grid a{gap:8px}.explore-grid h3{font-size:18px}.photos img{height:150px}}

/* Homepage portrait supplied by Nicolas. */
.hero-image{background-color:#181818;background-size:contain;background-repeat:no-repeat;background-position:center;}

.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 20px;margin:28px 0 60px}.event-item{margin:0}.event-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:4px;background:#202424}.event-images img{width:100%;height:220px;object-fit:cover;display:block}.event-item figcaption{font-size:15px;line-height:1.4;padding-top:12px;color:#e4e4df}.page-dp-film-studies .photos{grid-template-columns:1fr;max-width:600px}.page-dp-film-studies .photos img{height:auto;max-height:390px;object-fit:cover}.page-myp-media .photos img{max-height:650px;width:auto;max-width:100%;margin:auto}@media(max-width:850px){.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.event-grid{grid-template-columns:1fr}.event-images img{height:220px}}

.visitor-counter{width:min(1200px,88%);margin:0 auto 35px;display:flex;align-items:center;gap:12px;color:#aaa;font-size:12px}.visitor-counter[hidden]{display:none}.visitor-counter img{max-height:22px;width:auto;vertical-align:middle}

.hero-qualification{display:inline-block;color:#eee;font-size:14px;margin-top:10px}.qualifications{border-top:1px solid var(--line);margin:30px 0 20px;padding-top:22px}.qualifications h3{font-size:16px;color:#f0efeb;margin:0 0 12px}.qualifications p{line-height:1.85}.myp-hero{width:100%;max-width:none;padding:75px max(6%,calc((100% - 1240px)/2));min-height:355px;background:linear-gradient(90deg,rgba(15,15,15,.92),rgba(15,15,15,.65) 48%,rgba(15,15,15,.15)),url('assets/image-64f2f4c77168.webp') center 52%/cover no-repeat}.myp-hero .back{color:#ddd}.myp-hero .eyebrow{color:#eee}.page-myp-media .photos{grid-template-columns:repeat(3,minmax(0,1fr))}.page-myp-media .photos img{width:100%;height:230px;object-fit:cover}.page-myp-media .photos:has(figure:only-child){grid-template-columns:1fr}.page-myp-media .photos:has(figure:only-child) img{height:auto;max-height:650px;object-fit:contain}.page-dp-film-studies .photos{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr))}.page-dp-film-studies .photos:has(figure:only-child){grid-template-columns:1fr;max-width:700px}.page-dp-film-studies .photos img{height:300px;object-fit:cover}.page-curriculum-vitae .photos img{max-height:900px;object-fit:contain}@media(max-width:700px){.myp-hero{min-height:280px;padding:50px 6%}.page-myp-media .photos{grid-template-columns:1fr}.page-dp-film-studies .photos{grid-template-columns:1fr}.page-dp-film-studies .photos img{height:auto;max-height:350px}}

.feature-photo{max-width:650px;margin:45px 0}.feature-photo img{width:100%;height:auto;display:block}.feature-photo figcaption{color:#c9cbc7;font-size:13px;margin-top:9px}.page-myp-media .photos img,.page-dp-film-studies .photos img{object-fit:contain;background:#202222}.page-dp-film-studies .photos{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:850px){.page-dp-film-studies .photos{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.page-dp-film-studies .photos{grid-template-columns:1fr}}

.portrait{display:grid;gap:16px}.portrait img{width:100%;height:auto;max-height:330px;object-fit:contain;background:#202222}

/* Balanced galleries and consistent page headers */
.hero-image{background-size:cover;background-position:center}.portrait img:first-child{max-height:420px;object-fit:contain}.photo-hero{width:100%;max-width:none;padding:75px max(6%,calc((100% - 1240px)/2));min-height:355px;background-size:cover;background-position:center;background-repeat:no-repeat}.photo-hero .back{color:#ddd}.photo-hero .eyebrow{color:#eee}.hero-myp-media{background-image:linear-gradient(90deg,rgba(15,15,15,.92),rgba(15,15,15,.65) 48%,rgba(15,15,15,.15)),url('assets/image-64f2f4c77168.webp')}.hero-dp-film-studies{background-image:linear-gradient(90deg,rgba(15,15,15,.94),rgba(15,15,15,.7) 48%,rgba(15,15,15,.28)),url('assets/dp-classroom.webp')}.hero-events-and-activities{background-image:linear-gradient(90deg,rgba(15,15,15,.94),rgba(15,15,15,.65) 48%,rgba(15,15,15,.22)),url('assets/image-09a3fa5476aa.webp')}.hero-curriculum-vitae{background-image:linear-gradient(90deg,rgba(15,15,15,.94),rgba(15,15,15,.66) 48%,rgba(15,15,15,.25)),url('assets/image-3d1b6a16d0c1.webp')}.films,.photos,.event-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start}.films>.film,.photos>figure,.event-grid>.event-item{flex:0 1 calc((100% - 56px)/3);min-width:0}.photos>figure{flex-basis:calc((100% - 28px)/3)}.event-grid>.event-item{flex-basis:calc((100% - 40px)/3)}.page-myp-media .photos:has(figure:only-child)>figure,.page-dp-film-studies .photos:has(figure:only-child)>figure,.page-curriculum-vitae .photos>figure{flex-basis:100%}.page-curriculum-vitae .photos img{height:auto}.page-dp-film-studies .photos{max-width:none}.next-study{border-top:1px solid var(--line);margin-top:70px;padding:35px 0 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.next-study span{font-size:10px;letter-spacing:.14em;color:#aaa}.next-study a{font-size:18px;font-weight:bold}.next-study a b{margin-left:20px}.next-study a:hover{text-decoration:underline}@media(max-width:850px){.photo-hero{min-height:280px;padding:50px 6%}.films>.film,.photos>figure,.event-grid>.event-item{flex-basis:calc((100% - 28px)/2)}}@media(max-width:520px){.films>.film,.photos>figure,.event-grid>.event-item{flex-basis:100%}.next-study{align-items:flex-start;flex-direction:column}}

/* Let the photographs sit naturally within the page. */
.hero-image{-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 22%,#000 83%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 22%,#000 83%,transparent 100%)}
.hero-dp-film-studies{background-image:linear-gradient(90deg,rgba(15,15,15,.18),rgba(15,15,15,.45) 43%,rgba(15,15,15,.94)),url('assets/dp-classroom.webp');text-align:right}
.hero-events-and-activities{background-size:115% auto;background-position:center}
.event-images{height:220px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:4px;overflow:hidden}
.event-images img{height:100%;min-height:0;object-fit:cover}
.event-images img:only-child{grid-column:1/-1;grid-row:1/-1}
.event-images img:first-child:nth-last-child(2),.event-images img:first-child:nth-last-child(2)~img{grid-row:1/-1}
.event-images img:first-child:nth-last-child(3){grid-row:1/-1}
.page-events-and-activities .feature-photo{margin:35px auto 45px;max-width:700px}
@media(max-width:700px){.hero-events-and-activities{background-size:cover}.hero-image{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 90%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 90%,transparent 100%)}}

/* Grade banners and full, related event photographs. */
.hero-grade-6{background-image:linear-gradient(90deg,rgba(15,15,15,.94),rgba(15,15,15,.66) 45%,rgba(15,15,15,.18)),url('assets/image-a29e5065b97f.webp')}
.hero-grade-7{background-image:linear-gradient(90deg,rgba(15,15,15,.94),rgba(15,15,15,.66) 45%,rgba(15,15,15,.18)),url('assets/image-9241cfb96e06.webp')}
.hero-grade-8{background-image:linear-gradient(90deg,rgba(15,15,15,.94),rgba(15,15,15,.66) 45%,rgba(15,15,15,.18)),url('assets/image-1d07d049db56.webp')}
.hero-grade-9{background-image:linear-gradient(90deg,rgba(15,15,15,.94),rgba(15,15,15,.66) 45%,rgba(15,15,15,.18)),url('assets/image-4b222b6ae508.webp')}
.hero-grade-10{background-image:linear-gradient(90deg,rgba(15,15,15,.94),rgba(15,15,15,.66) 45%,rgba(15,15,15,.18)),url('assets/image-3d1b6a16d0c1.webp')}
.hero-events-and-activities{background-size:135% auto;background-position:25% 65%}
.event-grid>.event-group{flex-basis:100%}
.event-group .event-images{display:flex;height:auto;gap:12px;background:transparent;justify-content:center}
.event-group .event-images img{width:0;flex:1 1 0;height:clamp(180px,23vw,300px);object-fit:contain;background:#202424}
.event-group figcaption{text-align:center}
@media(max-width:700px){.hero-events-and-activities{background-size:cover;background-position:30% center}.event-group .event-images img{height:180px}}
@media(max-width:520px){.event-group .event-images{flex-direction:column}.event-group .event-images img{width:100%;height:auto;max-height:300px}}

/* Keep faces visible in the cropped page banners. */
.hero-grade-6{background-position:center 8%}
.hero-grade-8{background-image:linear-gradient(90deg,rgba(15,15,15,.12),rgba(15,15,15,.4) 43%,rgba(15,15,15,.94)),url('assets/image-1d07d049db56.webp');background-position:center 5%;text-align:right}
.hero-grade-10{background-image:linear-gradient(90deg,rgba(15,15,15,.12),rgba(15,15,15,.45) 43%,rgba(15,15,15,.95)),url('assets/image-3d1b6a16d0c1.webp');background-position:center 10%;text-align:right}
.hero-curriculum-vitae{background-image:linear-gradient(90deg,rgba(15,15,15,.95),rgba(15,15,15,.66) 45%,rgba(15,15,15,.15)),url('assets/image-ce67c6b01ccc.webp');background-position:center 10%}
.hero-grade-6{background-image:linear-gradient(90deg,rgba(15,15,15,.9),rgba(15,15,15,.45) 29%,rgba(15,15,15,.12) 65%),url('assets/image-a29e5065b97f.webp')}
