/*
Theme Name: DHCS Industrial
Theme URI: https://darkhorsecustomsolutions.com/
Author: Dark Horse Custom Solutions
Description: An editable block theme for industrial automation, controls, and system integration. Original DHCS blue and horse identity with a horizontal masthead.
Version: 2.2.3
Requires at least: 6.6
Tested up to: 7.1.2
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dhcs
Tags: block-patterns, full-site-editing, wide-blocks, custom-colors, editor-style
*/
:root{--dhcs-blue:#00bfff;--dhcs-ink:#101416;--dhcs-black:#080b0d;--dhcs-muted:#b6c4ca;--dhcs-pale:#f3f6f7;--dhcs-line:#dce3e6}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--dhcs-ink);font-size:16px;line-height:1.65;background:#fff}img{max-width:100%;height:auto}p,h1,h2,h3,figure{margin:0}p+p{margin-top:1rem}h1,h2,h3{font-weight:700;line-height:1.08;letter-spacing:-.04em}h2{font-size:clamp(2.2rem,4vw,3.5rem)}h3{font-size:1.45rem;letter-spacing:-.025em;line-height:1.22}a{color:inherit;text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible{outline:3px solid var(--dhcs-blue);outline-offset:5px}.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto!important}.section{padding:104px 0}.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.13em;line-height:1.5;margin-bottom:24px;text-transform:uppercase}.section-intro{max-width:670px;margin-top:24px;color:#53636b;font-size:1.12rem}.accent{color:var(--dhcs-blue)}.site-header{background:#080b0d;color:white;border-bottom:1px solid #283038;position:relative;z-index:20}.masthead{display:flex;justify-content:space-between;align-items:center;gap:36px;min-height:112px}.brand{display:flex;gap:16px;align-items:center;text-decoration:none!important;flex-shrink:0}.brand img{width:76px;height:76px;object-fit:contain;display:block}.brand strong{display:block;font-size:1.5rem;letter-spacing:.075em;line-height:1.2;color:#fff}.brand small{display:block;font-size:.78rem;letter-spacing:.18em;line-height:1.7;color:var(--dhcs-blue)}.primary-nav{font-size:.9rem;font-weight:600}.primary-nav .wp-block-navigation__container{gap:28px}.primary-nav a{text-decoration:none}.primary-nav a:hover{color:var(--dhcs-blue)}.wp-block-navigation__responsive-container.is-menu-open{background:var(--dhcs-black)!important;color:#fff!important;padding:32px}.skip-link{position:absolute;left:20px;top:-100px;background:var(--dhcs-blue);color:#000;padding:12px 20px;z-index:1000}.skip-link:focus{top:12px}.hero{position:relative;background:var(--dhcs-black);color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.16fr 1fr;align-items:center;min-height:645px;padding:66px 0 60px;gap:60px}.hero .eyebrow{color:var(--dhcs-blue);font-size:.75rem}.hero-title{font-size:clamp(3.7rem,6.5vw,6rem);line-height:.98;letter-spacing:-.055em;margin-bottom:28px}.hero-lead{font-size:1.16rem;line-height:1.5;color:#fff;max-width:470px}.hero-copy{max-width:455px;color:var(--dhcs-muted);font-size:1rem;margin-top:14px}.hero-visual{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(ellipse at 50% 45%,#062733 0%,transparent 67%)}.hero-horse{width:min(100%,435px);margin:0 auto}.hero-horse img{display:block;width:100%;height:auto;filter:drop-shadow(0 0 32px rgba(0,191,255,.13))}.hero-signature{font-size:.68rem;letter-spacing:.24em;color:#7c949f;margin-top:14px;text-align:center}.wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border-radius:0!important;padding:14px 23px!important;font-size:.9rem;font-weight:700;line-height:1.4;background:var(--dhcs-blue);border:1px solid var(--dhcs-blue);color:#051317;text-decoration:none;transition:background .15s,color .15s}.wp-block-button__link:hover{background:#65d9ff;border-color:#65d9ff}.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border:1px solid #62717b;color:inherit}.wp-block-button.is-style-outline .wp-block-button__link:hover{border-color:var(--dhcs-blue);color:var(--dhcs-blue)}.hero-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-top:1px solid #28353c;padding:25px 0 28px}.hero-strip p{font-size:.73rem;font-weight:700;letter-spacing:.09em;color:#a4bac5;margin:0}.hero-strip p:before{content:'';display:inline-block;width:22px;height:2px;background:var(--dhcs-blue);vertical-align:middle;margin-right:12px}.intro{background:white}.intro-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:90px;align-items:start}.intro-grid .eyebrow{grid-column:1/-1;color:#00789f}.intro-text{font-size:1.13rem;color:#51616a;max-width:520px;padding-top:4px}.services{background:var(--dhcs-pale);border-top:1px solid #e1e7e9}.section-heading{margin-bottom:52px}.services .eyebrow{color:#00789f}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #cbd5da;border-left:1px solid #cbd5da}.service-card{padding:32px 30px 38px;border-bottom:1px solid #cbd5da;border-right:1px solid #cbd5da;background:#f8fafb;min-height:295px}.card-number{font-size:.82rem;letter-spacing:.05em;color:#007b9f;font-weight:700;margin-bottom:30px}.service-card h3{margin-bottom:18px;max-width:270px}.service-card p:last-child{font-size:.96rem;line-height:1.65;color:#53636b}.platforms-label{margin-top:46px;margin-bottom:20px!important}.platforms{display:flex;flex-wrap:wrap;gap:20px 36px}.platforms p{margin:0;font-size:.94rem;font-weight:700;color:#3e525c}.industries{background:#10191e;color:#fff}.industry-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.industry-intro>.eyebrow{color:var(--dhcs-blue)}.industry-intro>p:last-child{color:#afbec6;font-size:1.1rem;margin-top:24px}.industry-feature{border-left:3px solid var(--dhcs-blue);padding:30px;background:#1a2932;margin-bottom:10px}.industry-feature .eyebrow{font-size:.73rem;color:var(--dhcs-blue);margin-bottom:20px}.industry-feature p:last-child,.industry-item p{color:#b7c6ce;margin-top:13px;font-size:1rem}.industry-item{padding:28px 0;border-bottom:1px solid #34434c}.industry-item h3{font-size:1.2rem}.experience{background:#fff}.experience .eyebrow{color:#00789f}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:52px;gap:36px}.experience-card{border-top:3px solid #00bfff;padding-top:27px}.experience-card .eyebrow{font-size:.73rem;letter-spacing:.09em;margin-bottom:22px}.experience-card h3{font-size:1.65rem}.experience-card p:last-child{margin-top:22px;color:#53636b;font-size:1rem}.about{background:#f3f6f7;border-top:1px solid #e1e7e9}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about-copy>.eyebrow,.approach>.eyebrow{color:#00789f}.about-copy h2{margin-bottom:28px}.about-copy>p:not(.eyebrow){color:#53636b}.approach{border-left:1px solid #c8d4da;padding-left:45px}.process-step{padding:22px 0;border-bottom:1px solid #ced8dc}.process-step h3{font-size:1.25rem}.process-step p{color:#53636b;font-size:.96rem;margin-top:10px}.contact{background:var(--dhcs-blue);color:#03151c}.contact h2{font-size:clamp(3rem,5.7vw,5rem)}.contact .eyebrow{color:#003e53}.contact-copy{max-width:630px;margin-top:28px;font-size:1.14rem}.contact .wp-block-button__link{background:#091418;color:white;border-color:#091418}.contact .wp-block-button__link:hover{background:#193540}.contact .wp-block-button.is-style-outline .wp-block-button__link{color:#091418;border-color:#246278;background:transparent}.contact .wp-block-button.is-style-outline .wp-block-button__link:hover{background:#70dcff}.contact-note{font-size:.86rem;max-width:640px;margin-top:27px;color:#06455a}.site-footer{background:#080b0d;color:white;padding:50px 0 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-bottom:42px}.footer-contact{text-align:right}.footer-tagline{color:#b0bec6;font-size:1rem}.footer-contact p+p{margin-top:10px}.footer-contact a{color:var(--dhcs-blue)}.footer-bottom{border-top:1px solid #28353c;display:flex;justify-content:space-between;gap:24px;padding-top:24px;color:#9aabb4;font-size:.8rem}.footer-bottom p{margin:0}.content-wrap{min-height:45vh;max-width:900px!important}.content-wrap h1{font-size:clamp(2.7rem,5vw,4rem);margin-bottom:35px}.content-wrap .wp-block-post-content h2{font-size:2rem;margin:35px 0 20px}.content-wrap .wp-block-post-content p{margin-block:1rem}.dhcs-posts .wp-block-post{border-bottom:1px solid #ddd;padding:32px 0}.dhcs-posts h2{font-size:2rem}.dhcs-posts .wp-block-post-excerpt{margin-top:16px}.wp-block-template-part{margin:0}.wp-site-blocks{padding:0!important}.editor-styles-wrapper .wrap{max-width:1240px}.wp-block-navigation__responsive-container-close,.wp-block-navigation__responsive-container-open{padding:12px!important}
@media(min-width:901px){.wp-block-navigation__responsive-container-open:not(.always-shown){display:none!important}.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:block!important}.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close{display:none!important}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.masthead{gap:20px}.primary-nav .wp-block-navigation__container{gap:20px}.brand strong{font-size:1.25rem}.brand img{width:65px;height:65px}.brand small{font-size:.68rem}.hero-grid{gap:30px}.industry-grid,.about-grid{gap:55px}.service-card{padding:28px 24px}.intro-grid{column-gap:55px}}
@media(max-width:900px){.wp-block-navigation__responsive-container-open:not(.always-shown){display:flex!important}.wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}.hero-grid{min-height:600px;grid-template-columns:1.25fr .8fr;gap:24px}.hero-title{font-size:4.2rem}.hero-horse{width:100%}.hero-signature{display:none}.services-grid{grid-template-columns:repeat(2,1fr)}.industry-grid{gap:42px}.experience-grid{gap:24px}.experience-card h3{font-size:1.35rem}.about-grid{gap:40px}.approach{padding-left:30px}.hero-strip{gap:12px}.hero-strip p{font-size:.63rem}.hero-strip p:before{width:14px;margin-right:8px}}
@media(max-width:650px){html{scroll-padding-top:24px}.wrap{width:calc(100% - 40px)}.section{padding:65px 0}.masthead{min-height:96px;gap:14px}.brand{gap:11px}.brand img{width:60px;height:60px}.brand strong{font-size:1.18rem}.brand small{font-size:.64rem;letter-spacing:.15em}.hero-grid{display:flex;flex-direction:column;align-items:stretch;min-height:auto;padding:50px 0 35px;gap:30px}.hero-title{font-size:clamp(3.5rem,14vw,4.6rem)}.hero .eyebrow{font-size:.66rem;max-width:300px}.hero-lead{font-size:1.1rem;max-width:310px}.hero-copy{max-width:340px}.hero-visual{height:230px}.hero-horse{height:230px;width:230px}.hero-horse img{height:230px;width:230px}.hero-strip{grid-template-columns:1fr;gap:14px;padding:24px 0}.hero-strip p{font-size:.7rem}.hero-strip p:before{width:22px}.intro-grid,.industry-grid,.about-grid{display:block}.intro-grid h2{margin-bottom:25px}.intro-text{font-size:1rem}.services-grid,.experience-grid{grid-template-columns:1fr}.service-card{min-height:auto;padding:28px}.service-card h3{max-width:none}.card-number{margin-bottom:18px}.platforms{gap:14px 24px}.platforms p{font-size:.88rem}.section-heading{margin-bottom:32px}.industry-intro{margin-bottom:36px}.industry-feature{padding:25px}.experience-grid{gap:36px;margin-top:36px}.experience-card h3{font-size:1.6rem}.about-copy{margin-bottom:36px}.approach{padding-left:0;border-left:0}.contact-copy{font-size:1rem}.footer-top{flex-direction:column;align-items:flex-start;gap:26px}.footer-contact{text-align:left}.footer-bottom{flex-direction:column;gap:14px}.wp-block-buttons{gap:12px}.wp-block-button__link{font-size:.84rem;padding:13px 18px!important}.hero .wp-block-buttons{align-items:stretch}.eyebrow{font-size:.73rem}.service-card p:last-child{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Larger, comfortably spaced links in the native mobile navigation overlay. */
@media (max-width: 900px) {
    .primary-nav .wp-block-navigation__responsive-container.is-menu-open {
        padding: 24px;
    }
    .primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
        align-items: stretch;
        gap: 8px;
        padding-top: 72px;
    }
    .primary-nav .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
        width: 100%;
        align-items: stretch;
        gap: 8px;
    }
    .primary-nav .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
        width: 100%;
        align-items: stretch;
    }
    .primary-nav .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 56px;
        padding: 12px 8px;
        font-size: 1.25rem;
        font-weight: 600;
        line-height: 1.5;
        text-align: left;
        white-space: normal;
        overflow-wrap: anywhere;
    }
    .primary-nav .wp-block-navigation__responsive-container-close,
    .primary-nav .wp-block-navigation__responsive-container-open {
        min-width: 48px;
        min-height: 48px;
    }
}

/* Reserved positions for future approved company logos. */
.company-experience{padding:35px 0 40px;background:#fff;border-bottom:1px solid var(--dhcs-line)}
.company-strip-heading{font-size:.8rem;line-height:1.5;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#00789f;text-align:center;margin-bottom:27px}
.company-name-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;gap:22px}
.company-card{min-width:0}
.logo-placeholder{height:76px;display:flex;align-items:center;justify-content:center;margin:0;font-size:.875rem;line-height:1.4;color:#50616b;background:#f3f6f7;border:1px dashed #b7c5cc;text-align:center;padding:12px}
@media(max-width:900px){.company-name-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}
@media(max-width:480px){.company-experience{padding:30px 0}.company-name-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.logo-placeholder{height:70px}}

/* Accessible interaction and readable supporting pages. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #006280;outline-offset:3px;box-shadow:0 0 0 6px #fff}
.site-header :focus-visible,.site-footer :focus-visible,.hero :focus-visible{outline-color:#fff;box-shadow:0 0 0 6px #006280}
main:focus{outline:none}
.content-wrap{overflow-wrap:anywhere}
.content-wrap .wp-block-post-content{max-width:100%}
.content-wrap .wp-block-post-content h2{line-height:1.25;letter-spacing:-.025em}
.content-wrap .wp-block-post-content h3{margin:24px 0 12px}
.content-wrap .wp-block-post-content ul{padding-left:1.4rem;margin:18px 0}
.content-wrap .wp-block-post-content li{margin:10px 0}
.content-wrap a:not(.wp-element-button){color:#006582;text-decoration:underline}
.policy-date{font-size:.9rem;color:#53636b}
.footer-policy-links{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:0;margin:0}
.footer-policy-links a{display:inline-block;min-height:32px;padding:4px 0}
.footer-bottom{flex-wrap:wrap}
.footer-secondary{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:18px}
.footer-secondary a{min-height:32px;padding:4px 0}
.primary-nav a{min-height:44px;display:inline-flex;align-items:center}
.dhcs-contact-details,.dhcs-policy-detail{border-left:3px solid #007da5;padding:12px 22px;margin:24px 0;background:#f3f6f7}
.dhcs-contact-form{margin:32px 0;max-width:720px}
.dhcs-field{margin:24px 0}
.dhcs-field label{display:block;font-weight:700;margin-bottom:8px}
.dhcs-field input,.dhcs-field select,.dhcs-field textarea{display:block;width:100%;min-height:48px;padding:12px;border:1px solid #53636b;border-radius:0;background:#fff;color:#101416;font:inherit}
.dhcs-field textarea{resize:vertical}
.dhcs-field input[aria-invalid=true],.dhcs-field textarea[aria-invalid=true],.dhcs-field select[aria-invalid=true]{border:2px solid #9c2424}
.dhcs-field-error{color:#9c2424;font-weight:700}
.dhcs-form-errors,.dhcs-form-status{padding:24px;border:2px solid #006582;background:#f3f6f7;margin:26px 0}
.dhcs-form-errors{border-color:#9c2424}
.dhcs-form-errors h2,.dhcs-form-status h2{font-size:1.6rem!important;margin-top:0!important}
.dhcs-submit{font:inherit;font-weight:700;padding:14px 28px;min-height:48px;background:#006582;color:#fff;border:2px solid #006582;cursor:pointer;margin-top:20px}
.dhcs-submit:hover{background:#00485d}
.dhcs-honeypot{display:none}
@media(max-width:400px){.brand img{width:42px;height:42px}.brand strong{font-size:.94rem}.brand small{font-size:.53rem}.brand{gap:8px}.masthead{gap:8px}.wrap{width:calc(100% - 32px)}.hero-title{font-size:3.35rem}.hero .wp-block-buttons{flex-direction:column}}
@media(forced-colors:active){:focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}.wp-block-button__link,.dhcs-submit{border:2px solid ButtonText}}
/* Preserve reflow when visitors increase text spacing or text size. */
.brand{min-width:0;flex-shrink:1}
.brand>span{min-width:0}
.brand img{flex-shrink:0}
nav.primary-nav{flex-shrink:0}
.hero-title{overflow-wrap:anywhere}
.service-card,.experience-card{min-width:0;overflow-wrap:anywhere}
.section h2,.section h3{overflow-wrap:anywhere}

/* Personal credential, attributed to its holder. */
.credentials{background:#eef7fb;border-block:1px solid #d4e5ed;padding:42px 0}
.credential-card{display:grid;grid-template-columns:1fr 1fr;gap:24px 64px;align-items:center;border-left:4px solid #007da5;padding-left:28px}
.credentials .eyebrow{color:#006582;margin-bottom:12px}
.credentials h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.035em;overflow-wrap:anywhere}
.credential-description{font-size:1rem;color:#425861;margin:0}
@media(max-width:650px){.credential-card{grid-template-columns:minmax(0,1fr);padding-left:20px;gap:20px}.credentials{padding:32px 0}}

/* User-supplied field media: native blocks, local files, no autoplay. */
.dhcs-project-media{background:#f5f8f9;border-top:1px solid #dce5e9}
.dhcs-project-media>.wrap>.eyebrow{color:#00789f}
.dhcs-project-feature{display:grid;grid-template-columns:.8fr 1.5fr;gap:60px;align-items:center;margin-top:42px}
.dhcs-project-feature-copy h3{font-size:2rem;margin-bottom:20px}
.dhcs-project-feature-copy p{color:#53636b}
.dhcs-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:38px}
.dhcs-project-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.dhcs-project-image{margin:0;width:100%;min-width:0}
.dhcs-project-image img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:#15232b}
.dhcs-project-cabinet img{object-position:50% 36%}
.dhcs-project-screen img{object-fit:contain}
.dhcs-project-image figcaption,.dhcs-project-video figcaption{font-size:.84rem;line-height:1.5;color:#43545d;margin-top:10px;text-align:left}
.dhcs-project-video{margin:0;width:100%}
.dhcs-project-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#080b0d}
.dhcs-project-video-portrait video{aspect-ratio:9/16;max-height:560px;width:auto;max-width:100%;margin-inline:auto}
.dhcs-video-description{font-size:.88rem;color:#53636b;margin-top:12px!important;line-height:1.6}
.dhcs-project-subpage{margin-top:48px;padding:28px;border:1px solid #dce5e9}
.dhcs-project-subpage h3{margin:32px 0 18px}
.dhcs-project-video video:focus-visible{outline:3px solid #007b9f;outline-offset:4px}
@media(max-width:900px){.dhcs-project-feature{grid-template-columns:1fr;gap:28px}.dhcs-project-grid{gap:18px}}
@media(max-width:650px){.dhcs-project-grid,.dhcs-project-grid-two{grid-template-columns:1fr}.dhcs-project-feature{margin-top:28px}.dhcs-project-subpage{padding:20px}.dhcs-project-video-portrait video{max-height:480px}.dhcs-project-image img{aspect-ratio:16/10}}
