:root{--ink:#0d1116;--paper:#f5f4ee;--lime:#b8ff32;--blue:#2b5cff;--pink:#ff3f9b;--white:#fff;--muted:#697078;--line:rgba(13,17,22,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:absolute;top:0;left:0;right:0;z-index:20;color:white;mix-blend-mode:difference}.logo{font:700 1.45rem/1 "Space Grotesk";letter-spacing:-.08em}.logo span{font-size:.45em;vertical-align:top;margin-left:4px;letter-spacing:0}nav{display:flex;gap:2.4rem;font-size:.9rem}nav a{opacity:.85;transition:.2s}nav a:hover{opacity:1}.menu{display:none;background:none;border:0}
.hero{min-height:100vh;background:var(--ink);color:white;position:relative;overflow:hidden;display:flex;align-items:center}.hero-inner{width:92vw;margin:auto;position:relative;z-index:3;padding-top:6vh}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:600}.hero-title{font:600 clamp(5.5rem,15vw,15rem)/.78 "Space Grotesk";letter-spacing:-.09em;margin:5vh 0 8vh}.hero-title .line{display:block}.hero-title .shift{margin-left:12vw;color:var(--lime)}.dot{color:var(--blue)}.hero-bottom{display:flex;align-items:end;justify-content:space-between;max-width:760px}.hero-bottom p{max-width:460px;color:#c5cbd0;font-size:1rem;line-height:1.5}.circle-link{border:1px solid rgba(255,255,255,.35);width:88px;height:88px;border-radius:50%;display:grid;place-items:center;text-align:center;font-size:.62rem;letter-spacing:.1em;transition:.35s}.circle-link:hover{background:var(--lime);color:var(--ink);transform:rotate(15deg)}.orb{position:absolute;border-radius:50%;filter:blur(3px);mix-blend-mode:screen}.orb-a{width:42vw;height:42vw;background:var(--blue);right:-15vw;top:-20vw;animation:float 9s ease-in-out infinite}.orb-b{width:25vw;height:25vw;background:var(--lime);left:-8vw;bottom:-14vw;animation:float 7s ease-in-out infinite reverse}@keyframes float{50%{transform:translate(4vw,6vh) scale(1.08)}}
/* moving work */.work-intro{padding:12vw 0 5vw;background:var(--paper);overflow:hidden}.work-head{padding:0 8vw;display:grid;grid-template-columns:25% 1fr 1fr;gap:5vw;align-items:end}.section-label{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700}.work-head h2,.cap-copy h2,.clients-head h2,.locations h2{font:500 clamp(4rem,8vw,8rem)/.82 "Space Grotesk";letter-spacing:-.075em;margin:0}.work-head h2 em,.cap-copy h2 em,.clients-head h2 em,.locations h2 em{color:var(--blue);font-style:normal}.work-head p{max-width:440px;font-size:1.05rem;line-height:1.5;margin:0 0 .4rem}.work-viewport{overflow:hidden;margin-top:7vw;padding:1vw 0 2vw}.work-track{display:flex;gap:2vw;width:max-content;padding:0 8vw;animation:workslide 32s linear infinite}.work-viewport:hover .work-track{animation-play-state:paused}.work-card{width:29vw;min-width:330px;height:43vw;min-height:470px;max-height:620px;background:#ddd;position:relative;overflow:hidden;transform:rotate(var(--r,-2deg));transition:transform .45s,box-shadow .45s;box-shadow:0 20px 50px rgba(0,0,0,.13)}.work-card:nth-child(2n){--r:2deg}.work-card:nth-child(3n){--r:-1deg}.work-card:hover{transform:rotate(0) translateY(-14px) scale(1.015);box-shadow:0 30px 70px rgba(0,0,0,.2)}.card-top,.card-bottom{position:absolute;left:1.3vw;right:1.3vw;z-index:3;display:flex;justify-content:space-between}.card-top{top:1.3vw;font-size:.62rem;letter-spacing:.1em}.card-bottom{bottom:1.3vw;align-items:end}.card-bottom strong{font:600 1.35rem "Space Grotesk";letter-spacing:-.04em}.card-bottom span{font-size:.58rem;letter-spacing:.09em;text-align:right}.visual{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}.mini-word{font:700 clamp(3rem,7vw,7rem) "Space Grotesk";letter-spacing:-.09em;position:relative;z-index:2}.ring{width:55%;aspect-ratio:1;border:clamp(20px,3vw,55px) solid #fff;border-radius:50%;position:absolute;transform:translate(-7%,8%);box-shadow:0 0 0 25px rgba(255,255,255,.08)}.spark{position:absolute;font-size:7vw;top:15%;right:10%;transform:rotate(20deg)}.card-chime{background:linear-gradient(145deg,#67e6ff,#245cff 60%,#111)}.card-chime .mini-word{color:#fff}.current-shape{position:absolute;width:130%;height:48%;background:var(--lime);transform:rotate(-20deg);left:-15%;top:25%;box-shadow:0 20px 0 rgba(13,17,22,.8)}.card-current{background:#111;color:#fff}.card-current .mini-word{color:#111;background:#fff;padding:.15em .25em}.arrow{position:absolute;bottom:18%;right:12%;font-size:8vw;color:var(--lime)}.card-tmo{background:var(--pink);color:#111}.magenta-bars{position:absolute;inset:10%;background:repeating-linear-gradient(90deg,#111 0 13%,transparent 13% 20%);transform:skewY(-8deg)}.card-tmo .mini-word{font-size:5vw;color:#fff;text-shadow:6px 6px #111}.plus{position:absolute;font-size:10vw;right:10%;top:8%;color:#111}.card-heifer{background:#dce8d0;color:#172016}.field{position:absolute;inset:0;background:linear-gradient(160deg,transparent 0 55%,#6b9f4e 55% 100%);clip-path:polygon(0 40%,100% 15%,100% 100%,0 100%)}.sun{position:absolute;top:15%;right:13%;font-size:8vw;color:#f6c34a}.card-spectrum{background:#e9e9e3}.spectrum-lines{position:absolute;inset:-20%;background:repeating-linear-gradient(135deg,transparent 0 6%,#2b5cff 6% 8%,transparent 8% 13%,#b8ff32 13% 15%);transform:rotate(-7deg);opacity:.9}.card-spectrum .mini-word{background:#fff;padding:.1em .2em}.bolt{position:absolute;bottom:15%;right:12%;font-size:8vw}.work-note{display:flex;justify-content:space-between;padding:0 8vw;font-size:.62rem;letter-spacing:.14em;color:var(--muted)}@keyframes workslide{to{transform:translateX(-44%)}}
/* ticker */.capabilities{background:var(--ink);color:#fff;padding-bottom:12vw}.ticker{overflow:hidden;white-space:nowrap}.ticker.giant{background:var(--lime);color:var(--ink);padding:0}.scroll-band{height:clamp(470px,46vw,650px);position:relative;overflow:hidden;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);display:flex;flex-direction:column;justify-content:center}.band-row{height:33.333%;display:flex;align-items:center;overflow:hidden;position:relative}.band-row-track{display:flex;align-items:center;gap:clamp(2.8rem,5vw,7rem);width:max-content;padding:0 3vw;will-change:transform}.band-huge,.band-small{display:inline-block;flex:none;vertical-align:middle}.band-huge{font-family:"Space Grotesk";font-size:clamp(5rem,10.5vw,13rem);line-height:.72;font-weight:600;letter-spacing:-.095em;color:var(--ink)}.band-small{font-family:"DM Sans",sans-serif;font-size:clamp(1rem,1.7vw,2rem);line-height:1;font-weight:600;letter-spacing:.01em;color:#fff;margin-top:.15em}.cap-copy{padding:11vw 8vw 0;display:grid;grid-template-columns:25% 1fr;gap:5vw}.cap-copy h2{color:#fff}.cap-copy h2 em{color:var(--lime)}.cap-copy p{max-width:690px;font-size:clamp(1.3rem,2.2vw,2.2rem);line-height:1.2;color:#c6ccd1;margin-top:5vw}
/* how */.how{padding:12vw 8vw;background:var(--paper);display:grid;grid-template-columns:25% 1fr;gap:5vw}.how-main{border-top:1px solid var(--line)}.how-title{display:grid;grid-template-columns:8% 1fr;align-items:end;border-bottom:1px solid var(--line);padding:3vw 0;transition:.35s}.how-title:hover{padding-left:2vw;background:var(--lime)}.how-title span{font-size:.7rem;letter-spacing:.1em}.how-title h2{font:500 clamp(3.3rem,7vw,7rem)/.82 "Space Grotesk";letter-spacing:-.07em;margin:0}.how-title em{font-style:normal;color:var(--blue)}
/* clients */.clients{padding:12vw 8vw;background:#e7e6dc}.clients-head{display:grid;grid-template-columns:25% 1fr;gap:5vw;margin-bottom:6vw}.client-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5vw}.client-tile{min-height:310px;position:relative;padding:1.5vw;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:.4s}.client-tile:hover{transform:translateY(-8px)}.client-tile span{font-size:.65rem}.client-tile strong{font:600 clamp(2.4rem,5vw,5.5rem)/.8 "Space Grotesk";letter-spacing:-.08em;z-index:2}.client-tile small{font-size:.6rem;letter-spacing:.12em}.client-tile i{position:absolute;right:1.5vw;top:1.5vw;font-style:normal;font-size:2rem}.tile-blue{grid-column:span 5;background:var(--blue);color:#fff}.tile-lime{grid-column:span 7;background:var(--lime)}.tile-dark{grid-column:span 4;background:var(--ink);color:#fff}.tile-photo{grid-column:span 5;background:linear-gradient(145deg,#f1c97d 0 35%,#6d965c 35% 68%,#314b72 68%);color:#111}.tile-white{grid-column:span 3;background:#fff}.locations{padding:12vw 8vw;display:grid;grid-template-columns:25% 1fr;gap:5vw}.location-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:5vw}.location-list span{border:1px solid var(--line);border-radius:100px;padding:13px 18px;font-size:.65rem;letter-spacing:.12em}
.marquee-image{height:42vh;display:grid;place-items:center;overflow:hidden;background:var(--blue);color:white}.marquee-inner{font:600 clamp(4rem,12vw,12rem)/.8 "Space Grotesk";letter-spacing:-.09em;white-space:nowrap;animation:slide 14s linear infinite}.marquee-inner i{color:var(--lime);font-style:normal}@keyframes slide{to{transform:translateX(-25%)}}.contact{min-height:90vh;background:var(--ink);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.contact .eyebrow,.contact h2,.contact-button{position:relative;z-index:2}.contact h2{font:600 clamp(6rem,18vw,18rem)/.72 "Space Grotesk";letter-spacing:-.1em;margin:4vh 0 7vh}.contact h2 span{color:var(--lime)}.contact-button{border:1px solid white;padding:20px 30px;border-radius:100px;font-size:.72rem;letter-spacing:.14em;transition:.3s}.contact-button:hover{background:var(--lime);border-color:var(--lime);color:var(--ink)}.contact-button span{margin-left:30px}.contact-orb{position:absolute;width:50vw;height:50vw;border-radius:50%;background:var(--blue);filter:blur(50px);opacity:.8;right:-25vw;bottom:-25vw;animation:float 8s ease-in-out infinite}footer{background:var(--ink);color:#8d969d;border-top:1px solid #30373d;padding:28px 4vw;display:flex;justify-content:space-between;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s,transform .9s}.reveal.visible{opacity:1;transform:none}.cursor{position:fixed;width:18px;height:18px;border:1px solid white;border-radius:50%;pointer-events:none;z-index:100;mix-blend-mode:difference;transform:translate(-50%,-50%);transition:transform .08s}
@media(max-width:800px){nav{display:none}.menu{display:block}.menu i{display:block;width:25px;height:1px;background:white;margin:6px}.hero-title{font-size:21vw}.hero-title .shift{margin-left:4vw}.work-head,.cap-copy,.how,.clients-head,.locations{display:block;padding-left:6vw;padding-right:6vw}.work-head p{margin-top:7vw}.work-track{padding:0 6vw}.work-card{width:76vw;min-width:76vw;height:112vw}.card-top,.card-bottom{left:4vw;right:4vw}.card-top{top:4vw}.card-bottom{bottom:4vw}.mini-word{font-size:16vw}.card-tmo .mini-word{font-size:12vw}.work-note{padding:0 6vw;gap:20px}.cap-copy,.how,.clients,.locations{padding-top:22vw;padding-bottom:22vw}.section-label{margin-bottom:10vw}.cap-copy p{margin-top:9vw}.how-title{grid-template-columns:12% 1fr;padding:9vw 0}.how-title h2{font-size:15vw}.client-grid{grid-template-columns:1fr;gap:3vw}.client-tile{grid-column:auto!important;min-height:280px;padding:5vw}.tile-photo{min-height:340px}.locations h2{font-size:16vw}.location-list{margin-top:10vw}.location-list span{padding:11px 14px}.scroll-band{height:330px}.band-row-track{gap:18vw;padding:0 7vw}.band-huge{font-size:18vw}.band-small{font-size:5vw}.marquee-image{height:30vh}.contact h2{font-size:25vw}footer{gap:15px;flex-wrap:wrap}}

/* v11 — Section 1 masonry + city photo reel. Everything else inherits v8. */
.work-masonry{display:grid;grid-template-columns:1.25fr .8fr 1fr;grid-auto-rows:260px;gap:22px;padding:0 3vw 7vw;align-items:stretch}.work-card.masonry{width:auto!important;height:auto!important;min-height:0!important;transform:none!important;margin:0!important;border-radius:28px;overflow:hidden;position:relative;display:flex;flex-direction:column}.work-card.masonry:hover{transform:translateY(-6px)!important;z-index:3}.work-card.masonry .card-top,.work-card.masonry .card-bottom{position:relative;z-index:2;padding:16px 18px;display:flex;justify-content:space-between;align-items:center}.brand-stage{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden}.brand-stage img{display:block;max-width:78%;max-height:105px;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}.chime-card{grid-column:1 / span 2;grid-row:1 / span 2;background:linear-gradient(135deg,#b8ff32 0 54%,#275dff 54% 100%)}.current-card{grid-column:3;grid-row:1;background:linear-gradient(145deg,#f6f5ef,#b8ff32)}.tmo-card{grid-column:1;grid-row:3;background:linear-gradient(145deg,#ff4da6,#275dff)}.heifer-card{grid-column:2;grid-row:3;background:linear-gradient(145deg,#f2c14e,#f6f5ef)}.spectrum-card{grid-column:3;grid-row:2 / span 2;background:linear-gradient(145deg,#1a8cff,#10151a)}.current-card .brand-stage img,.heifer-card .brand-stage img,.spectrum-card .brand-stage img{background:#fff;padding:10px 14px;border-radius:8px}.tmo-card .brand-stage img{background:#fff;padding:12px 16px;border-radius:8px}.chime-card .brand-stage img{background:#0d4b33;padding:14px 18px;border-radius:8px;mix-blend-mode:normal}.city-hubs{display:grid!important;grid-template-columns:30vw 1fr!important;gap:28px!important;padding:8vw 0 8vw 3vw!important;overflow:hidden;background:var(--paper)!important;color:var(--ink)!important}.city-hubs>.section-label{grid-column:1/-1}.city-copy{padding-right:2vw}.city-copy h2{font-size:clamp(3rem,5.2vw,6.8rem);line-height:.88;margin:0 0 30px}.city-copy p{font-size:1.15rem;line-height:1.5;max-width:390px}.city-viewport{overflow:hidden;min-width:0}.city-track{display:flex;gap:28px;width:max-content;animation:cityMove 32s linear infinite}.city-card{width:390px;flex:0 0 390px}.city-card:nth-child(3n+1){width:240px;flex-basis:240px}.city-card img{width:100%;height:235px;object-fit:cover;border-radius:22px;background:#ddd;display:block}.city-card:nth-child(3n+1) img{height:235px}.city-card div{display:flex;justify-content:space-between;gap:18px;padding:12px 4px 0;font-size:1.15rem}.city-card strong{font-weight:500}.city-card span{font-weight:700;white-space:nowrap}@keyframes cityMove{to{transform:translateX(-52%)}}.city-viewport:hover .city-track{animation-play-state:paused}
@media(max-width:800px){.work-masonry{grid-template-columns:1fr;grid-auto-rows:320px}.work-card.masonry{grid-column:1!important;grid-row:auto!important}.city-hubs{grid-template-columns:1fr!important;padding-left:5vw!important}.city-card{width:300px;flex-basis:300px}.city-card:nth-child(3n+1){width:210px;flex-basis:210px}}

/* v12: preserve v11 masonry + supplied wordmarks, restore original DRIVE graphic artwork */
.work-card.masonry{isolation:isolate}
.work-card.masonry .graphic-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.work-card.masonry .card-top,.work-card.masonry .card-bottom{z-index:4}
.work-card.masonry .brand-stage{position:relative;z-index:3}
.work-card.masonry .brand-stage img{mix-blend-mode:normal;background:transparent!important;border-radius:0!important;padding:0!important;filter:none}
.chime-card{background:linear-gradient(145deg,#67e6ff,#245cff 60%,#111)!important}
.chime-card .ring{width:52%;aspect-ratio:1;border:clamp(22px,3.5vw,58px) solid rgba(255,255,255,.96);border-radius:50%;position:absolute;left:23%;top:18%;box-shadow:0 0 0 28px rgba(255,255,255,.08)}
.chime-card .spark{position:absolute;font-size:8vw;top:5%;right:6%;transform:rotate(20deg);color:#111}
.chime-card .brand-stage img{max-width:54%;max-height:120px}
.current-card{background:#111!important}
.current-card .current-shape{position:absolute;width:145%;height:54%;background:var(--lime);transform:rotate(-16deg);left:-20%;top:22%;box-shadow:0 24px 0 rgba(13,17,22,.88)}
.current-card .arrow{position:absolute;bottom:9%;right:8%;font-size:7vw;color:var(--lime)}
.current-card .brand-stage img{background:#fff!important;padding:10px 18px!important;max-width:72%}
.tmo-card{background:var(--pink)!important}
.tmo-card .magenta-bars{position:absolute;inset:5%;background:repeating-linear-gradient(90deg,#111 0 13%,transparent 13% 20%);transform:skewY(-8deg)}
.tmo-card .plus{position:absolute;font-size:9vw;right:8%;top:4%;color:#111}
.tmo-card .brand-stage img{background:#fff!important;padding:10px 16px!important;max-width:72%}
.heifer-card{background:#dce8d0!important;color:#172016}
.heifer-card .field{position:absolute;inset:0;background:linear-gradient(160deg,transparent 0 55%,#6b9f4e 55% 100%);clip-path:polygon(0 40%,100% 15%,100% 100%,0 100%)}
.heifer-card .sun{position:absolute;top:10%;right:10%;font-size:7vw;color:#f6c34a}
.heifer-card .brand-stage img{max-width:70%;max-height:120px}
.spectrum-card{background:#e9e9e3!important}
.spectrum-card .spectrum-lines{position:absolute;inset:-22%;background:repeating-linear-gradient(135deg,transparent 0 6%,#2b5cff 6% 8%,transparent 8% 13%,#b8ff32 13% 15%);transform:rotate(-7deg);opacity:.95}
.spectrum-card .bolt{position:absolute;bottom:8%;right:8%;font-size:7vw;color:#111}
.spectrum-card .brand-stage img{background:#fff!important;padding:10px 16px!important;max-width:72%}
@media(max-width:800px){.chime-card .spark,.current-card .arrow,.tmo-card .plus,.heifer-card .sun,.spectrum-card .bolt{font-size:18vw}}
/* v13 — client names are typography, not pasted logo images */
.brand-stage .brand-word{position:relative;z-index:5;white-space:nowrap;line-height:.9;text-align:center;max-width:92%;}
.chime-word{font-family:"DM Sans",Arial,sans-serif;font-size:clamp(4rem,8.2vw,9rem);font-weight:500;letter-spacing:-.095em;color:#59dda0;transform:scaleX(1.03)}
.chime-word sup{font-size:.12em;vertical-align:top;margin-left:.18em;letter-spacing:0}
.current-word{font-family:"Arial Black","Helvetica Neue",Arial,sans-serif;font-size:clamp(3.7rem,7.2vw,8rem);font-weight:900;letter-spacing:-.095em;color:#0d1116;transform:scaleX(1.04)}
.tmo-word{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,5.8vw,6.8rem);font-weight:700;letter-spacing:-.055em;color:#e20074}
.tmo-word .tmark{font-size:1.05em}.tmo-word .tdots{font-family:Arial,sans-serif;font-size:.7em;letter-spacing:.14em;margin:0 .05em}
.heifer-word{font-family:Georgia,"Times New Roman",serif;color:#063b68;display:flex;flex-direction:column;align-items:center;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.heifer-word>span{font-size:clamp(3.2rem,5.8vw,6.7rem)}.heifer-word sup{font-size:.16em;vertical-align:top}.heifer-word small{font-size:clamp(.8rem,1.45vw,1.55rem);letter-spacing:.16em;margin-top:.32em}
.spectrum-word{font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;font-size:clamp(3.4rem,6.3vw,7rem);font-weight:800;letter-spacing:-.075em;color:#063b68;display:flex;align-items:center;gap:.12em}
.spectrum-arrow{display:inline-block;width:0;height:0;border-top:.22em solid transparent;border-bottom:.22em solid transparent;border-left:.28em solid #1688c9;margin-top:.08em}
@media(max-width:800px){.chime-word{font-size:17vw}.current-word{font-size:15vw}.tmo-word{font-size:12vw}.heifer-word>span{font-size:13vw}.heifer-word small{font-size:3vw}.spectrum-word{font-size:14vw}}

/* Chime-only refinement: larger wordmark + custom looped m */
.chime-card .brand-stage{padding:8px;overflow:visible}
.chime-word{font-size:clamp(6.5rem,12.2vw,14rem);font-weight:500;letter-spacing:-.105em;transform:scaleX(1.04);max-width:none!important}
.chime-word .chime-m{display:inline-flex;align-items:baseline;position:relative;width:.86em;height:.72em;margin-left:-.015em;margin-right:-.035em;vertical-align:-.02em}
.chime-word .chime-m::before,.chime-word .chime-m::after{content:"";position:absolute;bottom:.02em;width:.46em;height:.57em;border:.105em solid currentColor;border-bottom:0;border-radius:.42em .42em 0 0}
.chime-word .chime-m::before{left:0;border-right-width:.085em}
.chime-word .chime-m::after{right:0;border-left-width:.085em}
.chime-word .chime-m i{position:absolute;left:50%;top:.26em;width:.22em;height:.22em;border:.085em solid currentColor;border-radius:50%;transform:translate(-50%,-50%);background:transparent}
.chime-word sup{font-size:.09em;margin-left:.12em}
@media(max-width:800px){.chime-word{font-size:22vw}}

/* v14 — requested refinements only: Current becomes hero card; Chime m tightened to reference */
@media(min-width:801px){
  .current-card{grid-column:1 / span 2!important;grid-row:1 / span 2!important}
  .chime-card{grid-column:3!important;grid-row:1!important}
}
/* Scale wordmarks to their new card sizes without changing the masonry ratios */
.current-word{font-size:clamp(6.5rem,12vw,14rem)!important}
.chime-word{font-size:clamp(3.8rem,6.1vw,7rem)!important;letter-spacing:-.075em!important;transform:scaleX(1.01)!important;white-space:nowrap}
.chime-card .brand-stage{padding:16px!important;overflow:hidden!important}
/* compact joined Chime-style m: same cap/x-height as neighboring letters, no collision with i */
.chime-word .chime-m{display:inline-block;position:relative;width:.72em;height:.64em;margin-left:.055em;margin-right:.025em;vertical-align:-.015em}
.chime-word .chime-m::before,.chime-word .chime-m::after{content:"";position:absolute;bottom:.015em;width:.38em;height:.50em;border:.095em solid currentColor;border-bottom:0;border-radius:.34em .34em 0 0;box-sizing:border-box}
.chime-word .chime-m::before{left:0;border-right-width:.065em}
.chime-word .chime-m::after{right:0;border-left-width:.065em}
.chime-word .chime-m i{position:absolute;left:50%;top:.255em;width:.105em;height:.105em;background:currentColor;border:0;border-radius:50%;transform:translate(-50%,-50%)}
@media(max-width:800px){.chime-word{font-size:17vw!important}.current-word{font-size:15vw!important}}

/* v14.1 — Chime m only: vector-traced connected m from supplied reference */
.chime-word .chime-m{display:inline-block!important;position:relative!important;width:.78em!important;height:.64em!important;margin-left:.055em!important;margin-right:.035em!important;vertical-align:-.015em!important}
.chime-word .chime-m svg{display:block;width:100%;height:100%;overflow:visible}
.chime-word .chime-m::before,.chime-word .chime-m::after,.chime-word .chime-m i{display:none!important}

/* Chime m final — vector traced directly from supplied reference */
.chime-word .chime-m{width:.80em!important;height:.64em!important;margin-left:.055em!important;margin-right:.03em!important;vertical-align:-.015em!important}
.chime-word .chime-m svg{width:100%!important;height:100%!important;display:block!important}

/* Final Chime m refinement: clean vector, same x-height as lowercase stem */
.chime-word .chime-m{display:inline-block!important;position:relative!important;width:.76em!important;height:.56em!important;margin-left:.015em!important;margin-right:.005em!important;vertical-align:-.005em!important;overflow:visible!important}
.chime-word .chime-m::before,.chime-word .chime-m::after,.chime-word .chime-m i{display:none!important;content:none!important}
.chime-word .chime-m svg{display:block;width:100%;height:100%;overflow:visible}
/* Chime final: use the supplied wordmark itself with its background removed.
   This preserves the exact joined-loop m while keeping the card artwork visible. */
.chime-card .chime-reference-word{width:min(82%,520px)!important;max-width:82%!important;transform:none!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important}
.chime-card .chime-reference-word img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;background:transparent!important;padding:0!important;max-width:none!important;max-height:none!important;filter:none!important}
@media(max-width:800px){.chime-card .chime-reference-word{width:82%!important;max-width:82%!important}}
/* v14.2 — Heifer centering only: add breathing room at the left edge */
.heifer-card .heifer-word{transform:translateX(0.12em);max-width:86%!important;}
/* Heifer spacing refinement only — give the wordmark equal breathing room on both sides */
.heifer-card .heifer-word{transform:none!important;max-width:78%!important;width:78%!important;box-sizing:border-box!important}
.heifer-card .heifer-word>span{font-size:clamp(2.9rem,5.15vw,6rem)!important;white-space:nowrap!important}
@media(max-width:800px){.heifer-card .heifer-word{max-width:82%!important;width:82%!important}.heifer-card .heifer-word>span{font-size:11.5vw!important}}


/* v15 — linked process rows + driving exit animation */
.how-title.how-drive-link{position:relative;text-decoration:none;color:inherit;grid-template-columns:8% 1fr auto;cursor:pointer;overflow:hidden}
.how-title .drive-arrow{font:400 clamp(2rem,4vw,4rem)/1 "Space Grotesk";opacity:0;transform:translateX(-25px);transition:.3s ease;padding-right:1vw}
.how-title:hover .drive-arrow{opacity:1;transform:translateX(0)}
.how-title.is-driving{animation:driveOff .58s cubic-bezier(.55,.04,.86,.42) forwards;background:var(--lime)}
.how-title.is-driving .drive-arrow{opacity:1;animation:arrowDrive .58s ease forwards}
@keyframes driveOff{0%{transform:translateX(0)}35%{transform:translateX(-1.5vw)}100%{transform:translateX(115vw)}}
@keyframes arrowDrive{to{transform:translateX(10vw)}}
@media(max-width:800px){.how-title.how-drive-link{grid-template-columns:12% 1fr auto}.how-title .drive-arrow{opacity:1;font-size:8vw}}

/* v16 — section 04: WHO WE MOVE WITH / scattered team moments */
.team-scatter{padding:12vw 0 8vw;background:#e7e6dc;overflow:hidden}
.team-scatter-head{padding:0 8vw;display:grid;grid-template-columns:25% 1fr 1fr;gap:5vw;align-items:end;margin-bottom:5vw}
.team-scatter-head h2{font:500 clamp(4rem,8vw,8rem)/.82 "Space Grotesk";letter-spacing:-.075em;margin:0}
.team-scatter-head h2 em{color:var(--blue);font-style:normal}
.team-scatter-head p{max-width:430px;font-size:1.05rem;line-height:1.5;margin:0 0 .4rem}
.team-collage{height:82vw;min-height:900px;max-height:1250px;position:relative;margin-top:2vw}
.team-photo{position:absolute;margin:0;overflow:hidden;background:#ddd;box-shadow:0 22px 55px rgba(13,17,22,.16);transition:transform .4s ease,box-shadow .4s ease;z-index:1}
.team-photo img{width:100%;height:100%;display:block;object-fit:cover}
.team-photo:hover{z-index:20;transform:rotate(0deg) scale(1.035)!important;box-shadow:0 32px 75px rgba(13,17,22,.25)}
.team-p1{left:5%;top:4%;width:34%;height:31%;transform:rotate(-3deg)}
.team-p1 img{object-position:center 24%}
.team-p2{left:44%;top:0;width:31%;height:24%;transform:rotate(2.2deg)}
.team-p3{right:3%;top:10%;width:26%;height:25%;transform:rotate(-2deg)}
.team-p4{left:12%;top:35%;width:24%;height:24%;transform:rotate(2.5deg)}
.team-p5{left:38%;top:29%;width:21%;height:27%;transform:rotate(-2.5deg)}
.team-p6{right:7%;top:39%;width:31%;height:26%;transform:rotate(3deg)}
.team-p7{left:3%;top:64%;width:27%;height:23%;transform:rotate(-2deg)}
.team-p8{left:33%;top:60%;width:31%;height:30%;transform:rotate(2deg)}
.team-p9{right:4%;top:69%;width:25%;height:22%;transform:rotate(-3deg)}
.team-stamp{position:absolute;left:38%;top:52%;z-index:10;background:var(--lime);border-radius:50%;width:14vw;height:14vw;min-width:150px;min-height:150px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font:700 clamp(1rem,1.8vw,1.8rem)/.9 "Space Grotesk";letter-spacing:-.05em;transform:rotate(-8deg);box-shadow:0 15px 40px rgba(0,0,0,.12)}
.team-stamp span{font-size:1.5em;margin-top:.15em}
@media(max-width:800px){
 .team-scatter{padding:22vw 0 14vw}
 .team-scatter-head{display:block;padding:0 6vw;margin-bottom:12vw}
 .team-scatter-head h2{font-size:16vw}
 .team-scatter-head p{margin-top:8vw}
 .team-collage{height:auto;min-height:0;max-height:none;padding:0 6vw;display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:start}
 .team-photo{position:relative!important;left:auto!important;right:auto!important;top:auto!important;width:auto!important;height:auto!important;aspect-ratio:4/5}
 .team-p1{grid-column:1 / -1;aspect-ratio:16/10}
 .team-p2,.team-p6,.team-p8{aspect-ratio:4/3}
 .team-p3,.team-p4,.team-p5,.team-p7,.team-p9{aspect-ratio:3/4}
 .team-stamp{left:50%;top:42%;width:32vw;height:32vw;min-width:120px;min-height:120px;transform:translate(-50%,-50%) rotate(-8deg);font-size:4vw}
}


/* v17 — additional team moments only */
@media(min-width:801px){
 .team-collage{height:142vw;max-height:2180px}
 .team-p10{left:7%;top:48%;width:21%;height:17%;transform:rotate(2.4deg)}
 .team-p11{left:31%;top:47%;width:28%;height:20%;transform:rotate(-2deg)}
 .team-p12{right:5%;top:50%;width:31%;height:20%;transform:rotate(2.5deg)}
 .team-p13{left:3%;top:68%;width:25%;height:21%;transform:rotate(-2.5deg)}
 .team-p14{left:31%;top:70%;width:34%;height:19%;transform:rotate(1.8deg)}
 .team-p15{right:4%;top:69%;width:25%;height:20%;transform:rotate(-2deg)}
 .team-p16{left:12%;top:90%;width:27%;height:22%;transform:rotate(2.2deg)}
 .team-p17{right:12%;top:91%;width:39%;height:23%;transform:rotate(-2.4deg)}
 .team-p10 img,.team-p16 img{object-position:center 25%}
}
@media(max-width:800px){
 .team-p10,.team-p13,.team-p15,.team-p16{aspect-ratio:3/4}
 .team-p11,.team-p12,.team-p14,.team-p17{aspect-ratio:4/3}
}

/* v18 — spread the team collage out and preserve every photo's full frame */
@media(min-width:801px){
 .team-collage{height:235vw;max-height:3600px;min-height:2450px}
 .team-photo{height:auto!important;overflow:visible}
 .team-photo img{width:100%;height:auto!important;object-fit:contain!important;object-position:center!important}
 .team-p1{left:4%;top:1%;width:34%;transform:rotate(-2.2deg)}
 .team-p2{left:43%;top:2%;width:29%;transform:rotate(1.8deg)}
 .team-p3{right:3%;top:5%;width:24%;transform:rotate(-1.7deg)}
 .team-p4{left:8%;top:20%;width:25%;transform:rotate(1.8deg)}
 .team-p5{left:39%;top:18%;width:22%;transform:rotate(-2deg)}
 .team-p6{right:5%;top:21%;width:30%;transform:rotate(2deg)}
 .team-p7{left:3%;top:36%;width:26%;transform:rotate(-1.7deg)}
 .team-p8{left:35%;top:35%;width:30%;transform:rotate(1.7deg)}
 .team-p9{right:4%;top:39%;width:24%;transform:rotate(-2deg)}
 .team-p10{left:7%;top:54%;width:22%;transform:rotate(1.8deg)}
 .team-p11{left:35%;top:52%;width:28%;transform:rotate(-1.7deg)}
 .team-p12{right:4%;top:55%;width:28%;transform:rotate(2deg)}
 .team-p13{left:3%;top:70%;width:25%;transform:rotate(-2deg)}
 .team-p14{left:34%;top:70%;width:31%;transform:rotate(1.5deg)}
 .team-p15{right:4%;top:72%;width:24%;transform:rotate(-1.7deg)}
 .team-p16{left:11%;top:87%;width:27%;transform:rotate(1.8deg)}
 .team-p17{right:10%;top:88%;width:38%;transform:rotate(-1.8deg)}
 .team-stamp{left:43%;top:31%}
}
@media(max-width:800px){
 .team-photo{aspect-ratio:auto!important;overflow:visible!important}
 .team-photo img{height:auto!important;object-fit:contain!important}
}

/* v19 — team collage spacing: midpoint between v17 density and v18 spread */
@media(min-width:801px){
  .team-collage{height:182vw;max-height:2780px;min-height:1900px}
  .team-photo{height:auto!important;overflow:visible}
  .team-photo img{width:100%;height:auto!important;object-fit:contain!important;object-position:center!important}
  .team-p1{left:4%;top:1%;width:34%;transform:rotate(-2.2deg)}
  .team-p2{left:41%;top:1%;width:30%;transform:rotate(1.8deg)}
  .team-p3{right:3%;top:4%;width:25%;transform:rotate(-1.7deg)}
  .team-p4{left:7%;top:16%;width:26%;transform:rotate(1.8deg)}
  .team-p5{left:37%;top:15%;width:23%;transform:rotate(-2deg)}
  .team-p6{right:4%;top:17%;width:31%;transform:rotate(2deg)}
  .team-p7{left:3%;top:29%;width:27%;transform:rotate(-1.7deg)}
  .team-p8{left:34%;top:28%;width:31%;transform:rotate(1.7deg)}
  .team-p9{right:3%;top:31%;width:25%;transform:rotate(-2deg)}
  .team-p10{left:6%;top:43%;width:23%;transform:rotate(1.8deg)}
  .team-p11{left:33%;top:42%;width:29%;transform:rotate(-1.7deg)}
  .team-p12{right:4%;top:44%;width:29%;transform:rotate(2deg)}
  .team-p13{left:3%;top:57%;width:26%;transform:rotate(-2deg)}
  .team-p14{left:33%;top:57%;width:32%;transform:rotate(1.5deg)}
  .team-p15{right:3%;top:59%;width:25%;transform:rotate(-1.7deg)}
  .team-p16{left:10%;top:73%;width:28%;transform:rotate(1.8deg)}
  .team-p17{right:9%;top:74%;width:39%;transform:rotate(-1.8deg)}
  .team-stamp{left:43%;top:25%}
}

/* v20 — loosen the three-photo row into a more organic scatter; preserve every other team placement */
@media(min-width:801px){
  .team-p4{left:3%;top:15.5%;width:25%;transform:rotate(-2.6deg)}
  .team-p5{left:31%;top:18.2%;width:25%;transform:rotate(2.1deg)}
  .team-p6{right:3%;top:15.8%;width:32%;transform:rotate(-1.6deg)}
}

/* v21 — break the collage out of three-across rows: varied scale + irregular spacing, full frames preserved */
@media(min-width:801px){
  .team-collage{height:190vw;max-height:2920px;min-height:1980px}
  .team-p1{left:3%;top:.8%;width:36%;transform:rotate(-2.8deg)}
  .team-p2{left:45%;top:2.8%;width:25%;transform:rotate(1.4deg)}
  .team-p3{right:1.5%;top:7.2%;width:29%;transform:rotate(-2.1deg)}

  .team-p4{left:8%;top:17.2%;width:22%;transform:rotate(2.4deg)}
  .team-p5{left:34%;top:20.8%;width:30%;transform:rotate(-1.8deg)}
  .team-p6{right:2%;top:18.1%;width:24%;transform:rotate(2.7deg)}

  .team-p7{left:1.5%;top:31.7%;width:31%;transform:rotate(-1.5deg)}
  .team-p8{left:38%;top:29.4%;width:24%;transform:rotate(2.2deg)}
  .team-p9{right:3.5%;top:34.6%;width:30%;transform:rotate(-2.8deg)}

  .team-p10{left:5%;top:46.7%;width:20%;transform:rotate(2.6deg)}
  .team-p11{left:28%;top:43.9%;width:34%;transform:rotate(-1.4deg)}
  .team-p12{right:1.5%;top:49.1%;width:27%;transform:rotate(2.1deg)}

  .team-p13{left:2%;top:61.8%;width:29%;transform:rotate(-2.5deg)}
  .team-p14{left:36%;top:59.2%;width:23%;transform:rotate(1.9deg)}
  .team-p15{right:4%;top:64.8%;width:33%;transform:rotate(-1.6deg)}

  .team-p16{left:9%;top:78.2%;width:24%;transform:rotate(2.8deg)}
  .team-p17{right:8%;top:75.6%;width:42%;transform:rotate(-2.1deg)}
  .team-stamp{left:42%;top:26.5%}
}

/* v22 — team gallery moved to its own page; homepage keeps the approved intro */
.team-teaser{padding-bottom:10vw}
.team-teaser-action{display:flex;justify-content:center;align-items:center;padding:4vw 0 1vw}
.team-teaser .team-stamp{position:relative;left:auto;top:auto}
.team-stamp-link{color:var(--ink);text-decoration:none;cursor:pointer;transition:transform .25s ease}
.team-stamp-link:hover{transform:rotate(-3deg) scale(1.05)!important}
.team-page{background:#e7e6dc}
.team-page .team-scatter{padding-top:10vw}
.team-page .team-collage{height:auto!important;min-height:0!important;max-height:none!important;display:grid!important;grid-template-columns:repeat(12,1fr);gap:2.6vw 2vw;padding:2vw 4vw 10vw;align-items:start}
.team-page .team-photo{position:relative!important;left:auto!important;right:auto!important;top:auto!important;width:auto!important;height:auto!important;overflow:visible!important}
.team-page .team-photo img{width:100%;height:auto!important;object-fit:contain!important;display:block}
.team-page .team-p1,.team-page .team-p7,.team-page .team-p13,.team-page .team-p19,.team-page .team-p25{grid-column:span 5}
.team-page .team-p2,.team-page .team-p5,.team-page .team-p9,.team-page .team-p12,.team-page .team-p16,.team-page .team-p20,.team-page .team-p23,.team-page .team-p27{grid-column:span 3}
.team-page .team-p3,.team-page .team-p6,.team-page .team-p10,.team-page .team-p14,.team-page .team-p18,.team-page .team-p22,.team-page .team-p26,.team-page .team-p29{grid-column:span 4}
.team-page .team-p4,.team-page .team-p8,.team-page .team-p11,.team-page .team-p15,.team-page .team-p17,.team-page .team-p21,.team-page .team-p24,.team-page .team-p28{grid-column:span 4}
.team-page .team-p2,.team-page .team-p8,.team-page .team-p15,.team-page .team-p21,.team-page .team-p27{margin-top:6vw}
.team-page .team-p4,.team-page .team-p11,.team-page .team-p18,.team-page .team-p24,.team-page .team-p29{margin-top:-2vw}
.team-page .team-stamp{position:sticky;left:auto;top:38vh;margin:-9vw auto 4vw;z-index:30}
@media(max-width:800px){
 .team-teaser{padding-bottom:18vw}.team-teaser-action{padding:8vw 0 2vw}
 .team-page .team-scatter{padding-top:24vw}
 .team-page .team-collage{grid-template-columns:1fr 1fr!important;gap:5vw 4vw!important;padding:2vw 5vw 12vw!important}
 .team-page .team-photo{grid-column:auto!important;margin-top:0!important;transform:none!important}
 .team-page .team-p1,.team-page .team-p7,.team-page .team-p13,.team-page .team-p19,.team-page .team-p25{grid-column:1/-1!important}
}

/* v23 — compact editorial masonry for Team page: varied widths, full images, no giant grid-row gaps */
@media(min-width:801px){
  .team-page .team-collage{
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    grid-auto-rows:8px!important;
    grid-auto-flow:dense!important;
    column-gap:1.7vw!important;
    row-gap:8px!important;
    padding:1vw 3.2vw 8vw!important;
    align-items:start!important;
  }
  .team-page .team-photo{margin:0!important;align-self:start!important}
  .team-page .team-p1,.team-page .team-p10,.team-page .team-p19,.team-page .team-p28{grid-column:span 5!important}
  .team-page .team-p2,.team-page .team-p6,.team-page .team-p11,.team-page .team-p15,.team-page .team-p20,.team-page .team-p24,.team-page .team-p29{grid-column:span 3!important}
  .team-page .team-p3,.team-page .team-p4,.team-page .team-p7,.team-page .team-p8,.team-page .team-p9,.team-page .team-p12,.team-page .team-p13,.team-page .team-p14,.team-page .team-p16,.team-page .team-p17,.team-page .team-p18,.team-page .team-p21,.team-page .team-p22,.team-page .team-p23,.team-page .team-p25,.team-page .team-p26,.team-page .team-p27{grid-column:span 4!important}
  .team-page .team-p1{transform:rotate(-1.8deg)} .team-page .team-p2{transform:rotate(1.2deg)} .team-page .team-p3{transform:rotate(-.8deg)}
  .team-page .team-p4{transform:rotate(1.6deg)} .team-page .team-p5{transform:rotate(-1.3deg)} .team-page .team-p6{transform:rotate(1deg)}
  .team-page .team-p7{transform:rotate(-1.5deg)} .team-page .team-p8{transform:rotate(.8deg)} .team-page .team-p9{transform:rotate(-1.1deg)}
}

/* v24 — refreshed Team page: keep award photo, remove podium/leopard composite, add new moments. */
@media(min-width:801px){
  .team-page .team-p30{grid-column:span 4!important;transform:rotate(1.1deg);margin-top:1.5vw!important}
  .team-page .team-p31{grid-column:span 3!important;transform:rotate(-1.4deg);margin-top:5vw!important}
  .team-page .team-p33{grid-column:span 5!important;transform:rotate(.9deg);margin-top:-1vw!important}
  .team-page .team-p34{grid-column:span 4!important;transform:rotate(-1deg);margin-top:2.5vw!important}
  .team-page .team-p32{grid-column:span 5!important;transform:rotate(1.5deg);margin-top:7vw!important}
  /* Deliberately keep the two rooftop photos separated by other moments. */
  .team-page .rooftop-one{grid-column-start:2!important}
  .team-page .rooftop-two{grid-column-start:7!important}
}
@media(max-width:800px){
  .team-page .team-p30,.team-page .team-p31,.team-page .team-p32,.team-page .team-p33,.team-page .team-p34{grid-column:auto!important}
  .team-page .team-p30,.team-page .team-p33{grid-column:1/-1!important}
}

/* v25 — requested photo-only correction. No source photos edited or generated. */
@media(min-width:801px){
  /* Rooftop shots return to the same visual scale as the surrounding gallery images. */
  .team-page .team-p31{grid-column:span 4!important;margin-top:2vw!important}
  .team-page .team-p32{grid-column:span 4!important;margin-top:2vw!important}
  .team-page .rooftop-one{grid-column-start:auto!important}
  .team-page .rooftop-two{grid-column-start:auto!important}
}

/* v26 — balanced Team gallery proportions. Exact source photos only; no image edits. */
@media(min-width:801px){
  /* Keep every image within the same editorial scale — no oversized focal portrait. */
  .team-page .team-photo{grid-column:span 3!important;margin-top:0!important}
  .team-page .team-p2,.team-page .team-p3,.team-page .team-p5,.team-page .team-p6,
  .team-page .team-p9,.team-page .team-p11,.team-page .team-p14,.team-page .team-p17,
  .team-page .team-p18,.team-page .team-p21,.team-page .team-p23,.team-page .team-p26,
  .team-page .team-p27,.team-page .team-p28,.team-page .team-p29,.team-page .team-p30,
  .team-page .team-p31,.team-page .team-p32,.team-page .team-p33,.team-page .team-p34{
    grid-column:span 4!important;
  }
  /* Award portrait is intentionally supporting-size, not the visual centerpiece. */
  .team-page .team-p10{grid-column:span 3!important}
  /* Group moment gets the stronger central beat instead of a solo portrait. */
  .team-page .team-p14{grid-column:5 / span 4!important}
  /* Rooftop photos match surrounding gallery proportions and remain separated. */
  .team-page .team-p31,.team-page .team-p32{grid-column:span 4!important;margin-top:0!important}
  .team-page .rooftop-one,.team-page .rooftop-two{grid-column-start:auto!important}
}

/* v27 — true proportional Team gallery: every photo gets exactly the same column width. */
@media(min-width:801px){
  .team-page .team-collage{
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    grid-auto-flow:dense!important;
  }
  .team-page .team-collage > .team-photo{
    grid-column:auto / span 4!important;
    margin-top:0!important;
  }
  .team-page .team-collage > .team-photo.rooftop-one,
  .team-page .team-collage > .team-photo.rooftop-two,
  .team-page .team-collage > .team-p10,
  .team-page .team-collage > .team-p14{
    grid-column:auto / span 4!important;
  }
}


/* v28 — placement-only refinement. v27 sizing/design preserved exactly. */
@media(min-width:801px){
  /* Keep the award portrait at the outer edge instead of the visual center. */
  .team-page .team-collage > .team-p10{grid-column:1 / span 4!important;}
}


/* v29 — What We Do impact page; existing site structure preserved */
.cap-copy-link{color:inherit;text-decoration:none;cursor:pointer}
.cap-copy-link .impact-link-label{display:inline-flex;align-items:center;gap:12px;margin-top:28px;font:600 12px/1 "DM Sans",sans-serif;letter-spacing:.14em;border-bottom:1px solid currentColor;padding-bottom:7px}
.cap-copy-link .impact-link-label b{font-size:17px;transition:transform .25s ease}
.cap-copy-link:hover .impact-link-label b{transform:translate(4px,-4px)}
.impact-page{background:#f6f5ef;color:#10151a}
.impact-hero{min-height:88vh;padding:160px 4vw 70px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.impact-hero:after{content:"";position:absolute;width:38vw;height:38vw;border-radius:50%;background:#b8ff32;right:-10vw;top:10vh;filter:blur(1px);z-index:0}
.impact-hero>*{position:relative;z-index:1}
.impact-kicker{font:600 11px/1 "DM Sans",sans-serif;letter-spacing:.18em;margin-bottom:42px}
.impact-hero h1{font:600 clamp(4.5rem,11.5vw,11rem)/.79 "Space Grotesk",sans-serif;letter-spacing:-.075em;margin:0;max-width:1100px}
.impact-hero h1 em{font-style:italic;font-weight:400;color:#275dff}
.impact-intro{margin-top:54px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px;border-top:1px solid #10151a;padding-top:22px}
.impact-intro p{font-size:clamp(1.05rem,1.6vw,1.5rem);max-width:650px;margin:0;line-height:1.35}
.impact-intro a{color:inherit;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.12em;white-space:nowrap}
.impact-numbers{background:#10151a;padding:7vw 4vw;display:grid;grid-template-columns:1fr 1fr;gap:2px}
.impact-stat{min-height:500px;padding:38px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.impact-stat-top{position:absolute;top:32px;left:38px;right:38px;display:flex;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.14em}
.impact-value{font:600 clamp(3.8rem,7.4vw,8rem)/.9 "Space Grotesk",sans-serif;letter-spacing:-.07em;white-space:nowrap}
.impact-stat h2{font:500 clamp(1.4rem,2.2vw,2.3rem)/1 "Space Grotesk",sans-serif;letter-spacing:-.04em;margin:18px 0 14px;max-width:620px}
.impact-stat p{max-width:470px;margin:0;line-height:1.45;font-size:14px}
.stat-charity{background:#b8ff32;color:#10151a}.stat-telecom{background:#275dff;color:#fff}.stat-energy{background:#f6f5ef;color:#10151a}.stat-health{background:#ef5b9c;color:#10151a}
.impact-banner{overflow:hidden;background:#b8ff32;color:#10151a;padding:18px 0;white-space:nowrap}
.impact-banner div{font:600 clamp(2.6rem,6vw,6rem)/.9 "Space Grotesk",sans-serif;letter-spacing:-.06em;transform:translateX(-2vw)}
.impact-banner i{font-style:normal;color:#fff;margin:0 .18em}
.impact-close{padding:10vw 4vw 8vw;min-height:75vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.impact-close h2{font:600 clamp(4rem,9vw,9rem)/.82 "Space Grotesk",sans-serif;letter-spacing:-.07em;margin:35px 0 28px}.impact-close h2 em{font-weight:400;color:#275dff}
.impact-close p{font-size:clamp(1.05rem,1.5vw,1.4rem);max-width:620px;line-height:1.45;margin:0 0 38px}
@media(max-width:800px){.impact-hero{padding:130px 20px 50px;min-height:78vh}.impact-hero:after{width:70vw;height:70vw;right:-25vw}.impact-intro{align-items:flex-start;flex-direction:column}.impact-numbers{grid-template-columns:1fr;padding:20px}.impact-stat{min-height:390px;padding:26px}.impact-stat-top{left:26px;right:26px;top:24px}.impact-value{font-size:14vw}.impact-close{padding:100px 20px}.cap-copy-link .impact-link-label{margin-top:20px}}

/* v30 — contact form + careers benefits; all prior sections preserved */
.drive-contact{padding-bottom:8vw}
.drive-contact-form{position:relative;z-index:2;margin-top:5vw;display:grid;grid-template-columns:1fr 1fr;gap:32px 7vw;max-width:1200px}
.drive-field{display:flex;flex-direction:column;align-items:stretch;text-align:left}.drive-field label{font:600 clamp(1.05rem,1.6vw,1.45rem)/1.2 "Space Grotesk",sans-serif;margin-bottom:13px}.drive-field label em{font:400 .65em/1 "DM Sans",sans-serif}.drive-field input,.drive-field textarea{width:100%;box-sizing:border-box;border:0;border-radius:12px;background:#fff;color:#10151a;font:400 1.05rem/1.3 "DM Sans",sans-serif;padding:20px;outline:none}.drive-field input{height:70px}.drive-field textarea{min-height:145px;resize:vertical}.drive-field input:focus,.drive-field textarea:focus{box-shadow:0 0 0 3px #275dff}.drive-field small{font-size:.82rem;opacity:.55;margin-top:10px}.drive-field-wide{grid-column:1 / 2}.drive-submit{justify-content:flex-end;align-items:flex-start}.drive-submit .contact-button{border:0;cursor:pointer;margin-top:auto}
.drive-benefits{padding:3vw 7vw 11vw}.benefits-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid #bfc0bb;padding-bottom:3vw;margin-bottom:5vw}.benefits-head h2{font:500 clamp(3rem,7vw,7rem)/.84 "Space Grotesk";letter-spacing:-.065em;margin:0}.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4.5vw 2vw}.benefits-grid article{min-height:180px;border-bottom:2px solid #10151a;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:18px}.benefit-icon{height:100px;display:flex;align-items:center;font:500 clamp(2.5rem,4.8vw,5rem)/1 "Space Grotesk";letter-spacing:-.08em;color:#275dff}.benefit-dog{letter-spacing:-.18em}.benefits-grid h3{font:500 clamp(1rem,1.35vw,1.3rem)/1.2 "DM Sans";margin:12px 0 0}
@media(max-width:800px){.drive-contact-form{grid-template-columns:1fr;gap:24px;margin-top:12vw}.drive-field-wide{grid-column:auto}.drive-submit{align-items:stretch}.drive-submit .contact-button{width:100%;text-align:center}.drive-benefits{padding:10vw 6vw 18vw}.benefits-head{display:block}.benefits-head h2{margin-top:20px}.benefits-grid{grid-template-columns:1fr 1fr;gap:10vw 5vw}.benefit-icon{height:70px;font-size:3rem}.benefits-grid article{min-height:150px}}


/* v31 — requested spacing polish + BALD-inspired horizontal benefits. No other sections changed. */
/* Keep client labels comfortably inside the cards, matching the reference spacing. */
.work-card.masonry .card-top{padding:24px 30px!important;left:auto!important;right:auto!important;top:auto!important;width:100%;box-sizing:border-box}
.work-card.masonry .card-bottom{padding:22px 30px!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%;box-sizing:border-box}
/* Give the moving cards breathing room so they never collide with the section heading. */
.work-masonry{margin-top:4.6vw!important}
.work-head .section-label{transform:translateY(-10px)}

/* Careers: wide editorial benefits row, playful kinetic line-art. */
.drive-benefits{padding:5vw 3vw 10vw;overflow:hidden}
.benefits-head{padding:0 0 2.2vw;margin:0 0 3.2vw;align-items:flex-end}
.benefits-head h2{font-size:clamp(3rem,5.4vw,6rem)}
.benefits-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3.8vw 1.7vw}
.benefits-grid article{min-width:0;min-height:205px;border-bottom:2px solid #10151a;padding:0 4px 17px;justify-content:flex-end;overflow:visible}
.benefit-icon{height:112px;color:#ff4d16;display:flex;align-items:center;font-size:inherit;overflow:visible}
.benefits-grid h3{font:500 clamp(.95rem,1.25vw,1.25rem)/1.15 "DM Sans";margin:8px 0 0;letter-spacing:-.025em}
.benefit-glyph{position:relative;display:block;width:92px;height:86px;transform-origin:50% 70%;animation:benefitBob 3.4s ease-in-out infinite}
.benefits-grid article:nth-child(2n) .benefit-glyph{animation-delay:-1.1s}.benefits-grid article:nth-child(3n) .benefit-glyph{animation-delay:-2.2s}
.benefit-glyph i,.benefit-glyph b,.benefit-glyph em{position:absolute;display:block;box-sizing:border-box;border:3px solid currentColor;background:transparent}
/* training — orbiting ideas */
.training i{width:50px;height:50px;border-radius:50%;left:19px;top:18px}.training b{width:12px;height:12px;border-radius:50%;left:0;top:5px;animation:orbitDot 3s linear infinite}.training em{width:18px;height:18px;border-radius:50%;right:0;bottom:2px}
/* growth — three rising organic blocks */
.growth i,.growth b,.growth em{bottom:8px;border-radius:50% 50% 44% 44%}.growth i{width:24px;height:30px;left:4px}.growth b{width:30px;height:45px;left:31px}.growth em{width:26px;height:62px;left:64px}
/* travel — looping route */
.travel i{width:76px;height:46px;border-radius:50%;left:5px;top:20px;border-style:dashed}.travel b{width:18px;height:18px;border-radius:50%;left:0;top:34px}.travel em{width:18px;height:18px;border-radius:50%;right:0;top:10px}
/* retreat — sun over horizon */
.retreat i{width:42px;height:42px;border-radius:50%;left:25px;top:5px}.retreat b{width:88px;height:44px;border-radius:50% 50% 0 0;left:2px;bottom:0;border-bottom:0}.retreat em{width:8px;height:8px;border-radius:50%;left:43px;top:22px;background:currentColor}
/* soccer — graphic ball */
.soccer i{width:64px;height:64px;border-radius:50%;left:14px;top:10px;animation:ballRoll 4s ease-in-out infinite}.soccer b{width:20px;height:20px;transform:rotate(45deg);left:36px;top:32px}.soccer em{width:9px;height:9px;border-radius:50%;right:3px;top:2px;background:currentColor}
/* cheers — two clinking glasses */
.cheers i,.cheers b{width:28px;height:45px;top:18px;border-radius:4px 4px 14px 14px}.cheers i{left:17px;transform:rotate(14deg)}.cheers b{left:49px;transform:rotate(-14deg)}.cheers em{width:8px;height:8px;border-radius:50%;left:43px;top:4px;background:currentColor;box-shadow:-13px 8px 0 currentColor,14px 10px 0 currentColor;border:0}
/* dog — floppy ears + nose */
.dog i{width:55px;height:48px;border-radius:48% 48% 42% 42%;left:19px;top:22px}.dog b{width:25px;height:35px;border-radius:70% 20% 60% 30%;left:4px;top:19px;transform:rotate(18deg)}.dog em{width:12px;height:9px;border-radius:50%;left:41px;top:47px;background:currentColor}
/* vibes — smile with floating dots */
.vibes i{width:60px;height:60px;border-radius:50%;left:16px;top:14px}.vibes b{width:9px;height:9px;border-radius:50%;left:31px;top:34px;background:currentColor;box-shadow:23px 0 0 currentColor;border:0}.vibes em{width:29px;height:14px;border-radius:0 0 30px 30px;left:32px;top:50px;border-top:0}
@keyframes benefitBob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(2deg)}}
@keyframes orbitDot{0%{transform:translate(0,0)}50%{transform:translate(73px,56px)}100%{transform:translate(0,0)}}
@keyframes ballRoll{0%,100%{transform:translateX(0) rotate(0)}50%{transform:translateX(13px) rotate(24deg)}}
@media(max-width:800px){
  .work-masonry{margin-top:38px!important}.work-head .section-label{transform:translateY(-5px)}
  .work-card.masonry .card-top{padding:20px 22px!important}.work-card.masonry .card-bottom{padding:18px 22px!important}
  .drive-benefits{padding:12vw 0 16vw 5vw;overflow:hidden}.benefits-head{margin-right:5vw;padding-right:0;margin-bottom:7vw}.benefits-head h2{margin-top:14px}
  .benefits-grid{display:flex!important;overflow-x:auto;gap:18px;padding:0 5vw 18px 0;scroll-snap-type:x mandatory;scrollbar-width:none}.benefits-grid::-webkit-scrollbar{display:none}
  .benefits-grid article{flex:0 0 68vw;min-height:190px;scroll-snap-align:start}.benefit-icon{height:105px}.benefit-glyph{transform:scale(.9)}
}

/* v32 — ONLY ticker continuity + clearer benefit illustrations/motion. */
/* Impact banner: continuous loop so the phrase never begins/ends clipped. */
.impact-banner{padding:18px 0!important;overflow:hidden!important;white-space:nowrap!important}
.impact-banner .impact-banner-track{display:flex!important;width:max-content!important;transform:none!important;animation:impactMarquee 18s linear infinite;will-change:transform}
.impact-banner .impact-banner-track span{display:block;flex:none;padding-right:.28em;font:600 clamp(2.6rem,6vw,6rem)/.9 "Space Grotesk",sans-serif;letter-spacing:-.06em}
.impact-banner .impact-banner-track i{font-style:normal;color:#fff;margin:0 .18em}
@keyframes impactMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Benefits: stop generic whole-icon bouncing; animate meaningful parts instead. */
.benefit-glyph{animation:none!important}
.benefit-glyph u{position:absolute;display:block;box-sizing:border-box;text-decoration:none;color:inherit}

/* Growth — three people/steps moving upward, rather than abstract blobs. */
.growth i,.growth b,.growth em{border-radius:50%;width:17px;height:17px;top:auto;background:transparent}
.growth i{left:8px;bottom:19px}.growth b{left:37px;bottom:35px}.growth em{left:66px;bottom:53px}
.growth i:after,.growth b:after,.growth em:after{content:"";position:absolute;width:23px;height:20px;border:3px solid currentColor;border-radius:14px 14px 5px 5px;left:-6px;top:18px;border-bottom:0}
.growth u{left:4px;bottom:3px;width:84px;height:3px;background:currentColor;transform:rotate(-22deg);transform-origin:left center}
.growth b{animation:growStep 2.4s ease-in-out infinite}.growth em{animation:growStep 2.4s .35s ease-in-out infinite}
@keyframes growStep{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* Travel — a tiny plane travels along a dotted route. */
.travel i{left:4px;top:18px;width:82px;height:48px;border:3px dashed currentColor;border-radius:50%;transform:rotate(-10deg)}
.travel b{left:7px;top:50px;width:11px;height:11px;border-radius:50%;background:currentColor}
.travel em{right:2px;top:13px;width:11px;height:11px;border-radius:50%;background:currentColor}
.travel u{width:25px;height:9px;left:8px;top:42px;border-top:4px solid currentColor;border-radius:80% 10% 10% 80%;animation:planeRoute 4s ease-in-out infinite}
.travel u:before,.travel u:after{content:"";position:absolute;left:9px;width:11px;border-top:3px solid currentColor;transform-origin:left}.travel u:before{top:-7px;transform:rotate(-35deg)}.travel u:after{top:2px;transform:rotate(35deg)}
@keyframes planeRoute{0%,100%{transform:translate(0,0) rotate(-8deg)}50%{transform:translate(56px,-29px) rotate(-8deg)}}

/* Retreat — palm/island with swaying leaves. */
.retreat i{width:62px;height:24px;left:14px;bottom:8px;top:auto;border-radius:50%;border-top:3px solid currentColor;border-left:0;border-right:0;border-bottom:0}
.retreat b{width:4px;height:58px;left:47px;bottom:13px;border:0;background:currentColor;transform:rotate(8deg);transform-origin:bottom}
.retreat em{width:36px;height:18px;left:39px;top:10px;border:3px solid currentColor;border-radius:100% 0 100% 0;transform:rotate(-18deg);transform-origin:4px 15px;animation:palmSway 2.6s ease-in-out infinite}
.retreat u{width:34px;height:17px;left:20px;top:12px;border:3px solid currentColor;border-radius:0 100% 0 100%;transform:rotate(12deg);transform-origin:30px 14px;animation:palmSway2 2.6s ease-in-out infinite}
@keyframes palmSway{50%{transform:rotate(-28deg)}}@keyframes palmSway2{50%{transform:rotate(22deg)}}

/* Soccer — keep the ball but let it roll/kick across its lane. */
.soccer i{animation:ballKick 3.2s ease-in-out infinite!important}.soccer em{animation:kickSpark 3.2s ease-in-out infinite}
@keyframes ballKick{0%,100%{transform:translateX(0) rotate(0)}45%{transform:translateX(24px) translateY(-7px) rotate(160deg)}70%{transform:translateX(12px) rotate(240deg)}}
@keyframes kickSpark{0%,35%,100%{opacity:0;transform:scale(.4)}45%,60%{opacity:1;transform:scale(1)}}

/* Happy hour — retain the glasses; add bubbles rising inside/above them. */
.cheers i{animation:glassClinkL 2.8s ease-in-out infinite}.cheers b{animation:glassClinkR 2.8s ease-in-out infinite}
.cheers em{animation:bubbleRise 2.2s ease-in-out infinite}
.cheers u{width:6px;height:6px;border:2px solid currentColor;border-radius:50%;left:31px;top:42px;box-shadow:28px 7px 0 -1px transparent;animation:bubbleRise2 2.5s .5s ease-in-out infinite}
@keyframes glassClinkL{0%,100%{transform:rotate(14deg)}45%,55%{transform:translateX(5px) rotate(22deg)}}
@keyframes glassClinkR{0%,100%{transform:rotate(-14deg)}45%,55%{transform:translateX(-5px) rotate(-22deg)}}
@keyframes bubbleRise{0%{transform:translateY(18px) scale(.6);opacity:0}30%{opacity:1}100%{transform:translateY(-13px) scale(1);opacity:0}}
@keyframes bubbleRise2{0%{transform:translateY(15px);opacity:0}35%{opacity:1}100%{transform:translateY(-22px);opacity:0}}

/* Office dog — recognizable head/body detail with a wagging tail. */
.dog i{width:54px;height:45px;border-radius:48% 48% 42% 42%;left:20px;top:25px}
.dog b{width:22px;height:33px;border-radius:70% 20% 60% 30%;left:7px;top:21px;transform:rotate(18deg);box-shadow:55px 2px 0 -3px transparent}
.dog i:before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:currentColor;left:12px;top:16px;box-shadow:24px 0 0 currentColor}
.dog em{width:12px;height:9px;border-radius:50%;left:41px;top:49px;background:currentColor}
.dog u{width:27px;height:14px;border:4px solid currentColor;border-left:0;border-bottom:0;border-radius:0 22px 0 0;right:-8px;top:42px;transform-origin:2px 11px;animation:tailWag .42s ease-in-out infinite alternate}
@keyframes tailWag{from{transform:rotate(-18deg)}to{transform:rotate(22deg)}}

/* Keep the already-liked training and vibes drawings; training retains its orbit motion. */
.training b{animation:orbitDot 3s linear infinite!important}
.vibes em{animation:smilePulse 2.8s ease-in-out infinite}
@keyframes smilePulse{50%{transform:scaleX(1.16) translateX(-2px)}}

@media(prefers-reduced-motion:reduce){.impact-banner .impact-banner-track,.benefit-glyph *{animation:none!important}}

/* v33 — refined benefit drawings + purposeful micro-motion only. */
/* Growth: bars + rising arrow. */
.growth i,.growth b,.growth em{border-radius:2px!important;top:auto!important;border:3px solid currentColor!important;border-bottom-width:3px!important;background:transparent!important;animation:none!important}
.growth i{width:18px!important;height:24px!important;left:8px!important;bottom:8px!important}.growth b{width:18px!important;height:38px!important;left:35px!important;bottom:8px!important}.growth em{width:18px!important;height:54px!important;left:62px!important;bottom:8px!important}
.growth i:after,.growth b:after,.growth em:after{display:none!important}.growth u{left:10px!important;top:16px!important;bottom:auto!important;width:70px!important;height:38px!important;background:none!important;border-top:4px solid currentColor;border-right:4px solid currentColor;border-radius:0 18px 0 0;transform:none!important;animation:growthRise 2.8s ease-in-out infinite}
.growth u:after{content:"";position:absolute;right:-5px;top:-8px;width:12px;height:12px;border-top:4px solid currentColor;border-right:4px solid currentColor;transform:rotate(12deg)}
@keyframes growthRise{0%,100%{transform:translateY(2px)}50%{transform:translateY(-5px)}}

/* Travel: plane follows the route and visibly exits beyond the route/circle. */
.travel{overflow:visible}.travel i{left:6px!important;top:25px!important;width:68px!important;height:34px!important;border:3px dashed currentColor!important;border-radius:50%!important;transform:rotate(-9deg)!important}.travel b{left:5px!important;top:48px!important;width:9px!important;height:9px!important}.travel em{right:12px!important;top:20px!important;width:9px!important;height:9px!important}
.travel u{width:27px!important;height:10px!important;left:6px!important;top:46px!important;border-top:4px solid currentColor!important;border-radius:80% 10% 10% 80%!important;animation:planeExit 4.2s ease-in-out infinite!important;z-index:3}
@keyframes planeExit{0%{transform:translate(0,0) rotate(-8deg);opacity:0}10%{opacity:1}65%{opacity:1}85%{transform:translate(91px,-50px) rotate(-8deg);opacity:1}100%{transform:translate(112px,-62px) rotate(-8deg);opacity:0}}

/* Retreat: keep island/palms; leaves sway independently. */
.retreat em{animation:palmSway 2.6s ease-in-out infinite!important}.retreat u{animation:palmSway2 2.6s -.7s ease-in-out infinite!important}

/* Soccer: ball actually shoots into a simple goal. */
.soccer{overflow:visible}.soccer i{width:28px!important;height:28px!important;left:2px!important;top:49px!important;border-radius:50%!important;background:transparent!important;animation:soccerShot 3.4s cubic-bezier(.55,.02,.45,1) infinite!important;z-index:3}
.soccer i:before,.soccer i:after{content:"";position:absolute;background:currentColor}.soccer i:before{width:8px;height:8px;border-radius:50%;left:7px;top:6px}.soccer i:after{width:7px;height:7px;border-radius:50%;right:5px;bottom:5px}.soccer b{width:48px!important;height:55px!important;left:43px!important;top:19px!important;border:4px solid currentColor!important;border-bottom-width:4px!important;transform:none!important;background:repeating-linear-gradient(45deg,transparent 0 9px,currentColor 10px 11px)!important;opacity:.9}.soccer em{width:16px!important;height:3px!important;left:12px!important;top:62px!important;right:auto!important;border:0!important;background:currentColor!important;animation:kickLine 3.4s ease-in-out infinite!important}
@keyframes soccerShot{0%,12%{transform:translate(0,0) rotate(0)}58%{transform:translate(49px,-22px) rotate(260deg)}72%,100%{transform:translate(55px,-18px) rotate(320deg)}}
@keyframes kickLine{0%,8%,70%,100%{opacity:0;transform:scaleX(.2)}18%,40%{opacity:1;transform:scaleX(1)}}

/* Happy hour: clink + bubbles. */
.cheers em{animation:bubbleRise 2.2s ease-in-out infinite!important}.cheers u{animation:bubbleRise2 2.5s .5s ease-in-out infinite!important}

/* Office dog: full little dog silhouette with a clearly wagging tail. */
.dog{width:110px;height:86px;overflow:visible}.dog i{width:52px!important;height:34px!important;left:32px!important;top:39px!important;border:3px solid currentColor!important;border-radius:48% 52% 45% 45%!important;background:transparent!important}
.dog i:before{content:""!important;position:absolute!important;width:34px!important;height:32px!important;left:-24px!important;top:-18px!important;border:3px solid currentColor!important;border-radius:48% 52% 45% 45%!important;background:#f6f5ef!important;box-shadow:none!important}
.dog i:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:currentColor;left:-15px;top:-8px;box-shadow:13px 0 0 currentColor}
.dog b{width:17px!important;height:25px!important;left:5px!important;top:17px!important;border:3px solid currentColor!important;border-radius:80% 20% 70% 30%!important;transform:rotate(20deg)!important;background:#f6f5ef!important;box-shadow:none!important}
.dog b:after{content:"";position:absolute;width:9px;height:7px;border-radius:50%;background:currentColor;left:22px;top:18px}
.dog em{width:4px!important;height:21px!important;left:42px!important;top:69px!important;border:0!important;border-radius:0!important;background:currentColor!important;box-shadow:28px 0 0 currentColor}
.dog u{width:31px!important;height:18px!important;right:-1px!important;left:auto!important;top:39px!important;border:4px solid currentColor!important;border-left:0!important;border-bottom:0!important;border-radius:0 24px 0 0!important;transform-origin:1px 14px!important;animation:tailWag .38s ease-in-out infinite alternate!important}

/* Good vibes: sunglasses subtly tip while smile breathes. */
.vibes i{animation:vibeFloat 3s ease-in-out infinite}.vibes em{animation:smilePulse 2.8s ease-in-out infinite!important}
@keyframes vibeFloat{0%,100%{transform:rotate(-2deg)}50%{transform:translateY(-4px) rotate(3deg)}}

@media(prefers-reduced-motion:reduce){.growth u,.travel u,.retreat em,.retreat u,.soccer i,.soccer em,.cheers i,.cheers b,.cheers em,.cheers u,.dog u,.vibes i,.vibes em,.training b{animation:none!important}}

/* v33 — polish the approved benefits artwork with purposeful micro-motion only. */
/* Keep the overall 4-column layout and typography from v32 unchanged. */

/* Internal growth: rising bars + a climbing accent. */
.growth i,.growth b,.growth em{border-radius:2px!important;border:0!important;background:currentColor!important;bottom:10px!important;top:auto!important}
.growth i{width:19px!important;height:22px!important;left:8px!important}.growth b{width:19px!important;height:38px!important;left:36px!important}.growth em{width:19px!important;height:57px!important;left:64px!important}
.growth i:after,.growth b:after,.growth em:after{display:none!important}.growth u{left:8px!important;bottom:32px!important;width:68px!important;height:36px!important;background:transparent!important;border-top:4px solid currentColor;border-right:4px solid currentColor;transform:skewY(-20deg) rotate(-13deg)!important;animation:growthLift 2.8s ease-in-out infinite}
@keyframes growthLift{0%,100%{transform:translateY(0) skewY(-20deg) rotate(-13deg)}50%{transform:translateY(-5px) skewY(-20deg) rotate(-13deg)}}

/* Travel: route stays put while the airplane flies beyond the route/circle. */
.travel{overflow:visible!important}.travel i{left:6px!important;top:24px!important;width:72px!important;height:39px!important;border:3px dashed currentColor!important;border-radius:50%!important;transform:rotate(-9deg)!important}.travel b{left:3px!important;top:53px!important;width:9px!important;height:9px!important;border-radius:50%!important;background:currentColor!important}.travel em{right:8px!important;top:16px!important;width:9px!important;height:9px!important;border-radius:50%!important;background:currentColor!important}
.travel u{left:8px!important;top:47px!important;width:28px!important;height:10px!important;border:0!important;border-top:4px solid currentColor!important;border-radius:80% 10% 10% 80%!important;animation:planeExit 4.6s cubic-bezier(.45,.02,.35,1) infinite!important;z-index:3}
.travel u:before,.travel u:after{content:"";position:absolute;left:10px;width:12px;border-top:3px solid currentColor;transform-origin:left}.travel u:before{top:-8px;transform:rotate(-36deg)}.travel u:after{top:2px;transform:rotate(36deg)}
@keyframes planeExit{0%{transform:translate(0,0) rotate(-10deg);opacity:0}8%{opacity:1}62%{opacity:1}82%{transform:translate(105px,-55px) rotate(-10deg);opacity:1}83%,100%{transform:translate(105px,-55px) rotate(-10deg);opacity:0}}

/* Retreat: subtle palm sway and a tiny sun drift. */
.retreat em{animation:palmSway 3s ease-in-out infinite!important}.retreat u{animation:palmSway2 3s ease-in-out infinite!important}.retreat i:after{content:"";position:absolute;width:13px;height:13px;border:3px solid currentColor;border-radius:50%;right:-10px;top:-34px;animation:sunDrift 4s ease-in-out infinite}
@keyframes sunDrift{50%{transform:translateY(-5px)}}

/* Soccer: unmistakable goal + ball traveling into the net. */
.soccer i{width:50px!important;height:47px!important;left:38px!important;top:20px!important;border:3px solid currentColor!important;border-left-width:4px!important;border-radius:1px!important;background:repeating-linear-gradient(90deg,transparent 0 10px,currentColor 10px 12px),repeating-linear-gradient(0deg,transparent 0 10px,currentColor 10px 12px)!important;animation:none!important;opacity:.9}
.soccer b{width:25px!important;height:25px!important;left:3px!important;top:43px!important;border:3px solid currentColor!important;border-radius:50%!important;transform:none!important;background:transparent!important;animation:soccerGoal 3.8s cubic-bezier(.45,.05,.25,1) infinite!important;z-index:3}
.soccer b:before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:currentColor;left:6px;top:6px;box-shadow:8px 4px 0 -1px currentColor,-3px 9px 0 -1px currentColor}
.soccer em{width:25px!important;height:3px!important;left:4px!important;top:55px!important;border:0!important;background:currentColor!important;box-shadow:-12px -7px 0 -1px currentColor,-20px 6px 0 -1px currentColor;animation:speedLines 3.8s ease-in-out infinite!important}
@keyframes soccerGoal{0%,12%{transform:translate(0,0) rotate(0)}65%,82%{transform:translate(48px,-18px) rotate(280deg)}100%{transform:translate(48px,-18px) rotate(280deg)}}
@keyframes speedLines{0%,12%{opacity:0}22%,58%{opacity:1;transform:translateX(0)}70%,100%{opacity:0;transform:translateX(18px)}}

/* Happy hour: clink + bubbles rather than whole-icon bounce. */
.cheers i{animation:glassClinkL 3s ease-in-out infinite!important}.cheers b{animation:glassClinkR 3s ease-in-out infinite!important}.cheers em{animation:bubbleRise 2.25s ease-in-out infinite!important}.cheers u{animation:bubbleRise2 2.55s .55s ease-in-out infinite!important}

/* Office dog: clear full dog silhouette; only the tail wags and ear perks. */
.dog{width:112px!important;height:86px!important;overflow:visible!important}.dog i{width:59px!important;height:34px!important;left:32px!important;top:38px!important;border:3px solid currentColor!important;border-radius:48% 45% 42% 42%!important;background:transparent!important}
.dog i:before{content:""!important;position:absolute!important;width:32px!important;height:31px!important;border:3px solid currentColor!important;border-radius:48%!important;background:#f6f5ef!important;left:-22px!important;top:-17px!important;box-shadow:none!important}
.dog i:after{content:"";position:absolute;width:15px;height:18px;border:3px solid currentColor;border-radius:70% 20% 65% 25%;left:-26px;top:-18px;transform:rotate(24deg);transform-origin:bottom right;animation:dogEar 2.4s ease-in-out infinite}
.dog b{width:7px!important;height:18px!important;left:45px!important;top:67px!important;border:0!important;border-left:3px solid currentColor!important;border-radius:0!important;transform:none!important;box-shadow:33px 0 0 -2px currentColor!important}
.dog b:before{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:currentColor;left:-27px;top:-36px;box-shadow:11px 0 0 currentColor}
.dog em{width:7px!important;height:6px!important;left:15px!important;top:38px!important;border:0!important;border-radius:50%!important;background:currentColor!important}
.dog u{width:30px!important;height:17px!important;right:-7px!important;top:37px!important;border:4px solid currentColor!important;border-left:0!important;border-bottom:0!important;border-radius:0 24px 0 0!important;transform-origin:2px 13px!important;animation:tailWag .38s ease-in-out infinite alternate!important}
@keyframes dogEar{0%,100%{transform:rotate(24deg)}50%{transform:rotate(10deg)}}

/* Good vibes: gentle sunglasses/smile pulse. */
.vibes{animation:vibesFloat 3.6s ease-in-out infinite!important}.vibes em{animation:smilePulse 2.8s ease-in-out infinite!important}
@keyframes vibesFloat{50%{transform:translateY(-4px) rotate(1deg)}}

@media(prefers-reduced-motion:reduce){.benefit-glyph,.benefit-glyph *{animation:none!important}}

/* v34 — use the approved Good Stuff artwork exactly, with light motion overlays. */
.drive-benefits{position:relative;padding:0!important;background:#f6f5ef;overflow:hidden}
.drive-benefits .benefits-head,.drive-benefits .benefits-grid{display:none!important}
.drive-benefits::before{content:"";display:block;width:100%;aspect-ratio:1792/1024;background:url('assets_goodstuff.png') center/100% 100% no-repeat}
.goodstuff-motion{position:absolute;inset:0;pointer-events:none}
.goodstuff-motion .plane{position:absolute;left:53.3%;top:25.5%;width:3.4%;aspect-ratio:1;background:#10151a;clip-path:polygon(0 42%,35% 35%,47% 0,61% 3%,59% 34%,100% 23%,100% 39%,61% 55%,70% 94%,57% 96%,43% 62%,13% 72%);animation:drivePlane 4.8s ease-in-out infinite}
.goodstuff-motion .bubble{position:absolute;border-radius:50%;background:#b8ff32;opacity:0;animation:drinkBubble 2.5s ease-out infinite}
.goodstuff-motion .b1{left:38.1%;top:66%;width:.48%;aspect-ratio:1}.goodstuff-motion .b2{left:39%;top:64.5%;width:.35%;aspect-ratio:1;animation-delay:.7s}.goodstuff-motion .b3{left:37.4%;top:65.2%;width:.28%;aspect-ratio:1;animation-delay:1.35s}
.goodstuff-motion .tail{position:absolute;left:66.45%;top:65.3%;width:2.1%;height:1.3%;border-top:5px solid #b8ff32;border-radius:50%;transform-origin:left center;animation:dogTail .45s ease-in-out infinite alternate}
@keyframes drivePlane{0%,12%{transform:translate(0,0) rotate(-10deg);opacity:1}65%{transform:translate(-95%,-85%) rotate(-28deg);opacity:1}82%,100%{transform:translate(-170%,-155%) rotate(-38deg);opacity:0}}
@keyframes drinkBubble{0%{transform:translateY(10px) scale(.5);opacity:0}25%{opacity:.95}100%{transform:translateY(-34px) scale(1);opacity:0}}
@keyframes dogTail{from{transform:rotate(-22deg)}to{transform:rotate(26deg)}}
@media(max-width:800px){.drive-benefits{overflow-x:auto}.drive-benefits::before{width:1180px;min-height:674px}.goodstuff-motion{width:1180px}.goodstuff-motion .tail{border-top-width:4px}}
@media(prefers-reduced-motion:reduce){.goodstuff-motion *{animation:none!important}}


/* v35 — verified motion on all eight approved Good Stuff illustrations. */
.goodstuff-motion .training-move{position:absolute;left:15.05%;top:32.7%;width:1.55%;aspect-ratio:1;background:#b8ff32;clip-path:polygon(0 0,100% 48%,57% 60%,75% 100%,58% 100%,42% 64%,0 84%);transform-origin:35% 45%;animation:trainingClick 1.9s ease-in-out infinite}
.goodstuff-motion .growth-move{position:absolute;left:37.0%;top:28.1%;width:1.15%;aspect-ratio:1;border-radius:50%;background:#b8ff32;box-shadow:-1.15vw 1.2vw 0 -.18vw #b8ff32,-2.2vw 2.25vw 0 -.28vw #b8ff32;animation:growthRise 2.6s cubic-bezier(.4,0,.2,1) infinite}
.goodstuff-motion .retreat-move{position:absolute;left:88.2%;top:28.2%;width:2.7%;aspect-ratio:1;border-radius:50%;background:#b8ff32;animation:retreatSun 3.2s ease-in-out infinite}
.goodstuff-motion .soccer-move{position:absolute;left:10.7%;top:61.1%;width:2.65%;aspect-ratio:1;border-radius:50%;background:#f6f5ef;border:4px solid #10151a;box-sizing:border-box;animation:soccerGoal 2.9s cubic-bezier(.45,.05,.35,1) infinite}
.goodstuff-motion .soccer-move:before,.goodstuff-motion .soccer-move:after{content:"";position:absolute;background:#10151a;left:28%;top:25%;width:44%;height:44%;clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%)}
.goodstuff-motion .soccer-move:after{width:18%;height:18%;left:5%;top:58%;clip-path:none;border-radius:50%;box-shadow:2.05vw -1.15vw 0 #10151a}
.goodstuff-motion .vibes-move{position:absolute;left:85.15%;top:59.1%;width:5.2%;height:4.4%;border-top:5px solid #10151a;border-radius:50%;animation:vibesTilt 2.4s ease-in-out infinite}
.goodstuff-motion .vibes-move:before,.goodstuff-motion .vibes-move:after{content:"";position:absolute;top:-8px;width:38%;height:18px;background:#10151a;border-radius:3px 3px 10px 10px}
.goodstuff-motion .vibes-move:before{left:5%;transform:rotate(5deg)}.goodstuff-motion .vibes-move:after{right:5%;transform:rotate(-5deg)}
@keyframes trainingClick{0%,100%{transform:translate(0,0) rotate(-4deg)}45%{transform:translate(-7px,-6px) rotate(4deg)}55%{transform:translate(-5px,-4px) scale(.88) rotate(4deg)}}
@keyframes growthRise{0%{transform:translate(-16px,16px) scale(.65);opacity:0}22%{opacity:1}70%{transform:translate(8px,-12px) scale(1);opacity:1}100%{transform:translate(15px,-22px) scale(.8);opacity:0}}
@keyframes retreatSun{0%,100%{transform:translateY(0) scale(.92);filter:brightness(1)}50%{transform:translateY(-8px) scale(1.08);filter:brightness(1.08)}}
@keyframes soccerGoal{0%,12%{transform:translate(-28px,10px) rotate(0);opacity:0}18%{opacity:1}68%{transform:translate(32px,-3px) rotate(420deg);opacity:1}82%{transform:translate(48px,-7px) rotate(540deg) scale(.72);opacity:1}100%{transform:translate(52px,-8px) rotate(580deg) scale(.55);opacity:0}}
@keyframes vibesTilt{0%,100%{transform:translateY(0) rotate(-2deg)}45%{transform:translateY(-5px) rotate(3deg)}55%{transform:translateY(-5px) rotate(1deg)}}
/* Make the existing approved motions more obvious without changing the artwork. */
.goodstuff-motion .plane{animation-duration:4s!important}
.goodstuff-motion .bubble{animation-duration:1.9s!important}
.goodstuff-motion .tail{animation-duration:.32s!important}
@media(max-width:800px){.goodstuff-motion .soccer-move{border-width:3px}.goodstuff-motion .vibes-move{border-top-width:4px}}
@media(prefers-reduced-motion:reduce){.goodstuff-motion *{animation:none!important}}

/* v36 — Option 1 clean-line benefits. Black artwork is static; ONLY lime accents move, very subtly. */
.option1-benefits{display:block!important;background:#f6f5ef!important;padding:7vw 3vw 8vw!important;overflow:hidden!important}
.option1-benefits::before{display:none!important}
.option1-benefits .benefits-head{display:block!important;margin:0 0 4vw 1vw}
.option1-benefits .benefits-head h2{font:600 clamp(3.2rem,6.5vw,7rem)/.82 "Space Grotesk";letter-spacing:-.06em;margin:.6vw 0 0}
.option1-benefits .option1-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:4.2vw 2.2vw}
.option1-benefits article{min-width:0;border-bottom:2px solid #10151a;padding:0 .4vw 1.25vw}
.option1-benefits svg{display:block;width:100%;height:auto;aspect-ratio:1.6/1;margin:0 0 .4vw;overflow:visible}
.option1-benefits .ink{fill:none;stroke:#10151a;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.option1-benefits .lime{fill:none;stroke:#b8ff32;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;transform-box:fill-box;transform-origin:center}
.option1-benefits .lime circle{fill:#b8ff32;stroke:none}
.option1-benefits h3{font:600 clamp(1rem,1.5vw,1.45rem)/1.15 "Space Grotesk";letter-spacing:-.035em;margin:.4vw 0 0}
/* Every animation is intentionally tiny: black artwork never moves. */
.lime-training{animation:limePulse 3.8s ease-in-out infinite}
.lime-growth{animation:limeLift 4.2s ease-in-out infinite}
.lime-travel{animation:limeDraw 4.6s ease-in-out infinite;stroke-dasharray:180;stroke-dashoffset:0}
.lime-retreat{animation:limeSun 4.8s ease-in-out infinite}
.lime-soccer{animation:limeStreak 3.9s ease-in-out infinite}
.lime-cheers circle:nth-child(1){animation:limeBubble 3.1s ease-in-out infinite}.lime-cheers circle:nth-child(2){animation:limeBubble 3.1s .65s ease-in-out infinite}.lime-cheers circle:nth-child(3){animation:limeBubble 3.1s 1.2s ease-in-out infinite}
.lime-dog{animation:limeWag 1.4s ease-in-out infinite alternate;transform-origin:10% 70%}
.lime-vibes{animation:limePulse 3.5s .4s ease-in-out infinite}
@keyframes limePulse{0%,100%{opacity:.72;transform:scale(.985)}50%{opacity:1;transform:scale(1.025)}}
@keyframes limeLift{0%,100%{transform:translateY(1px)}50%{transform:translateY(-4px)}}
@keyframes limeDraw{0%,100%{stroke-dashoffset:0;opacity:.8}50%{stroke-dashoffset:-13;opacity:1}}
@keyframes limeSun{0%,100%{transform:translate(0,1px) scale(.98);opacity:.82}50%{transform:translate(2px,-3px) scale(1.03);opacity:1}}
@keyframes limeStreak{0%,100%{transform:translateX(-1px);opacity:.7}50%{transform:translateX(4px);opacity:1}}
@keyframes limeBubble{0%,100%{transform:translateY(2px) scale(.9);opacity:.55}50%{transform:translateY(-5px) scale(1.05);opacity:1}}
@keyframes limeWag{from{transform:rotate(-4deg)}to{transform:rotate(5deg)}}
@media(max-width:800px){.option1-benefits{padding:14vw 6vw}.option1-benefits .option1-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12vw 5vw}.option1-benefits article{padding-bottom:3vw}.option1-benefits h3{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.option1-benefits .lime,.option1-benefits .lime *{animation:none!important}}

/* v37 — exact approved Option 1 direction. Black linework stays fixed; lime accents move only a few pixels. */
.option1-benefits .ink{transform:none!important;animation:none!important}
.option1-benefits .lime{will-change:transform,opacity}
.option1-benefits .lime-training{animation:v37Pulse 5.2s ease-in-out infinite!important}
.option1-benefits .lime-growth{animation:v37Lift 5.6s ease-in-out infinite!important}
.option1-benefits .lime-travel{animation:v37Flow 6s ease-in-out infinite!important;stroke-dasharray:220;stroke-dashoffset:0}
.option1-benefits .lime-retreat{animation:v37Drift 6.4s ease-in-out infinite!important}
.option1-benefits .lime-soccer{animation:v37Streak 5.1s ease-in-out infinite!important}
.option1-benefits .lime-cheers circle:nth-child(1){animation:v37Bubble 4.6s ease-in-out infinite!important}
.option1-benefits .lime-cheers circle:nth-child(2){animation:v37Bubble 4.6s .7s ease-in-out infinite!important}
.option1-benefits .lime-cheers circle:nth-child(3){animation:v37Bubble 4.6s 1.3s ease-in-out infinite!important}
.option1-benefits .lime-dog{animation:v37Wag 2.6s ease-in-out infinite alternate!important;transform-origin:8% 70%}
.option1-benefits .lime-vibes{animation:v37Pulse 5.4s .4s ease-in-out infinite!important}
@keyframes v37Pulse{0%,100%{opacity:.82;transform:scale(.995)}50%{opacity:1;transform:scale(1.012)}}
@keyframes v37Lift{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes v37Flow{0%,100%{stroke-dashoffset:0;opacity:.82}50%{stroke-dashoffset:-7;opacity:1}}
@keyframes v37Drift{0%,100%{transform:translate(0,0)}50%{transform:translate(1.5px,-2px)}}
@keyframes v37Streak{0%,100%{transform:translateX(0);opacity:.82}50%{transform:translateX(3px);opacity:1}}
@keyframes v37Bubble{0%,100%{transform:translateY(1px);opacity:.65}50%{transform:translateY(-4px);opacity:1}}
@keyframes v37Wag{from{transform:rotate(-2deg)}to{transform:rotate(3deg)}}

/* v38 — EXACT Option 1 artwork from the approved reference. No redesign. Only original lime pixels move. */
.exact-option1-grid .exact-art{position:relative;width:100%;aspect-ratio:256/137;margin:0 0 .4vw;overflow:visible}
.exact-option1-grid .exact-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.exact-option1-grid .exact-base{z-index:1;animation:none!important;transform:none!important}
.exact-option1-grid .exact-lime{z-index:2;will-change:transform,opacity;transform-origin:center}
.exact-option1-grid .training .exact-lime{animation:exactPulse 5.4s ease-in-out infinite}
.exact-option1-grid .growth .exact-lime{animation:exactLift 5.8s ease-in-out infinite}
.exact-option1-grid .travel .exact-lime{animation:exactTravel 6.2s ease-in-out infinite}
.exact-option1-grid .retreats .exact-lime{animation:exactDrift 6.4s ease-in-out infinite}
.exact-option1-grid .soccer .exact-lime{animation:exactShift 5.2s ease-in-out infinite}
.exact-option1-grid .happy .exact-lime{animation:exactBubbles 4.8s ease-in-out infinite}
.exact-option1-grid .dog .exact-lime{animation:exactWag 2.8s ease-in-out infinite alternate;transform-origin:77% 55%}
.exact-option1-grid .vibes .exact-lime{animation:exactPulse 5.6s .35s ease-in-out infinite}
@keyframes exactPulse{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.012);opacity:1}}
@keyframes exactLift{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes exactTravel{0%,100%{transform:translate(0,0)}50%{transform:translate(2px,-1px)}}
@keyframes exactDrift{0%,100%{transform:translate(0,0)}50%{transform:translate(1.5px,-2px)}}
@keyframes exactShift{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}
@keyframes exactBubbles{0%,100%{transform:translateY(1px);opacity:.82}50%{transform:translateY(-4px);opacity:1}}
@keyframes exactWag{from{transform:rotate(-1.5deg)}to{transform:rotate(2deg)}}
@media(prefers-reduced-motion:reduce){.exact-option1-grid .exact-lime{animation:none!important}}

/* v39 — verified against the original Option 1 Clean Line source artwork.
   Exact top-row artwork is preserved. Black artwork is stationary; only extracted lime pixels move subtly. */
.exact-option1-grid .exact-art{aspect-ratio:271/163!important;margin:0 0 .4vw!important;overflow:visible!important}
.exact-option1-grid .exact-art img{object-fit:contain!important;object-position:center center!important}
.exact-option1-grid .exact-base{animation:none!important;transform:none!important;z-index:1!important}
.exact-option1-grid .exact-lime{z-index:2!important;will-change:transform,opacity}
.exact-option1-grid .training .exact-lime{animation:v39Pulse 5.8s ease-in-out infinite!important}
.exact-option1-grid .growth .exact-lime{animation:v39Lift 6.2s ease-in-out infinite!important}
.exact-option1-grid .travel .exact-lime{animation:v39Drift 6.4s ease-in-out infinite!important}
.exact-option1-grid .retreats .exact-lime{animation:v39Drift 6.8s .2s ease-in-out infinite!important}
.exact-option1-grid .soccer .exact-lime{animation:v39Shift 5.8s ease-in-out infinite!important}
.exact-option1-grid .happy .exact-lime{animation:v39Lift 5.4s .2s ease-in-out infinite!important}
.exact-option1-grid .dog .exact-lime{animation:v39Wag 3.2s ease-in-out infinite alternate!important;transform-origin:73% 52%!important}
.exact-option1-grid .vibes .exact-lime{animation:v39Pulse 6s .35s ease-in-out infinite!important}
@keyframes v39Pulse{0%,100%{transform:scale(1);opacity:.94}50%{transform:scale(1.008);opacity:1}}
@keyframes v39Lift{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes v39Drift{0%,100%{transform:translate(0,0)}50%{transform:translate(1.5px,-1px)}}
@keyframes v39Shift{0%,100%{transform:translateX(0)}50%{transform:translateX(2px)}}
@keyframes v39Wag{from{transform:rotate(-1deg)}to{transform:rotate(1.5deg)}}

/* v40 — EXACT user-approved Option 1 reference artwork.
   One full-width composition preserves original image sizes, spacing, centering and labels.
   Black/reference base never moves. ONLY original lime pixels move by ~1px. */
.option1-benefits .option1-reference-motion{position:relative;width:100%;aspect-ratio:2048/245;margin:0;overflow:visible}
.option1-benefits .option1-reference-motion img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill;max-width:none}
.option1-benefits .option1-reference-base{z-index:1;transform:none!important;animation:none!important}
.option1-benefits .option1-reference-lime{z-index:2;pointer-events:none;transform:translate3d(0,0,0);animation:v40LimeMicroMotion 5.8s ease-in-out infinite!important;will-change:transform}
@keyframes v40LimeMicroMotion{0%,100%{transform:translate3d(0,0,0)}35%{transform:translate3d(.8px,-.7px,0)}68%{transform:translate3d(-.6px,.5px,0)}}
@media(max-width:800px){.option1-benefits{overflow-x:auto!important}.option1-benefits .option1-reference-motion{width:1180px;min-width:1180px}}
@media(prefers-reduced-motion:reduce){.option1-benefits .option1-reference-lime{animation:none!important}}

/* v41 — EXACT approved Option 1 reference, rearranged only into 4 + 4.
   Every card is a direct 1/8 crop of the approved source so artwork, type, scale,
   spacing inside each tile and underline are unchanged. Black/base stays still.
   ONLY the original lime pixel layer moves. */
.option1-benefits .option1-reference-motion{display:none!important}
.option1-benefits .option1-reference-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:0!important;
  row-gap:2.4vw!important;
  width:100%;
}
.option1-benefits .option1-reference-card{min-width:0;overflow:visible}
.option1-benefits .option1-reference-art{
  position:relative;
  width:100%;
  aspect-ratio:256/245;
  overflow:visible;
}
.option1-benefits .option1-reference-art img{
  position:absolute;inset:0;width:100%;height:100%;display:block;
  object-fit:fill;max-width:none;
}
.option1-benefits .option1-card-base{z-index:1!important;transform:none!important;animation:none!important}
.option1-benefits .option1-card-lime{
  z-index:2!important;pointer-events:none;will-change:transform,opacity;
  transform:translate3d(0,0,0);
}
/* intentionally visible but restrained: 2–4px travel at desktop tile size */
.option1-reference-card.training .option1-card-lime{animation:v41Pulse 3.2s ease-in-out infinite!important}
.option1-reference-card.growth .option1-card-lime{animation:v41Up 3.6s ease-in-out infinite!important}
.option1-reference-card.travel .option1-card-lime{animation:v41Travel 3.8s ease-in-out infinite!important}
.option1-reference-card.retreats .option1-card-lime{animation:v41Sun 4s ease-in-out infinite!important}
.option1-reference-card.soccer .option1-card-lime{animation:v41Right 3.4s ease-in-out infinite!important}
.option1-reference-card.happy .option1-card-lime{animation:v41Up 3s ease-in-out infinite!important}
.option1-reference-card.dog .option1-card-lime{animation:v41Wag 1.6s ease-in-out infinite alternate!important;transform-origin:78% 45%}
.option1-reference-card.vibes .option1-card-lime{animation:v41Pulse 3.3s .25s ease-in-out infinite!important}
@keyframes v41Pulse{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.018);opacity:1}}
@keyframes v41Up{0%,100%{transform:translate3d(0,1px,0)}50%{transform:translate3d(0,-4px,0)}}
@keyframes v41Travel{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-3px,-3px,0)}}
@keyframes v41Sun{0%,100%{transform:translate3d(0,1px,0)}50%{transform:translate3d(2px,-3px,0)}}
@keyframes v41Right{0%,100%{transform:translate3d(-1px,0,0)}50%{transform:translate3d(4px,0,0)}}
@keyframes v41Wag{from{transform:rotate(-1.2deg)}to{transform:rotate(1.8deg)}}
@media(max-width:800px){
  .option1-benefits .option1-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:6vw!important}
}

/* v42 — exact Option 1 art from the approved reference, 4 + 4.
   High-resolution art layers for crisp rendering. Labels/rules are live HTML for sharp type.
   Only the original lime pixels animate; all black artwork remains fixed. */
.v42-crisp-benefits .option1-reference-grid,.v42-crisp-benefits .exact-option1-grid,.v42-crisp-benefits .option1-reference-motion{display:none!important}
.v42-crisp-benefits .v42-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:2.3vw;row-gap:4.2vw;width:100%;align-items:start}
.v42-crisp-benefits .v42-card{min-width:0}
.v42-crisp-benefits .v42-art{position:relative;width:100%;aspect-ratio:256/175;overflow:visible}
.v42-crisp-benefits .v42-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block;max-width:none}
.v42-crisp-benefits .v42-base{z-index:1;animation:none!important;transform:none!important}
.v42-crisp-benefits .v42-lime{z-index:2;pointer-events:none;will-change:transform,opacity;transform:translate3d(0,0,0)}
.v42-crisp-benefits .v42-label{font-family:"DM Sans",sans-serif;font-size:clamp(.95rem,1.28vw,1.32rem);font-weight:500;line-height:1.15;letter-spacing:-.025em;white-space:nowrap;margin-top:.65vw;color:#10151a;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}
.v42-crisp-benefits .v42-rule{height:1.5px;background:#10151a;width:100%;margin-top:1.15vw}
.v42-card.training .v42-lime{animation:v42Pulse 4.8s ease-in-out infinite}
.v42-card.growth .v42-lime{animation:v42Lift 5.2s ease-in-out infinite}
.v42-card.travel .v42-lime{animation:v42Drift 5.4s ease-in-out infinite}
.v42-card.retreats .v42-lime{animation:v42Sun 5.6s ease-in-out infinite}
.v42-card.soccer .v42-lime{animation:v42Shift 4.9s ease-in-out infinite}
.v42-card.happy .v42-lime{animation:v42Bubble 4.6s ease-in-out infinite}
.v42-card.dog .v42-lime{animation:v42Wag 2.8s ease-in-out infinite alternate;transform-origin:82% 56%}
.v42-card.vibes .v42-lime{animation:v42Pulse 5s .2s ease-in-out infinite}
@keyframes v42Pulse{0%,100%{transform:scale(1);opacity:.94}50%{transform:scale(1.012);opacity:1}}
@keyframes v42Lift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-3px,0)}}
@keyframes v42Drift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-3px,-2px,0)}}
@keyframes v42Sun{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(2px,-2px,0)}}
@keyframes v42Shift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(3px,0,0)}}
@keyframes v42Bubble{0%,100%{transform:translate3d(0,1px,0);opacity:.9}50%{transform:translate3d(0,-3px,0);opacity:1}}
@keyframes v42Wag{from{transform:rotate(-1deg)}to{transform:rotate(1.6deg)}}
@media(max-width:800px){.v42-crisp-benefits .v42-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7vw 4vw}.v42-crisp-benefits .v42-label{font-size:3.4vw;white-space:normal}.v42-crisp-benefits .v42-rule{margin-top:2.5vw}}
@media(prefers-reduced-motion:reduce){.v42-crisp-benefits .v42-lime{animation:none!important}}

/* v43 — ONLY requested correction: Office Dog artwork size.
   Keep every other card, spacing, typography and animation exactly as v42. */
.v42-crisp-benefits .v42-card.dog .v42-art{
  transform:scale(1.72);
  transform-origin:center bottom;
}

/* v44 exact approved Option 1: equal canvases, 4+4, lime-only motion */
.v44-exact-benefits .v42-grid,.v44-exact-benefits .option1-reference-grid,.v44-exact-benefits .exact-option1-grid,.v44-exact-benefits .option1-reference-motion{display:none!important}
.v44-exact-benefits .v44-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:2.35vw;row-gap:4.2vw;width:100%;align-items:start}
.v44-exact-benefits .v44-card{min-width:0}
.v44-exact-benefits .v44-art{position:relative;width:100%;aspect-ratio:271.5/160;overflow:visible}
.v44-exact-benefits .v44-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center center;display:block;max-width:none}
.v44-exact-benefits .v44-base{z-index:1;transform:none!important;animation:none!important}
.v44-exact-benefits .v44-lime{z-index:2;pointer-events:none;will-change:transform,opacity;transform:translate3d(0,0,0)}
.v44-exact-benefits .v44-label{font-family:"DM Sans",sans-serif;font-size:clamp(.95rem,1.28vw,1.32rem);font-weight:500;line-height:1.15;letter-spacing:-.025em;white-space:nowrap;margin-top:.65vw;color:#10151a;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}
.v44-exact-benefits .v44-rule{height:1.5px;background:#10151a;width:100%;margin-top:1.15vw}
.v44-card.training .v44-lime{animation:v44Pulse 4.8s ease-in-out infinite}.v44-card.growth .v44-lime{animation:v44Lift 5.2s ease-in-out infinite}.v44-card.travel .v44-lime{animation:v44Travel 5.4s ease-in-out infinite}.v44-card.retreats .v44-lime{animation:v44Sun 5.6s ease-in-out infinite}.v44-card.soccer .v44-lime{animation:v44Shift 4.9s ease-in-out infinite}.v44-card.happy .v44-lime{animation:v44Bubble 4.6s ease-in-out infinite}.v44-card.dog .v44-lime{animation:v44Wag 2.8s ease-in-out infinite alternate;transform-origin:78% 52%}.v44-card.vibes .v44-lime{animation:v44Pulse 5s .2s ease-in-out infinite}
@keyframes v44Pulse{0%,100%{transform:scale(1);opacity:.94}50%{transform:scale(1.015);opacity:1}}@keyframes v44Lift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-4px,0)}}@keyframes v44Travel{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-4px,-2px,0)}}@keyframes v44Sun{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(2px,-3px,0)}}@keyframes v44Shift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(4px,0,0)}}@keyframes v44Bubble{0%,100%{transform:translate3d(0,1px,0);opacity:.92}50%{transform:translate3d(0,-4px,0);opacity:1}}@keyframes v44Wag{from{transform:rotate(-1.2deg)}to{transform:rotate(1.8deg)}}
@media(max-width:800px){.v44-exact-benefits .v44-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7vw 4vw}.v44-exact-benefits .v44-label{font-size:3.4vw;white-space:normal}.v44-exact-benefits .v44-rule{margin-top:2.5vw}}
@media(prefers-reduced-motion:reduce){.v44-exact-benefits .v44-lime{animation:none!important}}

.v44-exact-benefits .v44-art .benefit-gif{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block;max-width:none;}

/* v46 approved combined benefits animation only */
.v44-grid.v46-combined-grid{display:block!important;width:100%!important;}
.v46-benefits-gif{display:block;width:100%;height:auto;object-fit:contain;}
\n\n/* v47 — requested homepage order, tighter spacing, stronger T-Mobile/Spectrum graphics */
/* Stronger background graphics only; client typography and card geometry stay intact. */
.tmo-card .magenta-bars{inset:-8%!important;background:repeating-linear-gradient(90deg,#10151a 0 14%,transparent 14% 23%)!important;transform:skewY(-10deg) rotate(-7deg)!important;opacity:1!important}
.tmo-card .plus{font-size:12vw!important;color:#b8ff32!important;right:7%!important;top:3%!important;opacity:1!important}
.spectrum-card .spectrum-lines{inset:-28%!important;background:repeating-linear-gradient(135deg,#275dff 0 8%,#f6f5ef 8% 14%,#b8ff32 14% 22%,#10151a 22% 28%)!important;transform:rotate(-8deg)!important;opacity:1!important}
.spectrum-card .bolt{font-size:10vw!important;color:#fff!important;text-shadow:0 2px 0 #10151a;opacity:1!important}

/* Ticker itself unchanged; remove the old large post-ticker padding. */
.capabilities.ticker-only{padding-bottom:0!important}

/* New section 02: exact existing team photos in a city-style horizontal slideshow. */
.home-people{background:#e7e6dc;padding:6vw 0 5vw;overflow:hidden}
.home-people-head{padding:0 5vw;display:grid;grid-template-columns:22% 1fr 1fr;gap:4vw;align-items:end;margin-bottom:3vw}
.home-people-head h2{font:500 clamp(3.7rem,7vw,7rem)/.84 "Space Grotesk";letter-spacing:-.075em;margin:0}.home-people-head h2 em{color:var(--blue);font-style:normal}
.home-people-head p{max-width:430px;font-size:1.05rem;line-height:1.45;margin:0}
.people-viewport{overflow:hidden}.people-track{display:flex;gap:22px;width:max-content;padding:0 5vw;animation:peopleMove 38s linear infinite}.people-viewport:hover .people-track{animation-play-state:paused}
.people-card{margin:0;width:310px;flex:0 0 310px}.people-card:nth-child(3n+1){width:235px;flex-basis:235px}.people-card:nth-child(4n+2){width:360px;flex-basis:360px}.people-card img{display:block;width:100%;height:260px;object-fit:cover;border-radius:20px}.people-card:nth-child(3n+1) img{height:300px}.people-card:nth-child(4n+2) img{height:235px}
@keyframes peopleMove{to{transform:translateX(-50%)}}
.people-button{display:flex;width:max-content;margin:2.5vw 5vw 0;border-bottom:1px solid currentColor;padding-bottom:7px;font-size:12px;font-weight:700;letter-spacing:.12em;gap:12px}.people-button span{font-size:17px}

/* Section 03: What We Do with a real, direct link to the existing impact page. */
.home-what{padding:6vw 8vw;background:var(--ink);color:#fff;display:grid;grid-template-columns:25% 1fr;gap:5vw}
.home-what-copy h2{font:500 clamp(4rem,8vw,8rem)/.82 "Space Grotesk";letter-spacing:-.075em;margin:0}.home-what-copy h2 em{color:var(--lime);font-style:normal}
.home-what-copy p{max-width:690px;font-size:clamp(1.2rem,2vw,2rem);line-height:1.2;color:#c6ccd1;margin:3vw 0 0}
.impact-button{display:inline-flex;align-items:center;gap:12px;margin-top:2.4vw;font:600 12px/1 "DM Sans";letter-spacing:.14em;border-bottom:1px solid currentColor;padding-bottom:7px}.impact-button b{font-size:17px}

/* Reduce the oversized empty gaps between homepage sections. */
.work-intro{padding-top:7vw!important;padding-bottom:4vw!important}.work-masonry{padding-bottom:4vw!important}
.city-hubs{padding-top:6vw!important;padding-bottom:6vw!important}
.how{padding-top:6vw!important;padding-bottom:6vw!important}
.marquee-image{height:30vh!important}

@media(max-width:800px){
 .home-people{padding:14vw 0 11vw}.home-people-head{display:block;padding:0 6vw;margin-bottom:8vw}.home-people-head h2{font-size:15vw}.home-people-head p{margin-top:6vw}.people-track{padding:0 6vw;gap:16px}.people-card,.people-card:nth-child(3n+1),.people-card:nth-child(4n+2){width:68vw;flex-basis:68vw}.people-card img,.people-card:nth-child(3n+1) img,.people-card:nth-child(4n+2) img{height:72vw}.people-button{margin:7vw 6vw 0}
 .home-what{display:block;padding:14vw 6vw}.home-what .section-label{margin-bottom:8vw}.home-what-copy h2{font-size:15vw}.home-what-copy p{margin-top:7vw}.impact-button{margin-top:7vw}
 .work-intro{padding-top:14vw!important}.city-hubs,.how{padding-top:14vw!important;padding-bottom:14vw!important}
}


/* v48 — ONLY requested refinements: calmer T-Mobile/Spectrum backgrounds, Apply Now, document picker */
/* Keep the approved wordmarks and card geometry unchanged; backgrounds now leave the center clean/readable. */
.tmo-card{background:#ff2f92!important}
.tmo-card .magenta-bars{
  inset:0!important;
  background:
    radial-gradient(circle at 88% 14%,#b8ff32 0 8%,transparent 8.5%),
    linear-gradient(118deg,transparent 0 17%,rgba(16,21,26,.96) 17% 28%,transparent 28% 76%,rgba(16,21,26,.96) 76% 88%,transparent 88%)!important;
  transform:none!important;opacity:1!important
}
.tmo-card .plus{display:none!important}

.spectrum-card{background:#275dff!important}
.spectrum-card .spectrum-lines{
  inset:0!important;
  background:
    radial-gradient(circle at 92% 13%,#b8ff32 0 10%,transparent 10.5%),
    radial-gradient(circle at 8% 88%,transparent 0 19%,#f6f5ef 19.5% 30%,transparent 30.5%),
    linear-gradient(145deg,transparent 0 72%,#10151a 72% 82%,transparent 82%)!important;
  transform:none!important;opacity:1!important
}
.spectrum-card .bolt{display:none!important}
.spectrum-card .spectrum-word{color:#fff!important;text-shadow:none!important}
.spectrum-card .spectrum-arrow{filter:brightness(0) invert(1)}

.people-actions{display:flex;justify-content:space-between;align-items:flex-start;padding:0 5vw;margin-top:2.5vw}
.people-actions .people-button{margin:0}
.people-actions .apply-button{margin-left:auto}

.upload-field input[type=file]{display:block;width:100%;margin-top:12px;padding:18px 0;border:0;border-bottom:1px solid currentColor;background:transparent;font:500 14px/1.2 "DM Sans",sans-serif;color:inherit}
.upload-field input[type=file]::file-selector-button{margin-right:18px;border:1px solid currentColor;background:transparent;color:inherit;padding:10px 14px;font:700 11px/1 "DM Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.upload-field input[type=file]::file-selector-button:hover{background:#10151a;color:#f6f5ef}
@media(max-width:800px){.people-actions{padding:0 6vw;margin-top:7vw}.people-actions .people-button{margin:0}.upload-field input[type=file]{font-size:13px}}

/* v50 — requested client-card readability + ticker placement only */
/* T-Mobile: quieter high-contrast field so the existing magenta wordmark reads clearly. */
.tmo-card{background:#f6f5ef!important}
.tmo-card .magenta-bars{
  inset:0!important;
  background:linear-gradient(135deg,#ff2f92 0 18%,transparent 18% 78%,#10151a 78% 100%)!important;
  transform:none!important;opacity:1!important
}
.tmo-card .tmo-word{color:#e20074!important;text-shadow:none!important}
/* Spectrum: move only the wordmark slightly upward. */
.spectrum-card .brand-stage{transform:translateY(-18px)!important}

/* v51 — requested sizing only */

/* HOW WE DO IT: reduce vertical scale while preserving design */
#how.how{
  padding-top:28px!important;
  padding-bottom:28px!important;
  min-height:0!important;
}
#how .how-title{
  padding-top:24px!important;
  padding-bottom:24px!important;
  min-height:0!important;
}
#how .how-title h2{
  font-size:clamp(58px,6.2vw,108px)!important;
  line-height:.84!important;
}

/* LET'S DRIVE: more compact overall */
#contact.drive-contact{
  padding-top:54px!important;
  padding-bottom:54px!important;
  min-height:0!important;
}
#contact.drive-contact > h2{
  margin-top:8px!important;
  margin-bottom:28px!important;
  font-size:clamp(72px,8vw,138px)!important;
  line-height:.78!important;
}

/* Form arranged as two compact columns instead of three vertical rows.
   Name / Company
   Phone / Email
   Message / Upload+submit area */
#contact .drive-contact-form{
  row-gap:22px!important;
}
#contact .drive-field{
  margin-bottom:0!important;
}
#contact textarea{
  min-height:145px!important;
}

/* Make the NEXT: SEE THE WORK band clearly clickable without visual redesign */
section[onclick*="window.location.href"]{cursor:pointer;}

/* v52 — LET'S DRIVE is exactly two rows on desktop */
@media (min-width: 901px){
  #contact.drive-contact{
    padding-top:38px!important;
    padding-bottom:38px!important;
  }

  #contact .drive-contact-form{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    column-gap:26px!important;
    row-gap:22px!important;
    align-items:start!important;
  }

  #contact .drive-contact-form > .drive-field:nth-child(1){grid-column:1!important;grid-row:1!important;}
  #contact .drive-contact-form > .drive-field:nth-child(2){grid-column:2!important;grid-row:1!important;}
  #contact .drive-contact-form > .drive-field:nth-child(3){grid-column:3!important;grid-row:1!important;}
  #contact .drive-contact-form > .drive-field:nth-child(4){grid-column:4!important;grid-row:1!important;}

  #contact .drive-contact-form > .drive-field:nth-child(5){
    grid-column:1 / span 2!important;
    grid-row:2!important;
  }

  #contact .drive-contact-form > .drive-field:nth-child(6){
    grid-column:3 / span 2!important;
    grid-row:2!important;
  }

  #contact .drive-contact-form > .drive-field:nth-child(7){
    grid-column:3 / span 2!important;
    grid-row:2!important;
    align-self:end!important;
    justify-self:end!important;
    margin-bottom:0!important;
  }

  #contact .drive-field-wide{grid-column:auto!important;}
  #contact textarea{min-height:118px!important;}
  #contact .upload-field input[type="file"]{margin-bottom:52px!important;}
}

/* v53 — fix overlap inside row 2 only */
@media (min-width:901px){
  #contact .drive-contact-form{
    grid-template-rows:auto auto!important;
    row-gap:26px!important;
  }

  #contact .drive-contact-form > .drive-field:nth-child(5){
    grid-column:1 / span 2!important;
    grid-row:2!important;
    align-self:start!important;
  }

  #contact .drive-contact-form > .drive-field:nth-child(6){
    grid-column:3 / span 2!important;
    grid-row:2!important;
    align-self:start!important;
    padding-bottom:105px!important;
  }

  #contact .drive-contact-form > .drive-field:nth-child(7){
    grid-column:3 / span 2!important;
    grid-row:2!important;
    align-self:end!important;
    justify-self:stretch!important;
    position:relative!important;
    z-index:2!important;
    margin:0!important;
  }

  #contact .drive-contact-form > .drive-field:nth-child(7) button,
  #contact .drive-contact-form > .drive-field:nth-child(7) .submit-btn{
    width:100%!important;
    margin:0!important;
  }

  #contact .upload-field input[type="file"]{
    margin-bottom:12px!important;
  }
}

/* v54: functional impact link, visual appearance unchanged */
.impact-next-link{display:block;color:inherit;text-decoration:none;}


/* v-next — requested changes only:
   1) More compact homepage hero
   2) Fully looping impact-page results ticker */
@media (min-width:801px){
  .hero{
    min-height:82vh;
    align-items:center;
  }
  .hero-inner{
    padding-top:4vh;
  }
  .hero-title{
    font-size:clamp(5rem,12.5vw,12.5rem);
    line-height:.76;
    margin:3vh 0 4vh;
  }
  .hero-title .shift{
    margin-left:11vw;
  }
  .hero-bottom{
    max-width:980px;
    align-items:center;
  }
  .hero-bottom p{
    max-width:520px;
  }
  .orb-a{
    width:37vw;
    height:37vw;
    right:-12vw;
    top:-17vw;
  }
  .orb-b{
    width:21vw;
    height:21vw;
    left:-6vw;
    bottom:-11vw;
  }
}

.impact-banner{
  overflow:hidden!important;
}
.impact-banner-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  width:max-content!important;
  gap:0!important;
  animation:impactTickerLoop 16s linear infinite!important;
  will-change:transform;
}
.impact-banner-track span{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  padding-right:.75em!important;
}
@keyframes impactTickerLoop{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}


/* Impact page — corrected continuous ticker + compact closing section */
.impact-banner{
  overflow:hidden !important;
  width:100% !important;
}
.impact-marquee{
  display:flex !important;
  width:max-content !important;
  min-width:max-content !important;
  flex-wrap:nowrap !important;
  animation:driveImpactMarquee 14s linear infinite !important;
  transform:translate3d(0,0,0);
  will-change:transform;
}
.impact-marquee-group{
  display:flex !important;
  flex:0 0 auto !important;
  width:max-content !important;
}
.impact-marquee-group span{
  display:block !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
}
@keyframes driveImpactMarquee{
  0%{transform:translate3d(0,0,0)}
  100%{transform:translate3d(-50%,0,0)}
}

/* Tighten only the final Impact-page CTA/content section */
.impact-end,
.impact-closing,
.impact-outro,
.impact-bottom,
.impact-story{
  min-height:0 !important;
}
.impact-end,
.impact-closing,
.impact-outro,
.impact-bottom{
  padding-top:70px !important;
  padding-bottom:70px !important;
}

.impact-compact-final{
  min-height:0 !important;
  height:auto !important;
  padding-top:70px !important;
  padding-bottom:70px !important;
}
.impact-compact-final > *{
  margin-bottom:0;
}


/* Impact testimonial flipbook — right side of final section */
.impact-compact-final{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;
  column-gap:7vw!important;
  align-items:center!important;
}
.impact-compact-final > :not(.testimonial-flipbook){
  grid-column:1;
}
.testimonial-flipbook{
  grid-column:2!important;
  grid-row:1 / span 20!important;
  position:relative;
  width:100%;
  min-height:330px;
  border:1px solid #111820;
  padding:38px 42px 48px;
  overflow:hidden;
  align-self:center;
}
.testimonial-card{
  position:absolute;
  inset:38px 42px 48px;
  opacity:0;
  transform:rotateY(12deg) translateX(24px);
  transform-origin:left center;
  transition:opacity .55s ease,transform .55s ease;
  pointer-events:none;
}
.testimonial-card.is-active{
  opacity:1;
  transform:rotateY(0) translateX(0);
}
.testimonial-kicker{
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  margin-bottom:28px;
}
.testimonial-card blockquote{
  margin:0;
  font-size:clamp(25px,2.2vw,38px);
  line-height:1.06;
  font-weight:500;
  letter-spacing:-.035em;
}
.testimonial-person{
  position:absolute;
  left:0;
  bottom:0;
  font-size:12px;
  font-weight:700;
  letter-spacing:.09em;
}
.testimonial-person span{font-weight:400;}
.testimonial-dots{
  position:absolute;
  right:22px;
  bottom:18px;
  display:flex;
  gap:7px;
}
.testimonial-dots i{
  width:7px;height:7px;border:1px solid #111820;border-radius:50%;
}
.testimonial-dots i.is-active{background:#111820;}
@media(max-width:800px){
  .impact-compact-final{
    display:block!important;
  }
  .testimonial-flipbook{
    margin-top:45px;
    min-height:300px;
  }
}

/* Mobile-only refinement: smaller WHO WE MOVE WITH photo cards */
@media(max-width:800px){
  .home-people .people-card,
  .home-people .people-card:nth-child(3n+1),
  .home-people .people-card:nth-child(4n+2){
    width:54vw;
    flex-basis:54vw;
  }
  .home-people .people-card img,
  .home-people .people-card:nth-child(3n+1) img,
  .home-people .people-card:nth-child(4n+2) img{
    height:57vw;
  }
}

/* Mobile-only: match GOOD IDEAS MOVE ticker pace to Impact results ticker */
@media(max-width:800px){
  .marquee-image .marquee-inner{
    animation-duration:7s !important;
  }
}

/* Mobile-only: make the large black capability words easier to read in-frame */
@media(max-width:800px){
  .scroll-band .band-huge{
    font-size:13vw !important;
    letter-spacing:-.075em !important;
  }
}

/* Mobile Team page — compact masonry layout. Desktop remains unchanged. */
@media(max-width:800px){
  .team-page .team-collage{
    display:block!important;
    column-count:2!important;
    column-gap:4vw!important;
    padding:2vw 5vw 12vw!important;
  }
  .team-page .team-collage > .team-photo,
  .team-page .team-collage > .team-p1,
  .team-page .team-collage > .team-p7,
  .team-page .team-collage > .team-p13,
  .team-page .team-collage > .team-p19,
  .team-page .team-collage > .team-p25,
  .team-page .team-collage > .team-p30,
  .team-page .team-collage > .team-p33{
    display:inline-block!important;
    width:100%!important;
    grid-column:auto!important;
    margin:0 0 4vw!important;
    break-inside:avoid!important;
    -webkit-column-break-inside:avoid!important;
    transform:none!important;
    vertical-align:top!important;
  }
  .team-page .team-photo img{
    width:100%!important;
    height:auto!important;
    display:block!important;
  }
}

/* Mobile navigation overlay — mobile only */
.mobile-menu-panel{display:none}
@media(max-width:800px){
  .menu{position:relative;z-index:1002;cursor:pointer;padding:12px;margin:-12px;}
  .menu i{transition:transform .25s ease,opacity .2s ease;transform-origin:center}
  body.mobile-menu-open{overflow:hidden}
  body.mobile-menu-open .menu i:first-child{transform:translateY(3.5px) rotate(45deg)}
  body.mobile-menu-open .menu i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .mobile-menu-panel{display:flex;position:fixed;inset:0;z-index:1000;background:#0b1015;color:#fff;padding:110px 7vw 42px;flex-direction:column;justify-content:space-between;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
  .mobile-menu-panel.is-open{opacity:1;visibility:visible;pointer-events:auto}
  .mobile-menu-links{display:flex;flex-direction:column;gap:0}
  .mobile-menu-links a{font-family:"Space Grotesk",sans-serif;font-size:clamp(42px,12vw,72px);font-weight:600;line-height:1.05;letter-spacing:-.055em;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.18)}
  .mobile-menu-links a em{color:#2f61ff;font-style:normal}
  .mobile-menu-bottom{display:flex;justify-content:space-between;align-items:end;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.72}
  body.mobile-menu-open .nav{mix-blend-mode:normal;color:#fff;position:fixed}
}

/* Mobile-only: place SEE THE WORK beneath the hero paragraph */
@media(max-width:800px){
  .hero-bottom{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
  }
  .hero-bottom .circle-link{
    margin-top:24px!important;
    margin-left:0!important;
    align-self:flex-start!important;
  }
}

/* Final mobile refinement — keep full capability words readable on narrow screens. */
@media(max-width:800px){
  .scroll-band .band-huge{
    font-size:10.5vw !important;
    letter-spacing:-.06em !important;
  }
  .scroll-band .band-row-track{
    gap:13vw !important;
  }
}


/* MOBILE BLUE TICKER — single authoritative seamless loop.
   Shorter copy needs a shorter duration to match Impact's visual travel speed. */
.marquee-image .good-ideas-impact-marquee{
  font:600 clamp(4rem,12vw,12rem)/.8 "Space Grotesk";
  letter-spacing:-.09em;
  white-space:nowrap;
}
.marquee-image .good-ideas-impact-marquee i{color:var(--lime);font-style:normal;}
@media(max-width:800px){
  .marquee-image{overflow:hidden!important;}
  .marquee-image .good-ideas-impact-marquee{
    display:flex!important;
    width:max-content!important;
    min-width:max-content!important;
    flex-wrap:nowrap!important;
    animation:goodIdeasSpeedMatched 3.25s linear infinite!important;
    will-change:transform!important;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
  }
  .marquee-image .good-ideas-impact-marquee .impact-marquee-group{
    display:flex!important;
    flex:0 0 auto!important;
    width:max-content!important;
  }
  .marquee-image .good-ideas-impact-marquee .impact-marquee-group span{
    display:block!important;
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }
}
@keyframes goodIdeasSpeedMatched{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
