:root{
  --bg:#080808;
  --fg:#deded8;
  --muted:#9d9b95;
  --line:#30302e;
  --pad:clamp(18px,3vw,48px);
  --max:1800px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
button{font:inherit}
img,video{display:block;max-width:100%}
::selection{background:var(--fg);color:var(--bg)}

/* shared header */
.site-header{position:relative;z-index:50;display:flex;justify-content:space-between;align-items:flex-start;padding:24px var(--pad);font-size:12px;line-height:1;letter-spacing:.04em}
.brand{white-space:nowrap}
.desktop-nav{display:flex;gap:24px}
.desktop-nav a{position:relative}
.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:currentColor;transition:right .18s ease}
.desktop-nav a:hover::after,.desktop-nav a[aria-current="page"]::after{right:0}
.menu-button{display:none;border:0;background:none;color:inherit;padding:0;letter-spacing:.035em;cursor:pointer}

/* mobile fullscreen menu */
.mobile-menu{position:fixed;inset:0;z-index:1200;display:flex;flex-direction:column;padding:22px 20px 26px;background:var(--bg);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease}
.mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto}
.mobile-menu-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;line-height:1;letter-spacing:.035em}
.menu-close{border:0;background:none;color:inherit;padding:0;cursor:pointer;font-size:12px;letter-spacing:.035em}
.mobile-menu-links{margin-top:22vh;border-top:1px solid var(--line)}
.mobile-menu-links a{display:flex;justify-content:space-between;align-items:baseline;padding:17px 0 15px;border-bottom:1px solid var(--line);font-size:20px;letter-spacing:-.02em}
.mobile-menu-links .num{font-size:11px;letter-spacing:.03em;color:var(--muted)}
.mobile-menu-footer{margin-top:auto;border-top:1px solid var(--line);padding-top:17px;font-size:11px;color:var(--muted)}
body.menu-open{overflow:hidden}

/* homepage */
.hero{padding:7vw var(--pad) 14vw;max-width:var(--max);margin:0 auto}
.hero-title{margin:0;font-size:clamp(64px,11.3vw,180px);line-height:.82;letter-spacing:-.075em;font-weight:500}
.hero-line{display:block;white-space:nowrap}
.hero-sub{margin:42px 0 0;font-size:clamp(16px,1.4vw,23px);line-height:1.15;letter-spacing:-.015em}
.works{padding:0 var(--pad);max-width:var(--max);margin:0 auto}
.section-label{margin:0 0 24px;font-size:12px;font-weight:400;letter-spacing:.04em}
.project-card{margin-bottom:15vw}
.project-card img{width:100%;height:auto}
.project-wide{width:100%}
.project-right{width:70%;margin-left:auto}
.project-left{width:62%}
.project-center{width:82%;margin-left:auto;margin-right:auto}
.project-meta{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding-top:14px}
.project-meta h2{margin:0;font-size:clamp(1.15rem,1.35vw,1.55rem);line-height:1;font-weight:400;letter-spacing:-.02em}
.project-meta p{margin:0;font-size:clamp(1.02rem,1.15vw,1.3rem);line-height:1.1;text-align:right}
.project-card a img{transition:opacity .18s ease}
.project-card a:hover img{opacity:.88}

/* generic page */
.page-main{padding:7vw var(--pad) 12vw;max-width:var(--max);margin:0 auto}
.page-title{margin:0 0 10vw;font-size:clamp(78px,13vw,205px);line-height:.78;letter-spacing:-.075em;font-weight:500}
.page-intro{max-width:1100px;margin:0 0 9vw;font-size:clamp(28px,4vw,64px);line-height:1.02;letter-spacing:-.045em}
.category-list .project-card{margin-bottom:12vw}

/* about */
.about-layout{display:grid;grid-template-columns:minmax(280px,.75fr) 1.25fr;gap:8vw;align-items:start}
.about-portrait{width:100%;height:auto}
.about-copy{font-size:clamp(20px,2.15vw,34px);line-height:1.18;letter-spacing:-.025em}
.about-copy p{margin:0 0 1.15em}
.about-details{margin-top:9vw;border-top:1px solid var(--line)}
.info-row{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.35}
.info-label{font-size:11px;letter-spacing:.04em;color:var(--muted)}
.cv-block{margin-top:7vw;max-width:1000px}
.cv-block h2{margin:0 0 16px;font-size:12px;font-weight:400;letter-spacing:.04em}
.cv-link{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid var(--line);font-size:clamp(20px,2.1vw,34px);line-height:1.05}
.cv-link:last-of-type{border-bottom:1px solid var(--line)}
.cv-link.pending{color:var(--muted);cursor:default}
.cv-note{margin:14px 0 0;color:var(--muted);font-size:11px;line-height:1.4}

/* contact */
.contact-grid{border-top:1px solid var(--line);max-width:1200px}
.contact-row{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline}
.contact-label{font-size:11px;letter-spacing:.04em;color:var(--muted)}
.contact-value{font-size:clamp(22px,3vw,48px);line-height:1.05;letter-spacing:-.035em;overflow-wrap:anywhere}
.contact-value.small{font-size:clamp(18px,2vw,30px)}
.contact-value a{border-bottom:1px solid currentColor}

/* theater placeholder */
.placeholder-copy{max-width:720px;margin:-4vw 0 9vw auto;color:var(--muted);font-size:clamp(18px,2vw,30px);line-height:1.28}

/* project details */
.detail-mobile-bar{display:none}
.detail-main{padding:4vw var(--pad) 10vw;max-width:var(--max);margin:0 auto}
.detail-back{display:inline-block;margin:0 0 4vw;font-size:12px;letter-spacing:.04em}
.detail-hero{width:100%;height:auto}
.detail-title-wrap{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr);gap:4vw;align-items:end;margin:4vw 0 5vw}
.detail-title-wrap h1{margin:0;font-size:clamp(58px,9vw,145px);line-height:.82;letter-spacing:-.07em;font-weight:500;overflow-wrap:anywhere}
.detail-title-wrap h1.long-title{font-size:clamp(48px,7.3vw,115px);line-height:.86}
.detail-role{margin:0 0 .3em;text-align:right;font-size:clamp(16px,1.35vw,22px);line-height:1.25}
.status{display:inline-block;margin-top:12px;padding:7px 9px;border:1px solid var(--line);font-size:10px;line-height:1;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.detail-info{display:grid;grid-template-columns:minmax(220px,.45fr) minmax(0,1fr);gap:7vw;margin-bottom:8vw}
.project-facts{border-top:1px solid var(--line)}
.fact-row{display:grid;grid-template-columns:92px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.3}
.fact-label{font-size:10px;letter-spacing:.04em;color:var(--muted)}
.detail-copy{font-size:clamp(19px,2vw,30px);line-height:1.3;max-width:920px}
.detail-copy p{margin:0 0 1.05em}
.external-links{display:flex;flex-wrap:wrap;gap:22px;margin-top:28px;font-size:12px;letter-spacing:.03em}
.external-links a{border-bottom:1px solid currentColor}
.gallery{margin-top:6vw}
.gallery-full{margin-bottom:2.5vw}
.gallery-full img,.gallery-full video{width:100%;height:auto}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5vw;margin-bottom:2.5vw;align-items:start}
.gallery-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery img{width:100%;height:auto}
.gallery video{width:100%;background:#000}
.credits{margin-top:8vw;padding-top:24px;border-top:1px solid var(--line)}
.credits h2{margin:0 0 30px;font-size:12px;font-weight:400;letter-spacing:.04em}
.credit-list{max-width:1050px;font-size:13px;line-height:1.55}
.credit-list p{margin:0 0 6px}
.credit-list em{color:var(--muted)}
.support-note{margin-top:30px;max-width:900px;color:var(--muted);font-size:12px;line-height:1.45}
.project-footer{margin-top:9vw;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px;letter-spacing:.03em}

/* footer */
.site-footer{border-top:1px solid var(--line);padding:20px var(--pad);display:flex;justify-content:space-between;gap:24px;font-size:11px;color:var(--muted);max-width:var(--max);margin:0 auto}
.site-footer-links{display:flex;gap:20px}

@media(max-width:760px){
  :root{--pad:20px}
  .site-header{min-height:62px;padding:22px var(--pad) 0;font-size:12px}
  .desktop-nav{display:none}
  .menu-button{display:block;position:fixed;top:22px;right:var(--pad);z-index:1100;background:var(--bg);padding:2px 0 4px 8px;font-size:12px;line-height:1}
  .brand{max-width:165px;line-height:1.1}
  .hero{padding:17vw var(--pad) 24vw}
  .hero-title{width:100%;font-size:12vw;line-height:.91;letter-spacing:-.061em}
  .hero-sub{margin-top:29px;font-size:18px}
  .works{padding:0 var(--pad)}
  .section-label{margin-bottom:18px}
  .project-card,.project-right,.project-left,.project-center,.project-wide{width:100%;margin-left:0;margin-right:0;margin-bottom:72px}
  .project-meta{display:block;padding-top:10px}
  .project-meta h2{font-size:20px;line-height:1.04}
  .project-meta p{margin-top:6px;font-size:14px;line-height:1.2;text-align:left}
  .page-main{padding:17vw var(--pad) 76px}
  .page-title{margin-bottom:17vw;font-size:17vw;line-height:.82}
  .page-intro{margin-bottom:18vw;font-size:9.5vw;line-height:1.03}
  .category-list .project-card{margin-bottom:72px}
  .about-layout{display:block}
  .about-portrait{margin-bottom:48px}
  .about-copy{font-size:21px;line-height:1.32;letter-spacing:-.015em}
  .about-details{margin-top:64px}
  .info-row{grid-template-columns:95px 1fr;gap:16px;padding:15px 0;font-size:13px}
  .cv-block{margin-top:64px}
  .cv-link{padding:17px 0;font-size:17px}
  .contact-row{grid-template-columns:92px 1fr;gap:14px;padding:18px 0}
  .contact-value,.contact-value.small{font-size:20px;line-height:1.15}
  .placeholder-copy{margin:-4vw 0 18vw;font-size:18px}

  /* mobile project bar */
  body.detail-page>.site-header{display:none}
  .detail-mobile-bar{position:sticky;top:0;z-index:900;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:17px var(--pad);background:var(--bg);border-bottom:1px solid #1b1b1a;font-size:11px;line-height:1;letter-spacing:.03em}
  .detail-mobile-bar .mobile-project-name{justify-self:center;max-width:48vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .detail-mobile-bar .detail-menu-trigger{justify-self:end;border:0;background:none;color:inherit;padding:0;font-size:11px;letter-spacing:.03em;cursor:pointer}
  .detail-main{padding:0 0 64px}
  .detail-back{display:none}
  .detail-hero{width:100%}
  .detail-title-wrap{display:block;margin:0;padding:18px var(--pad) 0}
  .detail-title-wrap h1,.detail-title-wrap h1.long-title{font-size:27px;line-height:.98;letter-spacing:-.04em}
  .detail-role{text-align:left;margin:8px 0 0;font-size:13px}
  .status{margin-top:11px;font-size:9px}
  .detail-info{display:block;margin:31px var(--pad) 0}
  .project-facts{margin-bottom:31px}
  .detail-copy{font-size:17px;line-height:1.35}
  .external-links{margin-top:22px}
  .gallery{margin-top:44px;padding:0 var(--pad)}
  .gallery-full{margin-bottom:14px}
  .gallery-grid{gap:10px;margin-bottom:14px}
  .gallery-grid:not(.two-mobile){grid-template-columns:1fr}
  .gallery-grid.three{grid-template-columns:1fr}
  .gallery-grid.two-mobile{grid-template-columns:repeat(2,minmax(0,1fr))}
  .credits{margin:50px var(--pad) 0;padding-top:18px}
  .credits h2{margin-bottom:20px}
  .credit-list{font-size:12px;line-height:1.48}
  .support-note{font-size:11px}
  .project-footer{margin:50px var(--pad) 0;font-size:11px}
  .site-footer{padding:20px var(--pad);font-size:10px}
  .site-footer-links{gap:12px}
}

@media(max-width:390px){
  .hero-sub{font-size:17px}
  .project-meta h2{font-size:19px}
  .contact-row{display:block}
  .contact-label{display:block;margin-bottom:8px}
}


/* v3 refinements: quieter scale, tapestry galleries, lightbox */
.cv-link-simple{justify-content:flex-start}

.gallery-sequence{max-width:1180px;margin:6vw auto 0}
.gallery-row{display:flex;gap:clamp(10px,1.2vw,18px);align-items:flex-start;margin-bottom:clamp(10px,1.2vw,18px)}
.gallery-item{display:block;flex:var(--w) 1 0;min-width:0;cursor:zoom-in}
.gallery-item img{display:block;width:100%;height:auto;transition:opacity .18s ease}
.gallery-item:hover img{opacity:.86}
.project-video{width:min(76%,1120px);margin:6vw auto 0}
.project-video video{width:100%;height:auto;background:#000}

.lightbox{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;background:rgba(8,8,8,.96);padding:4vw}
.lightbox.is-open{display:flex}
.lightbox-image{max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain}
.lightbox-close,.lightbox-prev,.lightbox-next{position:fixed;border:0;background:rgba(8,8,8,.75);color:var(--fg);cursor:pointer;z-index:2001}
.lightbox-close{top:20px;right:24px;font-size:13px;letter-spacing:.04em;padding:8px}
.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);font-size:30px;padding:18px 12px}
.lightbox-prev{left:14px}.lightbox-next{right:14px}

@media(min-width:761px){
  .about-layout{grid-template-columns:minmax(220px,390px) minmax(0,1fr);gap:7vw}
  .about-portrait{width:min(100%,390px)}

  .detail-hero{width:min(84%,1320px);margin-left:auto;margin-right:auto}
  .detail-title-wrap{grid-template-columns:minmax(0,1.8fr) minmax(230px,.42fr);gap:3vw;margin:4vw 0 5vw}
  .detail-title-wrap h1{font-size:clamp(52px,6.25vw,105px);line-height:.88;letter-spacing:-.055em;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
  .detail-title-wrap h1.long-title{font-size:clamp(44px,5.1vw,84px);line-height:.91;letter-spacing:-.048em}

  .category-list .project-wide{width:84%}
  .category-list .project-right{width:66%}
  .category-list .project-left{width:62%}
  .category-list .project-center{width:74%}
  .category-list .project-card:first-child{margin-left:0}
}

@media(max-width:760px){
  .about-portrait{width:78%;max-width:360px;margin-bottom:42px}
  .detail-title-wrap h1,.detail-title-wrap h1.long-title{overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
  .project-video{width:100%;margin:42px 0 0;padding:0 var(--pad)}
  .gallery-sequence{width:100%;margin:36px auto 0;padding:0 var(--pad)}
  .gallery-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}
  .gallery-row .gallery-item:only-child{grid-column:1/-1;width:72%;justify-self:center}
  .gallery-landscape .gallery-item img{width:100%}
  .lightbox{padding:18px}
  .lightbox-image{max-width:96vw;max-height:84vh}
  .lightbox-close{top:14px;right:14px}
  .lightbox-prev,.lightbox-next{font-size:24px;padding:14px 8px}
  .lightbox-prev{left:4px}.lightbox-next{right:4px}
}

/* final scale adjustments for v3 */
@media(min-width:761px){
  .detail-hero{width:min(72%,1120px)}
  .category-list .project-wide{width:76%}
  .category-list .project-right{width:60%}
  .category-list .project-left{width:58%}
  .category-list .project-center{width:66%}
  .gallery-row .gallery-item:only-child{flex:0 0 48%;margin-left:auto;margin-right:auto}
  .gallery-portrait .gallery-item img{width:auto;max-width:100%;max-height:68vh;margin-left:auto;margin-right:auto}
}


/* v4 composition refinements */
@media(min-width:761px){
  /* Project-page cover follows the right-hand visual column instead of floating in the centre. */
  .detail-hero{
    width:min(72%,1120px);
    margin-left:auto;
    margin-right:0;
  }

  /* Homepage lead project: smaller and slightly offset, in the same asymmetric rhythm as the rest. */
  .works .project-feature{
    width:80%;
    margin-left:7%;
    margin-right:auto;
  }
}

@media(max-width:760px){
  .works .project-feature{
    width:100%;
    margin-left:0;
    margin-right:0;
  }
}

/* v5 project-page grid alignment */
@media(min-width:761px){
  /* Bring the cover farther into the page and align its left edge with the main text column below. */
  .detail-hero{
    width:min(77%,1200px);
    margin-left:auto;
    margin-right:0;
  }

  /* Narrow the facts column and reduce the gutter so the text column begins on the same vertical axis as the cover. */
  .detail-info{
    grid-template-columns:minmax(250px,.24fr) minmax(0,1fr);
    gap:3vw;
  }
}

/* Green Clouds poster-grid layout test */
@media(min-width:761px){
  .green-clouds-poster-test .detail-main{
    padding-top:3.2vw;
  }
  .green-clouds-poster-test .detail-back{
    margin-bottom:2.2vw;
  }
  .poster-intro{
    display:grid;
    grid-template-columns:minmax(250px,31%) minmax(0,69%);
    gap:clamp(34px,4.3vw,78px);
    align-items:start;
  }
  .poster-column{
    position:sticky;
    top:28px;
  }
  .poster-image{
    display:block;
    width:100%;
    max-width:430px;
    aspect-ratio:2/3;
    object-fit:cover;
  }
  .poster-content{
    min-width:0;
  }
  .poster-heading{
    border-bottom:1px solid var(--line);
    padding-bottom:clamp(22px,2.1vw,36px);
  }
  .poster-heading h1{
    margin:0;
    max-width:980px;
    font-size:clamp(50px,6.1vw,102px);
    line-height:.88;
    letter-spacing:-.055em;
    font-weight:500;
  }
  .poster-role{
    margin:clamp(18px,1.7vw,28px) 0 0;
    font-size:clamp(16px,1.25vw,21px);
  }
  .poster-facts{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-bottom:1px solid var(--line);
    margin-bottom:clamp(30px,3vw,52px);
  }
  .poster-fact{
    padding:14px 20px 15px 0;
    border-right:1px solid var(--line);
  }
  .poster-fact:nth-child(3){
    border-right:0;
  }
  .poster-fact:nth-child(4){
    grid-column:1/-1;
    border-top:1px solid var(--line);
    border-right:0;
  }
  .poster-fact span{
    display:block;
    margin-bottom:5px;
    font-size:11px;
    letter-spacing:.05em;
    color:var(--muted);
  }
  .poster-fact strong{
    display:block;
    font-size:14px;
    line-height:1.35;
    font-weight:400;
  }
  .poster-copy{
    max-width:900px;
    font-size:clamp(18px,1.65vw,27px);
    line-height:1.34;
  }
  .poster-copy p{
    margin:0 0 1.1em;
  }
  .green-clouds-poster-test .gallery-sequence{
    max-width:none;
    width:100%;
    margin-top:7vw;
    padding:0;
  }
}

@media(max-width:760px){
  .green-clouds-poster-test .detail-main{padding-top:0}
  .green-clouds-poster-test .detail-back{display:none}
  .poster-intro{display:block}
  .poster-column{position:static}
  .poster-image{
    display:block;
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover;
    object-position:center 35%;
  }
  .poster-content{padding:0 var(--pad)}
  .poster-heading{padding:18px 0 0}
  .poster-heading h1{
    margin:0;
    font-size:27px;
    line-height:.98;
    letter-spacing:-.04em;
    font-weight:500;
  }
  .poster-role{margin:8px 0 0;font-size:13px}
  .poster-facts{margin:31px 0 0;border-top:1px solid var(--line)}
  .poster-fact{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}
  .poster-fact span{font-size:10px;letter-spacing:.04em;color:var(--muted)}
  .poster-fact strong{font-size:13px;font-weight:400;line-height:1.35}
  .poster-copy{margin-top:31px;font-size:17px;line-height:1.35}
  .poster-copy p{margin:0 0 1.05em}
  .green-clouds-poster-test .gallery-sequence{margin-top:36px}
}

/* v7: poster-led project pages, shared across all film projects */
@media(min-width:761px){
  .poster-project .detail-main{padding-top:3.2vw}
  .poster-project .detail-back{margin-bottom:2.2vw}
  .poster-project .poster-intro{
    display:grid;
    grid-template-columns:minmax(250px,31%) minmax(0,69%);
    gap:clamp(34px,4.3vw,78px);
    align-items:start;
  }
  .poster-project .poster-column{
    position:sticky;
    top:28px;
    display:block;
  }
  .poster-project .poster-image{
    display:block;
    width:100%;
    max-width:430px;
    aspect-ratio:2/3;
    object-fit:cover;
  }
  .poster-project .poster-content{min-width:0}
  .poster-project .poster-heading{
    border-bottom:1px solid var(--line);
    padding-bottom:clamp(22px,2.1vw,36px);
  }
  .poster-project .poster-heading h1{
    margin:0;
    max-width:980px;
    font-size:clamp(50px,6.1vw,102px);
    line-height:.88;
    letter-spacing:-.055em;
    font-weight:500;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .poster-project .poster-role{
    margin:clamp(18px,1.7vw,28px) 0 0;
    font-size:clamp(16px,1.25vw,21px);
  }
  .poster-project .poster-status{margin-top:14px}
  .poster-project .poster-facts{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-bottom:1px solid var(--line);
    margin-bottom:clamp(30px,3vw,52px);
  }
  .poster-project .poster-fact{
    padding:18px 22px 19px;
    border-right:1px solid var(--line);
  }
  .poster-project .poster-fact:first-child{padding-left:0}
  .poster-project .poster-fact:nth-child(3){border-right:0;padding-right:0}
  .poster-project .poster-fact-full{
    grid-column:1/-1;
    border-top:1px solid var(--line);
    border-right:0;
    padding-left:0;
    padding-right:0;
  }
  .poster-project .poster-fact span{
    display:block;
    margin-bottom:7px;
    font-size:11px;
    letter-spacing:.05em;
    color:var(--muted);
  }
  .poster-project .poster-fact strong{
    display:block;
    font-size:14px;
    line-height:1.4;
    font-weight:400;
  }
  .poster-project .poster-copy{
    max-width:900px;
    font-size:clamp(18px,1.65vw,27px);
    line-height:1.34;
  }
  .poster-project .poster-copy p{margin:0 0 1.1em}
  .poster-project .gallery-sequence{margin-top:7vw}

  /* six vertical Green Clouds images arranged in two complete rows */
  .green-clouds-gallery{max-width:none;width:100%;padding:0}
  .green-clouds-gallery .gallery-item img{
    width:100%;
    max-width:none;
    max-height:none;
    margin:0;
  }
}

@media(max-width:760px){
  .poster-project .detail-main{padding-top:0}
  .poster-project .detail-back{display:none}
  .poster-project .poster-intro{display:block}
  .poster-project .poster-column{position:static;display:block}
  .poster-project .poster-image{
    display:block;
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover;
    object-position:center 35%;
  }
  .poster-project .poster-content{padding:0 var(--pad)}
  .poster-project .poster-heading{padding:18px 0 0}
  .poster-project .poster-heading h1{
    margin:0;
    font-size:27px;
    line-height:.98;
    letter-spacing:-.04em;
    font-weight:500;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .poster-project .poster-role{margin:8px 0 0;font-size:13px}
  .poster-project .poster-status{margin-top:11px}
  .poster-project .poster-facts{margin:31px 0 0;border-top:1px solid var(--line)}
  .poster-project .poster-fact,
  .poster-project .poster-fact:first-child,
  .poster-project .poster-fact:nth-child(3),
  .poster-project .poster-fact-full{
    display:grid;
    grid-template-columns:110px 1fr;
    gap:14px;
    padding:10px 0;
    border-right:0;
    border-top:0;
    border-bottom:1px solid var(--line);
  }
  .poster-project .poster-fact span{font-size:10px;letter-spacing:.04em;color:var(--muted);margin:0}
  .poster-project .poster-fact strong{font-size:13px;font-weight:400;line-height:1.35}
  .poster-project .poster-copy{margin-top:31px;font-size:17px;line-height:1.35}
  .poster-project .poster-copy p{margin:0 0 1.05em}
  .poster-project .gallery-sequence{margin-top:36px}
}


/* v9 theater section */
@media(min-width:761px){.theater-gallery{max-width:none;width:100%;padding:0}.theater-gallery .gallery-item img{width:100%;max-width:none;max-height:none;margin:0}}


/* v10 — author-first homepage + named About page */
.hero-author{
  padding-top:6vw;
  padding-bottom:13vw;
}
.hero-author-name{
  margin:0;
  font-size:clamp(76px,11.3vw,182px);
  line-height:.82;
  letter-spacing:-.075em;
  font-weight:500;
}
.hero-author-name span{display:block;white-space:nowrap}
.hero-profession{
  margin:clamp(28px,3vw,50px) 0 0;
  font-size:clamp(20px,2.05vw,34px);
  line-height:1;
  letter-spacing:-.025em;
  font-weight:400;
}
.hero-author .hero-sub{
  margin-top:18px;
}
.about-name-title{
  font-size:clamp(68px,8.6vw,138px);
  line-height:.84;
  letter-spacing:-.06em;
  margin-bottom:8vw;
}

@media(max-width:760px){
  .hero-author{padding-top:17vw;padding-bottom:24vw}
  .hero-author-name{
    width:100%;
    font-size:15vw;
    line-height:.88;
    letter-spacing:-.065em;
  }
  .hero-profession{
    margin-top:30px;
    max-width:92%;
    font-size:18px;
    line-height:1.08;
    letter-spacing:-.015em;
  }
  .hero-author .hero-sub{margin-top:12px;font-size:17px}
  .about-name-title{
    font-size:12vw;
    line-height:.9;
    margin-bottom:14vw;
    letter-spacing:-.045em;
  }
}


/* v11 — selected-work labels, About name spacing */
.category-selected-label{
  margin-top:-7vw;
  margin-bottom:3.2vw;
  color:var(--muted);
}
.about-name-gap{
  display:inline-block;
  width:.24em;
}
@media(max-width:760px){
  .category-selected-label{
    margin-top:-12vw;
    margin-bottom:28px;
  }
  .about-name-gap{width:.28em}
}


/* v12 — unobtrusive business registration details */
.business-details{
  margin-top:5vw;
  padding-top:16px;
  border-top:1px solid var(--line);
  max-width:1000px;
  color:var(--muted);
  font-size:11px;
  line-height:1.65;
  letter-spacing:.02em;
}
@media(max-width:760px){
  .business-details{margin-top:48px;padding-top:14px}
}

/* v14 — gallery photo credits */
.gallery-credit{
  max-width:1180px;
  margin:10px auto 0;
  font-size:11px;
  line-height:1.35;
  color:var(--muted);
  letter-spacing:.01em;
}
@media(max-width:760px){
  .gallery-credit{margin:10px var(--pad) 0;font-size:10px;}
}
