/* America.gov-inspired editorial rhythm, adapted to Alex Xue's site. */
.view-home>.motion-control{display:none}
.site-view>.nav-shell{width:100%;margin-left:0;margin-right:0;box-sizing:border-box}
.motion-reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease var(--reveal-delay,0ms),transform .7s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
.motion-reveal.motion-visible{opacity:1;transform:none}
.hero:has(.editorial-showcase){max-width:1280px;padding-top:44px}
.hero:has(.editorial-showcase) .hero-grid{grid-template-columns:minmax(0,1fr);gap:0}
.hero:has(.editorial-showcase) .hero-grid>div:first-child{max-width:none;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:0 60px;align-items:end}
.hero:has(.editorial-showcase) .hero-grid .eyebrow{grid-column:1/-1;margin-bottom:24px}
.hero:has(.editorial-showcase) .hero-grid h1{grid-column:1;grid-row:2/4}
.hero:has(.editorial-showcase) .hero-grid .hero-intro{grid-column:2;grid-row:2;margin:0 0 24px}
.hero:has(.editorial-showcase) .hero-grid .hero-actions{grid-column:2;grid-row:3}
.hero:has(.editorial-showcase) .hero-brand-visual{display:none}
.hero:has(.editorial-showcase) h1{max-width:760px;font-size:clamp(58px,6.4vw,90px);line-height:.97}
.hero:has(.editorial-showcase) .hero-intro{font-size:17px;line-height:1.6}
.editorial-showcase{margin:38px auto 0;max-width:1212px}
.editorial-stage{position:relative;height:clamp(420px,48vw,590px);border-radius:38px;overflow:hidden;background:#113127;isolation:isolate;box-shadow:0 28px 65px rgba(13,40,31,.16)}
.editorial-panel{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.055);transition:opacity .85s ease,transform 6.5s linear,visibility .85s}
.editorial-panel.is-active{opacity:1;visibility:visible;transform:scale(1)}
.editorial-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,28,23,.88) 0%,rgba(5,28,23,.5) 42%,transparent 85%),linear-gradient(0deg,rgba(4,25,21,.43),transparent 55%)}
.editorial-panel img{width:100%;height:100%;object-fit:cover;display:block}
.editorial-caption{position:absolute;z-index:2;left:clamp(30px,6vw,82px);bottom:clamp(38px,6vw,75px);max-width:min(620px,70%);color:#fff}
.editorial-caption>span{display:block;color:#d9ef69;font:700 13px/1.3 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-bottom:17px}
.editorial-caption h2{color:#fff;font:400 clamp(36px,4.5vw,64px)/1.08 Georgia,"Songti SC",serif;letter-spacing:-.035em;margin:0 0 24px;max-width:680px}
.editorial-caption a{display:inline-flex;align-items:center;gap:22px;color:#fff;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:9px;font:700 15px/1.4 Arial,sans-serif;text-decoration:none}
.editorial-caption a:hover,.editorial-caption a:focus-visible{color:#d9ef69;border-color:#d9ef69}
.editorial-image-note{position:absolute;z-index:4;right:24px;bottom:22px;color:rgba(255,255,255,.74);font:400 11px/1.4 Arial,sans-serif;letter-spacing:.02em}
.editorial-controls{display:flex;align-items:center;justify-content:center;gap:11px;min-height:94px}
.editorial-controls button{border:1px solid rgba(20,54,42,.16);border-radius:50%;width:50px;height:50px;display:grid;place-items:center;background:#fff;color:#123a2c;box-shadow:0 5px 16px rgba(20,54,42,.08);font:500 20px/1 Arial,sans-serif;cursor:pointer;transition:transform .2s,background .2s,color .2s}
.editorial-controls button:hover{transform:translateY(-3px);background:#123a2c;color:#fff}
.editorial-controls button:focus-visible{outline:2px solid #176b75;outline-offset:3px}
.editorial-controls button:nth-child(2){font-size:16px}
.editorial-count{margin-left:15px;color:#4f6159;font:700 13px/1 Arial,sans-serif;letter-spacing:.12em}
.editorial-showcase+ .proof-row{margin-top:28px}
@media(max-width:900px){.hero:has(.editorial-showcase) .hero-grid>div:first-child{display:block}.hero:has(.editorial-showcase) .hero-grid .hero-intro{margin:25px 0}.hero:has(.editorial-showcase) h1{font-size:clamp(52px,8vw,76px)}}
@media(max-width:800px){.site-view>.nav-shell{width:100%;min-width:0;box-sizing:border-box}.site-view>.nav-shell nav{min-width:0;max-width:100%}}
@media(max-width:800px){.hero:has(.editorial-showcase){padding-top:49px}.hero:has(.editorial-showcase) h1{font-size:clamp(48px,11vw,76px)}.editorial-showcase{margin-top:35px}.editorial-stage{height:510px;border-radius:27px}.editorial-panel img{object-position:65% center}.editorial-panel:after{background:linear-gradient(0deg,rgba(5,28,23,.9),rgba(5,28,23,.35) 70%,rgba(5,28,23,.08))}.editorial-caption{left:24px;right:24px;bottom:62px;max-width:none}.editorial-caption h2{font-size:clamp(36px,9vw,50px)}.editorial-image-note{right:24px;bottom:19px}.editorial-controls{min-height:82px}.editorial-showcase+.proof-row{margin-top:20px}}
@media(max-width:540px){.hero:has(.editorial-showcase) h1{font-size:clamp(46px,10.5vw,59px)}.editorial-stage{height:475px}.editorial-caption h2{font-size:39px}.editorial-caption a{font-size:14px}}
@media(prefers-reduced-motion:reduce){.editorial-panel{transition:none;transform:none}.editorial-panel.is-active{transform:none}.editorial-controls button:nth-child(2){display:none}.motion-reveal{opacity:1;transform:none;transition:none}}
@media print{.editorial-panel{display:none}.editorial-panel.is-active{display:block;position:relative}.editorial-stage{height:360px}.editorial-controls{display:none}}

/* v35: cinematic slide transitions and an editorial chapter rail. */
.hero:has(.editorial-showcase) h1{animation:editorial-headline-in 1s cubic-bezier(.22,1,.36,1) both}
@keyframes editorial-headline-in{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.editorial-showcase{margin-top:42px}
.editorial-stage{height:clamp(500px,54vw,660px);border-radius:28px;box-shadow:0 32px 72px rgba(13,40,31,.21)}
.editorial-stage:focus-visible{outline:3px solid #176b75;outline-offset:4px}
.editorial-panel{transform:scale(1.09);transition:opacity .95s ease,transform 7s cubic-bezier(.19,1,.22,1),visibility .95s}
.editorial-panel:after{background:linear-gradient(90deg,rgba(3,24,20,.92) 0%,rgba(3,24,20,.62) 38%,rgba(3,24,20,.04) 82%),linear-gradient(0deg,rgba(3,24,20,.54),transparent 52%)}
.editorial-panel img{filter:saturate(.88) contrast(1.04)}
.editorial-panel.is-active img{animation:editorial-photo-drift 7s ease-out both}
@keyframes editorial-photo-drift{from{transform:scale(1.07)}to{transform:scale(1)}}
.editorial-caption{bottom:clamp(56px,7vw,94px)}
.editorial-caption>span,.editorial-caption h2,.editorial-caption a{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .75s cubic-bezier(.22,1,.36,1)}
.editorial-panel.is-active .editorial-caption>span{opacity:1;transform:none;transition-delay:.2s}
.editorial-panel.is-active .editorial-caption h2{opacity:1;transform:none;transition-delay:.32s}
.editorial-panel.is-active .editorial-caption a{opacity:1;transform:none;transition-delay:.46s}
.editorial-caption h2{text-wrap:balance}
.editorial-deck{display:flex;align-items:center;gap:32px;min-height:118px;padding:20px 0;border-bottom:1px solid rgba(20,54,42,.17)}
.editorial-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;flex:1;min-width:0}
.editorial-timeline button{display:block;min-width:0;border:0;padding:0;background:none;color:#607269;text-align:left;cursor:pointer;font:700 12px/1.35 Arial,sans-serif;letter-spacing:.025em}
.editorial-timeline button:focus-visible{outline:2px solid #176b75;outline-offset:5px}
.editorial-track{display:block;height:3px;overflow:hidden;background:rgba(20,54,42,.18);margin-bottom:12px}
.editorial-track i{display:block;width:100%;height:100%;background:#176b75;transform:scaleX(0);transform-origin:left}
.editorial-timeline button.is-active{color:#123a2c}
.editorial-timeline button.is-active .editorial-track i{animation:editorial-fill 6.5s linear forwards}
.editorial-timeline button:not(.is-active) .editorial-track i{display:none}
.editorial-showcase.is-paused .editorial-timeline button.is-active .editorial-track i{animation-play-state:paused}
@keyframes editorial-fill{to{transform:scaleX(1)}}
.editorial-topic{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.editorial-topic b{font-size:11px;color:#176b75;margin-right:7px}
.editorial-controls{min-height:0;gap:8px;flex:none}
.editorial-controls button{width:46px;height:46px;background:transparent;box-shadow:none}
.editorial-controls button:nth-child(2){width:42px;height:42px;font-size:14px}
.editorial-showcase+.proof-row{margin-top:34px}
.home-service-grid>a article,.insight-grid>a article{transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease,filter .45s ease}
.home-service-grid>a:hover article,.home-service-grid>a:focus-visible article,.insight-grid>a:hover article,.insight-grid>a:focus-visible article{transform:translateY(-10px);box-shadow:0 28px 45px -25px rgba(18,58,44,.5)}
@media(max-width:800px){
  .hero:has(.editorial-showcase){padding-top:38px}
  .editorial-showcase{margin-top:32px}
  .editorial-stage{height:535px;border-radius:24px}
  .editorial-panel:after{background:linear-gradient(0deg,rgba(3,24,20,.96) 0%,rgba(3,24,20,.55) 48%,rgba(3,24,20,.04) 94%)}
  .editorial-caption{bottom:83px}
  .editorial-deck{display:block;min-height:0;padding:20px 0 23px}
  .editorial-timeline{gap:9px}
  .editorial-track{margin-bottom:9px}
  .editorial-topic{font-size:10px}
  .editorial-topic b{display:block;margin-bottom:3px}
  .editorial-controls{justify-content:center;margin-top:16px}
  .editorial-showcase+.proof-row{margin-top:24px}
}
@media(max-width:540px){
  .editorial-stage{height:515px}
  .editorial-caption{bottom:82px}
  .editorial-caption h2{font-size:clamp(35px,9vw,43px)}
  .editorial-image-note{bottom:17px}
}
@media(prefers-reduced-motion:reduce){
  .hero:has(.editorial-showcase) h1,.editorial-panel.is-active img,.editorial-timeline button.is-active .editorial-track i{animation:none}
  .editorial-panel,.editorial-caption>span,.editorial-caption h2,.editorial-caption a{transition:none;transform:none}
  .editorial-panel.is-active .editorial-caption>span,.editorial-panel.is-active .editorial-caption h2,.editorial-panel.is-active .editorial-caption a{opacity:1}
  .editorial-timeline button.is-active .editorial-track i{transform:scaleX(1)}
}
@media print{.editorial-timeline{display:none}.editorial-deck{display:none}}
