/* V1 composition, measured for V3. Scoped to the homepage. */
.welcome-home .hero{margin:0!important;padding:0!important;width:100%!important;max-width:none!important;min-height:760px;height:100svh}
.welcome-home .hero-stage{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;height:100svh;min-height:760px;border-radius:0 0 24px 24px;background:radial-gradient(ellipse at 50% 100%,#a8d8f5 0,#e3f2fc 58%,#f8fcff 95%)}
.welcome-home .hero-heading{top:17%;left:24px;right:24px}
.welcome-home .hero-eyebrow{font-size:12px!important;letter-spacing:.12em!important;margin-bottom:18px;color:#486272}
.welcome-home .hero h1{font-size:clamp(44px,5vw,72px)!important;font-weight:700;line-height:1.08;letter-spacing:-.055em}
.welcome-home .hero h1>span:last-child{font-size:.77em;margin-top:12px}
.welcome-home .hero h1 em{color:#075da8}
.welcome-home .hero-side{bottom:76px;width:210px}
.welcome-home .hero-side-left{left:max(24px,calc((100% - var(--layout-content,1200px))/2))}
.welcome-home .hero-side-right{right:max(24px,calc((100% - var(--layout-content,1200px))/2));font-size:15px;color:#36566c;line-height:1.65}
.welcome-home .hero-side-right p{font-size:15px!important;line-height:1.65!important}
.welcome-home .hero-side-left p{font-size:25px;font-weight:600;line-height:1.25}
.welcome-home .hero-side-left a{font-size:13px;line-height:1.5;gap:12px}
.welcome-home .hero-side-right .primary-button{font-size:13px!important;line-height:1.4;margin-top:22px;padding:15px 16px;width:100%;gap:12px}
.welcome-home .air-sign{width:50px;height:40px;margin-bottom:18px;stroke:#075da8}
.welcome-home .hero-media{width:46%;left:27%;top:47%;height:46%;border-radius:18px}
.welcome-home .hero-shot{object-fit:cover;object-position:50% 54%}
.welcome-home .hero-shot.work{object-position:42% 40%}
.welcome-home .hero-shot.business{object-position:50% 50%}
.welcome-home .hero-shade{background:linear-gradient(0deg,#062b45ed 0,#062b4520 95%)}
.welcome-home .hero-scene-copy{bottom:15%;max-width:780px;pointer-events:none}
.welcome-home .hero-scene-copy h2{font-size:clamp(34px,4.5vw,64px)!important;color:white;line-height:1.08}
.welcome-home .hero-scene-copy p{font-size:17px!important;line-height:1.65;color:#e5f2fa;margin-top:18px;max-width:45ch}
.welcome-home .hero-photo-credit{font-size:9px!important;line-height:1.5;left:20px;bottom:18px;max-width:80%;background:#0e5f97c9;padding:5px 8px;border-radius:3px}
.welcome-home .hero-scroll{font-size:10px;color:#36566c;letter-spacing:.1em;bottom:17px}
.welcome-home.motion-ready[data-motion="full"] .hero{height:185svh;min-height:1420px}
.welcome-home.motion-ready[data-motion="full"] .hero-stage{position:sticky;top:0}
.welcome-home .hero-scenes{display:none}
.company-portfolio{background:#0e5f97;color:#fff}
.company-portfolio .editorial-heading h2{color:#fff}
.company-portfolio .editorial-heading>.eyebrow{color:#a6dfff!important}
.company-portfolio .editorial-heading>p{color:#d2e5f2}
.company-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.company-portfolio-card{display:flex;flex-direction:column;border:1px solid #c8deeb;background:#fff;color:#12384e;border-radius:5px;overflow:hidden;min-width:0}
.company-portfolio-card>figure,.company-name-panel{height:190px;min-height:190px;margin:0}
.company-portfolio-card>figure img{width:100%;height:100%;object-fit:cover}
.company-portfolio-card>div:last-child{padding:24px;display:flex;flex:1;flex-direction:column;align-items:flex-start}
.company-portfolio-card .company-mark{height:48px;max-width:160px;object-fit:contain;object-position:left center;margin-bottom:20px;background:#fff;border-radius:3px;padding:5px 8px}
.company-portfolio-card h3{font-size:23px!important;color:#12384e;margin:0 0 14px}
.company-portfolio-card p{font-size:15px!important;color:#45657a;line-height:1.7;margin-bottom:24px}
.company-portfolio-card .editorial-link{font-size:14px;color:#08649f;margin-top:auto;white-space:normal;text-align:left}
.company-name-panel{padding:25px;background:#dcedf9;color:#123b55;display:flex;flex-direction:column;justify-content:space-between}
.company-name-panel>span{font-size:10px;letter-spacing:.12em;font-weight:650}
.company-name-panel strong{font-size:39px;line-height:1.08;letter-spacing:-.05em}
.company-name-panel em{color:#075da8}
.company-portfolio-card .company-mark-text{display:flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.06em;max-width:none;background:transparent;color:#b8ddf2;padding:0}
@media(min-width:901px) and (max-width:1150px){.welcome-home .hero-side{width:180px}.welcome-home .hero-side-left p{font-size:22px}.welcome-home .hero-side-right{font-size:14px}.welcome-home .hero-side-right .primary-button{font-size:12px!important}}
@media(max-width:900px){
 .welcome-home .hero,.welcome-home.motion-ready[data-motion="full"] .hero{height:auto;min-height:0}
 .welcome-home .hero-stage,.welcome-home.motion-ready[data-motion="full"] .hero-stage{position:relative;min-height:0;height:auto;padding:120px 24px 36px!important;display:grid;grid-template-columns:1fr 1fr;gap:24px;border-radius:0 0 20px 20px}
 .welcome-home .hero-heading{position:static;grid-column:1/-1;grid-row:1}
 .welcome-home .hero-eyebrow{font-size:10px!important;margin-bottom:16px}
 .welcome-home .hero h1{font-size:clamp(36px,6.2vw,54px)!important;max-width:none}
 .welcome-home .hero h1>span:first-child{max-width:none}
 .welcome-home .hero h1>span:last-child{font-size:.7em;line-height:1.2;margin-top:10px}
 .welcome-home .hero-media{position:relative;grid-column:1/-1;grid-row:2;left:0;top:0;width:100%;height:clamp(260px,50vw,410px);border-radius:12px}
 .welcome-home .hero-side{position:static;bottom:auto;width:auto;transform:none!important;opacity:1!important}
 .welcome-home .hero-side-left{grid-column:1;grid-row:3}
 .welcome-home .hero-side-right{grid-column:2;grid-row:3;font-size:14px;line-height:1.7}
 .welcome-home .hero-side-right p{font-size:14px!important;line-height:1.6!important}
 .welcome-home .hero-side-left p{font-size:22px;line-height:1.3}
 .welcome-home .hero-side-left a{font-size:13px;margin-top:16px}
 .welcome-home .air-sign{display:none}
 .welcome-home .hero-side-right .primary-button{font-size:13px!important;padding:12px 14px;white-space:normal;margin-top:16px}
 .welcome-home .hero-scroll{position:static;grid-column:1/-1;grid-row:4;font-size:10px;padding-top:2px}
 .welcome-home .hero-scene-copy{display:none}
 .welcome-home .hero-photo-credit{left:12px;bottom:13px;font-size:8px!important;max-width:calc(100% - 120px);padding:4px 6px}
 .welcome-home .hero-scenes{position:absolute;right:10px;bottom:12px;z-index:6;display:flex;gap:4px}
 .welcome-home .hero-scenes button{width:29px;height:32px;border:1px solid #ffffffb0;border-radius:4px;background:#0e5f97;color:#fff;font-size:10px;font-weight:650}
 .welcome-home .hero-scenes button[aria-pressed="true"]{background:#fff;color:#075da8}
 .welcome-home .hero-shot{transition:opacity .6s ease;object-position:42% 52%}
 .company-portfolio-grid{grid-template-columns:1fr;gap:24px}
 .company-portfolio-card>figure,.company-name-panel{height:215px;min-height:215px}
}
@media(max-width:600px){.welcome-home .hero-stage{padding-top:116px!important;gap:24px}.welcome-home .hero h1{font-size:42px!important}.welcome-home .hero h1>span:first-child{max-width:340px}.welcome-home .hero h1>span:last-child{font-size:.67em}.welcome-home .hero-side-left p{font-size:18px}.welcome-home .hero-side-left a{font-size:12px}.welcome-home .hero-side-right{font-size:13px}.welcome-home .hero-side-right .primary-button{font-size:12px!important;padding:12px}.welcome-home .hero-media{height:280px}.company-portfolio-card>div:last-child{padding:22px}}
@media(max-width:360px){.welcome-home .hero h1{font-size:37px!important}.welcome-home .hero-stage{padding-left:20px!important;padding-right:20px!important;column-gap:16px}.welcome-home .hero-side-left p{font-size:16px}.welcome-home .hero-side-left a{font-size:11px}.welcome-home .hero-side-right{font-size:12px}.welcome-home .hero-side-right .primary-button{font-size:11px!important;padding:11px 10px;gap:5px}.welcome-home .hero-media{height:255px}}
@media(max-width:360px){.welcome-home .hero-side-right p{font-size:13px!important}}
@media(prefers-reduced-motion:reduce){.welcome-home .hero-shot{transition:none!important}}
.welcome-home[data-motion="reduced"] .hero-shot{transition:none!important}
@media(min-width:901px) and (max-height:740px){body.welcome-home .hero,body.welcome-home .hero-stage{min-height:640px}}

/* The resting photo and side notes share one frame, including reduced motion. */
@media(min-width:1440px){.welcome-home .hero-media{width:min(46%,calc(var(--layout-content) - 484px));left:calc((100% - min(46%,calc(var(--layout-content) - 484px)))/2);top:clamp(40%,calc(28svh + 173px),47%)}.welcome-home .hero-side{bottom:calc(54% - clamp(40%,calc(28svh + 173px),47%))}}
