/* Original visual system retained; native interactions and focused UX corrections. */
:root{--copper:#b87333;--ink:#293133;--paper:#faf9f6;--header-height:122px}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 20px)}
body{padding-top:var(--header-height)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #4a6c8c!important;outline-offset:4px}
/* Headings wrap between words, never into isolated trailing letters. Long words
   are fitted to their actual column width on small screens by site.js. */
body #page-container :is(h1,h2,h3,h4,h5,h6),
body #page-container :is(h1,h2,h3,h4,h5,h6) :is(a,span){
 overflow-wrap:normal!important;word-wrap:normal!important;word-break:normal!important;
 hyphens:none!important;-webkit-hyphens:none!important;
}
.sr-only,.skip-link:not(:focus){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link:focus{position:fixed;top:10px;left:10px;z-index:1000000;background:var(--ink);color:white;padding:12px 24px}
.et_animated{opacity:1!important;animation:none!important}
.et-waypoint{opacity:1!important;animation:none!important}
.et_pb_slide_description{animation:none!important}
.dtb-fixed-always{top:0;z-index:9999!important;width:100%}
header .et_pb_row_1_tb_header{z-index:3}
.et_pb_menu .et-menu>li>a>span{display:inline-block}
header .et-menu .sub-menu{background:var(--paper)!important}
header .et-menu li:focus-within>ul,header .et-menu li.submenu-open>ul{visibility:visible!important;opacity:1!important;display:block!important}
.menu-toggle,.submenu-toggle{display:none}
[data-link]{cursor:pointer;position:relative}
.native-card-link{position:absolute!important;inset:0;z-index:2;color:inherit!important}
body #page-container main .native-card-link:focus-visible{outline-offset:-4px}
/* Slideshow: fixed original desktop geometry, no layout jump while rotating. */
.et_pb_slider .et_pb_slide{display:none;opacity:1;z-index:1}
.et_pb_slider .et_pb_slide.et-pb-active-slide{display:block}
.et_pb_slider .et_pb_slide>.et_pb_container{height:100%;display:flex;align-items:center}
.et_pb_slider_container_inner{width:100%;display:block!important}
.et_pb_slider .et_pb_slide_description{float:none!important}
.et-pb-controllers button{display:inline-block;width:18px;height:10px;padding:0;margin:0 5px;border:0;border-radius:3px;background:#e5e5e5;opacity:.55;transition:width .2s,opacity .2s}
.et-pb-controllers button.et-pb-active-control{width:50px;opacity:1;background:var(--copper)}
.slider-pause{position:absolute;bottom:19px;right:24px;z-index:9;border:1px solid #ffffff80;background:#293133aa;color:white;width:36px;height:30px;border-radius:3px;font-size:16px;line-height:1}
/* Native CSS grid reproduces the original packery arrangement. */
.dg_pg_inner{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row dense;gap:20px;margin:0!important;height:auto!important}
.dg_pg_inner .dg_pg_item{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;min-width:0;aspect-ratio:1;padding:0!important;opacity:1!important;display:block!important}
.dg_pg_inner .dg_pg_item--width2{grid-column:span 2;aspect-ratio:2.08}
.dg_pg_inner .dg_pg_item--height2{grid-row:span 2;aspect-ratio:auto}
.dg_pg_inner .dg_pg_item--width-height2{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.dg_pg_inner .dg_pg_image{height:100%!important;min-height:100%;width:100%;margin:0;background-size:cover;background-position:center}
.dg_pg_inner .dg_pg_item>a{position:absolute;inset:0;z-index:3}
body.et-db #et-boc .et-l .dg_pg_inner{margin:0!important;width:100%!important}
.project-lightbox{border:0;padding:48px 20px 20px;background:#202628;color:#fff;max-width:96vw;max-height:96vh;width:max-content;overflow:auto}
.project-lightbox::backdrop{background:rgba(0,0,0,.86)}
.project-lightbox img{display:block;max-width:90vw;max-height:78vh;object-fit:contain}
.project-lightbox .lightbox-close{position:absolute;right:10px;top:8px;background:none;border:0;color:#fff;font-size:30px;width:38px;height:38px;line-height:1}
.lightbox-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:12px}
.lightbox-navigation button{background:none;border:1px solid #ffffff70;color:#fff;padding:7px 16px;font-size:18px}
/* Swipeable original partner strip. */
.dsm_image_carousel .swiper-wrapper{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;transform:none!important;gap:10px;align-items:center}
.dsm_image_carousel .swiper-wrapper::-webkit-scrollbar{display:none}
.dsm_image_carousel .swiper-slide{flex:0 0 calc((100% - 30px)/4);width:calc((100% - 30px)/4);scroll-snap-align:start;height:auto}
.dsm_image_carousel .swiper-slide img{display:block;width:100%!important;height:180px!important;max-height:180px;object-fit:contain}
.dsm_image_carousel .swiper-button-prev,.dsm_image_carousel .swiper-button-next{border:0;background:transparent}
.dsm_image_carousel .swiper-button-prev::after,.dsm_image_carousel .swiper-button-next::after{font-size:25px}
.wp-gr .grw-reviews{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory;scrollbar-width:none;transform:none!important}
.wp-gr .grw-review{flex:0 0 100%!important;min-width:100%;scroll-snap-align:start}
.wp-gr .review-controls{display:flex!important;justify-content:center!important;flex-wrap:wrap!important;gap:8px!important;padding:14px 0!important;width:100%!important;clear:both!important}
.wp-gr .review-controls button{display:block!important;width:10px!important;height:10px!important;min-height:10px!important;background:#aaa!important;border:0!important;border-radius:50%!important;padding:0!important;cursor:pointer!important}
.wp-gr .review-controls button[aria-current=true]{background:var(--copper)!important}
.et_pb_toggle_content{display:none}
.et_pb_toggle_open>.et_pb_toggle_content{display:block}
.et_pb_scroll_top{border:0}
.map-consent{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px 24px;min-height:350px;height:100%;background:#e5e5e5;color:var(--ink)}
.map-consent p{max-width:520px}
.map-consent .map-note{font-size:14px;line-height:1.5;margin-top:16px}
.map-consent iframe{width:100%;height:450px;border:0}
.map-consent.is-loaded{padding:0}
.et_pb_contact_form .form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.et_pb_contact_form .form-privacy,.et_pb_contact_form .form-status{clear:both;padding:20px 0 0 3%;font-size:14px;line-height:1.6}
.form-status:empty{padding:0!important}
.form-status.is-error{color:#8c2e22}
.form-status.is-success{color:#256237}
.form-status a{text-decoration:underline}
.form-status{scroll-margin-top:calc(var(--header-height) + 20px)}
.et_pb_contact_form button:disabled{opacity:.6;cursor:wait}
#main-content:has(.container>#content-area) #left-area{width:100%!important;padding-right:0!important}
#main-content:has(.container>#content-area) .container::before{display:none}
@media(max-width:980px){
 :root{--header-height:142px}
 header .et_pb_menu__wrap{justify-content:flex-end!important}
 header .menu-toggle{display:flex;align-items:center;justify-content:center;border:0;background:none;color:var(--ink);width:48px;height:48px;padding:10px}
 .menu-toggle-icon,.menu-toggle-icon::before,.menu-toggle-icon::after{display:block;width:25px;height:2px;background:currentColor;position:relative;transition:transform .2s}
 .menu-toggle-icon::before,.menu-toggle-icon::after{content:"";position:absolute;left:0;top:-8px}
 .menu-toggle-icon::after{top:8px}
 .menu-toggle[aria-expanded=true] .menu-toggle-icon{background:transparent}
 .menu-toggle[aria-expanded=true] .menu-toggle-icon::before{top:0;transform:rotate(45deg)}
 .menu-toggle[aria-expanded=true] .menu-toggle-icon::after{top:0;transform:rotate(-45deg)}
 header .et_pb_menu .et_pb_menu__menu{display:none!important;position:absolute;top:100%;left:0;right:0;background:var(--paper);max-height:calc(100dvh - var(--header-height));overflow-y:auto;border-top:3px solid var(--copper);box-shadow:0 12px 18px #0002;padding:12px 16px}
 header .et_pb_menu .et_pb_menu__menu.is-open{display:block!important}
 header .et_pb_menu .et-menu{display:block!important;margin:0!important;padding:0!important}
 header .et_pb_menu .et-menu>li{display:block!important;padding:0!important;margin:0!important;position:relative}
 header .et_pb_menu .et-menu li a{font-size:16px!important;line-height:1.5!important;padding:13px 38px 13px 8px!important;display:block!important;opacity:1}
 header .et_pb_menu .et-menu li a::after,header .et_pb_menu .et-menu li a::before{display:none!important}
 header .et_pb_menu .et-menu li a>span{font-size:16px!important;padding:0!important}
 header .et_pb_menu .et-menu .sub-menu{position:static!important;display:none!important;visibility:visible!important;opacity:1!important;width:100%!important;box-shadow:none!important;border:0!important;padding:0 0 12px 14px!important;background:transparent!important;left:auto!important}
 header .et_pb_menu .et-menu li.submenu-open>.sub-menu{display:block!important}
 header .et_pb_menu .et-menu .sub-menu li{display:block!important;width:100%!important;padding:0!important}
 header .et_pb_menu .et-menu .sub-menu a{width:100%!important}
 header .submenu-toggle{display:block;position:absolute;right:0;top:4px;width:40px;height:42px;background:transparent;border:0;font-size:22px;color:var(--ink)}
 header .cta-item{margin-top:8px!important}
 header .et_pb_menu .et-menu .cta-item>a{padding:12px 16px!important;background:var(--copper)!important;color:white!important}
 .dsm_image_carousel .swiper-slide{flex-basis:calc((100% - 10px)/2);width:calc((100% - 10px)/2)}
 .dg_pg_inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .dg_pg_inner .dg_pg_item--width-height2{grid-column:span 1;grid-row:span 2}
 .et_pb_slider .et_pb_slide>.et_pb_container{min-height:0!important}
 .et_pb_slider .et_pb_slide_description{padding-top:70px!important;padding-bottom:80px!important}
}
@media(max-width:767px){
 .dsm_image_carousel .swiper-slide{flex-basis:100%;width:100%}
 .dg_pg_inner{gap:12px}
 .et_pb_slider .et_pb_slide_description{padding-top:58px!important;padding-bottom:70px!important}
 .et_pb_slider .et_pb_slide{height:auto!important;min-height:520px}
 .et_pb_slider .et_pb_slide_content{font-size:max(16px,5vw)!important}
 .et_pb_contact_form .et_pb_contact_field{float:none;width:100%!important}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
