/* Shared editorial system; final layer after each page's functional styles. */
/* Persistent contact header and four-column KUCI footer. */
html body.site-coherent header[data-contact-header]{position:sticky;top:0;height:86px;background:#fffdfb;z-index:100;border-bottom:1px solid #e4dddf}
html body.site-coherent header[data-contact-header] .ks-header-inner{max-width:1760px;padding:0 32px;gap:20px}
html body.site-coherent header[data-contact-header] #ks-navigation{gap:14px;}
html body.site-coherent header[data-contact-header] .ks-header-actions{gap:12px;margin-left:auto;flex-shrink:0}
html body.site-coherent header[data-contact-header] .ks-header-actions>.ks-button{padding:12px 18px;min-height:44px}
.site-coherent .cc-header-contact{display:flex;align-items:center;gap:18px;padding-left:16px;border-left:1px solid #e4dddf}
.site-coherent .cc-contact-link{display:flex;align-items:center;gap:9px;text-decoration:none;white-space:nowrap;color:#40343b;}
.site-coherent .cc-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid #eadbe3;background:#f7eef3;border-radius:3px}
.site-coherent .cc-icon img{display:block;width:19px;height:19px;opacity:1}
.site-coherent .cc-contact-link:hover{color:#a21f6b;text-decoration:underline;text-underline-offset:4px}
.site-coherent .cc-contact-link:focus-visible{outline:2px solid #a21f6b;outline-offset:4px}
html body.site-coherent footer.cc-footer{background:#282228;color:#e7dfe4;margin:0;padding:64px 0 0;text-align:left;border:0}
.site-coherent .cc-footer *{box-sizing:border-box}
.site-coherent .cc-footer-grid{width:min(1320px,calc(100% - 88px));margin:auto;display:grid;grid-template-columns:1.08fr .82fr 1fr 1.18fr;gap:44px}
.site-coherent .cc-footer-brand{border-right:1px solid #51404b;padding-right:34px}
html body.site-coherent .cc-footer .kuci-logo{background:transparent;padding:0;margin:0;filter:none;border-radius:0}
html body.site-coherent .cc-footer .kuci-logo .kuci-logo-symbol{height:50px!important}
html body.site-coherent .cc-footer .kuci-logo .kuci-logo-wordmark{height:33px!important}
html body.site-coherent .cc-footer h2{color:#edb9d3;margin:0 0 26px}
.site-coherent .cc-footer .cc-footer-tagline{color:#fff8fc;margin:25px 0 16px;max-width:250px}
.site-coherent .cc-footer .cc-footer-description{color:#c6bbc3;margin:0 0 24px;max-width:255px}
html body.site-coherent .cc-footer .ks-social{display:flex;justify-content:flex-start;gap:10px;margin:0;flex-wrap:wrap}
html body.site-coherent .cc-footer .ks-social a{display:grid;place-items:center;width:38px;height:38px;border:1px solid #63505d;border-radius:50%;background:transparent}
html body.site-coherent .cc-footer .ks-social img{width:17px;height:17px;filter:brightness(0) invert(1)}
html body.site-coherent .cc-footer .ks-social a:hover{background:#a21f6b;border-color:#a21f6b}
html body.site-coherent .cc-footer-nav>a{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:39px;margin:0;color:#e7dfe4;text-decoration:none;}
.site-coherent .cc-footer-nav>a img{width:12px;height:12px;flex:none;filter:brightness(0) invert(1);opacity:.55}
html body.site-coherent .cc-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
.site-coherent .cc-footer-contact{border-left:1px solid #51404b;padding-left:34px;min-width:0}
.site-coherent .cc-footer-direct{display:grid;gap:12px;padding:0 0 23px;border-bottom:1px solid #51404b}
html body.site-coherent .cc-footer .cc-contact-link{color:#fff5fa;white-space:normal;overflow-wrap:anywhere}
.site-coherent .cc-footer .cc-icon{background:#3b2e38;border-color:#63505d}
.site-coherent .cc-footer .cc-icon img{filter:brightness(0) invert(1);opacity:.9}
.site-coherent .cc-footer .cc-location-label{color:#edb9d3;margin:23px 0 12px}
.site-coherent .cc-footer address{color:#c6bbc3;margin:0}
html body.site-coherent .cc-footer .cc-footer-quote{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#a21f6b;color:white;padding:15px 18px;min-height:48px;border-radius:2px;margin-top:24px;text-decoration:none}
.site-coherent .cc-footer-quote img{filter:brightness(0) invert(1)}
html body.site-coherent .cc-footer .cc-footer-quote:hover{background:#bb2b7f}
.site-coherent .cc-footer a:focus-visible{outline:2px solid #edb9d3;outline-offset:5px}
.site-coherent .cc-footer-bottom{width:min(1320px,calc(100% - 88px));margin:46px auto 0;border-top:1px solid #51404b;padding:23px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#bfb1ba}
.site-coherent .cc-footer-bottom small{}
html body.site-coherent .cc-footer-bottom a{color:#d6c8d1;text-decoration:none}
@media(max-width:1380px){
 html body.site-coherent header[data-contact-header] #ks-navigation{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:20px;background:#fffdfb;color:#302a2d;max-height:calc(100dvh - 130px);overflow:auto;align-items:stretch;border-bottom:1px solid #e4dddf}
 html body.site-coherent header[data-contact-header] #ks-navigation.is-open{display:flex;flex-direction:column;gap:8px}
 html body.site-coherent header[data-contact-header] .ks-menu{display:grid}
 .site-coherent .cc-footer-grid{gap:28px;grid-template-columns:1fr .8fr 1fr 1.15fr}
 .site-coherent .cc-footer-brand{padding-right:24px}.site-coherent .cc-footer-contact{padding-left:24px}
}
@media(max-width:1000px){
 .site-coherent .cc-footer-grid{grid-template-columns:1fr 1fr;gap:40px 48px}
 .site-coherent .cc-footer-brand,.site-coherent .cc-footer-contact{border:0;padding:0}
 .site-coherent .cc-footer-brand{grid-column:1}.site-coherent .cc-footer-contact{grid-column:2;grid-row:1}
 .site-coherent .cc-footer-bottom>span{display:none}
}
@media(max-width:850px){
 html body.site-coherent header[data-contact-header]{height:auto;min-height:112px}
 html body.site-coherent header[data-contact-header] .ks-header-inner{display:flex;flex-wrap:wrap;padding:12px 18px 8px;gap:0 8px}
 html body.site-coherent header[data-contact-header] .ks-header-actions{display:contents}
 html body.site-coherent header[data-contact-header] .ks-brand{margin-right:auto}
 html body.site-coherent header[data-contact-header] .ks-header-actions>.ks-button{padding:10px 14px;min-height:40px}
 .site-coherent .cc-header-contact{order:10;flex:1 0 100%;justify-content:space-between;flex-wrap:wrap;border-left:0;border-top:1px solid #ece4e9;margin-top:10px;padding:8px 0 0;gap:6px 16px}
 .site-coherent .cc-header-contact .cc-contact-link{gap:7px;min-height:34px}
 .site-coherent .cc-header-contact .cc-icon{width:28px;height:28px}.site-coherent .cc-header-contact .cc-icon img{width:17px;height:17px}
 html body.site-coherent footer.cc-footer{padding-top:40px}
 .site-coherent .cc-footer-grid{width:calc(100% - 40px);gap:34px 24px;grid-template-columns:1fr 1fr}
 .site-coherent .cc-footer-brand{grid-column:1/-1;border-bottom:1px solid #51404b;padding-bottom:30px}
 .site-coherent .cc-footer .cc-footer-description{max-width:440px}.site-coherent .cc-footer .cc-footer-tagline{max-width:none;}
 .site-coherent .cc-footer-contact{grid-column:1/-1;grid-row:auto;border-top:1px solid #51404b;padding-top:30px}
 html body.site-coherent .cc-footer h2{margin-bottom:18px}
 html body.site-coherent .cc-footer-nav>a{min-height:42px;gap:6px}
 .site-coherent .cc-footer-bottom{width:calc(100% - 40px);margin-top:32px;padding:20px 0 28px;flex-wrap:wrap;gap:10px 20px}
}
@media(max-width:370px){.site-coherent .cc-header-contact{justify-content:flex-start}}
html body.site-coherent footer.cc-footer h2{text-align:left}
html body.site-coherent footer.cc-footer .cc-footer-tagline{color:#fff8fc}
html body.site-coherent footer.cc-footer .cc-footer-description,
html body.site-coherent footer.cc-footer address{color:#c6bbc3}
html body.site-coherent footer.cc-footer .cc-location-label{color:#edb9d3}
html body.site-coherent footer.cc-footer .cc-footer-bottom small{color:#bfb1ba}
html body.site-coherent footer.cc-footer .cc-footer-bottom{padding-right:70px}
body.site-coherent{--sp-paper:#f7f4f1;--sp-ink:#302a2d;--sp-muted:#70676c;--sp-line:#e4dddf;--sp-brand:#a21f6b}
.site-coherent>.ks-utility{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:36px;padding:10px max(44px,calc((100% - 1320px)/2));}
.site-coherent .sp-utility-contact{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px 26px}
.site-coherent .sp-utility-contact a{white-space:nowrap;text-decoration:none}
.site-coherent .sp-utility-contact [data-utility-phone]{color:var(--sp-brand);font-variant-numeric:tabular-nums}
.site-coherent .sp-utility-contact a:focus-visible{outline:2px solid var(--sp-brand);outline-offset:4px}
@media(max-width:800px){.site-coherent>.ks-utility{padding:8px 20px;gap:6px 16px;flex-wrap:wrap;}.site-coherent .sp-utility-contact{gap:8px 14px}}
.site-coherent main{color:var(--sp-ink);}
.site-coherent main:not(.home-refresh):not(.pd):not(.pc) :is(h1,h2){}
.site-coherent main:not(.home-refresh):not(.pd):not(.pc) h1{}
.site-coherent main:not(.home-refresh):not(.pd):not(.pc) h2{}
.site-coherent main:not(.home-refresh):not(.pd):not(.pc) h3{}
.site-coherent main :is(.cb-wrap,.dw-wrap,.tile-wrap,.dm-wrap,.fc-wrap,.sz-wrap,.fl-wrap,.lt-wrap,.mh-wrap,.sf-wrap,.os-wrap,.lg-wrap,.cg-wrap,.su-wrap,.cr-wrap,.v11-wrap){width:min(1320px,calc(100% - 88px));margin-inline:auto}
.site-coherent main :is(.cb-section,.dw-section,.tile-section,.dm-section,.fc-section,.sz-section,.fl-section,.lt-section,.mh-section,.sf-section,.os-section,.lg-section,.su-section,.cr-section,.y-section,.gm-section){padding-top:64px;padding-bottom:64px}
.site-coherent main :is(.cb-kicker,.dw-kicker,.tile-kicker,.sf-eyebrow,.os-kicker,.lg-kicker,.mh-kicker,.fl-kicker,.lt-kicker){color:#8d2c60;}
.site-coherent main :is(.cb-soft,.dw-soft,.sf-tint,.os-band,.os-process-band,.su-tint,.y-soft){background:var(--sp-paper)}
.site-coherent main :is(.cb-button,.dw-button,.tile-button,.dm-button,.fc-button,.sf-button,.os-button,.lg-button,.su-button,.cr-button,.fl-button,.lt-button,.sz-button,.mh-button,.wh-button){box-shadow:none;border-radius:2px;background:#a21f6b;border-color:#a21f6b;color:#fff}
.site-coherent main :is(.cb-button,.dw-button,.tile-button,.dm-button,.fc-button,.sf-button,.os-button,.lg-button,.su-button,.cr-button,.fl-button,.lt-button,.sz-button,.mh-button,.wh-button):hover{background:#851956;border-color:#851956;color:#fff}
.site-coherent main :is(.cb-crumb,.dw-breadcrumb,.tile-crumb,.sp-breadcrumb,.v11-breadcrumb){color:var(--sp-muted)}
.site-coherent main :is(.cb-jump,.dw-jump,.os-jump,.lg-jump){position:static;border-top:1px solid var(--sp-line);border-bottom:1px solid var(--sp-line)}
.site-coherent main :is(.cb-jump,.dw-jump,.os-jump,.lg-jump) a{}
.site-coherent .sp-breadcrumb{width:min(1320px,calc(100% - 88px));margin:0 auto;padding:22px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.site-coherent .sp-breadcrumb a{color:inherit;text-decoration:none}
.site-coherent .sp-breadcrumb a:hover{text-decoration:underline}
.site-coherent .sp-family{width:min(1320px,calc(100% - 88px));margin:20px auto 0;padding:13px 0;border-top:1px solid var(--sp-line);border-bottom:1px solid var(--sp-line);display:flex;align-items:center;gap:28px;min-width:0}
.site-coherent .sp-family>span{color:#8d2c60;flex:none}
.site-coherent .sp-family>div{display:flex;gap:24px;overflow:auto;min-width:0;scrollbar-width:thin}
.site-coherent .sp-family a{color:#70676c;text-decoration:none;white-space:nowrap;padding:5px 0}
.site-coherent .sp-family a[aria-current=page]{color:#a21f6b;border-bottom:1px solid #a21f6b}
.site-coherent .sp-family a:hover{color:#a21f6b}
.site-coherent .cb-hero{display:grid;grid-template-columns:.72fr 1.28fr;gap:10px 48px;align-items:center;padding-top:38px}
.site-coherent .cb-hero-copy{display:block;grid-column:1;grid-row:1/3;padding:0}
.site-coherent .cb-hero-copy>div+div{margin-top:24px}
.site-coherent .cb-hero-copy p{}
.site-coherent .cb-hero-image{grid-column:2;grid-row:1;height:auto;aspect-ratio:1.65}
.site-coherent .cb-caption{grid-column:2;padding:0 0 24px}
.site-coherent .cb-jump{margin-top:16px}
.site-coherent .cb-cards:has(>.cb-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.site-coherent .cb-card figure{aspect-ratio:1.6}
.site-coherent .cb-planning-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-bottom:0}
.site-coherent .cb-image-button{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.site-coherent .cb-image-button>span{position:absolute;right:12px;bottom:12px;padding:5px 10px;background:#fffE;}
.site-coherent .sp-directory-hero{background:var(--sp-paper);padding:52px 0 48px}
.site-coherent .sp-directory-inner{width:min(1320px,calc(100% - 88px));margin:auto;display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:end}
.site-coherent .sp-directory-hero h1{margin:0;max-width:670px}
.site-coherent .sp-eyebrow{color:#8d2c60;margin:0 0 18px}
.site-coherent .sp-directory-copy p{color:var(--sp-muted);margin:0 0 22px}
.site-coherent .sp-directory-copy a{color:#8d2c60;text-decoration:none;border-bottom:1px solid #c9a9ba;padding-bottom:6px}
.site-coherent .sp-team-roles{margin-top:35px;border-top:1px solid var(--sp-line);padding-top:25px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.site-coherent .sp-team-roles h3{margin:0 0 10px}
.site-coherent .sp-team-roles p{color:var(--sp-muted)}
.site-coherent :is(.sp-family,.sp-directory-copy,.sp-breadcrumb) a:focus-visible{outline:3px solid #a21f6b;outline-offset:4px}
@media(max-width:1100px){
 .site-coherent main :is(.cb-wrap,.dw-wrap,.tile-wrap,.dm-wrap,.fc-wrap,.sz-wrap,.fl-wrap,.lt-wrap,.mh-wrap,.sf-wrap,.os-wrap,.lg-wrap,.cg-wrap,.su-wrap,.cr-wrap,.v11-wrap),.site-coherent :is(.sp-breadcrumb,.sp-family,.sp-directory-inner){width:calc(100% - 48px)}
 .site-coherent .cb-hero{gap:10px 30px;grid-template-columns:.85fr 1.15fr}
 .site-coherent .cb-hero-image{aspect-ratio:1.35}
 .site-coherent .sp-directory-inner{gap:35px}
}
@media(max-width:760px){
 .site-coherent main :is(.cb-wrap,.dw-wrap,.tile-wrap,.dm-wrap,.fc-wrap,.sz-wrap,.fl-wrap,.lt-wrap,.mh-wrap,.sf-wrap,.os-wrap,.lg-wrap,.cg-wrap,.su-wrap,.cr-wrap,.v11-wrap),.site-coherent :is(.sp-breadcrumb,.sp-family,.sp-directory-inner){width:calc(100% - 36px)}
 .site-coherent main:not(.home-refresh):not(.pd):not(.pc) h1{}.site-coherent main:not(.home-refresh):not(.pd):not(.pc) h2{}
 .site-coherent main :is(.cb-section,.dw-section,.tile-section,.dm-section,.fc-section,.sz-section,.fl-section,.lt-section,.mh-section,.sf-section,.os-section,.lg-section,.su-section,.cr-section,.y-section,.gm-section){padding-top:44px;padding-bottom:44px}
 .site-coherent .sp-family{display:block;margin-top:14px;padding:10px 0}.site-coherent .sp-family>span{display:block;margin-bottom:5px;}.site-coherent .sp-family>div{gap:22px}.site-coherent .sp-family a{min-height:36px;padding:8px 0;}
 .site-coherent .cb-hero{display:block;padding-top:28px}.site-coherent .cb-hero-copy{padding-bottom:25px}.site-coherent .cb-hero-image{height:auto;aspect-ratio:1.6}.site-coherent .cb-caption{padding-top:10px}
 .site-coherent .cb-planning-list,.site-coherent .sp-team-roles{grid-template-columns:1fr;gap:12px}
 .site-coherent .cb-cards:has(>.cb-card:nth-child(2):last-child){grid-template-columns:1fr}
 .site-coherent .sp-directory-hero{padding:35px 0}.site-coherent .sp-directory-inner{grid-template-columns:1fr;gap:24px}.site-coherent .sp-directory-copy p{}
}
