:root{--bg:#F5F7FA;--surface:#DFE6EF;--text:#202B3D;--accent:#365B86}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.75}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:fixed;top:-100px;z-index:20;padding:10px;background:var(--bg)}.skip:focus{top:0}header{height:80px;position:sticky;top:0;background:rgba(245,247,250,.96);border-bottom:1px solid #202b3d1a;display:flex;align-items:center;justify-content:space-between;padding:0 5%;z-index:10}.icon{width:46px;height:46px;border:0;background:none;display:flex;align-items:center;justify-content:center;color:var(--text)}.menu-toggle{flex-direction:column;gap:6px}.menu-toggle span{height:1.5px;width:25px;background:currentColor;transition:transform .35s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7.5px) rotate(-45deg)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;letter-spacing:-.035em;margin:0 0 25px}h1{font-size:clamp(3rem,6.8vw,7rem)}h2{font-size:clamp(2.2rem,4vw,4rem)}h3{font-size:1.85rem}p{margin:0 0 22px;max-width:66ch}.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:600;color:var(--accent);margin-bottom:28px}.hero{max-width:1600px;margin:auto;min-height:calc(100svh - 80px);padding:45px 5% 25px;display:grid;grid-template-columns:1fr 1fr;gap:32px 6%;align-items:center}.hero-text{padding:10px 0}.hero-text>p:not(.eyebrow){max-width:470px}.hero .lead{font-family:Georgia,serif;font-size:clamp(1.35rem,2vw,1.7rem);line-height:1.5}.hero-photo{height:min(73svh,800px);min-height:480px;margin:0;position:relative;overflow:hidden;border-radius:4px}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 38%;filter:saturate(.6)}.hero-photo figcaption{position:absolute;bottom:16px;left:16px;font-size:12px;background:var(--bg);padding:5px 12px;border-radius:2px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #202b3d30;padding-top:22px;font-size:11px;letter-spacing:.15em}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--bg);padding:13px 25px;border:1px solid var(--accent);border-radius:2px;font-size:14px;transition:background .3s,transform .3s;margin-top:10px}.button:hover{background:var(--text);transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--accent)}footer{padding:40px 5%;display:flex;gap:25px;justify-content:space-between;align-items:center;border-top:1px solid #202b3d25}footer>span{font-family:Georgia,serif;font-size:23px}footer small,footer a,footer button{font-size:13px}dialog{color:var(--text);border:0;background:var(--bg)}#menu{position:fixed;inset:0 0 0 auto;margin:0;width:min(660px,100%);height:100dvh;max-height:none;max-width:none;padding:35px 50px}dialog::backdrop{background:#202b3d66;backdrop-filter:blur(4px)}#menu[open]{animation:panel .4s ease}.menu-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.13em}nav{margin-top:60px}nav a{display:block;font-family:Georgia,serif;font-size:clamp(1.8rem,3.3vw,2.6rem);line-height:1.3;padding:20px 0;border-bottom:1px solid #202b3d26}nav a[aria-current=page]{color:var(--accent)}nav a[aria-current=page]:before{content:'•';font-family:Arial;margin-right:10px}.menu-note{margin-top:45px;font-size:14px;color:var(--accent)}@keyframes panel{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.hero-text{animation:rise .65s ease}@media(max-width:760px){header{height:68px}.hero{padding-top:30px;grid-template-columns:1fr;gap:25px}.hero-text{order:1}.hero-photo{height:56svh;min-height:340px;order:0}.hero-bottom{order:2;font-size:9px}.hero h1{font-size:clamp(2.8rem,11vw,4.7rem)}footer{flex-wrap:wrap}#menu{padding:25px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.page-heading{padding:65px 6% 55px;max-width:1500px;margin:auto}.page-heading h1{font-size:clamp(2.6rem,6vw,5.6rem);max-width:1000px}.story-section{padding:90px 6%}.story-section:nth-child(even){background:var(--surface)}.section-inner{max-width:1320px;margin:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.story-section:nth-child(odd) .split .section-photo{order:-1}.section-copy{max-width:630px}.section-number{font-size:12px;color:var(--accent);letter-spacing:.15em;display:block;margin-bottom:28px}.section-photo{margin:0;min-width:0}.section-photo .frame{overflow:hidden;border-radius:4px;background:var(--surface)}.section-photo img{width:100%;height:430px;object-fit:cover;display:block;transition:transform .65s;filter:saturate(.75)}.section-photo:hover img,.card:hover img,.gallery figure:hover img{transform:scale(1.025)}figcaption{font-size:12px;line-height:1.5;color:var(--accent);margin-top:10px}.text-only{max-width:850px;padding:15px 0}.text-only p{font-size:19px}.subtitle{font-weight:600;font-size:15px;line-height:1.6}.highlight{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.3rem);color:var(--accent);border-top:1px solid #365b8640;padding-top:20px}.tags{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0 0;padding:0;list-style:none}.tags li{border:1px solid #365b8640;padding:8px 13px;font-size:14px}.extra{border-top:1px solid #365b8640;margin-top:30px;padding-top:30px}.button:disabled{opacity:.65;cursor:default;transform:none}.muted{font-size:13px;color:var(--accent);margin:8px 0}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:28px}.cards,.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.card{min-width:0}.card .frame{overflow:hidden;border-radius:4px}.card img{width:100%;height:260px;object-fit:cover;display:block;transition:transform .6s}.card h3{margin:25px 0 14px}.card p{font-size:15px;line-height:1.7}.card .caption{font-size:12px;margin-top:8px;color:var(--accent)}.gallery figure{margin:0}.gallery .frame{overflow:hidden;border-radius:4px}.gallery img{width:100%;height:340px;object-fit:cover;display:block;transition:transform .6s}.gallery figure:nth-child(3n+2) img{height:400px}.gallery figcaption{font-size:14px;color:var(--text)}.stock-label{display:block;font-size:12px;color:var(--accent);margin-top:4px}.award-placeholder{border:1px dashed #365b8680;height:280px;display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:14px;background:var(--bg)}.reveal.visible{animation:rise .65s both}.plain-button{border:0;background:none;color:var(--accent);padding:0;text-decoration:underline;text-underline-offset:5px}.editor{width:min(900px,95vw);max-height:90dvh;padding:30px;border:1px solid #365b8640;border-radius:6px}.editor h2{font-size:2.2rem;margin-bottom:10px}.editor label{display:block;font-size:14px;font-weight:600;margin:15px 0 6px}.editor input,.editor select,.editor textarea{width:100%;border:1px solid #365b8660;background:var(--bg);color:var(--text);padding:10px;border-radius:3px}.editor textarea{min-height:120px;resize:vertical}.editor .toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.editor .editor-actions{position:sticky;bottom:-30px;background:var(--bg);padding:15px 0;border-top:1px solid #365b8640;display:flex;gap:12px;flex-wrap:wrap}.editor details{margin:20px 0;padding:16px;background:var(--surface)}.editor summary{cursor:pointer;font-family:Georgia,serif;font-size:22px}.editor .status{font-size:14px;color:var(--accent);margin:15px 0}.editor .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.editor-note{font-size:14px;max-width:75ch}.file-label{font-weight:400!important}.page-heading+.story-section{padding-top:50px}.gallery-page .story-section{background:var(--bg)}.gallery-page .story-section h2{display:none}.gallery-page .section-number{display:none}@media(min-width:1500px){.hero-text h1{font-size:7rem}}@media(max-width:1000px){.split{gap:5%}.story-section{padding:65px 5%}.section-photo img{height:370px}.cards,.gallery{gap:22px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery figure:nth-child(n) img{height:340px}}@media(max-width:760px){.page-heading{padding:45px 5% 20px}.split{grid-template-columns:1fr;gap:30px}.story-section:nth-child(odd) .split .section-photo{order:initial}.story-section{padding:55px 5%}.cards{grid-template-columns:1fr;gap:40px}.card img{height:300px}.section-head{display:block}.section-photo img{height:330px}.text-only p{font-size:17px}.editor{padding:20px}.editor .field-grid{grid-template-columns:1fr}}@media(max-width:540px){.gallery{grid-template-columns:1fr}.gallery figure:nth-child(n) img{height:360px}}
.hero-photo .frame{height:100%}.hero-text{min-width:0}.hero-text h1{font-size:clamp(3rem,6.3vw,6.6rem);overflow-wrap:normal}.hero-photo figcaption{margin:0}@media(max-width:760px){.hero-text h1{font-size:clamp(2.5rem,10.5vw,4.8rem)}}
/* Personal memories preserve the complete frame of every photograph. */
.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 30px;align-items:start}.memory-card{margin:0;min-width:0}.memory-frame{border-radius:4px;overflow:hidden;background:var(--surface);aspect-ratio:4/5;display:flex;align-items:center;justify-content:center}.memory-frame img{display:block;width:100%;height:100%;object-fit:contain}.memory-caption{margin:0;padding:16px 2px;border-bottom:1px solid #365b8630;min-height:65px}.memory-description{font-size:15px;line-height:1.65;color:var(--text);margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.memory-description:empty{min-height:30px}.memory-edit{display:none}.caption-mode .memory-description{display:none}.caption-mode .memory-edit{display:block;font-size:13px;line-height:1.5}.memory-edit textarea{display:block;resize:vertical;width:100%;margin-top:8px;min-height:100px;border:1px solid #365b8650;border-radius:3px;background:var(--bg);color:var(--text);font:inherit;font-size:16px;line-height:1.6;padding:12px}.caption-tools{padding:0 6% 10px;max-width:1500px;margin:auto}.caption-edit-tools{border-top:1px solid #365b8640;padding-top:20px}.caption-edit-tools p{font-size:14px;max-width:750px}.caption-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.caption-status{font-size:14px;color:var(--accent);margin-top:12px}.editor-photo-preview{display:block;width:100%;max-height:260px;object-fit:contain;background:var(--surface);margin:15px 0}.gallery-page .story-section{padding-top:30px}.caption-tools [hidden]{display:none!important}@media(max-width:1000px){.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 22px}}@media(max-width:540px){.memory-grid{grid-template-columns:1fr;gap:35px}.memory-frame{aspect-ratio:auto;max-height:none}.memory-frame img{height:auto}.caption-tools{padding-left:5%;padding-right:5%}}

/* Illustration used when no photograph exists for the early creative-learning story. */
.creative-learning-visual{margin:0;min-width:0}.creative-learning-art{height:430px;position:relative;overflow:hidden;border-radius:4px;background:#202B3D;color:#F5F7FA;isolation:isolate}.creative-learning-art:before{content:'';position:absolute;inset:0;opacity:.34;background-image:linear-gradient(#F5F7FA12 1px,transparent 1px),linear-gradient(90deg,#F5F7FA12 1px,transparent 1px);background-size:24px 24px}.creative-learning-art:after{content:'';position:absolute;inset:0;background:linear-gradient(125deg,transparent 46%,#F5F7FA0f 46% 47%,transparent 47% 63%,#F5F7FA0c 63% 64%,transparent 64%);pointer-events:none}.creative-timeline{position:absolute;top:30px;left:32px;right:32px;display:flex;align-items:center;gap:12px;font-size:11px;font-weight:700;letter-spacing:.16em;color:#DFE6EF}.creative-timeline i{height:1px;flex:1;background:#DFE6EF80}.creative-center-card{position:absolute;z-index:2;top:50%;left:50%;width:min(64%,310px);min-height:190px;transform:translate(-50%,-45%) rotate(-4deg);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:28px 30px;background:#F5F7FA;color:#202B3D;box-shadow:14px 15px 0 #365B86;border-radius:2px}.creative-center-card>span{font-size:10px;letter-spacing:.19em;font-weight:700;color:#365B86}.creative-center-card strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.35rem,5vw,3.6rem);line-height:.9;letter-spacing:-.06em;font-weight:400;margin:10px 0 15px}.creative-center-card em{font-size:10px;font-style:normal;font-weight:700;letter-spacing:.11em}.creative-orbit{position:absolute;border:1px solid #DFE6EF80;border-radius:50%;z-index:1}.creative-orbit-one{width:310px;height:310px;right:-98px;top:-110px}.creative-orbit-two{width:220px;height:220px;left:-130px;bottom:-92px}.creative-chip{position:absolute;z-index:3;display:flex;align-items:center;gap:7px;font-size:10px;font-weight:700;letter-spacing:.13em;padding:9px 11px;background:#DFE6EF;color:#202B3D;box-shadow:5px 5px 0 #202B3D}.creative-chip b{font-size:17px;line-height:1;font-family:Arial,sans-serif;color:#365B86}.creative-chip-draw{left:24px;top:136px;transform:rotate(-8deg)}.creative-chip-code{right:20px;bottom:60px;transform:rotate(7deg);background:#365B86;color:#F5F7FA;box-shadow:5px 5px 0 #DFE6EF}.creative-chip-code b{color:#F5F7FA;font-size:13px}.creative-clay{position:absolute;z-index:2;left:42px;bottom:42px;width:82px;height:95px;background:#C88763;border-radius:45% 55% 42% 58%/58% 46% 54% 42%;transform:rotate(17deg);box-shadow:inset 13px 10px 0 #E0AA82,inset -12px -8px 0 #A75E4C}.creative-clay i{position:absolute;top:25px;left:23px;width:34px;height:30px;border:5px solid #202B3D;border-radius:50%;opacity:.5}.creative-wordmark{position:absolute;right:30px;top:102px;z-index:2;margin:0;color:#DFE6EF;max-width:130px;text-align:right;font-size:10px;line-height:1.45;letter-spacing:.16em;font-weight:700}@media(max-width:1000px){.creative-learning-art{height:370px}}@media(max-width:760px){.creative-learning-art{height:330px}.creative-center-card{min-height:160px;padding:23px}.creative-chip-draw{left:17px;top:116px}.creative-chip-code{right:14px;bottom:35px}.creative-clay{left:24px;bottom:24px;transform:scale(.8) rotate(17deg);transform-origin:bottom left}.creative-wordmark{right:18px;top:82px;font-size:8px}.creative-timeline{top:20px;left:21px;right:21px}}

/* Full-width creative story: intentionally contains no photograph. */
.creative-learning-story{position:relative;overflow:hidden;border-radius:4px;background:var(--text);color:var(--bg);padding:clamp(38px,6vw,76px);isolation:isolate}.creative-learning-story:before{content:'';position:absolute;width:420px;height:420px;border:1px solid #DFE6EF30;border-radius:50%;right:-190px;top:-230px;box-shadow:0 0 0 58px #DFE6EF0a,0 0 0 116px #DFE6EF08;z-index:-1}.creative-learning-copy{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);column-gap:9%;align-items:end}.creative-learning-copy h2{font-size:clamp(2.6rem,5vw,5.2rem);max-width:800px;margin:18px 0 0;color:var(--bg)}.creative-learning-copy>p{font-size:18px;line-height:1.75;color:#DFE6EF;max-width:520px;margin:0}.creative-learning-date{grid-column:1/-1;display:flex;align-items:center;gap:18px;font-size:11px;font-weight:700;letter-spacing:.18em;color:#AFC5DE}.creative-learning-date i{height:1px;width:80px;background:#AFC5DE80}.creative-learning-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:58px;background:#F5F7FA2b;border:1px solid #F5F7FA2b}.creative-discipline{position:relative;min-height:210px;padding:26px;background:#202B3D}.creative-discipline>span{font-size:10px;letter-spacing:.16em;color:#AFC5DE}.creative-discipline h3{font-family:Arial,Helvetica,sans-serif;font-size:17px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:48px 0 6px;color:var(--bg)}.creative-discipline p{font-size:13px;line-height:1.5;color:#AFC5DE;margin:0}.creative-mark{position:absolute;right:24px;top:24px;font-family:Georgia,serif;font-size:38px;line-height:1;color:#AFC5DE}.creative-drawing{background:#29415D}.creative-pottery{background:#704D43}.creative-programming{background:#25364D}.creative-pot{width:38px;height:44px;background:#D9A27F;border-radius:42% 42% 48% 48%/28% 28% 62% 62%;box-shadow:inset 7px 0 #B9775F}.creative-pot:before{content:'';position:absolute;left:5px;right:5px;top:-5px;height:9px;border:3px solid #F2D3B8;border-radius:50%}.empty-photo-slot{height:430px;border:1px dashed #365B8680!important;background:repeating-linear-gradient(135deg,#F5F7FA 0,#F5F7FA 12px,#DFE6EF 12px,#DFE6EF 24px)!important;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;color:var(--accent)}.empty-photo-slot span{font-size:10px;letter-spacing:.2em;font-weight:700}.empty-photo-slot strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:400;line-height:1.2;margin:12px 0}.empty-photo-slot small{font-size:13px;max-width:250px}@media(max-width:1000px){.creative-learning-copy{grid-template-columns:1fr;gap:25px}.creative-learning-copy>p{max-width:680px}.empty-photo-slot{height:370px}}@media(max-width:760px){.creative-learning-story{padding:34px 24px}.creative-learning-path{grid-template-columns:1fr;margin-top:38px}.creative-discipline{min-height:150px}.creative-discipline h3{margin-top:24px}.creative-learning-date{gap:10px}.creative-learning-date i{width:30px}.empty-photo-slot{height:330px}}
.section-photo figcaption:empty,.hero-photo figcaption:empty{display:none}
.section-photo img[src$="custom-about-intro.jpg"]{object-position:center 72%}

/* One photo-free story combining language learning, skating, and swimming. */
.growth-journey-story{position:relative;overflow:hidden;border-radius:4px;background:var(--text);color:var(--bg);padding:clamp(38px,6vw,76px);isolation:isolate}.growth-journey-story:before{content:'';position:absolute;width:520px;height:520px;border:1px solid #DFE6EF2e;border-radius:50%;right:-250px;top:-300px;box-shadow:0 0 0 72px #DFE6EF0a,0 0 0 144px #DFE6EF07;z-index:-1}.growth-journey-heading{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(290px,.82fr);column-gap:9%;align-items:end}.growth-journey-date{grid-column:1/-1;display:flex;align-items:center;gap:18px;font-size:11px;font-weight:700;letter-spacing:.18em;color:#AFC5DE}.growth-journey-date i{height:1px;width:80px;background:#AFC5DE80}.growth-journey-heading h2{font-size:clamp(2.8rem,5vw,5.4rem);max-width:720px;margin:22px 0 0;color:var(--bg)}.growth-journey-intro{color:#DFE6EF}.growth-journey-intro p{font-size:17px;line-height:1.72;margin:0 0 15px}.growth-journey-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:58px;background:#F5F7FA2b;border:1px solid #F5F7FA2b}.growth-journey-card{position:relative;min-height:360px;padding:28px 28px 32px;background:#29415D}.growth-journey-card-2{background:#704D43}.growth-journey-card-3{background:#25364D}.growth-card-top{display:flex;justify-content:space-between;gap:15px;font-size:10px;font-weight:700;letter-spacing:.15em;color:#AFC5DE}.growth-card-mark{height:78px;display:flex;align-items:flex-end;font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1;color:#AFC5DE}.growth-journey-card-2 .growth-card-mark{color:#F2D3B8}.growth-journey-card h3{font-family:Arial,Helvetica,sans-serif;font-size:17px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--bg);margin:22px 0 14px}.growth-journey-card p{font-size:13px;line-height:1.65;color:#DFE6EF;margin:0}.growth-journey-takeaway{display:flex;align-items:center;justify-content:space-between;gap:28px;border-top:1px solid #F5F7FA2b;margin-top:34px;padding-top:25px}.growth-journey-takeaway span{font-size:10px;font-weight:700;letter-spacing:.17em;color:#AFC5DE}.growth-journey-takeaway p{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.45;text-align:right;margin:0;color:var(--bg)}@media(max-width:1000px){.growth-journey-heading{grid-template-columns:1fr;gap:25px}.growth-journey-intro{max-width:760px}.growth-journey-path{grid-template-columns:1fr}.growth-journey-card{min-height:0}.growth-card-mark{height:62px}}@media(max-width:760px){.growth-journey-story{padding:34px 24px}.growth-journey-date{gap:10px}.growth-journey-date i{width:30px}.growth-journey-path{margin-top:38px}.growth-journey-card{padding:24px}.growth-journey-takeaway{display:block}.growth-journey-takeaway p{text-align:left;margin-top:12px}}
