.visual-surface{position:relative;isolation:isolate;background:transparent}
.visual-surface::before,.visual-surface::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none}
.visual-surface::before{background-image:var(--surface-image,none);background-size:cover;background-position:center;opacity:var(--surface-image-opacity,1)}
.visual-surface::after{background:var(--surface-color,transparent);opacity:var(--surface-color-opacity,1)}
.section-surface.visual-surface>section,.page-surface.visual-surface>.page-intro,.page-surface.visual-surface>.section-surface:not(.visual-surface)>section{background:transparent}
.carousel-slide-surface.visual-surface>.carousel-slide{background:transparent}
.custom-text :is(h1,h2,h3,p,.prose,.eyebrow){color:var(--surface-text)}
.custom-text a:not(.btn):not(.partner-links a){color:var(--surface-text)}
.info-card:not(.custom-text),.content-card,.partner-card{--surface-text:var(--ink)}
.section-full-width>section>.container{max-width:none;padding-inline:clamp(24px,5vw,90px)}
.editorial-cards{display:flex;flex-wrap:wrap;gap:24px;--card-gap:24px;--card-span:4}
.editorial-card-slot{flex:1 1 calc((100% + var(--card-gap)) * var(--card-span) / 12 - var(--card-gap));min-width:0;max-width:100%;overflow-wrap:anywhere}
.cards-fixed-width>.editorial-card-slot{flex-grow:0}
.info-card.visual-surface{overflow:hidden}
.editorial-hero{position:relative;isolation:isolate;overflow:hidden}
.hero-image-background{background:#172b69;color:#fff;min-height:500px;display:flex;align-items:center}
.hero-background-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-image-background::before{content:"";position:absolute;inset:0;background:rgba(10,22,51,.72);z-index:-1}
.hero-image-background .lead{color:#fff}.hero-image-background .eyebrow{color:#ffce45}
.hero-copy{overflow-wrap:anywhere}
.site-icon{display:inline-block;width:24px;height:24px;flex:none;vertical-align:middle}
.floating-contact{display:flex;align-items:center;gap:10px}.floating-contact .site-icon{width:26px;height:26px}
.partners-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.partners-controls{display:flex;gap:8px;padding-top:8px}
.partners-controls button{width:44px;height:44px;border:1px solid #b6c1d4;border-radius:50%;background:#fff;color:#172b69;font-size:24px}
.partners-controls button:disabled{opacity:.35;cursor:default}
.partners-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 18px;scrollbar-width:thin;scrollbar-color:#2457ce #edf2fe}
.partner-card{flex:0 0 calc((100% - (var(--partner-columns,4) - 1) * 24px) / var(--partner-columns,4));min-width:160px;scroll-snap-align:start;border:1px solid #dce3f0;border-radius:20px;padding:20px;background:#fff;color:#172b69;overflow-wrap:anywhere}
.partner-logo{display:grid;place-items:center;aspect-ratio:2/1;margin-bottom:18px}
.partner-logo img{width:100%;height:100%;max-height:160px;object-fit:contain}.partner-logo span{font-size:1.25rem;font-weight:700;text-align:center}
.partner-name{display:flex;align-items:flex-start;gap:8px}.partner-name h3{font-size:1.15rem;margin:0 0 12px;flex:1}
.partner-card p{font-size:.92rem;color:#536079}
.partner-badge{border:0;background:transparent;color:#1879e8;display:grid;place-items:center;width:44px;height:44px;flex:none;padding:8px;margin:-10px -8px 0 0;border-radius:50%}
.partner-badge .site-icon{width:26px;height:26px}.partner-badge:hover{background:#edf5ff}
.partner-address{display:flex;align-items:flex-start;gap:8px}.partner-address .site-icon{width:18px;height:22px}
.partner-links{display:flex;flex-wrap:wrap;gap:4px;margin-top:12px}.partner-links a{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:#2457ce;background:#f1f5ff;text-decoration:none}
.partner-links a:hover{background:#e0eaff}
.partner-links a:focus-visible,.partner-badge:focus-visible,.partners-controls button:focus-visible,.partners-track:focus-visible{outline:3px solid #2457ce;outline-offset:3px}
@media(min-width:992px){.hero-image-left .hero-media{order:-1}}
@media(min-width:768px) and (max-width:991px){.editorial-card-slot{flex-basis:calc((100% - var(--card-gap))/2)}.partners-track{--partner-columns:2!important}}
@media(max-width:767px){.editorial-card-slot{flex-basis:100%}.partners-track{--partner-columns:1!important}.partner-card{flex-basis:85%;min-width:0}.partners-heading{gap:12px}.partners-controls{gap:4px}.hero-image-background{min-height:440px}}
.editorial-card-slot.card-full-width{flex-basis:100%}
