@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;0,800;1,500;1,600&display=swap');
:root{--ink:#161616;--paper:#faf9f6;--orange:#ff602d;--line:#d5d3ce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:7px}header{height:112px;display:flex;justify-content:space-between;align-items:center;padding:12px 6%;border-bottom:1px solid var(--line)}.brand{display:block;width:128px;height:84px;overflow:hidden}.brand img{width:145px;height:145px;max-width:none;transform:translate(-8px,-30px);mix-blend-mode:multiply}nav{display:flex;gap:40px;align-items:center}nav a{text-decoration:none;font-size:14px;font-weight:600}nav a:last-child{border-bottom:1px solid;padding-bottom:6px}.skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:20}.skip:focus{top:12px}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:620px}.hero-copy{padding:78px 6vw 52px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.7px;margin:0 0 25px}.hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(48px,5.3vw,88px);font-weight:600;letter-spacing:-3px;line-height:1.08;margin:0 0 30px}.hero h1 em{font-weight:500}.orange{color:var(--orange)}.intro{font-size:18px;line-height:1.6;margin-bottom:32px}.button{display:inline-flex;gap:32px;align-items:center;justify-content:space-between;text-decoration:none;background:var(--orange);padding:16px 24px;font-size:14px;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:#ff7c53;transform:translateY(-2px)}.button span{font-size:21px;font-weight:400}.hero-small{font-size:12px;color:#64635f;margin-top:24px}.hero-art{position:relative;min-height:500px;background:#15120f;overflow:hidden}.hero-art>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:60% 50%}.art-caption{position:absolute;bottom:24px;left:28px;right:28px;display:flex;justify-content:space-between;gap:20px;color:#fff;font-size:12px;letter-spacing:1.6px;text-shadow:0 1px 4px #000}.ribbon{background:var(--orange);padding:20px 6%;display:flex;justify-content:space-between;gap:20px;font-size:clamp(16px,2.2vw,34px);font-weight:700;letter-spacing:-1px}.section{padding:105px 6%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:48px}h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(36px,4.3vw,64px);font-weight:500;line-height:1.13;letter-spacing:-1.9px;margin:0}h2 em{font-weight:500}.section-heading>p{font-size:16px;margin-bottom:3px;color:#585751}.production-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.poster{height:430px;position:relative;overflow:hidden;padding:26px;color:white;display:flex;flex-direction:column;justify-content:center}.poster-top{position:absolute;top:25px;left:26px;font-size:12px;font-weight:600;letter-spacing:2px}.poster h3{position:relative;z-index:1;font-family:'Playfair Display',Georgia,serif;font-size:clamp(50px,6vw,90px);line-height:1;letter-spacing:-3px;margin:0}.poster>p{position:relative;z-index:1;font-size:14px;margin-top:25px;max-width:240px;line-height:1.5}.badge{position:absolute;bottom:24px;left:26px;font-size:12px;letter-spacing:.8px;border:1px solid currentColor;border-radius:30px;padding:5px 11px}.bonk{background:#1a1915}.bonk img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;filter:brightness(.6)}.bonk h3 span{color:var(--orange)}.learning{background:#c4cded;color:#232d65}.learning h3>span,.learning h3 i{display:block}.learning h3 i{font-weight:500;margin-left:30px}.learning h3 b{position:absolute;right:-5px;top:5px;font-size:160px;opacity:.2;font-family:Georgia}.today{background:#ffe54f;color:#ac321c}.today h3{font-size:clamp(40px,4.8vw,74px);transform:rotate(-7deg);line-height:1.08}.today h3 em{font-size:1.5em}.today h3>span{display:inline-block;transform:rotate(18deg);font-size:1.5em}.today>p{margin-top:36px}.production-copy{padding:28px 0 0}.production-copy .eyebrow{font-size:12px;letter-spacing:1.1px;margin-bottom:12px}.production-copy h3{font-family:'Playfair Display',Georgia,serif;font-size:30px;font-weight:600;line-height:1.2;margin:0 0 15px}.production-copy>p{color:#54534e;font-size:16px;line-height:1.8}details{border-bottom:1px solid #b6b4ae;margin-top:22px}summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;padding:12px 0;font-size:14px;font-weight:600;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:23px;font-weight:400}details[open] summary span{transform:rotate(45deg)}.details-body{font-size:16px;color:#54534e}.schedule-note{margin:40px 0 0;font-size:13px;color:#65635d}.collective{background:#191919;color:#faf9f6;display:grid;grid-template-columns:1.05fr 1fr;gap:36px 8%}.collective .eyebrow{color:#fb8b61}.collective-title h2{font-size:clamp(38px,4.5vw,66px)}.collective-title em{color:#adaba5}.collective-copy{position:relative;padding-top:20px}.collective-copy p{position:relative;max-width:510px;font-size:18px;color:#d4d1cc}.large-jlt{display:block;font-family:'Playfair Display',Georgia,serif;font-size:65px;font-weight:700;letter-spacing:-5px;line-height:1;color:var(--orange);margin-bottom:26px}.people{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;grid-column:1/-1;margin-top:30px}.portrait{height:320px;background:#33322f;margin-bottom:27px;display:flex;align-items:center;justify-content:center;overflow:hidden}.portrait>span{font-family:'Playfair Display',Georgia,serif;font-size:170px;font-style:italic;color:#fb8b61}.portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);object-position:center 30%;transition:filter .3s}.portrait:hover img{filter:grayscale(0)}.people .eyebrow{font-size:12px;letter-spacing:1.4px;margin-bottom:12px}.people h3{font-family:'Playfair Display',Georgia,serif;font-size:28px;font-weight:500;line-height:1.2;margin:0 0 18px}.people article>p:last-child{font-size:16px;color:#bdbab4;line-height:1.8}.source-link{font-size:12px;color:#aaa7a1;grid-column:1/-1;width:fit-content;text-underline-offset:5px}.programmers{background:var(--orange)}.programmer-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:12%}.programmer-grid h2{font-size:clamp(40px,5vw,76px)}.programmer-grid p{font-size:18px;max-width:480px;margin-top:0}.dark{background:#191919;color:white;margin-top:12px}.dark:hover{background:#38332e}.audiences{border-top:1px solid #a83d21;margin-top:64px;padding-top:25px;display:flex;gap:50px;font-size:14px;font-weight:600}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:38px 6%}footer p,footer>a:last-child{font-size:12px}footer>a:last-child{text-decoration:none}.footer-brand{font-family:'Playfair Display',Georgia,serif;font-size:45px;line-height:1;text-decoration:none;font-weight:700}.footer-brand span{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:12px;letter-spacing:3px;margin-top:8px}
@media(min-width:1550px){body{max-width:1800px;margin:auto}.hero-copy{padding-left:90px}.poster{height:510px}}@media(max-width:1000px){nav{gap:22px}.hero-copy{padding:58px 5vw 40px}.hero h1{letter-spacing:-2px}.hero{min-height:570px}.hero-art{min-height:450px}.section{padding:76px 5%}.production-grid{gap:20px}.poster{height:350px;padding:20px}.poster-top{left:20px;font-size:12px;letter-spacing:1px}.badge{left:20px;font-size:12px}.poster h3{font-size:66px}.today h3{font-size:47px}.people{gap:22px}.portrait{height:260px}.people h3{font-size:25px}.collective{gap:25px 5%}}
@media(max-width:700px){header{height:auto;min-height:94px;padding:12px 6%;gap:18px}.brand{width:94px;min-width:94px;height:60px}.brand img{width:110px;height:110px;transform:translate(-7px,-25px)}nav{gap:12px;flex-wrap:wrap;justify-content:flex-end}nav a{font-size:12px}nav a:last-child{padding-bottom:1px}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 6% 38px}.hero h1{font-size:clamp(48px,10vw,68px);letter-spacing:-2px}.hero .eyebrow{font-size:12px;letter-spacing:1.2px}.hero-art{min-height:330px;max-height:380px}.hero-art>img{object-position:center 60%}.hero-small{font-size:12px}.ribbon{flex-wrap:wrap;justify-content:center;gap:8px 22px;padding:18px 5%;font-size:16px;letter-spacing:0}.section{padding:64px 6%}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:24px}.production-grid{grid-template-columns:1fr;gap:45px}.poster{height:430px}.poster h3{font-size:90px}.today h3{font-size:70px}.poster-top{font-size:12px;left:26px}.poster{padding:26px}.badge{left:26px;font-size:12px}.production-copy{padding-top:24px}.production-copy .eyebrow,.people .eyebrow{font-size:12px}.collective{display:block}.collective-copy{margin:30px 0 40px}.collective-copy p{font-size:17px}.large-jlt{font-size:52px}.people{grid-template-columns:1fr;gap:30px}.portrait{height:380px}.people h3{font-size:30px}.source-link{display:block;margin-top:24px;font-size:12px}.programmer-grid{grid-template-columns:1fr;gap:28px}.audiences{gap:14px 25px;flex-wrap:wrap;margin-top:40px}footer{flex-wrap:wrap;padding:32px 6%}footer p{flex-basis:60%;text-align:right}.art-caption{font-size:12px}.eyebrow{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.collective-photo{display:block;width:100%;max-width:320px;height:auto;margin-top:28px}.portrait[data-person="jessica"] img{object-position:center 48%}.portrait[data-person="lilly"] img{object-position:center 30%}

.poster.illustrated-cover{height:auto;aspect-ratio:2/3;padding:0;background:#191919}.poster.illustrated-cover>img{display:block;width:100%;height:100%;object-fit:contain}

/* School programmes and booking */
header nav{gap:24px}.school-lead{max-width:770px;font-size:18px;color:#54534e}.school-choices{justify-content:flex-start;flex-wrap:wrap;gap:12px;margin:30px 0 64px}.school-choices a,.school-choices a:last-child{border:1px solid var(--ink);padding:13px 20px;font-size:16px}.school-choices a:hover{background:var(--ink);color:white}.school-level{scroll-margin-top:35px}.school-level+.school-level{margin-top:76px}.school-level-heading{display:flex;align-items:flex-start;gap:28px;margin-bottom:30px;max-width:850px}.school-number{font-family:'Playfair Display',Georgia,serif;font-size:64px;line-height:1;color:var(--orange)}.school-level-heading .eyebrow{margin-bottom:8px}.school-level-heading h3,.school-practical h3,.contact-panel h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:30px;line-height:1.2;margin:0 0 15px}.school-level-heading p:last-child{color:#54534e;margin:0}.school-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.school-card{padding:28px;background:#fff;border-top:4px solid var(--orange);display:flex;flex-direction:column}.school-card .eyebrow{font-size:12px;letter-spacing:1px;margin-bottom:14px}.school-card h4{font-family:'Playfair Display',Georgia,serif;font-size:30px;font-weight:600;letter-spacing:-.6px;line-height:1.15;margin:0 0 12px}.school-age{font-size:14px;font-weight:600;color:#79401f;margin:0 0 12px}.school-card>p:not(.eyebrow):not(.school-age){margin:0 0 18px;color:#54534e}.school-card details{margin-top:auto}.school-enquiry{font-size:14px;font-weight:700;margin-top:22px;text-underline-offset:5px;display:flex;justify-content:space-between;gap:10px}.secondary-school .school-card{background:#e9ecf7;border-top-color:#384d91}.secondary-school .school-number{color:#384d91}.secondary-school .school-age{color:#384d91}.school-practical{display:grid;grid-template-columns:1fr 1fr;gap:50px;border-top:1px solid var(--line);margin-top:52px;padding-top:34px}.school-practical h3{font-size:25px}.school-practical p{color:#54534e;margin-bottom:0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-bottom:1px solid var(--line)}.contact>div>p:not(.eyebrow){max-width:520px;font-size:18px}.contact-panel{background:#eeece7;padding:34px;align-self:start}.contact-email{font-size:clamp(18px,2.2vw,30px);font-weight:700;overflow-wrap:anywhere;text-underline-offset:6px}.contact-panel p{color:#54534e}.contact-panel .button{font-size:14px;gap:18px}.hero-art>img{object-position:center}
@media(max-width:1000px){header nav{gap:15px}.school-grid{gap:16px}.school-card{padding:22px}.school-card h4{font-size:26px}.contact{gap:5%}.contact-panel{padding:25px}}
@media(max-width:700px){header nav{gap:9px 14px}.school-grid,.school-practical,.contact{grid-template-columns:1fr}.school-choices{margin-bottom:44px}.school-level-heading{gap:18px}.school-number{font-size:48px}.school-level-heading h3{font-size:28px}.school-card{padding:26px}.school-card h4{font-size:30px}.school-level+.school-level{margin-top:54px}.school-practical{gap:28px}.contact{gap:30px}.school-choices a,.school-choices a:last-child{font-size:14px}.hero-art>img{object-position:center}}

/* Page navigation and compact home */
header nav a[aria-current="page"]{color:#b53910;text-decoration:underline;text-underline-offset:7px}header nav a:last-child{border:0;padding-bottom:0}.page-title{font-family:'Playfair Display',Georgia,serif;font-size:clamp(38px,4.5vw,66px);font-weight:500;line-height:1.13;letter-spacing:-1.9px;margin:0}.page-title em{font-weight:500}.collective .page-title em{color:#adaba5}.breadcrumbs{display:flex;flex-wrap:wrap;justify-content:flex-start;padding:22px 6%;gap:12px;font-size:14px;border-bottom:1px solid var(--line)}.breadcrumbs a,.breadcrumbs a:last-child{font-size:14px;border:0;padding:0;text-decoration:underline;text-underline-offset:4px}.school-paths{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:42px}.school-paths article{padding:36px;background:#fff;border-top:4px solid var(--orange)}.school-paths article:last-child{background:#e9ecf7;border-color:#384d91}.school-paths h2{font-size:clamp(30px,3.4vw,48px)}.school-paths p:not(.eyebrow){margin:22px 0 28px}.school-contact{margin-top:34px}.sibling-link{display:inline-block;margin:10px 0 36px;font-size:14px;text-underline-offset:4px}.home-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.home-paths article{border-top:2px solid var(--orange);padding-top:28px}.home-paths h3{font-family:'Playfair Display',Georgia,serif;font-size:30px;font-weight:500;line-height:1.2;margin:0 0 18px}.home-paths p:not(.eyebrow){color:#54534e}.home-paths a{display:inline-block;margin-top:12px;font-weight:700;font-size:14px;text-underline-offset:5px}.home-booking{margin-top:56px;padding-top:32px;border-top:1px solid var(--line);display:flex;gap:25px;justify-content:space-between;align-items:center}.home-booking p{font-size:20px;margin:0}
@media(max-width:700px){.home-paths,.school-paths{grid-template-columns:1fr}.school-paths article{padding:28px}.home-booking{align-items:flex-start;flex-direction:column}.breadcrumbs{padding:18px 6%;gap:10px}.page-title{font-size:clamp(36px,8vw,54px)}}

/* Distinct home sections */
.home-shows{background:#faf9f6}.text-link{font-size:16px;font-weight:700;text-underline-offset:6px}.home-show-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.home-show{display:block;text-decoration:none;background:#fff}.home-show>img{display:block;width:100%;aspect-ratio:2/3;object-fit:contain;background:#171717}.home-show>div{padding:24px}.home-show span{font-size:12px;letter-spacing:1.3px;font-weight:700;color:#774126}.home-show h3{font-family:'Playfair Display',Georgia,serif;font-size:32px;line-height:1.2;margin:10px 0}.home-show p{margin:0;color:#54534e}.home-show:hover h3{text-decoration:underline;text-underline-offset:5px}.home-schools{background:#c4cded;color:#232d65}.home-school-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:0 8%;align-items:end}.home-school-intro>.eyebrow{grid-column:1/-1}.home-school-intro>p:last-child{max-width:450px;font-size:18px;margin:0}.home-school-options{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:42px}.home-school-options>a{background:#f5f6fd;color:#232d65;text-decoration:none;padding:36px;display:flex;flex-direction:column;border-top:4px solid #232d65}.home-school-options>a:last-child{background:#232d65;color:#fff;border-color:#ff602d}.home-school-options .eyebrow{display:block;margin-bottom:18px}.home-school-options h3{font-family:'Playfair Display',Georgia,serif;font-size:38px;line-height:1.12;font-weight:500;margin:0}.home-school-options p{margin:20px 0 28px;max-width:400px}.tile-cta{margin-top:auto;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.home-makers{background:#191919;color:#faf9f6;display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:7%}.home-makers-copy .eyebrow{color:#fb8b61}.home-makers-copy h2{font-size:clamp(36px,4vw,60px)}.home-makers-copy h2 em{color:#adaba5}.home-makers-copy>p:not(.eyebrow){font-size:18px;color:#d4d1cc;margin:26px 0}.home-maker-portraits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-maker-portraits a{min-width:0;color:#fff;text-decoration:none}.home-maker-portraits img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;object-position:40% 35%;filter:grayscale(1)}.home-maker-portraits a:nth-child(2){margin-top:50px}.home-maker-portraits a:nth-child(3){margin-top:100px}.home-maker-portraits span{display:block;margin-top:12px;font-size:16px;font-weight:600}.home-maker-portraits a:hover img{filter:grayscale(0)}.home-contact{background:var(--orange);display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}.home-contact>div>p:not(.eyebrow){font-size:20px;max-width:490px}.home-contact .button{margin-top:16px}
@media(max-width:1000px){.home-makers{grid-template-columns:1fr;gap:38px}.home-maker-portraits{max-width:660px;width:100%}.home-school-options>a{padding:28px}.home-school-options h3{font-size:32px}}
@media(max-width:700px){.home-show-grid,.home-school-intro,.home-school-options,.home-contact{grid-template-columns:1fr}.home-show-grid{gap:28px}.home-show>div{padding:24px}.home-school-intro{gap:24px}.home-school-intro>.eyebrow{margin-bottom:0}.home-school-options{margin-top:30px}.home-school-options h3{font-size:32px}.home-maker-portraits{gap:10px}.home-maker-portraits a:nth-child(2){margin-top:24px}.home-maker-portraits a:nth-child(3){margin-top:48px}.home-maker-portraits span{font-size:14px}.home-contact{gap:24px}}

/* Three expressive side-by-side home panels */
.home-bold{padding-left:4%;padding-right:4%;background:#faf9f6}.home-bold .section-heading{padding:0 2%}.home-bold-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.home-bold-card{padding:34px 28px;display:flex;flex-direction:column;min-width:0}.home-bold-card .eyebrow{font-size:12px;letter-spacing:1.4px;margin-bottom:22px}.home-bold-card h3{font-family:'Playfair Display',Georgia,serif;font-size:clamp(32px,3.1vw,49px);font-weight:600;line-height:1.1;letter-spacing:-1.3px;margin:0 0 30px;min-height:2.2em}.home-bold-card h3 em{font-weight:500}.home-bold-card>p:not(.eyebrow){font-size:16px;line-height:1.75;margin:26px 0 30px}.bold-shows{background:#ff602d;color:#191919}.bold-schools{background:#283c82;color:#fff}.bold-schools h3 em{color:#d5ddff}.bold-makers{background:#191919;color:#faf9f6}.bold-makers h3 em,.bold-makers .eyebrow{color:#fb8b61}.bold-posters{display:flex;gap:7px;align-items:center;height:190px}.bold-posters img{width:calc((100% - 14px)/3);height:auto;max-height:190px;object-fit:contain;box-shadow:0 7px 14px #0003}.bold-posters img:first-child{transform:rotate(-6deg)}.bold-posters img:last-child{transform:rotate(6deg)}.bold-themes{height:190px;display:flex;flex-direction:column;justify-content:center;gap:10px;align-items:flex-start}.bold-themes span{border:1px solid #94a7e6;padding:10px 13px;font-size:clamp(12px,1.2vw,18px);font-weight:700;letter-spacing:.5px;max-width:100%}.bold-themes span:nth-child(2){background:#d8dfff;color:#283c82;transform:rotate(-3deg);margin-left:12px}.bold-portraits{display:flex;gap:8px;height:190px}.bold-portraits img{width:calc((100% - 16px)/3);height:165px;object-fit:cover;object-position:40% 36%;filter:grayscale(1)}.bold-portraits img:nth-child(2){align-self:flex-end}.bold-portraits img:nth-child(3){align-self:center}.bold-link{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid currentColor;padding-top:18px;margin-top:auto;font-size:14px;font-weight:700;text-decoration:none}.bold-link span{font-size:24px}.bold-link:hover{text-decoration:underline;text-underline-offset:5px}.bold-school-links{margin-top:auto;border-top:1px solid #8294ce;padding-top:12px}.bold-school-links a{display:flex;justify-content:space-between;gap:12px;text-decoration:none;font-size:14px;font-weight:700;padding:8px 0}.bold-school-links a:hover{text-decoration:underline;text-underline-offset:5px}.home-contact{background:#e8e5dd}
@media(max-width:1000px) and (min-width:701px){.home-bold-card{padding:27px 20px}.home-bold-grid{gap:14px}.home-bold-card h3{font-size:32px}.bold-posters,.bold-themes,.bold-portraits{height:150px}.bold-portraits img{height:130px}.bold-themes span{padding:8px;font-size:12px}}
@media(max-width:700px){.home-bold{padding-left:6%;padding-right:6%}.home-bold .section-heading{padding:0}.home-bold-grid{grid-template-columns:1fr;gap:22px}.home-bold-card{padding:32px}.home-bold-card h3{font-size:42px;min-height:0}.bold-posters,.bold-portraits{height:210px}.bold-portraits img{height:185px}.bold-themes{height:auto;padding:10px 0}.bold-themes span{font-size:16px}.home-bold-card>p:not(.eyebrow){margin:24px 0}.bold-posters img{max-height:210px}}
