@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap');
:root{--paper:#f7f5ee;--ink:#121214;--muted:#c6c3cf;--acid:#dfff6b;--line:rgba(255,255,255,.22);--display:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;--body:'Inter',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#14121b;color:var(--paper);font-family:var(--body);font-size:16px;line-height:1.6}body.menu-open,body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}img,video{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--acid);outline-offset:6px}::selection{background:var(--acid);color:var(--ink)}#spray-background{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.skip-link{position:fixed;left:20px;top:-100px;background:var(--acid);color:var(--ink);padding:12px;z-index:100}.skip-link:focus{top:10px}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin:0 4.5%;border-bottom:1px solid var(--line);position:relative;z-index:30}.brand img{width:104px;height:86px;object-fit:contain}.site-header nav{display:flex;gap:38px;align-items:center;font-size:14px}.site-header nav a{position:relative;padding:12px 0}.site-header nav a:after{content:'';height:2px;background:var(--acid);position:absolute;left:0;bottom:4px;width:0;transition:width .2s}.site-header nav a:hover:after,.site-header nav a[aria-current]:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--acid);border-radius:3px;background:var(--acid);color:var(--ink);font-weight:600;font-size:14px;padding:17px 25px;line-height:1.35;min-height:52px;transition:background .2s,transform .2s}.button:hover{background:#edffb3;transform:translateY(-2px)}.button.small{padding:13px 20px;min-height:46px}.button.outline{background:transparent;border-color:var(--line);color:var(--paper)}.button.outline:hover{background:rgba(255,255,255,.1)}.menu-toggle{display:none}.mobile-menu[hidden]{display:none}.hero{max-width:1600px;margin:auto;padding:58px 4.5% 0;display:grid;grid-template-columns:1.1fr 1fr;column-gap:6%;position:relative}.eyebrow,.section-label{font-size:12px;letter-spacing:.13em;font-weight:600;text-transform:uppercase}.eyebrow{margin:0 0 22px;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'✳';font-size:23px;color:var(--acid);line-height:1}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:700;line-height:.91;letter-spacing:-.018em}h1{font-size:clamp(80px,9.4vw,158px);margin-bottom:28px}h1 span{color:var(--acid)}.hero-description{font-size:16px;line-height:1.8;color:#f1eaf4;max-width:470px;margin-bottom:25px}.hero-actions{display:flex;gap:30px;align-items:center}.text-link{font-size:14px;border-bottom:1px solid currentColor;padding:5px 0}.hero-note{font-size:12px;letter-spacing:.08em;margin:30px 0 0;color:#d4cbd9}.hero-note span{font-weight:700}.hero-media{padding-top:3px;transform:none;align-self:start}.film-frame{position:relative;aspect-ratio:1/1.19;background:#252031;overflow:hidden;border:0;box-shadow:0 15px 70px #0004}.film-frame video{width:100%;height:100%;object-fit:cover}.film-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(#0004,transparent 30%,#0001 55%,#000a);pointer-events:none}.film-top,.film-bottom{position:absolute;z-index:1;left:24px;right:24px;display:flex;justify-content:space-between}.film-top{top:20px;font-size:12px;letter-spacing:.09em}.film-bottom{bottom:24px;align-items:end}.film-bottom>span{font-family:var(--display);font-size:34px;line-height:.95}.video-toggle{border:1px solid #fff8;background:#0004;backdrop-filter:blur(8px);color:white;padding:10px 15px;font-size:12px;border-radius:30px;min-height:44px}.film-caption{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.1em;margin:13px 0}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:27px 0;margin-top:48px;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.08em}.motion-toggle{background:none;border:0;color:var(--muted);padding:10px 0;font-size:12px}.section{padding:90px 4.5%;max-width:1600px;margin:auto}.experience{display:grid;grid-template-columns:1fr 3fr;gap:30px}.section-label{padding-top:9px;color:var(--acid)}h2{font-size:clamp(50px,6vw,92px);margin-bottom:35px}h2 span{color:var(--acid)}.experience-text{display:grid;grid-template-columns:1fr 1fr;gap:40px;color:#e1dae6;max-width:890px}.experience-text p{margin-bottom:0}.site-footer{margin:0 4.5%;padding:45px 0 28px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr 1.5fr;align-items:center;gap:24px}.site-footer p{margin:0;font-size:14px;color:var(--muted)}.site-footer>div{display:flex;gap:25px;justify-content:flex-end;font-size:14px}.site-footer small{grid-column:1/-1;color:var(--muted);font-size:12px}.site-footer .brand img{width:85px;height:70px}
@media(min-width:1600px){.site-header,.site-footer{max-width:1456px;margin-left:auto;margin-right:auto}}
@media(max-width:900px){.site-header nav{gap:20px}.hero{gap:4%;padding-top:45px}h1{font-size:11vw}.hero-actions{gap:18px;flex-wrap:wrap}.hero-note{font-size:12px}.hero-description{font-size:15px}.film-top{left:15px;right:15px;font-size:12px}.film-bottom{left:15px;right:15px}.film-bottom>span{font-size:26px}.experience{grid-template-columns:1fr}.section{padding-top:65px;padding-bottom:65px}.section-label{margin-bottom:15px}.site-footer{grid-template-columns:1fr 2fr}.site-footer>div{grid-column:2;justify-content:flex-start}.hero-bottom>span{display:none}}
@media(max-width:600px){.site-header{height:90px;margin:0 6%;gap:18px}.site-header .brand img{width:75px;height:70px}.site-header nav{display:none}.site-header>.button{margin-left:auto;font-size:12px;padding:12px;min-height:43px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:10px 3px;background:transparent;border:0;width:32px;height:44px}.menu-toggle span{height:1px;background:var(--paper);width:26px}.mobile-menu{position:fixed;inset:90px 0 0;background:#191323f7;backdrop-filter:blur(15px);z-index:25;padding:50px 8%;display:flex;flex-direction:column;gap:24px;font-family:var(--display);font-size:50px}.hero{padding:34px 6% 0;display:flex;flex-direction:column}.eyebrow{font-size:12px;margin-bottom:24px;letter-spacing:.09em}h1{font-size:21vw;margin-bottom:23px;line-height:.9}.hero-description{font-size:15px}.hero-actions{gap:24px}.hero-actions .button{padding:16px 20px;font-size:13px}.hero-note{margin-top:24px;font-size:12px}.hero-media{width:100%;margin-top:42px;transform:none}.film-frame{aspect-ratio:1/.95}.film-top{font-size:12px}.film-bottom>span{font-size:34px}.film-caption{font-size:12px}.hero-bottom{width:100%;margin-top:30px;padding:15px 0}.section{padding:55px 6%}h2{font-size:15vw}.experience-text{grid-template-columns:1fr;gap:20px;font-size:15px}.site-footer{margin:0 6%;grid-template-columns:1fr 2fr}.site-footer p{font-size:12px}.site-footer>div{font-size:13px;gap:20px}.site-footer small{font-size:12px}}
.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);font-size:15px;max-width:300px;margin-bottom:4px}.gallery-section{background:rgba(12,10,19,.35);max-width:none}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.gallery-shot{position:relative;text-align:left;padding:0;background:none;color:var(--paper);border:0;min-width:0}.gallery-shot:nth-child(even){margin-top:50px}.gallery-shot img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:filter .3s,transform .3s}.gallery-shot:hover img{filter:saturate(1.25);transform:translateY(-6px)}.gallery-shot span{display:block;font-size:12px;letter-spacing:.08em;padding-top:13px}.gallery-end{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:45px;font-size:14px;color:var(--muted)}.type-band{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;color:var(--acid);font-family:var(--display);font-weight:600;font-size:clamp(30px,6.8vw,125px);line-height:1;white-space:nowrap;text-align:center;letter-spacing:.015em}.workshop-feature{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding-top:100px;padding-bottom:100px}.workshop-image{position:relative}.workshop-image img{width:100%;height:600px;object-fit:cover}.image-stamp{position:absolute;bottom:35px;left:-15px;background:var(--acid);color:var(--ink);padding:17px 24px;font-family:var(--display);font-size:38px;line-height:.95;transform:rotate(-5deg)}.workshop-feature-copy h2{font-size:clamp(48px,5.4vw,86px)}.workshop-feature-copy>p:not(.section-label){color:#e1dae6;max-width:450px;font-size:16px}.quick-facts{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:12px;padding:20px 0;margin-bottom:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-section{border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center;margin-top:30px}.contact-grid h2{margin-bottom:25px}.contact-grid p{color:var(--muted);font-size:15px}.contact-option{display:flex;flex-direction:column;border-top:1px solid var(--line);padding:30px 0;gap:12px}.contact-option:last-child{border-bottom:1px solid var(--line)}.contact-option>span{font-size:12px;letter-spacing:.12em;color:var(--acid)}.contact-option strong{font-size:23px;line-height:1.4;font-weight:500;transition:color .2s}.contact-option:hover strong{color:var(--acid)}.contact-option small{color:var(--muted);font-size:13px}.photo-dialog{background:#17131b;color:var(--paper);border:1px solid var(--line);padding:55px 24px 20px;max-width:min(760px,94vw);max-height:94svh;width:max-content;overflow:auto}.photo-dialog::backdrop{background:#08060be6;backdrop-filter:blur(12px)}.photo-dialog>img{height:min(65svh,800px);max-width:100%;width:auto;object-fit:contain;margin:auto}.dialog-close{position:absolute;right:20px;top:10px;color:var(--paper);background:none;border:0;padding:10px;min-height:44px;font-size:14px}.photo-toolbar{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-top:12px}.photo-toolbar button{background:none;border:1px solid var(--line);padding:10px;color:var(--paper);font-size:12px;min-height:44px}.photo-caption{font-size:13px;margin:0;text-align:center;color:var(--muted)}.workshop-intro{padding-top:70px;padding-bottom:45px}.workshop-intro h1{font-size:clamp(65px,9.6vw,155px)}.intro-bottom{display:grid;grid-template-columns:1.2fr 1fr;gap:15%;font-size:16px;color:#eee5f3;margin-top:35px}.intro-bottom strong{font-weight:500;color:var(--paper)}.intro-facts{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:27px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;margin-top:25px}.sessions{padding-top:55px}.sessions h2{font-size:clamp(48px,5vw,76px)}.session-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.session-card{background:#17131cbd;border:1px solid var(--line);display:flex;flex-direction:column}.session-photo{position:relative;overflow:hidden}.session-photo img{width:100%;height:310px;object-fit:cover}.session-photo>span{position:absolute;left:17px;bottom:17px;background:var(--acid);color:var(--ink);padding:8px 11px;font-size:12px;font-weight:600;letter-spacing:.05em}.session-details{padding:25px;display:flex;flex-direction:column;flex:1}.session-number{font-size:12px;letter-spacing:.07em;margin-bottom:15px;color:var(--muted)}.session-details h3{font-size:38px;line-height:1.02;margin-bottom:18px}.session-details>p{font-size:14px;line-height:1.8;color:#d7cedf;margin-bottom:22px}.session-meta{display:flex;flex-direction:column;font-size:12px;border-top:1px solid var(--line);padding-top:16px;margin-top:auto;color:var(--muted)}.session-price{display:flex;align-items:baseline;gap:10px;margin:20px 0}.session-price strong{font-size:27px;font-weight:500;letter-spacing:-.04em}.session-price>span{font-size:12px;color:var(--muted)}.session-details .button{width:100%}.price-note{font-size:12px;color:var(--muted);margin:22px 0 0}.studio-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--line);align-items:center}.studio-copy h2{font-size:clamp(50px,5.5vw,87px)}.studio-copy p{max-width:370px;color:var(--muted)}address{font-style:normal;font-size:15px;margin:30px 0 20px}.studio-images{display:grid;gap:18px;grid-template-columns:1fr 1fr}.studio-images img{aspect-ratio:3/4;object-fit:cover;width:100%;height:auto}.studio-images img:nth-child(2){margin-top:60px}.extras{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:30px}.extras article{border-top:1px solid var(--line);padding-top:30px}.extras h3{font-size:42px;line-height:1.1}.extras p:not(.section-label){color:var(--muted);max-width:450px}.faq-section{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;background:#100c1844}.faq-section h2{font-size:60px}.faq-list details{border-top:1px solid var(--line);padding:22px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:16px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';color:var(--acid);font-size:23px;line-height:1}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:14px;line-height:1.8;color:var(--muted);margin:20px 30px 0 0}.workshop-closing{text-align:center}.workshop-closing .motion-toggle{display:block;margin:30px auto 0}.workshop-closing h2{font-size:clamp(65px,8vw,125px)}
@media(max-width:900px){.workshop-feature{gap:6%}.workshop-image img{height:520px}.session-grid{gap:15px}.session-details{padding:18px}.session-details h3{font-size:32px}.session-photo img{height:250px}.contact-grid{gap:6%}.faq-section{grid-template-columns:1fr;gap:15px}.studio-section{gap:5%}.studio-images{gap:12px}.section-heading{margin-bottom:30px}.gallery-grid{gap:12px}.gallery-shot span{font-size:12px}}
@media(max-width:600px){.section-heading{align-items:start;flex-direction:column;gap:5px}.section-heading>p{font-size:14px}.gallery-grid{grid-template-columns:1fr 1fr;gap:28px 14px}.gallery-shot:nth-child(even){margin-top:28px}.gallery-shot span{font-size:12px}.gallery-end{flex-direction:column;align-items:start;margin-top:30px;gap:12px;font-size:13px}.type-band{text-align:left;font-size:9vw;padding:15px 0}.workshop-feature{grid-template-columns:1fr;gap:45px;padding-top:60px;padding-bottom:60px}.workshop-image img{height:440px}.image-stamp{font-size:32px;left:-10px}.workshop-feature-copy h2{font-size:15vw}.contact-grid{grid-template-columns:1fr;gap:20px}.contact-option strong{font-size:21px}.contact-grid p{font-size:14px}.photo-dialog{padding-left:12px;padding-right:12px}.photo-toolbar{gap:10px}.photo-caption{font-size:12px}.workshop-intro{padding-top:40px}.workshop-intro h1{font-size:16.7vw;line-height:.94}.intro-bottom{grid-template-columns:1fr;gap:0;margin-top:25px;font-size:15px}.intro-facts{display:grid;grid-template-columns:1fr 1fr;font-size:12px;padding:20px 0;gap:15px}.sessions h2{font-size:13vw}.session-grid{grid-template-columns:1fr;gap:30px}.session-photo img{height:340px}.session-details{padding:24px}.session-details h3{font-size:41px}.session-details>p{font-size:15px}.session-number{font-size:12px}.session-meta{font-size:12px}.price-note{font-size:12px}.studio-section{grid-template-columns:1fr;gap:35px}.studio-copy h2{font-size:15vw}.studio-images{gap:15px}.studio-images img:nth-child(2){margin-top:35px}.extras{grid-template-columns:1fr;gap:35px}.extras h3{font-size:38px}.extras p:not(.section-label){font-size:15px}.faq-section h2{font-size:14vw}.faq-list summary{font-size:15px}.workshop-closing h2{font-size:17vw}}
/* Homepage: the identity and event footage carry the introduction. */
.home-page .hero{grid-template-columns:1fr 1fr;gap:0 8%;padding-top:48px;align-items:center}
.home-page .hero-copy{padding:0 0 10px}
.hero-wordmark{margin:0 0 20px;line-height:1}
.hero-wordmark img{width:360px;height:auto;max-width:85%;filter:drop-shadow(0 8px 20px #0001)}
.home-page .hero-description{max-width:480px;font-size:17px;line-height:1.7;margin:0 0 28px}
.home-page .hero-media{transform:none;padding-top:10px}
.home-page .film-frame{aspect-ratio:1/1.16}
.home-page .film-frame:after{background:linear-gradient(transparent 75%,#0006)}
.home-page .film-bottom{align-items:center;bottom:18px;left:18px;right:18px}
.watch-film{background:rgba(12,10,16,.45);border:1px solid #fff7;color:var(--paper);border-radius:30px;padding:10px 18px;min-height:44px;font-size:12px;backdrop-filter:blur(10px)}
.watch-film:hover,.video-toggle:hover{background:rgba(12,10,16,.75)}
.home-page .hero-bottom{justify-content:space-between;margin-top:50px;font-size:12px;padding:22px 0}
.home-page .hero-bottom>a{letter-spacing:0}
.home-page .gallery-section{background:transparent;padding-top:52px;padding-bottom:80px}
.home-page .section-heading{align-items:center;margin-bottom:40px}
.home-page .section-heading h2{font-size:32px;letter-spacing:.005em}
.home-page .gallery-grid{gap:25px;padding:8px 0}
.home-page .gallery-shot{transition:transform .25s}
.home-page .gallery-shot:nth-child(1){transform:rotate(-2deg)}
.home-page .gallery-shot:nth-child(2){transform:rotate(1deg);margin-top:40px}
.home-page .gallery-shot:nth-child(3){transform:rotate(-1deg)}
.home-page .gallery-shot:nth-child(4){transform:rotate(2deg);margin-top:40px}
.home-page .gallery-shot img{border:1px solid #fff3;box-shadow:0 12px 25px #0002}
.home-page .gallery-shot:hover{transform:rotate(0) translateY(-5px)}
.home-page .gallery-shot:hover img{transform:none}
.home-page .workshop-feature{border-top:1px solid var(--line);padding-top:75px;padding-bottom:75px;gap:10%}
.home-page .workshop-image{transform:rotate(-1.5deg)}
.home-page .workshop-image img{height:520px;border:1px solid #fff3}
.home-page .workshop-feature-copy h2{font-size:clamp(50px,6vw,92px);line-height:.96}
.home-page .workshop-feature-copy>p{margin-bottom:30px}
.home-page .contact-grid{margin-top:0;align-items:start}
.home-page .contact-grid h2{font-size:clamp(55px,7vw,110px)}
.home-page .contact-option{padding:25px 0;gap:7px}
.site-footer{grid-template-columns:1fr 1fr}
.site-footer>div{grid-column:2}
.film-dialog{padding:48px 12px 12px;background:#100e16;color:var(--paper);border:1px solid var(--line);width:min(820px,95vw);max-height:96svh;overflow:auto}
.film-dialog::backdrop{background:#08060bed;backdrop-filter:blur(16px)}
.film-dialog video{display:block;width:100%;max-height:80svh;background:black;object-fit:contain}
@media(max-width:900px){.hero-wordmark img{width:310px}.home-page .hero-description{font-size:15px}.home-page .hero{gap:0 6%}.home-page .workshop-feature-copy h2{font-size:6vw}.home-page .workshop-image img{height:460px}}
@media(max-width:600px){.home-page .hero{padding-top:24px;gap:0}.home-page .hero-copy{width:100%}.hero-wordmark{margin-bottom:10px}.hero-wordmark img{width:240px;max-width:72%;margin:0 auto 6px}.home-page .hero-description{font-size:15px;line-height:1.75;margin-bottom:24px}.home-page .hero-actions{gap:24px}.home-page .hero-media{margin-top:36px;padding-top:0}.home-page .film-frame{aspect-ratio:1/1.05}.home-page .hero-bottom{margin-top:35px;padding:14px 0}.home-page .gallery-section{padding-top:35px;padding-bottom:48px}.home-page .section-heading{flex-direction:row;align-items:center;gap:20px;margin-bottom:25px}.home-page .section-heading h2{font-size:28px}.home-page .section-heading .text-link{font-size:12px}.home-page .gallery-grid{gap:20px 16px}.home-page .gallery-shot:nth-child(even){margin-top:22px}.home-page .workshop-feature{padding-top:55px;padding-bottom:55px;gap:40px}.home-page .workshop-image img{height:430px}.home-page .workshop-feature-copy h2{font-size:16vw}.home-page .contact-grid h2{font-size:20vw}.home-page .contact-grid{gap:18px}.site-footer>div{justify-content:flex-end}}
/* A quieter homepage: one introduction, footage, and photographs. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.header-socials{display:flex;align-items:center;gap:8px}
.social-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;transition:color .2s,transform .2s}
.social-icon svg{width:23px;height:23px}
.social-icon:hover{color:var(--acid);transform:translateY(-2px)}
.home-page .hero-description{max-width:380px;font-size:17px;margin-bottom:30px}
.home-page .gallery-section{padding-top:110px;padding-bottom:95px}
.icon-control{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0}
.icon-control svg{width:22px;height:22px}
.video-toggle[data-paused="true"] .pause-icon,.video-toggle[data-paused="false"] .play-icon{display:none}
.minimal-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 0;margin-top:0}
.minimal-footer .contact-link{font-size:17px}
.minimal-footer .contact-link span{margin-left:8px}
.minimal-footer .contact-link:hover{color:var(--acid)}
.minimal-footer small{margin-left:auto}
.minimal-footer .motion-toggle{min-height:44px}
@media(max-width:600px){
  .site-header{gap:12px}
  .header-socials{margin-left:auto;gap:4px}
  .home-page .hero-description{font-size:15px;max-width:330px;line-height:1.75;margin-bottom:24px}
  .home-page .gallery-section{padding-top:70px;padding-bottom:60px}
  .minimal-footer{display:grid;grid-template-columns:1fr auto;gap:15px;padding:25px 0}
  .minimal-footer small{grid-column:1;grid-row:2;margin:0}
  .minimal-footer .motion-toggle{grid-column:2;grid-row:1/3}
}
/* Continuous gallery; native scrolling remains available on touch screens. */
.home-page .gallery-section{max-width:1600px;padding:100px 0 45px;overflow:hidden}
.gallery-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;scroll-behavior:auto;padding:25px 0 30px}
.gallery-viewport::-webkit-scrollbar{display:none}
.gallery-track{display:flex;width:max-content}
.home-page .gallery-grid{display:flex;align-items:flex-start;flex:none;gap:28px;padding:0 28px 0 0}
.home-page .gallery-shot{flex:0 0 clamp(230px,27vw,400px);width:clamp(230px,27vw,400px);margin:0;touch-action:pan-x pan-y;cursor:zoom-in}
.home-page .gallery-shot:nth-child(even){margin-top:35px}
.home-page .gallery-shot img{aspect-ratio:3/4;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.gallery-controls{display:flex;justify-content:flex-end;gap:6px;margin:10px 4.5% 0}
.gallery-controls[hidden]{display:none}
.gallery-control{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;color:var(--paper);border:1px solid var(--line);border-radius:50%;background:#15101d30;transition:background .2s,color .2s}
.gallery-control:hover{background:#15101d90;color:var(--acid)}
.gallery-control svg{width:20px;height:20px}
.gallery-toggle[aria-pressed="false"] .play-icon,.gallery-toggle[aria-pressed="true"] .pause-icon{display:none}
@media(max-width:600px){
  .home-page .gallery-section{padding-top:65px;padding-bottom:30px}
  .home-page .gallery-grid{gap:22px;padding-right:22px}
  .home-page .gallery-shot{flex-basis:68vw;width:68vw}
  .home-page .gallery-shot:nth-child(even){margin-top:25px}
  .gallery-controls{margin-right:6%}
}
/* Complete Studio: transparent pills, one continuous gallery, and a taller film. */
.button,.button.outline{border-radius:999px;border:1px solid #fff;background:transparent;color:#fff;padding:17px 30px;font-weight:500}
.button:hover,.button.outline:hover{background:#ffffff14;transform:none}
.button:disabled{opacity:.5;cursor:wait}
.home-page .hero{grid-template-columns:1fr 1fr;gap:0 7%;padding-top:48px}
.hero-wordmark{margin-bottom:20px}
.hero-wordmark img{width:520px;max-width:100%;margin-left:-20px}
.home-page .hero-description{max-width:500px;font-size:16px;line-height:1.8;margin-bottom:28px}
.home-page .hero-description p{margin-bottom:18px}
.home-page .hero-description p:last-child{margin-bottom:0}
.home-page .film-frame{aspect-ratio:9/16;border-radius:38px}
.home-page .film-bottom{justify-content:flex-end;bottom:20px;right:20px}
.sound-toggle{width:54px;border:1px solid #ffffffb3;border-radius:999px;background:#0003;color:#fff;backdrop-filter:blur(8px)}
.sound-toggle:hover{background:#0006}
.sound-toggle[aria-pressed="false"] .sound-on,.sound-toggle[aria-pressed="true"] .sound-off{display:none}
.home-page .gallery-section{padding-top:100px}
.gallery-viewport{padding:0}
.home-page .gallery-grid{gap:0;padding:0;align-items:stretch}
.home-page .gallery-shot,.home-page .gallery-shot:nth-child(n),.home-page .gallery-shot:hover{margin:0;transform:none;transition:none}
.home-page .gallery-shot img,.home-page .gallery-shot:hover img{border:0;border-radius:0;box-shadow:none;transform:none;filter:none}
.home-page .gallery-shot:focus-visible{outline-offset:-5px;z-index:1}
.gallery-controls{margin-top:20px}
.gallery-control{width:54px;border-radius:999px;background:transparent;border-color:#ffffff80}
.gallery-control:hover{color:#fff;background:#ffffff14}
.session-card{border-radius:28px;overflow:hidden}
.session-photo>span{border-radius:999px}
.photo-dialog{border-radius:28px}
.photo-toolbar button,.dialog-close{border-radius:999px}
.contact-form-section{border-top:1px solid var(--line);padding-top:70px;padding-bottom:75px}
.contact-form-section h2{text-align:center;font-family:var(--body);font-size:26px;font-weight:500;letter-spacing:-.02em;line-height:1.3;margin-bottom:32px;text-transform:none}
.contact-form{max-width:600px;margin-inline:auto}
.contact-form .form-trap{display:none}
.contact-fields{display:grid;grid-template-columns:1fr;gap:20px}
.contact-form input,.contact-form textarea{width:100%;min-width:0;border:1px solid #ffffffbd;background:transparent;color:#fff;font:inherit;font-size:15px;outline-offset:4px;box-shadow:none}
.contact-form input{height:58px;border-radius:999px;padding:0 25px}
.contact-form textarea{min-height:150px;resize:vertical;border-radius:34px;padding:21px 25px;margin-top:20px;display:block}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#f7f5eed9;opacity:1}
.contact-submit-row{display:flex;gap:30px;justify-content:center;align-items:center;margin-top:22px}
.contact-submit-row .button{min-width:160px}
.minimal-footer small{margin-left:0}
@media(max-width:900px){
  .hero-wordmark img{width:440px;margin-left:-12px}
  .home-page .hero-description{font-size:15px;line-height:1.7}
  .home-page .hero{gap:0 5%}
  .home-page .hero-media{align-self:center}
}
@media(max-width:600px){
  .home-page .hero{padding-top:22px}
  .hero-wordmark img{width:350px;max-width:100%;margin:0 auto 15px}
  .home-page .hero-description{max-width:none;font-size:15px;line-height:1.75}
  .home-page .hero-actions .button{padding:16px 27px;font-size:14px}
  .home-page .film-frame{aspect-ratio:9/16;border-radius:30px}
  .home-page .gallery-section{padding-top:65px}
  .home-page .gallery-grid{gap:0;padding:0}
  .home-page .gallery-shot:nth-child(n){margin-top:0}
  .contact-form-section{padding-top:45px;padding-bottom:45px}
  .contact-form-section h2{font-size:24px;margin-bottom:25px}
  .contact-fields{grid-template-columns:1fr;gap:16px}
  .contact-form textarea{margin-top:16px;border-radius:30px}
  .contact-submit-row{align-items:center;justify-content:center;flex-direction:row;gap:18px}
  .contact-submit-row .button{align-self:center;min-width:145px}
  .minimal-footer small{grid-row:1}
  .minimal-footer .motion-toggle{grid-row:1}
}
/* Mobile opens on the event film, with the introduction crossing its faded edge. */
@media(max-width:600px){
  .home-page .site-header{position:absolute;top:0;left:0;right:0;height:80px;border-bottom:0}
  .home-page .mobile-menu{inset:80px 0 0}
  .home-page .hero{--intro-overlap:clamp(280px,44svh,370px);padding:0;gap:0;isolation:isolate}
  .home-page .hero-media{order:-1;align-self:stretch;width:100%;margin:0;padding:0;transform:none}
  .home-page .film-frame{height:100svh;min-height:580px;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;background:transparent}
  .home-page .film-frame video{height:100%;width:100%;object-fit:cover;object-position:center;mask-image:linear-gradient(to bottom,#000 0%,#000 58%,#000c 70%,#0005 84%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 58%,#000c 70%,#0005 84%,transparent 100%)}
  .home-page .film-frame:after{background:linear-gradient(to bottom,#0009,transparent 27%)}
  .home-page .film-bottom{top:94px;bottom:auto;left:auto;right:6%}
  .home-page .sound-toggle{background:#0008}
  .home-page .hero-copy{position:relative;z-index:2;width:100%;margin-top:calc(-1 * var(--intro-overlap));padding:0 6%}
  .home-page .hero-wordmark{margin:0 0 10px}
  .home-page .hero-wordmark img{width:min(300px,78vw);max-width:100%;margin:0 auto;filter:drop-shadow(0 3px 18px #0005)}
  .home-page .hero-description{line-height:1.8;text-shadow:0 1px 12px #0005}
  .home-page .hero-actions{margin-top:6px}
}
/* The opening composition stays within the desktop viewport. */
.site-header{border-bottom:0}
@media(min-width:601px){
  .home-page .site-header{height:92px}
  .home-page .hero{--film-height:min(820px,calc(100svh - 128px));max-width:1240px;min-height:calc(100svh - 92px);padding:10px 4.5% 26px;grid-template-columns:minmax(0,1fr) auto;gap:0 clamp(36px,6vw,90px);align-items:center}
  .home-page .hero-copy{width:100%;max-width:520px;justify-self:center;padding:0;text-align:center}
  .home-page .hero-wordmark{margin:0 0 14px;line-height:1}
  .home-page .hero-wordmark img{height:clamp(180px,33svh,300px);width:auto;max-width:100%;object-fit:contain;margin:0 auto;filter:none}
  .home-page .hero-description{max-width:520px;font-size:15px;line-height:1.7;margin:0 auto 24px}
  .home-page .hero-description p{margin-bottom:18px}
  .home-page .hero-description p:last-child{margin-bottom:0}
  .home-page .hero-actions{justify-content:center;gap:0}
  .home-page .hero-actions .button{min-height:50px;padding:15px 28px}
  .home-page .hero-media{height:var(--film-height);width:auto;aspect-ratio:9/16;align-self:center;padding:0;margin:0;transform:none}
  .home-page .film-frame{height:100%;width:100%;aspect-ratio:auto;border-radius:32px}
  .home-page .gallery-section{padding-top:52px}
}
@media(min-width:601px) and (max-height:740px){
  .home-page .site-header{height:80px}
  .home-page .hero{--film-height:calc(100svh - 112px);min-height:calc(100svh - 80px);padding-top:8px;padding-bottom:24px}
  .home-page .hero-wordmark{margin-bottom:10px}
  .home-page .hero-wordmark img{height:clamp(115px,29svh,215px)}
  .home-page .hero-description{font-size:14px;line-height:1.65;margin-bottom:18px}
  .home-page .hero-description p{margin-bottom:13px}
}
@media(min-width:601px) and (max-width:900px){
  .home-page .hero{gap:0 28px}
  .home-page .hero-copy{max-width:440px}
  .home-page .hero-media{max-width:36vw}
  .home-page .hero-description{font-size:14px;line-height:1.65}
  .home-page .hero-wordmark img{max-height:210px}
}
/* On phones the film leads directly into the story, with only essential controls. */
@media(max-width:600px){
  .home-page .hero{--intro-overlap:clamp(80px,12svh,110px)}
  .home-page .hero-wordmark{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
  .home-page .hero-actions{width:100%;justify-content:center}
  .home-page .contact-submit-row{flex-direction:row;justify-content:center;align-items:center;gap:0}
  .home-page .contact-submit-row .button{align-self:auto}
  .home-page .gallery-controls{display:none}
  .home-page .sound-toggle,.home-page .sound-toggle:hover{width:44px;border:0;border-radius:0;background:none;backdrop-filter:none;box-shadow:none}
  .home-page .sound-toggle svg{width:24px;height:24px;filter:drop-shadow(0 1px 4px #000b)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Workshop booking: compare every option before opening the live calendar. */
.workshop-booking{display:none;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:28px 8%;max-width:1320px;padding-top:35px;padding-bottom:75px;align-items:start;scroll-margin-top:0}
.workshop-heading{grid-column:1;grid-row:1}
.workshop-location{font-size:12px;letter-spacing:.08em;margin-bottom:18px;color:#f5eaf5}
.workshop-heading h1{font-size:clamp(66px,7.4vw,106px);line-height:.92;margin-bottom:22px}
.workshop-lede{font-size:15px;line-height:1.65;margin-bottom:20px;color:#f4edf6}
.workshop-facts{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;font-size:12px;color:#eee6f2}
.workshop-facts li+li:before{content:'·';margin-right:18px;color:#fff8}
.workshop-booker{grid-column:2;grid-row:1/3;align-self:center;padding:30px;border:1px solid #ffffff30;border-radius:32px;background:#19132370;box-shadow:0 20px 60px #0001}
.workshop-booker[hidden]{display:none}
.session-picker{margin:0;padding:0;border:0;min-width:0}
.session-picker legend{font-size:20px;font-weight:500;letter-spacing:-.025em;margin-bottom:20px;padding:0}
.session-option{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) auto 17px;align-items:center;gap:12px;margin-bottom:10px;padding:14px;border:1px solid #ffffff45;border-radius:22px;cursor:pointer;background:#ffffff03;transition:background .18s,border-color .18s;min-width:0}
.session-option:last-child{margin-bottom:0}
.session-option:hover{background:#ffffff0c;border-color:#ffffffa0}
.session-option:has(input:checked){border-color:#fff;background:#ffffff11}
.session-option:has(input:focus-visible){outline:3px solid var(--acid);outline-offset:4px}
.session-option input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.session-option img{width:56px;height:64px;object-fit:cover;border-radius:13px}
.option-name,.option-price{display:flex;flex-direction:column;gap:5px;line-height:1.3}
.option-name strong{font-size:15px;font-weight:600;letter-spacing:-.025em}
.option-name>span{font-size:11px;color:#dfd3e7}
.option-price{text-align:right;white-space:nowrap}
.option-price strong{font-size:19px;font-weight:500;letter-spacing:-.035em}
.option-price>span{font-size:10px;color:#dfd3e7}
.option-indicator{border:1px solid #ffffff75;width:17px;height:17px;border-radius:50%;display:grid;place-items:center}
input:checked~.option-indicator{border-color:white}
input:checked~.option-indicator:after{content:'';width:7px;height:7px;border-radius:50%;background:white}
.booking-fees{font-size:11px;color:#e8deef;margin:12px 0 0;text-align:right}
.session-selection{margin:24px 0 18px;min-height:44px;display:flex;align-items:center}
.session-selection p{font-size:13px;line-height:1.6;margin:0;color:#eee6f3;max-width:350px}
#booking-primary{width:100%;gap:14px;min-height:56px;font-size:15px}
#booking-primary>span,.booking-dock .button>span{font-size:19px;line-height:1}
.booking-next{font-size:11px;line-height:1.5;text-align:center;margin:13px 0 0;color:#ded1e6}
.booking-fallback{display:grid;gap:15px;grid-column:2;grid-row:1/3}
.booking-fallback h2{font-size:40px}
.booking-fallback p{font-size:12px}
.booking-dock{display:none}
.workshop-mobile{display:none}
@media(max-width:700px){
  .workshop-desktop{display:none}
  .workshop-mobile{display:inline}
  .workshops-page #main{display:flex;flex-direction:column}
  .workshops-page #main>.section{width:100%}
  .workshops-page .studio-section{order:1}
  .workshops-page .faq-section{order:2}
  .workshops-page .extras{order:3}
  .workshops-page .workshop-closing{order:4}
.workshops-page .studio-section,.workshops-page .faq-section,.workshops-page .extras{max-width:1320px}
.workshops-page .studio-section{padding-top:65px;padding-bottom:65px}
.workshops-page .studio-copy h2{font-size:60px;margin-bottom:22px}
.workshops-page .studio-images img{aspect-ratio:4/5;border-radius:20px}
.workshops-page .studio-images img:nth-child(2){margin-top:0}
.workshops-page .extras{padding-top:55px;padding-bottom:0}
.workshops-page .extras h3{font-size:32px;margin-bottom:14px}
.workshops-page .extras p{font-size:14px}
.workshops-page .faq-section h2{font-size:52px}
.workshops-page .workshop-closing{padding:55px 6% 35px}

  .workshops-page .site-header{height:80px}
  .workshops-page .mobile-menu{inset:80px 0 0}
  .workshop-booking{display:flex;flex-direction:column;gap:0;padding:16px 6% 45px}
  .workshop-heading,.workshop-booker{width:100%}
  .workshop-location{font-size:11px;margin-bottom:14px;letter-spacing:.045em}
  .workshop-heading h1{font-size:clamp(50px,14.5vw,82px);line-height:.92;margin-bottom:16px}
  .workshop-lede{font-size:13px;line-height:1.6;margin-bottom:14px}
  .workshop-lede br{display:none}
  .workshop-facts{gap:6px 12px;font-size:10px}
  .workshop-facts li+li:before{margin-right:12px}
  .workshop-booker{padding:25px 0 0;border:0;background:transparent;border-radius:0;box-shadow:none}
  .session-picker legend{font-size:16px;margin-bottom:13px}
  .session-option{grid-template-columns:48px minmax(0,1fr) auto 16px;gap:10px;padding:11px;border-radius:20px;margin-bottom:8px;background:#17112124}
  .session-option img{width:48px;height:55px;border-radius:12px}
  .option-name strong{font-size:14px}
  .option-name>span{font-size:10px}
  .option-price strong{font-size:18px}
  .option-price>span{font-size:10px}
  .option-indicator{width:16px;height:16px}
  .booking-fees{margin-top:9px;font-size:10px}
  .session-selection{margin:15px 0 16px;min-height:38px}
  .session-selection p{font-size:12px;max-width:340px;line-height:1.6}
  #booking-primary{min-height:54px;font-size:14px;padding:16px 22px}
  .booking-next{font-size:10px;margin-top:10px}
  .workshops-page .studio-section{padding-top:40px;padding-bottom:45px;gap:24px}
  .workshops-page .studio-copy h2{font-size:44px;margin-bottom:17px}
  .workshops-page .studio-copy p{font-size:14px;margin-bottom:18px}
  .workshops-page address{font-size:14px;margin:20px 0 15px}
  .workshops-page .studio-images{gap:12px}
  .workshops-page .studio-images img{border-radius:16px;aspect-ratio:1/1.15}
  .workshops-page .faq-section{padding-top:40px;padding-bottom:40px;gap:12px}
  .workshops-page .faq-section h2{font-size:42px;margin-bottom:10px}
  .workshops-page .faq-list details{padding:19px 0}
  .workshops-page .faq-list summary{font-size:14px}
  .workshops-page .extras{padding-top:35px;gap:30px}
  .workshops-page .extras h3{font-size:29px}
  .workshops-page .site-footer{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
  .booking-dock:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:14px;position:fixed;left:0;right:0;bottom:0;padding:14px 6% calc(14px + env(safe-area-inset-bottom,0px));background:#19121eee;backdrop-filter:blur(18px);border-top:1px solid #ffffff28;z-index:20}
  .menu-open .booking-dock{display:none}
  .dock-selection{display:flex;flex-direction:column;gap:3px;line-height:1.4;min-height:44px;justify-content:center}
  .dock-selection>span{font-size:11px;color:#e7dbea}
  .dock-selection>strong{font-size:18px;font-weight:500;letter-spacing:-.02em}
  .dock-selection small{font-size:10px;font-weight:400;color:#e7dbea}
  .booking-dock .button{font-size:12px;padding:13px 19px;min-height:48px;gap:9px;white-space:nowrap}
}
@media(max-width:360px){
  .session-option{grid-template-columns:40px minmax(0,1fr) auto 14px;gap:8px;padding:10px}
  .session-option img{width:40px;height:52px}
  .option-name strong{font-size:13px}.option-name>span{font-size:9px}
  .option-price strong{font-size:16px}.option-price>span{font-size:9px}
  .workshop-facts{gap:6px 8px}.workshop-facts li+li:before{margin-right:8px}
}

/* A shorter desktop introduction brings workshop choices into view sooner. */
@media(min-width:701px){
  .workshops-page .workshop-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;padding-top:26px;padding-bottom:24px}
  .workshops-page .workshop-intro .eyebrow{margin-bottom:16px}
  .workshops-page .workshop-intro h1{font-size:clamp(64px,6.6vw,104px);line-height:.94;margin-bottom:0}
  .workshops-page .intro-bottom{display:block;max-width:420px;justify-self:end;margin:0;font-size:15px;line-height:1.7}
  .workshops-page .intro-bottom p{margin-bottom:16px}
  .workshops-page .intro-bottom p:last-child{margin-bottom:0}
  .workshops-page .sessions{padding-top:20px}
  .workshops-page .sessions .section-heading{margin-bottom:26px}
  .workshops-page .sessions h2{font-size:clamp(42px,4.2vw,60px)}
  .workshops-page .extras{grid-template-columns:1fr}
}

/* Supplied vector artwork: a clean home mark and the workshop invitation. */
.site-header .brand{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;flex:none}
.site-header .brand img{width:86px;height:auto;aspect-ratio:1143.08/755.2}
.home-page .workshop-art-link{display:block;width:min(350px,100%);margin:22px auto;line-height:0;border-radius:999px;transition:filter .2s,transform .2s}
.home-page .workshop-art-link img{width:100%;height:auto}
.home-page .workshop-art-link:hover{filter:brightness(1.12);transform:translateY(-2px)}
.home-page .hero-description .event-description{margin-bottom:0}
.home-page .hero-description .workshop-description{margin-bottom:0}
@media(min-width:601px){
  .home-page .hero-description{margin-bottom:0}
}
@media(min-width:601px) and (max-height:740px){
  .home-page .workshop-art-link{width:min(310px,100%);margin:15px auto}
}
@media(max-width:600px){
  .site-header .brand img{width:72px;height:auto}
  .home-page .hero{--intro-overlap:clamp(160px,23svh,210px)}
  .home-page .hero-description{display:flex;flex-direction:column;margin-bottom:0}
  .home-page .workshop-art-link{order:-1;width:min(350px,100%);margin:0 auto 26px;filter:drop-shadow(0 3px 12px #10081755)}
  .home-page .hero-description .event-description{margin-bottom:18px}
}

/* Complete Studio signs the footer; spacing separates page sections. */
.site-footer,.studio-section,.extras article,.faq-list details,.faq-list details:last-child,.contact-form-section,.session-meta{border-top:0;border-bottom:0}
.booking-dock:not([hidden]){border-top:0}
.footer-brand{display:inline-flex;align-items:center;justify-self:start}
.footer-brand img{width:128px;height:auto}
.minimal-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.minimal-footer .footer-brand{grid-column:1;grid-row:1}
.minimal-footer small{grid-column:2;grid-row:1;margin:0}
.minimal-footer .motion-toggle{grid-column:3;grid-row:1;justify-self:end}
@media(max-width:600px){
  .footer-brand img{width:112px}
  .minimal-footer{grid-template-columns:1fr auto;gap:14px 20px}
  .minimal-footer .footer-brand{grid-column:1;grid-row:1}
  .minimal-footer small{grid-column:1;grid-row:2}
  .minimal-footer .motion-toggle{grid-column:2;grid-row:1/3}
}

/* Studio photographs open at full size; the Complete mark is centered. */
.workshops-page .studio-section{grid-template-columns:.9fr 1.3fr;gap:6%}
.workshops-page .studio-images{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.studio-shot{display:block;min-width:0;padding:0;border:0;border-radius:18px;background:transparent;overflow:hidden;cursor:zoom-in}
.workshops-page .studio-images .studio-shot img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin:0;border-radius:0;transition:transform .25s}
.studio-shot:hover img{transform:scale(1.035)}
.studio-shot:focus-visible{outline-offset:4px}
.site-footer{grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.site-footer .footer-brand{grid-column:2;grid-row:1;justify-self:center}
.site-footer .footer-brand img{width:150px;height:auto}
.site-footer small{grid-column:1;grid-row:1;justify-self:start;margin:0}
.site-footer>div{grid-column:3;grid-row:1;justify-content:flex-end}
.site-footer .motion-toggle{grid-column:3;grid-row:1;justify-self:end}
@media(max-width:1100px){
  .workshops-page .studio-images{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .workshops-page .studio-section{grid-template-columns:1fr;gap:26px}
  .workshops-page .studio-images{gap:12px}
  .studio-shot{border-radius:16px}
}
@media(max-width:600px){
  .site-footer{grid-template-columns:1fr 1fr;gap:20px}
  .site-footer .footer-brand{grid-column:1/-1;grid-row:1;justify-self:center}
  .site-footer .footer-brand img{width:132px}
  .site-footer small{grid-column:1;grid-row:2}
  .site-footer>div,.site-footer .motion-toggle{grid-column:2;grid-row:2}
}

/* Participant artwork uses matching portrait tiles in the scrolling gallery. */
.workshops-page .artwork-gallery{--art-height:clamp(310px,30vw,430px);max-width:none;padding:25px 0 65px;overflow:hidden}
.artwork-heading{max-width:1600px;margin:0 auto 30px;padding:0 4.5%}
.artwork-heading h2{font-size:clamp(42px,4.2vw,60px);margin:0}
.artwork-gallery .gallery-grid{display:flex;flex:none;align-items:stretch;gap:0;padding:0}
.artwork-gallery .gallery-shot,.artwork-gallery .gallery-shot:nth-child(n){flex:none;width:calc(var(--art-height) * .75);height:var(--art-height);margin:0;cursor:zoom-in;touch-action:pan-x pan-y}
.artwork-gallery .gallery-shot img,.artwork-gallery .gallery-shot:hover img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;object-position:center;border:0;transform:none;filter:none;user-select:none;-webkit-user-drag:none}
.artwork-gallery .gallery-shot:focus-visible{outline-offset:-5px;z-index:1}
@media(max-width:700px){
  .workshops-page .artwork-gallery{--art-height:340px;order:1;padding:5px 0 35px}
  .artwork-heading{padding:0 6%;margin-bottom:24px}
  .artwork-heading h2{font-size:42px}
  .workshops-page .studio-section{order:2}
  .workshops-page .faq-section{order:3}
  .workshops-page .extras{order:4}
  .workshops-page .workshop-closing{order:5}
}

/* Keep the workshop group in view in the booking photo crop. */
.session-photo .group-booking-photo,.session-option .group-booking-photo{object-position:50% 65%}

/* Frame the couple and their artwork below the studio ceiling. */
.session-photo .couple-booking-photo,.session-option .couple-booking-photo{object-position:50% 75%}

/* Two touching rows, scaled to keep the galleries compact on phones. */
.home-page #gallery,.workshops-page .artwork-gallery{--gallery-row-height:clamp(240px,23vw,320px)}
.workshops-page .artwork-gallery{--art-height:var(--gallery-row-height)}
.gallery-row{padding:0}
.gallery-row+.gallery-row{margin-top:0}
.home-page #gallery .gallery-shot{flex:0 0 calc(var(--gallery-row-height) * .75);width:calc(var(--gallery-row-height) * .75);height:var(--gallery-row-height)}
.home-page #gallery .gallery-shot img{width:100%;height:100%;aspect-ratio:3/4}
@media(max-width:700px){
  .home-page #gallery,.workshops-page .artwork-gallery{--gallery-row-height:220px}
}

/* About page and animated paint background. */
.about-uniform{width:88%;max-width:780px;margin:0 auto;padding:58px 0 76px}
.about-section+.about-section{margin-top:64px}
.about-uniform h1,.about-uniform h2{line-height:1;letter-spacing:-.015em;margin:0 0 24px;text-align:left}
.about-uniform h1{font-size:clamp(52px,6.8vw,78px);margin-bottom:32px}
.about-uniform h2{font-size:42px}
.about-uniform p{font-size:16px;line-height:1.85;color:#f1eaf4;margin:0 0 20px;text-wrap:pretty}
.about-uniform p:last-child{margin-bottom:0}
.about-uniform .button{margin-top:4px;min-width:180px}
.about-photo-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:32px}
.about-photo-row img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:18px}
.about-studio-image{margin:32px 0 0}
.about-studio-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:18px}
.about-copy-link{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ffffff70}
.about-copy-link:hover{text-decoration-color:currentColor}
@media(max-width:600px){
 .about-uniform{padding-top:32px;padding-bottom:56px}
 .about-section+.about-section{margin-top:48px}
 .about-uniform h1{font-size:clamp(46px,12vw,62px);margin-bottom:26px}
 .about-uniform h2{font-size:36px;margin-bottom:22px}
 .about-uniform p{font-size:15px;line-height:1.8}
 .about-photo-row{gap:6px;margin-top:26px}
 .about-photo-row img{border-radius:10px}
 .about-studio-image{margin-top:26px}
}
body{background:#0b1b40}
#spray-background{background:radial-gradient(ellipse at 20% 65%,#192e68,transparent 65%),radial-gradient(ellipse at 75% 40%,#57154e,transparent 65%),#0b1b40}
