/* SHEPHERDS V25 — SHOWROOM RESPONSIVE + CONSTRUCTION ALIGNMENT QA */
:root{--d25-gutter:clamp(14px,3vw,28px);--d25-safe-top:max(0px,env(safe-area-inset-top));--d25-safe-bottom:max(0px,env(safe-area-inset-bottom));--d25-ease:cubic-bezier(.2,.82,.18,1)}
html{width:100%;max-width:100%;overflow-x:hidden;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body[data-showroom]{width:100%;max-width:100%;overflow-x:clip}
body[data-showroom] *,body[data-showroom] *::before,body[data-showroom] *::after{box-sizing:border-box}
body[data-showroom] :is(main,section,article,aside,header,footer,nav,form,fieldset,figure,div){min-width:0}
body[data-showroom] :is(img,picture,video,canvas,svg){max-width:100%}
body[data-showroom] img{height:auto}
body[data-showroom] :is(input,select,textarea,button){max-width:100%;font:inherit}
body[data-showroom] :is(h1,h2,h3,h4,p,li,a,button,label,small,strong,span){overflow-wrap:break-word}
body[data-showroom] .container{max-width:100%}
body[data-showroom] :is(a,button){-webkit-tap-highlight-color:transparent;touch-action:manipulation}
body[data-showroom] :is(input,select,textarea){font-size:max(16px,1rem)}

/* Eliminate the legacy blueprint inspection frame that became a thin white box over real photography. */
.build-page .project-photo::before,.build-page .project-photo::after,.build-page .project::before,.build-page .project::after{content:none!important;display:none!important;border:0!important;background:none!important}
.build-page .build-planning-photo figure{border:0!important;outline:0!important}

/* Construction entry: one alignment axis from logo to hero copy to route strip. */
.build-page .build-hero{padding-top:0!important;min-height:calc(100svh - 74px)!important;display:flex!important;align-items:flex-end!important}
.build-page .build-hero>.container{width:min(1180px,calc(100% - 44px))!important;margin-inline:auto!important;padding:0 0 clamp(48px,7vw,92px)!important}
.build-page .build-hero .hero-grid{display:grid!important;grid-template-columns:minmax(0,780px) minmax(0,1fr)!important;gap:clamp(28px,5vw,76px)!important;align-items:end!important;width:100%!important}
.build-page .build-hero .hero-copy{width:100%!important;max-width:780px!important;margin:0!important;padding:clamp(28px,4vw,48px)!important;text-align:left!important}
.build-page .build-hero .hero-copy :is(.eyebrow,h1,p,.btn){margin-left:0!important;transform:none!important}
.build-page .build-hero .hero-copy .eyebrow{display:block!important;max-width:100%!important}
.build-page .build-hero .hero-copy h1{max-width:8.6ch!important;text-wrap:balance!important}
.build-page .build-hero .hero-copy p{max-width:35em!important}
.build-page .build-hero .hero-copy .btn{width:max-content!important;max-width:100%!important;align-self:flex-start!important}
.build-page .v22-demo-route-inner{width:min(1180px,calc(100% - 44px))!important;margin-inline:auto!important}

/* Project photography should read as photography, not as a measurement overlay. */
.build-page .project-card{isolation:isolate!important}
.build-page .project-photo{position:relative!important;border:0!important;outline:0!important;box-shadow:none!important}
.build-page .project-photo.one,.build-page .project-photo.two{background-size:cover!important;background-repeat:no-repeat!important}

/* Showroom-wide sizing: grids and media collapse without hidden horizontal overflow. */
body[data-showroom] :is(.cards,.cap-grid,.team-grid,.package-grid,.process-grid,.studio-grid,.plans-grid,.space-grid,.door-grid,.media-wall,.project-stack,.project-card,.quote-box,.intake-card,.connect-grid,.fan-card,.trust-grid,.gallery-grid)>*{min-width:0!important}
body[data-showroom] :is(.btn,.v22-demo-route-links a,.owned-join,.door-grid a){min-height:48px!important;max-width:100%!important;white-space:normal!important;text-align:center!important;line-height:1.18!important}
body[data-showroom] main section[id]{scroll-margin-top:94px!important}

@media(max-width:900px){
 body[data-showroom] .container{width:calc(100% - 32px)!important;margin-inline:auto!important}
 body[data-showroom] .section{padding-block:clamp(58px,10vw,76px)!important}
 body[data-showroom] .topbar .nav{min-height:70px!important}
 body[data-showroom] .navlinks{max-height:calc(100dvh - 86px - var(--d25-safe-bottom))!important;padding-bottom:max(16px,var(--d25-safe-bottom))!important}
 body[data-showroom] .v22-demo-route-inner{width:calc(100% - 32px)!important;padding-block:18px!important;display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
 body[data-showroom] .v22-demo-route-copy{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;white-space:normal!important}
 body[data-showroom] .v22-demo-route-links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important;overflow:visible!important;padding:0!important}
 body[data-showroom] .v22-demo-route-links a{width:100%!important;min-width:0!important;padding:0 10px!important}
 .build-page .build-hero{min-height:calc(100svh - 70px)!important}
 .build-page .build-hero>.container{width:calc(100% - 32px)!important;padding-bottom:clamp(36px,8vw,58px)!important}
 .build-page .build-hero .hero-grid{grid-template-columns:1fr!important;gap:0!important}
 .build-page .build-hero .hero-copy{max-width:min(100%,680px)!important;padding:clamp(22px,5vw,34px)!important;border-radius:24px!important}
 .build-page .build-hero .hero-copy h1{font-size:clamp(52px,13vw,78px)!important;line-height:.91!important;max-width:7.8ch!important;margin:18px 0 20px!important}
 .build-page .build-hero .hero-copy p{font-size:clamp(16px,3.8vw,19px)!important;line-height:1.5!important;margin:0 0 26px!important}
 .build-page .hero-number{display:none!important}
 .build-page .project-card,.build-page .project-card.reverse{grid-template-columns:1fr!important;min-height:0!important;border-radius:26px!important}
 .build-page .project-card.reverse .project-photo{order:0!important}
 .build-page .project-photo{min-height:0!important;aspect-ratio:4/3!important;background-position:center!important}
 .build-page .project-info{padding:clamp(28px,6vw,42px)!important}
 .build-page .project-info h3{font-size:clamp(38px,9vw,54px)!important;line-height:.98!important}
 .build-page .project-meta{gap:8px!important}
 .build-page .project-meta b{font-size:11px!important}
 .build-page .build-planning-photo{margin-top:36px!important}
 .build-page .build-planning-photo figure{grid-template-columns:1fr!important;border-radius:24px!important}
 .build-page .build-planning-photo img{width:100%!important;aspect-ratio:4/3!important;object-fit:cover!important}
}
@media(max-width:620px){
 body[data-showroom] .container{width:calc(100% - 24px)!important}
 body[data-showroom] .topbar .brand{max-width:calc(100vw - 102px)!important;font-size:12px!important;letter-spacing:.08em!important}
 body[data-showroom] .v22-demo-route-inner{width:calc(100% - 24px)!important}
 body[data-showroom] .v22-demo-route-links{grid-template-columns:1fr!important}
 body[data-showroom] .v22-demo-route-links a{min-height:46px!important;justify-content:flex-start!important;text-align:left!important;padding-inline:14px!important}
 .build-page .build-hero>.container{width:calc(100% - 24px)!important}
 .build-page .build-hero .hero-copy{padding:24px 20px!important;border-radius:22px!important}
 .build-page .build-hero .hero-copy h1{font-size:clamp(49px,15vw,68px)!important;max-width:7.4ch!important}
 .build-page .build-hero .hero-copy .btn{width:100%!important}
 .build-page .project-photo{aspect-ratio:1/1!important}
 .build-page .project-info{padding:28px 22px!important}
 .build-page .quote-box{gap:30px!important}
 body[data-showroom] footer{padding-bottom:max(32px,var(--d25-safe-bottom))!important}
}
@media(max-width:390px){
 .build-page .build-hero .hero-copy h1{font-size:clamp(44px,15vw,58px)!important}
 body[data-showroom] .menu-btn{width:46px!important;height:46px!important;flex-basis:46px!important}
}
@media(prefers-reduced-motion:reduce){body[data-showroom] *{scroll-behavior:auto!important}}
