.preview-badge{position:fixed;bottom:12px;right:12px;z-index:40;background:#eee9df;color:#151515;border:1px solid #c8bda8;padding:8px 12px;font-size:10px;letter-spacing:.08em;pointer-events:none}
.skip-link{position:fixed;top:-80px;left:10px;z-index:100;background:var(--paper);padding:16px}.skip-link:focus{top:8px}
[id]{scroll-margin-top:110px}button,a,input,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--amber);outline-offset:5px}
.page-intro{padding-top:170px;padding-bottom:54px}.page-intro h1,.service-hero h1{font-size:clamp(38px,4.5vw,76px);font-weight:400;line-height:1.05;letter-spacing:-.045em;margin:20px 0}.page-intro p,.service-hero p{max-width:650px;line-height:1.8}
.library-section{padding-top:0}.library-filters{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px}.library-filters button{background:none;border:0;border-bottom:1px solid transparent;color:#aaa;font:inherit;padding:12px 0;cursor:pointer}.library-filters button[aria-pressed=true]{color:var(--white);border-bottom-color:currentColor}
.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 20px;margin:32px 0 44px;align-items:start}.library-card{min-width:0}.library-card .cover{position:relative;overflow:hidden}.library-card img{width:100%;height:auto;display:block}.card-caption{padding:14px 0;display:flex;flex-direction:column;gap:7px}.card-caption h3{font-size:16px;font-weight:400;margin:0}.card-caption span{font-size:11px;color:#aaa}.media-label{position:absolute;bottom:18px;right:18px;background:rgba(5,5,5,.75);color:#fff;border:1px solid #888;padding:12px 16px;font-size:11px;letter-spacing:.04em}
.load-more{display:block;margin:20px auto}.load-more[hidden]{display:none}.preview-services{grid-template-columns:repeat(2,minmax(0,1fr))}.scope-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.text-link{display:inline-block;margin-top:20px;padding-bottom:6px;border-bottom:1px solid currentColor}.service-hero{padding-top:155px;display:grid;grid-template-columns:1fr 1.15fr;gap:6vw;align-items:center}.service-hero>img{width:100%;height:auto}.service-hero .text-link{margin:20px 0 0 20px}.service-hero .button{margin-top:20px}
body[data-page=animation] #selected .library-grid{grid-template-columns:1fr;width:80%;margin-inline:auto;gap:48px}
@media(max-width:600px){body[data-page=animation] #selected .library-grid{width:100%;gap:28px}}
.process-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:40px}.process-list article{border-top:1px solid #444;padding-top:20px}.process-list span{color:var(--stone);font-size:12px}.process-list p,.brief-section p,.brief-section li{line-height:1.8}.process-list h3{font-size:20px;font-weight:400}.brief-section{display:grid;grid-template-columns:1fr 1fr;gap:6vw}.brief-section ul{padding-left:20px}.preview-note{font-size:12px;color:var(--stone)}
.project-dialog{width:min(1200px,94vw);max-width:94vw;max-height:92vh;overflow:auto;border:1px solid #444;background:#080808;color:var(--white);padding:64px 32px 32px}.project-dialog::backdrop{background:rgba(0,0,0,.92)}.dialog-close{position:sticky;top:0;float:right;z-index:2;border:1px solid #777;background:#080808;color:white;padding:12px;cursor:pointer}.detail-media figure{margin:28px 0}.detail-media img,.detail-media video{display:block;width:100%;height:auto;max-height:74vh;object-fit:contain}.detail-media figcaption{font-size:13px;color:#aaa;margin-top:12px}.video-poster{position:relative;border:0;background:#080808;padding:0;width:100%;cursor:pointer}.project-dialog h2{font-size:clamp(28px,4vw,48px)}
@media(max-width:980px){.service-hero{grid-template-columns:1fr}.service-hero>img{max-height:55vh;object-fit:cover}.process-list{grid-template-columns:repeat(2,minmax(0,1fr))}.scope-grid{grid-template-columns:1fr}}
@media(max-width:600px){.library-grid{grid-template-columns:1fr;gap:24px}.preview-services,.brief-section,.process-list{grid-template-columns:1fr}.page-intro,.service-hero{padding-top:125px}.service-hero .text-link{margin-left:0;display:block;width:fit-content}.library-filters{gap:18px;font-size:14px}.project-dialog{padding:28px 14px}.preview-badge{font-size:9px}.card-caption h3{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.detail-media .youtube-host{width:100%;aspect-ratio:16/9;min-height:200px;background:#000}
.detail-media .youtube-host iframe{display:block;width:100%;height:100%;min-height:200px;border:0}
.youtube-watch-link{display:inline-block;margin-top:12px;color:inherit;text-underline-offset:4px}
.video-status:empty{display:none}
.project-dialog:has(.youtube-host){width:min(1200px,94vw,calc(145dvh - 180px))}
.project-dialog .detail-image-link{display:block}
.detail-image-link:focus-visible{outline:2px solid var(--amber)}
.detail-image-note{font-size:12px;color:#aaa}
/* Homepage cover crops only; project details retain the complete images. */
#portfolio > .library-grid .cover{aspect-ratio:4/3;background:#101010}
#portfolio > .library-grid .cover img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
#portfolio [data-project="warmth-in-detail"] .cover img{object-position:50% 60%}
#portfolio [data-project="midnight-skyline"] .cover img{object-position:50% 35%}
#portfolio [data-project="quiet-arrival"] .cover img{object-position:50% 48%}
#portfolio > .library-grid .library-card:nth-child(n+7){padding-top:24px;border-top:1px solid #343434}
#portfolio > .library-grid .library-card:nth-child(n+7) .cover{aspect-ratio:16/9}
@media(max-width:600px){#portfolio > .library-grid .library-card:nth-child(n+7){padding-top:16px}}

.email-link{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;cursor:pointer}.email-link:hover{color:var(--amber)}

