/* V21: clear descenders, considered typography and tactile navigation. */
@font-face{font-family:VaultModern;src:url('/vault-sans-regular.woff') format('woff');font-weight:400 500;font-display:swap}
@font-face{font-family:VaultModern;src:url('/vault-sans-bold.woff') format('woff');font-weight:600 800;font-display:swap}
body[data-page] :is(h1,h2,h3){font-family:VaultModern,Vault,Arial,sans-serif;letter-spacing:-.045em;font-weight:600;font-kerning:normal}
body[data-page] :is(h1,h2) em{font-family:VaultModern,Vault,Arial,sans-serif;font-style:normal;font-weight:700;letter-spacing:-.045em}
body[data-page] h1{line-height:1.22;overflow:visible}
body[data-page] h2{line-height:1.22;overflow:visible}
body[data-page] h3{line-height:1.3}
body[data-page] .button{font-family:VaultModern,Vault,Arial,sans-serif;font-weight:600;letter-spacing:-.02em}
body[data-page] :is(.culture-type strong,.heritage-date>strong,.proof-band strong,.heritage-proof strong){font-family:VaultModern,Vault,Arial,sans-serif}
/* Paint gradients once, on the leaf containing the text. Extra paint space
   belongs to the letter itself, so descenders cannot be cut by a parent mask. */
body[data-page] h1:has(.word) em{background:none!important;background-clip:border-box!important;color:inherit!important;overflow:visible;padding:0}
body[data-page] h1 .word{vertical-align:baseline;line-height:1.22;padding:.035em .06em .22em;margin:-.035em -.06em -.22em;overflow:visible}
body[data-page] h1 em .word{background:var(--gradient)!important;background-clip:text!important;-webkit-background-clip:text!important;color:transparent!important}
body[data-page] h2 em{display:inline-block;max-width:100%;padding:.025em .03em .2em;margin:-.025em -.03em -.2em;overflow:visible;box-decoration-break:clone;-webkit-box-decoration-break:clone}
body[data-page] h2 em:has(.scroll-word){background:none!important;background-clip:border-box!important;color:inherit!important}
body[data-page] h2 em .scroll-word{display:inline-block;padding-bottom:.2em;margin-bottom:-.2em;background:var(--gradient)!important;background-clip:text!important;color:transparent!important}
body[data-page] .culture-type strong{line-height:1.35;padding-bottom:.16em;margin-bottom:-.16em}
body[data-page] .home-hero h1{font-size:clamp(57px,5.9vw,90px);letter-spacing:-.055em}
body[data-page] .section-heading h2{font-size:clamp(42px,4.9vw,70px)}
/* The main choices feel like buttons. Light rises through the surface on hover. */
@media(min-width:1181px){
 header{height:100px;gap:24px}
 #navigation{gap:7px}
 #navigation .nav-product{position:relative;isolation:isolate;overflow:hidden;font-family:VaultModern,Vault,sans-serif;font-size:16px;font-weight:600;line-height:1.4;min-height:54px;display:inline-flex;align-items:center;padding:14px 16px;color:#e6edf9;border:1px solid #bdd8f32b;border-radius:14px;background:#adc5e307;transition:color .3s,border-color .35s,box-shadow .4s,translate .4s}
 #navigation .nav-product:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,#77d5df,#a9b8ed 55%,#ba99e7);transform:translateY(110%);border-radius:50% 50% 0 0;transition:transform .5s cubic-bezier(.2,.75,.25,1),border-radius .5s}
 #navigation .nav-product:after{display:none}
 #navigation .nav-product:hover,#navigation .nav-product:focus-visible{color:#102039;border-color:#b7ddf29e;translate:0 -2px;box-shadow:0 8px 25px #79a8ce19}
 #navigation .nav-product:hover:before,#navigation .nav-product:focus-visible:before{transform:translateY(0);border-radius:0}
 #navigation .nav-product[aria-current]{border-color:#89cadd82;background:linear-gradient(115deg,#387e913a,#70548f38);color:#adf1f3}
 #navigation .nav-product[aria-current]:is(:hover,:focus-visible){color:#102039}
 #navigation .nav-company{font-size:15px;padding:15px 9px}
 #navigation .nav-claims{font-size:14px;min-height:50px;padding:13px 12px;margin-left:3px}
 #navigation .button{font-size:15px;min-height:54px;padding:14px 18px;gap:13px;border-radius:14px;margin-left:3px}
 #navigation .button:before{display:none}
 #navigation .button:hover svg{transform:translateX(5px) rotate(-35deg)}
 #navigation .button:hover{box-shadow:0 0 0 5px #9ab7e713,0 7px 30px #6ca6bf25;translate:0 -2px}
 .chapter-shell{top:100px}
}
@media(min-width:1101px) and (max-width:1180px){
 header{height:82px}.header-phone{display:block;margin-left:auto;font-size:15px;color:#b8e8e7}
 .menu-button{display:flex;align-items:center;gap:15px;border:1px solid #9ab5d241;background:#a9c9e207;color:#e5eff9;border-radius:100px;min-height:48px;padding:9px 17px;font-size:15px}
 #navigation{display:none;position:absolute;top:82px;left:0;right:0;max-height:calc(100svh - 92px);overflow-y:auto;background:#0d1828f5;border-bottom:1px solid var(--line);padding:20px 35px 27px}
 #navigation.open{display:flex;flex-direction:column;align-items:stretch;gap:0}
 #navigation>a:not(.button){padding:15px 0;font-size:18px;border-bottom:1px solid var(--line)}
 #navigation>.button{min-height:54px;font-size:17px;margin-top:18px}
 .chapter-shell{top:82px}
}
@media(max-width:1100px){
 .mobile-products{max-width:650px;gap:7px;padding:0 13px 13px}
 .mobile-products a{position:relative;overflow:hidden;font-family:VaultModern,Vault,sans-serif;font-size:15px;font-weight:600;min-height:46px;display:flex;align-items:center;justify-content:center;border-radius:11px;background:#adc5e30b;border-color:#bdd8f338;transition:background .3s,border-color .3s,scale .2s}
 .mobile-products a:active{scale:.96;background:#83b9d533}
 .mobile-products a[aria-current]{background:linear-gradient(115deg,#347c914f,#74599345);border-color:#8dc9dc80;color:#aff0f3}
 #navigation.open>a:not(.button){font-size:18px;min-height:54px}
 #navigation.open>.button{font-size:17px;min-height:56px}
}
@media(max-width:700px){
 body[data-page] .home-hero h1{font-size:clamp(37px,9.7vw,62px);line-height:1.23;letter-spacing:-.055em}
 body[data-page] .section-heading h2{font-size:clamp(33px,9.2vw,46px)}
 body[data-page] .closing h2{font-size:clamp(34px,9.4vw,48px)}
 body[data-page] .culture-type strong{font-size:42px}
 .mobile-products{gap:5px;padding:0 10px 12px}
 .mobile-products a{font-size:14px;min-height:44px;padding:8px 5px}
 .chapter-shell{top:133px}
 html{scroll-padding-top:205px}
}
@media(max-width:360px){.mobile-products{gap:4px;padding-inline:8px}.mobile-products a{font-size:12px;padding-inline:3px}body[data-page] .home-hero h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){#navigation .nav-product,#navigation .nav-product:before,#navigation .button,.mobile-products a{transition:none!important;translate:none!important}}
.motion-paused #navigation .nav-product,.motion-paused #navigation .nav-product:before,.motion-paused #navigation .button{transition:none!important;translate:none!important}
@media(max-width:360px){body[data-page] .service-content h3{font-size:50px;letter-spacing:-.045em}}

/* V22. Upright, open typography; movement lives in imagery and light. */
body[data-page] :is(h1,h2) em{font-synthesis:none}
.breathing-photo>img{animation:photo-breathe 24s ease-in-out infinite alternate;animation-play-state:paused;will-change:scale}
.breathing-photo.scene-visible>img{animation-play-state:running}
@keyframes photo-breathe{from{scale:1.045}to{scale:1.085}}
.cosmic-sculpture:before{content:'';position:absolute;inset:17%;z-index:2;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse at 25% 35%,#d9faff3c,transparent 37%),radial-gradient(ellipse at 70% 68%,#b393ee28,transparent 43%);mix-blend-mode:screen;filter:blur(13px);animation:heart-light-travel 12s ease-in-out infinite alternate}
@keyframes heart-light-travel{from{transform:translate3d(-6%,7%,0) rotate(-8deg);opacity:.3}to{transform:translate3d(6%,-7%,0) rotate(8deg);opacity:.85}}
.contact-card:after,.claims-concierge:after{background:radial-gradient(ellipse at var(--card-x,20%) var(--card-y,60%),#67cbd331,transparent 65%);transition:opacity .6s}
.advisory-deck,.career-invitation{isolation:isolate}
.career-invitation:after{background:radial-gradient(ellipse at var(--card-x,50%) var(--card-y,50%),#9b98e639,transparent 65%)}
.deck-tabs button{transition:background .4s,color .4s,box-shadow .4s,translate .3s}
.deck-tabs button:hover{translate:0 -2px;box-shadow:inset 0 0 0 1px #8ebdd939}
.plain-link svg,.service-action svg{transition:translate .45s cubic-bezier(.2,.8,.2,1)}
.plain-link:is(:hover,:focus-visible) svg,.image-service:is(:hover,:focus-visible) .service-action svg{translate:4px -2px}
.sound-control[aria-busy=true]{border-color:#b0a2dd}
.motion-paused .breathing-photo>img,.tab-hidden .breathing-photo>img,.motion-paused .cosmic-sculpture:before,.tab-hidden .cosmic-sculpture:before,.offscreen .cosmic-sculpture:before{animation-play-state:paused!important}
.motion-paused .deck-tabs button,.motion-paused .plain-link svg,.motion-paused .service-action svg{transition:none!important;translate:none!important}
@media(max-width:700px){.breathing-photo>img{animation-name:photo-breathe-mobile}@keyframes photo-breathe-mobile{from{scale:1.04}to{scale:1.065}}}
@media(prefers-reduced-motion:reduce){.breathing-photo>img,.cosmic-sculpture:before{animation:none!important}.breathing-photo>img{scale:1.04!important}.deck-tabs button,.plain-link svg,.service-action svg{transition:none!important;translate:none!important}}
