/* Sections authored in the CMS inherit the public site's typography and palette. */
.cms-section{background:#fff;color:#233b42;padding:70px 0}.cms-section:nth-of-type(even){background:#f4f6f3}.cms-section h2{font-size:clamp(28px,3vw,44px);margin:12px 0 25px;letter-spacing:-1.2px}.cms-section h3{font-size:23px;margin:18px 0 12px}.cms-section p{line-height:1.85}.cms-section .inner-eyebrow{font-size:10px;letter-spacing:1.5px;color:#c60019}.cms-section ul,.cms-section ol{padding-left:22px;line-height:1.9}.cms-section .container>p:not(.inner-eyebrow){max-width:850px}.cms-split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.cms-split img{width:100%;height:auto;max-height:550px;object-fit:cover;border-radius:6px}.cms-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cms-cards>article,.cms-cards>a{border:1px solid #dbe3e0;border-radius:6px;padding:25px;background:white}.cms-cards img{width:100%;height:220px;object-fit:cover}.cms-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.cms-gallery figure{margin:0}.cms-gallery img{width:100%;height:290px;object-fit:cover;border-radius:5px}.cms-gallery figcaption{font-size:13px;padding-top:10px;color:#697f87}.cms-project-cover{width:100%;height:auto;max-height:650px;object-fit:cover;border-radius:5px}.cms-page-hero{padding:90px 0 55px;background:#f2f5f2}.cms-page-hero h1{font-size:clamp(36px,5vw,64px);max-width:1000px}.cms-page-hero p{max-width:800px}.cms-project-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:0}.cms-project-meta dt{font-size:11px;color:#bd0012;margin-bottom:9px}.cms-project-meta dd{margin:0;font-size:15px;line-height:1.7}.cms-projects .portfolio-photo{display:block}.cms-projects .portfolio-photo img{width:100%;height:260px;object-fit:cover}.cms-projects .portfolio-card-body{padding:24px}.cms-projects h3{font-size:24px}.cms-projects .portfolio-card{background:white;color:#20373e}.cms-projects .portfolio-open{margin-top:20px;display:inline-flex}.cms-search-dialog{width:min(620px,calc(100vw - 32px));max-height:80vh;border:1px solid #d9e1df;border-radius:8px;padding:35px;background:white;color:#20373e}.cms-search-dialog::backdrop{background:#13272c99;backdrop-filter:blur(4px)}.cms-search-dialog input{width:100%;padding:14px;border:1px solid #c5d2ce;background:#f5f8f5;margin:24px 0 15px}.cms-search-dialog .cms-search-close{float:right;border:0;background:transparent;font-size:26px;line-height:1}.cms-search-results{display:grid;gap:5px;max-height:45vh;overflow:auto}.cms-search-results a{display:block;border-bottom:1px solid #e1e8e4;padding:14px 0;font-size:14px}.cms-search-results a:hover{color:#c60019}.cms-gallery-dialog{max-width:min(1000px,95vw);padding:24px;border:0;border-radius:8px;background:#fff}.cms-gallery-dialog::backdrop{background:#122329b8}.cms-gallery-dialog img{width:100%;max-height:70vh;object-fit:contain}.cms-gallery-dialog h2{margin:15px 0;font-size:24px}.cms-gallery-dialog button{float:right;background:#c60019;color:white;border:0;border-radius:4px;padding:10px 14px;margin-bottom:12px}.cms-gallery-dialog p{max-width:800px;line-height:1.7}.cms-wa{position:fixed;right:26px;bottom:27px;z-index:80;display:flex;align-items:center;gap:12px;background:#172d33;color:#fff!important;border:1px solid #476067;border-radius:7px;padding:12px 18px 12px 13px;box-shadow:0 8px 30px #0b252b2a;font-size:12px;line-height:1.4}.cms-wa:hover{background:#223d44;border-color:#718b93}.cms-wa svg{width:25px;height:25px;fill:currentColor}.cms-wa small{display:block;font-size:9px;letter-spacing:.8px;color:#adc1c4}.cms-wa strong{font-weight:600}.cms-wa-mark{width:41px;height:41px;display:grid;place-items:center;border-radius:5px;background:#c60019}.cms-wa~.back-to-top,body:has(.cms-wa) .back-to-top{bottom:107px}.cms-section [hidden]{display:none!important}
@media(max-width:760px){.cms-section{padding:44px 0}.cms-split{grid-template-columns:1fr;gap:25px}.cms-cards,.cms-gallery{grid-template-columns:1fr}.cms-project-meta{grid-template-columns:1fr 1fr}.cms-page-hero{padding:50px 0 35px}.cms-wa{right:16px;bottom:18px;padding:9px;gap:0}.cms-wa>span:last-child{display:none}.cms-wa-mark{width:36px;height:36px}.cms-projects .portfolio-photo img{height:220px}.cms-search-dialog{padding:25px}}
@media(prefers-reduced-motion:reduce){.cms-wa{transition:none}}
