.graphics-hero>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.graphics-hero h1{font-size:clamp(3rem,6.5vw,6rem);text-wrap:balance}
.graphics-intro{padding:48px 0 36px;margin:0;max-width:760px;font-size:1.2rem;color:var(--muted)}
.graphics-block{padding:48px 0 56px;border-top:1px solid var(--line)}
.graphics-section{margin:0 0 30px}
.graphics-section-title{font-size:clamp(1.8rem,3.5vw,3rem);font-weight:750;letter-spacing:-.045em;line-height:1.08;border:0;margin:12px 0 0;padding:0;text-wrap:balance}
.tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:0}
.tile-grid+.tile-grid{margin-top:28px}
.tile-grid--c6{grid-template-columns:repeat(6,minmax(0,1fr))}
.tile-grid--c5{grid-template-columns:repeat(5,minmax(0,1fr))}
.tile-grid--c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tile-grid .tile-card{width:auto;min-width:0}
.tile-box{border-radius:0;border:0;background:white}
.tile-box:hover{border:0;opacity:.9}
.tile-box--land{padding-top:70%}
.tile-img{object-fit:contain}
.tile-play{background:#0b0c0fcc}
.cap-title{font-size:1rem;font-weight:700}.cap-meta{color:var(--muted)}
.portfolio-subnav{padding:36px 0}.portfolio-subnav-line{margin-bottom:20px}.portfolio-subnav-head{display:block;font-weight:700;margin-bottom:10px}.portfolio-subnav-links{display:flex;flex-wrap:wrap;gap:12px 24px}.portfolio-subnav-a{text-decoration:none;border-bottom:1px solid var(--line)}.portfolio-subnav-a.is-active{border-color:#d69a28}
.rule{border:0;border-top:1px solid var(--line)}.photo-back{padding:20px 0 64px}.photo-back-btn{font-weight:700;text-underline-offset:6px}
.modal-lock .back-to-top{display:none}
.portfolio-detail.graphics-page .graphics-section-title{font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.15;letter-spacing:-.035em}
@media(max-width:1000px){.tile-grid--c6,.tile-grid--c5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.tile-grid,.tile-grid--c3,.tile-grid--c4,.tile-grid--c5,.tile-grid--c6{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tile-grid .tile-card{width:auto}.graphics-block{padding:35px 0}.graphics-hero{min-height:560px}}
@media(max-width:400px){.tile-grid{gap:12px}.graphics-hero h1{font-size:2.6rem}}
