.banner{position:relative;display:flex;align-items:flex-end;overflow:hidden;background:var(--paper);isolation:isolate}.banner-md{min-height:56vh}.banner-lg,.banner-full{min-height:clamp(520px,72vh,820px);min-height:clamp(520px,72svh,820px)}.banner-media{position:absolute;inset:0;z-index:-1;overflow:hidden}.banner-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:var(--focus, 50% 50%);object-position:var(--focus, 50% 50%);will-change:transform,opacity}.banner-plain{background:var(--paper)}.banner-media:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,#0000008f,#00000038 48%,#0000001a),linear-gradient(180deg,rgba(0,0,0,.28) 0%,transparent 42%,rgba(0,0,0,.4) 100%)}.banner-watermark{position:absolute;z-index:1;inset:50% 0 auto;display:flex;justify-content:space-between;padding:0 clamp(12px,2vw,42px);transform:translateY(-50%);color:#fff3;font-family:Inter Variable,Inter,sans-serif;font-size:clamp(72px,17vw,260px);font-weight:500;line-height:.82;letter-spacing:-.035em;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.banner-plain .banner-watermark{color:#0759c71f}.banner-tone-ai .banner-media:before{content:"";position:absolute;inset:0;z-index:1;background-image:repeating-linear-gradient(0deg,rgba(120,190,255,.07) 0 1px,transparent 1px 56px),repeating-linear-gradient(90deg,rgba(120,190,255,.07) 0 1px,transparent 1px 56px),radial-gradient(120% 90% at 78% 18%,rgba(22,182,208,.24),transparent 62%)}.banner-tone-ai .banner-media:after{background:linear-gradient(100deg,#041022c7,#04102270 45%,#04102252),linear-gradient(180deg,#04102266,#04102200 42%,#030c1a99)}.banner-body{position:relative;z-index:2;width:100%;padding-bottom:clamp(38px,5vh,64px);padding-top:calc(var(--header-h) + 40px);color:#fff}.banner-plain .banner-body,.banner-plain .banner-title,.banner-plain .banner-slogan{color:var(--ink)}.banner-plain .banner-desc{color:var(--ink-soft)}.banner-title{font-family:var(--font-heading);font-size:clamp(40px,5.6vw,82px);font-weight:600;line-height:1.04;letter-spacing:-.035em;margin:0;color:#fff}.banner-slogan{font-size:clamp(19px,2.4vw,34px);font-weight:300;line-height:1.5;letter-spacing:.14em;margin:18px 0 0;color:#fffffff0}.banner-desc{font-size:clamp(14px,1.2vw,16px);line-height:1.9;margin:18px 0 0;max-width:520px;color:#ffffffbd}.has-motion .banner-media img{opacity:0;transform:scale(1.1);transition:opacity 1s var(--ease-out),transform 1.4s var(--ease-out)}.has-motion .banner.is-in .banner-media img{opacity:1;transform:scale(1)}.has-motion .banner-body>.container>*{opacity:0;transform:translateY(24px);transition:opacity .78s var(--ease-out),transform .78s var(--ease-out)}.has-motion .banner-watermark{opacity:0;transform:translateY(-42%) scale(.985);transition:opacity .9s var(--ease-out),transform 1.1s var(--ease-out)}.has-motion .banner.is-in .banner-watermark{opacity:1;transform:translateY(-50%) scale(1)}.has-motion .banner.is-in .banner-body>.container>*{opacity:1;transform:none}.has-motion .banner.is-in .eyebrow{transition-delay:.05s}.has-motion .banner.is-in .banner-title{transition-delay:.14s}.has-motion .banner.is-in .banner-slogan{transition-delay:.23s}.has-motion .banner.is-in .banner-desc{transition-delay:.31s}@media(max-width:1024px){.banner-md{min-height:48vh}.banner-lg,.banner-full{min-height:clamp(480px,68vh,700px);min-height:clamp(480px,68svh,700px)}}@media(max-width:760px){.banner-md{min-height:44vh}.banner-lg,.banner-full{min-height:clamp(420px,62vh,580px);min-height:clamp(420px,62svh,580px)}.banner-media img{-o-object-position:var(--focus-mobile, var(--focus, 50% 50%));object-position:var(--focus-mobile, var(--focus, 50% 50%))}.banner-body{padding-bottom:34px}.banner-title{font-size:clamp(30px,9vw,44px)}.banner-watermark{font-size:15.5vw;padding-inline:6px}.banner-slogan{font-size:15px;letter-spacing:.1em;margin-top:12px}.banner-desc{font-size:14px;margin-top:12px}}@media(prefers-reduced-motion:reduce){.banner-media img,.banner-watermark,.banner-body>.container>*{opacity:1!important;transform:none!important;transition:none!important}}.banner+.section,.banner+.section-tight,.banner+.company-profile{padding-top:clamp(68px,8vw,108px)}
