/* Complete the visual components already present in the templates. */
.home-editorial .brand{background:transparent;padding:0;border-radius:0;width:280px;height:106px}
.nav-wrap{min-height:116px}
.service-art,.service-icon{display:block;background-image:none;aspect-ratio:1}
.service-icon{width:56px;height:56px;flex:none}
.service-card>.service-art,.test-card>.service-art{width:100%;margin-bottom:20px}
.service-card h2,.test-card h2{overflow-wrap:break-word}
.detail-header{padding:65px 0;background:#eff4ef;color:#23443d}
.detail-header-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:64px;align-items:center}
.detail-heading h1{font-size:52px;line-height:1.12;font-weight:400;overflow-wrap:break-word;margin:24px 0}
.detail-heading>p:not(.section-marker){max-width:510px;color:#4b6660}
.detail-heading .circle-link{border-color:#7c9890;margin-top:20px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;margin-bottom:42px}
.detail-visual{margin:0;min-width:0}.detail-visual figcaption{font-size:11px;color:#4b6660;text-align:right;margin-top:12px}
.slide-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.reference-section{padding:50px 0;background:#fff;overflow:hidden;border-bottom:1px solid #e0e7e0}
.reference-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.home-editorial .reference-heading h2{font-size:30px}
.reference-actions{display:flex;align-items:center;gap:20px;font-size:13px}
.reference-actions button{border:1px solid #8ea398;border-radius:50%;width:40px;height:40px;background:transparent;cursor:pointer}
.reference-window{overflow:auto;scrollbar-width:thin}
.reference-track{display:flex;width:max-content}.reference-group{display:flex;align-items:center;gap:50px;padding:0 25px}
.reference-group img,.reference-group .reference-wordmark{width:170px;height:90px;object-fit:contain}.reference-group .reference-wordmark{display:grid;place-items:center;flex:0 0 170px;padding:12px;text-align:center;color:#244e5e;background:#fff;font-size:15px;font-weight:700;line-height:1.25}.reference-group[aria-hidden]{display:none}
.social-dock{position:fixed;right:16px;bottom:92px;z-index:45;display:flex;flex-direction:column;gap:10px}
.social-dock>a{position:relative;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#fff;border:1px solid #c8d8d3;box-shadow:0 3px 12px #203a3620;color:#245d50}
.social-dock>a>span{position:absolute;right:54px;white-space:nowrap;background:#213f37;color:#fff;font-size:12px;padding:6px 12px;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .2s}
.social-dock>a:hover>span,.social-dock>a:focus-visible>span{opacity:1}
/* A pale illustrated footer with the original, transparent brand asset. */
.illustrated-footer{position:relative;isolation:isolate;overflow:hidden;background:#f1f5f0;color:#24463e;padding:0}
.illustrated-footer::before{content:'';position:absolute;inset:0 0 auto;height:520px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#7a9b8914 calc(25% - 1px),#7a9b8914 25%);pointer-events:none;z-index:-1}
.footer-content{position:relative;padding-top:72px;padding-bottom:335px}
.footer-invitation{display:flex;justify-content:space-between;align-items:center;gap:36px;padding-bottom:48px;border-bottom:1px solid #a9bfb17a}
.footer-eyebrow{font-size:11px;font-weight:600;color:#486453;margin:0 0 22px}
.illustrated-footer .footer-invitation h2{font-size:58px;line-height:1.1;font-weight:350;margin:0;color:#24463e}
.footer-invitation h2 em{color:#386b66}
.footer-contact-link{display:inline-flex;align-items:center;gap:30px;border:1px solid #829c8c;padding:12px 12px 12px 25px;border-radius:50px;font-size:14px;flex-shrink:0;transition:background .2s,border-color .2s}
.footer-contact-link svg{width:44px;height:44px;padding:10px;background:#d4e4d1;border-radius:50%;transition:transform .25s}
.footer-contact-link:hover{background:#e1ece0;border-color:#376754}.footer-contact-link:hover svg{transform:rotate(45deg)}
.footer-directory{display:grid;grid-template-columns:minmax(240px,1.25fr) minmax(120px,.65fr) minmax(180px,.85fr) minmax(220px,1fr);gap:36px;padding-top:46px}
.footer-directory>nav,.footer-reach{display:flex;flex-direction:column;align-items:flex-start;gap:11px;min-width:0}
.footer-directory h3{font-size:13px;font-weight:650;margin:10px 0 13px;color:#24463e}
.footer-directory a{font-size:13px;line-height:1.5;transition:color .2s}
.footer-directory nav a:hover,.footer-reach>a:hover,.footer-socials a:hover{color:#006f89;text-decoration:underline;text-underline-offset:5px}
.footer-identity>a{display:block;width:290px;max-width:100%}
.illustrated-footer .footer-identity img{display:block;width:100%;height:auto;background:transparent;padding:0;border:0;border-radius:0;box-shadow:none}
.footer-identity>p{font-size:14px;line-height:1.7;margin:18px 0;color:#476252}
.footer-socials{display:flex;flex-wrap:wrap;gap:20px;margin-top:24px}.footer-socials a{font-size:12px}.footer-socials span{margin-left:5px}
.footer-reach .footer-phone{font-size:23px;font-weight:500;white-space:nowrap;color:#24463e}
.footer-reach address{font-style:normal;font-size:13px;line-height:1.8;max-width:270px;margin-top:7px;color:#476252}
.footer-address-link{margin-top:6px;border-bottom:1px solid #94aa99;padding-bottom:4px}
.footer-art{position:absolute;bottom:46px;left:0;width:100%;display:block;z-index:-1;pointer-events:none}
.footer-art img{width:100%;height:auto;display:block;max-height:660px;object-fit:cover;object-position:bottom}
.footer-art::after{content:'';position:absolute;inset:0 0 auto;height:43%;background:linear-gradient(#f1f5f0 0%,#f1f5f0eb 40%,transparent 100%);pointer-events:none}
.footer-legal{position:relative;background:#ebf0e9;border-top:1px solid #a9bfb166}
.footer-legal>div{display:flex;gap:26px;align-items:center;min-height:60px;padding-block:16px;font-size:11px;color:#425d50}
.footer-legal>div>span{margin-right:auto}.back-to-top{display:inline-flex;gap:12px;align-items:center}.back-to-top span{font-size:18px}
@media(min-width:1700px){.footer-content{padding-bottom:410px}}
@media(max-width:1100px){.footer-directory{grid-template-columns:1fr 1fr;gap:40px}.footer-content{padding-bottom:300px}.footer-art img{min-height:390px;object-fit:cover}.detail-header-grid{gap:30px}.detail-heading h1{font-size:42px}.home-editorial .brand{width:245px;height:92px}.nav-wrap{min-height:104px}.nav{top:104px}.home-editorial .nav.open{color:#24463e}}
@media(max-width:640px){.home-editorial .brand{width:220px;height:83px}.nav-wrap{min-height:100px}.nav{top:100px}.footer-content{padding-top:46px;padding-bottom:250px}.footer-invitation{align-items:flex-start;flex-direction:column;gap:26px;padding-bottom:32px}.illustrated-footer .footer-invitation h2{font-size:39px}.footer-directory{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px 18px;padding-top:32px}.footer-identity,.footer-reach{grid-column:1/-1}.footer-identity>a{width:285px}.footer-directory h3{font-size:12px}.footer-directory a{font-size:12px}.footer-reach .footer-phone{font-size:25px}.footer-reach address{max-width:330px}.footer-legal>div{flex-wrap:wrap;gap:10px 18px;padding-block:18px}.footer-legal>div>span{flex-basis:100%}.footer-legal .back-to-top{margin-left:auto}.footer-art{bottom:91px}.footer-art img{height:285px;min-height:0;max-width:none;object-fit:cover;object-position:60% bottom}.footer-art::after{height:30%}.footer-contact-link{font-size:13px}.social-dock{right:10px;bottom:16px;gap:7px}.social-dock>a{width:38px;height:38px}.social-dock img{width:24px;height:24px}.detail-header{padding:38px 0}.detail-header-grid{grid-template-columns:1fr}.detail-heading h1{font-size:36px}.detail-visual{max-width:360px;width:100%;margin:auto}.reference-heading{align-items:flex-start}.reference-actions>a{display:none}.home-editorial .reference-heading h2{font-size:26px}.slide-tabs{gap:8px}.slide-controls{gap:5px}.slide-counter{margin-right:3px}.breadcrumbs{margin-bottom:26px}}
@media(prefers-reduced-motion:reduce){.footer-contact-link,.footer-contact-link svg{transition:none}}
.slide-tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.slide-tabs button{line-height:1.35}
@media(max-width:980px){.slide-tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}}
