/* A photograph has one frame in both views. Controls belong to that frame. */
.work-gallery-stage,.portfolio-detail .work-gallery-stage{display:flex;align-items:flex-start;justify-content:flex-start;width:100%;height:auto;max-height:none;aspect-ratio:auto;overflow:visible;background:none;border:0;border-radius:0}
.gallery-frame,.viewer-frame{position:relative;flex:none;width:min(100%,calc(var(--adv-gallery-height,440px) * var(--adv-image-ratio,1.6)));max-width:100%;aspect-ratio:var(--adv-image-ratio,1.6);isolation:isolate}
.gallery-frame>[data-gallery-open]{display:block;position:relative;width:100%;height:100%;cursor:zoom-in}
.work-gallery-stage .gallery-frame img,.work-viewer .viewer-frame [data-viewer-image]{display:block;width:100%;height:100%;max-width:100%;max-height:none;object-fit:contain;object-position:left top;user-select:none}
.gallery-frame .gallery-zoom,.gallery-frame .gallery-arrow,.viewer-frame .viewer-arrow{display:grid;place-items:center;width:44px;height:44px;padding:0;border:var(--adv-line-width,1px) solid var(--adv-c52718a,#52718a);border-radius:50%;background:var(--adv-c071724eb,#071724eb);color:var(--adv-cfff,#fff);z-index:2;line-height:1;cursor:pointer}
.gallery-frame .gallery-zoom{right:12px;bottom:12px;position:absolute}
.gallery-frame .gallery-arrow,.viewer-frame .viewer-arrow{position:absolute;top:50%;bottom:auto;transform:translateY(-50%)}
.gallery-frame .gallery-prev,.viewer-frame .viewer-prev{left:12px}.gallery-frame .gallery-next,.viewer-frame .viewer-next{right:12px}
.gallery-frame .dashicons,.viewer-frame .dashicons{font-size:calc((22px) * var(--adv-type-scale,1));width:22px;height:22px}
.gallery-arrow:hover,.viewer-arrow:hover,[data-gallery-open]:hover .gallery-zoom{background:var(--al-blue)}
.gallery-filmstrip{display:flex;align-items:center;gap:20px;margin-top:14px;min-width:0}.gallery-filmstrip[hidden],.gallery-arrow[hidden],.viewer-arrow[hidden],.gallery-caption[hidden]{display:none}
.gallery-thumbs{position:relative;display:flex;gap:10px;min-width:0;max-width:100%;padding:3px 2px 5px;margin:0;overflow-x:auto;overscroll-behavior-x:contain}
.gallery-thumbs a,.gallery-thumbs button{display:block;flex:0 0 90px;width:90px;height:58px;padding:0;border:2px solid transparent;border-radius:2px;opacity:.7;overflow:hidden;background:none;cursor:pointer}
.gallery-thumbs [aria-current],.gallery-thumbs a:hover,.gallery-thumbs button:hover{opacity:1;border-color:var(--al-blue)}
.gallery-thumbs img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-counter{flex:none;white-space:nowrap;font-size:calc((12px) * var(--adv-type-scale,1));color:var(--al-muted);font-variant-numeric:tabular-nums}
.work-gallery .gallery-caption,.work-viewer .gallery-caption{font-size:calc((13px) * var(--adv-type-scale,1));line-height:1.5;color:var(--al-muted);text-align:left;margin:10px 0 0;max-width:65ch}
.work-info .work-tags{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0 0 24px}
.work-info .work-tags a{padding:0;border:0;border-radius:0;font-size:calc((13px) * var(--adv-type-scale,1));line-height:1.5;color:var(--al-muted)}
.work-info .work-tags a:first-child{color:var(--al-blue);font-size:calc((12px) * var(--adv-type-scale,1));font-weight:600;letter-spacing:.11em;text-transform:uppercase}
.work-info .work-tags a:hover{text-decoration:underline;text-underline-offset:4px}
.work-info .work-copy,.portfolio-detail .work-copy{font-size:calc((15px) * var(--adv-type-scale,1));line-height:1.75;margin:0 0 26px;max-width:40ch}
.work-info .work-enquiry{font-size:calc((13px) * var(--adv-type-scale,1));line-height:1.4;padding:15px 22px;min-height:48px;margin:0;max-width:100%;text-align:center}
.inline-work-nav{margin-top:32px;padding-top:10px;gap:24px}.inline-work-nav a{color:var(--al-blue)}
/* Expanded project view: the existing header stays visible above the modal. */
.work-viewer{inset:var(--adv-header-height,72px) 0 0;width:100%;height:calc(100dvh - var(--adv-header-height,72px));max-height:calc(100dvh - var(--adv-header-height,72px));max-width:100%;padding:0;margin:0;border:0;border-radius:0;background:var(--al-bg);color:var(--al-white);overflow:auto;overscroll-behavior:contain}
.work-viewer::backdrop{background:transparent}
.viewer-shell{width:100%;padding:18px clamp(20px,2.4vw,44px) 28px}
.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;height:auto;min-height:44px;margin:0 0 18px;gap:16px}
.viewer-back{display:inline-flex;align-items:center;gap:10px;min-height:44px;background:none;border:0;padding:0;font:inherit;font-size:calc((13px) * var(--adv-type-scale,1));color:var(--adv-caad1ec,#aad1ec);cursor:pointer}
.work-viewer .lightbox-close{display:grid;place-items:center;position:static;min-height:44px;width:44px;padding:0;border:0;border-radius:0;background:transparent;color:var(--al-white)}
.work-viewer .lightbox-close .dashicons{width:28px;height:28px;font-size:calc((28px) * var(--adv-type-scale,1))}
.viewer-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,22%);align-items:start;gap:clamp(24px,3vw,56px)}
.viewer-gallery{min-width:0}
.viewer-stage{display:flex;align-items:flex-start;justify-content:flex-start;height:auto;position:relative;touch-action:pan-y pinch-zoom}
.viewer-frame{--adv-gallery-height:max(200px,calc(100dvh - var(--adv-header-height,72px) - 200px))}
.viewer-info{padding-top:clamp(12px,3vh,40px);display:block;max-width:100%}
.viewer-info h2{font-size:calc((clamp(25px,2.3vw,38px)) * var(--adv-type-scale,1));line-height:1.2;letter-spacing:-.03em;margin:0 0 28px;overflow-wrap:anywhere}
.work-viewer .viewer-info p{font-size:calc((15px) * var(--adv-type-scale,1));line-height:1.75;color:var(--al-muted);text-align:left;margin:0 0 14px}
.viewer-info .work-tags{margin-bottom:22px}
.viewer-back:focus-visible,.work-viewer .lightbox-close:focus-visible,.gallery-thumbs button:focus-visible{outline:2px solid var(--al-blue);outline-offset:4px}
@media(min-width:981px){.work-layout,.portfolio-detail .work-layout{grid-template-columns:minmax(0,1fr) minmax(210px,24%);gap:clamp(24px,2.5vw,44px)}.work-info,.portfolio-detail .work-info{padding-top:0}}
@media(max-width:980px){
 .work-layout,.portfolio-detail .work-layout{grid-template-columns:minmax(0,1fr);gap:24px}.gallery-frame{--adv-gallery-height:540px}
 .work-info .work-tags{flex-direction:row;flex-wrap:wrap;gap:10px 18px;margin-bottom:16px}.work-info .work-copy{max-width:65ch;margin-bottom:18px}
 .work-viewer{inset:0;height:100dvh;max-height:100dvh}.viewer-shell{padding:12px 18px 28px}.viewer-layout{grid-template-columns:1fr;gap:24px}.viewer-frame{--adv-gallery-height:62dvh}.viewer-info{padding-top:0}.viewer-info h2{font-size:calc((26px) * var(--adv-type-scale,1));margin-bottom:18px}
 .portfolio[data-layout=vertical] .portfolio-filters a{min-height:40px;flex:0 0 auto}
}
@media(max-width:640px){
 .gallery-frame{--adv-gallery-height:420px}.gallery-thumbs a,.gallery-thumbs button{flex-basis:68px;width:68px;height:48px}.gallery-filmstrip{gap:12px;margin-top:10px}.gallery-thumbs{gap:7px}.gallery-frame .gallery-zoom{right:8px;bottom:8px}.gallery-frame .gallery-prev,.viewer-frame .viewer-prev{left:8px}.gallery-frame .gallery-next,.viewer-frame .viewer-next{right:8px}
 .work-info .work-copy,.portfolio-detail .work-copy{font-size:calc((14px) * var(--adv-type-scale,1))}.work-info .work-enquiry{font-size:calc((13px) * var(--adv-type-scale,1))}.inline-work-nav{margin-top:22px}
 /* One primary action followed by a quiet link, instead of two consent-like pills. */
 .al-hero .al-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:24px}
 .al-hero .al-actions .al-btn--primary{width:100%;max-width:420px;justify-content:space-between;min-height:50px;padding:0 20px;border-radius:6px;box-shadow:none;font-size:calc((11px) * var(--adv-type-scale,1))}
 .al-hero .al-actions .al-btn--ghost{width:auto;min-height:44px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--al-white);text-transform:none;letter-spacing:.01em;font-size:calc((13px) * var(--adv-type-scale,1));font-weight:500;text-decoration:underline;text-decoration-color:var(--al-blue);text-underline-offset:6px;justify-content:flex-start}
 .al-hero .al-actions .al-btn--ghost:hover{color:var(--al-blue);transform:none}
}
@media(prefers-reduced-motion:no-preference){.work-viewer[open] .viewer-layout{animation:adv-viewer-enter .18s ease-out}@keyframes adv-viewer-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}
.portfolio:has(.portfolio-detail:not([hidden])) .motion-control{display:none}
[data-work-title]:focus{outline:none}
.portfolio-detail{scroll-margin-top:0}
