/* Shared brand palette: blue sampled from the existing logo. */
:root {
 --sd-black: #111111;
 --sd-ink: #202020;
 --sd-muted: #4b4b4b;
 --sd-blue: #365ba6;
 --sd-blue-dark: #26447f;
 --sd-blue-light: #b7cdf5;
 --sd-blue-tint: #eff4fd;
 --sd-blue-soft: #e1eafa;
 --sd-surface: #f7f9fd;
 --sd-border: #d5dfee;
 --dt-main-rgb: 54, 91, 166 !important;
 --dt-main-color: var(--sd-blue) !important;
 --dt-primary-color: var(--sd-blue) !important;
 --dt-secondary-color: var(--sd-black) !important;
 --dt-text-color: var(--sd-ink) !important;
 --dt-gray-color: var(--sd-surface) !important;
}
/* Theme setup: content stays visible without animation or scroll-dependent effects. */
body { color: var(--sd-ink); }
.site-content .wow, #dt_footer .wow, .site-content [data-aos], #dt_footer [data-aos] {
 visibility: visible !important; opacity: 1 !important; transform: none !important; animation: none !important;
}
.site-content .dt_posts { padding: 48px 0 64px; }
.dt_header .site--logo img { width: 200px; max-width: 100%; height: auto; }
.dt_header .dt_mobilenav-logo img { width: 180px; max-width: 100%; height: auto; }
.dt_header .dt_navbar-nav .dt_navbar-mainmenu > li > a { padding-left: 12px; padding-right: 12px; }
.dt_header .dt_navbar-nav .dropdown-menu { min-width: 320px; }
.dt_header .dt_navbar-nav .dropdown-menu a { white-space: normal; line-height: 1.5; }
.dt_header .dt_navbar-nav a:focus-visible, .dt_header button:focus-visible { outline: 3px solid var(--sd-blue); outline-offset: 4px; }
#dt_pagetitle { padding: 36px 0 !important; background: var(--sd-blue-tint) !important; }
#dt_pagetitle::before, #dt_pagetitle::after { background: transparent !important; }
#dt_pagetitle .patterns-layer { display: none; }
#dt_pagetitle h1, #dt_pagetitle li, #dt_pagetitle a { color: var(--sd-ink) !important; }
.sd-home-hero { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); gap: 40px; padding: 40px; border-radius: 16px; background: var(--sd-blue-tint); align-items: center; margin-bottom: 52px; }
.sd-home-intro h1 { max-width: 22ch; margin-bottom: 22px; }
.sd-home-intro > p:first-child { color: var(--sd-blue); }
.sd-home-intro .wp-block-buttons { margin: 24px 0; }
.sd-home-aside { border: 1px solid var(--sd-border); border-radius: 12px; background: #fff; padding: 28px; }
body .sd-home-aside h2 { margin-top: 0; }
.sd-home-aside li { margin-bottom: 18px; }
.sd-home-profile { padding: 32px; border-left: 5px solid var(--sd-blue); background: var(--sd-surface); margin: 40px 0; }
body .sd-home-profile h2 { margin-top: 0; }
.sd-project-preview { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 32px; align-items: center; }
.sd-project-preview img { width: 100%; height: 360px; object-fit: cover; object-position: center 38%; border-radius: 12px; }
.sd-reference-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; align-items: start; margin: 32px 0; }
.sd-reference-gallery figure { margin: 0; }
.sd-reference-gallery img { width: 100%; height: 360px; object-fit: cover; border-radius: 10px; }
body .sd-site figcaption { margin-top: 12px; font-size: 16px !important; line-height: 1.5; color: var(--sd-muted); }
#dt_footer { background: var(--sd-black) !important; color: #fff; }
#dt_footer .footer-shape { display: none; }
#dt_footer .dt_footer_middle { padding: 44px 0 24px; }
#dt_footer :is(h2,h3,h4,h5,h6,p,li,a,.widget-title,.dt_footer_copyright) { color: #fff; }
#dt_footer a { text-decoration: underline; text-underline-offset: 3px; }
#dt_footer a:hover { color: var(--sd-blue-light); }
#dt_footer a:focus-visible { outline: 3px solid var(--sd-blue-light); outline-offset: 4px; }
#dt_footer .widget-title { margin-bottom: 18px; }
#dt_footer .sd-footer-links { list-style: none; margin: 0; padding: 0; }
#dt_footer .sd-footer-links li { padding: 0; margin-bottom: 10px; }
#dt_footer .sd-footer-links a::before { display: none; }
#dt_footer .dt_footer_copyright { padding: 20px 0; border-top: 1px solid #ffffff30; }
#dt_footer .widget { margin-bottom: 20px; }
@media (max-width: 1279px) { .dt_navbar-list-right .widget_contact { display: none; } }
@media (max-width: 900px) {
 .sd-home-hero, .sd-project-preview { grid-template-columns: minmax(0,1fr); }
 .sd-reference-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
 .site-content .dt_posts { padding: 24px 0 40px; }
 .sd-home-hero { padding: 24px; gap: 24px; margin-bottom: 36px; }
 .sd-home-aside, .sd-home-profile { padding: 22px; }
 .sd-reference-gallery { grid-template-columns: minmax(0,1fr); }
 .sd-project-preview img { height: 320px; }
 #dt_footer .dt_footer_middle { padding: 32px 0 12px; }
}
/* WordPress inserts a legacy group wrapper; let actual cards participate in the grid. */
:is(.sd-home-hero,.sd-services-grid,.sd-project-preview,.sd-reference-gallery) > .wp-block-group__inner-container { display: contents; }
.sd-services-grid .sd-services-card, .sd-home-hero .sd-home-intro, .sd-home-hero .sd-home-aside, .sd-project-preview > .wp-block-group__inner-container > * { margin: 0; }
body .sd-services .is-style-outline > .wp-block-button__link { color: var(--sd-blue) !important; border-color: var(--sd-blue) !important; background: transparent !important; }
body .sd-services .is-style-outline > .wp-block-button__link:hover { color: var(--sd-blue-dark) !important; background: var(--sd-blue-soft) !important; }
.dt_header .dt-btn-primary { background: var(--sd-blue) !important; border-color: var(--sd-blue) !important; color: #fff !important; }
.dt_header .dt-btn-primary:hover { background: var(--sd-blue-dark) !important; color: #fff !important; }
.dt_header .widget_contact.time :is(.title,i) { color: #fff !important; }
/* A dedicated portal entry remains available in the mobile navigation. */
.dt_navbar .sd-menu-portal { display: none; }
.dt_navbar .dt_navbar-nav .dt_navbar-mainmenu > .sd-menu-portal { display: none !important; }

body .sd-services code { font-family: inherit; font-size: 18px; overflow-wrap: anywhere; word-break: break-word; }
