/* Self-hosted variable Unbounded, including Vietnamese diacritics. */
@font-face{font-family:Unbounded;font-style:normal;font-weight:400 800;font-display:swap;src:url("assets/fonts/unbounded-vietnamese-variable.woff2") format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:Unbounded;font-style:normal;font-weight:400 800;font-display:swap;src:url("assets/fonts/unbounded-latin-variable.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--font-display:Unbounded,Arial,Helvetica,sans-serif;--paper:#f5f6f3;--blue-wash:#d6e3e8;--ink:#242726;--muted:#687071;--line:#c0cbcd;--red:#911a1d;--gutter:clamp(22px,3.5vw,68px);--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:linear-gradient(180deg,#f7f7f4 0%,var(--paper) 42%,var(--blue-wash) 100%);background-attachment:fixed;color:var(--ink);font-family:Arial,Helvetica,system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.45}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:5px}button:disabled{cursor:default}a:hover{text-underline-offset:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:0;left:20px;padding:15px;z-index:200;background:white;color:black;transform:translateY(-150%)}.skip-link:focus{transform:none}[hidden]{display:none!important}
.header{position:relative;display:grid;grid-template-columns:1fr 2fr;align-items:center;min-height:110px;padding:22px var(--gutter);z-index:5}.header-overlay{position:absolute;top:0;left:0;right:0;color:white}.brand{display:block;width:91px;line-height:0}.logo{display:block;width:100%;height:auto;aspect-ratio:2.687;overflow:visible}.desktop-nav{display:flex;align-items:center;justify-content:space-between;gap:24px}.desktop-nav a{font-size:12px;text-transform:uppercase;letter-spacing:.045em;padding:12px 0;position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:6px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}.menu-toggle{display:none;align-items:center;gap:14px;justify-self:end;padding:12px 0;font-size:13px}.menu-lines{width:23px;height:9px;border-top:1px solid;border-bottom:1px solid}.menu-dialog{border:0;max-width:none;max-height:none;width:100%;height:100dvh;padding:25px var(--gutter);background:var(--paper);color:var(--ink)}.menu-dialog[open]{display:flex;flex-direction:column}.menu-top{display:flex;align-items:center;justify-content:space-between}.menu-top>a{width:85px}.menu-top button{padding:12px 0 12px 20px}.menu-top button span{font-size:24px;margin-left:15px}.menu-dialog nav{display:grid;gap:12px;margin-top:14vh}.menu-dialog nav a{font-size:clamp(35px,8vw,70px);letter-spacing:-.055em;width:max-content}.menu-dialog nav a:hover{color:var(--red)}.menu-bottom{margin-top:auto;padding-top:30px;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;font-size:14px}.modal-open{overflow:hidden}
.hero{position:relative;height:100svh;min-height:650px;background:#15232b;color:white;isolation:isolate;overflow:hidden}.hero-images,.hero-image{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;opacity:0;transition:opacity 1s ease;transform:scale(1.015)}.hero-image.is-active{opacity:1}.hero:after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,.05) 27%,rgba(0,0,0,.03) 60%,rgba(0,0,0,.65))}.hero-mark{position:absolute;left:var(--gutter);top:50%;width:calc(100% - 2 * var(--gutter));height:auto;transform:translateY(-50%);z-index:1;pointer-events:none;opacity:.88}.hero-note{position:absolute;top:calc(50% + 18vw);left:calc(var(--gutter) + 1.3vw);z-index:1;font-size:12px;letter-spacing:.04em}.hero-bottom{position:absolute;z-index:2;left:var(--gutter);right:var(--gutter);bottom:64px;display:grid;grid-template-columns:1.7fr 1fr .9fr auto;align-items:end;gap:32px}.hero-caption{display:grid;gap:4px}.hero-caption>a{font-size:18px;line-height:1.3}.hero-caption>a:hover{text-decoration:underline}.hero-caption>span{font-size:13px;opacity:.78}.hero-category{display:grid;gap:4px;font-size:13px}.hero-category>span:first-child{font-size:11px;letter-spacing:.09em;text-transform:uppercase;opacity:.65}.watch-film{display:flex;align-items:center;gap:12px;justify-self:start;padding:5px 0;font-size:13px;white-space:nowrap}.play-circle{display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff80;border-radius:50%;font-size:9px;padding-left:2px;transition:background .25s}.watch-film:hover .play-circle{background:#fff;color:#111}.slide-controls{display:flex;align-items:center;gap:5px}.slide-controls button{width:38px;height:44px;font-size:22px}.slide-controls button:hover{background:#ffffff1c}.slide-controls [data-pause]{font-size:15px;margin-left:7px}.slide-count{font-size:11px;letter-spacing:.075em;white-space:nowrap;opacity:.8;margin-right:12px;font-variant-numeric:tabular-nums}.slide-indicators{display:flex;gap:8px;position:absolute;z-index:2;bottom:19px;left:var(--gutter);right:var(--gutter)}.slide-indicators button{height:25px;flex:1;padding:10px 0}.slide-indicators span{display:block;height:1px;background:#ffffff50;transition:background .4s}.slide-indicators button[aria-pressed=true] span{height:2px;background:#fff}.slide-indicators button:hover span{background:#fff}
.all-work{padding:60px var(--gutter) 68px;display:flex;align-items:center;justify-content:space-between;gap:30px}.all-work>a{font-size:clamp(27px,3vw,49px);line-height:1.2;letter-spacing:-.045em}.all-work>a span{display:inline-block;margin-left:18px;transition:transform .25s}.all-work>a:hover span{transform:translate(5px,-5px)}.all-work>span{font-size:13px;color:var(--muted)}.footer{margin:0;padding:40px var(--gutter) 50px;border-top:1px solid #666d6d;background:linear-gradient(180deg,rgba(214,227,232,0) 0%,rgba(198,214,221,.9) 100%);display:grid;grid-template-columns:2fr 1fr 1.5fr 1.1fr;gap:35px;font-size:13px;line-height:1.7}.footer h2{font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:400;margin:0 0 16px;color:var(--muted)}.footer p{margin:15px 0 0}.footer a:not(.footer-brand a){display:block}.footer a:hover{text-decoration:underline}.footer-brand>a{display:block;width:94px}.footer-brand p{font-size:12px;color:var(--muted)}.footer-note>span{display:block;color:var(--muted);font-size:11px;margin-top:30px}.footer-note p{margin-top:0}
.work-page,.about-page,.contact-page,.project-page{padding:60px var(--gutter) 100px}.page-heading{display:flex;align-items:baseline;justify-content:space-between;gap:30px;margin:0 0 72px}.page-heading h1{font-size:clamp(60px,8vw,132px);line-height:1.02;letter-spacing:-.065em;font-weight:400;margin:0}.page-heading>p{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;white-space:nowrap}.small-count{font-size:14px;letter-spacing:0;vertical-align:top;display:inline-block;margin:14px 0 0 18px}.work-layout{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,100px);align-items:start}.filters{display:flex;gap:20px;border-bottom:1px solid var(--ink);padding:0 0 14px;flex-wrap:wrap}.filters button{padding:10px 0;font-size:12px;color:var(--muted);white-space:nowrap}.filters button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.work-row{padding:19px 0;display:grid;grid-template-columns:24px 1fr 24px;gap:12px;border-bottom:1px solid var(--line);color:var(--muted);transition:color .25s}.work-row.is-selected,.work-row:hover,.work-row:focus{color:var(--ink)}.work-no{font-size:10px;margin-top:8px;font-variant-numeric:tabular-nums;opacity:.7}.work-row strong{font-size:clamp(24px,2.8vw,45px);font-weight:400;letter-spacing:-.045em;line-height:1.1;display:block}.work-name{font-size:12px;display:block;margin-top:7px}.work-arrow{font-size:23px;opacity:0;transition:opacity .25s}.work-row.is-selected .work-arrow,.work-row:hover .work-arrow,.work-row:focus .work-arrow{opacity:1}.mobile-work-image{display:none}.work-preview{position:sticky;top:30px;margin:0}.work-preview>a{position:relative;display:block;overflow:hidden;background:#d8dad4}.work-preview img{width:100%;aspect-ratio:1.15;object-fit:cover;transition:opacity .25s}.preview-open{position:absolute;bottom:22px;right:25px;color:white;font-size:12px;text-shadow:0 1px 8px #000}.work-preview figcaption{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-top:16px;color:var(--muted)}
.about-intro{display:grid;grid-template-columns:1fr 2fr;gap:32px}.eyebrow{font-size:12px;letter-spacing:.055em;text-transform:uppercase;color:var(--muted);margin:0 0 28px}.about-intro h2{font-size:clamp(30px,4.4vw,70px);font-weight:400;line-height:1.15;letter-spacing:-.045em;margin:0}.about-copy{grid-column:2;max-width:620px;line-height:1.8;font-size:18px;margin:0;color:#5b5d57}.about-image{margin:65px 0 100px}.about-image img{width:100%;max-height:640px;object-fit:cover}.about-image figcaption{font-size:12px;color:var(--muted);margin-top:14px}.services{display:grid;grid-template-columns:1fr 2fr;gap:32px;margin-bottom:80px}.services>h2{font-size:24px;letter-spacing:-.03em;font-weight:400;margin:0}.services article{display:flex;gap:30px;padding:25px 0;border-top:1px solid var(--line)}.services article>span{font-size:11px;color:var(--muted);padding-top:9px}.services h3{font-size:clamp(23px,2.6vw,42px);letter-spacing:-.04em;font-weight:400;margin:0 0 12px}.services p{margin:0;font-size:16px;color:var(--muted)}.text-cta{font-size:clamp(22px,3.3vw,48px);letter-spacing:-.04em;display:flex;align-items:center;gap:30px;line-height:1.2;width:fit-content}.text-cta>span{transition:transform .25s}.text-cta:hover>span{transform:translate(5px,-5px)}
.contact-page .page-heading{align-items:flex-start;margin-bottom:100px}.contact-page .page-heading p{margin-top:17px}.contact-body{display:grid;grid-template-columns:2fr 1fr;gap:70px}.contact-email{display:flex;gap:30px;align-items:baseline;font-size:clamp(24px,4.1vw,68px);line-height:1.2;letter-spacing:-.055em;width:fit-content}.contact-email>span{font-size:.7em}.contact-phone{display:inline-block;margin-top:24px;font-size:20px}.contact-address p:not(.eyebrow){line-height:1.8;margin:0 0 24px}.brief-row{border-top:1px solid var(--line);padding-top:35px;margin-top:85px;display:flex;align-items:center;justify-content:space-between;gap:40px}.brief-row>p{color:var(--muted);font-size:16px;line-height:1.7}
.back-link{font-size:12px;color:var(--muted);display:inline-block;margin-bottom:42px}.project-heading{display:flex;gap:40px;justify-content:space-between;align-items:flex-end;margin-bottom:40px}.project-heading h1{font-size:clamp(36px,6vw,90px);font-weight:400;line-height:1.1;letter-spacing:-.055em;margin:0}.project-heading>div{display:grid;gap:5px;font-size:13px;white-space:nowrap}.project-heading>div span:last-child{color:var(--muted)}.project-poster{position:relative;width:100%;padding:0;display:block;overflow:hidden;background:#161616}.project-poster img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:opacity .35s,transform .8s}.project-poster:hover img{opacity:.8;transform:scale(1.015)}.poster-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;background:#0009;padding:14px 22px;color:white;font-size:14px;backdrop-filter:blur(5px);border:1px solid #ffffff50}.poster-play>span{font-size:10px}.project-description{display:flex;gap:40px;justify-content:space-between;padding:30px 0 65px}.project-description>p{max-width:650px;margin:0;font-size:18px;color:var(--muted)}.project-description>a{font-size:13px;white-space:nowrap}.next-project{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:35px;border-top:1px solid var(--line)}.next-project>span{font-size:12px;color:var(--muted)}.next-project strong{font-weight:400;font-size:clamp(24px,3.2vw,50px);letter-spacing:-.04em}.film-dialog{background:#111;color:white;border:0;width:min(1240px,94vw);max-width:none;padding:22px 25px 18px;max-height:95dvh}.film-dialog::backdrop{background:#090a09ed}.film-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.film-toolbar h2{font-size:16px;font-weight:400;margin:0}.film-toolbar button{font-size:13px;padding:8px 0 8px 20px;white-space:nowrap}.film-toolbar button span{font-size:22px;margin-left:14px}#film-player{aspect-ratio:16/9;max-height:74dvh;background:black}#film-player iframe{width:100%;height:100%;border:0}.youtube-fallback{display:inline-block;font-size:12px;color:#bbb;margin-top:16px}
@media(min-width:1800px){.hero-mark{max-height:67vh}.hero-note{top:auto;bottom:22%}}
@media(max-width:1000px){.header{min-height:90px}.hero{min-height:640px}.hero-bottom{grid-template-columns:1.6fr 1fr auto;gap:24px}.hero-category{display:none}.footer{grid-template-columns:1.3fr 1fr 1.5fr;gap:30px}.footer-note{grid-column:1/-1;display:flex;gap:40px;justify-content:space-between;align-items:flex-start}.footer-note>span{margin-top:0}.work-layout{grid-template-columns:1fr 1fr;gap:30px}.page-heading{margin-bottom:50px}.work-row strong{font-size:28px}.about-copy{font-size:16px}.contact-body{gap:40px}}
@media(max-width:700px){.header{grid-template-columns:1fr auto;padding-top:18px;padding-bottom:18px;min-height:82px}.brand{width:79px}.desktop-nav{display:none}.menu-toggle{display:flex}.hero{min-height:580px}.hero-mark{width:calc(100% - 22px);left:11px;top:43%;opacity:.94}.hero-note{top:calc(43% + 18vw);left:22px;font-size:10px}.hero-bottom{bottom:65px;grid-template-columns:1fr auto;gap:24px 14px}.hero-caption>a{font-size:19px;max-width:230px}.hero-caption>span{font-size:12px}.watch-film{grid-row:2;grid-column:1;font-size:12px}.slide-controls{grid-row:2;grid-column:2}.slide-controls button{width:35px;height:44px}.slide-count{margin-right:0;font-size:10px}.slide-controls [data-pause]{margin-left:0;width:28px}.all-work{padding-top:36px;padding-bottom:40px;display:block}.all-work>a{font-size:31px}.all-work>span{display:block;margin-top:17px;font-size:12px}.footer{grid-template-columns:1fr 1.35fr;gap:32px 20px;padding-top:32px;font-size:12px}.footer-brand{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand>a{width:80px;flex-shrink:0}.footer-brand p{font-size:11px;margin:0}.footer h2{font-size:10px;margin-bottom:12px}.footer-note{display:block}.footer-note p{display:none}.footer-note>span{margin-top:0}.footer-note h2{margin-bottom:8px}.work-page,.about-page,.contact-page,.project-page{padding-top:35px;padding-bottom:60px}.page-heading{margin-bottom:38px}.page-heading h1{font-size:60px}.page-heading>p{font-size:10px}.small-count{font-size:12px;margin:7px 0 0 10px}.work-layout{display:block}.work-preview{display:none}.filters{gap:24px;padding-bottom:6px}.work-row{grid-template-columns:20px 1fr 20px;padding:23px 0;color:var(--ink)}.work-row strong{font-size:27px}.work-no{font-size:10px}.work-arrow{opacity:1}.mobile-work-image{display:block;grid-column:2/-1;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;margin-top:6px}.about-intro{display:block}.about-intro h2{font-size:35px}.about-copy{margin-top:25px;line-height:1.7}.about-image{margin:40px 0 55px}.about-image img{aspect-ratio:1;object-fit:cover}.services{display:block;margin-bottom:50px}.services>h2{margin-bottom:28px}.services article{gap:22px}.services h3{font-size:25px}.services p{font-size:15px}.text-cta{font-size:27px;gap:20px}.contact-page .page-heading{display:block;margin-bottom:50px}.contact-page .page-heading h1{font-size:59px}.contact-page .page-heading p{margin-top:24px}.contact-body{display:block}.contact-email{font-size:clamp(23px,6.8vw,38px);gap:15px}.contact-phone{font-size:18px;margin-top:20px}.contact-address{margin-top:45px;font-size:16px}.contact-address .eyebrow{margin-bottom:16px}.brief-row{margin-top:45px;display:block;padding-top:22px}.brief-row .text-cta{margin-top:30px}.project-heading{display:block;margin-bottom:25px}.project-heading h1{font-size:42px}.project-heading>div{margin-top:22px;font-size:12px;display:flex;flex-wrap:wrap;gap:8px 20px;white-space:normal}.back-link{margin-bottom:30px}.project-poster img{aspect-ratio:4/3}.project-description{display:block;padding:25px 0 45px}.project-description>p{font-size:16px}.project-description>a{display:inline-block;margin-top:24px}.next-project{display:block}.next-project>span{display:block;margin-bottom:10px}.next-project strong{font-size:29px}.film-dialog{padding:16px;width:100%;max-height:100dvh}.film-toolbar h2{font-size:14px}}
.hero-image{transform:scale(1.22)}
.work-page .page-heading h1{position:relative;white-space:nowrap}
.work-page .small-count{position:absolute;top:0;left:100%;margin:12px 0 0 12px}
@media(max-width:700px){.work-page .page-heading>p{display:none}.hero-mark image{filter:url(#logo-outline-mobile)}.hero-caption{grid-column:1/-1}.hero-caption>a{max-width:300px}.work-page .small-count{margin:6px 0 0 10px}}
/* Display typography only; navigation, captions, body copy and logo stay unchanged. */
.page-heading h1,.project-heading h1,.about-intro h2,.services>h2,.services h3,.work-row strong,.all-work>a,.text-cta,.next-project strong,.contact-email,.menu-dialog nav a{font-family:var(--font-display);font-weight:600;font-synthesis:none;letter-spacing:-.035em;line-height:1.2;overflow-wrap:anywhere}
.page-heading h1,.project-heading h1{font-weight:800;letter-spacing:-.045em}
.contact-email{font-weight:400}
.page-heading h1{font-size:clamp(42px,7.3vw,112px)}
.project-heading h1{font-size:clamp(32px,5.2vw,78px);min-width:0}
.about-intro h2{font-size:clamp(28px,3.7vw,58px)}
.services h3{font-size:clamp(23px,2.2vw,34px)}
.work-row strong{font-size:clamp(22px,2.1vw,36px)}
.work-layout,.about-intro,.services,.contact-body{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.work-layout{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.contact-body{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.all-work>a{font-size:clamp(24px,2.8vw,44px)}
.text-cta,.next-project strong{font-size:clamp(23px,2.8vw,42px);min-width:0;max-width:100%}
.contact-email{font-size:clamp(23px,3.2vw,52px);max-width:100%;gap:20px}
.small-count{font-family:Arial,Helvetica,sans-serif}
@media(max-width:1000px){.work-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:700px){
  .page-heading{flex-wrap:wrap;gap:18px}
  .page-heading h1{font-size:clamp(34px,10vw,52px)}
  .contact-page .page-heading h1{font-size:clamp(28px,8.4vw,46px)}
  .project-heading h1{font-size:clamp(30px,8.2vw,42px)}
  .about-intro h2{font-size:clamp(26px,7.5vw,35px)}
  .services>h2,.services h3{font-size:23px}
  .work-row strong{font-size:22px}
  .all-work>a,.text-cta,.next-project strong{font-size:24px}
  .contact-email{font-size:clamp(19px,5.1vw,30px);gap:12px}
}
/* Project directory: typography-led index and a preview masked by the original GRAY logo. */
.work-directory{padding-top:clamp(60px,9vh,130px);min-height:calc(100svh - 110px)}
.work-directory .work-layout{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(28px,3vw,58px)}
.work-directory .filters{gap:20px;padding-bottom:6px;border-color:#858680}
.work-directory .filters button{font-size:12px;text-transform:uppercase;letter-spacing:.02em;text-decoration:none}
.work-directory .filters button[aria-pressed=true]{font-weight:700}
.work-directory .work-list{padding-top:12px}
.work-directory .work-row{grid-template-columns:minmax(0,1fr) 22px;gap:12px;border:0;padding:15px 0;color:#777873}
.work-directory .work-row.is-selected,.work-directory .work-row:hover,.work-directory .work-row:focus-visible{color:var(--ink)}
.work-directory .work-row strong{font-size:clamp(22px,1.85vw,32px);line-height:1.3;text-transform:uppercase;letter-spacing:-.04em}
.work-directory .work-name{margin-top:5px;font-size:13px}
.work-directory .work-arrow{margin-top:3px}
.work-directory .work-preview{margin-top:51px;top:60px}
.work-directory .work-preview>a{overflow:visible;background:transparent}
.work-directory .work-preview img{height:auto;aspect-ratio:2687/1000;object-fit:cover;-webkit-mask:url("assets/gray-connected.png") center/contain no-repeat;mask:url("assets/gray-connected.png") center/contain no-repeat}
.work-directory .work-preview figcaption{margin-top:32px;align-items:flex-end;line-height:1.6}
.work-directory .work-preview figcaption>div{display:grid;gap:3px}
.work-directory #preview-client{color:var(--ink)}
.work-directory .preview-open{position:static;white-space:nowrap;color:var(--ink);font-size:12px;text-shadow:none}
.work-directory .preview-open:hover{text-decoration:underline}
@media(max-width:850px){
  .work-directory{padding-top:35px;min-height:0}
  .work-directory .work-layout{display:block}
  .work-directory .work-preview{display:none}
  .work-directory .work-row{color:var(--ink);padding:22px 0}
  .work-directory .work-row strong{font-size:clamp(22px,4.7vw,30px)}
  .work-directory .work-arrow{opacity:1}
  .work-directory .mobile-work-image{display:block;grid-column:1/-1;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;margin-top:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Private media profile */
.private-page{background:linear-gradient(145deg,#f6f7f4 0%,#edf3f3 58%,#d5e5e9 100%);min-height:100svh}.profile-workspace{max-width:1680px;margin:0 auto;padding:24px var(--gutter) 55px}.profile-topbar{display:flex;align-items:center;gap:25px;border-bottom:1px solid #9da9aa;padding-bottom:22px}.profile-brand{width:83px;line-height:0}.profile-private{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.11em}.profile-private span{font-weight:700}.profile-private small{font-size:10px;letter-spacing:0;color:var(--muted);border-left:1px solid #aab5b6;padding-left:12px}.profile-back{margin-left:auto;font-size:12px;color:var(--muted)}.profile-back:hover{text-decoration:underline}.profile-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:clamp(45px,8vw,110px) 0 45px}.profile-heading h1{font-family:var(--font-display);font-size:clamp(52px,8vw,124px);font-weight:800;line-height:1;letter-spacing:-.08em;margin:0}.profile-lead{font-size:15px;color:var(--muted);margin:22px 0 0;max-width:530px}.profile-connection{display:flex;align-items:center;gap:12px;border:1px solid #b6c3c3;background:#ffffff55;padding:12px 15px;min-width:240px}.profile-connection strong,.profile-connection small{display:block}.profile-connection strong{font-size:12px;font-weight:600}.profile-connection small{font-size:11px;color:var(--muted);margin-top:3px}.status-dot{display:block;width:8px;height:8px;border-radius:50%;background:#a8afb0;box-shadow:0 0 0 4px #a8afb020;flex:0 0 auto}.profile-connection.is-ok .status-dot{background:#2b805a;box-shadow:0 0 0 4px #2b805a20}.profile-connection.is-error .status-dot{background:var(--red);box-shadow:0 0 0 4px #911a1d20}.profile-toolbar{display:flex;gap:10px;align-items:center;border-top:1px solid #9da9aa;border-bottom:1px solid #9da9aa;padding:12px 0}.profile-search{display:flex;align-items:center;gap:10px;flex:1;min-width:180px}.profile-search span{font-size:26px;line-height:1;color:var(--muted)}.profile-search input{width:100%;border:0;background:transparent;color:var(--ink);font-size:14px;outline:0}.profile-search input::placeholder{color:#7a8384}.profile-button{border:1px solid #aab6b7;padding:11px 14px;background:#ffffff55;color:var(--ink);font-size:11px;white-space:nowrap;transition:background .2s,border-color .2s,transform .2s}.profile-button:hover:not(:disabled){background:#fff;border-color:var(--ink);transform:translateY(-1px)}.profile-button-dark{background:var(--ink);border-color:var(--ink);color:#fff}.profile-button-dark:hover:not(:disabled){background:var(--red);border-color:var(--red)}.profile-button-light{background:transparent}.profile-button:disabled{opacity:.42}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#b4c0c0;border:1px solid #b4c0c0;margin:28px 0}.profile-stats>div{background:#f5f7f5;padding:17px 18px}.profile-stats span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.profile-stats strong{display:block;font-family:var(--font-display);font-size:27px;line-height:1.1;margin-top:8px;font-weight:700}.profile-layout{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}.profile-sidebar{position:sticky;top:20px}.profile-source-tabs{display:flex;border-bottom:1px solid #9da9aa;margin-bottom:28px}.profile-source-tabs button,.profile-filter-row button{padding:10px 0;margin-right:19px;font-size:11px;color:var(--muted);position:relative}.profile-source-tabs button.is-active,.profile-filter-row button.is-active{color:var(--ink);font-weight:700}.profile-source-tabs button.is-active:after,.profile-filter-row button.is-active:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--red)}.profile-sidebar-head{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:12px}.profile-sidebar-head .eyebrow,.profile-panel-head .eyebrow{margin-bottom:8px}.profile-sidebar-head h2,.profile-panel-head h2,.profile-drop-panel h2,.profile-settings summary strong{font-family:var(--font-display);font-weight:700;letter-spacing:-.045em;line-height:1.2;margin:0}.profile-sidebar-head h2{font-size:20px}.profile-sidebar-head>span{font-size:12px;color:var(--muted)}.profile-project-list{border-top:1px solid #b5c0c1;max-height:680px;overflow:auto}.profile-project-item{display:grid;grid-template-columns:23px minmax(0,1fr) 15px;gap:10px;width:100%;text-align:left;border-bottom:1px solid #c7d0d1;padding:14px 0;color:#6d7778}.profile-project-item:hover,.profile-project-item.is-active{color:var(--ink)}.profile-project-item.is-active{background:#ffffff45}.profile-project-index{font:10px Arial,sans-serif;padding-top:3px;opacity:.72}.profile-project-copy{min-width:0}.profile-project-copy strong,.profile-project-copy small,.profile-project-copy em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-project-copy strong{font-family:var(--font-display);font-size:11px;font-weight:700;line-height:1.5}.profile-project-copy small{font-size:11px;margin-top:4px;color:inherit}.profile-project-copy em{font-style:normal;font-size:10px;margin-top:5px;color:#879091}.profile-project-arrow{font-size:16px;padding-top:2px;opacity:0}.profile-project-item:hover .profile-project-arrow,.profile-project-item.is-active .profile-project-arrow{opacity:1}.profile-sidebar-note{display:flex;gap:10px;margin-top:25px;color:var(--muted);font-size:11px;line-height:1.6}.profile-sidebar-note .status-dot{margin-top:5px;background:var(--red);box-shadow:none}.profile-sidebar-note p{margin:0}.profile-content{min-width:0}.profile-panel{border-top:1px solid #9da9aa;padding:20px 0 0;margin-bottom:45px}.profile-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.profile-panel-head h2{font-size:clamp(22px,2.8vw,39px);max-width:760px;overflow-wrap:anywhere}.profile-path{font:11px Arial,sans-serif;color:var(--muted);margin:9px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:760px}.profile-panel-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.profile-filter-row{display:flex;align-items:center;border-bottom:1px solid #bac5c6;margin:27px 0 18px}.profile-filter-row span{margin-left:auto;font-size:10px;color:var(--muted);white-space:nowrap}.profile-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.profile-media-card{min-width:0;background:#f8faf8;border:1px solid #c2cdce}.profile-media-card.is-skipped{opacity:.72}.profile-media-preview{position:relative;aspect-ratio:16/10;background:#202526;overflow:hidden}.profile-media-preview img,.profile-media-preview video{width:100%;height:100%;display:block;object-fit:cover}.profile-media-preview img{background:linear-gradient(140deg,#d8e6e8,#aebfc4)}.profile-media-preview.is-missing:after{content:'Không có preview';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:11px}.media-kind{position:absolute;left:9px;top:8px;padding:4px 6px;background:#111b;color:#fff;font-size:8px;letter-spacing:.1em}.media-queue-button{position:absolute;right:8px;bottom:8px;padding:7px 9px;background:#fff;color:var(--ink);font-size:10px;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}.profile-media-card:hover .media-queue-button,.media-queue-button:focus-visible{opacity:1;transform:none}.profile-media-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:11px}.profile-media-meta strong,.profile-media-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-media-meta strong{font-size:12px;font-weight:600}.profile-media-meta small{font-size:10px;color:var(--muted);margin-top:5px}.media-status{font-size:9px;white-space:nowrap;align-self:start}.media-status.is-ready{color:#28714e}.media-status.is-skipped{color:var(--red);max-width:120px;text-align:right;white-space:normal}.media-size{grid-column:1/-1;font-size:10px;color:var(--muted)}.profile-empty{padding:18px 0;color:var(--muted);font-size:12px}.profile-empty-large{min-height:210px;border:1px dashed #aab8b9;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;padding:28px}.profile-empty-large strong{font-size:13px;font-weight:600;color:var(--ink)}.profile-empty-mark,.profile-drop-icon{font-family:Arial,sans-serif;font-size:35px;font-weight:200;color:var(--red);line-height:1}.profile-loader{width:20px;height:20px;border:1px solid #aab8b9;border-top-color:var(--red);border-radius:50%;animation:profile-spin .8s linear infinite}@keyframes profile-spin{to{transform:rotate(360deg)}}.profile-local-breadcrumb{font:11px Arial,sans-serif;color:var(--muted);border-bottom:1px solid #c0cbcc;padding:10px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-folder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:17px 0}.profile-folder-item{min-width:0;text-align:left;border:1px solid #c2cdce;background:#ffffff4d;padding:12px;min-height:78px}.profile-folder-item:hover{background:#fff;border-color:var(--ink)}.profile-folder-icon{display:block;font-size:22px;line-height:1;margin-bottom:10px;color:var(--red)}.profile-folder-item strong,.profile-folder-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-folder-item strong{font-size:11px}.profile-folder-item small{font-size:10px;color:var(--muted);margin-top:4px}.profile-drop-panel{background:#ffffff42;padding:20px;border:1px solid #b9c5c6}.profile-queue-count{font-size:11px;color:var(--muted)}.profile-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:150px;border:1px dashed #9aa8a9;background:#f9fbf94c;margin-top:20px;cursor:pointer;transition:background .2s,border-color .2s}.profile-dropzone:hover,.profile-dropzone.is-dragging{background:#fff;border-color:var(--red)}.profile-dropzone input{display:none}.profile-drop-icon{font-size:31px}.profile-dropzone strong{font-size:13px}.profile-dropzone>span:last-child{font-size:11px;color:var(--muted)}.profile-queue{display:grid;gap:8px;margin-top:14px}.profile-queue-item{display:grid;grid-template-columns:48px minmax(0,1fr) 25px;gap:11px;align-items:center;background:#f9fbfa;border:1px solid #c6d0d1;padding:7px}.profile-queue-thumb{width:48px;height:35px;background:#202526;display:grid;place-items:center;overflow:hidden}.profile-queue-thumb img{width:100%;height:100%;object-fit:cover}.profile-queue-thumb span{font-size:8px;color:#fff}.profile-queue-copy{min-width:0}.profile-queue-copy strong,.profile-queue-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-queue-copy strong{font-size:11px}.profile-queue-copy small{font-size:10px;color:var(--muted);margin-top:3px}.profile-queue-item>button{font-size:21px;color:var(--muted)}.profile-queue-item>button:hover{color:var(--red)}.profile-upload-bar{display:flex;align-items:center;gap:15px;margin-top:16px}.profile-upload-bar>span{font-size:11px;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-settings{border:1px solid #b9c5c6;padding:0 18px;background:#ffffff35}.profile-settings summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;padding:18px 0}.profile-settings summary::-webkit-details-marker{display:none}.profile-settings summary .eyebrow{display:block;margin:0 0 5px}.profile-settings summary strong{display:block;font-size:20px}.profile-summary-note{font-size:10px;color:var(--muted)}.profile-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 0 20px}.profile-settings-grid label{display:grid;gap:7px}.profile-settings-grid label span{font-size:11px;color:var(--muted)}.profile-settings-grid input{width:100%;border:1px solid #aebbbc;background:#ffffff80;padding:11px 12px;font-size:13px;outline:0}.profile-settings-grid input:focus{border-color:var(--ink);outline:1px solid var(--ink);outline-offset:2px}.profile-settings-wide,.profile-settings-actions{grid-column:1/-1}.profile-settings-actions{display:flex;align-items:center;gap:15px}.profile-settings-actions span{font-size:11px;color:var(--muted)}.profile-footnote{font-size:11px;color:var(--muted);border-top:1px solid #9da9aa;padding-top:17px;margin:0}.private-page .eyebrow{font-size:10px}.private-page [hidden]{display:none!important}
@media(max-width:900px){.profile-layout{grid-template-columns:1fr}.profile-sidebar{position:static}.profile-project-list{max-height:360px}.profile-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-folder-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.profile-workspace{padding-top:16px}.profile-topbar{gap:13px;padding-bottom:16px}.profile-brand{width:67px}.profile-private{display:block;font-size:9px}.profile-private small{display:block;border:0;padding:4px 0 0;font-size:9px}.profile-back{font-size:10px}.profile-heading{display:block;padding:44px 0 32px}.profile-heading h1{font-size:56px}.profile-lead{font-size:13px;line-height:1.6;margin-top:17px}.profile-connection{margin-top:28px;min-width:0;width:100%}.profile-toolbar{flex-wrap:wrap}.profile-search{flex:1 0 100%;order:-1;padding:5px 0 11px;border-bottom:1px solid #c2cccc}.profile-button{flex:1;padding:11px 8px;font-size:10px}.profile-stats{grid-template-columns:1fr 1fr}.profile-stats strong{font-size:23px}.profile-panel-head{display:block}.profile-panel-actions{justify-content:flex-start;margin-top:18px}.profile-filter-row{overflow:auto}.profile-filter-row span{display:none}.profile-media-grid{grid-template-columns:1fr}.profile-media-meta strong{font-size:11px}.media-queue-button{opacity:1;transform:none}.profile-folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-drop-panel{padding:15px}.profile-upload-bar{display:block}.profile-upload-bar .profile-button{width:100%}.profile-upload-bar>span{display:block;margin-top:10px;white-space:normal}.profile-settings{padding:0 14px}.profile-settings summary{display:block}.profile-summary-note{display:block;margin-top:8px}.profile-settings-grid{grid-template-columns:1fr}.profile-settings-wide,.profile-settings-actions{grid-column:auto}.profile-settings-actions{display:block}.profile-settings-actions .profile-button{width:100%}.profile-settings-actions span{display:block;margin-top:10px}}

/* Content manager */
.admin-page{padding:clamp(38px,7vw,90px) var(--gutter) 90px;max-width:1500px;margin:0 auto}.admin-head{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;border-bottom:1px solid var(--ink);padding-bottom:35px}.admin-head h1{font-family:var(--font-display);font-size:clamp(36px,5vw,72px);line-height:1.1;letter-spacing:-.05em;font-weight:800;margin:0}.admin-intro{font-size:16px;color:var(--muted);margin:20px 0 0}.admin-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.admin-actions button,.admin-file{border:1px solid var(--line);padding:12px 16px;font-size:13px;background:transparent;cursor:pointer}.admin-actions button:hover,.admin-file:hover{border-color:var(--ink)}.admin-actions .admin-primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.admin-actions .admin-primary:hover{background:var(--red);border-color:var(--red)}.admin-file input{display:none}.admin-status{min-height:24px;color:var(--red);font-size:14px;margin:20px 0 0}.admin-section{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,2fr);gap:35px;padding:48px 0;border-bottom:1px solid var(--line)}.admin-section>.eyebrow{margin:0}.admin-section h2{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,2.4vw,34px);letter-spacing:-.04em;line-height:1.2;margin:0}.admin-fields,.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.admin-field{display:grid;gap:8px;align-content:start}.admin-field span{font-size:12px;color:var(--muted)}.admin-field input,.admin-field textarea{width:100%;border:1px solid var(--line);background:transparent;color:var(--ink);padding:13px 14px;border-radius:0;font-size:16px;line-height:1.45}.admin-field textarea{resize:vertical;min-height:92px}.admin-field input:focus,.admin-field textarea:focus{outline:2px solid var(--ink);outline-offset:2px;border-color:var(--ink)}.admin-wide{grid-column:1/-1}.admin-subsection{grid-column:2;margin-top:35px}.admin-subsection h3{font-size:16px;margin:0 0 15px}.admin-card{border:1px solid var(--line);padding:20px;margin:0 0 18px;min-width:0}.admin-card legend{font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:-.02em;padding:0 8px}.admin-footnote{display:flex;justify-content:space-between;gap:25px;padding-top:30px;color:var(--muted);font-size:13px}.admin-footnote p{margin:0}.admin-footnote a{color:var(--ink)}.admin-footnote a:hover{text-decoration:underline}
@media(max-width:850px){.admin-head{display:block}.admin-actions{justify-content:flex-start;margin-top:28px}.admin-section{display:block}.admin-section>.eyebrow{margin-bottom:10px}.admin-fields,.admin-grid{grid-template-columns:1fr}.admin-subsection{margin-top:35px}.admin-footnote{display:block}.admin-footnote a{display:inline-block;margin-top:15px}}
@media(max-width:520px){.admin-actions{display:grid;grid-template-columns:1fr 1fr}.admin-actions .admin-primary{grid-column:1/-1}.admin-actions button,.admin-file{text-align:center;padding:12px 8px}.admin-page{padding-top:30px}.admin-section{padding:36px 0}.admin-card{padding:16px 12px}.admin-card legend{font-size:12px}}

/* Profile controls */
.profile-auto-upload{display:flex!important;align-items:center;gap:9px}.profile-auto-upload input{width:15px!important;height:15px;accent-color:var(--red)}.profile-auto-upload span{color:var(--ink)!important}

.profile-scope-tabs{display:flex;gap:14px;border-bottom:1px solid #c1cccd;margin-bottom:12px}.profile-scope-tabs button{padding:0 0 9px;font-size:10px;color:var(--muted);position:relative}.profile-scope-tabs button.is-active{color:var(--ink);font-weight:700}.profile-scope-tabs button.is-active:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--red)}.media-skip-note{position:absolute;right:8px;bottom:8px;padding:7px 9px;background:#111b;color:#fff;font-size:9px;opacity:.86}

/* Video trigger */
.watch-film{position:relative;gap:12px;padding:7px 14px 7px 7px;border:1px solid #ffffff42;border-radius:999px;background:#11111152;backdrop-filter:blur(8px);transition:background .3s,border-color .3s,transform .3s}.watch-film:after{content:'↗';font-size:15px;opacity:.7;transition:transform .3s,opacity .3s}.watch-film:hover{background:#fff;color:#171917;border-color:#fff;transform:translateY(-2px)}.watch-film:hover:after{opacity:1;transform:translate(2px,-2px)}.play-circle{position:relative;width:42px;height:42px;border-color:#ffffff80}.play-circle:before{content:'';position:absolute;inset:5px;border:1px solid currentColor;border-radius:50%;opacity:.28}.play-circle:after{content:'';position:absolute;right:5px;top:4px;width:5px;height:5px;border-radius:50%;background:var(--red);box-shadow:0 0 12px var(--red)}.watch-film:hover .play-circle{background:var(--red);color:#fff;border-color:var(--red)}.project-poster .poster-play{padding:19px 32px 19px 17px;border-color:#ffffff55;background:#171615d9;box-shadow:0 15px 50px #0003;transition:transform .4s,background .4s,border-color .4s}.project-poster .poster-play:before{content:'';position:absolute;left:-30px;top:50%;width:22px;height:1px;background:var(--red);transform:scaleX(.7);transform-origin:right;transition:transform .4s}.project-poster .poster-play:after{content:'↗';position:absolute;right:11px;top:8px;font-size:13px;color:#ffffffb8;transition:transform .3s,color .3s}.project-poster .poster-play>span:first-child{position:relative;display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffff8a;border-radius:50%;color:#fff;font-size:10px;padding-left:2px}.project-poster .poster-play>span:first-child:after{content:'';position:absolute;inset:5px;border:1px solid var(--red);border-radius:50%;opacity:.8}.project-poster:hover .poster-play{transform:translate(-50%,-50%) scale(1.04);background:#24201ddd;border-color:#ffffff95}.project-poster:hover .poster-play:before{transform:scaleX(1)}.project-poster:hover .poster-play:after{color:#fff;transform:translate(2px,-2px)}
