/* Reading and controls: shared by the existing project layouts. */
.project-info .intro,.project-info .contribution p{font-size:15px;line-height:1.65;user-select:text}
.project-info dd{font-size:13px;line-height:1.6;user-select:text}
.project-info dt{font-size:12px;line-height:1.5;opacity:.85}
.project-info .skills span{font-size:10px;line-height:1.5}
@media(min-width:801px){
 .project-info{padding:18px clamp(24px,2.2vw,36px);overflow:auto}
 .project-info .project-index{margin:16px 0 10px}
 .project-info .project-title{font-size:clamp(32px,3.3vw,46px);margin-bottom:16px}
 .project-info .intro{margin-bottom:16px}
 .project-info .meta-row{padding:8px 0}
 .project-info .contribution{margin-top:16px}
 .project-info .contribution h2{font-size:12px}
 .project-info .skills{margin-top:12px;gap:6px 12px}
 .project-info .info-footer{padding-top:12px;font-size:11px}
}
@media(min-width:801px) and (max-height:700px){
 .project-info .intro,.project-info .contribution p{font-size:14px;line-height:1.65}
 .project-info .project-title{font-size:34px}
 .project-info .project-index{margin-top:10px}
 .project-info .meta-row{padding:6px 0}
}
.evo-project-intro .evo-hero-overview p,.chapter-heading>p,.video-copy>p,.event-note p{font-size:16px;line-height:1.7;user-select:text}
.evo-project-facts dt{font-size:12px;line-height:1.5}
.evo-project-facts dd{font-size:13px;line-height:1.65}
.evo-project-intro .scope{font-size:11px}
@media(max-width:800px){.evo-project-intro .evo-hero-overview p,.chapter-heading>p,.video-copy>p,.event-note p{font-size:15px}}
.brand-story::before{opacity:.40}
.brand-project-facts dt{color:#62412b;font-weight:700}
html[data-portfolio-theme=dark] .brand-detail .brand-project-facts dt{color:#dfc8a5}
html[data-portfolio-theme=dark] .brand-detail .brand-project-facts>div{border-color:#dfc8a54d}
.brand-content p,.brand-logo-explanation p{user-select:text}
.portfolio-theme-toggle,.theme-switch{position:relative}
.portfolio-theme-toggle::after,.theme-switch::after{
 content:attr(data-tooltip);position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%,4px);
 padding:8px 11px;border:1px solid #ffffff35;border-radius:7px;background:#202326;color:#fff;
 font:500 12px/1.4 system-ui,sans-serif;letter-spacing:0;text-transform:none;white-space:nowrap;
 opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s,transform .16s;z-index:120;
}
.portfolio-theme-toggle:hover::after,.portfolio-theme-toggle:focus-visible::after,.theme-switch:hover::after,.theme-switch:focus-visible::after{opacity:1;visibility:visible;transform:translate(-50%,0)}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #8d722c;outline-offset:4px}
html[data-portfolio-theme=dark] button:focus-visible,html[data-portfolio-theme=dark] a:focus-visible,html[data-portfolio-theme=dark] input:focus-visible{outline-color:#f2d392}
input[type=range]{cursor:ns-resize}
@media(pointer:fine){
 html,body{cursor:auto}button,a{cursor:pointer}
 .cursor{width:40px;height:40px;margin:-20px;display:none}
 .cursor.open,.cursor.spine{display:flex}
 .cursor .dot{width:4px;height:4px}
 .cursor.open .ring{transform:scale(1.5)}
 .cursor .cursor-label{font-size:9px}
 .tape-hit{cursor:none}
}
@media(prefers-reduced-motion:reduce){.portfolio-theme-toggle::after,.theme-switch::after{transition:none}}

.shinhanlife-tape .project-logo-window{aspect-ratio:1656/400}.shinhanlife-tape .project-spine-logo{width:calc(var(--H)*.72)}
.quantrochiemtinh-tape .project-spine-logo{top:12%;width:calc(var(--ws)*.90);height:80%;transform:translateX(-50%)}.quantrochiemtinh-tape .project-logo-window{aspect-ratio:1;border-radius:50%}.quantrochiemtinh-tape .project-spine-name{top:25%;font-size:calc(var(--H)*.038);height:74%;letter-spacing:.025em}.quantrochiemtinh-tape .project-front .project-logo-window{border-radius:3px}.quantrochiemtinh-tape .project-front{align-content:center;gap:calc(var(--H)*.07)}.new-project-cover-title{font:600 calc(var(--H)*.052)/1.45 Georgia,serif;text-align:center;letter-spacing:.07em;color:var(--project-ink)}

.shinhanlife-tape .project-logo-window img,.book-destination[data-book=shinhanlife] .navigation-book-mark img{clip-path:inset(0 1px 1px 0)}

.quantrochiemtinh-tape .project-front{display:block;padding:0}.quantrochiemtinh-tape .project-front .project-logo-window{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:inherit;overflow:hidden}.quantrochiemtinh-tape .project-front .project-logo-window img{width:100%;height:100%;object-fit:cover;object-position:center}.book-destination[data-book=quantrochiemtinh] .navigation-book-mark{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;border-radius:inherit}.book-destination[data-book=quantrochiemtinh] .navigation-book-mark img{width:100%;height:100%;object-fit:cover;object-position:center;mix-blend-mode:normal}

.giet-chi-huy-tape .project-spine-logo{inset:8% 0 auto;left:0;top:8%;width:100%;height:84%;transform:none}.giet-chi-huy-tape .project-spine-logo .project-logo-window{display:none}.giet-chi-huy-tape .project-spine-name{top:0;left:50%;height:100%;font-size:calc(var(--H)*.034);font-family:Georgia,serif;font-weight:700;letter-spacing:.025em;text-align:center}.giet-chi-huy-tape .project-front{display:block;padding:0}.giet-chi-huy-tape .project-front .project-logo-window{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;overflow:hidden}.giet-chi-huy-tape .project-front .project-logo-window img{width:100%;height:100%;object-fit:contain;background:#f4f4f4;object-position:center}.book-destination[data-book=giet-chi-huy] .navigation-book-mark{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;border-radius:inherit}.book-destination[data-book=giet-chi-huy] .navigation-book-mark img{width:100%;height:100%;object-fit:cover;mix-blend-mode:normal}

.project-reference{display:inline-flex;align-items:center;align-self:flex-start;min-height:44px;font-size:12px;line-height:1.5;text-decoration:underline;text-underline-offset:4px;margin:-8px 0 12px}
