/* Reusable layouts, used only where their class names are intentionally applied. */
.page-panel{position:relative;background:var(--panel);width:100%;min-height:565px;padding:28px 32px 48px;box-shadow:0 12px 50px rgba(0,0,0,.09)}
.work-banner{height:53px;border-radius:5px;background:#0c3557;text-align:center;display:flex;align-items:center;justify-content:center;margin-bottom:22px;font-family:var(--font-heading);font-weight:700;font-size:29px;letter-spacing:-.07em}
.work-layout{display:grid;grid-template-columns:30% 1fr;gap:32px;align-items:stretch}.company-card{background:#0b2c4a;display:flex;flex-direction:column;gap:12px;padding:10px 11px 17px;min-height:380px}.company-logo{background:#f8f8f8;width:100%;height:305px;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}.company-logo img{max-height:100%;max-width:100%;width:auto;object-fit:contain}.company-meta{display:flex;justify-content:space-between;gap:8px;color:#d6e6f2;font-size:11px}.company-name{font-family:var(--font-heading);font-size:14px;letter-spacing:-.04em}.experience-copy{min-width:0;display:flex;flex-direction:column;gap:9px}.work-subtitle{font-family:var(--font-heading);color:#daecff;font-size:13px;letter-spacing:-.03em;padding:6px 9px;background:#113d60;display:inline-block;margin-bottom:5px}.experience-copy p{color:#ecf4fc;font-size:12px;line-height:1.56;margin-bottom:0}.experience-strip{margin-top:auto;overflow:hidden;height:98px}.experience-strip img{width:100%;height:100%;object-fit:cover}.experience-group{margin-bottom:1px}
.project-layout{display:grid;grid-template-columns:51% 1fr;gap:35px;align-items:start}.project-media{width:100%;align-self:center}.project-media img{width:100%;height:auto;display:block;object-fit:contain}.project-text{min-width:0}.project-name{font-family:var(--font-heading);font-size:clamp(21px,2.35vw,31px);letter-spacing:-.09em;line-height:1.15;margin:0 0 5px}.project-subtitle{font-family:var(--font-body);font-size:12px;line-height:1.35;margin-bottom:18px}.project-block{margin:0 0 17px}.project-block h3{font-family:var(--font-heading);font-size:13px;font-weight:400;letter-spacing:.06em;background:#0c2844;color:#f3f9ff;display:inline-block;padding:6px 12px;margin-bottom:8px}.project-block p{font-size:clamp(11px,.94vw,13px);color:#e6f0f8;line-height:1.58;margin:0}.next-button{position:absolute;right:24px;bottom:20px;background:#098cf0;padding:10px 14px;border-radius:13px;color:#fff;font-family:var(--font-heading);font-size:11px;white-space:nowrap}.next-button:hover{color:#fff}
.gallery-heading{display:flex;align-items:center;gap:18px;margin-bottom:25px}.gallery-heading h2{font-family:var(--font-heading);font-size:18px;line-height:1.2;letter-spacing:-.05em;white-space:normal;background:#0c99fd;border-radius:7px;padding:13px 20px;margin:0}.gallery-line{height:2px;flex:1;background:#e6f2fc}.gallery-art{display:flex;align-items:center;justify-content:center;min-height:350px}.gallery-art img{max-width:100%;max-height:405px;object-fit:contain}.gallery-caption{font-size:11px;color:#cae1f0;line-height:1.6;margin-top:13px;padding-right:170px}.video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:8px auto 0;max-width:1150px}.video-item{min-width:0;display:flex;flex-direction:column;gap:6px}.video-item img{width:100%;height:332px;object-fit:cover;object-position:center}.video-item a{background:#0a94f7;color:white;text-align:center;padding:9px 5px;border-radius:3px;font-family:var(--font-heading);font-size:12px;font-weight:700;text-decoration:underline}.video-item a:hover{background:#38abfa}.video-item a:focus-visible{outline-offset:0}

/* Gallery pages 11–13: caption follows the left edge of its image, not the panel.
   Limited to these three sections; other gallery layouts remain unchanged. */
:is(#social-ppds,#social-rsph,#social-hksis) .gallery-figure{width:min(100%,var(--gallery-figure-width));margin:0 auto}
:is(#social-ppds,#social-rsph,#social-hksis) .gallery-figure .gallery-art{display:block;min-height:0}
:is(#social-ppds,#social-rsph,#social-hksis) .gallery-figure .gallery-art img{display:block;width:100%;height:auto;max-width:100%;max-height:none;object-fit:contain}
:is(#social-ppds,#social-rsph,#social-hksis) .gallery-figure .gallery-caption{width:100%;margin:10px 0 0;padding:0;text-align:left}
