:root{color-scheme:light;--red:#a9182c;--sidebar-left:1.781vw;--sidebar-width:19vw;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.document.page-vision{text-align:left}
.slideshow{position:relative;max-width:100%;margin:0 0 20px}.slide[hidden]{display:none}.slideshow .slide img{display:block;width:100%;height:auto;aspect-ratio:2048/854;object-fit:contain}.slide-controls{position:absolute;bottom:10px;right:10px;display:flex;gap:5px;align-items:center;background:#fffE;padding:2px 6px;color:#333;font-size:12px}.slide-controls button{border:0;background:transparent;color:inherit;cursor:pointer;min-width:32px;min-height:32px}.slide-count{padding:0 7px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#000;font-family:var(--font);font-size:1.215vw;line-height:1.3}a{color:inherit;text-decoration:none}a:hover{color:#929292}a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:5px}img{max-width:100%;height:auto}h1,h2,p,figure{margin:0}button{font:inherit}.skip{position:fixed;top:-100px;left:16px;background:white;padding:12px;z-index:50}.skip:focus{top:10px}
.sidebar{position:fixed;z-index:5;top:3.0273vw;left:var(--sidebar-left);width:var(--sidebar-width);pointer-events:none}.sidebar a,.sidebar button,.sidebar nav{pointer-events:auto}.brand{display:block;width:18.098vw}.brand img{display:block;width:100%;aspect-ratio:3262/1359}.name{display:block;font-size:1.134vw;line-height:1.1;font-weight:700;letter-spacing:.01em;margin-top:2.49vw}.navigation{margin-top:2.13vw;font-size:1.215vw;line-height:1.7}.navigation>a{display:block;width:fit-content}.navigation .major{font-weight:700}.navigation .sub{padding-left:1.296vw}.navigation em{font-style:normal;color:#a2122c;font-weight:700}.navigation .mta{margin-top:2.06vw;font-weight:700}.navigation [aria-current=page]{color:#999}.menu-toggle{display:none}
.gallery-main{margin-left:25.9155vw;width:71.1694vw;padding-top:2.105vw}.portfolio-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.project-card{display:block;flex:0 0 var(--card-width);padding:.81vw;transition:opacity .2s}.project-card img{display:block;width:100%;height:auto}.project-card figcaption{text-align:center;font-size:.891vw;font-weight:400;line-height:1.3;color:rgba(0,0,0,.3);padding-top:1.215vw;min-height:2.36vw;overflow-wrap:anywhere}.project-card:hover{opacity:.85}.project-card:hover figcaption,.project-card:focus-visible figcaption{color:#555}.gallery-main h1{font-size:1.215vw;letter-spacing:.04em;font-weight:700;color:#d11a1a;margin-bottom:1.62vw;text-align:right}.category-gallery{margin-left:var(--left);width:var(--width);padding-top:var(--top)}
.document{width:var(--width);margin-left:var(--left);padding-top:var(--top);text-align:right;padding-bottom:4vw;font-size:1.215vw;line-height:1.3;min-height:85vh}.document h1{font-size:var(--h1-size,1.215vw);line-height:var(--h1-line,1.3);font-weight:700;letter-spacing:.04em;margin:0}.document .body-copy{font-size:var(--copy-size,1.215vw);line-height:var(--copy-line,1.3);font-weight:400;color:var(--copy-color,rgba(0,0,0,.85));margin:0}.document small{font-size:1.134vw;color:#aaa}.document .columns{display:flex;align-items:start;gap:0}.document .column{flex:0 0 var(--span,100%);min-width:0;padding:0 var(--pad,0)}.document .column.empty{pointer-events:none}.document .equal-columns{gap:3.24vw}.document .equal-columns>.column{flex:1;padding:0}.document .content-image{display:inline-block;width:var(--image-width,100%);height:auto;vertical-align:bottom}.document .image-row{display:flex;gap:1.62vw;align-items:center;justify-content:center;flex-wrap:wrap}.document .image-row>figure{flex:1 1 30%;min-width:0}.document .image-row img{width:100%}.document .image-row figcaption{font-size:.891vw;color:#888}.document .portrait{display:block;width:68%}
.film{width:min(640px,100%);aspect-ratio:16/9;margin-left:auto;position:relative;background:#111}.film iframe{display:block;width:100%;height:100%;border:0}.film-fallback{display:block;text-align:right;font-size:10px;line-height:1.4;color:#888;margin:4px 0 0;opacity:0}.film:hover+.film-fallback,.film-fallback:focus-visible{opacity:1}

/* Keep the original right edge of each composition while reserving a common navigation column. */
@media (width > 900px) {
  .document, .gallery-main {
    --original-start: var(--left, 25.9155vw);
    --original-width: var(--width, 71.1694vw);
    --navigation-end: calc(var(--sidebar-left) + var(--sidebar-width) + clamp(24px, 3vw, 56px));
    margin-inline-start: max(var(--original-start), var(--navigation-end));
    margin-inline-end: max(20px, calc(100% - var(--original-start) - var(--original-width)));
    width: auto;
    min-width: 0;
  }
  .with-context .sidebar {
    max-height: calc(100vh - 40px - 3.0273vw - 12px);
    overflow-y: auto;
    pointer-events: auto;
  }
  .navigation { font-size: max(14px, 1.215vw); }
  .name { font-size: max(13px, 1.134vw); }
}
@media(min-width:1800px){body{font-size:21px}.navigation{font-size:21px}.document{font-size:21px}}
@media(max-width:900px){
 .document .film{width:100%!important}
 body{font-size:16px}.sidebar{position:relative;top:auto;left:auto;width:auto;margin:0 20px;padding:22px 0 18px;pointer-events:auto;border-bottom:1px solid #eee;display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 20px}.brand{width:160px;grid-column:1}.name{font-size:13px;line-height:1.2;letter-spacing:.02em;margin-top:13px;grid-column:1}.menu-toggle{display:block;grid-column:2;grid-row:1 / span 2;background:white;color:#111;border:1px solid #ddd;padding:11px 13px;min-height:44px;font-size:13px;cursor:pointer}.navigation{display:none;grid-column:1 / -1;font-size:15px;margin-top:20px;line-height:1.5}.navigation.is-open{display:block}.navigation>a{min-height:44px;padding:10px 0}.navigation .sub{padding-left:16px}.navigation .mta{margin-top:10px}
 .gallery-main,.category-gallery{margin:0;width:100%;padding:22px 14px 30px}.portfolio-grid{align-items:center;gap:12px 0}.project-card{flex-basis:50%;padding:6px}.project-card figcaption{font-size:11px;line-height:1.4;color:#666;padding-top:8px;min-height:0;overflow-wrap:normal}.gallery-main h1{font-size:14px;margin:8px 6px 26px;text-align:left}.gallery-main .project-card:last-child:nth-child(odd){flex-basis:60%}.gallery-main .project-card:last-child:nth-child(odd) img{max-height:340px;object-fit:contain}
 .document{margin:0;width:100%;padding:30px 20px 40px;text-align:right;min-height:60vh;font-size:15px;line-height:1.5}.document h1{font-size:18px;line-height:1.3;letter-spacing:.02em}.document .body-copy{font-size:15px;line-height:1.5}.document small{font-size:13px}.document .columns{display:block}.document .column{width:100%;padding:0;}.document .column.empty{display:none}.document .equal-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.document .portrait{width:100%}.document .equal-columns{font-size:13px;line-height:1.4}.document .image-row{gap:12px}.document .image-row>figure{flex-basis:45%}.document .content-image{max-width:100%}.film{width:100%}.film-fallback{opacity:1;font-size:11px;margin-top:8px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.navigation .major[aria-current="page"]{color:#000}

/* Version 2: a subsidiary director portfolio within the consultancy website. */
.with-context{padding-top:40px}
.site-context{position:fixed;inset:0 0 auto;height:40px;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 22px;background:#fff;border-bottom:1px solid #eee;font-size:12px;line-height:1.3}
.site-context a{padding:10px 0;color:#444}
.site-context>span{color:#777}
.with-context .sidebar{top:calc(3.0273vw + 40px)}
.document .prose{display:block;text-align:justify;text-align-last:left;hyphens:auto;overflow-wrap:break-word}
.document .prose>span,.document .prose>em,.document .prose>small{word-spacing:inherit}
@media(max-width:900px){.with-context .sidebar{top:auto}.site-context{padding:0 20px;font-size:11px;gap:12px}.document .prose{hyphens:auto}.document .equal-columns{grid-template-columns:1fr}.document .portrait{max-width:240px;width:68%;margin-bottom:10px}}

/* Version 4: readable, word-based slideshow controls. */
.slide-controls button{padding:6px 10px;min-height:36px}.slide-controls{flex-wrap:wrap;max-width:calc(100% - 20px)}

.document .director-cover{display:block;width:min(100%,900px);height:auto;max-height:65vh;object-fit:contain;object-position:right;margin:1.5rem 0 2rem auto}
.film-fallback{opacity:1}.director-story{width:min(100%,54rem);margin:1.8rem 0 3.4rem auto}.director-story p{margin:.85rem 0;text-align:justify;hyphens:auto}.director-story dt{font-weight:700}.director-story dd{margin:0 0 .55rem}.director-story .film{margin-top:1.2rem}


/* A single group keeps adjacent profile links separate at every text size. */
.socials {
  display: flex;
  flex-wrap: wrap;
  width: fit-content;
  max-width: 100%;
  gap: clamp(6px, 1vw, 14px);
  margin-top: clamp(20px, 2.5vw, 38px);
  color: #413f42;
}
.socials a {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border: 1px solid #d3cfd2;
  border-radius: 50%;
  line-height: 1;
}
.socials a:hover, .socials a:focus-visible {
  color: #000;
  border-color: currentColor;
}
.socials svg { width: 20px; height: 20px; fill: currentColor; }
.social-imdb, .social-linkedin {
  display: grid;
  place-items: center;
  border-radius: 2px;
  background: #413f42;
  color: #fff;
  font-family: Arial, sans-serif;
  font-weight: 700;
  line-height: 1;
}
.social-imdb { width: 28px; height: 16px; font-size: 11px; letter-spacing: -.07em; }
.social-linkedin { width: 19px; height: 19px; font-size: 15px; letter-spacing: -.05em; }
