/* ON POINT CONSTRUCTION / premium responsive design exploration / DRAFT ONLY */

/* Hero alignment and equal-width CTAs, desktop and mobile */
body.home main .airo-section-57cd3aa7-4635-47c6-8e98-c1387e5ae188>h1,
body.home main .airo-section-57cd3aa7-4635-47c6-8e98-c1387e5ae188>.home-hero-local-copy{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
body.home main .home-hero-cta-buttons{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 width:min(100%,1080px)!important;
 margin:2rem auto 2.5rem!important;
 gap:14px!important;
 align-items:stretch!important;
 justify-content:center!important;
}
body.home main .home-hero-cta-buttons>.wp-block-button{width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;display:flex!important}
body.home main .home-hero-cta-buttons .wp-block-button__link{
 display:flex!important;align-items:center!important;justify-content:center!important;
 text-align:center!important;width:100%!important;max-width:none!important;
 min-height:76px!important;padding:14px 18px!important;
 font-size:17px!important;line-height:1.35!important;font-weight:700!important;
 border-radius:4px!important;white-space:normal!important;
}
@media(max-width:850px){
 body.home main .home-hero-cta-buttons{grid-template-columns:1fr!important;max-width:420px!important;gap:12px!important}
 body.home main .home-hero-cta-buttons>.wp-block-button{max-width:none!important}
 body.home main .home-hero-cta-buttons .wp-block-button__link{min-height:66px!important}
}

:root{--opc-ink:#172329;--opc-red:#9e2429;--opc-sand:#f6f4f0;--opc-line:#e6e1db;--opc-muted:#525f65}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{color:var(--opc-ink);background:#fff}
.wp-site-blocks{overflow-x:clip}
.wp-site-blocks header{position:relative;z-index:40}
.wp-site-blocks header .wp-block-group.is-position-sticky{background:rgba(255,255,255,.98)!important;border-bottom:1px solid var(--opc-line);box-shadow:0 8px 24px #18252b0b}
.wp-site-blocks header .wp-block-site-logo img{width:clamp(115px,12vw,166px);height:auto;max-height:105px;object-fit:contain}
.wp-site-blocks header .wp-block-navigation a{font-size:clamp(.87rem,.9vw,1rem);letter-spacing:.015em}
.wp-site-blocks :is(.wp-block-button__link,.dsgo-icon-button){border-radius:3px!important;font-weight:700!important;transition:transform .2s,box-shadow .2s}
.wp-site-blocks :is(.wp-block-button__link,.dsgo-icon-button):hover{transform:translateY(-2px);box-shadow:0 9px 24px #0002}
.wp-site-blocks a:focus-visible,.wp-site-blocks button:focus-visible{outline:3px solid var(--opc-red)!important;outline-offset:3px!important}
.wp-site-blocks main h1,.wp-site-blocks main h2{letter-spacing:-.034em;line-height:1.12}
.wp-site-blocks main h1{font-size:clamp(2.5rem,5.2vw,4.8rem);max-width:990px;margin-inline:auto}
.wp-site-blocks main h2{font-size:clamp(1.9rem,3.1vw,3rem)}
.wp-site-blocks main p{line-height:1.7}
body.home main .airo-section-57cd3aa7-4635-47c6-8e98-c1387e5ae188{background:var(--opc-sand);padding:clamp(4rem,8vw,7rem) clamp(1.1rem,4vw,3rem)!important;border-bottom:1px solid var(--opc-line)}
body.home main .airo-section-57cd3aa7-4635-47c6-8e98-c1387e5ae188>h1:after{content:"";display:block;background:var(--opc-red);height:4px;width:62px;margin:1.4rem auto 0}
body.home main .home-hero-local-copy{max-width:800px;margin-inline:auto;font-size:clamp(1.02rem,1.35vw,1.19rem)!important;line-height:1.68;color:#425159}
body.home main .home-hero-cta-buttons{margin-top:1.65rem;gap:.8rem;justify-content:center}
body.home main .home-hero-cta-buttons .wp-block-button__link{min-height:52px;display:flex;align-items:center;justify-content:center;padding:.95rem 1.65rem}
body.home main .wp-block-gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.6rem,1.2vw,1.1rem);align-items:start;margin-block:2rem}
body.home main .wp-block-gallery>.wp-block-image{width:100%!important;max-width:none!important;margin:0!important;overflow:hidden;border-radius:3px;box-shadow:0 8px 24px #0b192114}
body.home main .wp-block-gallery>.wp-block-image img{width:100%;height:auto;display:block;transition:transform .4s}
body.home main .wp-block-gallery>.wp-block-image:hover img{transform:scale(1.025)}
/* All homepage portfolio images remain visible; no CSS hides project photos. */
.wp-site-blocks main :is(input,select,textarea){max-width:100%;font:inherit}
.wp-site-blocks footer{border-top:1px solid var(--opc-line)}
@media(max-width:781px){
 .wp-site-blocks header .wp-block-site-logo img{width:112px;max-height:76px}
 .wp-site-blocks main h1{font-size:clamp(2.1rem,8vw,3.15rem)}
 body.home main .airo-section-57cd3aa7-4635-47c6-8e98-c1387e5ae188{padding:3.2rem 1.2rem!important}
 body.home main .wp-block-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
 body.home main .home-hero-cta-buttons{display:grid;grid-template-columns:1fr;justify-items:center;gap:.7rem}
 body.home main .home-hero-cta-buttons .wp-block-button{width:100%;max-width:340px}
 body.home main .home-hero-cta-buttons .wp-block-button__link{width:100%;min-height:52px}
 .wp-site-blocks header .wp-block-navigation__responsive-container-content{background:#fff}
}
@media(max-width:480px){body.home main .wp-block-gallery{grid-template-columns:1fr} .wp-site-blocks header .wp-block-group.alignwide{gap:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.wp-site-blocks *, .wp-site-blocks *:before,.wp-site-blocks *:after{transition:none!important}}
