/* Homepage pilot bindings. No ring, card transform, image asset or route changes. */
body.ds-home{
 --pad:var(--ds-page-gutter);--page-pad:var(--ds-page-gutter);--editorial-gutter:var(--ds-page-gutter);
 --nav-edge:var(--ds-page-gutter);--nav-height:var(--ds-nav-height);
 --space-2xl:var(--ds-section-space);--reading-width:var(--ds-reading-max);
 --type-label:var(--ds-label);--type-meta:var(--ds-caption);
 font-family:var(--ds-font-body);line-height:var(--ds-leading-body);
}
body.ds-home main>section:not(.archive-hero){padding-inline:var(--ds-page-gutter);padding-block:var(--ds-section-space)}
body.ds-home .site-footer--compact{padding:var(--ds-space-6) var(--ds-page-gutter);gap:var(--ds-space-6)}
body.ds-home .archive-heading{left:var(--ds-page-gutter);right:var(--ds-page-gutter);top:var(--ds-header-offset)}
body.ds-home .archive-bottom{left:var(--ds-page-gutter);right:var(--ds-page-gutter);bottom:max(var(--ds-space-6),env(safe-area-inset-bottom));gap:var(--ds-space-6);padding-top:var(--ds-space-4)}
body.ds-home .archive-description small{font-size:var(--ds-label);line-height:var(--ds-leading-label);color:var(--ds-text-muted)}
body.ds-home .archive-description>a{font-size:var(--ds-h4);line-height:var(--ds-leading-heading);margin-top:var(--ds-space-2)}
body.ds-home .archive-controls{gap:0;flex-wrap:wrap}
body.ds-home .archive-controls button{min-width:var(--ds-control-sm);min-height:var(--ds-control-sm);padding-inline:var(--ds-space-2);border-radius:var(--ds-radius-none);transition:background-color var(--ds-motion-hover) var(--ds-ease-standard),color var(--ds-motion-hover) var(--ds-ease-standard)}
body.ds-home .archive-controls [data-archive-shuffle]{margin-left:var(--ds-space-1);padding-left:var(--ds-space-2)}
body.ds-home .archive-controls #archive-count{font-size:var(--ds-caption);min-width:var(--ds-control-sm);flex-basis:var(--ds-control-sm);font-variant-numeric:tabular-nums}
body.ds-home .archive-scroll{min-height:var(--ds-control-sm);padding-inline:var(--ds-space-4);background:var(--ds-interactive);color:var(--ds-on-dark);font-size:var(--ds-caption);transition:background-color var(--ds-motion-hover) var(--ds-ease-standard)}
body.ds-home :is(.text-link,.featured-case__cta,.practice-item__cta,.contact-details-link,.archive-note-copy>a){min-height:var(--ds-control-sm);display:inline-flex;align-items:center;gap:var(--ds-component-gap);border-radius:var(--ds-radius-none);transition:color var(--ds-motion-hover) var(--ds-ease-standard),background-color var(--ds-motion-hover) var(--ds-ease-standard)}
body.ds-home .text-link{padding:var(--ds-space-3) var(--ds-space-4);margin-top:var(--ds-space-8)}
body.ds-home :is(.practice-heading,.selected-head,.personal-practice__header){gap:var(--ds-grid-gap)}
body.ds-home :is(.practice-grid,.personal-practice__grid,.featured-cases){margin-top:var(--ds-space-16)}
body.ds-home .featured-case,body.ds-home .featured-case[data-project]{padding-block:var(--ds-section-space)}
body.ds-home .featured-case__intro{gap:var(--ds-grid-gap);margin-top:var(--ds-space-8)}
body.ds-home .featured-case__statement{font-size:var(--ds-body-large);line-height:var(--ds-leading-body);max-width:var(--ds-reading-max)}
body.ds-home .featured-case__media{margin-top:var(--ds-space-8)}
body.ds-home .featured-case__evidence{margin-top:var(--ds-space-6)}
body.ds-home .featured-case__evidence p{font-size:var(--ds-body);line-height:var(--ds-leading-body)}
body.ds-home :is(.home-about__body p,.practice-item__description,.practice-grid p){font-size:var(--ds-body-large);line-height:var(--ds-leading-body);max-width:var(--ds-reading-max)}
body.ds-home :is(.practice-grid h2,.personal-practice__header h2){font-size:var(--ds-h3);line-height:var(--ds-leading-heading)}
body.ds-home .practice-item__content{padding:var(--ds-container-padding)}
body.ds-home .reveal-item{transition-duration:var(--ds-motion-reveal);transition-timing-function:var(--ds-ease-out)}
body.ds-home :is(.featured-case__media img,.practice-item__media img){transition-duration:var(--ds-motion-reveal);transition-timing-function:var(--ds-ease-standard)}
body.ds-home :is(a,button,[tabindex]):focus-visible{outline:2px solid var(--ds-focus);outline-offset:var(--ds-space-1)}
body.ds-home :is(button,a){-webkit-tap-highlight-color:transparent}
body.ds-home button:disabled{opacity:.5;cursor:not-allowed}
body.ds-home .archive-note{background:var(--ds-surface-raised);color:var(--ds-ink);border-radius:var(--ds-radius-md);max-height:calc(100dvh - var(--ds-space-8) - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
body.ds-home .archive-note-copy p{font-size:var(--ds-body);line-height:var(--ds-leading-body);color:var(--ds-text-secondary)}
body.ds-home .archive-note-close{min-width:var(--ds-control-sm);min-height:var(--ds-control-sm)}
/* Legacy shell is important-locked. These two bridges stay scoped to the pilot. */
body.ds-home .site-header.nav-system-shell{padding-inline:var(--ds-space-4)!important;border-radius:var(--ds-radius-md)!important}
body.ds-home .back-top{border-radius:var(--ds-radius-md)!important}
@media(hover:hover) and (pointer:fine){
 body.ds-home .archive-controls button:hover{background:var(--ds-border-subtle)}
 body.ds-home .archive-scroll:hover{background:var(--ds-interactive-hover)}
 body.ds-home :is(.text-link,.featured-case__cta,.practice-item__cta,.contact-details-link):hover{color:inherit;text-decoration:underline;text-underline-offset:.25em}
}
body.ds-home .archive-controls button:active{background:var(--ds-interactive);color:var(--ds-on-dark)}
@media(max-width:767px){
 body.ds-home .archive-bottom{grid-template-columns:1fr;gap:var(--ds-space-2)}
 body.ds-home .archive-description{grid-column:1;min-height:0}
 body.ds-home .archive-controls{grid-column:1;justify-self:start}
 body.ds-home .archive-scroll{grid-column:1;justify-self:start}
 body.ds-home .archive-note{width:calc(100% - 2 * var(--ds-page-gutter));padding:var(--ds-control-lg) var(--ds-space-4) var(--ds-space-6)}
 body.ds-home .archive-note[open]{gap:var(--ds-space-6) var(--ds-space-4)}
 body.ds-home :is(.practice-grid,.personal-practice__grid,.featured-cases){margin-top:var(--ds-space-12)}
}
