.resource-fallback-nav{display:flex;justify-content:space-between;align-items:center;min-height:76px;gap:20px}.resource-fallback-nav nav{display:flex;flex-wrap:wrap;gap:18px}.resource-breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:.85rem;padding-top:28px;padding-bottom:28px}.resource-layout{display:grid;grid-template-columns:minmax(0,780px) minmax(190px,1fr);gap:70px;padding-bottom:64px}.resource-heading{border-top:2px solid var(--ink);padding-top:28px}.resource-heading h1{font-size:clamp(2rem,4vw,3.7rem);line-height:1.12;max-width:24ch;margin:14px 0 20px}.resource-heading .article-standfirst{font-size:1.22rem;margin:25px 0 35px}.resource-section{padding:28px 0;border-top:1px solid var(--line-strong);scroll-margin-top:110px}.resource-section h2,.resource-tool h2,.resource-contact h2,.resource-related h2{font-size:1.8rem;line-height:1.2;margin-bottom:16px}.resource-section p{font-size:1.08rem;line-height:1.85}.resource-sidebar{align-self:start;position:sticky;top:104px;padding-top:30px}.resource-sidebar a{display:block;padding:9px 0;font-size:.91rem;line-height:1.4;border-bottom:1px solid var(--line)}.resource-sidebar-contact{margin-top:32px;padding:18px;background:var(--cloud)}.resource-mobile-toc{display:none}.resource-tool{border:1px solid var(--line-strong);padding:28px;margin:24px 0;background:var(--paper-pure)}.resource-tool p{margin-bottom:18px}.budget-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.budget-fields label{font-weight:600}.budget-fields input,.resource-search input{display:block;width:100%;font:inherit;border:1px solid var(--line-strong);background:var(--paper-pure);padding:12px;margin-top:8px;border-radius:4px;min-height:48px}.resource-tool output{display:block;font-weight:600;margin-top:24px;padding-top:18px;border-top:1px solid var(--line-strong)}.resource-map{width:100%;height:380px;border:0}.resource-checklist{border:1px solid var(--line-strong);padding:16px 20px;margin-top:22px}.resource-checklist legend{padding:0 8px;font-weight:700}.resource-checklist label{display:flex;align-items:flex-start;gap:12px;padding:11px 0;cursor:pointer}.resource-checklist input{width:20px;height:20px;margin-top:3px;flex:none;accent-color:var(--teal-deep)}.checklist-actions{display:flex;flex-wrap:wrap;gap:12px}.resource-contact{padding:28px;background:var(--cloud);margin:32px 0}.resource-contact p{margin-top:16px}.resource-related{border-top:2px solid var(--ink);padding-top:28px}.resource-related a{display:block;padding:14px 0;border-bottom:1px solid var(--line)}.resource-directory-head{padding-top:10px;padding-bottom:32px}.resource-directory-head>h1{font-size:clamp(2.7rem,6vw,5.2rem);line-height:1.06;letter-spacing:-.025em;max-width:900px;margin:20px 0}.resource-directory-head>.article-standfirst{max-width:720px;font-size:1.25rem}.resource-search{max-width:620px;margin:32px 0 24px}.resource-search>label{font-weight:600}.resource-search>p{font-size:.9rem;margin-top:10px}.resource-group-nav{display:flex;flex-wrap:wrap;gap:10px 24px;border-block:1px solid var(--line-strong);padding:16px 0}.resource-group-nav a{min-height:30px;display:flex;align-items:center}.resource-directory{padding-bottom:64px}.resource-directory>section{padding:32px 0;scroll-margin-top:104px}.resource-group-heading{display:flex;align-items:baseline;gap:20px;border-top:2px solid var(--ink);padding-top:20px;margin-bottom:24px}.resource-group-heading>span{font-size:.9rem;color:var(--teal-deep);font-weight:700}.resource-group-heading h2{font-size:2rem}.resource-list{display:grid;grid-template-columns:1fr 1fr;column-gap:44px}.resource-list-item{position:relative;border-bottom:1px solid var(--line-strong);padding:22px 30px 24px 0}.resource-list-item h3{font-size:1.6rem;line-height:1.25;margin:12px 0}.resource-list-item p{line-height:1.65}.resource-list-item>span{position:absolute;right:0;top:52px;color:var(--teal-deep)}.resource-existing>p{margin:16px 0}.resource-list-item[hidden],section[data-resource-group][hidden]{display:none}.resource-sources ul{padding-left:22px}.resource-sources li{margin:8px 0}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--teal-deep);outline-offset:4px}
@media(max-width:900px){.resource-layout{grid-template-columns:1fr;gap:0}.resource-sidebar{display:none}.resource-mobile-toc{display:block;margin-bottom:28px;border-block:1px solid var(--line-strong);padding:14px 0}.resource-mobile-toc summary{font-weight:700;cursor:pointer;padding:8px 0}.resource-mobile-toc a{display:block;padding:10px 0}.resource-list{column-gap:26px}.resource-heading h1{max-width:none}}
@media(max-width:600px){.resource-list,.budget-fields{grid-template-columns:1fr}.resource-tool,.resource-contact{padding:20px}.resource-heading .article-standfirst{font-size:1.1rem}.resource-section p{font-size:1rem}.resource-directory-head>.article-standfirst{font-size:1.1rem}.resource-map{height:300px}.resource-directory-head>h1{font-size:2.7rem}.resource-list-item h3{font-size:1.5rem}.resource-fallback-nav{padding-block:8px;flex-wrap:wrap}}
/* Photo-led program guides and a direct route to a lesson inquiry. */
.resource-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:56px;align-items:center;padding-top:12px;padding-bottom:56px}
.resource-hero .resource-heading{border:0;padding-top:0}
.resource-hero .resource-heading h1{font-size:clamp(2.4rem,3.5vw,3.35rem);line-height:1.08;letter-spacing:-.025em;text-wrap:balance;margin-top:12px;margin-bottom:18px}
.resource-hero .resource-heading .article-standfirst{font-family:var(--font-body);font-size:1.06rem;line-height:1.7;margin:20px 0 25px;max-width:62ch}
.resource-hero .meta{font-size:.85rem;color:var(--faint)}
.resource-photo{margin:0;position:relative;overflow:hidden;border-radius:var(--radius);background:var(--cloud)}
.resource-photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;display:block}
.resource-photo-large img{aspect-ratio:4/5}
.resource-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:var(--ink);color:var(--paper-pure);font-size:.82rem;padding:13px 18px;line-height:1.4}
.resource-hero-caption{display:flex;flex-direction:column;gap:3px;margin-top:15px;padding-left:2px;font-size:.9rem}
.resource-hero-caption>span{color:var(--faint);font-size:.82rem}
.resource-book-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.resource-book-actions .btn{min-height:48px;padding:12px 22px}
.resource-book-note{font-size:.85rem;line-height:1.6;color:var(--faint);max-width:52ch;margin-top:12px}
.resource-sidebar{padding-top:0}
.resource-sidebar-booking{padding:24px;background:var(--teal-soft);border-radius:var(--radius);margin-bottom:26px}
.resource-sidebar-booking>strong{font-family:var(--font-display);font-size:1.7rem;line-height:1.15;display:block}
.resource-sidebar-booking>p{font-size:.94rem;margin:12px 0 18px;line-height:1.6}
.resource-sidebar .resource-sidebar-booking .btn{color:var(--paper-pure);border:0;text-align:center;font-size:1rem;padding:13px}
.resource-sidebar-booking>span{display:block;margin-top:12px;font-size:.8rem;color:var(--teal-deep)}
.resource-sidebar nav{padding:0 6px}
.resource-section{padding-block:30px}
.resource-section h2{font-size:1.9rem;text-wrap:balance}
.resource-section p{max-width:70ch}
.resource-booking-panel{background:var(--ink);color:var(--paper-pure);padding:36px;border-radius:var(--radius);display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,.48fr);gap:28px}
.resource-booking-panel h2{color:var(--paper-pure);font-size:2rem;margin-top:15px;text-wrap:balance}
.resource-booking-panel>div>span{font-size:.8rem;color:var(--paper)}
.resource-booking-panel .resource-book-note{color:var(--paper)}
.resource-booking-panel .btn-primary{background:var(--paper-pure);color:var(--ink)}
.resource-booking-panel .btn-outline{border-color:var(--paper);color:var(--paper-pure)}
.resource-contact-detail{display:flex;flex-direction:column;justify-content:center;gap:9px;font-size:.9rem}
.resource-contact-detail a{color:var(--paper-pure);text-decoration:underline;text-underline-offset:4px}
.resource-contact-detail strong{line-height:1.5}
.resource-mobile-booking{display:none}
.resource-library-lead{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:56px;align-items:center;margin:20px 0 38px}
.resource-library-copy h1{font-size:clamp(2.6rem,4.7vw,4.3rem);line-height:1.05;letter-spacing:-.025em;text-wrap:balance;margin:20px 0 24px;max-width:13ch}
.resource-library-copy .article-standfirst{font-family:var(--font-body);font-size:1.1rem;line-height:1.7;max-width:55ch}
.resource-library-photo figure{overflow:hidden;border-radius:var(--radius);position:relative;margin:0}
.resource-library-photo img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 72%}
.resource-library-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:var(--ink);color:var(--paper-pure);padding:15px 20px;font-size:.9rem}
.resource-library-photo-strip{display:flex;justify-content:space-between;gap:16px;padding:15px 0;font-size:.82rem}
.resource-library-photo-strip a{font-weight:600;color:var(--teal-deep)}
.resource-directory-head .resource-search{max-width:none;display:grid;grid-template-columns:200px minmax(0,1fr) 160px;gap:22px;align-items:center;background:var(--cloud);padding:20px 24px;border-radius:var(--radius);margin-bottom:24px}
.resource-directory-head .resource-search input{margin:0}
.resource-directory-head .resource-search>p{margin:0;text-align:right}
.resource-group-heading>span{display:none}
.resource-list{grid-template-columns:1fr 1fr;column-gap:36px;row-gap:10px}
.resource-list-item{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;padding:24px 0 30px;align-items:start}
.resource-item-photo{display:block;overflow:hidden;border-radius:var(--radius)}
.resource-item-photo img{aspect-ratio:1/1;transition:transform .3s var(--ease)}
.resource-item-photo figcaption{display:none}
.resource-item-photo:hover img{transform:scale(1.035)}
.resource-item-copy h3{font-size:1.45rem;margin:0 0 10px;text-wrap:balance}
.resource-item-copy p{font-size:.95rem;color:var(--mute)}
.resource-item-actions{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:15px;font-size:.88rem;font-weight:600}
.resource-item-actions a{min-height:36px;display:inline-flex;align-items:center;text-underline-offset:4px}
.resource-item-actions a:last-child{color:var(--teal-deep)}
@media(max-width:1050px){.resource-hero,.resource-library-lead{gap:30px}.resource-list-item{grid-template-columns:110px minmax(0,1fr);gap:18px}.resource-booking-panel{grid-template-columns:1fr}.resource-layout{gap:34px}}
@media(max-width:760px){.resource-hero,.resource-library-lead{grid-template-columns:1fr;gap:26px}.resource-hero{padding-bottom:32px}.resource-hero .resource-heading h1{font-size:2.4rem}.resource-photo-large img{aspect-ratio:16/10}.resource-library-copy h1{max-width:18ch;font-size:2.75rem}.resource-library-photo img{aspect-ratio:16/10}.resource-library-lead{margin-bottom:24px}.resource-directory-head .resource-search{grid-template-columns:1fr;gap:10px;padding:18px}.resource-directory-head .resource-search>p{text-align:left}.resource-list{grid-template-columns:1fr}.resource-list-item{grid-template-columns:110px minmax(0,1fr)}.resource-booking-panel{padding:26px}.resource-mobile-booking{display:flex;align-items:center;justify-content:space-between;gap:16px;position:fixed;bottom:0;left:0;right:0;background:var(--paper-pure);border-top:1px solid var(--line-strong);padding:12px 18px calc(12px + env(safe-area-inset-bottom));z-index:50}.resource-mobile-booking>a:first-child{font-weight:600;padding:12px 0}.resource-mobile-booking .btn{padding:11px 22px}.resource-directory,.resource-layout{padding-bottom:96px}.site-footer{padding-bottom:110px!important}body.menu-open .resource-mobile-booking{visibility:hidden}}
@media(max-width:390px){.resource-book-actions .btn{padding:12px 16px;font-size:.93rem}.resource-item-copy h3{font-size:1.3rem}.resource-list-item{grid-template-columns:92px minmax(0,1fr);gap:14px}.resource-library-photo-strip{font-size:.76rem;gap:10px}}
@media(prefers-reduced-motion:reduce){.resource-item-photo img{transition:none}}
@media print{.site-header,.site-footer,.resource-sidebar,.resource-mobile-toc,.resource-breadcrumbs,.checklist-actions,.resource-contact,.resource-related,.resource-sources,.resource-mobile-booking,.resource-book-actions,.resource-book-note,.resource-hero-media,iframe,.wechat-float{display:none!important}.resource-layout,.resource-hero{display:block;max-width:none}.resource-article{width:100%}body{background:white;color:black;font-size:11pt}.resource-heading h1{font-size:24pt!important}.resource-tool{border:0;padding:0}.resource-checklist{break-inside:avoid}.resource-section{padding:12px 0}.resource-heading .article-standfirst{font-size:11pt!important}a{color:black;text-decoration:none}}
