:root{--ink:#172b28;--green:#164b42;--green-deep:#103b34;--sage:#dfe9df;--sand:#f5f3ed;--cream:#fbfaf7;--gold:#c8a66a;--muted:#68736d;--line:#d9dfd8;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--wrap:1220px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:min(var(--wrap),calc(100% - 64px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.utility-bar{background:var(--green-deep);color:#dfe8e1;font-size:11px;letter-spacing:.04em}.utility-inner{height:36px;display:flex;align-items:center;justify-content:space-between}.utility-inner div{display:flex;gap:28px}.site-header{height:90px;background:rgba(251,250,247,.97);position:relative;z-index:20;border-bottom:1px solid rgba(23,43,40,.08)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--green-deep)}.brand-mark{height:43px;width:43px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--green);font:600 15px var(--serif);letter-spacing:-.08em}.brand-name{font-size:12px;line-height:1.2;font-weight:700;letter-spacing:.13em}.brand-name small{display:block;font-size:9px;letter-spacing:.34em;margin-top:5px}.primary-nav{display:flex;align-items:center;gap:clamp(15px,2.1vw,32px);height:100%}.nav-item{height:100%;display:flex;align-items:center;position:relative}.nav-item>a{font-size:12px;font-weight:600;letter-spacing:.035em;height:100%;display:flex;align-items:center;gap:6px}.nav-item>a:hover,.nav-item:focus-within>a{color:var(--green)}.nav-caret{font-size:16px;color:#8b938c;transition:transform .2s}.dropdown-menu{position:absolute;top:calc(100% - 4px);left:-19px;min-width:235px;padding:10px;background:white;border:1px solid var(--line);box-shadow:0 18px 40px #102a241c;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s,transform .18s,visibility .18s}.has-children:hover .dropdown-menu,.has-children:focus-within .dropdown-menu,.has-children.is-open .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-menu a{display:block;padding:10px 12px;font-size:12px;color:#47534d}.dropdown-menu a:hover{background:var(--sand);color:var(--green)}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:15px 21px;background:var(--green);color:white;font-size:12px;font-weight:600;letter-spacing:.025em;transition:background .2s,transform .2s}.button:hover{background:var(--green-deep);transform:translateY(-2px)}.button-small{padding:12px 16px}.button-light{background:#f8f7f1;color:var(--green-deep)}.button-light:hover{background:white;color:var(--green-deep)}.button-outline-light{background:transparent;border:1px solid #ffffff80;color:white}.menu-toggle{display:none}.hero{position:relative;min-height:620px;background:var(--green-deep);overflow:hidden;color:white}.hero-image{position:absolute;inset:0 0 0 34%;background:linear-gradient(90deg,#103b34 0%,rgba(16,59,52,.68) 18%,rgba(16,59,52,.08) 75%),linear-gradient(0deg,rgba(10,35,30,.34),transparent 55%),url('../images/toronto-autumn-hero.jpg') center 54%/cover}.hero-content{position:relative;padding-top:112px;padding-bottom:92px;max-width:var(--wrap)}.eyebrow{display:block;color:#75837b;text-transform:uppercase;letter-spacing:.19em;font-size:9px;font-weight:700}.eyebrow-light{color:#d8c69f}.hero h1{font:500 clamp(54px,7vw,91px)/1.05 var(--serif);letter-spacing:-.035em;max-width:640px;margin:22px 0 18px}.hero-copy{font-size:16px;color:#e1e8e2;max-width:460px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.text-link{display:inline-flex;gap:22px;align-items:center;font-size:12px;font-weight:600;border-bottom:1px solid #aab7ac;padding-bottom:8px}.text-link span{font-size:17px}.text-link-light{color:white;border-color:#ffffff70}.hero-note{display:flex;align-items:center;gap:9px;margin-top:62px;color:#d3ddd5;font-size:10px;letter-spacing:.07em}.note-dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}.hero-index{position:absolute;right:max(32px,calc((100vw - var(--wrap))/2));bottom:36px;font-size:10px;letter-spacing:.16em;display:flex;align-items:center;gap:12px}.hero-index i{width:44px;height:1px;background:#ffffff80}.section-pad{padding:110px 0}.intro-grid{display:grid;grid-template-columns:1fr 2.3fr 1fr;gap:50px}.intro-label{display:flex;flex-direction:column;align-items:flex-start;gap:25px}.vertical-rule{height:75px;width:1px;background:var(--gold)}.micro-copy{font-size:10px;color:var(--muted);writing-mode:vertical-rl;letter-spacing:.15em}.intro-copy h2,.section-heading h2,.story-content h2,.contact-band h2{font:500 clamp(36px,4.2vw,57px)/1.16 var(--serif);letter-spacing:-.025em;margin:17px 0 20px}.intro-copy h2{max-width:620px}.intro-copy p{color:var(--muted);max-width:630px;line-height:1.9;font-size:14px;margin-bottom:29px}.intro-aside{align-self:center;text-align:center;color:var(--muted);font-size:11px}.round-seal{height:136px;width:136px;border:1px solid var(--gold);outline:1px solid #c8a66a80;outline-offset:5px;border-radius:50%;margin:0 auto 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--green);gap:4px}.round-seal b{font:600 35px var(--serif)}.round-seal span{font-size:7px;letter-spacing:.18em}.services-section{background:var(--sand)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading h2 em{font-weight:500;color:var(--green);}.section-heading>.text-link{margin-bottom:8px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{position:relative;min-height:267px;padding:29px 30px 25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}.service-card:hover{background:#fff}.card-number{font-size:9px;color:#8b958d;letter-spacing:.14em}.card-arrow{position:absolute;right:27px;top:26px;color:var(--green);font-size:18px;transition:transform .2s}.service-card:hover .card-arrow{transform:translate(3px,-3px)}.service-icon{display:block;margin-top:22px;color:var(--gold);font-size:22px}.service-card h3,.school-card h3{font:500 22px/1.25 var(--serif);margin:12px 0 8px}.service-card p,.school-card p{font-size:11px;line-height:1.65;color:var(--muted);margin:0;max-width:310px}.card-link{display:inline-flex;gap:15px;align-items:center;color:var(--green);font-weight:600;font-size:10px;margin-top:18px}.card-link span{font-size:15px}.story-band{min-height:475px;display:grid;grid-template-columns:1fr 1fr;background:var(--green-deep);color:white}.story-photo{min-height:420px;background:linear-gradient(0deg,#0c30283b,#0c30281a),url('https://images.unsplash.com/photo-1470770841072-f978cf4d019e?auto=format&fit=crop&w=1300&q=85') center/cover}.story-content{padding:85px clamp(45px,9vw,135px);align-self:center}.story-content h2{font-size:clamp(36px,4vw,52px);max-width:490px}.story-content p{color:#d7e0d9;max-width:430px;font-size:13px;line-height:1.8;margin:20px 0 29px}.stats-section{padding:75px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat-item{padding:5px 25px;border-left:1px solid var(--line);display:flex;flex-direction:column}.stat-item:first-child{border:0}.stat-item strong{font:500 38px var(--serif);color:var(--green)}.stat-item span{font-size:12px;font-weight:600;margin-top:5px}.stat-item small{font-size:10px;color:var(--muted);margin-top:5px}.schools-section{background:#fff}.school-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.school-card{background:#fff;min-height:235px;padding:24px;transition:background .2s}.school-card:hover{background:var(--cream)}.school-province{display:block;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:#76847a}.school-monogram{display:grid;place-items:center;width:41px;height:41px;border-radius:50%;background:var(--sage);color:var(--green);font:500 17px var(--serif);margin-top:20px}.school-card h3{font-size:19px;margin-top:13px}.quote-section{padding:100px 0;background:var(--sand);text-align:center}.quote-inner{max-width:790px}.quote-mark{font:80px/.7 var(--serif);color:var(--gold)}blockquote{font:500 clamp(26px,3.6vw,43px)/1.35 var(--serif);margin:24px 0;color:var(--green-deep)}.contact-band{padding:75px 0;background:var(--green);color:white}.contact-band-inner{display:flex;align-items:center;justify-content:space-between}.contact-band h2{font-size:44px;margin:14px 0 0}.site-footer{background:#102f2a;color:#e6ece6}.footer-main{padding:68px 0 57px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.5fr;gap:55px}.brand-light{color:white}.footer-main h3{font:500 19px var(--serif);margin:7px 0 18px}.footer-main>div:not(.footer-about):not(.footer-cta) a{display:block;color:#bac8bd;font-size:11px;margin:10px 0}.footer-about p{font-size:11px;color:#b9c6bc;max-width:250px;line-height:1.8;margin:20px 0}.footer-about>a:not(.brand){display:block;font-size:11px;margin:8px 0;color:#dbe4dc}.footer-cta{padding-left:30px;border-left:1px solid #ffffff30}.footer-cta h3{font-size:26px;line-height:1.3;max-width:220px;margin-bottom:22px}.footer-bottom{border-top:1px solid #ffffff26;padding:18px 0 22px;display:flex;align-items:center;gap:30px;color:#aebdb3;font-size:9px;letter-spacing:.04em}.footer-bottom span:nth-child(2){margin-left:auto}.footer-bottom a:hover,.footer-main a:hover{color:white}.page-hero{padding:86px 0 75px;background:var(--sand)}.page-hero h1{font:500 clamp(44px,6vw,72px)/1.1 var(--serif);margin:15px 0}.page-hero p{color:var(--muted);max-width:610px}.breadcrumbs{font-size:10px;color:var(--muted);margin-bottom:28px}.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.content-card{padding:25px;background:white;border:1px solid var(--line)}.content-card h2,.content-card h3{font:500 22px var(--serif)}.content-card p{color:var(--muted);font-size:12px}.form-panel{max-width:800px;padding:38px;background:white;border:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-field{display:flex;flex-direction:column;gap:7px}.form-field.wide{grid-column:1/-1}.form-field label{font-size:10px;font-weight:600}.form-field input,.form-field select,.form-field textarea{font:12px var(--sans);padding:13px;border:1px solid var(--line);background:#fff;color:var(--ink)}.form-field textarea{min-height:120px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:1px solid var(--green)}.mobile-only{display:none}
@media(max-width:1050px){.container{width:min(var(--wrap),calc(100% - 44px))}.primary-nav{gap:14px}.nav-item>a{font-size:11px}.nav-cta{display:none}.hero{min-height:580px}.intro-grid{grid-template-columns:.6fr 2.2fr 1fr;gap:28px}.footer-main{gap:28px}.school-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.utility-inner{height:34px}.utility-inner>span{display:none}.utility-inner div{width:100%;justify-content:space-between;gap:10px;font-size:10px}.site-header{height:72px}.brand-mark{width:39px;height:39px}.menu-toggle{display:flex;width:42px;height:42px;flex-direction:column;justify-content:center;gap:5px;align-items:center;border:1px solid var(--line);background:transparent}.menu-toggle span{height:1px;width:17px;background:var(--green)}.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;height:auto;padding:10px 20px 20px;background:var(--cream);border-top:1px solid var(--line);box-shadow:0 15px 25px #102a2412;align-items:stretch;gap:0;flex-direction:column}.primary-nav.is-open{display:flex}.nav-item{height:auto;display:block;border-bottom:1px solid var(--line)}.nav-item>a{height:auto;min-height:49px;justify-content:space-between;font-size:13px}.dropdown-menu{display:none;position:static;min-width:0;border:0;box-shadow:none;background:var(--sand);padding:5px 8px;opacity:1;visibility:visible;transform:none}.has-children.is-open .dropdown-menu{display:block}.dropdown-menu a{padding:10px;font-size:12px}.nav-cta{display:inline-flex;margin-top:14px}.hero{min-height:620px}.hero-image{inset:0;background:linear-gradient(90deg,rgba(16,59,52,.91),rgba(16,59,52,.48)),linear-gradient(0deg,#103b3460,transparent),url('https://images.unsplash.com/photo-1503614472-8c93d56cd0b7?auto=format&fit=crop&w=1200&q=80') center/cover}.hero-content{padding-top:95px;padding-bottom:75px}.hero h1{font-size:clamp(53px,14vw,75px);max-width:500px}.hero-copy{font-size:14px;max-width:380px}.hero-actions{align-items:flex-start;flex-direction:column;gap:23px}.hero-note{margin-top:46px;max-width:240px;line-height:1.5}.hero-index{right:20px;bottom:25px}.section-pad{padding:75px 0}.intro-grid{grid-template-columns:1fr;gap:24px}.intro-label{display:grid;grid-template-columns:auto 45px auto;align-items:center;gap:14px}.vertical-rule{height:1px;width:100%}.micro-copy{writing-mode:initial}.intro-copy h2,.section-heading h2{font-size:40px}.intro-aside{display:none}.section-heading{align-items:flex-start;gap:20px;flex-direction:column;margin-bottom:30px}.section-heading>.text-link{margin:0}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:245px;padding:22px 19px}.service-card h3{font-size:19px}.service-card p{font-size:10px}.story-band{grid-template-columns:1fr}.story-photo{min-height:270px}.story-content{padding:56px 25px 62px}.story-content h2{font-size:40px}.stats-grid{grid-template-columns:1fr 1fr;row-gap:28px}.stat-item:nth-child(3){border-left:0}.school-grid{grid-template-columns:1fr 1fr}.school-card{padding:18px;min-height:220px}.school-card h3{font-size:17px}.quote-section{padding:75px 0}.contact-band{padding:55px 0}.contact-band-inner{align-items:flex-start;gap:25px;flex-direction:column}.contact-band h2{font-size:39px}.footer-main{grid-template-columns:1fr 1fr;gap:35px 24px;padding:55px 0 40px}.footer-about{grid-column:1/-1}.footer-cta{padding-left:0;border:0}.footer-cta h3{font-size:23px}.footer-bottom{flex-wrap:wrap;gap:10px 18px}.footer-bottom span:nth-child(2){margin-left:0;order:3;flex-basis:100%}.content-grid{grid-template-columns:1fr 1fr}.page-hero{padding:60px 0}.form-panel{padding:23px}.form-grid{grid-template-columns:1fr}.form-field.wide{grid-column:auto}}
@media(max-width:420px){.utility-inner div{font-size:9px}.service-grid,.school-grid,.content-grid{grid-template-columns:1fr}.service-card{min-height:225px}.school-card{min-height:205px}.hero h1{font-size:53px}.footer-main{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}}
.detail-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,.8fr);gap:70px;align-items:start}.detail-copy{max-width:760px;color:#536159;font-size:14px;line-height:1.9}.detail-copy h2,.prose-content h2{font:500 31px/1.25 var(--serif);color:var(--ink);margin:38px 0 15px}.detail-copy h3,.prose-content h3{font:500 23px var(--serif);color:var(--ink)}.detail-copy img{height:auto}.detail-aside{position:sticky;top:30px;padding:30px;background:var(--sand);border-top:2px solid var(--gold)}.detail-aside h2{font:500 29px/1.3 var(--serif);margin:15px 0}.detail-aside p{font-size:12px;color:var(--muted);margin-bottom:23px}.faq{border-top:1px solid var(--line);padding:16px 0}.faq summary{font-size:13px;font-weight:600;cursor:pointer;color:var(--ink)}.faq p{font-size:12px;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.contact-layout>div>p{font-size:13px;color:var(--muted);line-height:1.9}.contact-layout>div>p a{color:var(--green);font-weight:600}.contact-title{font:500 42px/1.2 var(--serif);margin:20px 0}.contact-title em{color:var(--green)}.consent-field label{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:10px}.consent-field input{margin-top:3px}.form-feedback{font-size:12px;color:var(--green)}.field-error{font-size:10px;color:#a33;margin:0}.field-valid{border-color:#43816c!important}.field-invalid{border-color:#b44!important}.person-avatar{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:var(--sage);color:var(--green);font:500 40px var(--serif);margin:0 auto 22px}.person-avatar-large{width:145px;height:145px;font-size:54px;margin:0 0 25px}.person-card{text-align:center}.person-card h2{margin-bottom:6px}.school-directory{grid-template-columns:repeat(3,1fr)}.blog-search{display:flex;gap:10px;max-width:500px;margin-bottom:30px}.blog-search input{flex:1;padding:13px;border:1px solid var(--line);font:12px var(--sans)}.pager{display:flex;gap:8px;margin-top:30px}.pager a{padding:7px 12px;border:1px solid var(--line);font-size:11px}.pager a.is-active{background:var(--green);color:white}.prose-content{max-width:800px;font-size:14px;line-height:1.9;color:#536159}.prose-content h1,.prose-content h2,.prose-content h3{color:var(--ink)}
@media(max-width:760px){.detail-layout,.contact-layout{grid-template-columns:1fr;gap:35px}.detail-aside{position:static}.school-directory{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.school-directory{grid-template-columns:1fr}}
.error-page{min-height:62vh;padding:115px 0;background:var(--sand)}.error-page h1{font:500 clamp(48px,8vw,82px)/1.05 var(--serif);margin:20px 0}.error-page h1 em{color:var(--green);font-weight:500}.error-page p{color:var(--muted);margin:0 0 26px;font-size:13px}
.team-section{background:var(--cream)}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.team-card h3{font:500 19px var(--serif);margin:15px 0 2px}.team-card p{margin:0;color:var(--muted);font-size:10px}.team-portrait{height:260px;background:linear-gradient(145deg,#dfe9df,#b8c9bb);display:grid;place-items:center}.team-portrait span{width:80px;height:80px;display:grid;place-items:center;border:1px solid #ffffffb0;border-radius:50%;font:500 38px var(--serif);color:var(--green)}.events-section{background:#fff}.event-list{border-top:1px solid var(--line)}.event-row{display:grid;grid-template-columns:85px 1fr 40px;align-items:center;gap:20px;padding:18px 5px;border-bottom:1px solid var(--line);transition:padding .2s}.event-row:hover{padding-left:12px;padding-right:0}.event-date{display:flex;flex-direction:column;color:var(--green);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.event-date strong{font:500 27px var(--serif)}.event-title{display:flex;flex-direction:column;gap:4px}.event-title small{font-size:9px;color:var(--muted);letter-spacing:.08em}.event-title b{font:500 21px var(--serif)}.event-arrow{color:var(--green);font-size:18px;text-align:right}
@media(max-width:760px){.team-grid{grid-template-columns:1fr 1fr;gap:24px 14px}.team-portrait{height:210px}.event-row{grid-template-columns:55px 1fr 25px;gap:12px}.event-title b{font-size:17px}}
@media(max-width:420px){.team-portrait{height:175px}}
/* Shared responsive safeguards for every public page. */
html,body{max-width:100%;overflow-x:hidden}main,section,.container,.content-card,.service-card,.school-card,.team-card,.detail-copy,.detail-aside,.form-panel{min-width:0}h1,h2,h3,p,a,span,small,strong,blockquote{overflow-wrap:anywhere}img,video,iframe{max-width:100%}.button{max-width:100%;min-height:44px}.form-panel{width:100%}.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0}.detail-copy table,.prose-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.detail-copy pre,.prose-content pre{max-width:100%;overflow-x:auto}.detail-copy iframe,.prose-content iframe{width:100%;aspect-ratio:16/9;height:auto}.content-card,.service-card,.school-card{overflow-wrap:anywhere}
@media(max-width:900px){.header-inner{position:relative}.menu-toggle{display:flex;width:44px;height:44px;flex:0 0 44px;flex-direction:column;justify-content:center;gap:5px;align-items:center;border:1px solid var(--line);background:transparent;cursor:pointer}.menu-toggle span{height:1px;width:18px;background:var(--green)}.primary-nav{display:none;position:absolute;top:100%;left:-22px;right:-22px;height:auto;max-height:calc(100vh - 108px);max-height:calc(100dvh - 108px);overflow-y:auto;padding:10px 22px 20px;background:var(--cream);border-top:1px solid var(--line);box-shadow:0 15px 25px #102a2412;align-items:stretch;gap:0;flex-direction:column}.primary-nav.is-open{display:flex}.nav-item{height:auto;display:block;border-bottom:1px solid var(--line)}.nav-item>a{height:auto;min-height:48px;justify-content:space-between;font-size:13px}.dropdown-menu{display:none;position:static;min-width:0;border:0;box-shadow:none;background:var(--sand);padding:5px 8px;opacity:1;visibility:visible;transform:none}.has-children.is-open .dropdown-menu{display:block}.dropdown-menu a{padding:11px 10px;font-size:12px}.nav-cta{display:inline-flex;align-self:flex-start;margin-top:14px}.primary-nav .nav-item>a:focus-visible,.dropdown-menu a:focus-visible,.menu-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.hero-index{right:22px}.footer-main{grid-template-columns:1.3fr 1fr 1fr;gap:32px}.footer-cta{grid-column:1/-1;padding:24px 0 0;border-left:0;border-top:1px solid #ffffff30}}
@media(max-width:760px){.utility-inner{height:auto;min-height:34px;padding-block:7px}.utility-inner div{flex-wrap:wrap;justify-content:center;gap:3px 14px}.site-header{height:72px}.primary-nav{left:-20px;right:-20px}.hero-content{padding-top:82px}.hero{min-height:570px}.section-pad{padding:68px 0}.intro-grid{gap:20px}.intro-label{grid-template-columns:minmax(0,auto) 35px minmax(0,1fr)}.intro-copy h2,.section-heading h2{font-size:clamp(34px,8vw,42px)}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-item{padding-inline:16px}.school-grid,.school-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-about{grid-column:1/-1}.footer-cta{grid-column:1/-1}.page-hero{padding:55px 0 48px}.breadcrumbs{margin-bottom:20px;overflow-wrap:anywhere}.page-hero h1{font-size:clamp(39px,9vw,58px)}.detail-layout,.contact-layout{grid-template-columns:minmax(0,1fr);gap:30px}.detail-aside{position:static}.form-panel{padding:clamp(18px,5vw,28px)}.form-grid{grid-template-columns:minmax(0,1fr)}.form-field.wide{grid-column:auto}.person-avatar-large{margin-inline:auto}.blog-search{width:100%}.blog-search input{min-width:0}.pager{flex-wrap:wrap}.footer-bottom{align-items:flex-start;flex-wrap:wrap}.footer-bottom span:nth-child(2){margin-left:0;order:3;flex-basis:100%}}
@media(max-width:480px){.container{width:calc(100% - 32px)}.primary-nav{left:-16px;right:-16px;padding-inline:16px}.hero{min-height:555px}.hero h1{font-size:clamp(48px,13vw,62px)}.hero-copy{font-size:13px}.hero-actions{gap:20px}.hero-note{max-width:210px;margin-top:38px}.section-pad{padding:58px 0}.intro-label{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:9px}.intro-label .eyebrow{font-size:8px;letter-spacing:.12em}.micro-copy{font-size:9px;letter-spacing:.08em}.service-card{padding:19px 15px;min-height:230px}.service-card h3{font-size:18px}.service-card p{font-size:10px}.school-card{padding:16px;min-height:210px}.school-card h3{font-size:16px}.school-card p{font-size:10px}.team-portrait{height:180px}.content-grid{gap:12px}.content-card{padding:17px}.content-card h2,.content-card h3{font-size:19px}.event-row{grid-template-columns:44px minmax(0,1fr) 20px;gap:9px}.event-title b{font-size:15px}.event-title small{font-size:8px}.contact-band h2{font-size:clamp(34px,9vw,40px)}.footer-main{gap:28px 16px}.footer-cta h3{font-size:21px}.footer-bottom{font-size:9px;gap:8px 13px}.blog-search{flex-direction:column}.blog-search .button{align-self:flex-start}.error-page{padding:82px 0;min-height:60vh}}
@media(max-width:360px){.container{width:calc(100% - 28px)}.utility-inner div{font-size:8px;gap:2px 10px}.brand{gap:8px}.brand-mark{width:35px;height:35px}.brand-name{font-size:10px}.brand-name small{font-size:8px}.menu-toggle{width:40px;height:40px;flex-basis:40px}.hero h1{font-size:46px}.hero-index{right:14px;font-size:8px}.service-grid,.school-grid,.school-directory,.content-grid,.team-grid{grid-template-columns:minmax(0,1fr)}.service-card{min-height:205px}.school-card{min-height:190px}.team-portrait{height:230px}.stats-grid{grid-template-columns:minmax(0,1fr)}.stat-item,.stat-item:nth-child(3){border-left:0;border-top:1px solid var(--line);padding:15px 0}.stat-item:first-child{border-top:0}.footer-main{grid-template-columns:minmax(0,1fr)}.footer-about,.footer-cta{grid-column:auto}.event-title b{font-size:14px}.contact-title{font-size:36px}.form-panel{padding:16px}}
.mission-section{background:#f8f7f3}.mission-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(28px,5vw,70px);align-items:start}.mission-intro h2{font:500 clamp(34px,4vw,49px)/1.12 var(--serif);letter-spacing:-.025em;margin:18px 0 25px}.mission-copy h3{display:flex;align-items:center;gap:12px;margin:0 0 22px;font-size:17px;font-weight:700}.mission-copy h3::after{content:"";width:35px;height:3px;background:var(--gold)}.mission-copy p{font-size:13px;line-height:1.8;color:#4e5b54;margin:0 0 14px}.mission-copy .mission-emphasis{font-weight:600;font-style:italic;color:var(--green);margin-top:19px}.credibility-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin:78px 0 26px}.credibility-heading h2{font:500 clamp(30px,3.5vw,43px)/1.15 var(--serif);margin:12px 0 0}.credibility-heading>p{max-width:420px;font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 4px}.credibility-carousel{--proof-gap:16px}.credibility-viewport{overflow:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;outline:none}.credibility-viewport:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.credibility-track{display:flex;gap:var(--proof-gap);align-items:stretch}.credibility-card{flex:0 0 calc((100% - 2 * var(--proof-gap))/3);min-width:0;min-height:248px;padding:24px 25px;background:#fff;border:1px solid #e9e9e3;scroll-snap-align:start;display:flex;flex-direction:column}.credibility-index{font-size:8px;letter-spacing:.15em;color:#75837b}.credibility-symbol{font:500 31px var(--serif);color:var(--gold);margin:22px 0 10px}.credibility-card h3{font:500 20px/1.25 var(--serif);margin:0 0 9px}.credibility-card p{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.credibility-controls{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.credibility-note{font-size:9px;letter-spacing:.08em;color:var(--muted)}.credibility-controls>div{display:flex;gap:8px}.credibility-controls button{width:38px;height:38px;border:1px solid #cbd4cc;background:transparent;color:var(--green);font-size:17px;cursor:pointer;transition:background .2s,color .2s}.credibility-controls button:hover{background:var(--green);color:#fff}.credibility-controls button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:900px){.mission-grid{grid-template-columns:1fr 1fr;gap:35px}.mission-intro{grid-column:1/-1;max-width:580px}.credibility-heading{margin-top:58px}.credibility-card{flex-basis:calc((100% - var(--proof-gap))/2)}}
@media(max-width:600px){.mission-grid{grid-template-columns:minmax(0,1fr);gap:25px}.mission-intro{grid-column:auto}.mission-copy h3{margin-bottom:12px}.credibility-heading{display:block;margin:46px 0 22px}.credibility-heading>p{margin-top:13px}.credibility-card{flex-basis:88%;min-height:230px;padding:21px}.credibility-symbol{margin:15px 0 8px}.credibility-controls{align-items:flex-start;gap:12px}.credibility-note{max-width:190px;line-height:1.6}.credibility-controls button{width:42px;height:42px}}

/* Canadian palette and polished content blocks. */
:root{
    --ink:#111827;
    --green:#172b4d;
    --green-deep:#101e36;
    --sage:#e8edf3;
    --sand:#f5f7fa;
    --cream:#fff;
    --gold:#d52b1e;
    --muted:#6b7280;
    --line:#e5e7eb;
}
.utility-bar{background:#111827;color:#f5f7fa}
.site-header{background:rgba(255,255,255,.97);border-bottom-color:#e5e7eb}
.brand-mark{border-color:#d52b1e;color:#172b4d}
.nav-item>a:hover,.nav-item:focus-within>a,.dropdown-menu a:hover{color:#d52b1e}
.dropdown-menu{border-color:#e5e7eb;box-shadow:0 18px 40px #11182720}
.button{background:#d52b1e}
.button:hover{background:#a91f16}
.button-light{background:#fff;color:#172b4d}
.button-light:hover{background:#f5f7fa;color:#172b4d}
.button-canada{background:#d52b1e;color:#fff}
.button-canada:hover{background:#a91f16}
.hero-image{
    background-image:
        linear-gradient(90deg,#101e36 0%,rgba(16,30,54,.88) 29%,rgba(16,30,54,.36) 72%,rgba(16,30,54,.12) 100%),
        linear-gradient(0deg,rgba(16,30,54,.35),transparent 60%),
        url('../images/canada.jpg');
    background-position:center,center,center 54%;
    background-size:cover;
    animation:hero-image-enter 1.1s ease-out both;
}
.hero-slide{
    z-index:0;
    opacity:0;
    transition:opacity .85s ease;
    animation:none;
}
.hero-slide.is-active{
    opacity:1;
    animation:hero-image-enter 1.1s ease-out both;
}
.hero-slide[data-hero-slide="consultation"]{
    background-image:
        linear-gradient(90deg,#101e36 0%,rgba(16,30,54,.88) 29%,rgba(16,30,54,.36) 72%,rgba(16,30,54,.12) 100%),
        linear-gradient(0deg,rgba(16,30,54,.35),transparent 60%),
        url('../images/canada.jpg');
}
.hero-slide[data-hero-slide="family-canada"]{
    background-image:
        linear-gradient(90deg,#101e36 0%,rgba(16,30,54,.82) 29%,rgba(16,30,54,.32) 72%,rgba(16,30,54,.08) 100%),
        linear-gradient(0deg,rgba(16,30,54,.35),transparent 60%),
        url('../images/canada2.jpg');
}
.hero-slide[data-hero-slide="toronto"]{
    background-image:
        linear-gradient(90deg,#101e36 0%,rgba(16,30,54,.86) 29%,rgba(16,30,54,.35) 72%,rgba(16,30,54,.08) 100%),
        linear-gradient(0deg,rgba(16,30,54,.35),transparent 60%),
        url('../images/toronto-autumn-hero.jpg');
}
.hero-carousel-controls{
    position:absolute;
    z-index:3;
    right:max(32px,calc((100vw - var(--wrap))/2));
    bottom:30px;
    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
}
.hero-control{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border:1px solid #ffffff85;
    border-radius:50%;
    background:#101e3660;
    color:#fff;
    font:20px/1 var(--sans);
    cursor:pointer;
    transition:background .2s,border-color .2s,transform .2s;
}
.hero-control:hover{background:#d52b1e;border-color:#d52b1e;transform:translateY(-1px)}
.hero-control:focus-visible,.hero-dots button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.hero-dots{display:flex;align-items:center;gap:7px}
.hero-dots button{
    width:8px;
    height:8px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#ffffff85;
    cursor:pointer;
    transition:background .2s,transform .2s;
}
.hero-dots button[aria-pressed="true"]{background:#fff;transform:scale(1.25)}
.hero-count{min-width:43px;font-size:10px;letter-spacing:.12em;color:#fff}
.hero h1{animation:hero-copy-enter .7s .12s ease-out both}
.hero-copy{animation:hero-copy-enter .7s .23s ease-out both}
.hero-actions{animation:hero-copy-enter .7s .34s ease-out both}
.hero-note{animation:hero-copy-enter .7s .42s ease-out both}
.hero-index i,.vertical-rule,.mission-copy h3::after{background:#d52b1e}
.story-band,.contact-band{background:#172b4d}
.story-photo{background-image:linear-gradient(0deg,#101e3650,#101e3620),url('https://images.unsplash.com/photo-1517935706615-2717063c2225?auto=format&fit=crop&w=1300&q=85')}
.site-footer{background:#101e36}
.mission-section{background:#f5f7fa}
.service-icon,.round-seal,.stat-item strong,.card-link,.card-arrow,.event-arrow,.credibility-controls button{color:#d52b1e}
.mission-copy .mission-emphasis{color:#172b4d}
.credibility-controls button:hover{background:#d52b1e;color:#fff}
.school-card-image{display:block;width:100%;height:145px;object-fit:cover;margin:17px 0 18px;background:#e8edf3}
.school-card-image-placeholder{display:flex;align-items:end;padding:14px;background:linear-gradient(0deg,#101e36b8,transparent 72%),url('https://images.unsplash.com/photo-1562774053-701939374585?auto=format&fit=crop&w=700&q=78') center/cover}
.school-card-image-placeholder span{color:#fff;font-size:8px;font-weight:700;letter-spacing:.17em}
.school-card .school-province{color:#a91f16}
.school-card .school-card-image+.school-card-image{margin-top:0}
.team-portrait{overflow:hidden;background:linear-gradient(145deg,#e8edf3,#cbd5e1)}
.team-portrait img{width:100%;height:100%;object-fit:cover}
.event-row{grid-template-columns:85px 1fr 40px}
.event-row.has-image{grid-template-columns:88px 72px minmax(0,1fr) 40px}
.event-thumb{width:72px;height:58px;object-fit:cover}
.event-date{color:#d52b1e}
.news-section{background:#f5f7fa}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.news-card{display:block;background:#fff;border:1px solid var(--line);transition:transform .22s,box-shadow .22s}
.news-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px #172b4d14}
.news-card>img,.news-card-placeholder{width:100%;height:210px;object-fit:cover;display:flex;align-items:end;padding:17px;background:linear-gradient(0deg,#101e36b8,transparent 75%),url('https://images.unsplash.com/photo-1523050854058-8df90110c9f1?auto=format&fit=crop&w=900&q=78') center/cover}
.news-card-placeholder span{font-size:8px;letter-spacing:.18em;color:#fff;font-weight:700}
.news-card-copy{padding:22px 23px 24px}
.news-card-copy h3{font:500 23px/1.25 var(--serif);margin:12px 0 9px}
.news-card-copy p{font-size:12px;color:var(--muted);line-height:1.75;margin:0}
.news-card-copy .card-link{margin-top:16px}
.nav-contact>a{padding:10px 13px;background:#d52b1e;color:#fff!important;min-height:40px}
.nav-contact>a:hover{background:#a91f16}
.nav-contact .nav-caret{color:#fff}
.has-reveal [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.has-reveal [data-reveal].is-visible{opacity:1;transform:none}
@keyframes hero-copy-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-image-enter{from{transform:scale(1.035);filter:saturate(.75)}to{transform:scale(1);filter:saturate(1)}}
@media(max-width:1150px){
    .header-inner{position:relative}
    .menu-toggle{display:flex;width:44px;height:44px;flex:0 0 44px;flex-direction:column;justify-content:center;gap:5px;align-items:center;border:1px solid var(--line);background:transparent;cursor:pointer}
    .menu-toggle span{height:1px;width:18px;background:var(--green)}
    .primary-nav{display:none;position:absolute;top:100%;left:-22px;right:-22px;height:auto;max-height:calc(100dvh - 108px);overflow-y:auto;padding:10px 22px 20px;background:var(--cream);border-top:1px solid var(--line);box-shadow:0 15px 25px #102a2412;align-items:stretch;gap:0;flex-direction:column}
    .primary-nav.is-open{display:flex}
    .nav-item{height:auto;display:block;border-bottom:1px solid var(--line)}
    .nav-item>a{height:auto;min-height:48px;justify-content:space-between;font-size:13px}
    .dropdown-menu{display:none;position:static;min-width:0;border:0;box-shadow:none;background:var(--sand);padding:5px 8px;opacity:1;visibility:visible;transform:none}
    .has-children.is-open .dropdown-menu{display:block}
    .dropdown-menu a{padding:11px 10px;font-size:12px}
}
@media(max-width:760px){
    .hero-carousel-controls{right:20px;bottom:22px;gap:9px}
    .hero-control{width:38px;height:38px}
    .hero-dots{gap:6px}
    .news-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .news-card>img,.news-card-placeholder{height:170px}
    .event-row.has-image{grid-template-columns:48px 55px minmax(0,1fr) 20px;gap:10px}
    .event-thumb{width:55px;height:48px}
}
@media(max-width:480px){
    .hero-carousel-controls{right:16px;bottom:18px}
    .hero-control{width:36px;height:36px}
    .news-grid{grid-template-columns:minmax(0,1fr)}
    .news-card>img,.news-card-placeholder{height:205px}
    .event-row.has-image{grid-template-columns:44px 48px minmax(0,1fr) 18px;gap:8px}
    .event-thumb{width:48px;height:44px}
}
@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
    .has-reveal [data-reveal]{opacity:1;transform:none}
    .hero-slide{transition:none}
    .intro-visual-slide{transition:none}
}

.intro-copy h2 .intro-emphasis {
    color: #d52b1e;
    font-style: italic;
    text-decoration: underline;
    text-decoration-color: #d52b1e;
    text-decoration-thickness: 2px;
    text-underline-offset: .14em;
}

.intro-section .intro-label > .eyebrow {
    color: #d52b1e;
    font: 700 11px/1.4 var(--sans);
    letter-spacing: .19em;
    text-transform: uppercase;
    text-decoration: none;
}

.intro-copy .intro-cta,
.intro-copy .intro-cta:visited {
    color: #d52b1e;
    border-color: #d52b1e;
}

.intro-cta:hover {
    color: #a91f16;
    border-color: #a91f16;
}

.intro-cta span {
    color: inherit;
}

.intro-visual {
    position: relative;
    width: min(100%, 235px);
    height: 310px;
    margin: 0;
    overflow: hidden;
    background: var(--sand);
}

.intro-visual-slides,
.intro-visual-slide {
    position: absolute;
    inset: 0;
}

.intro-visual-slide {
    z-index: 0;
    opacity: 0;
    transition: opacity .7s ease;
}

.intro-visual-slide.is-active {
    opacity: 1;
}

.intro-visual::after {
    position: absolute;
    z-index: 1;
    inset: 35% 0 0;
    background: linear-gradient(transparent, rgba(16, 30, 54, .72));
    content: "";
}

.intro-visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.intro-visual figcaption {
    position: absolute;
    z-index: 2;
    right: 14px;
    bottom: 13px;
    left: 14px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    color: #fff;
    font-size: 8px;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.intro-visual figcaption span {
    color: #f3d8a6;
    font: 500 23px/1 var(--serif);
    letter-spacing: 0;
}

.intro-visual-dots {
    position: absolute;
    z-index: 2;
    right: 12px;
    bottom: 15px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.intro-visual-dots button {
    width: 6px;
    height: 6px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #ffffff85;
    cursor: pointer;
    transition: background .2s, transform .2s;
}

.intro-visual-dots button[aria-pressed="true"] {
    background: #fff;
    transform: scale(1.35);
}

.intro-visual-dots button:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

/* Match the site's warm page background and tighten the transition to the mission section. */
.intro-section.section-pad {
    padding: 78px 0 48px;
    background: var(--cream);
}

.mission-section.section-pad {
    padding-top: 58px;
}

/* Fit the full hero into the space below the utility bar and navigation. */
.hero.hero-home {
    height: max(560px, calc(100vh - 126px));
    height: max(560px, calc(100svh - 126px));
    min-height: 0;
}

@media (max-width: 760px) {
    .intro-label {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(120px, 35%);
        align-items: center;
        gap: 16px;
    }

    .intro-label .eyebrow {
        grid-column: 1;
        grid-row: 1;
    }

    .intro-visual {
        grid-column: 2;
        grid-row: 1;
        width: 100%;
        height: 185px;
    }

    .intro-visual figcaption {
        right: 10px;
        bottom: 10px;
        left: 10px;
        font-size: 7px;
    }

    .intro-visual-dots {
        right: 10px;
        bottom: 12px;
    }

    .intro-section.section-pad {
        padding: 50px 0 36px;
    }

    .mission-section.section-pad {
        padding-top: 42px;
    }

    .hero.hero-home {
        height: max(520px, calc(100vh - 106px));
        height: max(520px, calc(100svh - 106px));
    }
}
