.inner-page .brand-name{font-family:'Inter Tight',Arial,sans-serif;font-size:23px;letter-spacing:-.055em;display:block}.inner-page .site-header a[aria-current=page]{color:#fff}.page-wrap{width:min(1120px,calc(100% - 100px));margin:0 auto}.page-label{font-size:12px;line-height:1.5;color:#b7b4b0;font-weight:400}.about-opening{padding-top:168px}.intro-layout{display:grid;grid-template-columns:180px minmax(0,590px);gap:clamp(65px,11vw,160px);align-items:start;margin-top:64px}.intro-portrait{width:165px;aspect-ratio:4/5;object-fit:cover}.intro-statement{font-family:'Inter Tight',Arial,sans-serif;font-size:clamp(28px,3.1vw,44px);line-height:1.19;letter-spacing:-.025em;max-width:620px}.bio-prose{font-size:14px;line-height:1.8;color:#b7b4b0;margin-top:38px;max-width:535px}.bio-prose p+p{margin-top:20px}.quiet-link{font-size:12px;display:inline-block;margin-top:24px;color:#dedbd6;min-height:32px}.partners-section{padding-top:110px;display:grid;grid-template-columns:180px 1fr;gap:clamp(65px,11vw,160px)}.partners-section h2{font-size:11px;color:var(--muted);line-height:1.5}.partners-strip{display:flex;flex-wrap:wrap;gap:18px 30px;font-size:14px;align-items:center}.personal-section{padding-top:150px}.personal-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:35px;row-gap:75px;margin-top:70px;align-items:start}.personal-photo{margin:0}.personal-photo:nth-child(1){grid-column:2/span 5}.personal-photo:nth-child(2){grid-column:9/span 4;margin-top:100px}.personal-photo:nth-child(3){grid-column:1/span 4;margin-top:10px}.personal-photo:nth-child(4){grid-column:7/span 4;margin-top:110px}.personal-photo:nth-child(5){grid-column:2/span 5;margin-top:30px}.personal-photo:nth-child(6){grid-column:9/span 4;margin-top:110px}.personal-photo img{width:100%;height:auto;max-height:440px;object-fit:contain}.personal-photo a{display:block;cursor:zoom-in}.experience-section{display:grid;grid-template-columns:180px 1fr;gap:clamp(65px,11vw,160px);padding-top:150px}.experience-entry{margin-bottom:35px}.timeline-date{font-size:10px;color:var(--muted);margin-bottom:9px}.timeline-title{font-size:19px;letter-spacing:-.02em}.timeline-company{font-size:12px;margin-top:5px;color:#ccc8c3}.timeline-desc{font-size:12px;line-height:1.7;color:var(--muted);max-width:490px;margin-top:11px}.favourites-section{padding-top:100px}.media-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:42px 24px;margin-top:48px;align-items:start}.media-poster{width:100%;aspect-ratio:2/3;object-fit:contain;object-position:bottom;background:#000}.media-title{font-size:12px;line-height:1.35;margin-top:13px}.media-meta{font-size:10px;color:var(--muted);line-height:1.5;margin-top:6px}.books-grid .media-poster{padding:8% 6% 0;object-fit:contain}.inner-heading{padding-top:167px;padding-bottom:75px}.inner-heading h1{font-family:'Inter Tight',Arial,sans-serif;font-size:43px;letter-spacing:-.045em}.recent-page .recent{padding-top:0;padding-bottom:0;max-width:1120px}.recent-page .recent-entry{grid-template-columns:150px 1fr;gap:70px;margin-bottom:130px}.recent-page .recent-content h3{font-family:'Inter Tight',Arial,sans-serif;font-size:33px}.recent-page .recent-description{font-size:14px;max-width:520px}.recent-page .recent-feature-image{max-width:640px;margin-top:30px}.recent-page .event-gallery{margin-top:38px;gap:24px;max-width:850px}.recent-page .news-date{padding-top:3px}.recent-page .event-gallery img,.recent-page .event-gallery video{aspect-ratio:3/4;object-fit:cover}.event-photo{display:block;cursor:zoom-in}.recent-page .event-gallery>*:nth-child(2){margin-top:65px}.recent-page .event-gallery>*:nth-child(3){margin-top:25px}.page-footer{width:min(1120px,calc(100% - 100px));margin:140px auto 0;padding:0 0 38px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.page-footer>a:first-child{color:#dedbd6}.page-footer>div{display:flex;gap:24px}.contact-opening{padding-top:170px;min-height:calc(100svh - 130px)}.contact-composition{display:grid;grid-template-columns:34% 1fr;gap:14%;align-items:center;margin-top:100px}.contact-composition figure{margin:0;transform:rotate(-3deg)}.contact-composition img{aspect-ratio:16/10;object-fit:cover}.contact-composition figcaption{font-size:10px;color:var(--muted);margin-top:12px}.email-main{font-family:'Inter Tight',Arial,sans-serif;font-size:clamp(25px,3.4vw,48px);letter-spacing:-.04em}.contact-details>p{font-size:12px;color:var(--muted);margin-top:24px}.contact-socials{display:flex;gap:30px;font-size:12px;margin-top:45px}.contact-page .page-footer{margin-top:40px}.film-page-content{padding-top:160px}.film-page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px;gap:25px}.film-page-heading h1{font-family:'Inter Tight',Arial,sans-serif;font-size:clamp(35px,4.5vw,65px);letter-spacing:-.04em;margin-top:14px}.film-page-heading .quiet-link{color:var(--muted);font-size:11px}.film-screen{position:relative}.project-player{width:100%;aspect-ratio:16/9;object-fit:contain;background:#000}.film-start{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:18px 26px;background:#000a;color:#fff;font-size:13px;backdrop-filter:blur(6px)}.film-start[hidden]{display:none}.project-notes{display:grid;grid-template-columns:1fr 220px;gap:60px;margin-top:38px}.project-description{font-size:14px;color:#b7b4b0;line-height:1.8;max-width:590px}.project-role{font-size:11px;color:var(--muted);line-height:1.7;text-align:right}.next-project{padding-top:130px;display:flex;justify-content:flex-end}.next-project>a{display:block;width:32%}.next-project span{display:block;font-size:10px;color:var(--muted);margin-bottom:16px}.next-project img{aspect-ratio:16/9;object-fit:cover}.next-project h2{font-size:16px;letter-spacing:-.02em;margin-top:16px}.video-fallback{margin-top:15px;font-size:12px;color:#b7b4b0}#photo-dialog{width:min(1100px,calc(100% - 36px));height:94dvh;padding:55px 20px 30px;background:#000}#photo-dialog::backdrop{background:#000e}#photo-full{width:100%;height:calc(100% - 40px);object-fit:contain}#photo-caption{text-align:center;font-size:12px;color:#b7b4b0;margin-top:18px}.photo-close{position:absolute;top:12px;right:20px;padding:8px;font-size:12px}.inner-page [hidden]{display:none!important}
@media(max-width:900px){.page-wrap,.page-footer{width:calc(100% - 64px)}.intro-layout{grid-template-columns:135px 1fr;gap:55px}.intro-portrait{width:135px}.partners-section,.experience-section{grid-template-columns:135px 1fr;gap:55px}.intro-statement{font-size:32px}.media-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 22px}.recent-page .recent-entry{grid-template-columns:80px 1fr;gap:35px}.project-notes{grid-template-columns:1fr 170px;gap:30px}}
@media(max-width:600px){.page-wrap,.page-footer{width:calc(100% - 44px)}.inner-page .brand-name{font-size:22px}.about-opening{padding-top:145px}.intro-layout{grid-template-columns:1fr;gap:32px;margin-top:32px}.intro-portrait{width:105px}.intro-statement{font-size:30px;line-height:1.22}.bio-prose{font-size:13px;line-height:1.8;margin-top:28px}.partners-section,.experience-section{display:block;padding-top:80px}.partners-strip{margin-top:26px;gap:20px 25px;font-size:13px}.personal-section{padding-top:85px}.personal-gallery{grid-template-columns:repeat(6,minmax(0,1fr));gap:40px 18px;margin-top:38px}.personal-photo:nth-child(odd){grid-column:1/span 5;margin-top:0}.personal-photo:nth-child(even){grid-column:3/span 4;margin-top:0}.personal-photo img{max-height:350px}.experience-list{margin-top:30px}.experience-entry{margin-bottom:32px}.favourites-section{padding-top:65px}.media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 16px;margin-top:32px}.media-title{font-size:10px}.media-meta{font-size:9px}.inner-heading{padding-top:145px;padding-bottom:50px}.inner-heading h1{font-size:34px}.recent-page .recent-entry{display:block;margin-bottom:80px}.recent-page .news-date{margin-bottom:18px}.recent-page .recent-content h3{font-size:28px}.recent-page .recent-description{font-size:13px}.recent-page .event-gallery{gap:9px;margin-top:28px}.recent-page .event-gallery>*:nth-child(2){margin-top:30px}.recent-page .event-gallery>*:nth-child(3){margin-top:12px}.page-footer{margin-top:85px;font-size:10px;gap:25px}.page-footer>a:last-child{width:100%}.contact-opening{padding-top:145px;min-height:auto}.contact-composition{display:flex;flex-direction:column;align-items:flex-start;gap:60px;margin-top:65px}.contact-composition figure{width:65%;margin-left:15px}.email-main{font-size:32px}.contact-socials{margin-top:30px}.contact-page .page-footer{margin-top:90px}.film-page-content{padding-top:140px}.film-page-heading{margin-bottom:30px;align-items:flex-start}.film-page-heading h1{font-size:36px}.film-page-heading .quiet-link{margin-top:0;white-space:nowrap;font-size:10px}.film-page-heading .page-label{font-size:10px}.film-start{font-size:11px;padding:14px 20px}.project-notes{display:block;margin-top:25px}.project-description{font-size:13px}.project-role{text-align:left;margin-top:22px}.next-project{padding-top:75px}.next-project>a{width:65%}#photo-dialog{padding-left:0;padding-right:0}}

/* A photographic, typographic opening with the biography below. */
.about-opening{padding-top:155px}
.about-composition{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:65px;align-items:start;margin-top:55px}
.about-intro-copy{padding-top:15px}
.about-intro-copy .intro-statement{font-size:clamp(58px,7.1vw,98px);line-height:1.02;letter-spacing:-.055em;max-width:none}
.intro-statement em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.065em}
.intro-method{font-size:12px;line-height:1.6;color:var(--muted);margin-top:30px}
.about-fragments{position:relative;height:380px}
.about-fragments .intro-portrait{position:absolute;right:10px;top:0;width:150px;transform:rotate(3deg)}
.intro-photograph{display:block;position:absolute;left:-30px;top:220px;width:180px;transform:rotate(-5deg);cursor:zoom-in}
.intro-photograph img{aspect-ratio:4/3;object-fit:cover}
.about-background{display:grid;grid-template-columns:1fr 1.55fr;gap:80px;margin-top:70px;align-items:start}
.about-background .quiet-link{margin-top:7px}.about-background .bio-prose{margin-top:0;max-width:570px}
.partners-section{display:block;padding-top:100px}
.partners-section h2{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:27px;color:#dedbd6}
.partners-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:36px;align-items:center;margin-top:50px}
.partner-item{display:flex;align-items:center;justify-content:center;min-height:80px;transition:opacity .25s;opacity:.7}
.partner-item:hover,.partner-item:focus-visible{opacity:1}
.partner-logo{width:100%;max-width:140px;height:34px;object-fit:contain;filter:brightness(0) invert(1)}
.partner-google{max-width:115px;height:38px}.partner-flora{max-width:146px}.partner-dreamina{max-width:145px}.partner-elevenlabs{max-width:143px;height:28px}.partner-invideo{max-width:142px}
@media(max-width:900px){.about-composition{grid-template-columns:minmax(0,1fr) 190px;gap:25px}.about-intro-copy .intro-statement{font-size:7.5vw}.about-background{gap:50px}.partners-strip{gap:24px}.partner-logo{height:26px}}
@media(max-width:600px){
 .about-opening{padding-top:140px}.about-composition{display:block;position:relative;margin-top:34px}
 .about-intro-copy{padding-top:0}.about-intro-copy .intro-statement{font-size:clamp(42px,11.7vw,66px);line-height:1.08}
 .intro-method{font-size:11px;margin-top:22px}.about-fragments{height:235px;margin-top:38px}
 .about-fragments .intro-portrait{width:105px;right:25px;top:0}.intro-photograph{width:140px;left:16px;top:105px}
 .about-background{display:flex;flex-direction:column-reverse;gap:15px;margin-top:30px}.about-background .bio-prose{font-size:13px}.about-background .quiet-link{margin-top:0}
 .partners-section{padding-top:75px}.partners-section h2{font-size:24px}.partners-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 30px;margin-top:30px}.partner-item{min-height:60px}.partner-item:last-child{grid-column:1/-1}.partner-logo{max-width:125px;height:29px}
 .film-page-heading{flex-direction:column-reverse;gap:20px}.film-page-heading .quiet-link{min-height:auto}
}

/* Carry readable type sizes through the inner pages. */
.inner-page .brand-name{font-size:clamp(34px,3.5vw,48px);line-height:1.05}
.page-label{font-size:17px;color:#c8c5c0}
.personal-section>.page-label,.experience-section>.page-label,.favourites-section>.page-label{font-family:'Inter Tight',Arial,sans-serif;font-size:32px;line-height:1.15;letter-spacing:-.025em;color:#eeece7}
.bio-prose,.about-background .bio-prose,.project-description,.recent-page .recent-description{font-size:16px;line-height:1.75}
.quiet-link,.intro-method,.contact-details>p,.contact-socials{font-size:15px;line-height:1.6}
.timeline-date,.timeline-company,.timeline-desc,.media-meta,.project-role,.next-project span,.contact-composition figcaption,.page-footer{font-size:14px;line-height:1.6}
.timeline-title{font-size:23px}.timeline-desc{max-width:540px}.media-title{font-size:15px;line-height:1.5}
.film-page-heading .quiet-link{font-size:14px}.film-page-heading .page-label{font-size:15px}
.page-footer a,.contact-socials a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:600px){
 .inner-page .brand-name{font-size:32px}.page-label{font-size:17px}
 .personal-section>.page-label,.experience-section>.page-label,.favourites-section>.page-label{font-size:29px}
 .media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 20px}
 .media-title{font-size:15px}.media-meta{font-size:14px}.intro-method{font-size:14px}
 .page-footer{font-size:14px}.film-page-heading .quiet-link{white-space:normal}
 .recent-page .recent-description,.about-background .bio-prose,.project-description{font-size:16px}
 .film-start{font-size:14px}.photo-close,#photo-caption{font-size:14px}
}

/* Minimalist inner pages inherit the identity-led hierarchy. */
.inner-page .brand-name{font-size:var(--identity-size)}
.inner-heading h1,.film-page-heading h1{font-size:var(--chapter-size);line-height:1.2;letter-spacing:-.025em}
.about-intro-copy .intro-statement{font-size:clamp(30px,2.7vw,38px);line-height:1.2;letter-spacing:-.03em}
.intro-statement em{letter-spacing:-.035em}.about-composition{grid-template-columns:minmax(0,1fr) 260px}
.personal-section>.page-label,.experience-section>.page-label,.favourites-section>.page-label,.partners-section h2{font-size:var(--chapter-size);line-height:1.2}
.recent-page .recent-content h3,.timeline-title,.next-project h2{font-size:var(--project-size);line-height:1.3}
.email-main{font-size:var(--chapter-size);line-height:1.3}
.personal-section,.experience-section{padding-top:96px}.page-footer{margin-top:96px}
@media(max-width:600px){
 .about-intro-copy .intro-statement{font-size:28px;line-height:1.25}.about-composition{display:block}
 .personal-section,.experience-section{padding-top:64px}.page-footer{margin-top:64px}
}

/* About opens with the portrait and biography, without a second headline. */
.about-opening{padding-top:180px}
.about-introduction{display:grid;grid-template-columns:180px minmax(0,620px);gap:clamp(50px,9vw,140px);align-items:start}
.about-portrait{width:160px;aspect-ratio:4/5;object-fit:cover;margin-top:5px}
.about-details .bio-prose{margin:0;max-width:600px;font-size:16px;line-height:1.8}
.about-contact{margin-top:38px;scroll-margin-top:100px}
.about-contact .email-main{font-size:clamp(24px,2.4vw,30px)}
.about-contact .contact-socials{margin-top:18px;gap:28px;flex-wrap:wrap;font-size:22px;line-height:1.5}
.contact-socials a{min-height:44px;display:inline-flex;align-items:center}
.partners-section h2{font-family:'Inter Tight',Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:-.025em}
.page-footer .footer-socials{gap:28px;flex-wrap:wrap}.page-footer .footer-socials a{font-size:22px;color:#eeece7}
@media(max-width:600px){
 .about-opening{padding-top:155px}.about-introduction{grid-template-columns:1fr;gap:30px}.about-portrait{width:120px;margin-top:0}
 .about-contact{margin-top:30px}.about-contact .contact-socials{gap:24px;font-size:20px}.page-footer .footer-socials a{font-size:20px}.page-footer .footer-socials{gap:24px}
}

/* A quieter mobile type scale and consistently centred media. */
@media(max-width:600px){
 .bio-prose,.about-background .bio-prose,.about-details .bio-prose,.project-description,.recent-page .recent-description{font-size:15px;line-height:1.7}
 .personal-section>.page-label,.experience-section>.page-label,.favourites-section>.page-label,.partners-section h2,.inner-heading h1,.film-page-heading h1{font-size:22px}
 .recent-page .recent-content h3,.timeline-title,.next-project h2{font-size:20px}
 .timeline-date,.timeline-company,.timeline-desc,.project-role,.quiet-link,.film-page-heading .quiet-link{font-size:13px}
 .media-title{font-size:14px}.media-meta{font-size:12px}
 .about-contact .email-main,.email-main{font-size:22px}
 .about-contact .contact-socials,.page-footer .footer-socials a{font-size:18px}
 .page-footer{font-size:13px}
 .recent-page .event-gallery{grid-template-columns:minmax(0,1fr);gap:22px}
 .recent-page .event-gallery>*:nth-child(n){margin:0;width:100%;justify-self:center}
 .recent-page .recent-feature-image{width:100%;margin-inline:auto}
 .next-project{justify-content:center}.next-project>a{width:100%}
}

/* Restrained desktop typography on About. */
@media(min-width:601px){
 .about-page .about-details .bio-prose{font-size:14px;line-height:1.8;max-width:570px}
 .about-page .partners-section h2,.about-page .personal-section>.page-label,.about-page .experience-section>.page-label,.about-page .favourites-section>.page-label{font-size:24px}
 .about-page .timeline-title{font-size:19px;line-height:1.4}
 .about-page .timeline-date,.about-page .timeline-company,.about-page .timeline-desc{font-size:13px;line-height:1.7}
 .about-page .media-title{font-size:14px}.about-page .media-meta{font-size:12px}
 .about-page .about-contact .email-main{font-size:24px}
 .about-page .about-contact .contact-socials,.about-page .page-footer .footer-socials a{font-size:18px}
 .about-page .page-footer{font-size:13px}
}

.about-portrait{aspect-ratio:1;border-radius:50%;object-fit:cover}

/* About: one shared grid, consistent section spacing and a clear reading column. */
.about-page .page-wrap,.about-page .page-footer{width:min(1000px,calc(100% - 100px))}
.about-page .about-opening{padding-top:172px}
.about-page .about-introduction{display:grid;grid-template-columns:170px minmax(0,1fr);gap:64px;align-items:start}
.about-page .about-portrait{width:144px;margin-top:3px}
.about-page .about-details .bio-prose{max-width:610px;margin:0}
.about-page .about-contact{margin-top:30px}
.about-page .partners-section,.about-page .personal-section,.about-page .experience-section,.about-page .favourites-section{display:grid;grid-template-columns:170px minmax(0,1fr);column-gap:64px;padding-top:84px;align-items:start}
.about-page .partners-section h2,.about-page .personal-section>.page-label,.about-page .experience-section>.page-label,.about-page .favourites-section>.page-label{font-size:21px;line-height:1.3;margin:0;letter-spacing:-.025em}
.about-page .partners-strip{margin-top:0;gap:18px;grid-template-columns:repeat(5,minmax(0,1fr))}
.about-page .partner-item{min-height:38px}.about-page .partner-logo{height:25px;max-width:115px}
.about-page .personal-gallery{margin-top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.about-page .personal-photo:nth-child(n){grid-column:auto;margin:0}
.about-page .personal-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;max-height:none}
.about-page .experience-list{margin:0}.about-page .experience-entry{margin-bottom:30px}.about-page .experience-entry:last-child{margin-bottom:0}
.about-page .media-grid{margin-top:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 20px}
.about-page .page-footer{margin-top:84px}
.recent-page #recent{padding-top:172px}
.news-brand-logo{display:block;width:min(320px,80%);margin-top:28px;margin-bottom:12px}
.news-brand-logo img{width:100%;height:auto}
@media(max-width:900px){
 .about-page .page-wrap,.about-page .page-footer{width:calc(100% - 64px)}
 .about-page .about-introduction,.about-page .partners-section,.about-page .personal-section,.about-page .experience-section,.about-page .favourites-section{grid-template-columns:135px minmax(0,1fr);column-gap:36px}
 .about-page .about-portrait{width:120px}.about-page .partners-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
 .about-page .partner-item:last-child{grid-column:auto}.about-page .media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:600px){
 .about-page .page-wrap,.about-page .page-footer{width:calc(100% - 44px)}
 .about-page .about-opening,.recent-page #recent{padding-top:150px}
 .about-page .about-introduction{grid-template-columns:1fr;gap:28px}
 .about-page .partners-section,.about-page .personal-section,.about-page .experience-section,.about-page .favourites-section{grid-template-columns:1fr;gap:26px;padding-top:60px}
 .about-page .partners-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.about-page .partner-item:last-child{grid-column:1/-1}
 .about-page .personal-gallery{gap:16px}.about-page .media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
 .about-page .page-footer{margin-top:60px}.news-brand-logo{width:80%}
}

/* Compact contact lines with consistent social icons. */
.about-page .about-contact{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:610px;margin-top:24px}
.about-page .about-contact .email-main{font-family:'DM Sans',Arial,sans-serif;font-size:16px;letter-spacing:0;line-height:1.5}
.about-page .about-contact .contact-socials{display:flex;gap:6px;margin:0;flex-wrap:nowrap}
.page-footer{align-items:center}.page-footer .footer-socials{gap:6px;flex-wrap:nowrap}
.page-footer .footer-socials .social-icon,.about-page .contact-socials .social-icon{display:inline-flex;justify-content:center;width:40px;min-width:40px}
@media(max-width:600px){
 .about-page .about-contact{gap:12px;flex-wrap:wrap}.about-page .about-contact .email-main{font-size:15px}
 .about-page .about-contact .contact-socials,.page-footer .footer-socials{gap:2px}
 .page-footer .footer-socials .social-icon,.about-page .contact-socials .social-icon{width:36px;min-width:36px}
 .page-footer{gap:16px}
}

/* Selected photography returns to its original continuous horizontal rhythm. */
.about-page .personal-section{display:block}
.about-page .personal-section>.page-label{margin-bottom:30px}
.photo-ribbon{overflow-x:auto;scrollbar-width:none;width:100%;overscroll-behavior-x:contain}
.photo-ribbon::-webkit-scrollbar{display:none}
.about-page .personal-gallery{display:flex;gap:0;width:max-content;margin:0;animation:photography-drift 65s linear infinite}
.photo-group{display:flex;align-items:center;gap:24px;padding-right:24px;flex-shrink:0}
.about-page .personal-photo:nth-child(n){flex:0 0 auto;margin:0;width:auto}
.about-page .personal-photo img{width:auto;height:300px;max-width:none;max-height:none;aspect-ratio:auto;object-fit:contain}
.photo-ribbon:hover .personal-gallery,.photo-ribbon:focus-within .personal-gallery,.photo-ribbon.is-paused .personal-gallery{animation-play-state:paused}
body:has(#photo-dialog[open]) .personal-gallery{animation-play-state:paused}
@keyframes photography-drift{to{transform:translateX(-50%)}}
@media(max-width:600px){.about-page .personal-photo img{height:220px}.photo-group{gap:16px;padding-right:16px}.about-page .personal-section>.page-label{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.about-page .personal-gallery{animation:none}.photo-group[aria-hidden=true]{display:none}}
