/* Refinements to the existing blue, black and white design system. */
section[id] { scroll-margin-top: 88px; }
.home-enhanced .hero__intro { font-size:1.05rem; max-width:53ch; }
.home-enhanced .hero__grid {
  /* Fill the visible screen below the one persistent navigation bar. */
  min-height: calc(100vh - var(--nav-h));
  min-height: calc(100svh - var(--nav-h));
}
.home-enhanced .section { padding-block:clamp(64px,7vw,100px); }
.home-enhanced #process .process-num { opacity:.08; }
.home-enhanced #featured-work .card { display:flex; flex-direction:column; }
.home-enhanced #featured-work .card__body { flex:1; }
.home-enhanced #featured-work .shot { aspect-ratio:4/3; }
.expertise-visual { width:100%; aspect-ratio:4/3; object-fit:cover; }
.visual-caption { font-size:11px; line-height:1.5; color:var(--muted); margin:10px 0 0; }
.section--dark .visual-caption { color:#a8bad4; }
.expertise-card-image { width:calc(100% + 56px); max-width:none; margin:-28px -28px 24px; aspect-ratio:3/2; object-fit:cover; }
.service-card:has(.expertise-card-image) { overflow:hidden; }
@media(max-width:1024px) { .home-enhanced .hero { background-position:65% center; } .home-enhanced .hero__grid { grid-template-columns:1fr; } .home-enhanced .hero__grid>div { max-width:560px; } .home-enhanced .hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,7,20,.9),rgba(3,7,20,.45)); } .home-enhanced .hero__grid { position:relative; } }
@media(max-width:600px) { .home-enhanced .hero__grid { min-height:calc(100svh - var(--nav-h)); padding-block:68px; } .home-enhanced .hero h1 { font-size:clamp(2.6rem,10vw,3.5rem); } .home-enhanced .hero { background-position:68% center; } .home-enhanced .hero::before { background:linear-gradient(90deg,rgba(3,7,20,.93),rgba(3,7,20,.6)); } .home-enhanced .hero__intro { font-size:1rem; } .home-enhanced .section-head { margin-bottom:30px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .logo-marquee__track { animation:none !important; flex-wrap:wrap; width:auto; justify-content:center; } .logo-marquee__track>[aria-hidden="true"] { display:none; } }
/* Use the same generated visual language in service banners and previews. */
.page-hero--gd { background-image:url('../assets/optimized/expertise/graphic-v2-webp-1440.webp'); }
.page-hero--web { background-image:url('../assets/optimized/expertise/web-design-v2-webp-1440.webp'); }
.page-hero--photo { background-image:url('../assets/optimized/expertise/photography-v2-webp-1440.webp'); }
.page-hero--video { background-image:url('../assets/optimized/expertise/video-editing-v2-webp-1440.webp'); }
.page-hero--social { background-image:url('../assets/optimized/expertise/social-media-v2-webp-1440.webp'); }
.page-hero--ai { background-image:url('../assets/optimized/expertise/ai-v2-webp-1440.webp'); }
@media(prefers-reduced-motion:reduce) and (max-width:600px) {
  .tools-loop .logo-marquee__track { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding-inline:20px; }
  .tools-loop .tool-chip { min-width:0; width:100%; padding-inline:12px; }
  .tools-loop .tool-chip__name { font-size:11px; }
}

/* Inner pages: consistent rhythm and clear directories, within the existing theme. */
.inner-page .page-hero { padding-block:clamp(44px,5vw,72px); }
.inner-page .page-hero h1 { max-width:22ch; font-size:clamp(2.25rem,4.5vw,3.6rem); line-height:1.12; margin-bottom:20px; }
.inner-page .page-hero p:not(.eyebrow) { max-width:64ch; font-size:1rem; line-height:1.75; margin-bottom:0; }
.inner-page .breadcrumb { margin-bottom:24px; font-size:.8rem; }
.inner-page .page-hero .btn-row { margin-top:26px; gap:12px; }
.inner-page .section { padding-block:clamp(52px,6vw,84px); }
.inner-page .section--flush-top { padding-top:0; }
.inner-page .section--slim { padding-block:32px; }
.inner-page .section-head { margin-bottom:32px; max-width:760px; }
.inner-page .section-head.center { margin-inline:auto; }
.inner-page h2 { font-size:clamp(1.75rem,3vw,2.35rem); line-height:1.18; }
.inner-page .lead { font-size:1rem; line-height:1.75; }
.inner-page .feature { gap:clamp(28px,5vw,64px); }
.inner-page .service-card { padding:26px; gap:12px; box-shadow:none; }
.inner-page .service-card h3 { font-size:1.12rem; line-height:1.35; }
.inner-page .service-card .ico { width:44px; height:44px; border-radius:12px; }
.inner-page .service-card .ico svg { width:22px; height:22px; }
.inner-page .card__desc { font-size:.9rem; line-height:1.7; }
.inner-page .card { border-radius:14px; }
.inner-page .cta-band { padding:clamp(32px,4vw,52px); border-radius:18px; box-shadow:0 12px 32px rgba(15,23,42,.1); }
.inner-page .cta-band p { max-width:60ch; margin-inline:auto; }
.inner-page .cta-contact { flex-wrap:wrap; }
.inner-page .expertise-card-image { width:calc(100% + 52px); margin:-26px -26px 10px; }
.directory-grid { align-items:stretch; }
.directory-card .card__body { padding:24px; gap:12px; }
.directory-card h3 { line-height:1.3; font-size:1.2rem; }
.directory-card>.shot,.directory-media { aspect-ratio:3/2; width:100%; background:#eef2f8; }
.directory-card>.shot { object-fit:cover; object-position:top; }
.directory-media { overflow:hidden; }
.directory-media .shot { width:100%; height:100%; object-fit:cover; object-position:top; }
.directory-media--contain { background:#e9eef5; padding:16px; }
.directory-media--contain .shot { object-fit:contain; }
.directory-card .arrow { padding-top:12px; }
.directory-card:focus-within { outline:3px solid var(--blue-500); outline-offset:3px; }
.work-page .section-head:not(.center) { max-width:780px; }
.work-page .more-row { margin-top:24px; }
/* Design studies use their natural proportions; artwork is never cropped. */
.study-card { box-shadow:none; }
.artwork-preview { display:block; position:relative; width:100%; border:0; padding:0; cursor:zoom-in; background:#e9edf2; overflow:hidden; }
.artwork-preview .shot { width:100%; height:auto; object-fit:contain; aspect-ratio:auto; }
.study-grid--posters .artwork-preview { aspect-ratio:3/4; }
.study-grid--editorial .artwork-preview { aspect-ratio:6/5; padding:14px; display:grid; place-items:center; }
.study-grid--editorial .artwork-preview .shot { max-height:100%; }
.artwork-preview__hint { position:absolute; right:12px; bottom:12px; padding:8px 12px; border-radius:999px; color:#fff; background:rgba(15,23,42,.88); font:600 12px var(--font); opacity:0; transform:translateY(4px); transition:opacity .2s,transform .2s; }
.artwork-preview:hover .artwork-preview__hint,.artwork-preview:focus-visible .artwork-preview__hint { opacity:1; transform:none; }
.artwork-preview:focus-visible { outline-offset:-4px; }
.study-card .card__body { padding:22px; gap:10px; }
.study-card .card__cat { font-size:10px; letter-spacing:.09em; }
.study-card h3 { font-size:1.18rem; }
.study-card:hover { transform:translateY(-3px); }
.project-role { font-size:12px; color:var(--muted); margin:0; }
.project-card .arrow { margin-top:auto; padding-top:12px; }
.lightbox__img { max-height:80vh; }
.lightbox__caption { position:absolute; bottom:16px; left:64px; right:64px; text-align:center; color:#e2e8f0; font-size:13px; line-height:1.5; margin:0; }
@media(hover:none) { .artwork-preview__hint { opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce) { .artwork-preview__hint { transition:none; } }
@media(max-width:760px) {
  .inner-page .page-hero h1 { font-size:clamp(2.05rem,7.5vw,2.8rem); }
  .inner-page .page-hero .btn { font-size:.85rem; padding:12px 18px; }
  .inner-page .feature__media:empty { display:none; }
  .inner-page .section-head { margin-bottom:26px; }
  .directory-card .card__body { padding:22px; }
  .inner-page .cta-band { text-align:left; }
  .inner-page .cta-band .btn-row,.inner-page .cta-band .cta-contact { justify-content:flex-start; }
}
