/* Scoped additions; Ohio and Elementor remain responsible for the site layout. */
.cds-org{--cds-navy:#2f4871;--cds-teal:#07546b;--cds-line:#b7c9d4;color:#22262b;padding:10px 0 30px;width:100%}
.cds-org *{box-sizing:border-box}.cds-org__intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 36px}.cds-org__intro p{margin:0;font-size:18px;color:#546171}.cds-org__replay{background:transparent;border:1px solid #b7c9d4;border-radius:30px;padding:9px 16px;font:inherit;font-size:13px;color:#2f4871;cursor:pointer;white-space:nowrap}.cds-org__replay:hover{background:#e9eff5}.cds-org__replay:focus-visible{outline:3px solid #07546b;outline-offset:4px}.cds-org [hidden]{display:none!important}
.cds-org ul{list-style:none;margin:0;padding:0;display:grid;gap:16px}.cds-org__lead{max-width:470px;margin:0 auto;position:relative;padding-bottom:44px}.cds-org__lead:after{content:"";position:absolute;bottom:0;left:50%;width:2px;height:44px;background:var(--cds-line);transform-origin:top}
.cds-person{display:flex;align-items:center;gap:14px;background:#eef3f7;border:1px solid #dce5ed;border-radius:12px;padding:14px;min-width:0;transition:transform .25s ease,box-shadow .25s ease}.cds-person:hover{transform:none}.cds-person__portrait{width:68px!important;height:88px!important;object-fit:cover;object-position:center top;border-radius:7px;flex-shrink:0}.cds-person__initials{width:68px;height:88px;display:grid;place-items:center;background:#dbe5ef;border-radius:7px;flex-shrink:0;color:#2f4871;font-weight:700}.cds-org .cds-person h4{font-size:15px;line-height:1.3;letter-spacing:-.2px;margin:0 0 5px;color:#233c60;font-weight:650}.cds-org .cds-person p{font-size:12px;line-height:1.5;margin:0;color:#516272}.cds-org .cds-person--director{background:linear-gradient(115deg,#2f4871,#07546b);border:0;padding:20px 28px;box-shadow:0 12px 32px #2f487120}.cds-org .cds-person--director h4{font-size:22px;color:white}.cds-org .cds-person--director p{font-size:15px;color:#e6eff7}.cds-person--director .cds-person__portrait{width:84px!important;height:106px!important}
.cds-org__branches{display:grid;grid-template-columns:3fr 2fr;gap:24px;border-top:2px solid var(--cds-line);position:relative}.cds-org__department{position:relative;padding-top:28px}.cds-org__department:before{content:"";position:absolute;top:0;left:50%;height:20px;width:2px;background:var(--cds-line);transform-origin:top}.cds-org .cds-org__department>h3{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--cds-teal);font-weight:700;margin:0 0 18px;text-align:center}.cds-org__management ul{grid-template-columns:repeat(3,minmax(0,1fr))}.cds-org__support ul{grid-template-columns:repeat(2,minmax(0,1fr))}.cds-org__management .cds-person,.cds-org__support .cds-person{flex-direction:column;align-items:flex-start}.cds-org__leads,.cds-org__design{margin-top:34px;border-top:2px solid var(--cds-line)}.cds-org__leads ul{grid-template-columns:repeat(4,minmax(0,1fr))}.cds-org__design ul{grid-template-columns:repeat(5,minmax(0,1fr))}.cds-org__design .cds-person{flex-direction:column;align-items:flex-start}
@media(prefers-reduced-motion:no-preference){.cds-org--playing .cds-org__tier{animation:cds-tier-in .65s both;animation-delay:var(--tier-delay,0ms)}.cds-org--playing .cds-person{animation:cds-person-in .7s both;animation-delay:calc(var(--tier-delay,0ms) + var(--card-delay,0ms))}.cds-org--playing .cds-org__department:before,.cds-org--playing .cds-org__lead:after{animation:cds-line-in .6s both;animation-delay:var(--tier-delay,0ms)}}
@keyframes cds-tier-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes cds-person-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes cds-line-in{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.cds-hero{position:relative;isolation:isolate;overflow:hidden;min-height:680px;background:#142234;background-size:cover;background-position:center}.cds-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,23,38,.9),rgba(10,23,38,.53) 53%,rgba(10,23,38,.12));z-index:-1}.cds-hero .elementor-heading-title{color:white}.cds-hero .elementor-widget-text-editor{color:#e7eef4}.cds-hero .elementor-button{border-radius:5px;padding:17px 25px;font-weight:600}.cds-hero .cds-hero-secondary .elementor-button{background:transparent;border:1px solid #ffffff90}.cds-service-card{background:#f0f4f7;border:1px solid #e0e7ef;border-radius:12px;padding:32px!important}.cds-service-card h3{color:#2f4871}.cds-services-list{padding-left:20px;margin-bottom:0}.cds-services-list li{margin:0 0 10px;line-height:1.6}.cds-org-section{background:#f8fafc;padding:70px 0!important}.cds-org-section .elementor-widget-shortcode{width:100%}.cds-hero .elementor-widget-text-editor p{margin-bottom:0}
@media(max-width:1100px){.cds-org__leads ul{grid-template-columns:repeat(2,minmax(0,1fr))}.cds-org__design ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.cds-org__intro{align-items:flex-start;flex-direction:column;gap:14px}.cds-org__branches{grid-template-columns:1fr;gap:26px}.cds-org__management ul,.cds-org__support ul,.cds-org__leads ul,.cds-org__design ul{grid-template-columns:repeat(2,minmax(0,1fr))}.cds-org .cds-person{flex-direction:column;align-items:flex-start;padding:14px;gap:12px}.cds-org .cds-person--director{flex-direction:row;align-items:center;padding:20px;gap:16px}.cds-org .cds-person--director h4{font-size:19px}.cds-org .cds-person h4{overflow-wrap:anywhere}.cds-org__support{border-top:2px solid var(--cds-line)}.cds-org-section{padding:45px 0!important}.cds-hero{min-height:650px}.cds-hero:before{background:linear-gradient(90deg,rgba(10,23,38,.9),rgba(10,23,38,.6))}.cds-service-card{padding:24px!important}}
@media(prefers-reduced-motion:reduce){.cds-org *{animation:none!important;transition:none!important}.cds-person:hover{transform:none}}
/* The home header stays readable over the photographic hero. */
.cds-hero:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(10,23,38,.84),rgba(10,23,38,.42) 56%,rgba(10,23,38,.06))}.cds-hero>div{position:relative;z-index:1}.cds-org-section{scroll-margin-top:100px}.cds-footer-logo{display:block;width:170px;height:auto;max-width:100%}
@media(max-width:767px){.cds-hero:after{background:linear-gradient(90deg,rgba(10,23,38,.86),rgba(10,23,38,.5))}}
@media(max-width:767px){.cds-org-section{padding:45px 20px!important}.cds-org__intro p{font-size:16px}.cds-org-section .e-con-inner{padding:0!important}.cds-org .cds-person--director h4{font-size:18px}.cds-org .cds-person--director{padding:18px;gap:14px}}
@media(max-width:767px){.cds-hero>.e-con{padding-top:130px!important}}
@media(max-width:767px){.elementor-228526>.e-con,.elementor-20155>.e-con:not(.cds-org-section),.elementor-20884>.e-con{padding-left:20px!important;padding-right:20px!important}}
/* Match the company profile's rectangular teal organization chart. */
.cds-org{--cds-navy:#07546b;--cds-teal:#07546b;--cds-line:#9cb5c1}.cds-org-section{background:white}.cds-org .cds-person{border:0;border-radius:0;background:#e4ebf1;padding:0;overflow:hidden;gap:14px;align-items:stretch;box-shadow:none}.cds-org .cds-person__portrait{border-radius:0;filter:none!important;mix-blend-mode:normal!important;opacity:1!important;width:88px!important;height:128px!important;object-fit:cover;object-position:center 15%}.cds-person__text{padding:15px 10px 15px 0;align-self:center}.cds-org .cds-person h4{color:#07546b;text-transform:uppercase;font-size:13px;line-height:1.3}.cds-org .cds-person p{color:#07546b;font-size:11px;line-height:1.4}.cds-org .cds-org__lead{max-width:760px}.cds-org .cds-person--director{background:#07546b;padding:0;gap:24px}.cds-org .cds-person--director .cds-person__portrait{width:110px!important;height:145px!important}.cds-org .cds-person--director h4{color:white;font-size:24px}.cds-org .cds-person--director p{color:white;font-size:16px}.cds-org .cds-org__department>h3{background:#07546b;color:white;padding:9px 12px;font-size:11px;letter-spacing:.6px;margin-bottom:18px}.cds-org__management .cds-person,.cds-org__support .cds-person,.cds-org__design .cds-person{flex-direction:row}.cds-org__design ul{gap:14px}.cds-org__design .cds-person{gap:10px}.cds-org__design .cds-person__portrait{width:72px!important;height:122px!important}.cds-org__replay{border-radius:0;color:#07546b;border-color:#9cb5c1}.cds-org__branches{border-top:0}.cds-org__leads,.cds-org__design{border-top:0}.cds-org__department:before{top:0;height:28px}
@media(prefers-reduced-motion:no-preference){.cds-org--scroll .cds-person{opacity:0;transform:translateY(32px);transition:opacity .75s ease,transform .85s cubic-bezier(.16,1,.3,1);transition-delay:var(--card-delay,0ms)}.cds-org--scroll .is-visible .cds-person{opacity:1;transform:translateY(0)}.cds-org--scroll .cds-org__department>h3{clip-path:inset(0 100% 0 0);transition:clip-path .9s cubic-bezier(.2,.7,.2,1)}.cds-org--scroll .is-visible>h3{clip-path:inset(0)}.cds-org--scroll .cds-org__department:before,.cds-org--scroll .cds-org__lead:after{transform:scaleY(0);transition:transform .7s ease}.cds-org--scroll .cds-org__department.is-visible:before,.cds-org--scroll .cds-org__lead.is-visible:after{transform:scaleY(1)}.cds-org .cds-person:hover{transform:none}}
@media(max-width:1100px){.cds-org__management .cds-person,.cds-org__support .cds-person{flex-direction:column}.cds-org__management .cds-person__portrait,.cds-org__support .cds-person__portrait{width:100%!important;height:170px!important}.cds-org__management .cds-person__text,.cds-org__support .cds-person__text{padding:0 14px 16px;align-self:flex-start}}
@media(max-width:767px){.cds-org .cds-person{flex-direction:column;gap:0;padding:0;align-items:stretch}.cds-org .cds-person__portrait{width:100%!important;height:185px!important;object-position:center 12%}.cds-org .cds-person__text{padding:15px;align-self:flex-start}.cds-org .cds-person--director{flex-direction:row;gap:0;align-items:center}.cds-org .cds-person--director .cds-person__portrait{width:95px!important;height:140px!important}.cds-org .cds-person--director h4{font-size:16px}.cds-org .cds-person--director p{font-size:13px}.cds-org .cds-person--director .cds-person__text{align-self:center;padding:14px}.cds-org__support{border:0}.cds-org .cds-person h4{overflow-wrap:normal}.cds-org .cds-org__department>h3{font-size:10px}}
@media(prefers-reduced-motion:reduce){.cds-org .cds-person{opacity:1!important;transform:none!important}.cds-org__department>h3{clip-path:none!important}}
@media(prefers-reduced-motion:no-preference){
.cds-org--scroll .is-visible .cds-person{animation:cds-team-breathe 5s ease-in-out infinite;animation-delay:calc(var(--card-delay,0ms) + .85s)}
.cds-org--scroll .is-visible>h3{background-image:linear-gradient(110deg,transparent 30%,#ffffff25 48%,transparent 66%);background-size:250% 100%;animation:cds-team-sheen 6s ease-in-out infinite}
.cds-org--scroll .cds-org__department.is-visible:before,.cds-org--scroll .cds-org__lead.is-visible:after{animation:cds-connector-pulse 3s ease-in-out infinite}
}
@keyframes cds-team-breathe{0%,100%{translate:0 0;box-shadow:0 0 0 #07546b00}50%{translate:0 -3px;box-shadow:0 7px 18px #07546b1a}}
@keyframes cds-team-sheen{0%,15%{background-position:150% 0}85%,100%{background-position:-150% 0}}
@keyframes cds-connector-pulse{0%,100%{background-color:#9cb5c1}50%{background-color:#07546b}}

/* Brand-consistent color-only hover states. Theme button motion is also disabled in Ohio. */
body a:hover{color:#07546b}
body .btn:hover,body .elementor-button:hover,body button[type="submit"]:hover{background-color:#063e50;border-color:#063e50;color:#fff}
body .btn:hover,body .btn:hover .text,body .btn:hover .icon,body .elementor-button:hover,body .elementor-button:hover .elementor-button-content-wrapper,body .elementor-button:hover .elementor-button-icon,body button:hover{transform:none!important;scale:none!important;translate:none!important}
.cds-services-v2 .cds-sv-nav a:hover{color:#07546b;background:#e4ebf1}
.cds-services-v2 .cds-sv-project-link:hover{color:#e4ebf1;border-color:#e4ebf1}
.cds-org .cds-org__replay:hover{color:#07546b;background:#e4ebf1}
.cds-services-v2 .cds-sv-cta .elementor-button:hover{background:#e4ebf1;border-color:#e4ebf1;color:#07546b}
/* Ohio's gradient underline must never fill interactive control backgrounds. */
body .cds-sv-nav a,body .cds-sv-nav a:is(:hover,:focus,:active),body .elementor-button,body .btn,body a[data-isotope-filter]{background-image:none!important}
body a[data-isotope-filter]:is(:hover,:focus,.active),body a[data-isotope-filter]:is(:hover,:focus,.active) .name,body a[data-isotope-filter]:is(:hover,:focus,.active) .num{color:#07546b!important}
body a[data-isotope-filter].active .name{border-bottom:2px solid #07546b}
body .cds-services-v2 .cds-sv-nav a{padding-left:12px;padding-right:12px;transition:color .2s,background-color .2s}
body .cds-services-v2 .cds-sv-nav a:is(:hover,:focus-visible,[aria-current="step"]){background-color:#e4ebf1;color:#07546b}
body .cds-services-v2 .cds-sv-nav a span{color:inherit}
body .btn:is(:hover,:focus-visible,:active),body .elementor-button:is(:hover,:focus-visible,:active){background-image:none!important;background-color:#063e50;color:#fff}
body .btn:is(:hover,:focus-visible,:active) .text,body .elementor-button:is(:hover,:focus-visible,:active) span{color:inherit}
body .cds-services-v2 .cds-sv-cta .elementor-button:is(:hover,:focus-visible,:active){background:#e4ebf1;color:#07546b}
/* Homepage contact details sit over a dark photograph. */
.elementor-228559 .elementor-element-5f1e0c3 a,.elementor-228559 .elementor-element-c8f7bd2 a{color:#fff!important;text-decoration:underline;text-decoration-color:#ffffff70;text-underline-offset:4px;background-image:none!important}
.elementor-228559 .elementor-element-5f1e0c3 a:is(:hover,:focus-visible,:active),.elementor-228559 .elementor-element-c8f7bd2 a:is(:hover,:focus-visible,:active){color:#dcecf2!important;text-decoration-color:currentColor}

/* Organization chart remains stationary after its scroll reveal. */
.cds-org--scroll .is-visible .cds-person,.cds-org--scroll .is-visible>h3,.cds-org--scroll .cds-org__department.is-visible:before,.cds-org--scroll .cds-org__lead.is-visible:after{animation:none!important;translate:none!important}
.cds-org--scroll .is-visible>h3{background-image:none}
/* User preference: no link underlines, including hover and selected states. */
body a,body a:is(:hover,:focus,:active),body a span{text-decoration:none!important;text-decoration-line:none!important}
body a[data-isotope-filter].active .name{border-bottom:0!important}
body .cds-sv-project-link{border-bottom:0!important}
body .elementor-element-5f1e0c3 a,body .elementor-element-c8f7bd2 a{text-decoration:none!important}
