/* Homepage V12: one stable campaign stage and the illustrated support studio. */
.campaign-slides{display:grid;isolation:isolate;background:#fff}
.campaign-slide{grid-area:1/1;display:grid;grid-template-rows:auto 1fr;min-width:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .42s ease,visibility 0s .42s}
.campaign-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1;transition:opacity .42s ease,visibility 0s}
.campaign .campaign-art{width:100%;max-width:1600px;aspect-ratio:16/7;display:block;position:relative;overflow:hidden;margin:0 auto}
.campaign .campaign-art>img{display:block;width:100%;height:100%;object-fit:cover}
.campaign .campaign-caption{min-height:96px;height:100%;box-sizing:border-box}
.campaign .campaign-caption h2{white-space:nowrap}
.campaign .campaign-caption p{line-height:1.7}
.campaign .campaign-caption>a{display:flex;align-items:center;gap:24px}
.campaign .campaign-copy{left:5%;background:none;box-shadow:none;border:0}
.campaign-collection .campaign-copy{width:30%;left:5%}
.campaign-collection .campaign-copy h1{font-size:clamp(30px,3.3vw,50px);line-height:1.25;color:#223a2d}
.campaign-collection .campaign-copy p{max-width:27em}
.campaign-collection .campaign-copy .eyebrow{max-width:27em;line-height:1.8}
.campaign .campaign-art .scene-note{top:auto;bottom:12px;right:14px;max-width:calc(100% - 28px);font-size:10px;line-height:1.5;padding:4px 8px;white-space:nowrap}
.campaign-controls{position:relative;background:#fff;min-height:76px;align-items:center}
.campaign-dots{flex:1;justify-content:space-between;gap:6px}
.campaign .campaign-dots button{gap:9px}
.campaign .campaign-dots button>span{width:22px}
.campaign .campaign-arrows{flex-shrink:0}
.campaign-announcement{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.team-advantage{background:#faf8f3;padding:64px 0 66px;border-bottom:1px solid #ece7de;position:relative}
.team-advantage>.wrap{display:block}
.team-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:32px}
.team-heading .eyebrow{font-size:10px;color:var(--red);margin:0 0 14px;letter-spacing:.2em}
.team-heading h2{font-size:clamp(27px,2.7vw,39px);line-height:1.4;letter-spacing:-.035em;margin:0;color:#252c2e}
.team-heading h2>span{display:inline-block}
.team-heading>p{font-size:14px;line-height:1.9;max-width:340px;margin:0 0 5px;color:#69716e}
.team-capabilities{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.team-capabilities>article{min-width:0;overflow:hidden;border:1px solid #eae5dc;border-radius:18px;background:#fff;box-shadow:0 6px 22px #4c382505}
.team-capability-art{position:relative;aspect-ratio:4/3;background:#faf7f0;overflow:hidden;margin:0}
.team-capability-art img{display:block;width:100%;height:100%;object-fit:cover}
.team-capability-number{position:absolute;top:13px;left:13px;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;color:var(--red);background:#fffefaed;font-size:11px;font-weight:800;border:1px solid #ece5d8}
.team-capability-copy{padding:22px 18px 24px;border-top:1px solid #f2eee7}
.team-capabilities h3{font-size:16px;line-height:1.5;letter-spacing:-.025em;margin:0 0 10px;font-weight:850;color:#252c2e}
.team-capabilities p{font-size:13px;line-height:1.85;color:#6b746e;margin:0}
.team-capabilities strong{color:#404b43;font-weight:600}

@media(min-width:1601px){.campaign-collection .campaign-copy h1{font-size:50px}}
@media(max-width:1200px){
 .campaign-controls{padding:14px 28px;gap:10px}
 .campaign-dots{justify-content:space-between}
 .campaign .campaign-dots button{font-size:11px!important;padding:10px 5px!important}
 .campaign .campaign-dots button>span{width:16px}
 .campaign .campaign-arrows{gap:6px}
 .team-heading{gap:30px}
 .team-capabilities{gap:12px}
 .team-capability-copy{padding:18px 14px 22px}
 .team-capabilities h3{font-size:15px}
}
@media(min-width:701px) and (max-width:1000px){
 .campaign .campaign-copy{left:4%;width:42%}
 .campaign .campaign-copy h1{font-size:clamp(26px,3.6vw,36px);line-height:1.23;margin-bottom:13px}
 .campaign .campaign-copy p{font-size:12px;line-height:1.75;margin-bottom:17px}
 .campaign .campaign-copy .eyebrow{font-size:8px;line-height:1.6;margin-bottom:10px}
 .campaign .campaign-copy .button{font-size:12px;min-height:40px;padding:12px 18px;min-width:0}
 .campaign .concept-label{font-size:10px;padding:6px 10px;margin-bottom:10px}
 .campaign-collection .campaign-copy{width:31%}
 .campaign-collection .campaign-copy h1{font-size:clamp(24px,3.1vw,31px)}
 .campaign .campaign-caption{width:calc(100% - 56px);min-height:91px;gap:18px}
 .campaign .campaign-caption>div{gap:15px}
 .campaign .campaign-caption h2{font-size:20px}
 .campaign .campaign-caption p{font-size:11px;padding-left:15px}
 .campaign .campaign-caption>a{font-size:12px;gap:12px}
}
@media(max-width:960px){
 .team-advantage{padding:45px 0}
 .team-heading{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:25px}
 .team-heading>p{max-width:560px;font-size:14px;margin:0}
 .team-capabilities{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .team-capabilities>article:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center}
 .team-capabilities>article:last-child .team-capability-copy{border:0;padding:26px}
 .team-capability-copy{padding:22px}
 .team-capabilities h3{font-size:19px}
 .team-capabilities p{font-size:14px}
 .campaign-controls{flex-direction:column;gap:6px}
 .campaign-dots{width:100%;flex-wrap:nowrap}
 .campaign .campaign-arrows{align-self:center;margin:0;gap:10px}
}
@media(max-width:700px){
 .campaign-slide{grid-template-rows:1fr auto}
 .campaign .campaign-art{aspect-ratio:auto;max-width:none;display:grid;grid-template-rows:auto 1fr;overflow:hidden;height:100%;margin:0}
 .campaign .campaign-art>img{width:100%;aspect-ratio:16/7;height:auto;object-fit:cover;object-position:center;grid-row:1;align-self:start}
 .campaign .campaign-copy{grid-row:2;position:static;transform:none;left:auto;top:auto;width:100%;height:100%;padding:27px 24px 29px;background:#f5f6ef;display:flex;align-items:flex-start;flex-direction:column}
 .campaign-badge .campaign-copy{background:#f7f1f5}
 .campaign-learning .campaign-copy{background:#edf7f4}
 .campaign-lifestyle .campaign-copy{background:#f8f4e8}
 .campaign-future .campaign-copy{background:#fbf2eb}
 .campaign-collection .campaign-copy{background:#f6f7ec}
 .campaign .campaign-copy .eyebrow{font-size:8px;line-height:1.6;margin-bottom:12px;max-width:none}
 .campaign .campaign-copy h1{font-size:31px;line-height:1.25;letter-spacing:-.035em;margin:0 0 15px}
 .campaign .campaign-copy h1 br{display:none}
 .campaign .campaign-copy p{font-size:12px;line-height:1.9;margin:0 0 22px}
 .campaign .campaign-copy .button{font-size:12px;min-height:43px;margin-top:auto;min-width:180px}
 .campaign .concept-label{font-size:10px;padding:5px 10px;margin-bottom:10px}
 .campaign .campaign-caption{width:calc(100% - 44px);min-height:91px;padding:18px 0;gap:15px}
 .campaign .campaign-caption>div{display:block}
 .campaign .campaign-caption h2{font-size:18px}
 .campaign .campaign-caption p{font-size:10px;padding:0;border:0;margin-top:5px;max-width:225px}
 .campaign .campaign-caption>a{font-size:11px;gap:10px}
 .campaign .campaign-art .scene-note{display:none}
 .campaign-lifestyle .campaign-art::after{display:none}
 .campaign-controls{padding:14px 12px 16px;gap:10px;min-height:118px}
 .campaign-dots{justify-content:space-between;gap:0;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}
 .campaign-dots::-webkit-scrollbar{display:none}
 .campaign .campaign-dots button{display:flex;flex-direction:column;gap:8px;padding:6px 4px!important;font-size:10px!important;white-space:nowrap;flex:1;min-height:42px}
 .campaign .campaign-dots button>span{width:20px;height:3px}
 .campaign .campaign-arrows button{width:33px;height:33px;font-size:17px}
 .campaign #campaign-count{font-size:11px;min-width:48px;margin-left:8px}
 .team-advantage{padding:36px 0 40px}
 .team-heading{gap:14px;margin-bottom:24px}
 .team-heading h2{font-size:27px;line-height:1.4}
 .team-heading .eyebrow{font-size:8px;letter-spacing:.18em;margin-bottom:11px}
 .team-heading>p{font-size:13px;line-height:1.9}
 .team-capabilities{gap:12px}
 .team-capabilities>article{border-radius:14px}
 .team-capability-art{aspect-ratio:1.1}
 .team-capability-number{top:10px;left:10px;width:24px;height:24px;font-size:10px}
 .team-capability-copy{padding:17px 13px 20px}
 .team-capabilities h3{font-size:16px;line-height:1.5;margin-bottom:8px}
 .team-capabilities p{font-size:12px;line-height:1.8}
 .team-capabilities>article:last-child .team-capability-copy{padding:18px}
 .team-capabilities>article:last-child .team-capability-art{aspect-ratio:1;align-self:stretch}
}
@media(prefers-reduced-motion:reduce){.campaign-slide,.campaign-slide.is-active{transition:none}}
