.site-header nav{display:flex;align-items:center;gap:12px}.site-header nav .works-nav{font-family:inherit;font-size:18px;line-height:1.4;padding:10px 23px;transform:rotate(2deg)}
.works-entry{height:65svh;min-height:440px;padding:0 7%;display:grid;place-items:center}.works-entry .works-landscape{position:absolute;inset:0;width:100%;height:100%;margin:0}.works-door{position:relative;z-index:1;text-align:center;padding:40px 20px}.works-door>p{font-size:17px;margin:20px 0 28px;color:#f7eee9}.works-entrance{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 38px;background:var(--pink);color:#082d57;font-size:19px;border-radius:48% 43% 46% 42%;transition:transform .2s,background .2s}.works-entrance:hover{background:var(--green);transform:rotate(-2deg)}.works-door .works-categories{font-size:14px;margin:24px 0 0;color:#e0eeff}
.works-page{background:linear-gradient(#04275366,#03305a88),url("assets/underwater.webp") center/cover fixed;min-height:100svh}.gallery-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:82px;padding:16px max(6%,calc((100% - 1180px)/2));background:#042550ed;border-bottom:1px solid #a6cbec26;backdrop-filter:blur(6px)}.gallery-brand{font-family:"East Sea Dokdo",cursive;font-size:36px;line-height:1.1;white-space:nowrap}.gallery-header nav{display:flex;align-items:center;gap:12px}.gallery-header nav a{font-size:16px;line-height:1.4;min-height:44px;display:inline-flex;align-items:center;padding:9px 20px;background:#062039;border-radius:48% 45% 44% 46%}.gallery-header nav a:hover{color:var(--green)}
.works-library{max-width:1180px;margin:auto;padding:34px 0 70px}.library-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.library-kicker{font-family:"East Sea Dokdo",cursive;font-size:32px;line-height:1;color:var(--pink);margin-bottom:6px}.library-heading h1{font-size:34px;line-height:1.5}.library-total{font-size:16px;color:#d5eaff;padding-bottom:6px}.works-page .filters{justify-content:flex-start;gap:12px;margin:23px 0 30px}.works-page .filter{border-radius:46% 43% 47% 44%;min-height:44px;font-size:15px;padding:9px 23px;background:#05275c75}.works-page .filter.active{background:var(--pink)}
.work-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px 24px;scroll-margin-top:110px}.work-tile{position:relative;min-width:0;overflow:hidden;background:#042957ed;border:1px solid #cae4ff33;border-radius:5px;box-shadow:0 8px 22px #01274530;transition:transform .2s,border-color .2s}.work-tile:hover,.work-tile:focus-within{transform:translateY(-4px);border-color:var(--pink)}.work-tile-image{position:relative;aspect-ratio:16/10;overflow:hidden;border:6px solid #f3d5dd;background:#062447}.work-tile-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.work-tile:hover img{transform:scale(1.025)}.work-tile-count{position:absolute;right:10px;bottom:10px;padding:4px 11px;border-radius:45% 43% 46% 41%;background:#041c3de8;color:#fff5f4;font-size:14px;line-height:1.7}.work-tile-copy{padding:18px 20px 47px}.work-tile-copy p{font-size:14px;line-height:1.65;color:#bdd8f7;margin-bottom:7px}.work-tile-copy h2{font-size:22px;line-height:1.35;min-height:2.7em;overflow-wrap:anywhere}.work-tile-open{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;border-radius:5px}.work-tile-open span{position:absolute;left:20px;bottom:17px;color:var(--pink);font-size:14px;line-height:1.5}.work-tile-open:hover span{color:var(--green)}.work-tile-open:focus-visible{outline:3px solid var(--green);outline-offset:-3px}.works-page footer{background:#041e43d9}.works-page .project-dialog{background:linear-gradient(#062f65eb,#042750ed),url("assets/underwater.webp") center/cover}
.library-heading h1,.work-tile-copy h2{font-weight:600}.work-tile-copy h2{letter-spacing:-.01em}
.library-nav{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin:24px 0 38px;padding-bottom:20px;border-bottom:1px solid #cae4ff55}.library-nav a{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:17px;color:var(--pink);text-decoration:underline;text-underline-offset:7px;text-decoration-color:#f2bfce80}.library-nav a:hover{color:var(--green)}.library-nav span{font-size:14px;color:#e5edfa;text-decoration:none}
.film-library,.image-library{scroll-margin-top:110px}.library-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.library-section-heading h2{font-size:28px;font-weight:600;line-height:1.5}.library-section-heading .library-total{padding:0}.image-library{margin-top:70px;padding-top:36px;border-top:1px solid #cae4ff55}.image-library-note{font-size:16px;color:#dae9ff;margin-top:9px}.image-group{margin-top:36px}.image-group+.image-group{margin-top:58px}.image-group-heading{display:flex;align-items:baseline;gap:16px;margin-bottom:20px}.image-group-heading h3{font-size:22px;font-weight:600;line-height:1.5}.image-group-heading span{font-size:14px;color:#d5eaff}
.image-grid{display:grid;gap:28px 22px;align-items:start}.character-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.scene-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portrait-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.image-card{min-width:0;margin:0}.image-card-wide{grid-column:span 2}.image-open{position:relative;display:block;width:100%;padding:5px;border:0;border-radius:3px;background:#f3d5dd;cursor:zoom-in}.image-open:hover,.image-open:focus-visible{background:var(--green)}.image-open:focus-visible{outline-offset:4px}.image-frame{display:block;overflow:hidden;background:#e9e9ed}.image-frame img{width:100%;height:100%;object-fit:contain}.character-grid .image-frame{aspect-ratio:3/5}.character-grid .image-card-wide .image-frame{aspect-ratio:16/9}.portrait-grid .image-frame{aspect-ratio:2/3}.scene-grid .image-frame img{height:auto}.image-card figcaption{padding:12px 2px 0;font-size:16px;line-height:1.6;color:#fff5f4;overflow-wrap:anywhere}.image-zoom{position:absolute;right:12px;bottom:12px;font-size:14px;padding:4px 10px;color:#fff7f4;background:#042550e8;border-radius:3px;opacity:0;transition:opacity .15s}.image-open:hover .image-zoom,.image-open:focus-visible .image-zoom{opacity:1}
.image-dialog{width:min(1240px,calc(100% - 32px));height:min(900px,calc(100dvh - 40px));max-width:none;max-height:none;margin:auto;padding:20px;border:1px solid #c6e3ff70;border-radius:10px;background:#052550;color:var(--white);overflow:hidden}.image-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px}.image-dialog::backdrop{background:#01152ce8;backdrop-filter:blur(6px)}.image-viewer-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0}.image-viewer-heading h2{font-size:22px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.image-dialog .dialog-close{position:static;flex-shrink:0;margin:0}.image-stage{position:relative;display:grid;place-items:center;min-height:0;min-width:0;overflow:hidden;background:#031d3b}.image-stage img{width:100%;height:100%;min-height:0;object-fit:contain}.image-stage p{position:absolute;text-align:center;font-size:16px;padding:24px;background:#052550ed}.image-viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:14px}.image-viewer-controls button{flex-shrink:0;border:1px solid #bfd9f466;border-radius:4px;min-height:44px;padding:9px 20px;font-size:16px;background:#08376b}.image-viewer-controls button:hover{border-color:var(--pink);color:var(--pink)}.image-viewer-controls p{font-size:14px;line-height:1.5;text-align:center;color:#dae9ff}
@media(max-width:1340px){.works-library{margin:0 6%}}
@media(max-width:1000px){.work-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-header{padding:14px 6%}.work-tile-copy h2{font-size:21px}}
@media(max-width:640px){.site-header nav{gap:8px}.site-header nav .works-nav{font-size:16px;padding:8px 16px}.works-entry{height:60svh;min-height:420px}.works-door>p{font-size:16px}.works-entrance{font-size:18px}.gallery-header{position:relative;gap:12px;min-height:73px;padding:15px 16px}.gallery-brand{font-size:28px}.gallery-header nav{gap:7px}.gallery-header nav a{font-size:14px;padding:8px 12px}.gallery-header nav a:last-child{display:none}.works-library{margin:0 16px;padding:26px 0 45px}.library-heading{align-items:flex-start;flex-direction:column;gap:9px}.library-kicker{font-size:28px}.library-heading h1{font-size:30px}.library-total{font-size:15px;padding:0}.works-page .filters{gap:8px;margin:22px 0 23px}.works-page .filter{font-size:14px;padding:9px 13px}.work-gallery{gap:18px 12px;scroll-margin-top:20px}.work-tile-image{border-width:4px;aspect-ratio:4/3}.work-tile-count{right:5px;bottom:5px;padding:3px 7px;font-size:14px}.work-tile-copy{padding:13px 12px 42px}.work-tile-copy p{font-size:14px;min-height:3.3em;margin-bottom:6px}.work-tile-copy h2{font-size:18px;line-height:1.4;min-height:4.2em}.work-tile-open span{left:12px;bottom:15px}.works-page footer{padding:25px 16px}}
@media(max-width:340px){.work-gallery{grid-template-columns:1fr}.work-tile-copy p,.work-tile-copy h2{min-height:0}}
@media(max-width:900px){.character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.image-grid{gap:24px 20px}}
@media(max-width:640px){.library-nav{gap:24px;margin:18px 0 28px;padding-bottom:15px}.library-nav a{font-size:16px}.film-library,.image-library{scroll-margin-top:20px}.library-section-heading h2{font-size:24px}.library-section-heading{flex-wrap:wrap;gap:7px 16px}.image-library{margin-top:48px;padding-top:27px}.image-group{margin-top:27px}.image-group+.image-group{margin-top:38px}.image-group-heading{gap:13px;margin-bottom:15px}.image-group-heading h3{font-size:21px}.image-grid{gap:21px 12px}.portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scene-grid{grid-template-columns:1fr}.scene-grid .image-card-wide{grid-column:auto}.image-open{padding:4px}.image-card figcaption{font-size:15px;padding-top:9px}.image-zoom{right:9px;bottom:9px;opacity:1;font-size:14px;padding:3px 8px}.image-dialog{width:calc(100% - 16px);height:calc(100dvh - 24px);padding:12px;border-radius:7px}.image-dialog[open]{gap:12px}.image-viewer-heading{gap:12px}.image-viewer-heading h2{font-size:18px}.image-dialog .dialog-close{font-size:15px;padding:9px 16px}.image-viewer-controls{gap:9px}.image-viewer-controls button{font-size:15px;padding:9px 13px}.image-viewer-controls p{font-size:14px}}
@media(max-height:480px) and (orientation:landscape){.image-dialog{height:calc(100dvh - 12px);padding:10px}.image-dialog[open]{gap:8px}.image-viewer-heading h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.image-zoom{transition:none}}
@media(prefers-reduced-motion:reduce){.work-tile,.work-tile-image img,.works-entrance{transition:none}.work-tile:hover,.work-tile:focus-within,.work-tile:hover img,.works-entrance:hover{transform:none}}
