/* Lead Key polish layer for the Downtown Dentists concept: full-width sections, motion, hover states. Design tokens unchanged. */
html{scroll-behavior:smooth}
body{background:oklch(97% 0.008 80)!important}
#dc-root>div,#dc-root [style*="max-width:1440px"],#dc-root [style*="max-width: 1440px"]{max-width:none!important}
/* keep content on the 1440 grid while backgrounds run edge to edge */
#dc-root header,#dc-root footer,#dc-root section[id]:not(#technology),#dc-root section:nth-of-type(2),#dc-root #technology>div:last-child{padding-left:max(48px,calc(50vw - 672px))!important;padding-right:max(48px,calc(50vw - 672px))!important}
#dc-root section:first-of-type>div:first-child{padding-left:max(48px,calc(50vw - 672px))!important}
@media(max-width:900px){#dc-root header,#dc-root footer,#dc-root section[id]:not(#technology),#dc-root section:nth-of-type(2),#dc-root #technology>div:last-child{padding-left:24px!important;padding-right:24px!important}#dc-root section:first-of-type>div:first-child{padding-left:24px!important}}
/* reveal on scroll */
.lk-reveal{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms);will-change:opacity,transform}
.lk-reveal.lk-in{opacity:1;transform:none}
.lk-rule{transform-origin:left center;transform:scaleX(0);transition:transform 1.1s cubic-bezier(.2,.7,.2,1) .25s}
.lk-rule.lk-in{transform:scaleX(1)}
/* photography */
.lk-photo{overflow:hidden}
.lk-photo img{transition:transform 1.4s cubic-bezier(.2,.7,.2,1);will-change:transform}
.lk-photo:hover img{transform:scale(1.035)}
.lk-hero-img{animation:lk-kb 2.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes lk-kb{from{transform:scale(1.06)}to{transform:scale(1)}}
.lk-parallax{will-change:transform}
/* cards and controls */
.lk-card{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s;overflow:hidden}
.lk-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px oklch(19% 0.014 44 / .35)}
.lk-photo-bg{transition:transform 1.4s cubic-bezier(.2,.7,.2,1);will-change:transform}
.lk-card:hover .lk-photo-bg{transform:scale(1.04)}
.lk-tile{transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter 1.2s}
.lk-tile:hover{transform:scale(1.025);filter:brightness(1.04)}
#dc-root a,#dc-root button{transition:background-color .25s,color .25s,border-color .25s,transform .25s,opacity .25s}
#dc-root a[style*="background"]:hover,#dc-root button[style*="background"]:hover{transform:translateY(-1px)}
/* header shadow once scrolled */
#dc-root header{transition:box-shadow .3s}
#dc-root header.lk-scrolled{box-shadow:0 12px 30px -18px oklch(0% 0 0 / .6)}
@media(prefers-reduced-motion:reduce){.lk-reveal,.lk-rule{opacity:1;transform:none;transition:none}.lk-hero-img{animation:none}.lk-photo img{transition:none}.lk-parallax{transform:none!important}}
