/* Separate, private visual sample. Brand colours and original layout retained. */
.hero-visual{flex-direction:column;min-width:0}
.brand-animation{position:relative;z-index:2;width:min(100%,540px);text-align:center;direction:ltr}
.globe-stage{position:relative;width:82%;aspect-ratio:280/237;margin:0 auto;filter:drop-shadow(0 20px 35px #0005)}
.globe-stage canvas,.globe-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.globe-stage canvas,.stationary-arrow{visibility:hidden}
.globe-stage.is-ready canvas,.globe-stage.is-ready .stationary-arrow{visibility:visible}
.globe-stage.is-ready .globe-fallback{visibility:hidden}
.stationary-arrow{z-index:2;pointer-events:none;transform:none!important;animation:none!important}
.animated-wordmark{margin-top:17px;color:#f8fafc}
.animated-wordmark strong{display:block;font-family:Arial,sans-serif;font-weight:700;font-size:clamp(3.4rem,5.9vw,5.6rem);line-height:1.04;letter-spacing:.13em;padding-left:.13em}
.animated-wordmark>span{display:block;font-size:clamp(.85rem,1.35vw,1.15rem);letter-spacing:.21em;line-height:1.5;margin-top:12px}
.animated-wordmark b{color:var(--gold);font-weight:500}
.motion-control{display:inline-flex;align-items:center;gap:10px;margin:27px auto 0;padding:9px 15px;border:1px solid #ffffff28;border-radius:999px;background:#06244180;font-size:.875rem;cursor:pointer;color:#c8d3df;transition:border-color .2s,color .2s}
.motion-control[hidden]{display:none}
.motion-control:hover{border-color:#e0a32390;color:white}
.motion-control:focus-visible,.zurich-link:focus-visible{outline:2px solid var(--gold-light);outline-offset:5px}
.motion-icon{width:16px;font-size:14px;text-align:center}
.hero-grid{padding-block:56px 54px}
.hero-title{line-height:1.03}
.hero-title em{line-height:1.06}
.service-tile{transition:background .3s,transform .3s}
.service-tile:hover{background:#ffffff06;transform:translateY(-4px)}
.zurich-section{background:#f4f7fa;color:#092b52;padding:0;overflow:hidden}
.zurich-grid{display:grid;grid-template-columns:1fr 1fr;min-height:640px;align-items:stretch}
.zurich-copy{padding:90px 65px 80px 0;align-self:center}
.zurich-copy .eyebrow{color:#4d6179;font-size:.875rem;letter-spacing:.13em}
.zurich-copy h2{font-family:var(--serif);font-size:clamp(2.75rem,4.3vw,4.6rem);font-weight:400;line-height:1.08;letter-spacing:-.035em;margin:0;max-width:600px;overflow-wrap:break-word}
.zurich-rule{width:60px;height:2px;background:#bb8f3f;margin:32px 0}
.zurich-copy>p:not(.eyebrow){color:#4b6078;font-size:1.0625rem;max-width:460px;line-height:1.8;margin:0}
.zurich-link{display:inline-flex;align-items:center;gap:35px;border-bottom:1px solid #b7c3cd;padding:10px 0;margin-top:28px;font-size:1rem;font-weight:600}
.zurich-link span:last-child{color:#a47525;font-size:1.4rem;transition:transform .25s}
.zurich-link:hover span:last-child{transform:translate(3px,-3px)}
.zurich-image{position:relative;margin:0;overflow:hidden;min-height:640px}
.zurich-image>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 43%;transform-origin:50% 40%;animation:zurich-pan 18s ease-in-out infinite alternate;will-change:transform}
@keyframes zurich-pan{from{transform:scale(1.045) translate(-.8%,.5%)}to{transform:scale(1.125) translate(1%,-.6%)}}
.zurich-image.photo-motion-paused>img,.zurich-image.photo-offscreen>img{animation-play-state:paused;will-change:auto}
.photo-motion-control{position:absolute;z-index:3;top:20px;right:20px;display:inline-flex;align-items:center;gap:9px;padding:10px 15px;border:1px solid #ffffff70;border-radius:999px;background:#031c36d9;color:#fff;font-size:.875rem;cursor:pointer;backdrop-filter:blur(8px)}
.photo-motion-control[hidden]{display:none}
.photo-motion-control:hover{background:#031c36;border-color:var(--gold-light)}
.photo-motion-control:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}
.zurich-image::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#02172eca);pointer-events:none}
.zurich-image figcaption{position:absolute;z-index:1;inset:auto 30px 26px;color:#fff;display:flex;flex-direction:column;gap:2px;font-size:1rem}
.zurich-image figcaption small{font-size:.8125rem;color:#dde4ed}
.js .reveal{transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.25,1)}
.js .hero-visual.reveal{transition-delay:.15s}
html[dir=rtl] .zurich-copy{padding:90px 0 80px 65px}
html[dir=rtl] .zurich-copy .eyebrow{flex-direction:row;justify-content:flex-start}
@media(min-width:1500px){.zurich-grid{min-height:720px}.zurich-image{min-height:720px}}
@media(max-width:980px){
  .hero-grid{gap:35px;padding-block:54px 48px}.brand-animation{width:min(82vw,500px)}.hero-visual{min-height:0}.animated-wordmark strong{font-size:4.75rem}
  .zurich-grid{min-height:530px}.zurich-copy,html[dir=rtl] .zurich-copy{padding:55px 30px 55px 0}.zurich-copy h2{font-size:2.85rem}.zurich-image{min-height:530px}
  html[dir=rtl] .zurich-copy{padding:55px 0 55px 30px}
}
@media(max-width:660px){
  .hero-title{font-size:clamp(2.75rem,12vw,4rem)}.hero-copy .eyebrow{font-size:.8125rem;letter-spacing:.1em}.hero-grid{padding-top:42px;gap:35px}
  .brand-animation{width:100%;max-width:410px}.globe-stage{width:82%}.animated-wordmark strong{font-size:3.8rem}.animated-wordmark>span{font-size:.875rem;letter-spacing:.17em}.motion-control{margin-top:20px}
  .zurich-grid{grid-template-columns:1fr;width:100%}.zurich-copy,html[dir=rtl] .zurich-copy{padding:55px 25px 48px}.zurich-copy h2{font-size:clamp(2.6rem,10.5vw,3.6rem)}.zurich-copy .eyebrow{font-size:.8125rem}.zurich-image{min-height:440px}.zurich-image>img{object-position:center 35%}.zurich-image figcaption{inset:auto 25px 25px}
}
@media(prefers-reduced-motion:reduce){.service-tile:hover,.zurich-image:hover>img{transform:none}.js .reveal{transition:none}.js .hero-visual.reveal{transition-delay:0s}}
/* Keep the original wordmark; animate only its separate globe layer. */
.logo-motion{position:relative;display:inline-block;width:318px;max-width:100%;direction:ltr;vertical-align:middle}
.logo-motion>picture{display:block}
.logo-motion>picture>img{width:100%;height:auto;margin:0}
.logo-motion.is-ready>picture{clip-path:inset(0 0 0 25.5%)}
.logo-motion .logo-globe{position:absolute;display:block;left:0;top:0;width:24.62%;height:100%;margin:0;filter:none}
.logo-motion .logo-globe img{width:100%;height:100%;margin:0}
.footer-brand .logo-motion{width:270px;margin-bottom:18px}
.globe-stage.page-globe{display:block;width:285px;margin:0;justify-self:end}
.globe-controls{padding-bottom:24px}
.globe-controls .motion-control{margin:0}
@media(max-width:1240px){.brand .logo-motion{width:276px}}
@media(max-width:980px){.brand .logo-motion{width:235px}.globe-stage.page-globe{width:200px}}
@media(max-width:660px){.brand .logo-motion{width:205px}.globe-stage.page-globe{display:none}}
