*{
    box-sizing:border-box;
}

body{
    margin:0;
    font-family:Arial, Helvetica, sans-serif;
    background:#0b0b0b;
    color:#eaeaea;
}

header{
    position:fixed;
    top:0;
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px 40px;
    background:rgba(0,0,0,0.5);
    backdrop-filter:blur(5px);
    z-index:10;
}

nav{
    display:flex;
    align-items:center;
}

nav a{
    color:#eaeaea;
    text-decoration:none;
    margin-left:25px;
}

nav a:hover{
    opacity:0.7;
}

.hero{
    height:100vh;
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    padding:40px;
}

.hero-picture{
    position:absolute;
    inset:0;
}

.hero-image{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
}

.hero-label{
    background:rgba(0,0,0,0.55);
    padding:14px 20px;
    border:1px solid rgba(255,255,255,0.15);
    font-size:18px;
    position:relative;
    z-index:1;
}

.hero-title{
    background:rgba(0,0,0,0.6);
    padding:15px 25px;
    margin:40px;
    font-size:20px;
}

.section{
    padding:120px 60px;
}

.selected-grid{
    display:flex;
    gap:20px;
}

.selected-grid img{
    width:33.333%;
    display:block;
}

.selected-grid a img{
    width:100%;
    display:block;
}

.container{
    padding-top:140px;
    padding-left:40px;
    padding-right:40px;
    padding-bottom:120px;
}

h1{
    font-size:48px;
    font-weight:normal;
    margin-bottom:60px;
}

.works-list{
    display:flex;
    flex-direction:column;
    gap:30px;
}

.works-list a{
    font-size:28px;
    color:#eaeaea;
    text-decoration:none;
    border-bottom:1px solid #222;
    padding-bottom:10px;
}

.works-list a:hover{
    opacity:0.6;
}

footer{
    padding:80px 60px;
    border-top:1px solid #333;
}

.series-grid{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:20px;
}

.series-card{
    position:relative;
    display:block;
    text-decoration:none;
    color:#eaeaea;
    overflow:hidden;
    background:#111;
}

.series-card-image{
    display:block;
    width:100%;
    aspect-ratio:4 / 5;
    object-fit:cover;
    padding:10px;
    transition:transform 0.4s ease;
}

.series-card-title{
    position:absolute;
    left:10px;
    right:10px;
    bottom:10px;
    background:rgba(0,0,0,0.55);
    color:#eaeaea;
    padding:10px 12px;
    font-size:14px;
    line-height:1.3;
    transition:background 0.3s ease;
}

.series-card:hover .series-card-image{
    transform:scale(1.05);
}

.series-card:hover .series-card-title{
    background:rgba(0,0,0,0.75);
}

.series-page-grid{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:20px;
}

.art-card{
    position:relative;
    display:block;
    aspect-ratio:1 / 1;
    background:#111;
    overflow:hidden;
    text-decoration:none;
    color:#eaeaea;
}

.art-card-frame{
    position:absolute;
    top:10px;
    right:10px;
    bottom:10px;
    left:10px;
    border:1px solid rgba(255,255,255,0.22);
    pointer-events:none;
    z-index:3;
    transition:border-color 0.35s ease;
}

.art-card-media{
    position:absolute;
    top:10px;
    right:10px;
    bottom:10px;
    left:10px;
    overflow:hidden;
    z-index:1;
    transition:all 0.45s ease;
}

.art-card-image{
    position:absolute;
    top:50%;
    left:50%;
    width:auto;
    height:auto;
    max-width:none;
    max-height:none;
    display:block;
    object-fit:cover;
    object-position:center;
    transform:translate(-50%, -50%) scale(1);
    transform-origin:center;
    transition:transform 0.45s ease;
}

.art-card-title{
    position:absolute;
    left:15px;
    right:15px;
    bottom:15px;
    background:rgba(0,0,0,0.55);
    padding:10px 12px;
    font-size:14px;
    line-height:1.3;
    z-index:4;
}

.art-card:hover .art-card-frame{
    border-color:rgba(255,255,255,0.8);
}

.art-card:hover .art-card-image{
    transform:translate(-50%, -50%) scale(var(--hover-scale, 1));
}
.art-card:hover .art-card-media{
    top:0;
    right:0;
    bottom:0;
    left:0;
}

@media (max-width: 1400px){
    .series-page-grid{
        grid-template-columns:repeat(4, 1fr);
    }
}

@media (max-width: 1100px){
    .series-page-grid{
        grid-template-columns:repeat(3, 1fr);
    }
}

@media (max-width: 800px){
    .series-page-grid{
        grid-template-columns:repeat(2, 1fr);
    }
}

@media (max-width: 520px){
    .series-page-grid{
        grid-template-columns:1fr;
    }
}


/* artwork page */

.artwork-page-container{
    padding-top:140px;
}

.breadcrumbs{
    margin-bottom:40px;
    font-size:14px;
    color:rgba(234,234,234,0.7);
}

.breadcrumbs a{
    color:rgba(234,234,234,0.9);
    text-decoration:none;
}

.breadcrumbs a:hover{
    opacity:0.7;
}

.breadcrumb-dot{
    margin:0 10px;
    opacity:0.6;
}

/* ВЕСЬ блок "картина + описание" центрируется как единая композиция */
.artwork-layout{
    display:grid;
    grid-template-columns:auto 320px;
    justify-content:center;
    gap:32px;
    align-items:start;
}

/* Левый блок больше не растягивается на всю ширину */
.artwork-main{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    width:max-content;
    max-width:calc(100vw - 320px - 120px);
    min-width:0;
}

/* Картинка живёт своим реальным размером */
.artwork-full-image{
   display:block;
    width:auto;
    height:auto;
    max-width:min(72vw, 1100px);
    max-height:calc(100vh - 220px);
    object-fit:contain;
    object-position:center top;
    background:none;
}

.artwork-info{
    border-left:1px solid rgba(255,255,255,0.12);
    padding-left:24px;
    width:320px;
}

.artwork-title{
    font-size:34px;
    font-weight:normal;
    line-height:1.2;
    margin:0 0 30px 0;
}

.artwork-meta{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.artwork-meta-row{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.artwork-meta-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:rgba(234,234,234,0.55);
}

.artwork-meta-value{
    font-size:15px;
    line-height:1.5;
    color:#eaeaea;
    white-space: pre-line;
}

@media (max-width: 980px){
    .artwork-layout{
        grid-template-columns:1fr;
        gap:30px;
        justify-content:stretch;
    }

    .artwork-main{
        width:100%;
        max-width:100%;
        justify-content:center;
    }

    .artwork-full-image{
        width:100%;
        max-width:100%;
        max-height:none;
    }

    .artwork-info{
        width:100%;
        border-left:none;
        padding-left:0;
        border-top:1px solid rgba(255,255,255,0.12);
        padding-top:24px;
    }
}


/* theme switch */

.theme-switch{
    display:flex;
    align-items:center;
    gap:10px;
    cursor:pointer;
    user-select:none;
    margin-left:24px;
}

.theme-switch-label{
    font-size:12px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    opacity:0.65;
    transition:opacity 0.25s ease;
}

.theme-switch-track{
    position:relative;
    width:46px;
    height:24px;
    border:1px solid rgba(255,255,255,0.25);
    border-radius:999px;
    background:rgba(255,255,255,0.06);
    transition:
        background 0.25s ease,
        border-color 0.25s ease;
}

.theme-switch-thumb{
    position:absolute;
    top:2px;
    left:2px;
    width:18px;
    height:18px;
    border-radius:50%;
    background:#eaeaea;
    transition:
        transform 0.25s ease,
        background 0.25s ease;
}

/* night state */
body.theme-night .theme-switch-label-night{
    opacity:1;
}

body.theme-night .theme-switch-label-day{
    opacity:0.45;
}

body.theme-night .theme-switch-track{
    background:rgba(255,255,255,0.1);
    border-color:rgba(255,255,255,0.35);
}

body.theme-night .theme-switch-thumb{
    transform:translateX(22px);
    background:#ffffff;
}

/* ===== DAY THEME - MUSEUM GREIGE ===== */

body.theme-day{
    background:#d8d3cb;
    color:#1f1d1a;
}

/* header */
body.theme-day header{
    background:rgba(216,211,203,0.82);
}

body.theme-day nav a,
body.theme-day .site-title{
    color:#1f1d1a;
}

/* ===== КАРТОЧКИ  ===== */
/* чуть темнее фона */
body.theme-day .series-card,
body.theme-day .art-card{
    background:#e5e3de;
}

/* рамка */
body.theme-day .art-card-frame{
    border-color:rgba(31,29,26,0.16);
}

body.theme-day .art-card:hover .art-card-frame{
    border-color:rgba(31,29,26,0.34);
}

/* ===== ПЛАШКИ ===== */
/* чуть светлее карточки */
body.theme-day .hero-label,
body.theme-day .art-card-title,
body.theme-day .series-card-title{
    background:rgba(235,232,227,0.92);
    color:#1f1d1a;
}
body.theme-day .series-card:hover .series-card-title{
    background:rgba(235,232,227,0.98);
    color:#1f1d1a;
}

/* ===== WORKS ===== */
body.theme-day .works-list a{
    color:#1f1d1a;
    border-bottom:1px solid rgba(31,29,26,0.14);
}

/* ===== FOOTER ===== */
body.theme-day footer{
    border-top:1px solid rgba(31,29,26,0.12);
    color:#3a3732;
}

footer a{
    color: inherit;
    text-decoration: none;
}

footer a:hover{
    opacity: 0.7;
}

/* ===== BREADCRUMBS ===== */
body.theme-day .breadcrumbs{
    color:rgba(31,29,26,0.58);
}

body.theme-day .breadcrumbs a{
    color:rgba(31,29,26,0.82);
}

/* ===== ARTWORK PAGE ===== */
body.theme-day .artwork-info{
    border-left:1px solid rgba(31,29,26,0.12);
}

body.theme-day .artwork-meta-label{
    color:rgba(31,29,26,0.48);
}

body.theme-day .artwork-meta-value{
    color:#1f1d1a;
}

/* фон под картиной */
body.theme-day .artwork-full-image{
    background:#cec8c0;
}

/* mobile divider */
@media (max-width: 980px){
    body.theme-day .artwork-info{
        border-top:1px solid rgba(31,29,26,0.12);
    }
}

/* ===== SWITCH ===== */
body.theme-day .theme-switch-track{
    border-color:rgba(31,29,26,0.18);
    background:rgba(31,29,26,0.05);
}

body.theme-day .theme-switch-thumb{
    background:#1f1d1a;
}

body.theme-day .theme-switch-label{
    color:#1f1d1a;
}

/* ===== PAGE REVEAL / STAGGER ===== */

.reveal{
    opacity:0;
    transform:translateX(-22px);
    transition:
        opacity 0.7s ease,
        transform 0.7s ease;
    will-change:opacity, transform;
}

.reveal.is-visible{
    opacity:1;
    transform:translateX(0);
}

.reveal-delay-1{ transition-delay:0.06s; }
.reveal-delay-2{ transition-delay:0.12s; }
.reveal-delay-3{ transition-delay:0.18s; }
.reveal-delay-4{ transition-delay:0.24s; }
.reveal-delay-5{ transition-delay:0.30s; }

@media (prefers-reduced-motion: reduce){
    .reveal,
    .reveal.is-visible{
        opacity:1;
        transform:none;
        transition:none;
    }
}

/* theme re-reveal */

.reveal.reveal-reset{
    opacity:0 !important;
    transform:translateX(-22px) !important;
}

/* ===== THEME SWITCH FADE-THROUGH ===== */

.theme-fade-target{
    transition:
        opacity 0.32s ease,
        transform 0.32s ease,
        filter 0.32s ease;
    will-change: opacity, transform, filter;
}

body.theme-is-switching .theme-fade-target{
    opacity:0;
    transform:translateX(14px);
    filter:blur(2px);
}

/* ===== THEME SWITCH FADE-THROUGH ===== */

.theme-fade-target{
    transition:
        opacity 0.32s ease,
        transform 0.32s ease,
        filter 0.32s ease;
    will-change: opacity, transform, filter;
}

body.theme-is-switching .theme-fade-target{
    opacity:0;
    transform:translateX(14px);
    filter:blur(2px);
}

/* картинки в карточках серии:
   сохраняем transform-анимацию hover
   и добавляем fade/filter для смены темы */
.art-card-image.theme-artwork{
    transition:
        transform 0.45s ease,
        opacity 0.28s ease,
        filter 0.28s ease;
}

/* большие изображения на странице картины */
.artwork-full-image.theme-artwork{
    transition:
        opacity 0.28s ease,
        filter 0.28s ease;
}

body.theme-is-switching .theme-artwork{
    opacity:0;
    filter:blur(1px);
}

@media (prefers-reduced-motion: reduce){
    .theme-fade-target,
    .art-card-image.theme-artwork,
    .artwork-full-image.theme-artwork{
        transition:none;
    }

    body.theme-is-switching .theme-fade-target,
    body.theme-is-switching .theme-artwork{
        opacity:1;
        transform:none;
        filter:none;
    }
}


@media (prefers-reduced-motion: reduce){
    .theme-fade-target,
    .theme-artwork{
        transition:none;
    }

    body.theme-is-switching .theme-fade-target,
    body.theme-is-switching .theme-artwork{
        opacity:1;
        transform:none;
        filter:none;
    }
}

/* sold out badge */

.art-card-badge{
    position:absolute;
    top:18px;
    right:-12px;
    z-index:10;

    padding:8px 22px;
    min-width:120px;

    background:rgba(217, 217, 217, 0.783);
    color:#100f0f;

    font-size:11px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    text-align:center;

    border:1px solid rgba(255, 255, 255, 0.737);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);

    pointer-events:none;
}

body.theme-day .art-card-badge{
    background:rgba(101, 101, 101, 0.78);
    color:#f7f7f7;
    border:1px solid rgba(31,29,26,0.14);
}

/* ===== STATEMENT PAGE ===== */

.statement-page{
    min-height:100vh;
    padding:150px 60px 80px;
}

.statement-hero{
    max-width:1180px;
    margin:0 auto 90px;
}

.statement-kicker{
    font-size:12px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    opacity:0.55;
    margin-bottom:18px;
}

.statement-hero h1{
    font-size:clamp(56px, 8vw, 128px);
    line-height:0.9;
    font-weight:400;
    letter-spacing:-0.06em;
    margin:0;
}

.statement-layout{
    max-width:1180px;
    margin:0 auto;
    display:grid;
    grid-template-columns: 280px minmax(0, 760px);
    gap:120px;
    align-items:start;
}

.statement-side{
    position:sticky;
    top:150px;
    font-size:18px;
    line-height:1.45;
    opacity:0.62;
}

.statement-text{
    font-size:22px;
    line-height:1.55;
    letter-spacing:-0.015em;
}

.statement-text p{
    margin:0 0 34px;
}

.statement-lead{
    font-size:clamp(30px, 4vw, 54px);
    line-height:1.08;
    letter-spacing:-0.045em;
    margin-bottom:58px !important;
}

/* night */
body.theme-night .statement-page{
    background:#0b0b0b;
    color:#f1eee8;
}

/* day */
body.theme-day .statement-page{
    background:#d8d3cb;
    color:#1f1d1a;
}

body.theme-day .statement-side{
    color:#3a3732;
}

/* mobile */
@media (max-width: 820px){
    .statement-page{
        padding:120px 24px 60px;
    }

    .statement-hero{
        margin-bottom:60px;
    }

    .statement-layout{
        display:block;
    }

    .statement-side{
        position:static;
        margin-bottom:54px;
        font-size:16px;
    }

    .statement-text{
        font-size:19px;
        line-height:1.55;
    }

    .statement-lead{
        font-size:34px;
    }
}

/* ===== CONTACT ===== */

.contact-links{
    margin-top:60px;
}

.contact-item{
    margin-bottom:48px;
}

.contact-label{
    font-size:12px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    opacity:0.55;
    margin-bottom:12px;
}

.contact-item a{
    font-size:clamp(24px,3vw,40px);
    line-height:1.2;
    color:inherit;
    text-decoration:none;
    transition:opacity .2s ease;
}

.contact-item a:hover{
    opacity:.65;
}

.contact-page{
    min-height:calc(100vh - 180px);
    padding:140px 60px 60px;
    display:flex;
    align-items:center;
}

.contact-wrap{
    max-width:1180px;
    width:100%;
    margin:0 auto;
}

.contact-kicker{
    font-size:12px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    opacity:0.55;
    margin-bottom:18px;
}

.contact-title{
    font-size:clamp(64px, 9vw, 140px);
    line-height:0.9;
    font-weight:400;
    letter-spacing:-0.06em;
    margin:0 0 44px;
}

.contact-intro{
    max-width:720px;
    font-size:clamp(24px, 3vw, 42px);
    line-height:1.18;
    letter-spacing:-0.035em;
    margin:0 0 58px;
}

.contact-links{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:60px;
}

.contact-item{
    border-top:1px solid currentColor;
    padding-top:18px;
}

.contact-label{
    font-size:12px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    opacity:0.55;
    margin-bottom:14px;
}

.contact-item a,
.contact-item a:visited{
    color:inherit !important;
    text-decoration:none !important;
    font-size:clamp(22px, 2.4vw, 34px);
    line-height:1.2;
    letter-spacing:-0.025em;
    transition:opacity .2s ease;
}

.contact-item a:hover{
    opacity:.65;
}

/* day / night */
body.theme-day .contact-page{
    background:#d8d3cb;
    color:#1f1d1a;
}

body.theme-night .contact-page{
    background:#0b0b0b;
    color:#f1eee8;
}

/* mobile */
@media (max-width: 820px){
    .contact-page{
        min-height:auto;
        padding:120px 24px 60px;
        display:block;
    }

    .contact-title{
        font-size:58px;
        margin-bottom:36px;
    }

    .contact-intro{
        font-size:26px;
        margin-bottom:46px;
    }

    .contact-links{
        grid-template-columns:1fr;
        gap:34px;
    }
}
.photo-projects{
    margin-top:80px;
}

.photo-project{
    display:block;
    color:inherit;
    text-decoration:none;
    padding:42px 0;
    border-top:1px solid currentColor;
    transition:opacity .25s ease;
}

.photo-project:last-child{
    border-bottom:1px solid currentColor;
}

.photo-project:hover{
    opacity:.65;
}

.photo-project-meta{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.18em;
    opacity:.55;
    margin-bottom:12px;
}

.photo-project h2{
    font-size:clamp(32px,4vw,64px);
    font-weight:400;
    line-height:1;
    letter-spacing:-.04em;
    margin:0 0 18px;
}

.photo-project p{
    max-width:620px;
    font-size:18px;
    line-height:1.55;
    margin:0;
}

.photo-project:visited,
.photo-project h2,
.photo-project p{
    color:inherit;
}

/*PHOTO MOSAIC*/

.photo-project-content{
    display:grid;
    grid-template-columns: 1fr 420px;
    gap:60px;
    align-items:center;
}

.photo-mosaic{
    position:relative;
    height:260px;
    width:420px;
}

.photo-mosaic img{
    position:absolute;
    object-fit:cover;
    border-radius:4px;
    transition:transform .3s ease;
}

.photo-mosaic img:nth-child(1){
    width:180px;
    height:220px;
    left:0;
    top:20px;
    z-index:1;
}

.photo-mosaic img:nth-child(2){
    width:140px;
    height:140px;
    left:140px;
    top:0;
    z-index:2;
}

.photo-mosaic img:nth-child(3){
    width:180px;
    height:120px;
    right:0;
    top:30px;
    z-index:3;
}

.photo-mosaic img:nth-child(4){
    width:120px;
    height:120px;
    left:110px;
    bottom:0;
    z-index:4;
}

.photo-mosaic img:nth-child(5){
    width:170px;
    height:140px;
    right:10px;
    bottom:10px;
    z-index:5;
}
.photo-project:hover .photo-mosaic img:nth-child(1){
    transform:translate(-4px,-4px);
}

.photo-project:hover .photo-mosaic img:nth-child(2){
    transform:translate(4px,-6px);
}

.photo-project:hover .photo-mosaic img:nth-child(3){
    transform:translate(6px,0);
}

.photo-project:hover .photo-mosaic img:nth-child(4){
    transform:translate(-5px,5px);
}

.photo-project:hover .photo-mosaic img:nth-child(5){
    transform:translate(5px,5px);
}

@media (max-width: 900px){

    .photo-project-content{
        grid-template-columns:1fr;
    }

    .photo-mosaic{
        width:100%;
        max-width:420px;
        margin-top:30px;
    }

}

/* ===== DYNAMIC PHOTOGRAPHY SERIES ===== */

.photo-series-page{
    min-height:100vh;
    padding:130px 60px 100px;
}


.photo-dynamic-layout{
    max-width:1500px;
    margin:0 auto;
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    gap:80px;
    align-items:start;
}

.photo-series-info{
    position:sticky;
    top:130px;
}

.photo-series-kicker{
    font-size:12px;
    letter-spacing:.18em;
    text-transform:uppercase;
    opacity:.55;
    margin-bottom:24px;
}

.photo-series-info h1{
    font-size:clamp(54px, 6vw, 96px);
    line-height:.92;
    font-weight:400;
    letter-spacing:-.06em;
    margin:0 0 46px;
}

.photo-series-description{
    font-size:20px;
    line-height:1.45;
    letter-spacing:-.02em;
    margin:0 0 56px;
}

.photo-series-meta-inline{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin:18px 0 0;
    font-size:13px;
    letter-spacing:.06em;
    text-transform:uppercase;
    opacity:.55;
}
.photo-back-link:hover{
    opacity:1;
}

.dynamic-photo-grid{
    display:grid;
    grid-template-columns:repeat(12, 1fr);
    grid-auto-rows:minmax(44px, 6.4vh);
    gap:8px;
    min-height:calc(100vh - 250px);
}

.dynamic-photo-tile{
    margin:0;
    overflow:hidden;
    position:relative;
}

body.theme-day .dynamic-photo-tile{
    background:#d8d3cb;
}

body.theme-night .dynamic-photo-tile{
    background:#0b0b0b;
}

.dynamic-photo-tile img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    opacity:1;
    transform:scale(1);
    transition:
        opacity 3.6s cubic-bezier(.4, 0, .2, 1),
        transform 7s ease;
    will-change:opacity, transform;
}

.dynamic-photo-tile img.photo-layer-hidden{
    opacity:0;
    transform:scale(1.018);
}

.dynamic-photo-tile img.photo-layer-visible{
    opacity:1;
    transform:scale(1);
}
/* asymmetric layout - main image + small slots */

.tile-a{
    grid-column:1 / span 6;
    grid-row:1 / span 8;
}

.tile-b{
    grid-column:7 / span 3;
    grid-row:1 / span 4;
}

.tile-c{
    grid-column:10 / span 2;
    grid-row:1 / span 2;
}

.tile-d{
    grid-column:12 / span 1;
    grid-row:1 / span 2;
}

.tile-e{
    grid-column:10 / span 1;
    grid-row:3 / span 2;
}

.tile-f{
    grid-column:11 / span 2;
    grid-row:3 / span 2;
}

.tile-g{
    grid-column:7 / span 2;
    grid-row:5 / span 3;
}

.tile-h{
    grid-column:9 / span 2;
    grid-row:5 / span 3;
}

.tile-i{
    grid-column:11 / span 1;
    grid-row:5 / span 1;
}

.tile-j{
    grid-column:12 / span 1;
    grid-row:5 / span 1;
}

.tile-k{
    grid-column:11 / span 2;
    grid-row:6 / span 2;
}

.tile-l{
    grid-column:1 / span 3;
    grid-row:9 / span 3;
}

.tile-m{
    grid-column:4 / span 3;
    grid-row:9 / span 3;
}

.tile-n{
    grid-column:7 / span 3;
    grid-row:8 / span 4;
}

.tile-o{
    grid-column:10 / span 3;
    grid-row:8 / span 4;
}

/* day / night */
body.theme-day .photo-series-page{
    background:#d8d3cb;
    color:#1f1d1a;
}

body.theme-night .photo-series-page{
    background:#0b0b0b;
    color:#f1eee8;
}


/* mobile */
@media (max-width: 900px){
    .photo-series-page{
        padding:120px 24px 70px;
    }

  
    .photo-dynamic-layout{
        display:block;
    }

    .photo-series-info{
        position:static;
        margin-bottom:60px;
    }

    .photo-series-info h1{
        font-size:58px;
    }

    .photo-series-description{
        font-size:19px;
    }

    .dynamic-photo-grid{
        grid-template-columns:repeat(2, 1fr);
        grid-auto-rows:180px;
        gap:6px;
    }

    .dynamic-photo-tile,
    .tile-a,
    .tile-b,
    .tile-c,
    .tile-d,
    .tile-e,
    .tile-f,
    .tile-g,
    .tile-h,
    .tile-i,
    .tile-j,
    .tile-k,
    .tile-l,
    .tile-m,
    .tile-n,
    .tile-o{
        grid-column:auto;
        grid-row:auto;
    }

    .tile-a,
    .tile-g,
    .tile-m{
        grid-column:span 2;
        grid-row:span 2;
    }
}

.photo-series-text{
    grid-column:2;
    margin-top:70px;
    max-width:900px;
}

.photo-series-text p{
    font-size:20px;
    line-height:1.75;
    margin:0 0 34px;
}

/* ===== PHOTO SERIES FIXED SCREEN VERSION ===== */

.photo-series-screen{
    height:calc(100vh - 145px);
    padding:110px 60px 24px;
    overflow:hidden;
}

.photo-series-fixed-layout{
    max-width:1500px;
    height:100%;
    margin:0 auto;
    display:grid;
    grid-template-columns:330px minmax(0, 1fr);
    gap:72px;
    align-items:stretch;
}

.photo-series-scroll{
    height:100%;
    overflow-y:auto;
    padding-right:18px;
}

.photo-series-scroll::-webkit-scrollbar{
    width:3px;
}

.photo-series-scroll::-webkit-scrollbar-thumb{
    background:currentColor;
    opacity:.25;
}

.photo-series-scroll h1{
    font-size:clamp(42px, 4.7vw, 76px);
    line-height:.92;
    font-weight:400;
    letter-spacing:-.06em;
    margin:0 0 24px;
}

.photo-series-meta-inline{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 36px;
    font-size:11px;
    letter-spacing:.08em;
    text-transform:uppercase;
    opacity:.55;
}

.photo-series-description{
    font-size:17px;
    line-height:1.62;
    letter-spacing:-.015em;
}

.photo-series-description p{
    margin:0 0 24px;
}

.photo-series-screen .dynamic-photo-grid{
    height:100%;
    min-height:0;
    display:grid;
    grid-template-columns:repeat(12, 1fr);
    grid-template-rows:repeat(12, 1fr);
    grid-auto-rows:auto;
    gap:8px;
}

.photo-series-screen .dynamic-photo-tile{
    margin:0;
    overflow:hidden;
    position:relative;
}

/* day / night */
body.theme-day .photo-series-screen{
    background:#d8d3cb;
    color:#1f1d1a;
}

body.theme-night .photo-series-screen{
    background:#0b0b0b;
    color:#f1eee8;
}

/* keep footer visible */
.photo-series-screen + footer{
    padding:22px 60px;
}

/* mobile fallback */
@media (max-width: 900px){
    .photo-series-screen{
        height:auto;
        padding:120px 24px 60px;
        overflow:visible;
    }

    .photo-series-fixed-layout{
        height:auto;
        display:block;
    }

    .photo-series-scroll{
        height:auto;
        overflow:visible;
        padding-right:0;
        margin-bottom:50px;
    }

    .photo-series-screen .dynamic-photo-grid{
        height:auto;
        grid-template-columns:repeat(2, 1fr);
        grid-auto-rows:180px;
        gap:6px;
    }
}

.series-about-button{
    margin-top:30px;
    background:none;
    border:1px solid currentColor;
    padding:12px 20px;
    cursor:pointer;
    color:inherit;
    font:inherit;
    letter-spacing:.08em;
    text-transform:uppercase;
    transition:.25s ease;
}

.series-about-button:hover{
    opacity:.65;
}

.series-about-modal{
    position:fixed;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(0,0,0,.45);
    opacity:0;
    visibility:hidden;
    transition:.3s ease;
    z-index:9999;
}

.series-about-modal.active{
    opacity:1;
    visibility:visible;
}

.series-about-content{
    width:min(800px,90vw);
    max-height:80vh;
    overflow-y:auto;
    padding:50px;
}

body.theme-day .series-about-content{
    background:#e5e3de;
    color:#1f1d1a;
}

body.theme-night .series-about-content{
    background:#141414;
    color:#f1eee8;
}

.series-about-content h2{
    margin:0 0 30px;
}

.series-about-content p{
    font-size:18px;
    line-height:1.75;
    margin:0 0 24px;
}

.series-about-close{
    float:right;
    background:none;
    border:none;
    color:inherit;
    font-size:32px;
    cursor:pointer;
}

.photo-series-screen .breadcrumbs{
    margin-bottom:24px;
    font-size:14px;
    color:rgba(234,234,234,0.7);
}

.photo-series-screen .breadcrumbs a{
    color:rgba(234,234,234,0.9);
    text-decoration:none;
}

.photo-series-screen .breadcrumb-dot{
    margin:0 10px;
    opacity:0.6;
}

body.theme-day .photo-series-screen .breadcrumbs{
    color:rgba(31,29,26,0.58);
}

body.theme-day .photo-series-screen .breadcrumbs a{
    color:rgba(31,29,26,0.82);
}
/* ===== HOME PAGE: MOBILE REFERENCE LAYOUT ===== */

.mobile-menu-toggle{
    display:none;
}

@media (max-width: 760px){
    .home-page{
        overflow-x:hidden;
    }

    .home-page.mobile-nav-open{
        overflow:hidden;
    }

    .home-page header{
        min-height:64px;
        padding:14px 16px;
        gap:12px;
        background:rgba(11,11,11,0.78);
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
    }

    body.theme-day.home-page header{
        background:rgba(216,211,203,0.88);
    }

    .home-page .site-title{
        flex:1 1 auto;
        min-width:0;
        font-size:21px;
        line-height:1.1;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .home-page .theme-switch{
        flex:0 0 auto;
        margin-left:0;
        gap:0;
    }

    .home-page .theme-switch-label{
        display:none;
    }

    .home-page .theme-switch-track{
        width:40px;
        height:22px;
    }

    .home-page .theme-switch-thumb{
        width:16px;
        height:16px;
    }

    body.theme-night.home-page .theme-switch-thumb{
        transform:translateX(18px);
    }

    .home-page .mobile-menu-toggle{
        display:flex;
        flex:0 0 44px;
        width:44px;
        height:44px;
        margin:-8px -8px -8px 0;
        padding:0;
        border:0;
        background:transparent;
        color:inherit;
        align-items:center;
        justify-content:center;
        flex-direction:column;
        gap:6px;
        cursor:pointer;
        position:relative;
        z-index:12;
    }

    .home-page .mobile-menu-toggle span{
        display:block;
        width:22px;
        height:1px;
        background:currentColor;
        transform-origin:center;
        transition:transform .25s ease, opacity .2s ease;
    }

    .home-page.mobile-nav-open .mobile-menu-toggle span:first-child{
        transform:translateY(3.5px) rotate(45deg);
    }

    .home-page.mobile-nav-open .mobile-menu-toggle span:last-child{
        transform:translateY(-3.5px) rotate(-45deg);
    }

    .home-page header > nav{
        position:absolute;
        top:100%;
        right:0;
        bottom:auto;
        left:0;
        width:100%;
        height:calc(100vh - 64px);
        z-index:11;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        justify-content:flex-start;
        gap:0;
        padding:34px 16px 48px;
        overflow-y:auto;
        background:#0b0b0b;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-8px);
        transition:opacity .24s ease, transform .24s ease, visibility .24s ease;
    }

    body.theme-day.home-page header > nav{
        background:#d8d3cb;
    }

    .home-page.mobile-nav-open header > nav{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0);
    }

    .home-page header > nav a{
        margin-left:0;
        padding:18px 0;
        border-bottom:1px solid rgba(255,255,255,0.14);
        font-size:clamp(28px, 9vw, 40px);
        line-height:1.05;
        letter-spacing:-0.035em;
    }

    body.theme-day.home-page header > nav a{
        border-bottom-color:rgba(31,29,26,0.14);
    }

    .home-page .hero{
        height:100vh;
        min-height:560px;
        padding:80px 16px 16px;
    }

    @supports (height: 100svh){
        .home-page .hero{
            height:100svh;
        }
    }

    .home-page .hero-image{
        object-position:center center;
    }

    .home-page .hero-label{
        max-width:calc(100% - 16px);
        padding:10px 12px;
        font-size:13px;
        line-height:1.25;
        backdrop-filter:blur(6px);
        -webkit-backdrop-filter:blur(6px);
    }

    .home-page .section{
        padding:72px 16px;
    }

    .home-page .section + .section{
        padding-top:20px;
    }

    .home-page .section h2{
        margin:0 0 30px;
        font-size:clamp(30px, 9vw, 42px);
        line-height:1;
        font-weight:normal;
        letter-spacing:-0.04em;
    }

    .home-page .selected-grid{
        display:grid;
        grid-template-columns:1fr;
        gap:12px;
    }

    .home-page .selected-grid a{
        display:block;
        min-width:0;
        overflow:hidden;
    }

    .home-page .selected-grid img,
    .home-page .selected-grid a img{
        width:100%;
        height:auto;
    }

    .home-page .works-list{
        gap:0;
    }

    .home-page .works-list a{
        display:flex;
        align-items:center;
        min-height:64px;
        padding:18px 0;
        font-size:24px;
        line-height:1.15;
    }

    .home-page footer{
        padding:48px 16px 40px;
        font-size:14px;
        line-height:1.5;
    }
}

@media (max-width: 380px){
    .home-page .site-title{
        font-size:18px;
    }

    .home-page .section{
        padding-left:14px;
        padding-right:14px;
    }

    .home-page .hero{
        padding-left:14px;
        padding-right:14px;
    }
}

@media (prefers-reduced-motion: reduce){
    .home-page header > nav,
    .home-page .mobile-menu-toggle span{
        transition:none;
    }
}

/* ===== PAINTINGS PAGE: MOBILE VERTICAL FEED ===== */

@media (max-width: 760px){
    .paintings-page{
        overflow-x:hidden;
    }

    .paintings-page.mobile-nav-open{
        overflow:hidden;
    }

    .paintings-page header{
        min-height:64px;
        padding:14px 16px;
        gap:12px;
        background:rgba(11,11,11,0.78);
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
    }

    body.theme-day.paintings-page header{
        background:rgba(216,211,203,0.88);
    }

    .paintings-page .site-title{
        flex:1 1 auto;
        min-width:0;
        font-size:21px;
        line-height:1.1;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .paintings-page .theme-switch{
        flex:0 0 auto;
        margin-left:0;
        gap:0;
    }

    .paintings-page .theme-switch-label{
        display:none;
    }

    .paintings-page .theme-switch-track{
        width:40px;
        height:22px;
    }

    .paintings-page .theme-switch-thumb{
        width:16px;
        height:16px;
    }

    body.theme-night.paintings-page .theme-switch-thumb{
        transform:translateX(18px);
    }

    .paintings-page .mobile-menu-toggle{
        display:flex;
        flex:0 0 44px;
        width:44px;
        height:44px;
        margin:-8px -8px -8px 0;
        padding:0;
        border:0;
        background:transparent;
        color:inherit;
        align-items:center;
        justify-content:center;
        flex-direction:column;
        gap:6px;
        cursor:pointer;
        position:relative;
        z-index:12;
    }

    .paintings-page .mobile-menu-toggle span{
        display:block;
        width:22px;
        height:1px;
        background:currentColor;
        transform-origin:center;
        transition:transform .25s ease, opacity .2s ease;
    }

    .paintings-page.mobile-nav-open .mobile-menu-toggle span:first-child{
        transform:translateY(3.5px) rotate(45deg);
    }

    .paintings-page.mobile-nav-open .mobile-menu-toggle span:last-child{
        transform:translateY(-3.5px) rotate(-45deg);
    }

    .paintings-page header > nav{
        position:absolute;
        top:100%;
        right:0;
        bottom:auto;
        left:0;
        width:100%;
        height:calc(100vh - 64px);
        z-index:11;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        justify-content:flex-start;
        gap:0;
        padding:34px 16px 48px;
        overflow-y:auto;
        background:#0b0b0b;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-8px);
        transition:opacity .24s ease, transform .24s ease, visibility .24s ease;
    }

    body.theme-day.paintings-page header > nav{
        background:#d8d3cb;
    }

    .paintings-page.mobile-nav-open header > nav{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0);
    }

    .paintings-page header > nav a{
        margin-left:0;
        padding:18px 0;
        border-bottom:1px solid rgba(255,255,255,0.14);
        font-size:clamp(28px, 9vw, 40px);
        line-height:1.05;
        letter-spacing:-0.035em;
    }

    body.theme-day.paintings-page header > nav a{
        border-bottom-color:rgba(31,29,26,0.14);
    }

    .paintings-page .container{
        padding:104px 16px 72px;
    }

    .paintings-page h1{
        margin:0 0 38px;
        font-size:clamp(38px, 12vw, 54px);
        line-height:.95;
        letter-spacing:-0.045em;
    }

    .paintings-page .series-grid{
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:18px;
        overflow:visible;
    }

    .paintings-page .series-card{
        width:calc(80% + (var(--scroll-focus) * 25%));
        min-width:0;
        flex:0 0 auto;
        overflow:visible;
        --scroll-focus:0;
        will-change:width;
        background:transparent;
    }

    .paintings-page .series-card-image{
        display:block;
        width:100%;
        height:auto;
        margin:0;
        padding:8px;
        aspect-ratio:1 / 1;
        object-fit:cover;
        transform:none;
        transition:none;
        background:#111;
    }

    .paintings-page .series-card-title{
        position:relative;
        left:auto;
        right:auto;
        bottom:auto;
        width:calc(100% - 16px);
        height:44px;
        margin:0 8px 8px;
        padding:0 12px;
        display:flex;
        align-items:center;
        overflow:hidden;
        font-size:15px;
        line-height:1.15;
        white-space:nowrap;
        text-overflow:ellipsis;
        background:rgba(0,0,0,calc(0.55 + (var(--scroll-focus) * 0.20)));
        transition:none;
    }

    body.theme-day.paintings-page .series-card-image{
        background:#e5e3de;
    }

    body.theme-day.paintings-page .series-card-title{
        background:rgba(235,232,227,calc(0.92 + (var(--scroll-focus) * 0.06)));
        color:#1f1d1a;
    }

    /* On touch screens the scroll position drives the effect, not :hover. */
    .paintings-page .series-card:hover .series-card-image{
        transform:none;
    }

    .paintings-page footer{
        padding:48px 16px 40px;
        font-size:14px;
        line-height:1.5;
    }
}

@media (max-width: 380px){
    .paintings-page .site-title{
        font-size:18px;
    }

    .paintings-page .container{
        padding-left:14px;
        padding-right:14px;
    }
}

@media (prefers-reduced-motion: reduce){
    .paintings-page .series-card-image{
        transform:none !important;
    }

    .paintings-page header > nav,
    .paintings-page .mobile-menu-toggle span{
        transition:none;
    }
}

/* ===== PAINTING SERIES PAGE: MOBILE SCROLL-DRIVEN DESKTOP HOVER ===== */

@media (max-width: 760px){
    .painting-series-page{
        overflow-x:hidden;
    }

    .painting-series-page.mobile-nav-open{
        overflow:hidden;
    }

    .painting-series-page header{
        min-height:64px;
        padding:14px 16px;
        gap:12px;
        background:rgba(11,11,11,0.78);
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
    }

    body.theme-day.painting-series-page header{
        background:rgba(216,211,203,0.88);
    }

    .painting-series-page .site-title{
        flex:1 1 auto;
        min-width:0;
        font-size:21px;
        line-height:1.1;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .painting-series-page .theme-switch{
        flex:0 0 auto;
        margin-left:0;
        gap:0;
    }

    .painting-series-page .theme-switch-label{
        display:none;
    }

    .painting-series-page .theme-switch-track{
        width:40px;
        height:22px;
    }

    .painting-series-page .theme-switch-thumb{
        width:16px;
        height:16px;
    }

    body.theme-night.painting-series-page .theme-switch-thumb{
        transform:translateX(18px);
    }

    .painting-series-page .mobile-menu-toggle{
        display:flex;
        flex:0 0 44px;
        width:44px;
        height:44px;
        margin:-8px -8px -8px 0;
        padding:0;
        border:0;
        background:transparent;
        color:inherit;
        align-items:center;
        justify-content:center;
        flex-direction:column;
        gap:6px;
        cursor:pointer;
        position:relative;
        z-index:12;
    }

    .painting-series-page .mobile-menu-toggle span{
        display:block;
        width:22px;
        height:1px;
        background:currentColor;
        transform-origin:center;
        transition:transform .25s ease, opacity .2s ease;
    }

    .painting-series-page.mobile-nav-open .mobile-menu-toggle span:first-child{
        transform:translateY(3.5px) rotate(45deg);
    }

    .painting-series-page.mobile-nav-open .mobile-menu-toggle span:last-child{
        transform:translateY(-3.5px) rotate(-45deg);
    }

    .painting-series-page header > nav{
        position:absolute;
        top:100%;
        right:0;
        bottom:auto;
        left:0;
        width:100%;
        height:calc(100vh - 64px);
        z-index:11;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        justify-content:flex-start;
        gap:0;
        padding:34px 16px 48px;
        overflow-y:auto;
        background:#0b0b0b;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-8px);
        transition:opacity .24s ease, transform .24s ease, visibility .24s ease;
    }

    body.theme-day.painting-series-page header > nav{
        background:#d8d3cb;
    }

    .painting-series-page.mobile-nav-open header > nav{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0);
    }

    .painting-series-page header > nav a{
        margin-left:0;
        padding:18px 0;
        border-bottom:1px solid rgba(255,255,255,0.14);
        font-size:clamp(28px, 9vw, 40px);
        line-height:1.05;
        letter-spacing:-0.035em;
    }

    body.theme-day.painting-series-page header > nav a{
        border-bottom-color:rgba(31,29,26,0.14);
    }

    .painting-series-page .container{
        padding:104px 16px 72px;
    }

    .painting-series-page h1{
        margin:0 0 38px;
        font-size:clamp(38px, 12vw, 54px);
        line-height:.95;
        letter-spacing:-0.045em;
    }

    .painting-series-page .series-page-grid{
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:18px;
        overflow:visible;
    }

    .painting-series-page .art-card-shell{
        position:relative;
        width:calc(80% + (var(--scroll-focus, 0) * 25%));
        aspect-ratio:1 / 1;
        min-width:0;
        flex:0 0 auto;
        --scroll-focus:0;
        --mobile-image-scale:1;
        --mobile-media-inset:10px;
        --mobile-frame-alpha-night:.22;
        --mobile-frame-alpha-day:.16;
        will-change:width;
    }

    .painting-series-page .art-card{
        width:100%;
        height:100%;
        aspect-ratio:1 / 1;
    }

    .painting-series-page .art-card-media{
        top:var(--mobile-media-inset);
        right:var(--mobile-media-inset);
        bottom:var(--mobile-media-inset);
        left:var(--mobile-media-inset);
        transition:none;
    }

    .painting-series-page .art-card-image{
        transform:translate(-50%, -50%) scale(var(--mobile-image-scale));
        transition:none;
        will-change:transform;
    }

    .painting-series-page .art-card-frame{
        border-color:rgba(255,255,255,var(--mobile-frame-alpha-night));
        transition:none;
    }

    body.theme-day.painting-series-page .art-card-frame{
        border-color:rgba(31,29,26,var(--mobile-frame-alpha-day));
    }

    .painting-series-page .art-card-title{
        left:15px;
        right:15px;
        bottom:15px;
        font-size:15px;
    }

    /* Neutralize sticky touch-hover; scroll position owns the effect. */
    .painting-series-page .art-card:hover .art-card-media{
        top:var(--mobile-media-inset);
        right:var(--mobile-media-inset);
        bottom:var(--mobile-media-inset);
        left:var(--mobile-media-inset);
    }

    .painting-series-page .art-card:hover .art-card-image{
        transform:translate(-50%, -50%) scale(var(--mobile-image-scale));
    }

    .painting-series-page footer{
        padding:48px 16px 40px;
        font-size:14px;
        line-height:1.5;
    }
}

@media (max-width: 380px){
    .painting-series-page .site-title{
        font-size:18px;
    }

    .painting-series-page .container{
        padding-left:14px;
        padding-right:14px;
    }
}

@media (prefers-reduced-motion: reduce){
    .painting-series-page header > nav,
    .painting-series-page .mobile-menu-toggle span{
        transition:none;
    }
}

/* ===== ARTWORK DETAIL PAGES: BACK LINK + MOBILE HEADER ===== */

.artwork-back-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:0 0 40px;
    color:rgba(234,234,234,0.82);
    text-decoration:none;
    font-size:14px;
    line-height:1.2;
    transition:opacity .2s ease;
}

.artwork-back-link:hover{
    opacity:.65;
}

body.theme-day .artwork-back-link{
    color:rgba(31,29,26,0.76);
}

@media (max-width:760px){
    .artwork-page{
        overflow-x:hidden;
    }

    .artwork-page.mobile-nav-open{
        overflow:hidden;
    }

    .artwork-page header{
        min-height:64px;
        padding:14px 16px;
        gap:12px;
        background:rgba(11,11,11,0.78);
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
    }

    body.theme-day.artwork-page header{
        background:rgba(216,211,203,0.88);
    }

    .artwork-page .site-title{
        flex:1 1 auto;
        min-width:0;
        font-size:21px;
        line-height:1.1;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .artwork-page .theme-switch{
        flex:0 0 auto;
        margin-left:0;
        gap:0;
    }

    .artwork-page .theme-switch-label{
        display:none;
    }

    .artwork-page .theme-switch-track{
        width:40px;
        height:22px;
    }

    .artwork-page .theme-switch-thumb{
        width:16px;
        height:16px;
    }

    body.theme-night.artwork-page .theme-switch-thumb{
        transform:translateX(18px);
    }

    .artwork-page .mobile-menu-toggle{
        display:flex;
        flex:0 0 44px;
        width:44px;
        height:44px;
        margin:-8px -8px -8px 0;
        padding:0;
        border:0;
        background:transparent;
        color:inherit;
        align-items:center;
        justify-content:center;
        flex-direction:column;
        gap:6px;
        cursor:pointer;
        position:relative;
        z-index:12;
    }

    .artwork-page .mobile-menu-toggle span{
        display:block;
        width:22px;
        height:1px;
        background:currentColor;
        transform-origin:center;
        transition:transform .25s ease, opacity .2s ease;
    }

    .artwork-page.mobile-nav-open .mobile-menu-toggle span:first-child{
        transform:translateY(3.5px) rotate(45deg);
    }

    .artwork-page.mobile-nav-open .mobile-menu-toggle span:last-child{
        transform:translateY(-3.5px) rotate(-45deg);
    }

    .artwork-page header > nav{
        position:absolute;
        top:100%;
        right:0;
        bottom:auto;
        left:0;
        width:100%;
        height:calc(100vh - 64px);
        z-index:11;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        justify-content:flex-start;
        gap:0;
        padding:34px 16px 48px;
        overflow-y:auto;
        background:#0b0b0b;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-8px);
        transition:opacity .24s ease, transform .24s ease, visibility .24s ease;
    }

    body.theme-day.artwork-page header > nav{
        background:#d8d3cb;
    }

    .artwork-page.mobile-nav-open header > nav{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0);
    }

    .artwork-page header > nav a{
        margin-left:0;
        padding:18px 0;
        border-bottom:1px solid rgba(255,255,255,0.14);
        font-size:clamp(28px, 9vw, 40px);
        line-height:1.05;
        letter-spacing:-0.035em;
    }

    body.theme-day.artwork-page header > nav a{
        border-bottom-color:rgba(31,29,26,0.14);
    }

    .artwork-page .artwork-page-container{
        padding-top:104px;
        padding-left:16px;
        padding-right:16px;
    }

    .artwork-page .artwork-back-link{
        margin-bottom:24px;
        min-height:44px;
        font-size:14px;
    }

    .artwork-page footer{
        padding:48px 16px 40px;
        font-size:14px;
        line-height:1.5;
    }
}

@media (max-width:380px){
    .artwork-page .site-title{
        font-size:18px;
    }

    .artwork-page .artwork-page-container{
        padding-left:14px;
        padding-right:14px;
    }
}

@media (prefers-reduced-motion:reduce){
    .artwork-page header > nav,
    .artwork-page .mobile-menu-toggle span{
        transition:none;
    }
}


/* ===== TEMPORARILY DISABLED: PROJECTS / EXPERIMENTS ===== */
/* Keep links in HTML so the section can be restored later. */
a[href$="projects.html"]{
    display:none !important;
}

/* ===== PHOTOGRAPHY: MOBILE ===== */
@media (max-width:760px){
    .photography-page{
        overflow-x:hidden;
    }

    .photography-page.mobile-nav-open{
        overflow:hidden;
    }

    .photography-page header{
        min-height:64px;
        padding:14px 16px;
        gap:12px;
        background:rgba(11,11,11,0.78);
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
    }

    body.theme-day.photography-page header{
        background:rgba(216,211,203,0.88);
    }

    .photography-page .site-title{
        flex:1 1 auto;
        min-width:0;
        font-size:21px;
        line-height:1.1;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .photography-page .theme-switch{
        flex:0 0 auto;
        margin-left:0;
        gap:0;
    }

    .photography-page .theme-switch-label{
        display:none;
    }

    .photography-page .theme-switch-track{
        width:40px;
        height:22px;
    }

    .photography-page .theme-switch-thumb{
        width:16px;
        height:16px;
    }

    body.theme-night.photography-page .theme-switch-thumb{
        transform:translateX(18px);
    }

    .photography-page .mobile-menu-toggle{
        display:flex;
        flex:0 0 44px;
        width:44px;
        height:44px;
        margin:-8px -8px -8px 0;
        padding:0;
        border:0;
        background:transparent;
        color:inherit;
        align-items:center;
        justify-content:center;
        flex-direction:column;
        gap:6px;
        cursor:pointer;
        position:relative;
        z-index:12;
    }

    .photography-page .mobile-menu-toggle span{
        display:block;
        width:22px;
        height:1px;
        background:currentColor;
        transform-origin:center;
        transition:transform .25s ease, opacity .2s ease;
    }

    .photography-page.mobile-nav-open .mobile-menu-toggle span:first-child{
        transform:translateY(3.5px) rotate(45deg);
    }

    .photography-page.mobile-nav-open .mobile-menu-toggle span:last-child{
        transform:translateY(-3.5px) rotate(-45deg);
    }

    .photography-page header > nav{
        position:absolute;
        top:100%;
        right:0;
        bottom:auto;
        left:0;
        width:100%;
        height:calc(100vh - 64px);
        z-index:11;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        justify-content:flex-start;
        gap:0;
        padding:34px 16px 48px;
        overflow-y:auto;
        background:#0b0b0b;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-8px);
        transition:opacity .24s ease, transform .24s ease, visibility .24s ease;
    }

    body.theme-day.photography-page header > nav{
        background:#d8d3cb;
    }

    .photography-page.mobile-nav-open header > nav{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0);
    }

    .photography-page header > nav a{
        margin-left:0;
        padding:18px 0;
        border-bottom:1px solid rgba(255,255,255,0.14);
        font-size:clamp(28px,9vw,40px);
        line-height:1.05;
        letter-spacing:-0.035em;
    }

    body.theme-day.photography-page header > nav a{
        border-bottom-color:rgba(31,29,26,0.14);
    }

    .photography-page .statement-page{
        padding:104px 16px 64px;
    }

    .photography-page .statement-hero{
        margin-bottom:44px;
    }

    .photography-page .statement-hero h1{
        font-size:clamp(50px,16vw,72px);
        line-height:.9;
    }

    .photography-page .statement-layout{
        display:block;
    }

    .photography-page .statement-side{
        position:static;
        margin-bottom:36px;
        font-size:16px;
        line-height:1.45;
    }

    .photography-page .statement-text{
        font-size:17px;
        line-height:1.5;
    }

    .photography-page .statement-lead{
        margin-bottom:48px !important;
        font-size:clamp(27px,8.5vw,36px);
        line-height:1.08;
    }

    .photography-page .photo-projects{
        margin-top:0;
    }

    .photography-page .photo-project{
        padding:34px 0 48px;
        opacity:1;
        overflow:visible;
    }

    .photography-page .photo-project:hover{
        opacity:1;
    }

    .photography-page .photo-project-content{
        display:block;
    }

    .photography-page .photo-project-meta{
        margin-bottom:10px;
        font-size:11px;
    }

    .photography-page .photo-project h2{
        margin-bottom:14px;
        font-size:clamp(34px,10vw,48px);
        line-height:.98;
    }

    .photography-page .photo-project p{
        max-width:none;
        font-size:16px;
        line-height:1.5;
    }

    .photography-page .photo-mosaic{
        width:100%;
        max-width:none;
        height:auto;
        aspect-ratio:1.38 / 1;
        margin:34px 0 8px;
        overflow:visible;
        transform:translateZ(0);
    }

    .photography-page .photo-mosaic img{
        border-radius:3px;
        transition:none;
        will-change:transform;
        transform-origin:center;
    }

    .photography-page .photo-mosaic img:nth-child(1){
        width:43%;
        height:84%;
        left:0;
        top:8%;
    }

    .photography-page .photo-mosaic img:nth-child(2){
        width:34%;
        height:54%;
        left:33%;
        top:0;
    }

    .photography-page .photo-mosaic img:nth-child(3){
        width:43%;
        height:46%;
        right:0;
        top:12%;
    }

    .photography-page .photo-mosaic img:nth-child(4){
        width:29%;
        height:46%;
        left:26%;
        bottom:0;
    }

    .photography-page .photo-mosaic img:nth-child(5){
        width:40%;
        height:54%;
        right:2%;
        bottom:4%;
    }

    /* Touch devices: the scroll position, not sticky :hover, owns transforms. */
    .photography-page .photo-project:hover .photo-mosaic img:nth-child(1),
    .photography-page .photo-project:hover .photo-mosaic img:nth-child(2),
    .photography-page .photo-project:hover .photo-mosaic img:nth-child(3),
    .photography-page .photo-project:hover .photo-mosaic img:nth-child(4),
    .photography-page .photo-project:hover .photo-mosaic img:nth-child(5){
        transform:none;
    }

    .photography-page footer{
        padding:48px 16px 40px;
        font-size:14px;
        line-height:1.5;
    }
}

@media (max-width:380px){
    .photography-page .site-title{
        font-size:18px;
    }

    .photography-page .statement-page{
        padding-left:14px;
        padding-right:14px;
    }
}

@media (prefers-reduced-motion:reduce){
    .photography-page header > nav,
    .photography-page .mobile-menu-toggle span{
        transition:none;
    }
}

/* ===== EXHIBITIONS PAGE ===== */
.exhibitions-main{
    min-height:100vh;
    padding:150px 60px 110px;
}

.exhibitions-hero{
    max-width:1320px;
    margin:0 auto 130px;
}

.exhibitions-kicker,
.exhibition-meta{
    font-size:12px;
    line-height:1.3;
    letter-spacing:.17em;
    text-transform:uppercase;
    opacity:.56;
}

.exhibitions-kicker{
    margin-bottom:22px;
}

.exhibitions-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 290px;
    gap:70px;
    align-items:end;
}

.exhibitions-hero h1{
    margin:0;
    font-size:clamp(72px,10vw,156px);
    line-height:.82;
    font-weight:400;
    letter-spacing:-.068em;
}

.exhibitions-index{
    display:flex;
    flex-direction:column;
    gap:8px;
    padding-bottom:8px;
    font-size:13px;
    line-height:1.35;
    opacity:.58;
}

.exhibitions-intro{
    max-width:790px;
    margin:68px 0 0 auto;
    font-size:clamp(27px,3vw,46px);
    line-height:1.08;
    letter-spacing:-.035em;
}

.exhibition-entry{
    position:relative;
    max-width:1320px;
    margin:0 auto;
    padding:110px 0 140px;
    border-top:1px solid rgba(255,255,255,.13);
    display:grid;
    grid-template-columns:minmax(280px,.72fr) minmax(0,1.55fr);
    gap:82px;
    align-items:start;
}

body.theme-day .exhibition-entry{
    border-top-color:rgba(31,29,26,.14);
}

.exhibition-entry-reverse{
    grid-template-columns:minmax(0,1.55fr) minmax(280px,.72fr);
}

.exhibition-entry-reverse .exhibition-copy{
    grid-column:2;
    grid-row:1;
}

.exhibition-entry-reverse .exhibition-collage{
    grid-column:1;
    grid-row:1;
}

.exhibition-copy{
    position:sticky;
    top:130px;
    min-width:0;
}

.exhibition-number{
    margin-bottom:52px;
    font-size:12px;
    letter-spacing:.18em;
    opacity:.45;
}

.exhibition-meta{
    margin-bottom:18px;
}

.exhibition-copy h2{
    margin:0 0 24px;
    max-width:520px;
    font-size:clamp(44px,5vw,78px);
    line-height:.92;
    font-weight:400;
    letter-spacing:-.052em;
}

.exhibition-native-title{
    margin:-10px 0 28px;
    font-size:16px;
    opacity:.5;
}

.exhibition-concept{
    max-width:510px;
    margin:0;
    font-size:18px;
    line-height:1.5;
    letter-spacing:-.012em;
    opacity:.78;
}

.exhibition-facts{
    display:flex;
    flex-direction:column;
    gap:5px;
    margin-top:32px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.12);
    font-size:12px;
    line-height:1.45;
    letter-spacing:.05em;
    text-transform:uppercase;
    opacity:.55;
}

body.theme-day .exhibition-facts{
    border-top-color:rgba(31,29,26,.13);
}

.exhibition-collage{
    position:relative;
    width:100%;
    min-width:0;
    aspect-ratio:1.18 / 1;
}

.exhibition-tile{
    position:absolute;
    margin:0;
    overflow:hidden;
    background:#161616;
    transform-origin:center;
    transition:transform .45s cubic-bezier(.2,.72,.25,1), filter .35s ease;
    will-change:transform;
}

body.theme-day .exhibition-tile{
    background:#c9c4bc;
}

.exhibition-tile img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .55s cubic-bezier(.2,.72,.25,1), filter .35s ease;
}

@media (hover:hover) and (pointer:fine){
    .exhibition-entry:hover .exhibition-tile img{
        transform:scale(1.025);
    }

    .exhibition-tile:hover img{
        transform:scale(1.07);
    }
}

/* Arambol field */
.exhibition-collage-a .tile-a1{left:0;top:3%;width:43%;height:42%;z-index:2;}
.exhibition-collage-a .tile-a2{right:1%;top:0;width:48%;height:32%;z-index:1;}
.exhibition-collage-a .tile-a3{left:9%;top:49%;width:30%;height:33%;z-index:4;}
.exhibition-collage-a .tile-a4{left:43%;top:36%;width:32%;height:40%;z-index:3;}
.exhibition-collage-a .tile-a5{right:0;top:38%;width:23%;height:24%;z-index:5;}
.exhibition-collage-a .tile-a6{right:5%;bottom:0;width:43%;height:31%;z-index:2;}
.exhibition-collage-a .tile-a7{left:0;bottom:0;width:31%;height:20%;z-index:3;}

/* TripFoundation field */
.exhibition-collage-b .tile-b1{left:0;top:0;width:39%;height:32%;z-index:2;}
.exhibition-collage-b .tile-b2{left:43%;top:4%;width:28%;height:45%;z-index:4;}
.exhibition-collage-b .tile-b3{right:0;top:0;width:25%;height:28%;z-index:3;}
.exhibition-collage-b .tile-b4{left:7%;top:38%;width:40%;height:34%;z-index:1;}
.exhibition-collage-b .tile-b5{right:3%;top:34%;width:43%;height:38%;z-index:2;}
.exhibition-collage-b .tile-b6{left:0;bottom:0;width:30%;height:23%;z-index:4;}
.exhibition-collage-b .tile-b7{right:18%;bottom:0;width:43%;height:23%;z-index:3;}

/* Yekaterinburg field */
.exhibition-collage-c .tile-c1{left:0;top:0;width:34%;height:30%;z-index:3;}
.exhibition-collage-c .tile-c2{left:38%;top:4%;width:28%;height:33%;z-index:4;}
.exhibition-collage-c .tile-c3{right:0;top:0;width:30%;height:27%;z-index:2;}
.exhibition-collage-c .tile-c4{left:4%;top:35%;width:30%;height:29%;z-index:2;}
.exhibition-collage-c .tile-c5{left:38%;top:42%;width:31%;height:31%;z-index:3;}
.exhibition-collage-c .tile-c6{right:0;top:32%;width:27%;height:34%;z-index:4;}
.exhibition-collage-c .tile-c7{left:10%;bottom:0;width:39%;height:27%;z-index:1;}
.exhibition-collage-c .tile-c8{right:7%;bottom:0;width:24%;height:30%;z-index:5;}
.exhibition-poster img{object-fit:cover;object-position:center 16%;}

body.theme-night .exhibitions-main{
    background:#0b0b0b;
    color:#f1eee8;
}

body.theme-day .exhibitions-main{
    background:#d8d3cb;
    color:#1f1d1a;
}

@media (max-width:980px){
    .exhibitions-main{
        padding-left:30px;
        padding-right:30px;
    }

    .exhibitions-hero-grid{
        grid-template-columns:1fr 220px;
        gap:40px;
    }

    .exhibition-entry,
    .exhibition-entry-reverse{
        grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);
        gap:46px;
    }
}

/* ===== EXHIBITIONS: MOBILE ===== */
@media (max-width:760px){
    .exhibitions-page{
        overflow-x:hidden;
    }

    .exhibitions-page.mobile-nav-open{
        overflow:hidden;
    }

    .exhibitions-page header{
        min-height:64px;
        padding:14px 16px;
        gap:12px;
    }

    .exhibitions-page .site-title{
        flex:1 1 auto;
        min-width:0;
        font-size:21px;
        line-height:1.05;
        letter-spacing:-.025em;
        white-space:nowrap;
    }

    .exhibitions-page .theme-switch{
        flex:0 0 auto;
        gap:5px;
        font-size:10px;
    }

    .exhibitions-page .theme-switch-track{
        width:38px;
        height:20px;
    }

    .exhibitions-page .theme-switch-thumb{
        width:14px;
        height:14px;
    }

    .exhibitions-page .mobile-menu-toggle{
        position:relative;
        z-index:12;
        flex:0 0 44px;
        width:44px;
        height:44px;
        margin:-4px -9px -4px 0;
        padding:0;
        border:0;
        background:transparent;
        color:inherit;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:6px;
        cursor:pointer;
    }

    .exhibitions-page .mobile-menu-toggle span{
        display:block;
        width:22px;
        height:1px;
        background:currentColor;
        transform-origin:center;
        transition:transform .25s ease, opacity .2s ease;
    }

    .exhibitions-page.mobile-nav-open .mobile-menu-toggle span:first-child{
        transform:translateY(3.5px) rotate(45deg);
    }

    .exhibitions-page.mobile-nav-open .mobile-menu-toggle span:last-child{
        transform:translateY(-3.5px) rotate(-45deg);
    }

    .exhibitions-page header > nav{
        position:absolute;
        top:100%;
        right:0;
        left:0;
        width:100%;
        height:calc(100vh - 64px);
        z-index:11;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        justify-content:flex-start;
        gap:0;
        padding:34px 16px 48px;
        overflow-y:auto;
        background:#0b0b0b;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-8px);
        transition:opacity .24s ease, transform .24s ease, visibility .24s ease;
    }

    body.theme-day.exhibitions-page header > nav{
        background:#d8d3cb;
    }

    .exhibitions-page.mobile-nav-open header > nav{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0);
    }

    .exhibitions-page header > nav a{
        margin-left:0;
        padding:18px 0;
        border-bottom:1px solid rgba(255,255,255,.14);
        font-size:clamp(28px,9vw,40px);
        line-height:1.05;
        letter-spacing:-.035em;
    }

    body.theme-day.exhibitions-page header > nav a{
        border-bottom-color:rgba(31,29,26,.14);
    }

    .exhibitions-main{
        padding:106px 16px 72px;
    }

    .exhibitions-hero{
        margin-bottom:84px;
    }

    .exhibitions-kicker{
        margin-bottom:17px;
        font-size:10px;
    }

    .exhibitions-hero-grid{
        display:block;
    }

    .exhibitions-hero h1{
        font-size:clamp(58px,18vw,82px);
        line-height:.86;
    }

    .exhibitions-index{
        margin-top:32px;
        padding:0;
        font-size:12px;
    }

    .exhibitions-intro{
        margin:42px 0 0;
        max-width:none;
        font-size:clamp(27px,8vw,36px);
        line-height:1.08;
    }

    .exhibition-entry,
    .exhibition-entry-reverse{
        display:flex;
        flex-direction:column;
        gap:38px;
        margin:0;
        padding:62px 0 92px;
    }

    .exhibition-entry-reverse .exhibition-copy,
    .exhibition-entry-reverse .exhibition-collage{
        grid-column:auto;
        grid-row:auto;
    }

    .exhibition-copy{
        position:static;
        order:1;
    }

    .exhibition-collage{
        order:2;
    }

    .exhibition-number{
        margin-bottom:28px;
        font-size:10px;
    }

    .exhibition-meta{
        margin-bottom:12px;
        font-size:10px;
        line-height:1.45;
    }

    .exhibition-copy h2{
        margin-bottom:18px;
        max-width:none;
        font-size:clamp(42px,13vw,58px);
        line-height:.92;
    }

    .exhibition-native-title{
        margin:-5px 0 20px;
        font-size:14px;
    }

    .exhibition-concept{
        max-width:none;
        font-size:17px;
        line-height:1.48;
    }

    .exhibition-facts{
        margin-top:26px;
        font-size:10px;
    }

    .exhibition-collage,
    .exhibition-collage-a,
    .exhibition-collage-b,
    .exhibition-collage-c{
        position:relative;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px;
        width:100%;
        aspect-ratio:auto;
        padding:9px 0;
    }

    .exhibition-tile,
    .exhibition-collage-a .exhibition-tile,
    .exhibition-collage-b .exhibition-tile,
    .exhibition-collage-c .exhibition-tile{
        position:relative;
        inset:auto;
        left:auto;
        right:auto;
        top:auto;
        bottom:auto;
        width:auto;
        height:auto;
        min-width:0;
        aspect-ratio:1 / 1;
        z-index:auto;
        transition:none;
        border-radius:2px;
    }

    .exhibition-tile:nth-child(3n+1){
        aspect-ratio:1 / 1.18;
    }

    .exhibition-tile:nth-child(4n+2){
        aspect-ratio:1.12 / 1;
    }

    .exhibition-tile:nth-child(5){
        grid-column:1 / -1;
        aspect-ratio:1.8 / 1;
    }

    .exhibition-collage-c .tile-c8{
        grid-column:auto;
        aspect-ratio:.72 / 1;
        width:80%;
        justify-self:end;
    }

    .exhibition-tile img{
        transition:none;
    }

    .exhibitions-page footer{
        padding:48px 16px 40px;
        font-size:14px;
        line-height:1.5;
    }
}

@media (max-width:380px){
    .exhibitions-page .site-title{
        font-size:18px;
    }

    .exhibitions-main{
        padding-left:14px;
        padding-right:14px;
    }
}

@media (prefers-reduced-motion:reduce){
    .exhibitions-page header > nav,
    .exhibitions-page .mobile-menu-toggle span,
    .exhibition-tile,
    .exhibition-tile img{
        transition:none;
    }
}

/* ===== 2026-09 MOBILE SYSTEM: UNIFIED HEADER + DENSE MOSAICS ===== */

/* Keep Projects / Experiments in source, but remove them from the live interface for now. */
a[href$="projects.html"],
a[href*="/projects.html"],
a[href*="projects-experiments"]{
    display:none !important;
}

@media (max-width:760px){
    /* One mobile header system for every page. */
    body.mobile-header{
        overflow-x:hidden;
    }

    body.mobile-header.mobile-nav-open{
        overflow:hidden;
    }

    body.mobile-header header{
        min-height:64px;
        padding:14px 16px;
        gap:12px;
        background:rgba(11,11,11,.78);
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
    }

    body.theme-day.mobile-header header{
        background:rgba(216,211,203,.88);
    }

    body.mobile-header .site-title{
        flex:1 1 auto;
        min-width:0;
        font-size:21px;
        line-height:1.1;
        letter-spacing:-.025em;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    body.mobile-header .theme-switch{
        flex:0 0 auto;
        margin-left:0;
        gap:0;
    }

    /* Mobile shows the switch itself, never the desktop Day / Night words. */
    body.mobile-header .theme-switch-label{
        display:none !important;
    }

    body.mobile-header .theme-switch-track{
        width:40px;
        height:22px;
    }

    body.mobile-header .theme-switch-thumb{
        width:16px;
        height:16px;
    }

    body.theme-night.mobile-header .theme-switch-thumb{
        transform:translateX(18px);
    }

    body.mobile-header .mobile-menu-toggle{
        display:flex !important;
        position:relative;
        z-index:12;
        flex:0 0 44px;
        width:44px;
        height:44px;
        margin:-8px -8px -8px 0;
        padding:0;
        border:0;
        background:transparent;
        color:inherit;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:6px;
        cursor:pointer;
    }

    body.mobile-header .mobile-menu-toggle span{
        display:block;
        width:22px;
        height:1px;
        background:currentColor;
        transform-origin:center;
        transition:transform .25s ease, opacity .2s ease;
    }

    body.mobile-header.mobile-nav-open .mobile-menu-toggle span:first-child{
        transform:translateY(3.5px) rotate(45deg);
    }

    body.mobile-header.mobile-nav-open .mobile-menu-toggle span:last-child{
        transform:translateY(-3.5px) rotate(-45deg);
    }

    body.mobile-header header > nav{
        position:absolute;
        top:100%;
        right:0;
        bottom:auto;
        left:0;
        width:100%;
        height:calc(100vh - 64px);
        z-index:11;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        justify-content:flex-start;
        gap:0;
        padding:34px 16px 48px;
        overflow-y:auto;
        background:#0b0b0b;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-8px);
        transition:opacity .24s ease, transform .24s ease, visibility .24s ease;
    }

    body.theme-day.mobile-header header > nav{
        background:#d8d3cb;
    }

    body.mobile-header.mobile-nav-open header > nav{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0);
    }

    body.mobile-header header > nav a{
        margin-left:0;
        padding:18px 0;
        border-bottom:1px solid rgba(255,255,255,.14);
        font-size:clamp(28px,9vw,40px);
        line-height:1.05;
        letter-spacing:-.035em;
    }

    body.theme-day.mobile-header header > nav a{
        border-bottom-color:rgba(31,29,26,.14);
    }

    /* Photography overview: dense five-image mosaic with a strong center image. */
    .photography-page .statement-page{
        padding-top:88px;
        padding-bottom:46px;
    }

    .photography-page .statement-hero{
        margin-bottom:24px;
    }

    .photography-page .statement-side{
        margin-bottom:22px;
    }

    .photography-page .statement-lead{
        margin-bottom:30px !important;
    }

    .photography-page .photo-project{
        padding:24px 0 34px;
    }

    .photography-page .photo-mosaic{
        display:grid;
        grid-template-columns:minmax(0,.86fr) minmax(0,2fr) minmax(0,.86fr);
        grid-template-rows:repeat(2,minmax(0,1fr));
        gap:6px;
        width:100%;
        height:auto;
        aspect-ratio:1.22 / 1;
        margin:22px 0 4px;
        overflow:visible;
    }

    .photography-page .photo-mosaic img,
    .photography-page .photo-mosaic img:nth-child(1),
    .photography-page .photo-mosaic img:nth-child(2),
    .photography-page .photo-mosaic img:nth-child(3),
    .photography-page .photo-mosaic img:nth-child(4),
    .photography-page .photo-mosaic img:nth-child(5){
        position:relative;
        inset:auto;
        left:auto;
        right:auto;
        top:auto;
        bottom:auto;
        width:100%;
        height:100%;
        min-width:0;
        object-fit:cover;
        border-radius:2px;
        transform-origin:center;
        will-change:transform;
    }

    .photography-page .photo-mosaic img:nth-child(1){
        grid-column:2;
        grid-row:1 / span 2;
    }

    .photography-page .photo-mosaic img:nth-child(2){grid-column:1;grid-row:1;}
    .photography-page .photo-mosaic img:nth-child(3){grid-column:1;grid-row:2;}
    .photography-page .photo-mosaic img:nth-child(4){grid-column:3;grid-row:1;}
    .photography-page .photo-mosaic img:nth-child(5){grid-column:3;grid-row:2;}

    /* Exhibitions: the collage starts as one tight composition, then breathes on scroll. */
    .exhibitions-main{
        padding-top:88px;
    }

    .exhibitions-page .exhibitions-hero{
        margin-bottom:56px;
    }

    .exhibitions-page .exhibition-entry,
    .exhibitions-page .exhibition-entry-reverse{
        gap:24px;
        padding:42px 0 64px;
    }

    .exhibitions-page .exhibition-number{
        margin-bottom:16px;
    }

    .exhibitions-page .exhibition-collage,
    .exhibitions-page .exhibition-collage-a,
    .exhibitions-page .exhibition-collage-b,
    .exhibitions-page .exhibition-collage-c{
        display:grid;
        grid-template-columns:minmax(0,.82fr) minmax(0,2fr) minmax(0,.82fr);
        grid-template-rows:repeat(3,minmax(0,1fr));
        gap:6px;
        width:100%;
        height:auto;
        aspect-ratio:1.18 / 1;
        padding:0;
        overflow:visible;
    }

    .exhibitions-page .exhibition-tile,
    .exhibitions-page .exhibition-collage-a .exhibition-tile,
    .exhibitions-page .exhibition-collage-b .exhibition-tile,
    .exhibitions-page .exhibition-collage-c .exhibition-tile{
        position:relative;
        inset:auto;
        width:100%;
        height:100%;
        min-width:0;
        aspect-ratio:auto;
        margin:0;
        overflow:hidden;
        border-radius:2px;
        justify-self:stretch;
        align-self:stretch;
        will-change:transform;
    }

    .exhibitions-page .exhibition-tile img{
        width:100%;
        height:100%;
        object-fit:cover;
        display:block;
    }

    .exhibitions-page .exhibition-tile:nth-child(1){grid-column:2;grid-row:1 / span 3;}
    .exhibitions-page .exhibition-tile:nth-child(2){grid-column:1;grid-row:1;}
    .exhibitions-page .exhibition-tile:nth-child(3){grid-column:1;grid-row:2;}
    .exhibitions-page .exhibition-tile:nth-child(4){grid-column:1;grid-row:3;}
    .exhibitions-page .exhibition-tile:nth-child(5){grid-column:3;grid-row:1;}
    .exhibitions-page .exhibition-tile:nth-child(6){grid-column:3;grid-row:2;}
    .exhibitions-page .exhibition-tile:nth-child(7){grid-column:3;grid-row:3;}

    .exhibitions-page .exhibition-poster{
        display:none;
    }

    .exhibitions-page .exhibition-tile-featured img{
        object-position:center center;
    }

    /* Individual photography series: compact intro + desktop-style living mosaic. */
    .photo-series-page .photo-series-screen{
        height:auto;
        min-height:0;
        padding:82px 14px 28px;
        overflow:visible;
    }

    .photo-series-page .breadcrumbs{
        display:none;
    }

    .photo-series-page .photo-series-fixed-layout{
        display:flex;
        flex-direction:column;
        gap:14px;
        height:auto;
        max-width:none;
    }

    .photo-series-page .photo-series-scroll{
        height:auto;
        overflow:visible;
        padding:0;
        margin:0;
    }

    .photo-series-page .photo-series-kicker{
        margin:0 0 5px;
        font-size:10px;
        letter-spacing:.09em;
    }

    .photo-series-page .photo-series-scroll h1{
        margin:0 0 10px;
        font-size:clamp(34px,10.5vw,46px);
        line-height:.94;
        letter-spacing:-.05em;
    }

    .photo-series-page .photo-series-meta-inline{
        gap:5px 8px;
        margin:0;
        font-size:9px;
        line-height:1.35;
    }

    .photo-series-page .series-about-button{
        margin-top:9px;
        padding:9px 13px;
        font-size:10px;
    }

    .photo-series-page .dynamic-photo-grid,
    .photo-series-page .photo-series-screen .dynamic-photo-grid{
        display:grid;
        grid-template-columns:repeat(12,minmax(0,1fr));
        grid-template-rows:repeat(12,minmax(0,1fr));
        grid-auto-rows:auto;
        gap:4px;
        width:100%;
        height:66svh;
        min-height:440px;
        max-height:640px;
        overflow:visible;
    }

    .photo-series-page .dynamic-photo-tile{
        min-width:0;
        min-height:0;
        will-change:transform;
        transform-origin:center;
    }

    /* Restore the desktop asymmetric composition after the old tablet fallback. */
    .photo-series-page .tile-a{grid-column:1 / span 6;grid-row:1 / span 8;}
    .photo-series-page .tile-b{grid-column:7 / span 3;grid-row:1 / span 4;}
    .photo-series-page .tile-c{grid-column:10 / span 2;grid-row:1 / span 2;}
    .photo-series-page .tile-d{grid-column:12 / span 1;grid-row:1 / span 2;}
    .photo-series-page .tile-e{grid-column:10 / span 1;grid-row:3 / span 2;}
    .photo-series-page .tile-f{grid-column:11 / span 2;grid-row:3 / span 2;}
    .photo-series-page .tile-g{grid-column:7 / span 2;grid-row:5 / span 3;}
    .photo-series-page .tile-h{grid-column:9 / span 2;grid-row:5 / span 3;}
    .photo-series-page .tile-i{grid-column:11 / span 1;grid-row:5 / span 1;}
    .photo-series-page .tile-j{grid-column:12 / span 1;grid-row:5 / span 1;}
    .photo-series-page .tile-k{grid-column:11 / span 2;grid-row:6 / span 2;}
    .photo-series-page .tile-l{grid-column:1 / span 3;grid-row:9 / span 3;}
    .photo-series-page .tile-m{grid-column:4 / span 3;grid-row:9 / span 3;}
    .photo-series-page .tile-n{grid-column:7 / span 3;grid-row:8 / span 4;}
    .photo-series-page .tile-o{grid-column:10 / span 3;grid-row:8 / span 4;}

    .photo-series-page .photo-series-screen + footer{
        padding:24px 14px 38px;
    }
}

@media (max-width:380px){
    body.mobile-header .site-title{
        font-size:18px;
    }

    .photo-series-page .photo-series-screen{
        padding-left:12px;
        padding-right:12px;
    }

    .photo-series-page .dynamic-photo-grid,
    .photo-series-page .photo-series-screen .dynamic-photo-grid{
        min-height:410px;
        gap:3px;
    }
}

@media (prefers-reduced-motion:reduce){
    body.mobile-header header > nav,
    body.mobile-header .mobile-menu-toggle span{
        transition:none;
    }
}

/* ===== MANUAL MOBILE FINISH 08: PHOTOGRAPHY / SERIES / EXHIBITIONS / HOME ===== */

@media (max-width:760px){
    /* Strong final mobile header override - same header on every adapted page. */
    body.mobile-header header{
        position:fixed;
        top:0;
        left:0;
        right:0;
        width:100%;
        min-height:64px;
        height:64px;
        padding:10px 14px 10px 16px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        z-index:1000;
        background:rgba(11,11,11,.88);
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
    }

    body.theme-day.mobile-header header{
        background:rgba(216,211,203,.92);
    }

    body.mobile-header .site-title{
        display:block;
        flex:1 1 auto;
        width:auto;
        min-width:0;
        margin:0;
        font-size:21px;
        line-height:1;
        letter-spacing:-.025em;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    body.mobile-header .theme-switch{
        display:flex;
        flex:0 0 auto;
        margin:0 1px 0 0;
        gap:0;
    }

    body.mobile-header .theme-switch-label{
        display:none !important;
    }

    body.mobile-header .mobile-menu-toggle{
        display:flex !important;
        flex:0 0 42px;
        width:42px;
        height:42px;
        margin:0 -5px 0 0;
        position:relative;
        z-index:1002;
    }

    body.mobile-header header > nav{
        display:flex !important;
        position:absolute !important;
        top:64px !important;
        left:0 !important;
        right:0 !important;
        width:100% !important;
        height:calc(100vh - 64px) !important;
        margin:0 !important;
        padding:30px 16px 46px !important;
        flex-direction:column !important;
        align-items:stretch !important;
        justify-content:flex-start !important;
        gap:0 !important;
        overflow-y:auto;
        background:#0b0b0b;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-6px);
        transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
        z-index:1001;
    }

    body.theme-day.mobile-header header > nav{
        background:#d8d3cb;
    }

    body.mobile-header.mobile-nav-open header > nav{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0);
    }

    body.mobile-header header > nav a{
        display:block !important;
        width:100%;
        margin:0 !important;
        padding:17px 0 !important;
        font-size:clamp(28px,9vw,40px) !important;
        line-height:1.02 !important;
        letter-spacing:-.035em;
        border-bottom:1px solid rgba(255,255,255,.14);
    }

    body.theme-day.mobile-header header > nav a{
        border-bottom-color:rgba(31,29,26,.14);
    }

    /* HOME - Selected Works grow from 70% to the current full size at center. */
    .home-page .selected-grid{
        gap:2px;
    }

    .home-page .selected-grid > a{
        --selected-scale:.70;
        position:relative;
        transform:scale(var(--selected-scale));
        transform-origin:center center;
        will-change:transform;
    }

    .home-page .selected-grid > a img{
        width:100%;
        height:auto;
        display:block;
    }

    /* PHOTOGRAPHY OVERVIEW - overlapping angled stack with one dominant center frame. */
    .photography-page .photo-project{
        padding:22px 0 34px;
        overflow:visible;
    }

    .photography-page .photo-mosaic{
        position:relative !important;
        display:block !important;
        width:100%;
        height:auto;
        aspect-ratio:1.26 / 1;
        margin:20px 0 2px;
        overflow:visible;
    }

    .photography-page .photo-mosaic img,
    .photography-page .photo-mosaic img:nth-child(1),
    .photography-page .photo-mosaic img:nth-child(2),
    .photography-page .photo-mosaic img:nth-child(3),
    .photography-page .photo-mosaic img:nth-child(4),
    .photography-page .photo-mosaic img:nth-child(5){
        position:absolute !important;
        inset:auto !important;
        display:block;
        object-fit:cover;
        border-radius:2px;
        transition:none;
        transform-origin:center;
        will-change:transform,filter;
    }

    .photography-page .photo-mosaic img:nth-child(1){
        width:58% !important;
        height:82% !important;
        left:21% !important;
        top:9% !important;
        z-index:6;
        object-position:50% 36%;
    }

    .photography-page .photo-mosaic img:nth-child(2){
        width:37% !important;
        height:46% !important;
        left:0 !important;
        top:0 !important;
        z-index:2;
        transform:rotate(-2.7deg);
        object-position:50% 34%;
    }

    .photography-page .photo-mosaic img:nth-child(3){
        width:36% !important;
        height:44% !important;
        right:0 !important;
        top:5% !important;
        z-index:3;
        transform:rotate(2.4deg);
        object-position:48% 34%;
    }

    .photography-page .photo-mosaic img:nth-child(4){
        width:38% !important;
        height:45% !important;
        left:1% !important;
        bottom:1% !important;
        z-index:4;
        transform:rotate(2deg);
        object-position:52% 36%;
    }

    .photography-page .photo-mosaic img:nth-child(5){
        width:37% !important;
        height:46% !important;
        right:1% !important;
        bottom:0 !important;
        z-index:4;
        transform:rotate(-2.2deg);
        object-position:50% 36%;
    }

    .photography-page .photo-project:hover .photo-mosaic img{
        /* Mobile scroll animation owns transforms. */
    }

    /* INDIVIDUAL PHOTO SERIES - compact intro and a large living desktop-style mosaic. */
    .photo-series-page .photo-series-screen{
        min-height:100vh;
        height:auto !important;
        padding:78px 12px 22px !important;
        overflow:visible !important;
    }

    .photo-series-page .breadcrumbs{
        display:none !important;
    }

    .photo-series-page .photo-series-fixed-layout{
        display:flex !important;
        flex-direction:column !important;
        gap:10px !important;
        width:100%;
        max-width:none;
        height:auto !important;
        margin:0;
    }

    .photo-series-page .photo-series-scroll{
        display:block;
        height:auto !important;
        overflow:visible !important;
        margin:0 !important;
        padding:0 !important;
    }

    .photo-series-page .photo-series-kicker{
        margin:0 0 4px !important;
        font-size:9px;
        line-height:1.2;
    }

    .photo-series-page .photo-series-scroll h1{
        margin:0 0 8px !important;
        max-width:96%;
        font-size:clamp(31px,9.5vw,43px) !important;
        line-height:.93 !important;
    }

    .photo-series-page .photo-series-meta-inline{
        margin:0 !important;
        gap:4px 7px !important;
        font-size:8.5px !important;
        line-height:1.3;
    }

    .photo-series-page .series-about-button{
        margin-top:7px !important;
        margin-bottom:1px;
        padding:8px 12px !important;
        font-size:9px;
        line-height:1;
    }

    .photo-series-page .dynamic-photo-grid,
    .photo-series-page .photo-series-screen .dynamic-photo-grid{
        display:grid !important;
        grid-template-columns:repeat(12,minmax(0,1fr)) !important;
        grid-template-rows:repeat(12,minmax(0,1fr)) !important;
        grid-auto-rows:auto !important;
        gap:3px !important;
        width:100% !important;
        height:70svh !important;
        min-height:500px !important;
        max-height:690px !important;
        margin:0 !important;
        overflow:hidden !important;
    }

    .photo-series-page .dynamic-photo-tile{
        position:relative;
        min-width:0;
        min-height:0;
        overflow:hidden;
        transform-origin:center;
        will-change:transform;
        background:transparent;
    }

    .photo-series-page .dynamic-photo-tile img{
        position:absolute;
        inset:0;
        width:100%;
        height:100%;
        object-fit:cover;
        display:block;
        transition:opacity 2.1s cubic-bezier(.4,0,.2,1), transform 3.8s ease, filter 2.1s ease !important;
        will-change:opacity,transform,filter;
    }

    .photo-series-page .dynamic-photo-tile img.photo-layer-visible{
        opacity:1;
        transform:scale(1);
        filter:brightness(1);
    }

    .photo-series-page .dynamic-photo-tile img.photo-layer-hidden{
        opacity:0;
        transform:scale(1.035);
        filter:brightness(1.07);
    }

    /* Explicitly restore the desktop asymmetric geometry after tablet fallbacks. */
    .photo-series-page .tile-a{grid-column:1 / span 6 !important;grid-row:1 / span 8 !important;}
    .photo-series-page .tile-b{grid-column:7 / span 3 !important;grid-row:1 / span 4 !important;}
    .photo-series-page .tile-c{grid-column:10 / span 2 !important;grid-row:1 / span 2 !important;}
    .photo-series-page .tile-d{grid-column:12 / span 1 !important;grid-row:1 / span 2 !important;}
    .photo-series-page .tile-e{grid-column:10 / span 1 !important;grid-row:3 / span 2 !important;}
    .photo-series-page .tile-f{grid-column:11 / span 2 !important;grid-row:3 / span 2 !important;}
    .photo-series-page .tile-g{grid-column:7 / span 2 !important;grid-row:5 / span 3 !important;}
    .photo-series-page .tile-h{grid-column:9 / span 2 !important;grid-row:5 / span 3 !important;}
    .photo-series-page .tile-i{grid-column:11 / span 1 !important;grid-row:5 / span 1 !important;}
    .photo-series-page .tile-j{grid-column:12 / span 1 !important;grid-row:5 / span 1 !important;}
    .photo-series-page .tile-k{grid-column:11 / span 2 !important;grid-row:6 / span 2 !important;}
    .photo-series-page .tile-l{grid-column:1 / span 3 !important;grid-row:9 / span 3 !important;}
    .photo-series-page .tile-m{grid-column:4 / span 3 !important;grid-row:9 / span 3 !important;}
    .photo-series-page .tile-n{grid-column:7 / span 3 !important;grid-row:8 / span 4 !important;}
    .photo-series-page .tile-o{grid-column:10 / span 3 !important;grid-row:8 / span 4 !important;}

    .photo-series-page .photo-series-screen + footer{
        padding:22px 14px 34px !important;
    }

    /* EXHIBITIONS - asymmetric overlapping collage, dense at rest, breathing on scroll. */
    .exhibitions-page .exhibition-entry,
    .exhibitions-page .exhibition-entry-reverse{
        gap:20px !important;
        padding:38px 0 58px !important;
    }

    .exhibitions-page .exhibition-collage,
    .exhibitions-page .exhibition-collage-a,
    .exhibitions-page .exhibition-collage-b,
    .exhibitions-page .exhibition-collage-c{
        position:relative !important;
        display:block !important;
        width:100% !important;
        height:auto !important;
        aspect-ratio:1.18 / 1 !important;
        margin:0 !important;
        padding:0 !important;
        overflow:visible !important;
    }

    .exhibitions-page .exhibition-tile,
    .exhibitions-page .exhibition-collage-a .exhibition-tile,
    .exhibitions-page .exhibition-collage-b .exhibition-tile,
    .exhibitions-page .exhibition-collage-c .exhibition-tile{
        position:absolute !important;
        inset:auto !important;
        margin:0 !important;
        overflow:hidden !important;
        border-radius:2px;
        aspect-ratio:auto !important;
        transform-origin:center;
        will-change:transform;
        background:#111;
    }

    body.theme-day.exhibitions-page .exhibition-tile{
        background:#ccc7bf;
    }

    .exhibitions-page .exhibition-tile img{
        position:absolute;
        inset:0;
        width:100%;
        height:100%;
        display:block;
        object-fit:cover;
        opacity:1;
        transition:opacity 1.8s cubic-bezier(.4,0,.2,1), transform 3.2s ease, filter 1.8s ease !important;
    }

    .exhibitions-page .exhibition-tile img.exhibition-layer-next{
        opacity:0;
        transform:scale(1.035);
        filter:brightness(1.08);
        z-index:2;
    }

    .exhibitions-page .exhibition-tile img.exhibition-layer-next.exhibition-layer-live{
        opacity:1;
        transform:scale(1);
        filter:brightness(1);
    }

    .exhibitions-page .exhibition-tile img.exhibition-layer-old{
        opacity:0;
        transform:scale(.985);
        filter:brightness(.96);
    }

    .exhibitions-page .exhibition-poster{
        display:none !important;
    }

    /* Arambol - large anchor slightly left of center. */
    .exhibitions-page .exhibition-collage-a .tile-a1{left:20% !important;top:7% !important;width:59% !important;height:84% !important;z-index:7 !important;}
    .exhibitions-page .exhibition-collage-a .tile-a2{left:0 !important;top:0 !important;width:34% !important;height:36% !important;z-index:2 !important;}
    .exhibitions-page .exhibition-collage-a .tile-a3{left:1% !important;top:32% !important;width:31% !important;height:33% !important;z-index:4 !important;}
    .exhibitions-page .exhibition-collage-a .tile-a4{left:4% !important;bottom:0 !important;width:35% !important;height:38% !important;z-index:5 !important;}
    .exhibitions-page .exhibition-collage-a .tile-a5{right:1% !important;top:2% !important;width:32% !important;height:31% !important;z-index:3 !important;}
    .exhibitions-page .exhibition-collage-a .tile-a6{right:0 !important;top:30% !important;width:30% !important;height:34% !important;z-index:5 !important;}
    .exhibitions-page .exhibition-collage-a .tile-a7{right:3% !important;bottom:1% !important;width:35% !important;height:39% !important;z-index:4 !important;}

    /* TripFoundation - main image a little to the right, less symmetric. */
    .exhibitions-page .exhibition-collage-b .tile-b1{left:23% !important;top:6% !important;width:60% !important;height:85% !important;z-index:7 !important;}
    .exhibitions-page .exhibition-collage-b .tile-b2{left:0 !important;top:3% !important;width:37% !important;height:34% !important;z-index:3 !important;}
    .exhibitions-page .exhibition-collage-b .tile-b3{left:2% !important;top:34% !important;width:30% !important;height:30% !important;z-index:5 !important;}
    .exhibitions-page .exhibition-collage-b .tile-b4{left:0 !important;bottom:0 !important;width:39% !important;height:38% !important;z-index:4 !important;}
    .exhibitions-page .exhibition-collage-b .tile-b5{right:0 !important;top:0 !important;width:29% !important;height:35% !important;z-index:2 !important;}
    .exhibitions-page .exhibition-collage-b .tile-b6{right:1% !important;top:35% !important;width:27% !important;height:31% !important;z-index:5 !important;}
    .exhibitions-page .exhibition-collage-b .tile-b7{right:4% !important;bottom:0 !important;width:34% !important;height:38% !important;z-index:4 !important;}

    /* Yekaterinburg - large vertical anchor and irregular satellites. */
    .exhibitions-page .exhibition-collage-c .tile-c1{left:20% !important;top:5% !important;width:58% !important;height:87% !important;z-index:7 !important;}
    .exhibitions-page .exhibition-collage-c .tile-c2{left:0 !important;top:0 !important;width:34% !important;height:35% !important;z-index:3 !important;}
    .exhibitions-page .exhibition-collage-c .tile-c3{left:2% !important;top:33% !important;width:29% !important;height:32% !important;z-index:5 !important;}
    .exhibitions-page .exhibition-collage-c .tile-c4{left:0 !important;bottom:1% !important;width:38% !important;height:38% !important;z-index:4 !important;}
    .exhibitions-page .exhibition-collage-c .tile-c5{right:0 !important;top:4% !important;width:33% !important;height:31% !important;z-index:2 !important;}
    .exhibitions-page .exhibition-collage-c .tile-c6{right:2% !important;top:34% !important;width:29% !important;height:31% !important;z-index:5 !important;}
    .exhibitions-page .exhibition-collage-c .tile-c7{right:0 !important;bottom:0 !important;width:38% !important;height:38% !important;z-index:4 !important;}

    .exhibitions-page .exhibition-tile-featured img{
        object-position:center center;
    }
}

@media (max-width:380px){
    body.mobile-header .site-title{
        font-size:18px;
    }

    .photo-series-page .photo-series-screen{
        padding-left:10px !important;
        padding-right:10px !important;
    }

    .photo-series-page .dynamic-photo-grid,
    .photo-series-page .photo-series-screen .dynamic-photo-grid{
        min-height:455px !important;
        gap:2px !important;
    }
}

@media (prefers-reduced-motion:reduce){
    .home-page .selected-grid > a{
        transform:none !important;
    }
}

/* ===== MOBILE FINISH 09: SMOOTH HOME / 7-FRAME PHOTOGRAPHY / PHOTO SERIES / EXHIBITIONS ===== */

/* Extra overview frames are mobile-only so the desktop photography page stays unchanged. */
.photography-page .photo-mosaic img:nth-child(n+6){
    display:none;
}

@media (max-width:760px){
    /* HOME - smooth scale is driven frame-by-frame in JS. */
    .home-page .selected-grid{
        gap:8px !important;
    }

    .home-page .selected-grid > a{
        transform:scale(var(--selected-scale,.70)) !important;
        transform-origin:center center !important;
        transition:none !important;
        will-change:transform;
    }

    /* PHOTOGRAPHY OVERVIEW - seven unequal frames around one dominant portrait. */
    .photography-page .photo-project{
        overflow:visible !important;
    }

    .photography-page .photo-mosaic{
        position:relative !important;
        display:block !important;
        width:100% !important;
        height:auto !important;
        aspect-ratio:1 / 1.04 !important;
        margin:16px 0 0 !important;
        overflow:visible !important;
        isolation:isolate;
    }

    .photography-page .photo-mosaic img,
    .photography-page .photo-mosaic img:nth-child(n){
        display:block !important;
        position:absolute !important;
        inset:auto !important;
        margin:0 !important;
        object-fit:cover !important;
        border-radius:2px;
        transform-origin:center center;
        transition:none !important;
        will-change:transform,filter;
    }

    /* Between Millions - vertical main frame, irregular satellites. */
    .photography-page [data-photo-mosaic="between-millions"] img:nth-child(1){left:21% !important;top:11% !important;width:58% !important;height:72% !important;z-index:8;object-position:50% 38% !important;}
    .photography-page [data-photo-mosaic="between-millions"] img:nth-child(2){left:0 !important;top:1% !important;width:35% !important;height:29% !important;z-index:3;object-position:50% 36% !important;}
    .photography-page [data-photo-mosaic="between-millions"] img:nth-child(3){right:1% !important;top:0 !important;width:29% !important;height:37% !important;z-index:4;object-position:52% 34% !important;}
    .photography-page [data-photo-mosaic="between-millions"] img:nth-child(4){left:1% !important;top:27% !important;width:31% !important;height:39% !important;z-index:5;object-position:48% 38% !important;}
    .photography-page [data-photo-mosaic="between-millions"] img:nth-child(5){right:0 !important;top:34% !important;width:31% !important;height:30% !important;z-index:5;object-position:50% 40% !important;}
    .photography-page [data-photo-mosaic="between-millions"] img:nth-child(6){left:4% !important;bottom:0 !important;width:39% !important;height:31% !important;z-index:4;object-position:50% 39% !important;}
    .photography-page [data-photo-mosaic="between-millions"] img:nth-child(7){right:3% !important;bottom:1% !important;width:36% !important;height:37% !important;z-index:6;object-position:50% 37% !important;}

    /* Arambolians - different silhouette and a main frame shifted right. */
    .photography-page [data-photo-mosaic="arambolians"] img:nth-child(1){left:25% !important;top:8% !important;width:56% !important;height:75% !important;z-index:8;object-position:50% 36% !important;}
    .photography-page [data-photo-mosaic="arambolians"] img:nth-child(2){left:0 !important;top:3% !important;width:39% !important;height:27% !important;z-index:4;object-position:50% 35% !important;}
    .photography-page [data-photo-mosaic="arambolians"] img:nth-child(3){right:0 !important;top:0 !important;width:28% !important;height:36% !important;z-index:5;object-position:50% 39% !important;}
    .photography-page [data-photo-mosaic="arambolians"] img:nth-child(4){left:2% !important;top:29% !important;width:32% !important;height:36% !important;z-index:5;object-position:48% 38% !important;}
    .photography-page [data-photo-mosaic="arambolians"] img:nth-child(5){right:0 !important;top:37% !important;width:35% !important;height:27% !important;z-index:6;object-position:52% 37% !important;}
    .photography-page [data-photo-mosaic="arambolians"] img:nth-child(6){left:0 !important;bottom:2% !important;width:43% !important;height:30% !important;z-index:4;object-position:50% 40% !important;}
    .photography-page [data-photo-mosaic="arambolians"] img:nth-child(7){right:5% !important;bottom:0 !important;width:31% !important;height:39% !important;z-index:6;object-position:50% 37% !important;}

    /* INDIVIDUAL PHOTO SERIES - seven visible tiles with genuinely different proportions. */
    .photo-series-page .dynamic-photo-grid,
    .photo-series-page .photo-series-screen .dynamic-photo-grid{
        position:relative !important;
        display:block !important;
        width:100% !important;
        height:auto !important;
        aspect-ratio:1 / 1.08 !important;
        min-height:0 !important;
        max-height:none !important;
        margin:2px 0 0 !important;
        overflow:visible !important;
        isolation:isolate;
    }

    .photo-series-page .dynamic-photo-tile,
    .photo-series-page .dynamic-photo-tile[class*="tile-"]{
        position:absolute !important;
        display:block;
        inset:auto !important;
        grid-column:auto !important;
        grid-row:auto !important;
        margin:0 !important;
        overflow:hidden !important;
        border-radius:2px;
        transform-origin:center center;
        will-change:transform;
    }

    .photo-series-page .dynamic-photo-tile:nth-child(n+8){
        display:none !important;
    }

    .photo-series-page .dynamic-photo-tile img{
        position:absolute !important;
        inset:0 !important;
        width:100% !important;
        height:100% !important;
        object-fit:cover !important;
        transition:opacity 1.45s cubic-bezier(.4,0,.2,1), transform 1.8s ease, filter 1.45s ease !important;
    }

    .photo-series-page .dynamic-photo-tile img.photo-layer-visible{
        opacity:1;
        transform:scale(1);
        filter:brightness(1);
    }

    .photo-series-page .dynamic-photo-tile img.photo-layer-hidden{
        opacity:0;
        transform:scale(1.045);
        filter:brightness(1.10);
    }

    .photo-series-page .dynamic-photo-tile.photo-tile-pulse img.photo-layer-visible{
        filter:brightness(1.055);
    }

    /* Between Millions - portrait-led, compact, no rectangular outer frame. */
    body[data-photo-series="between-millions"] .tile-a{left:20% !important;top:11% !important;width:60% !important;height:72% !important;z-index:8 !important;}
    body[data-photo-series="between-millions"] .tile-b{left:0 !important;top:0 !important;width:35% !important;height:29% !important;z-index:3 !important;}
    body[data-photo-series="between-millions"] .tile-c{right:0 !important;top:2% !important;width:29% !important;height:35% !important;z-index:4 !important;}
    body[data-photo-series="between-millions"] .tile-d{left:1% !important;top:28% !important;width:31% !important;height:39% !important;z-index:5 !important;}
    body[data-photo-series="between-millions"] .tile-e{right:0 !important;top:36% !important;width:31% !important;height:28% !important;z-index:5 !important;}
    body[data-photo-series="between-millions"] .tile-f{left:4% !important;bottom:0 !important;width:40% !important;height:31% !important;z-index:4 !important;}
    body[data-photo-series="between-millions"] .tile-g{right:3% !important;bottom:1% !important;width:36% !important;height:38% !important;z-index:6 !important;}

    /* Arambolians - deliberately different proportions and balance. */
    body[data-photo-series="arambolians"] .tile-a{left:25% !important;top:8% !important;width:57% !important;height:75% !important;z-index:8 !important;}
    body[data-photo-series="arambolians"] .tile-b{left:0 !important;top:4% !important;width:40% !important;height:27% !important;z-index:4 !important;}
    body[data-photo-series="arambolians"] .tile-c{right:0 !important;top:0 !important;width:27% !important;height:37% !important;z-index:5 !important;}
    body[data-photo-series="arambolians"] .tile-d{left:2% !important;top:30% !important;width:32% !important;height:35% !important;z-index:5 !important;}
    body[data-photo-series="arambolians"] .tile-e{right:0 !important;top:39% !important;width:35% !important;height:26% !important;z-index:6 !important;}
    body[data-photo-series="arambolians"] .tile-f{left:0 !important;bottom:2% !important;width:44% !important;height:30% !important;z-index:4 !important;}
    body[data-photo-series="arambolians"] .tile-g{right:5% !important;bottom:0 !important;width:31% !important;height:39% !important;z-index:6 !important;}

    body[data-photo-series="between-millions"] .tile-a img{object-position:50% 39% !important;}
    body[data-photo-series="between-millions"] .tile-b img{object-position:50% 37% !important;}
    body[data-photo-series="between-millions"] .tile-c img{object-position:50% 36% !important;}
    body[data-photo-series="between-millions"] .tile-d img{object-position:50% 38% !important;}
    body[data-photo-series="between-millions"] .tile-e img{object-position:50% 38% !important;}
    body[data-photo-series="between-millions"] .tile-f img{object-position:50% 39% !important;}
    body[data-photo-series="between-millions"] .tile-g img{object-position:50% 37% !important;}

    body[data-photo-series="arambolians"] .tile-a img{object-position:50% 37% !important;}
    body[data-photo-series="arambolians"] .tile-b img{object-position:50% 38% !important;}
    body[data-photo-series="arambolians"] .tile-c img{object-position:50% 36% !important;}
    body[data-photo-series="arambolians"] .tile-d img{object-position:50% 39% !important;}
    body[data-photo-series="arambolians"] .tile-e img{object-position:50% 38% !important;}
    body[data-photo-series="arambolians"] .tile-f img{object-position:50% 40% !important;}
    body[data-photo-series="arambolians"] .tile-g img{object-position:50% 37% !important;}

    /* EXHIBITIONS - three different irregular constellations with intentional overlap. */
    .exhibitions-page .exhibition-collage,
    .exhibitions-page .exhibition-collage-a,
    .exhibitions-page .exhibition-collage-b,
    .exhibitions-page .exhibition-collage-c{
        aspect-ratio:1 / 1.03 !important;
        overflow:visible !important;
        isolation:isolate;
    }

    /* Arambol - anchor low-left of center, satellites form a broken diagonal. */
    .exhibitions-page .exhibition-collage-a .tile-a1{left:18% !important;top:12% !important;width:61% !important;height:70% !important;z-index:8 !important;}
    .exhibitions-page .exhibition-collage-a .tile-a2{left:0 !important;top:0 !important;width:37% !important;height:28% !important;z-index:3 !important;}
    .exhibitions-page .exhibition-collage-a .tile-a3{left:1% !important;top:27% !important;width:29% !important;height:38% !important;z-index:5 !important;}
    .exhibitions-page .exhibition-collage-a .tile-a4{left:5% !important;bottom:0 !important;width:41% !important;height:31% !important;z-index:4 !important;}
    .exhibitions-page .exhibition-collage-a .tile-a5{right:0 !important;top:3% !important;width:30% !important;height:35% !important;z-index:4 !important;}
    .exhibitions-page .exhibition-collage-a .tile-a6{right:1% !important;top:37% !important;width:32% !important;height:27% !important;z-index:6 !important;}
    .exhibitions-page .exhibition-collage-a .tile-a7{right:4% !important;bottom:1% !important;width:35% !important;height:39% !important;z-index:5 !important;}

    /* TripFoundation - main image high-right, strong horizontal satellites. */
    .exhibitions-page .exhibition-collage-b .tile-b1{left:25% !important;top:7% !important;width:58% !important;height:73% !important;z-index:8 !important;}
    .exhibitions-page .exhibition-collage-b .tile-b2{left:0 !important;top:3% !important;width:42% !important;height:25% !important;z-index:4 !important;}
    .exhibitions-page .exhibition-collage-b .tile-b3{left:2% !important;top:27% !important;width:30% !important;height:38% !important;z-index:5 !important;}
    .exhibitions-page .exhibition-collage-b .tile-b4{left:0 !important;bottom:3% !important;width:45% !important;height:28% !important;z-index:4 !important;}
    .exhibitions-page .exhibition-collage-b .tile-b5{right:0 !important;top:0 !important;width:28% !important;height:33% !important;z-index:5 !important;}
    .exhibitions-page .exhibition-collage-b .tile-b6{right:0 !important;top:34% !important;width:35% !important;height:29% !important;z-index:6 !important;}
    .exhibitions-page .exhibition-collage-b .tile-b7{right:6% !important;bottom:0 !important;width:32% !important;height:40% !important;z-index:5 !important;}

    /* Yekaterinburg - tall central anchor with a heavier lower-left cluster. */
    .exhibitions-page .exhibition-collage-c .tile-c1{left:22% !important;top:6% !important;width:56% !important;height:77% !important;z-index:8 !important;}
    .exhibitions-page .exhibition-collage-c .tile-c2{left:0 !important;top:2% !important;width:34% !important;height:34% !important;z-index:4 !important;}
    .exhibitions-page .exhibition-collage-c .tile-c3{left:2% !important;top:34% !important;width:30% !important;height:28% !important;z-index:6 !important;}
    .exhibitions-page .exhibition-collage-c .tile-c4{left:0 !important;bottom:0 !important;width:43% !important;height:35% !important;z-index:5 !important;}
    .exhibitions-page .exhibition-collage-c .tile-c5{right:1% !important;top:0 !important;width:32% !important;height:27% !important;z-index:4 !important;}
    .exhibitions-page .exhibition-collage-c .tile-c6{right:0 !important;top:28% !important;width:29% !important;height:38% !important;z-index:6 !important;}
    .exhibitions-page .exhibition-collage-c .tile-c7{right:3% !important;bottom:2% !important;width:39% !important;height:31% !important;z-index:5 !important;}

    .exhibitions-page .exhibition-tile img{
        transition:opacity 1.45s cubic-bezier(.4,0,.2,1), transform 1.8s ease, filter 1.45s ease !important;
    }
}

@media (prefers-reduced-motion:reduce){
    .home-page .selected-grid > a,
    .photography-page .photo-mosaic img,
    .photo-series-page .dynamic-photo-tile,
    .exhibitions-page .exhibition-tile{
        transform:none !important;
    }
}

/* ===== MOBILE PHOTO SERIES REPAIR 10 ===== */

.photo-series-back-link{
    display:none;
}

@media (max-width:760px){
    /* Photo-series pages use exactly the same compact mobile header as the rest of the site. */
    body.photo-series-page.mobile-header header{
        position:fixed !important;
        top:0 !important;
        left:0 !important;
        right:0 !important;
        width:100% !important;
        min-height:64px !important;
        padding:14px 16px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:12px !important;
        z-index:1000 !important;
        background:rgba(11,11,11,.82) !important;
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
    }

    body.theme-day.photo-series-page.mobile-header header{
        background:rgba(216,211,203,.92) !important;
    }

    body.photo-series-page.mobile-header .site-title{
        flex:1 1 auto !important;
        min-width:0 !important;
        width:auto !important;
        margin:0 !important;
        font-size:21px !important;
        line-height:1.05 !important;
        letter-spacing:-.025em !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    body.photo-series-page.mobile-header .theme-switch{
        display:flex !important;
        flex:0 0 auto !important;
        margin:0 !important;
    }

    body.photo-series-page.mobile-header .theme-switch-label{
        display:none !important;
    }

    body.photo-series-page.mobile-header .mobile-menu-toggle{
        display:flex !important;
        flex:0 0 44px !important;
        width:44px !important;
        height:44px !important;
        margin:-8px -8px -8px 0 !important;
    }

    body.photo-series-page.mobile-header header > nav{
        position:absolute !important;
        top:100% !important;
        left:0 !important;
        right:0 !important;
        width:100% !important;
        height:calc(100vh - 64px) !important;
        padding:34px 16px 48px !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        justify-content:flex-start !important;
        gap:0 !important;
        overflow-y:auto !important;
        background:#0b0b0b !important;
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
        transform:translateY(-8px) !important;
        z-index:999 !important;
    }

    body.theme-day.photo-series-page.mobile-header header > nav{
        background:#d8d3cb !important;
    }

    body.photo-series-page.mobile-header.mobile-nav-open header > nav{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        transform:translateY(0) !important;
    }

    body.photo-series-page.mobile-header header > nav a{
        margin:0 !important;
        padding:18px 0 !important;
        font-size:clamp(28px,9vw,40px) !important;
        line-height:1.05 !important;
    }

    /* Breadcrumbs are gone on these pages; this is the single clear way back. */
    .photo-series-page .breadcrumbs{
        display:none !important;
    }

    .photo-series-page .photo-series-back-link{
        display:inline-flex;
        align-items:center;
        width:max-content;
        margin:0 0 16px;
        color:inherit;
        font-size:13px;
        line-height:1;
        letter-spacing:.04em;
        text-decoration:none;
        opacity:.68;
    }

    .photo-series-page .photo-series-back-link:active{
        opacity:1;
    }

    /* Keep the title block tight so the mosaic enters the viewport immediately. */
    .photo-series-page .photo-series-screen{
        height:auto !important;
        min-height:0 !important;
        padding:86px 14px 38px !important;
        overflow:visible !important;
    }

    .photo-series-page .photo-series-fixed-layout{
        width:100% !important;
        max-width:none !important;
        height:auto !important;
        margin:0 !important;
        display:block !important;
    }

    .photo-series-page .photo-series-scroll{
        width:100% !important;
        height:auto !important;
        overflow:visible !important;
        padding:0 !important;
        margin:0 0 18px !important;
    }

    .photo-series-page .photo-series-kicker{
        margin:0 0 10px !important;
        font-size:11px !important;
        letter-spacing:.16em !important;
    }

    .photo-series-page .photo-series-scroll h1{
        margin:0 0 12px !important;
        font-size:clamp(36px,11vw,48px) !important;
        line-height:.94 !important;
        letter-spacing:-.055em !important;
    }

    .photo-series-page .photo-series-meta-inline{
        gap:7px 9px !important;
        margin:0 0 10px !important;
        font-size:10px !important;
        line-height:1.45 !important;
    }

    .photo-series-page .series-about-button{
        margin:4px 0 0 !important;
        padding:10px 14px !important;
        font-size:12px !important;
    }

    /*
      Stable 7-frame mobile mosaic.
      Unlike the previous absolute-position experiment, every frame occupies
      a real grid cell: no collapsed rows, no giant holes, and no accidental
      pile-up. The series still shimmers by crossfading photographs.
    */
    .photo-series-page .dynamic-photo-grid,
    .photo-series-page .photo-series-screen .dynamic-photo-grid{
        position:relative !important;
        display:grid !important;
        width:100% !important;
        height:clamp(460px,68vh,620px) !important;
        min-height:460px !important;
        max-height:620px !important;
        margin:0 !important;
        padding:0 !important;
        grid-template-columns:28fr 44fr 28fr !important;
        grid-template-rows:22fr 29fr 29fr 20fr !important;
        gap:4px !important;
        overflow:hidden !important;
        isolation:isolate;
    }

    .photo-series-page .dynamic-photo-tile,
    .photo-series-page .dynamic-photo-tile[class*="tile-"]{
        position:relative !important;
        inset:auto !important;
        left:auto !important;
        right:auto !important;
        top:auto !important;
        bottom:auto !important;
        width:auto !important;
        height:auto !important;
        min-width:0 !important;
        min-height:0 !important;
        margin:0 !important;
        overflow:hidden !important;
        border-radius:1px;
        transform:none !important;
        grid-column:auto !important;
        grid-row:auto !important;
        will-change:auto;
    }

    .photo-series-page .dynamic-photo-tile:nth-child(n+8){
        display:none !important;
    }

    .photo-series-page .dynamic-photo-tile img{
        position:absolute !important;
        inset:0 !important;
        width:100% !important;
        height:100% !important;
        max-width:none !important;
        max-height:none !important;
        display:block !important;
        object-fit:cover !important;
        transform:scale(1) !important;
        transition:
            opacity 1.55s cubic-bezier(.4,0,.2,1),
            filter 1.55s cubic-bezier(.4,0,.2,1),
            transform 2.6s ease !important;
    }

    .photo-series-page .dynamic-photo-tile img.photo-layer-visible{
        opacity:1 !important;
        filter:brightness(1) !important;
        transform:scale(1) !important;
    }

    .photo-series-page .dynamic-photo-tile img.photo-layer-hidden{
        opacity:0 !important;
        filter:brightness(1.08) !important;
        transform:scale(1.035) !important;
    }

    .photo-series-page .dynamic-photo-tile.photo-tile-pulse img.photo-layer-visible{
        filter:brightness(1.045) !important;
        transform:scale(1.012) !important;
    }

    /* Between Millions: a vertical main portrait in the center. */
    body[data-photo-series="between-millions"] .tile-a{grid-column:2 !important;grid-row:2 / span 2 !important;z-index:3 !important;}
    body[data-photo-series="between-millions"] .tile-b{grid-column:1 / span 2 !important;grid-row:1 !important;}
    body[data-photo-series="between-millions"] .tile-c{grid-column:3 !important;grid-row:1 / span 2 !important;}
    body[data-photo-series="between-millions"] .tile-d{grid-column:1 !important;grid-row:2 / span 2 !important;}
    body[data-photo-series="between-millions"] .tile-e{grid-column:3 !important;grid-row:3 !important;}
    body[data-photo-series="between-millions"] .tile-f{grid-column:1 / span 2 !important;grid-row:4 !important;}
    body[data-photo-series="between-millions"] .tile-g{grid-column:3 !important;grid-row:4 !important;}

    /* Arambolians: a different but equally dense composition. */
    body[data-photo-series="arambolians"] .dynamic-photo-grid,
    body[data-photo-series="arambolians"] .photo-series-screen .dynamic-photo-grid{
        grid-template-columns:30fr 42fr 28fr !important;
        grid-template-rows:24fr 27fr 29fr 20fr !important;
    }

    body[data-photo-series="arambolians"] .tile-a{grid-column:2 !important;grid-row:1 / span 3 !important;z-index:3 !important;}
    body[data-photo-series="arambolians"] .tile-b{grid-column:1 !important;grid-row:1 !important;}
    body[data-photo-series="arambolians"] .tile-c{grid-column:3 !important;grid-row:1 / span 2 !important;}
    body[data-photo-series="arambolians"] .tile-d{grid-column:1 !important;grid-row:2 / span 2 !important;}
    body[data-photo-series="arambolians"] .tile-e{grid-column:3 !important;grid-row:3 !important;}
    body[data-photo-series="arambolians"] .tile-f{grid-column:1 / span 2 !important;grid-row:4 !important;}
    body[data-photo-series="arambolians"] .tile-g{grid-column:3 !important;grid-row:4 !important;}

    .photo-series-page .photo-series-screen + footer{
        padding:34px 16px !important;
    }
}

@media (max-width:380px){
    .photo-series-page .photo-series-screen{
        padding-left:10px !important;
        padding-right:10px !important;
    }

    .photo-series-page .dynamic-photo-grid,
    .photo-series-page .photo-series-screen .dynamic-photo-grid{
        height:clamp(440px,68vh,560px) !important;
        min-height:440px !important;
        gap:3px !important;
    }
}

/* ===== MOBILE PHOTO SERIES: USE THE FIRST DESKTOP MOSAIC BLOCK ===== */
@media (max-width:760px){
    .photo-series-page .dynamic-photo-grid,
    .photo-series-page .photo-series-screen .dynamic-photo-grid{
        position:relative !important;
        display:grid !important;
        width:100% !important;
        height:clamp(430px,58vh,610px) !important;
        min-height:430px !important;
        max-height:610px !important;
        grid-template-columns:repeat(12,minmax(0,1fr)) !important;
        grid-template-rows:repeat(8,minmax(0,1fr)) !important;
        gap:4px !important;
        overflow:hidden !important;
    }

    /* Restore the same upper / first block used by the desktop mosaic. */
    .photo-series-page .dynamic-photo-tile:nth-child(-n+11){
        display:block !important;
    }
    .photo-series-page .dynamic-photo-tile:nth-child(n+12){
        display:none !important;
    }

    body.photo-series-page[data-photo-series] .tile-a{
        grid-column:1 / span 6 !important;
        grid-row:1 / span 8 !important;
        z-index:1 !important;
    }
    body.photo-series-page[data-photo-series] .tile-b{
        grid-column:7 / span 3 !important;
        grid-row:1 / span 4 !important;
    }
    body.photo-series-page[data-photo-series] .tile-c{
        grid-column:10 / span 2 !important;
        grid-row:1 / span 2 !important;
    }
    body.photo-series-page[data-photo-series] .tile-d{
        grid-column:12 / span 1 !important;
        grid-row:1 / span 2 !important;
    }
    body.photo-series-page[data-photo-series] .tile-e{
        grid-column:10 / span 1 !important;
        grid-row:3 / span 2 !important;
    }
    body.photo-series-page[data-photo-series] .tile-f{
        grid-column:11 / span 2 !important;
        grid-row:3 / span 2 !important;
    }
    body.photo-series-page[data-photo-series] .tile-g{
        grid-column:7 / span 2 !important;
        grid-row:5 / span 3 !important;
    }
    body.photo-series-page[data-photo-series] .tile-h{
        grid-column:9 / span 2 !important;
        grid-row:5 / span 3 !important;
    }
    body.photo-series-page[data-photo-series] .tile-i{
        grid-column:11 / span 1 !important;
        grid-row:5 / span 1 !important;
    }
    body.photo-series-page[data-photo-series] .tile-j{
        grid-column:12 / span 1 !important;
        grid-row:5 / span 1 !important;
    }
    body.photo-series-page[data-photo-series] .tile-k{
        grid-column:11 / span 2 !important;
        grid-row:6 / span 2 !important;
    }
}

/* ===== MOBILE PHOTO SERIES: PROPORTIONAL DESKTOP-INSPIRED MOSAIC FIX 12 ===== */
@media (max-width:760px){
    /*
       Same geometry for BOTH photography series.
       The whole mosaic scales from its width, so no tile turns into a thin strip
       on narrow phones. This keeps the desktop idea: one large anchor plus a
       compact field of smaller photographs.
    */
    body.photo-series-page[data-photo-series] .dynamic-photo-grid,
    body.photo-series-page[data-photo-series] .photo-series-screen .dynamic-photo-grid{
        position:relative !important;
        display:grid !important;
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        aspect-ratio:0.74 / 1 !important;
        grid-template-columns:repeat(8,minmax(0,1fr)) !important;
        grid-template-rows:repeat(10,minmax(0,1fr)) !important;
        gap:4px !important;
        overflow:hidden !important;
        isolation:isolate !important;
    }

    body.photo-series-page[data-photo-series] .dynamic-photo-tile,
    body.photo-series-page[data-photo-series] .dynamic-photo-tile[class*="tile-"]{
        position:relative !important;
        inset:auto !important;
        left:auto !important;
        right:auto !important;
        top:auto !important;
        bottom:auto !important;
        width:auto !important;
        height:auto !important;
        min-width:0 !important;
        min-height:0 !important;
        margin:0 !important;
        overflow:hidden !important;
        transform:none !important;
    }

    /* Seven frames are on stage; the remaining frames are the live image pool. */
    body.photo-series-page[data-photo-series] .dynamic-photo-tile:nth-child(-n+7){
        display:block !important;
    }
    body.photo-series-page[data-photo-series] .dynamic-photo-tile:nth-child(n+8){
        display:none !important;
    }

    /* Identical composition in both series. */
    body.photo-series-page[data-photo-series] .tile-a{
        grid-column:1 / 5 !important;
        grid-row:1 / 8 !important;
        z-index:2 !important;
    }
    body.photo-series-page[data-photo-series] .tile-b{
        grid-column:5 / 9 !important;
        grid-row:1 / 4 !important;
        z-index:1 !important;
    }
    body.photo-series-page[data-photo-series] .tile-c{
        grid-column:5 / 7 !important;
        grid-row:4 / 7 !important;
        z-index:1 !important;
    }
    body.photo-series-page[data-photo-series] .tile-d{
        grid-column:7 / 9 !important;
        grid-row:4 / 7 !important;
        z-index:1 !important;
    }
    body.photo-series-page[data-photo-series] .tile-e{
        grid-column:1 / 3 !important;
        grid-row:8 / 11 !important;
        z-index:1 !important;
    }
    body.photo-series-page[data-photo-series] .tile-f{
        grid-column:3 / 5 !important;
        grid-row:8 / 11 !important;
        z-index:1 !important;
    }
    body.photo-series-page[data-photo-series] .tile-g{
        grid-column:5 / 9 !important;
        grid-row:7 / 11 !important;
        z-index:1 !important;
    }

    body.photo-series-page[data-photo-series] .dynamic-photo-tile img{
        position:absolute !important;
        inset:0 !important;
        width:100% !important;
        height:100% !important;
        object-fit:cover !important;
        display:block !important;
    }
}

@media (max-width:380px){
    body.photo-series-page[data-photo-series] .dynamic-photo-grid,
    body.photo-series-page[data-photo-series] .photo-series-screen .dynamic-photo-grid{
        aspect-ratio:0.72 / 1 !important;
        gap:3px !important;
    }
}

/* ===== MOBILE PHOTO SERIES: ONE-SCREEN COMPACT LAYOUT FIX 13 ===== */
@media (max-width:760px){
    body.photo-series-page[data-photo-series]{
        min-height:100vh !important;
        min-height:100svh !important;
        display:flex !important;
        flex-direction:column !important;
        overflow:hidden !important;
    }

    body.photo-series-page[data-photo-series] .photo-series-screen{
        box-sizing:border-box !important;
        flex:1 1 auto !important;
        width:100% !important;
        min-height:0 !important;
        height:auto !important;
        padding:68px 10px 2px !important;
        overflow:hidden !important;
    }

    body.photo-series-page[data-photo-series] .photo-series-fixed-layout{
        box-sizing:border-box !important;
        width:100% !important;
        height:100% !important;
        min-height:0 !important;
        display:flex !important;
        flex-direction:column !important;
        justify-content:flex-start !important;
        gap:5px !important;
    }

    body.photo-series-page[data-photo-series] .photo-series-scroll{
        flex:0 0 auto !important;
        margin:0 !important;
        padding:0 2px !important;
    }

    body.photo-series-page[data-photo-series] .photo-series-back-link{
        margin:0 0 4px !important;
        font-size:11px !important;
        line-height:1.05 !important;
    }

    body.photo-series-page[data-photo-series] .photo-series-kicker{
        margin:0 0 3px !important;
        font-size:9px !important;
        line-height:1 !important;
        letter-spacing:.13em !important;
    }

    body.photo-series-page[data-photo-series] .photo-series-scroll h1{
        margin:0 0 4px !important;
        font-size:clamp(29px,8.7vw,38px) !important;
        line-height:.92 !important;
        letter-spacing:-.05em !important;
    }

    body.photo-series-page[data-photo-series] .photo-series-meta-inline{
        display:flex !important;
        flex-wrap:wrap !important;
        gap:2px 6px !important;
        margin:0 0 4px !important;
        font-size:8.5px !important;
        line-height:1.15 !important;
    }

    body.photo-series-page[data-photo-series] .series-about-button{
        margin:0 !important;
        min-height:0 !important;
        padding:6px 10px !important;
        font-size:10px !important;
        line-height:1 !important;
    }

    /* Preserve the approved mosaic proportions, but shrink the whole mosaic
       on short screens instead of crushing individual columns into strips. */
    body.photo-series-page[data-photo-series] .dynamic-photo-grid,
    body.photo-series-page[data-photo-series] .photo-series-screen .dynamic-photo-grid{
        flex:1 1 auto !important;
        align-self:center !important;
        width:min(100%, calc((100svh - 206px) * .74)) !important;
        max-width:100% !important;
        height:auto !important;
        max-height:calc(100svh - 206px) !important;
        min-height:0 !important;
        aspect-ratio:.74 / 1 !important;
        margin:0 auto !important;
        gap:3px !important;
    }

    body.photo-series-page[data-photo-series] footer,
    body.photo-series-page[data-photo-series] .photo-series-screen + footer{
        box-sizing:border-box !important;
        flex:0 0 auto !important;
        min-height:0 !important;
        margin:0 !important;
        padding:5px 10px 7px !important;
        font-size:9px !important;
        line-height:1.15 !important;
        text-align:center !important;
        white-space:nowrap !important;
    }

    body.photo-series-page[data-photo-series] footer br{
        display:none !important;
    }
}

@media (max-width:380px){
    body.photo-series-page[data-photo-series] .photo-series-screen{
        padding-top:66px !important;
        padding-left:8px !important;
        padding-right:8px !important;
    }

    body.photo-series-page[data-photo-series] .photo-series-scroll h1{
        font-size:clamp(27px,8.5vw,34px) !important;
    }

    body.photo-series-page[data-photo-series] .dynamic-photo-grid,
    body.photo-series-page[data-photo-series] .photo-series-screen .dynamic-photo-grid{
        width:min(100%, calc((100svh - 196px) * .74)) !important;
        max-height:calc(100svh - 196px) !important;
        gap:2px !important;
    }
}
