
:root{--ink:#151717;--paper:#fafaf7;--yellow:#efeb61;--line:#cdcec7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.55}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%;height:auto}button{font:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #917012;outline-offset:6px}.skip{position:absolute;left:10px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}header{padding:23px 4%;display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line)}.brand{font-size:15px;line-height:1.2;font-weight:800;text-decoration:none;letter-spacing:-.3px}nav{display:flex;gap:28px;font-size:14px}nav a{text-decoration:none}nav a:hover{text-decoration:underline}main{overflow:hidden}.wrap{width:92%;max-width:1500px;margin:auto}.hero{padding:65px 0 36px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:700;margin:0 0 20px}.hero h1{font-size:clamp(3.5rem,9.3vw,9rem);line-height:.94;letter-spacing:-.065em;margin:0;max-width:1100px;font-weight:800}.hero h1 span{display:block}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:32px;gap:20px}.roles{font-size:clamp(1rem,1.7vw,1.4rem);margin:0}.intro{max-width:330px;margin:0;font-size:16px}.hero-photo{position:relative;margin-top:36px;background:#d8dcce}.hero-photo img{width:100%;max-height:650px;object-fit:cover;object-position:center 52%}.photo-label{position:absolute;bottom:20px;left:22px;background:var(--paper);padding:9px 15px;font-size:14px}.section{padding:85px 0}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:35px}.section-head h2,h2{font-size:clamp(2.3rem,4.5vw,4.2rem);letter-spacing:-.055em;line-height:1.08;margin:0}.section-head p{font-size:14px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:46px 26px}.card{text-decoration:none;display:block}.card .image{overflow:hidden;background:#e5e5dc}.card img{width:100%;aspect-ratio:1.45;object-fit:cover;transition:transform .4s}.card:hover img{transform:scale(1.025)}.card h3{font-size:27px;line-height:1.15;letter-spacing:-1px;margin:17px 0 7px}.card p{font-size:14px;margin:0}.card .poster img{object-fit:contain;background:#0a0a0a}.wide{grid-column:1/-1}.wide img{aspect-ratio:3;object-fit:contain;background:#101c20}.practice{background:var(--yellow);padding:80px 0}.practice-inner{display:grid;grid-template-columns:1fr 1.4fr;gap:8%}.practice p{max-width:640px}.practice h3{font-size:24px;margin:0}.role{border-top:1px solid #a09d45;padding:21px 0;display:grid;grid-template-columns:150px 1fr;gap:20px}.role p{margin:0;font-size:16px}.contact{padding:85px 0}.contact h2{margin-bottom:24px}.contact p{max-width:650px}.contact a{font-size:22px}footer{border-top:1px solid var(--line);padding:25px 4%;display:flex;justify-content:space-between;gap:20px;font-size:13px}.back{display:inline-block;margin:34px 0;font-size:14px}.project-title{font-size:clamp(3rem,7vw,7rem);line-height:1;letter-spacing:-.055em;margin:0 0 32px}.project-cover{width:100%;max-height:750px;object-fit:cover}.banner-cover{object-fit:contain}.project-body{display:grid;grid-template-columns:1fr 2fr;gap:8%;padding:60px 0}.project-body p{margin-top:0}.project-body h2{font-size:34px;margin-bottom:24px}.meta{font-size:14px}.meta strong{display:block;margin-top:20px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:65px}.gallery img{width:100%}.gallery a:hover{opacity:.85}.button{display:inline-block;border:1px solid var(--ink);padding:12px 20px;text-decoration:none;font-size:16px;margin:8px 8px 8px 0}.button:hover{background:var(--yellow)}.household-cover{background:#0b0b0b;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5%;padding:4%;color:white}.household-cover img{max-height:660px;margin:auto}.household-cover blockquote{font-size:clamp(1.8rem,3.5vw,3.8rem);line-height:1.15;letter-spacing:-.04em;margin:0}.household-cover cite{font-style:normal;font-size:14px;display:block;margin-top:25px}.section-rule{border-top:1px solid var(--line)}@media(max-width:700px){header{align-items:start;flex-wrap:wrap;padding:20px 5%}nav{gap:18px;flex-wrap:wrap}.wrap{width:90%}.hero{padding-top:40px}.hero h1{font-size:clamp(3.2rem,13vw,5.7rem)}.hero-bottom{display:block}.intro{margin-top:20px}.hero-photo img{min-height:360px;object-position:53%}.photo-label{left:12px;bottom:12px;font-size:12px}.grid{grid-template-columns:1fr;gap:32px}.wide{grid-column:auto}.wide img{aspect-ratio:1.6}.section{padding:55px 0}.section-head{display:block}.practice-inner{grid-template-columns:1fr;gap:30px}.practice{padding:55px 0}.role{grid-template-columns:1fr;gap:7px}.project-body{grid-template-columns:1fr;gap:35px;padding:40px 0}.gallery{grid-template-columns:1fr 1fr;gap:12px}.household-cover{grid-template-columns:1fr;padding:25px}.household-cover blockquote{padding:20px 0}.contact{padding:55px 0}footer{flex-direction:column}.hero h1,.project-title{overflow-wrap:normal}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card img{transition:none}}

.brand{display:flex;align-items:center;gap:12px}.brand-logo{display:block;position:relative;width:64px;aspect-ratio:1142 / 788;overflow:hidden;flex-shrink:0}.brand-logo img{position:absolute;width:168.126%;max-width:none;height:auto;left:-35.289%;top:-22.589%}

.contact{position:relative;padding-right:180px}.contact-logo{position:absolute;right:0;top:90px;width:120px}.hero-photo img{max-height:none;object-fit:contain}@media(max-width:700px){.contact{padding-right:0}.contact-logo{position:relative;top:auto;right:auto;width:90px;margin-bottom:28px}}

.project-body.outdoor-intro{display:block;max-width:850px}.booking-partner{margin-top:28px;padding-top:28px;border-top:1px solid var(--line)}.booking-partner img{width:145px;height:auto;margin-bottom:18px}.booking-partner p{font-size:16px}

.panda-heading{font-size:32px;line-height:1.2;margin:0 0 22px}.panda-versions{margin:30px 0}.panda-versions strong{display:block;font-size:21px;margin-bottom:5px}.panda-slideshow{margin-top:35px}.panda-slide[hidden],.slideshow-controls[hidden]{display:none}.panda-slide figure{margin:0}.panda-slide img{width:100%;height:500px;object-fit:contain;background:#eeeeea}.panda-slide figcaption{font-size:14px;padding:12px 0}.slideshow-controls{display:flex;justify-content:space-between;align-items:center;gap:16px}.slideshow-controls button{background:transparent;border:1px solid var(--ink);padding:10px 18px;cursor:pointer;min-height:44px}.slideshow-controls button:hover{background:var(--yellow)}.slideshow-controls button:focus-visible{outline:3px solid #917012;outline-offset:4px}@media(max-width:700px){.panda-slide img{height:360px}}

.christmas-description{max-width:850px;margin-top:30px}

.performance-video{margin-top:45px}.performance-video h3{font-size:24px;margin:0 0 18px}.performance-video iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#151717}.performance-video p{font-size:14px}

#swan-in-love>.section-head{align-items:center;flex-wrap:wrap}.swan-logo-title{position:relative;width:min(420px,100%);aspect-ratio:1867 / 601;overflow:hidden;flex-shrink:0}.swan-logo-title img{position:absolute;max-width:none;width:107.1237%;height:auto;left:-2.571%;top:-80.366%}

.lead-gallery{margin:0 0 35px}.lead-gallery .panda-slide img{height:clamp(300px,55vw,700px)}.performance-copy{max-width:850px}.lead-gallery+.outdoor-intro{padding-top:15px}

.coming-soon{display:inline-block;background:var(--yellow);padding:8px 16px;border-radius:2px;font-weight:700;white-space:nowrap}

.hero-title{display:flex;align-items:center;justify-content:space-between;gap:30px}.hero-title h1{min-width:0}.hero-logo{width:clamp(110px,16vw,230px)}@media(max-width:700px){.hero-title{flex-direction:column;align-items:flex-start;gap:24px}.hero-logo{width:120px}}

.hero-title{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,30%);gap:30px;align-items:center}.hero-identity .hero-logo{width:110px;margin-bottom:26px}.hero-title h1{font-size:clamp(3.3rem,7vw,7rem)}.portrait-stage{position:relative;isolation:isolate;max-width:360px;width:100%;justify-self:center}.portrait-stage:before{content:"";position:absolute;z-index:-2;inset:23% -2% 9%;background:var(--yellow);border-radius:48% 52% 38% 42%;transform:rotate(-9deg);box-shadow:14px 18px 0 #dedebf}.portrait-stage:after{content:"";position:absolute;z-index:-1;bottom:0;left:20%;width:65%;height:5%;border-radius:50%;background:#15171730;filter:blur(10px)}.portrait-stage img{position:relative;width:100%;height:auto;filter:drop-shadow(12px 15px 9px #15171730);transform:rotate(-3deg)}@media(max-width:700px){.hero-title{grid-template-columns:1fr;gap:26px}.hero-title h1{font-size:clamp(3.2rem,13vw,5.7rem)}.hero-identity .hero-logo{width:90px;margin-bottom:22px}.portrait-stage{max-width:260px;margin:0 auto 10px}}

.portrait-stage{aspect-ratio:3/4;max-width:340px}.portrait-stage img{width:100%;height:100%;object-fit:cover;object-position:59% 85%;border:7px solid var(--paper);border-radius:90px 90px 18px 18px;box-shadow:12px 16px 0 var(--yellow),22px 26px 30px #15171720;filter:none;transform:rotate(-3deg)}.portrait-stage:before,.portrait-stage:after{display:none}

.hero-title{display:block}.hero-title h1{font-size:clamp(3.5rem,9.3vw,9rem)}.practice-portrait{width:min(100%,360px);margin:30px 0 20px;transform:rotate(-2deg);border:6px solid var(--paper);box-shadow:10px 12px 0 #b8b546,18px 22px 25px #15171720}.practice-portrait-crop{position:relative;aspect-ratio:430/380;overflow:hidden}.practice-portrait-crop img{position:absolute;width:334.8837%;max-width:none;height:auto;left:-139.5349%;top:-144.7368%}@media(max-width:700px){.hero-title h1{font-size:clamp(3.2rem,13vw,5.7rem)}}

.brand-logo{aspect-ratio:auto;width:130px;overflow:visible}.brand-logo img{position:static;display:block;width:100%;max-width:100%;height:auto}.hero-identity .hero-logo{width:180px}.contact-logo{width:160px}.contact{padding-right:200px}@media(max-width:700px){.brand-logo{width:110px}.hero-identity .hero-logo{width:150px}.contact-logo{width:150px}.contact{padding-right:0}}

.hero>.eyebrow{text-align:center;margin-bottom:0}.header-roles{flex:1;text-align:center;font-size:clamp(13px,1.4vw,18px);margin:0;line-height:1.5}header nav{flex-shrink:0}@media(max-width:700px){header{align-items:center}.header-roles{min-width:150px;text-align:right}header nav{width:100%;justify-content:center}}

.hero-photo{aspect-ratio:1536/714;overflow:hidden}.hero-photo img{width:100%;height:100%;min-height:0;max-height:none;object-fit:cover;object-position:center bottom}

.hero-swan-logo{position:absolute;left:20px;bottom:18px;width:clamp(120px,23vw,280px);aspect-ratio:1867/601;overflow:hidden;filter:drop-shadow(0 2px 2px #ffffffaa)}.hero-photo .hero-swan-logo img{position:absolute;max-width:none;width:107.1237%;height:auto;min-height:0;left:-2.571%;top:-80.366%;object-fit:initial}.quote-section{margin-bottom:44px}.quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.quote-grid blockquote{margin:0;padding:24px;background:var(--yellow);display:flex;align-items:center}.quote-grid blockquote p{font-size:clamp(20px,2.4vw,32px);font-weight:700;line-height:1.2;margin:0}.quote-grid blockquote:nth-child(2) p{font-size:20px}.quote-source{font-size:13px;margin-top:16px!important}@media(max-width:700px){.quote-grid{grid-template-columns:1fr}.hero-swan-logo{left:10px;bottom:10px}}

.quote-section{margin-bottom:28px}.quote-grid{gap:10px}.quote-grid blockquote{padding:15px 18px}.quote-grid blockquote p,.quote-grid blockquote:nth-child(2) p{font-size:17px;line-height:1.3}.quote-source{font-size:12px;margin-top:10px!important}

.quote-section>.eyebrow{text-align:center;text-transform:none;letter-spacing:.5px}.quote-grid blockquote{justify-content:center;text-align:center}.quote-grid blockquote p,.quote-grid blockquote:nth-child(2) p{font-family:Georgia,"Times New Roman",serif;font-size:18px;font-style:italic;font-weight:400;line-height:1.4;text-align:center}

.panda-versions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:30px 0}.panda-versions p{margin:0;padding:24px 20px;background:var(--yellow);text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:17px;font-style:italic;line-height:1.45}.panda-versions strong{display:block;font-family:Arial,Helvetica,sans-serif;font-size:20px;font-style:normal;line-height:1.2;margin:0 0 14px}.panda-versions strong:after{content:"";display:block;width:32px;height:2px;background:var(--ink);margin:14px auto 0}@media(max-width:700px){.panda-versions{grid-template-columns:1fr}.panda-versions p{padding:22px 20px}}

.walkabout-collage{display:grid;grid-template-columns:1fr 1fr;gap:10px}.walkabout-collage figure{position:relative;margin:0;overflow:hidden;aspect-ratio:1.65;background:#e5e5dc}.walkabout-collage img{display:block;width:100%;height:100%;object-fit:cover}.walkabout-collage figcaption{position:absolute;bottom:0;left:0;right:0;padding:32px 16px 12px;background:linear-gradient(transparent,#000b);color:white;font-size:15px;font-weight:700}.walkabout-collage figure:nth-child(4) img{object-position:center 40%}@media(max-width:550px){.walkabout-collage{gap:6px}.walkabout-collage figure{aspect-ratio:1.1}.walkabout-collage figcaption{font-size:12px;padding:28px 10px 10px}}

.film-art{aspect-ratio:1.45;background:#151717!important;color:var(--yellow);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px}.film-frame{width:42%;aspect-ratio:16/9;border:2px solid var(--yellow);display:grid;place-items:center;box-shadow:10px 10px 0 #efeb6125}.film-play{width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:24px solid var(--yellow);margin-left:5px}.film-art-label{font-size:clamp(22px,3vw,40px);font-weight:700;letter-spacing:-1px}.film-intro{max-width:780px;padding:20px 0 85px}.film-intro h2{margin-bottom:24px}.film-coming{padding:22px;background:var(--yellow);margin:30px 0}

.teaching-art{aspect-ratio:1.45;background:var(--yellow)!important;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px;text-align:center}.teaching-kicker{font-size:clamp(18px,2.4vw,30px);font-weight:700}.teaching-age{font-size:clamp(65px,10vw,130px);font-weight:800;letter-spacing:-.07em;line-height:1.1}.teaching-caption{font-family:Georgia,serif;font-style:italic;font-size:17px;margin-top:12px}

.practice-quote-card blockquote{margin:0}.practice-quote-card .teaching-art p{font-family:Arial,Helvetica,sans-serif;font-size:clamp(32px,5vw,66px);font-weight:800;letter-spacing:-.055em;line-height:1.08;margin:0}

.film-feature .film-preview{display:block;width:100%;height:auto;max-height:620px;background:#151717}.film-feature h3 a{text-decoration:none}.film-feature h3 a:hover{text-decoration:underline}

.quote-grid blockquote p,.quote-grid blockquote:nth-child(2) p{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-style:normal}.animated-hero .hero-scene{display:block;width:100%;height:auto}.hero-motion-toggle{position:absolute;right:12px;bottom:12px;border:1px solid #15171744;background:#fafaf7e8;color:var(--ink);padding:8px 12px;font-size:12px;cursor:pointer;min-height:36px}.hero-motion-toggle:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}

header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:26px 4% 22px}header .brand-logo{width:170px}header nav{justify-content:center;flex-wrap:wrap}@media(max-width:700px){header{align-items:center;gap:18px}header .brand-logo{width:150px}header nav{width:auto}}

.award-note{background:var(--yellow);padding:24px;margin:28px 0}.award-note h3{font-size:25px;line-height:1.2;margin:0 0 14px}.award-note p:last-child{margin-bottom:0}.cv-credits{margin:45px 0}.cv-credits h2{font-size:30px;margin-bottom:22px}.cv-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:30px}.cv-grid h3{font-size:23px;line-height:1.25}.cv-grid dl,.cv-credits dl{margin:0}.cv-grid dl>div,.cv-credits dl>div{border-top:1px solid var(--line);padding:16px 0}.cv-grid dt,.cv-credits dt{font-weight:700}.cv-grid dd,.cv-credits dd{margin:5px 0 0;font-size:16px}.outdoor-credits{max-width:950px;margin:0 0 55px}@media(max-width:700px){.cv-grid{grid-template-columns:1fr;gap:20px}}

header .language-switch{display:flex;align-self:flex-end;gap:6px;justify-content:flex-end;flex-wrap:nowrap;width:auto;margin:0 0 2px}header .language-switch a{display:flex;align-items:center;gap:7px;min-height:44px;padding:6px 12px;border:1px solid var(--line);border-radius:4px;font-size:14px;text-decoration:none;white-space:nowrap}header .language-switch a[aria-current="true"]{background:var(--yellow);border-color:var(--ink);font-weight:700}header .language-switch a:hover{border-color:var(--ink)}.language-flag{font-size:25px;line-height:1}html[lang="cy"] .project-title{overflow-wrap:break-word}@media(max-width:700px){header .language-switch{align-self:center}}

.collaborators-image{display:block;width:100%;height:auto}.collaborators-section{padding:55px 0}.collaborators-section .collage-link{display:inline-block;font-size:15px;margin-top:14px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
