/* Shared landing footer. */
.feat-footer{width:100%;overflow:hidden;box-sizing:border-box;color:#151d35;background:#fafffd}
.feat-footer *,.feat-footer *::before,.feat-footer *::after{box-sizing:border-box}
.feat-footer .container{width:100%;max-width:1984px;margin-inline:auto;padding-inline:clamp(24px,2.75vw,55px)}
.feat-footer-main{position:relative;isolation:isolate;padding-block:clamp(56px,3.7vw,74px) 38px;border-top:1px solid #e0f2ea;background:radial-gradient(ellipse 36% 36% at -6% 1%,rgba(180,255,227,.46),transparent 77%),radial-gradient(ellipse 40% 53% at 109% 99%,rgba(171,251,221,.38),transparent 77%),linear-gradient(155deg,#fafffd 0%,#fbfffd 58%,#f0fff9 100%)}
.feat-footer-main::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.48;pointer-events:none;background-image:radial-gradient(circle,#96ead0 2.5px,transparent 3px);background-size:26px 29px;-webkit-mask-image:radial-gradient(ellipse 125px 160px at 0% 94%,#000 10%,transparent 100%),radial-gradient(ellipse 130px 155px at 97% 1%,#000 10%,transparent 100%),radial-gradient(ellipse 140px 110px at 86% 79%,#000 10%,transparent 100%);mask-image:radial-gradient(ellipse 125px 160px at 0% 94%,#000 10%,transparent 100%),radial-gradient(ellipse 130px 155px at 97% 1%,#000 10%,transparent 100%),radial-gradient(ellipse 140px 110px at 86% 79%,#000 10%,transparent 100%)}
.feat-footer-main::after{content:"";position:absolute;z-index:-1;right:-7%;bottom:-20%;width:42%;height:58%;border-radius:75% 0 0 0;background:linear-gradient(155deg,rgba(173,253,225,.08),rgba(161,249,216,.35));transform:rotate(-12deg);pointer-events:none}
.feat-footer-grid{display:grid;grid-template-columns:1.11fr 1fr .93fr 1.07fr;align-items:stretch}
.feat-footer-col{min-width:0;padding-inline:clamp(24px,3vw,60px)}
.feat-footer-col:first-child{padding-left:clamp(32px,5.55vw,110px)}
.feat-footer-col+.feat-footer-col{border-left:1px solid #d7e9ed}
.feat-footer-header{display:flex;align-items:center;gap:clamp(16px,1.35vw,27px);margin:0 0 18px;color:#111a32;font-size:clamp(1.06rem,1.18vw,1.43rem);font-weight:700;line-height:1.25;letter-spacing:-.025em;white-space:nowrap}
.feat-footer-header>span:last-child::after{content:"";display:block;width:31px;height:2px;margin-top:11px;background:#10b979}
.feat-footer-icon{display:grid;place-items:center;flex:none;width:clamp(48px,2.95vw,58px);height:clamp(48px,2.95vw,58px);color:#008c61;background:#d9fcf0;border-radius:15px}
.feat-footer-icon svg{width:29px;height:29px}
.feat-footer-links{display:grid;gap:4px;margin:0;padding:0 0 0 5px;list-style:none}
.feat-footer-link{display:inline-block;max-width:100%;padding:0;color:#525b79;font:inherit;font-size:clamp(.95rem,1.13vw,1.36rem);line-height:1.29;text-align:left;text-decoration:none;overflow-wrap:break-word;background:none;border:0;transition:color .2s ease}
.feat-footer-link[href]{cursor:pointer}
.feat-footer-link[href]:hover,.feat-footer-link[href]:focus-visible,.feat-footer-link[aria-current]{color:#147d58}
.feat-footer-link[aria-current]{font-weight:700}
.feat-footer-link[href]:focus-visible,.feat-legal-btn:focus-visible,.feat-social-box[href]:focus-visible{outline:2px solid #299b70;outline-offset:4px;border-radius:4px}
.feat-footer-unavailable{cursor:default}
.feat-footer-quick{margin-top:clamp(46px,3.2vw,64px);padding-top:26px;border-top:1px solid #cbdfe7}
.feat-footer-bottom{position:relative;background:#fafffd}
.feat-footer-sub-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:clamp(26px,3vw,60px);min-height:130px;padding-block:28px;border-top:1px solid #c9dce6;color:#5a6480;font-size:clamp(.86rem,1.08vw,1.28rem);line-height:1.4}
.feat-footer-copyright{margin:0}
.feat-footer-legal{display:flex;align-items:center;gap:clamp(13px,1.35vw,27px);white-space:nowrap}
.feat-footer-legal>span{color:#aabacc}
.feat-legal-btn{color:inherit;font:inherit;text-decoration:none;transition:color .2s ease}
.feat-legal-btn:hover,.feat-legal-btn[aria-current]{color:#147d58}
.feat-footer-socials{display:flex;align-items:center;justify-content:flex-end;gap:clamp(12px,1.4vw,28px)}
.feat-social-box{display:grid;place-items:center;flex:none;width:clamp(43px,2.7vw,53px);height:clamp(43px,2.7vw,53px);padding:0;color:#078d61;background:#ddfbf0;border:0;border-radius:13px;text-decoration:none;transition:background-color .2s ease,transform .2s ease}
.feat-social-box svg{width:25px;height:25px}
.feat-social-box[href]:hover{background:#c9f5e3;transform:translateY(-2px)}
.feat-social-unavailable{cursor:default}
@media(max-width:1199px){.feat-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:42px}.feat-footer-col:first-child{padding-left:clamp(24px,3vw,60px)}.feat-footer-col:nth-child(3){border-left:0}.feat-footer-col:nth-child(n+3){padding-top:36px;border-top:1px solid #d7e9ed}.feat-footer-header{white-space:normal}.feat-footer-link{font-size:1.05rem;line-height:1.4}.feat-footer-sub-bar{grid-template-columns:minmax(0,1fr) auto;row-gap:20px}.feat-footer-socials{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:680px){.feat-footer-main{padding-block:48px 42px}.feat-footer-main::after{display:none}.feat-footer-grid{grid-template-columns:minmax(0,1fr);row-gap:30px}.feat-footer-col,.feat-footer-col:first-child{padding-inline:4px}.feat-footer-col+.feat-footer-col{border-left:0;border-top:1px solid #d7e9ed;padding-top:30px}.feat-footer-header{gap:16px;margin-bottom:16px;font-size:1.18rem}.feat-footer-icon{width:48px;height:48px}.feat-footer-links{gap:5px}.feat-footer-link{font-size:1rem}.feat-footer-quick{margin-top:30px;padding-top:24px}.feat-footer-sub-bar{display:flex;align-items:flex-start;flex-direction:column;gap:20px;padding-block:30px;font-size:.92rem}.feat-footer-legal{flex-wrap:wrap;gap:8px 12px;white-space:normal}.feat-footer-socials{gap:14px}}
@media(prefers-reduced-motion:reduce){.feat-footer-link,.feat-social-box,.feat-legal-btn{transition:none}}

/* Four columns: identity, features, services/resources, company/products. */
.feat-footer-grid{grid-template-columns:1.15fr 1.05fr 1.1fr .85fr}
.feat-footer-col,.feat-footer-col:first-child{padding-inline:clamp(18px,2vw,38px)}
.feat-footer-header{white-space:normal;gap:14px}
.feat-footer-stack,.feat-footer-quick{margin-top:28px;padding-top:24px;border-top:1px solid #d7e9ed}
.footer-brand-col>a{display:inline-block;max-width:100%}
.feat-footer .footer-brand-col .dx-logo--wordmark{width:230px!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important}
.footer-brand-description,.footer-brand-name,.footer-brand-contact{font-size:1rem;line-height:1.65;color:#506580;overflow-wrap:anywhere}
.footer-brand-description{margin:22px 0 12px}
.footer-brand-tagline{font-family:'Instrument Serif',Georgia,serif;font-size:1.6rem;font-style:italic;line-height:1.4;color:#207658;margin:12px 0 20px}
.footer-brand-name{font-weight:600;margin:0 0 24px}
.footer-brand-contact{font-style:normal}
.footer-brand-contact strong{color:#193b2e}
.footer-brand-contact p{margin:12px 0}
.footer-brand-contact a{color:#215c49;text-decoration:none}
.footer-brand-contact a:hover{text-decoration:underline}
.footer-brand-col a:focus-visible{outline:2px solid #078d61;outline-offset:4px}
@media(max-width:1199px){.feat-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.feat-footer-grid{grid-template-columns:minmax(0,1fr)}.feat-footer-col,.feat-footer-col:first-child{padding-inline:4px}}

/* Compact spacing while retaining the four-column hierarchy. */
.feat-footer-main{padding-block:36px 28px}
.feat-footer-header{margin-bottom:12px}
.feat-footer-icon{width:44px;height:44px}
.feat-footer-links{gap:3px}
.feat-footer-link{font-size:1rem;line-height:1.5}
.feat-footer-stack,.feat-footer-quick{margin-top:20px;padding-top:18px}
.footer-brand-description{margin:18px 0 24px}
.footer-brand-contact strong{display:block;font-size:1.5rem;line-height:1.3;margin-bottom:14px}
.footer-brand-contact p{margin:10px 0}
.feat-footer-sub-bar{padding-block:24px}
@media(max-width:680px){.feat-footer-main{padding-block:30px 24px}.feat-footer-sub-bar{padding-block:22px}}

.footer-brand-intro>a{display:inline-block;max-width:100%;margin-top:20px}
.footer-brand-intro .footer-brand-description{margin-bottom:0}
.footer-brand-contact-separated{margin-top:36px;padding-top:26px;border-top:1px solid #d7e9ed}
.feat-footer .footer-brand-intro{padding-top:32px}
