@font-face{font-family:'Plus Jakarta Sans';src:url('assets/plus-jakarta-sans.ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/montserrat-700.ttf');font-weight:700;font-display:swap}@font-face{font-family:Montserrat;src:url('assets/montserrat-800.ttf');font-weight:800;font-display:swap}@font-face{font-family:Roboto;src:url('assets/roboto-400.ttf');font-weight:400;font-display:swap}@font-face{font-family:Roboto;src:url('assets/roboto-600.ttf');font-weight:600;font-display:swap}
:root{--paper:#f4f4f4;--ink:#191919;--muted:#454545;--line:#cececb;scroll-behavior:smooth;scroll-padding-top:24px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Plus Jakarta Sans',Arial,sans-serif;color:#272727;font-size:18px;line-height:1.5}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}button{font:inherit;color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}.skip{position:fixed;top:-100px;left:20px;z-index:10;background:var(--ink);color:var(--paper);padding:12px}.skip:focus{top:12px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:44px 5.5% 0;font-size:14px}.header-right{display:flex;align-items:center;gap:28px}.location{display:flex;align-items:center;gap:8px}.languages{display:flex;gap:7px;align-items:center}.languages button{border:0;background:none;padding:8px 0;cursor:pointer;font-size:14px}.languages button[aria-pressed=false]{opacity:.5}.masthead{position:relative;padding:70px 0 0}.masthead h1{font-weight:800;line-height:.9;font-size:17.2vw;letter-spacing:-.065em;white-space:nowrap;text-align:center}.intro-copy{max-width:350px;margin:38px auto 0;text-align:center;font-size:17px;line-height:1.4}.masthead:after{content:'';position:absolute;right:0;bottom:24px;width:16%;height:35px;background:var(--ink)}.contact-strip{display:grid;grid-template-columns:.65fr 1.3fr 1.4fr .8fr;gap:24px;padding:62px 5.5% 0;font-size:14px;align-items:start}.strip-item{display:flex;align-items:center;gap:10px}.strip-item svg,.location svg{width:16px;height:16px;flex-shrink:0}.strip-item:last-child{justify-content:flex-end}.email-group .strip-item{white-space:nowrap}.whatsapp-contact{display:flex;align-items:center;gap:9px;margin-top:0;font-size:14px}.whatsapp-contact svg{width:16px;height:16px;flex-shrink:0}.whatsapp-name{display:block}.whatsapp-status{display:block;color:var(--muted);font-size:12px}.section{padding:0 5.5%}.story{display:grid;grid-template-columns:44% 56%;position:relative;align-items:center;margin-top:115px}.story-copy{padding:24px 12% 24px 5%;max-width:650px}.story h2,.statement h2{font-size:clamp(46px,5.2vw,92px);font-weight:800;letter-spacing:-.045em;line-height:.96}.story p{font-size:17px;line-height:1.45;margin-top:24px;max-width:390px}.story figure{aspect-ratio:1.22;overflow:hidden}.story:not(.reverse) figure{aspect-ratio:2048/871}.story:before{content:'';position:absolute;left:0;bottom:9%;width:4.5%;height:35px;background:var(--ink)}.story.reverse{margin-top:120px}.story.reverse figure{aspect-ratio:1.45}.story.reverse .story-copy{max-width:none;padding:24px 15% 24px 6%}.story.reverse:before{left:auto;right:0;bottom:28%;width:4.5%;height:125px}.photo-triptych{display:grid;grid-template-columns:1.7fr 1fr 1.2fr;gap:0;margin:80px 0 0}.photo-triptych figure{height:clamp(240px,26vw,450px);overflow:hidden}.photo-triptych img{transition:transform .6s ease}.photo-triptych figure:hover img{transform:scale(1.025)}.statement{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:140px;padding-bottom:100px}.statement>div>p{font-size:20px;line-height:1.6;max-width:590px}.statement>div>p+p{margin-top:20px}.statement h2{font-size:clamp(45px,5vw,86px)}.text-link{font-size:16px;text-decoration:underline;text-underline-offset:6px;display:inline-block;margin-top:24px}.eyebrow{font-size:14px;letter-spacing:.05em;margin-bottom:22px}.collage{display:grid;grid-template-columns:1.1fr 1fr 1.1fr;align-items:stretch;gap:0;padding:0 0 90px}.collage figure{height:clamp(280px,32vw,560px);overflow:hidden}.collage img{height:100%}.collage figcaption{font-size:13px;line-height:1.4;margin-top:10px;color:var(--muted)}.archive-link{display:flex;justify-content:flex-end;padding:0 5.5% 100px}.services{padding-top:30px;padding-bottom:95px}.services h2,.reel h2,.awards h2{font-size:clamp(40px,4.8vw,80px);font-weight:800;letter-spacing:-.045em;line-height:1.03}.service-row{display:grid;grid-template-columns:55px 1fr 1fr;gap:24px;border-top:1px solid var(--line);padding:25px 0}.service-list{margin-top:36px}.service-row>span{color:var(--muted);font-size:14px}.service-row h3{font-size:25px;font-weight:600;line-height:1.2}.service-row p{font-size:17px;line-height:1.5;color:var(--muted);max-width:460px}.awards{border-top:1px solid var(--line);padding-top:85px;padding-bottom:80px}.award-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:end;margin-bottom:42px}.award-heading>p{font-size:17px;max-width:350px;color:var(--accent)}.award-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.award-highlights strong{font-size:clamp(65px,7vw,120px);font-weight:800;letter-spacing:-.055em;line-height:1}.award-highlights h3{font-size:23px;font-weight:600;margin-top:15px}.award-highlights p{font-size:16px;color:var(--muted);margin-top:6px}.awards details{margin-top:42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.awards summary{font-size:17px;cursor:pointer}.awards ul{list-style:none;padding:10px 0 0;margin:0}.awards li{display:grid;grid-template-columns:1fr 2fr;gap:28px;padding:15px 0;border-top:1px solid var(--line);font-size:16px}.reel{padding-top:85px;padding-bottom:100px;border-top:1px solid var(--line)}.section-head{margin-bottom:40px}.video-wrap{position:relative;aspect-ratio:16/9;background:#101010}.video-wrap iframe{position:absolute;inset:0;border:0;width:100%;height:100%}.contact{border-top:1px solid var(--line);padding-top:90px;padding-bottom:80px;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end}.contact h2{font-size:clamp(48px,7vw,110px);font-weight:800;letter-spacing:-.05em;line-height:1}.contact p{font-size:18px;margin-top:20px;max-width:400px}.contact .email{display:inline-block;font-size:clamp(25px,3.2vw,50px);letter-spacing:-.025em;line-height:1.2;border-bottom:2px solid currentColor;padding-bottom:5px}.contact-socials{display:flex;gap:25px;margin-top:26px;font-size:16px}footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;border-top:1px solid var(--line);padding:26px 5.5%;font-size:13px;color:var(--muted)}.page-nav{display:flex;gap:22px}.mini-icon{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;background:var(--ink);color:var(--paper);border-radius:50%;font-size:11px;flex-shrink:0}
@media(min-width:1900px){.story h2{font-size:6vw}}
@media(max-width:1000px){.contact-strip{grid-template-columns:1fr 1.5fr;gap:25px}.strip-item:last-child{justify-content:flex-start}.story-copy{padding-right:9%}.story h2{font-size:5.6vw}.story.reverse .story-copy{padding-right:11%}.story p{font-size:16px}.statement{gap:6%}.statement>div>p{font-size:18px}}
@media(max-width:650px){body{font-size:17px}.site-header{padding:26px 6% 0;align-items:flex-start;gap:16px;font-size:13px}.header-right{gap:14px;flex-wrap:wrap;justify-content:flex-end}.location{font-size:12px;gap:5px}.languages button{font-size:13px;padding:0;min-height:32px}.masthead{padding-top:58px}.masthead h1{font-size:17.2vw;letter-spacing:-.065em;line-height:1}.intro-copy{font-size:16px;max-width:270px;margin-top:28px}.masthead:after{width:10%;height:22px;bottom:-27px}.contact-strip{padding:55px 6% 0;grid-template-columns:1fr 1.25fr;gap:24px 16px;font-size:13px}.strip-item{gap:7px;align-items:flex-start}.strip-item:last-child{font-size:12px}.whatsapp-contact{font-size:12px;gap:6px}.whatsapp-status{font-size:12px}.story,.story.reverse{grid-template-columns:1fr;margin-top:75px}.story-copy{padding:0 6% 30px;max-width:none}.story h2,.story.reverse h2{font-size:clamp(40px,10.5vw,64px)}.story p{font-size:16px;margin-top:18px;max-width:360px}.story figure{aspect-ratio:1.2;margin-left:6%}.story:before{bottom:55%;height:25px;width:3%}.story.reverse figure{aspect-ratio:1.3;margin:0 6% 0 0}.story.reverse .story-copy{padding:32px 6% 0}.story.reverse:before{bottom:21%;height:75px;width:3%}.photo-triptych{grid-template-columns:1fr 1fr;gap:0;margin:45px 0 0}.photo-triptych figure{height:220px}.photo-triptych figure:first-child{grid-column:1/-1;height:230px}.section{padding-left:6%;padding-right:6%}.statement{grid-template-columns:1fr;padding-top:85px;padding-bottom:55px;gap:28px}.statement h2{font-size:44px}.statement>div>p{font-size:18px}.collage{padding:0 0 35px;grid-template-columns:1fr 1fr;gap:0}.collage figure{height:230px}.collage figure:nth-child(3){grid-column:1/-1;height:240px}.archive-link{padding:0 6% 75px}.services{padding-top:0;padding-bottom:65px}.service-row{grid-template-columns:25px 1fr;gap:12px;padding:22px 0}.service-row h3{font-size:24px}.service-row p{grid-column:2;font-size:16px}.services h2,.awards h2,.reel h2{font-size:42px}.awards{padding-top:65px;padding-bottom:65px}.award-heading{grid-template-columns:1fr;gap:20px;margin-bottom:35px}.award-highlights{gap:25px;grid-template-columns:1fr}.award-highlights strong{font-size:85px}.awards li{grid-template-columns:1fr;gap:8px;font-size:15px}.reel{padding-top:65px;padding-bottom:65px}.section-head{margin-bottom:25px}.video-wrap{margin:0 -6.82%}.contact{padding-top:65px;padding-bottom:60px;grid-template-columns:1fr;gap:30px}.contact h2{font-size:56px}.contact .email{font-size:34px}.contact p{font-size:17px}.contact-socials{font-size:16px}footer{padding:25px 6%;font-size:13px}footer>span{width:100%}.page-nav{gap:18px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.photo-triptych img{transition:none}}

@media(max-width:380px){.contact-strip{grid-template-columns:1fr;gap:18px}.contact-strip .strip-item:last-child{font-size:14px}}.site-header{flex-wrap:wrap}.page-nav{font-size:14px}

h1,.award-highlights strong{font-family:Montserrat,Arial,sans-serif;color:var(--ink)}h2,h3{font-family:'Plus Jakarta Sans',Arial,sans-serif;font-weight:800;color:var(--ink)}.story p{font-size:16px}.statement>div>p{font-size:18px}.service-row h3,.award-highlights h3{font-weight:800}.contact-strip .strip-item:last-child{font-size:inherit}.contact-strip>a:nth-child(2){white-space:nowrap}

/* Keep the introduction copy clear of the decorative edge bar. */
.story:not(.reverse)::before{content:none}

.statement{grid-template-columns:45% 1fr;align-items:center}.about-photo{aspect-ratio:4/5;overflow:hidden}.about-photo img{object-position:90% center}.statement>div>p.eyebrow{font-size:14px;line-height:1.5;margin-top:0;margin-bottom:22px}.statement>div>p.eyebrow+p{margin-top:0}@media(max-width:650px){.statement{grid-template-columns:1fr}}

.about-photo{aspect-ratio:auto;overflow:visible}.about-photo-frame{aspect-ratio:4/5;overflow:hidden}.about-photo-frame img{object-position:50% center;transform:scale(2.1);transform-origin:50% 20%}.about-photo figcaption{margin-top:10px;font-size:12px;line-height:1.4;color:var(--muted)}

.contact-strip{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:20px}.contact-strip>a,.contact-strip>.whatsapp-contact{flex:0 0 auto;white-space:nowrap}.contact-strip .whatsapp-contact p{display:flex;align-items:baseline;gap:8px}.contact-strip .whatsapp-name,.contact-strip .whatsapp-status{display:inline}@media(max-width:760px){.contact-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.contact-strip .strip-item,.contact-strip .whatsapp-contact{display:flex;justify-content:center;align-items:center;min-height:44px;margin:0}.contact-strip svg{width:22px;height:22px}.contact-strip .contact-label,.contact-strip .whatsapp-contact p{display:none}}

.collage{padding-bottom:120px}@media(max-width:650px){.collage{padding-bottom:75px}}
/* Cherry accents on the homepage only. */
.home-page{--cherry:#d31637}.home-page .cherry-gradient,.home-page .contact h2{background:linear-gradient(90deg,#191919 0%,#711326 48%,var(--cherry) 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.home-page .masthead:after{background:var(--cherry)}.home-page .contact-strip svg{color:var(--cherry)}.home-page #about .about-heading{font-size:clamp(46px,5.2vw,92px);font-weight:800;letter-spacing:-.045em;line-height:.96;margin-bottom:28px}.home-page #about .text-link,.home-page #awards>.text-link,.home-page #showreel .eyebrow{color:var(--cherry)}.home-page .service-row:nth-child(1) h3{color:#191919}.home-page .service-row:nth-child(2) h3{color:#381922}.home-page .service-row:nth-child(3) h3{color:#571826}.home-page .service-row:nth-child(4) h3{color:#76182b}.home-page .service-row:nth-child(5) h3{color:#951730}.home-page .service-row:nth-child(6) h3{color:#b41734}.home-page .service-row:nth-child(7) h3{color:var(--cherry)}.home-page .contact h2{display:inline-block}.home-page .awards summary{list-style:none;display:flex;align-items:center;gap:12px}.home-page .awards summary::-webkit-details-marker{display:none}.home-page .awards summary:after{content:'';width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);flex-shrink:0;margin-top:-4px}.home-page .awards details[open]>summary:after{transform:rotate(225deg);margin-top:4px}.home-page .awards .nomination-details{margin-top:16px;padding:0;border:0}.home-page .nomination-details summary{font-size:17px}.home-page .nomination-details ul{padding-top:16px}.home-page .nomination-details li{grid-template-columns:46px minmax(0,1fr);gap:14px}.home-page .nomination-details li strong{font-family:'Plus Jakarta Sans',Arial,sans-serif;font-size:17px;letter-spacing:normal;line-height:1.4}.home-page .nomination-details li p{font-size:15px;line-height:1.5;margin-top:7px}@media(max-width:650px){.home-page #about .about-heading{font-size:clamp(40px,10.5vw,64px)}}@media(forced-colors:active){.home-page .cherry-gradient,.home-page .contact h2{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}}
/* Selected burgundy and refined homepage recognition layout. */
.home-page{--cherry:#800e24}.home-page .service-row h3{color:var(--ink)}.home-page .service-row>span{color:var(--cherry)}.home-page #showreel .eyebrow{color:var(--ink)}.home-page footer>a:last-child{color:var(--cherry)}.home-page .award-highlights .award-years{margin-top:8px}.home-page .award-highlights .award-medals{margin-top:2px}.home-page .awards .awarded-details{border:0;padding:0;margin-top:38px}.home-page .awarded-details>summary{padding:0 0 18px}.home-page .awarded-details>ul{padding-top:4px}.home-page .awarded-details li{grid-template-columns:1fr 2fr;padding:22px 0;align-items:start}.home-page .awarded-details .award-meta{display:flex;flex-direction:column;gap:7px;font-size:16px;line-height:1.5}.home-page .award-meta .award-year{font-weight:400;color:var(--muted)}.home-page .awarded-details .award-description h3{font-size:19px;line-height:1.4;font-weight:700;margin:0}.home-page .awarded-details .award-description p{font-size:16px;line-height:1.5;color:var(--muted);margin-top:8px}.home-page .contact h2{background-image:linear-gradient(90deg,#191919 0%,#4f1523 48%,var(--cherry) 100%)}@media(max-width:650px){.home-page .awarded-details li{grid-template-columns:1fr;gap:14px}.home-page .awarded-details .award-meta{flex-direction:row;gap:12px;flex-wrap:wrap}.home-page .awarded-details .award-description h3{font-size:18px}}
.home-page .service-row:nth-child(n) h3{color:var(--ink)}

/* Event titles sit discreetly on the photographs. */
.home-page .event-photo{position:relative;isolation:isolate}.home-page .event-photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.48));pointer-events:none;z-index:1}.home-page .event-photo .event-caption{position:absolute;left:20px;right:16px;bottom:17px;margin:0;color:#fff;font-size:12px;font-weight:500;line-height:1.45;letter-spacing:.035em;text-shadow:0 1px 5px rgba(0,0,0,.6);z-index:2;pointer-events:none}.home-page .idea-gradient{display:inline-block;background-image:linear-gradient(90deg,#191919 0%,#4f1523 48%,var(--cherry) 100%)}
a:hover,a:focus-visible{color:#800e24!important}.home-page summary:hover{color:var(--cherry)}
@media(max-width:650px){.home-page .masthead:after{content:none}.home-page .masthead h1{position:relative}.home-page .masthead h1:after{content:'';position:absolute;right:0;top:calc(100% + 8px);width:10%;height:12px;background:var(--cherry)}.home-page .intro-copy{margin-top:36px}.home-page .event-photo .event-caption{left:14px;right:12px;bottom:12px;font-size:12px}}

/* A final photographic journey from stage to backstage. */
.home-page .closing-gallery{padding:0;margin:0;overflow:hidden}.closing-gallery-row{display:flex;gap:0;align-items:stretch}.closing-gallery-photo{position:relative;flex:1 1 0;min-width:0;height:clamp(260px,29vw,430px);overflow:hidden;isolation:isolate}.closing-gallery-photo.portrait{flex:0 0 20%}.closing-gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.closing-gallery-photo:hover img{transform:scale(1.025)}.closing-gallery-photo figcaption{position:absolute;left:18px;right:14px;bottom:15px;color:#fff;font-size:12px;line-height:1.4;letter-spacing:.03em;text-shadow:0 1px 5px #000;z-index:2}.closing-gallery-photo:has(figcaption):after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.5));pointer-events:none}.closing-gallery-photo img[src$="gallery-08.webp"]{object-position:center 56%}.closing-gallery-photo img[src$="gallery-36.webp"]{object-position:center 42%}
@media(max-width:760px){.closing-gallery-row{display:grid;grid-template-columns:1fr 1fr}.closing-gallery-photo{height:220px}.closing-gallery-photo:first-child{grid-column:1/-1;height:250px}.closing-gallery-photo.portrait{height:300px}.closing-gallery-photo.portrait:first-child{grid-column:auto;height:300px}.closing-gallery-row:has(.portrait:first-child) .closing-gallery-photo:last-child{grid-column:1/-1;height:250px}.closing-gallery-row:has(.portrait:nth-child(2)) .closing-gallery-photo:last-child{height:300px}.closing-gallery-photo figcaption{left:12px;bottom:12px}.closing-gallery-photo img{transition:none}}
@media(prefers-reduced-motion:reduce){.closing-gallery-photo img{transition:none}}

.closing-gallery-role-band{margin:0;overflow:hidden}.closing-gallery-role-band img{display:block;width:100%;height:auto;object-fit:contain}

/* Cinematic reel and alternating gallery bands. */
.home-page .reel{background:#101010;color:#f4f4f4;padding-left:0;padding-right:0;padding-bottom:0;border:0}.home-page .reel .section-head{padding:0 5.5%;margin-bottom:40px}.home-page .reel .eyebrow,.home-page .reel h2{color:#f4f4f4}.home-page .reel .video-wrap{width:100%;background:#000}
.home-page .reverse-gradient{background-image:linear-gradient(100deg,var(--cherry) 5%,var(--ink) 95%)}
.home-page .photo-triptych img[src*="mustamae-27"]{object-position:left center}
.home-page .closing-gallery-row.gallery-wide{display:block}.home-page .gallery-wide .closing-gallery-photo{width:100%;height:auto;aspect-ratio:2.15}.home-page .gallery-wide img{object-position:center}.home-page .gallery-wide img[src*="gallery-31"]{object-fit:contain;background:#000}.home-page .closing-gallery-row:not(.gallery-wide):nth-of-type(3n) .landscape:first-child{flex:1.5 1 0}.home-page .closing-gallery-row:not(.gallery-wide):nth-of-type(3n + 1) .landscape:last-child{flex:1.4 1 0}
@media(max-width:760px){.home-page .gallery-wide .closing-gallery-photo{height:auto;aspect-ratio:1.5}.home-page .gallery-wide:has(img[src*="gallery-31"]) .closing-gallery-photo{aspect-ratio:1.5}.home-page .photo-triptych img[src*="mustamae-27"]{object-position:0% center}}

.home-page #showreel .eyebrow{color:#f4f4f4}

/* Final crop adjustments keep the subjects inside the original photographs. */
.home-page .reel{padding-bottom:clamp(40px,5vw,80px)}
.home-page .gallery-wide:has(img[src*="gallery-29"]) .closing-gallery-photo{aspect-ratio:1.5}
.home-page .closing-gallery-photo:has(img[src*="gallery-34"]){height:auto;align-self:stretch;background:var(--paper)}
.home-page .closing-gallery-photo img[src*="gallery-34"]{object-fit:contain;object-position:center}
.home-page .closing-gallery-photo img[src*="gallery-11"]{object-position:center bottom}
@media(max-width:760px){.home-page .closing-gallery-photo:has(img[src*="gallery-34"]){height:auto;aspect-ratio:1.775}.home-page .reel{padding-bottom:40px}}

/* Music and poetry continue the portfolio between the reel and contact. */
.home-page .listen-read{padding-top:75px;padding-bottom:75px;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.listen-read h2{font-size:clamp(38px,4.8vw,72px);font-weight:800;letter-spacing:-.05em;line-height:1.05}.listen-read-content{display:grid;gap:35px}.listen-read h3{font-size:18px;font-weight:600;margin-bottom:16px}.listening-links,.reading-links{display:flex;flex-wrap:wrap;gap:20px 30px;font-size:16px}.listening-links a,.reading-links a{display:inline-flex;align-items:center;gap:10px}.listen-read svg{width:24px;height:24px;color:var(--cherry);flex-shrink:0}.closing-gallery-controls{display:none}
@media(max-width:760px){.home-page .listen-read{grid-template-columns:1fr;gap:32px;padding-top:45px;padding-bottom:45px}.home-page .listen-read-content{gap:30px}
.home-page .closing-gallery{display:flex;flex-wrap:nowrap;gap:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scrollbar-width:none;padding:0;margin:0}.home-page .closing-gallery::-webkit-scrollbar{display:none}.home-page .closing-gallery .closing-gallery-row{display:contents}.home-page .closing-gallery .closing-gallery-photo,.home-page .closing-gallery .closing-gallery-role-band{flex:0 0 100%;width:100%;min-width:100%;height:clamp(280px,105vw,480px);aspect-ratio:auto;scroll-snap-align:start;scroll-snap-stop:always;margin:0;align-self:auto;background:#101010}.home-page .closing-gallery .closing-gallery-photo img,.home-page .closing-gallery .closing-gallery-role-band img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none}.home-page .closing-gallery-controls{display:flex;justify-content:center;align-items:center;gap:22px;padding:12px 6% 20px;font-size:13px}.closing-gallery-controls button{width:42px;height:42px;padding:0;background:none;border:0;font-size:24px;color:var(--cherry);cursor:pointer}.closing-gallery-controls button:disabled{opacity:.3;cursor:default}.home-page .closing-gallery:focus-visible{outline:2px solid var(--cherry);outline-offset:-2px}}

@media(max-width:760px){.home-page .closing-gallery .closing-gallery-photo,.home-page .closing-gallery .closing-gallery-role-band{height:clamp(280px,105vw,480px)!important;aspect-ratio:auto!important}}

.home-page .location .location-globe{width:18px;height:18px;color:var(--cherry)}
/* Keep the three listening and reading links level with the section title. */
.home-page .listen-read{grid-template-columns:max-content minmax(0,1fr);gap:clamp(28px,4vw,70px);align-items:center}
.home-page .listen-read-content{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:18px 28px}
.home-page .listen-read-content .listening-links{flex-wrap:nowrap;gap:28px}
@media(max-width:900px){.home-page .listen-read{grid-template-columns:1fr;gap:24px}.home-page .listen-read-content{justify-content:flex-start}}
/* Match the rehearsal photo's proportions without blank filler. */
@media(min-width:761px){.home-page .closing-gallery-row:has(img[src*="gallery-34"]){display:grid;grid-template-columns:.32fr 1fr;aspect-ratio:2.343;align-items:stretch}.home-page .closing-gallery-row:has(img[src*="gallery-34"]) .closing-gallery-photo{height:100%;width:100%;aspect-ratio:auto;background:#101010;align-self:stretch;min-height:0}.home-page .closing-gallery-row:has(img[src*="gallery-34"]) img{object-fit:cover;object-position:center}.home-page .closing-gallery-row.gallery-choir .closing-gallery-photo{height:auto;aspect-ratio:1.5}.home-page .gallery-choir img{object-fit:contain;object-position:center;background:#101010}}
@media(max-width:760px){.home-page .closing-gallery .closing-gallery-photo,.home-page .closing-gallery .closing-gallery-role-band,.home-page .closing-gallery .closing-gallery-photo img,.home-page .closing-gallery .closing-gallery-role-band img{background:#101010!important}.home-page .closing-gallery img{object-fit:contain!important;object-position:center!important}}

/* Centered introduction and a left arrow with the original 35px shaft. */
.home-page .masthead:after{content:none}.home-page .masthead-intro{position:relative;margin-top:38px;min-height:70px;display:flex;align-items:center;justify-content:center}.home-page .masthead-intro .intro-copy{margin:0 auto;text-align:center}.home-page .masthead-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);width:16%;min-width:90px;height:70px;background:var(--cherry);clip-path:polygon(0 50%,35px 0,35px 25%,100% 25%,100% 75%,35px 75%,35px 100%)}
@media(max-width:650px){.home-page .masthead-intro{display:block;min-height:0;margin-top:36px}.home-page .masthead-arrow{display:none}.home-page .masthead h1:after{height:24px;clip-path:polygon(0 50%,12px 0,12px 25%,100% 25%,100% 75%,12px 75%,12px 100%)}}

/* Restore the original rectangular burgundy accent. */
.home-page .masthead-arrow{height:35px;clip-path:none}.home-page .masthead-intro{min-height:70px}@media(max-width:650px){.home-page .masthead-intro{min-height:0}.home-page .masthead h1:after{height:12px;clip-path:none}}

/* The full-width reel needs no compensating margins on mobile. */
.home-page .reel .video-wrap{margin:0;width:100%;max-width:100%;left:auto;transform:none}.home-page .reel .video-wrap iframe{left:0;right:0;max-width:100%}.languages [data-language-toggle]{opacity:1;white-space:nowrap}

/* Separate the portfolio call-to-action from contact icons. */
.home-page .contact-strip .work-text-link{font-size:16px;font-weight:700;text-decoration:underline;text-underline-offset:6px;white-space:nowrap;align-self:center}.home-page .contact-strip .work-text-link:hover,.home-page .contact-strip .work-text-link:focus-visible{color:var(--cherry)}
@media(max-width:760px){.home-page .contact-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 12px}.home-page .contact-strip .work-text-link{grid-column:1/-1;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:16px}.home-page .contact-strip .strip-item,.home-page .contact-strip .whatsapp-contact{min-height:52px}}

/* Four clear links on a single phone row. */
@media(max-width:760px){.home-page .contact-strip{display:grid;grid-template-columns:minmax(125px,1.7fr) repeat(3,minmax(38px,1fr));gap:4px;padding-left:4%;padding-right:4%;align-items:center}.home-page .contact-strip .work-text-link{grid-column:auto;font-size:clamp(12px,3.3vw,15px);justify-content:flex-start;white-space:nowrap;min-height:48px}.home-page .contact-strip .strip-item,.home-page .contact-strip .whatsapp-contact{min-width:0;min-height:48px}}

/* Appearance control shared by the home page, selected work and book reader. */
.theme-switcher{position:relative;flex:0 0 auto;z-index:30}
.theme-trigger{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;height:44px;padding:0 2px;border:0;background:transparent;cursor:pointer;color:var(--ink)}
.theme-trigger svg{width:22px;height:22px}
.theme-label{font-size:14px;line-height:1;white-space:nowrap}
.theme-trigger:hover,.theme-trigger:focus-visible{color:var(--theme-accent,#800e24)}
.theme-menu{position:absolute;right:0;top:calc(100% + 6px);display:grid;gap:2px;min-width:155px;padding:7px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 30px rgba(0,0,0,.18);z-index:40}
.theme-menu[hidden]{display:none}
.theme-menu button{position:relative;display:block;width:100%;padding:9px 26px 9px 11px;border:0;background:transparent;text-align:left;cursor:pointer;font-size:14px;color:var(--ink)}
.theme-menu button:hover,.theme-menu button:focus-visible{background:var(--theme-hover,#e9e7e5)}
.theme-menu button[aria-pressed="true"]{color:var(--theme-accent,#800e24);font-weight:700}
.theme-menu button[aria-pressed="true"]:after{content:'✓';position:absolute;right:9px}
:root[data-theme="dark"]{--paper:#121416;--ink:#f2f0ec;--muted:#bcb9b7;--line:#3e4144;--theme-accent:#ff3b30;--theme-hover:#282b2e;color-scheme:dark}
:root[data-theme="light"]{color-scheme:light}
:root[data-theme="dark"] body{color:var(--ink)}
:root[data-theme="dark"] .home-page{--cherry:#ff3b30}
:root[data-theme="dark"] .cv-page{--cv-accent:#ff3b30}
:root[data-theme="dark"] .home-page .cherry-gradient,
:root[data-theme="dark"] .home-page .contact h2{background-image:linear-gradient(90deg,var(--ink) 0%,#ee5a50 48%,var(--cherry) 100%)}
:root[data-theme="dark"] .home-page .idea-gradient{background-image:linear-gradient(90deg,var(--ink) 0%,#ee5a50 48%,var(--cherry) 100%)}
:root[data-theme="dark"] .home-page .reverse-gradient{background-image:linear-gradient(100deg,var(--cherry) 5%,var(--ink) 95%)}
:root[data-theme="dark"] .home-page .reel{background:#08090b}
:root[data-theme="dark"] a:hover,:root[data-theme="dark"] a:focus-visible{color:var(--theme-accent)!important}
@media(max-width:650px){
 .home-page .header-right{display:grid;grid-template-columns:auto 44px;gap:0 8px;justify-items:end}
 .home-page .site-header{align-items:center;flex-wrap:nowrap;gap:8px}
 .home-page .site-header>p{flex:1;min-width:0;font-size:clamp(11px,3vw,13px);line-height:1.25}
 .home-page .header-right{display:flex;flex-wrap:nowrap;align-items:center;gap:4px}
 .home-page .header-right .location{display:none}
 .home-page .header-right .languages button{font-size:12px;white-space:nowrap}
 .home-page .header-right .languages{grid-column:1;grid-row:2}
 .home-page .header-right .theme-switcher{grid-column:2;grid-row:2}
 .cv-page .header-right{display:grid;grid-template-columns:auto 44px;gap:0 8px;justify-items:end}
 .cv-page .header-right>div:first-child{grid-column:1/-1}
 .cv-page .header-right .languages{grid-column:1;grid-row:2}
 .cv-page .header-right .theme-switcher{grid-column:2;grid-row:2}
}

/* Shared navigation across the home page, work and journal. */
.site-header .header-brand{min-width:0;flex:1 1 0}
.site-header .site-nav{display:flex;align-items:center;justify-content:center;gap:24px;white-space:nowrap;font-size:14px}
.site-header .site-nav a[aria-current="page"]{color:var(--theme-accent,#800e24);font-weight:700}
.site-header .site-nav a:hover,.site-header .site-nav a:focus-visible{color:var(--theme-accent,#800e24)}
.site-header .header-controls{display:flex;flex:1 1 0;align-items:center;justify-content:flex-end;gap:22px;white-space:nowrap}
.site-header .header-controls .languages{display:flex}
@media(max-width:900px){
 .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;flex-wrap:nowrap;padding:24px 6% 0}
 .site-header .header-brand{grid-column:1;grid-row:1;line-height:1.25;font-size:clamp(11px,3vw,14px)}
 .site-header .header-controls{grid-column:2;grid-row:1;gap:4px}
 .site-header .header-controls .location{display:none}
 .site-header .header-controls .languages button{font-size:12px;white-space:nowrap}
 .site-header .theme-label{display:none}
 .site-header .theme-trigger{width:44px;padding:0}
 .site-header .site-nav{grid-column:1/-1;grid-row:2;justify-content:flex-end;gap:18px;width:100%;padding:12px 0 0;border-top:1px solid var(--line);font-size:13px}
}
