.cdm-content{--brand:#487675;--brand-dark:#244544;--brand-deep:#173130;--brand-soft:#eaf2f1;--brand-soft-2:#f5f8f7;--ink:#172120;--muted:#5f6e6c;--line:#dce5e3;--white:#fff;--paper:#f7f9f8;--max:1380px;margin:0;background:var(--paper);color:var(--ink);font-family:'Montserrat',Arial,sans-serif;font-size:18px;font-weight:400;line-height:1.72;-webkit-font-smoothing:antialiased}
.cdm-content,.cdm-content *{box-sizing:border-box}.cdm-content img{display:block;width:100%;height:auto}.cdm-content a{color:inherit;text-decoration:none}.cdm-content .container{width:min(calc(100% - 72px),var(--max));margin:0 auto}.cdm-content .kicker{display:flex;align-items:center;gap:14px;color:var(--brand);font-size:13px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.cdm-content .kicker:before{content:"";width:42px;height:2px;background:var(--brand);flex:0 0 auto}
.cdm-content .section{padding:118px 0}.cdm-content .section.white{background:#fff}.cdm-content .section.soft{background:var(--brand-soft-2)}.cdm-content .sectionHead{display:grid;grid-template-columns:.9fr 1.1fr;gap:86px;align-items:end;margin-bottom:62px}.cdm-content .sectionHead h2{font-size:clamp(36px,3.5vw,54px);line-height:1.08;letter-spacing:-.035em;font-weight:500;margin:14px 0 0;color:var(--ink)}.cdm-content .sectionHead p{font-size:18px;color:var(--muted);margin:0;max-width:720px}
.cdm-content .pageHero{background:var(--brand-soft);padding:90px 0 82px;border-bottom:1px solid var(--line)}.cdm-content .pageHero .container{display:grid;grid-template-columns:1fr .78fr;gap:70px;align-items:end}.cdm-content .pageHero h1{font-size:clamp(44px,4.4vw,66px);line-height:1.02;letter-spacing:-.045em;font-weight:500;margin:22px 0 0;color:var(--ink)}.cdm-content .pageHero p{font-size:18px;color:var(--muted);margin:0;text-align:left}.cdm-content .pageHero.hasImage{position:relative;background:var(--brand-deep);color:#fff;min-height:530px;display:flex;align-items:end;overflow:hidden}.cdm-content .pageHero.hasImage:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,49,48,.96) 0%,rgba(23,49,48,.82) 46%,rgba(23,49,48,.3) 72%),var(--bg) center/cover}.cdm-content .pageHero.hasImage .container{position:relative;z-index:2;width:min(calc(100% - 72px),var(--max));display:block;padding-bottom:4px}.cdm-content .pageHero.hasImage .kicker{color:#dcebea}.cdm-content .pageHero.hasImage .kicker:before{background:#dcebea}.cdm-content .pageHero.hasImage h1{color:#fff}.cdm-content .pageHero.hasImage p{color:#d8e4e2;max-width:760px;margin-top:24px}
.cdm-content .pageHero.cdmcm-service-hero-plain:before{background:var(--brand-deep)}

.cdm-content .contentGrid{display:grid;grid-template-columns:.78fr 1.22fr;gap:92px}.cdm-content .stickyTitle{position:sticky;top:130px;align-self:start}.cdm-content .stickyTitle h2{font-size:40px;line-height:1.08;font-weight:500;letter-spacing:-.03em;margin:20px 0;color:var(--ink)}.cdm-content .stickyTitle p{font-size:16px;color:var(--muted);text-align:left}.cdm-content .rich h2{font-size:34px;line-height:1.15;font-weight:500;letter-spacing:-.025em;margin:52px 0 18px;color:var(--ink)}.cdm-content .rich h3{font-size:27px;line-height:1.22;font-weight:500;margin:34px 0 12px;color:var(--ink)}.cdm-content .rich p,.cdm-content .rich li{font-size:17px;color:var(--muted);text-align:left;hyphens:none;word-break:normal;overflow-wrap:break-word}.cdm-content .rich ul{padding-left:22px}.cdm-content .rich strong{color:var(--brand-dark);font-weight:600}.cdm-content .rich .lead{font-size:21px;line-height:1.75;color:#3f504e}.cdm-content .galleryTwo{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}.cdm-content .galleryTwo img{height:380px;object-fit:cover}
.cdm-content .serviceDetail,.cdm-content .cdm-service-detail{background:#fff;border:1px solid var(--line);padding:30px;margin:22px 0;display:block}.cdm-content .serviceDetail .num,.cdm-content .cdm-service-no{display:block;color:var(--brand);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.cdm-content .serviceDetail h3,.cdm-content .cdm-service-copy h3{font-size:29px;line-height:1.22;font-weight:500;margin:12px 0;color:var(--ink)}.cdm-content .serviceDetail p:last-child,.cdm-content .cdm-service-copy p:last-child{margin-bottom:0}
.cdm-content .servicesGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cdm-content .serviceCard{background:#fff;border:1px solid var(--line);min-height:590px;display:flex;flex-direction:column;transition:.3s;overflow:hidden}.cdm-content .serviceCard:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(35,69,68,.12)}.cdm-content .serviceImage{height:265px;overflow:hidden;position:relative}.cdm-content .serviceImage img{height:100%;object-fit:cover;transition:.55s}.cdm-content .serviceCard:hover .serviceImage img{transform:scale(1.04)}.cdm-content .serviceNo{position:absolute;left:18px;top:18px;background:#fff;color:var(--brand);font-size:12px;font-weight:600;padding:8px 10px;letter-spacing:.08em}.cdm-content .serviceBody{padding:30px 30px 32px;display:flex;flex-direction:column;flex:1}.cdm-content .serviceBody h3{font-size:30px;line-height:1.15;letter-spacing:-.025em;font-weight:500;margin:0 0 16px;color:var(--ink)}.cdm-content .serviceBody p{font-size:16px;color:var(--muted);margin:0 0 22px;text-align:left}.cdm-content .miniList{list-style:none;padding:0;margin:0 0 26px;border-top:1px solid var(--line)}.cdm-content .miniList li{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;color:#455452}.cdm-content .cardLink{margin-top:auto;font-size:14px;font-weight:600;color:var(--brand);display:flex;align-items:center;gap:8px}.cdm-content .cardLink:after{content:'→';font-size:20px}
.cdm-content .projectCatalog{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.cdm-content .catalogCard{background:#fff;border:1px solid var(--line);overflow:hidden}.cdm-content .catalogCard img{height:355px;object-fit:cover}.cdm-content .catalogBody{padding:27px}.cdm-content .catalogBody small{font-size:11px;color:var(--brand);font-weight:600;text-transform:uppercase;letter-spacing:.08em}.cdm-content .catalogBody h3{font-size:28px;line-height:1.18;font-weight:500;letter-spacing:-.025em;margin:10px 0 12px;color:var(--ink)}.cdm-content .catalogBody p{font-size:15px;color:var(--muted);margin:0;text-align:left}.cdm-content .projectsDirectory{padding-bottom:100px}.cdm-content .projectJump{display:block;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.cdm-content .projectJump:hover{transform:translateY(-4px);box-shadow:0 24px 54px rgba(35,69,68,.1);border-color:#c8d8d5}.cdm-content .projectJumpLabel{display:block;margin-top:18px;color:var(--brand);font-size:13px;font-weight:600}.cdm-content .projectCategory{padding:100px 0;background:#fff;scroll-margin-top:92px;border-top:1px solid var(--line)}.cdm-content .projectCategory:nth-of-type(even){background:var(--brand-soft-2)}.cdm-content .projectCategoryHead{padding-bottom:34px;border-bottom:2px solid var(--brand-dark)}.cdm-content .projectCategoryHead h2{font-size:clamp(34px,3.2vw,50px);line-height:1.08;letter-spacing:-.035em;font-weight:500;margin:16px 0 0;max-width:1050px;color:var(--ink)}.cdm-content .projectReferenceList{max-width:1180px}.cdm-content .projectReference{padding:44px 8px 48px;border-bottom:1px solid var(--line)}.cdm-content .projectReference:last-child{border-bottom:0;padding-bottom:8px}.cdm-content .projectReference h3{max-width:1100px;color:var(--brand);font-size:clamp(22px,2vw,29px);line-height:1.28;letter-spacing:-.018em;font-weight:600;margin:0 0 24px}.cdm-content .projectDescription{max-width:1120px}.cdm-content .projectDescription p{font-size:15px;line-height:1.75;color:#263230;margin:0 0 13px;text-align:left!important;hyphens:none;word-break:normal}.cdm-content .projectReferenceRule{height:1px;background:var(--brand-dark);margin:26px 0}.cdm-content .projectReferenceGrid{display:grid;grid-template-columns:1.22fr .78fr;gap:64px;align-items:start}.cdm-content .projectReferenceGrid.oneColumn{grid-template-columns:1fr;max-width:780px}.cdm-content .projectServices h4{font-size:17px;color:var(--brand);font-weight:600;margin:0 0 13px}.cdm-content .projectServices ul{list-style:none;padding:0;margin:0}.cdm-content .projectServices li{position:relative;padding:7px 0 7px 30px;font-size:14px;line-height:1.55;color:#263230;text-align:left!important;hyphens:none;word-break:normal}.cdm-content .projectServices li:before{content:'•';position:absolute;left:2px;top:5px;color:var(--brand);font-size:19px;line-height:1.4}.cdm-content .projectMeta{margin:0;display:grid;gap:0;align-self:start}.cdm-content .projectMeta>div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.cdm-content .projectMeta>div:last-child{border-bottom:0}.cdm-content .projectMeta dt{color:var(--brand);font-size:13px;font-weight:600;margin:0}.cdm-content .projectMeta dd{font-size:14px;line-height:1.5;color:#263230;margin:0}
.cdm-content .teamSectionIntro{display:grid;grid-template-columns:1fr .72fr;gap:60px;align-items:end;margin-bottom:38px;padding-bottom:28px;border-bottom:1px solid var(--line)}.cdm-content .teamSectionIntro h2{font-size:clamp(38px,3.5vw,52px);line-height:1.08;letter-spacing:-.03em;font-weight:500;margin:14px 0 0;color:var(--ink)}.cdm-content .teamSectionIntro p{margin:0;color:var(--muted);font-size:16px;text-align:left}.cdm-content .teamCatalog{display:grid;grid-template-columns:.56fr 1.44fr;gap:48px;align-items:start;margin-bottom:48px}.cdm-content .teamCard{background:#fff;border:1px solid var(--line);max-width:430px}.cdm-content .teamCard img{aspect-ratio:4/5;object-fit:cover;object-position:center top;max-height:470px}.cdm-content .teamCard .catalogBody{padding:25px}.cdm-content .teamBio{background:#fff;border:1px solid var(--line);padding:36px}.cdm-content .teamBio h2{font-size:40px;line-height:1.1;font-weight:500;margin:0 0 18px;color:var(--ink)}.cdm-content .teamBio p{color:var(--muted);text-align:left}.cdm-content .bioMeta{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 28px;margin:30px 0 34px}.cdm-content .bioMeta div{border-top:1px solid var(--line);padding-top:12px}.cdm-content .bioMeta small{display:block;color:#84918f;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.cdm-content .bioMeta b{font-size:15px;font-weight:600;color:var(--brand-dark)}.cdm-content .teamExpertiseSection{background:var(--brand-soft-2)}.cdm-content .teamSectionHead{align-items:end}.cdm-content .teamExpertiseGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.cdm-content .teamExpertiseCard{grid-column:span 2;position:relative;background:#fff;border:1px solid var(--line);padding:30px 28px 32px;min-height:245px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.cdm-content .teamExpertiseCard:nth-child(4),.cdm-content .teamExpertiseCard:nth-child(5){grid-column:span 3}.cdm-content .teamExpertiseCard:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(35,69,68,.09);border-color:#c8d8d5}.cdm-content .expertNo{display:block;font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--brand);margin-bottom:42px}.cdm-content .teamExpertiseCard h3{font-size:24px;line-height:1.22;letter-spacing:-.02em;font-weight:500;margin:0 0 14px;color:var(--brand-dark)}.cdm-content .teamExpertiseCard p{font-size:15px;line-height:1.65;color:var(--muted);margin:0;text-align:left!important}
/* Auxiliary single-entry layouts */
.cdm-content .cdm-single-narrow{max-width:1000px}.cdm-content .cdm-back{display:inline-flex;margin-bottom:24px;color:var(--brand)!important;text-decoration:none;font-weight:600;font-size:14px}.cdm-content .cdm-single-feature{width:100%;height:auto;max-height:680px;object-fit:cover;margin:0 0 40px}.cdm-content .cdm-single-body{font-size:18px}.cdm-content .cdm-single-body p,.cdm-content .cdm-single-body ul{margin-bottom:1.2em}
@media(max-width:1120px){.cdm-content .pageHero .container{grid-template-columns:1fr;gap:24px}.cdm-content .contentGrid{grid-template-columns:1fr}.cdm-content .stickyTitle{position:static}.cdm-content .servicesGrid{grid-template-columns:1fr 1fr}.cdm-content .serviceCard:last-child{grid-column:1/-1;min-height:0;display:grid;grid-template-columns:1fr 1fr}.cdm-content .serviceCard:last-child .serviceImage{height:100%}.cdm-content .teamCatalog{grid-template-columns:1fr}.cdm-content .teamCard{max-width:560px}.cdm-content .teamSectionIntro{grid-template-columns:1fr;gap:18px}.cdm-content .teamExpertiseGrid{grid-template-columns:1fr 1fr}.cdm-content .teamExpertiseCard,.cdm-content .teamExpertiseCard:nth-child(4),.cdm-content .teamExpertiseCard:nth-child(5){grid-column:auto}.cdm-content .teamExpertiseCard:last-child{grid-column:1/-1}}
@media(max-width:900px){.cdm-content .projectReferenceGrid{grid-template-columns:1fr;gap:28px}.cdm-content .projectCategory{padding:82px 0}.cdm-content .projectReference{padding:38px 0 42px}}
@media(max-width:720px){.cdm-content{font-size:16px;line-height:1.68}.cdm-content .container{width:min(calc(100% - 34px),var(--max))}.cdm-content .section{padding:78px 0}.cdm-content .sectionHead{margin-bottom:40px}.cdm-content .sectionHead h2{font-size:39px}.cdm-content .sectionHead p{font-size:16px}.cdm-content .pageHero{padding:66px 0}.cdm-content .pageHero h1{font-size:42px}.cdm-content .pageHero.hasImage{min-height:460px}.cdm-content .pageHero.hasImage .container{width:min(calc(100% - 34px),var(--max));padding-bottom:0}.cdm-content .pageHero.hasImage p{font-size:16px}.cdm-content .rich h2{font-size:32px}.cdm-content .rich h3{font-size:24px}.cdm-content .rich p,.cdm-content .rich li{font-size:16px}.cdm-content .rich .lead{font-size:18px}.cdm-content .galleryTwo,.cdm-content .projectCatalog{grid-template-columns:1fr}.cdm-content .galleryTwo img,.cdm-content .catalogCard img{height:300px}.cdm-content .servicesGrid{grid-template-columns:1fr}.cdm-content .serviceCard,.cdm-content .serviceCard:last-child{display:flex;min-height:0;grid-column:auto}.cdm-content .serviceCard:last-child .serviceImage,.cdm-content .serviceImage{height:230px}.cdm-content .serviceBody{padding:24px}.cdm-content .serviceBody h3{font-size:26px}.cdm-content .projectsDirectory{padding-bottom:72px}.cdm-content .projectCategory{padding:68px 0;scroll-margin-top:76px}.cdm-content .projectCategoryHead{padding-bottom:24px}.cdm-content .projectCategoryHead h2{font-size:34px}.cdm-content .projectReference{padding:32px 0 36px}.cdm-content .projectReference h3{font-size:23px;margin-bottom:18px}.cdm-content .projectDescription p{font-size:14px;line-height:1.68}.cdm-content .projectReferenceRule{margin:22px 0}.cdm-content .projectServices li{font-size:13px;padding-left:25px}.cdm-content .projectMeta>div{grid-template-columns:100px 1fr;gap:10px}.cdm-content .projectMeta dt,.cdm-content .projectMeta dd{font-size:12px}.cdm-content .teamSectionIntro{margin-bottom:28px}.cdm-content .teamSectionIntro h2{font-size:36px}.cdm-content .teamExpertiseGrid{grid-template-columns:1fr}.cdm-content .teamExpertiseCard,.cdm-content .teamExpertiseCard:last-child{grid-column:auto;min-height:0;padding:25px 23px}.cdm-content .expertNo{margin-bottom:26px}.cdm-content .teamBio{padding:24px}.cdm-content .teamBio h2{font-size:34px}.cdm-content .bioMeta{grid-template-columns:1fr}}
\n/* Home-page shortcode helpers (1.2.0) */
.cdm-home-services{background:transparent!important;font-size:18px;line-height:1.72}
.cdm-home-services .servicesGrid{margin:0}
.cdm-home-contact-form{background:transparent!important;font-size:16px;line-height:1.6}
.cdm-home-contact-form .wpcf7-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;background:#fff;padding:34px;border:1px solid var(--line);margin:0}
.cdm-home-contact-form .wpcf7-form p{margin:0;min-width:0}
.cdm-home-contact-form .wpcf7-form p:has(textarea),.cdm-home-contact-form .wpcf7-form p:has(input[type="submit"]),.cdm-home-contact-form .wpcf7-form .wpcf7-response-output{grid-column:1/-1}
.cdm-home-contact-form label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#667674}
.cdm-home-contact-form input:not([type="submit"]),.cdm-home-contact-form textarea,.cdm-home-contact-form select{width:100%;min-height:58px;border:1px solid var(--line);border-radius:0;background:#fff;padding:12px 15px;color:var(--ink);font:400 15px/1.5 'Montserrat',Arial,sans-serif;outline:none}
.cdm-home-contact-form textarea{min-height:125px;resize:vertical}
.cdm-home-contact-form input:not([type="submit"]):focus,.cdm-home-contact-form textarea:focus,.cdm-home-contact-form select:focus{border-color:var(--brand)}
.cdm-home-contact-form input[type="submit"]{min-height:56px;border:1px solid var(--brand);border-radius:0;background:var(--brand);color:#fff;padding:0 25px;font:600 14px/1 'Montserrat',Arial,sans-serif;cursor:pointer}
.cdm-home-contact-form input[type="submit"]:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
.cdm-home-contact-form .wpcf7-spinner{margin:12px 0 0}
.cdm-home-contact-form .wpcf7-not-valid-tip{font-size:12px;margin-top:4px}
.cdm-home-contact-form .wpcf7-response-output{margin:6px 0 0!important;padding:10px 12px!important}
.cdm-form-missing{padding:24px;background:#fff;border:1px dashed var(--line);color:var(--muted)}
@media(max-width:720px){.cdm-home-contact-form .wpcf7-form{grid-template-columns:1fr;padding:23px}.cdm-home-contact-form .wpcf7-form p{grid-column:1/-1}}

/* CDM Image widget base rendering — independent from Elementor custom classes. */
.elementor-widget-cdm-image .cdm-image-wrap{display:block;width:100%;overflow:hidden}
.elementor-widget-cdm-image .cdm-image-element{display:block;width:100%;height:100%;object-fit:cover}
