/* A2M homepage: scene-based composition, isolated from service pages. */
.home-page { background:var(--black); }
.home-redesign { --page-gutter:clamp(24px,6.25vw,100px); background:var(--bg); }
.home-redesign section { scroll-margin-top:76px; }
.home-redesign h1,.home-redesign h2,.approach-statement { letter-spacing:-.055em; font-weight:500; text-wrap:balance; }
.home-redesign h2 { font-size:clamp(54px,6.5vw,100px); line-height:.99; margin:0; }
.scene-kicker { font-size:13px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; line-height:1.5; margin:0 0 30px; }
.cinema-hero { min-height:calc(100svh - 76px); padding:40px var(--page-gutter) 24px; display:flex; flex-direction:column; align-items:center; color:var(--white); background:var(--black); position:relative; overflow:clip; }
.hero-editorial { text-align:center; position:relative; z-index:1; }
.hero-editorial .scene-kicker { margin-bottom:16px; color:var(--dark-muted); }
.hero-editorial h1 { font-size:clamp(56px,6.7vw,100px); line-height:.98; margin:0; }
.hero-deck { font-size:clamp(17px,1.6vw,23px); line-height:1.4; margin:22px 0 24px; color:var(--dark-muted); }
.home-redesign .cinema-cta { background:var(--white); color:var(--black); min-height:48px; padding:13px 24px; font-size:15px; }
.home-redesign .cinema-cta:hover { background:var(--white); color:var(--black); transform:translateY(-2px); box-shadow:0 0 0 2px var(--white); }
.brand-stage { width:min(740px,80vw); margin:8px auto 0; perspective:1000px; flex:1; display:grid; place-items:center; min-height:220px; }
.mark-motion { width:100%; transform:translate3d(0,calc(var(--hero-progress,0) * 55px),0) rotateX(calc(var(--hero-progress,0) * 24deg)) scale(calc(1 - var(--hero-progress,0) * .16)); will-change:transform; }
.capital-mark { stroke:none; width:100%; height:auto; overflow:visible; display:block; }
.mark-face { fill:url(#metal); }
.mark-depth { fill:oklch(.49 .087 81.8251); }
#metal stop:nth-child(1) { stop-color:oklch(.96 .055 81.8251); }
#metal stop:nth-child(2) { stop-color:var(--accent); }
#metal stop:nth-child(3) { stop-color:oklch(.70 .12 81.8251); }
#metal stop:nth-child(4) { stop-color:var(--accent); }
.mark-piece { transform-box:fill-box; transform-origin:center; }
.mark-piece-0 { transform:translateX(calc(var(--hero-progress,0) * -22px)); }
.mark-piece-1 { transform:translateY(calc(var(--hero-progress,0) * 13px)); }
.mark-piece-2 { transform:translateX(calc(var(--hero-progress,0) * 22px)); }
.motion-ready .hero-editorial { animation:editorial-enter 1s cubic-bezier(.2,.7,.2,1) both; }
.motion-ready .mark-piece { animation:mark-assemble 1.8s cubic-bezier(.16,1,.3,1) both; }
.motion-ready .mark-piece-0 { --entry-x:-55px; --entry-y:15px; }
.motion-ready .mark-piece-1 { --entry-x:0px; --entry-y:-45px; animation-delay:90ms; }
.motion-ready .mark-piece-2 { --entry-x:55px; --entry-y:15px; animation-delay:180ms; }
@keyframes mark-assemble { from { opacity:0; transform:translate(var(--entry-x),var(--entry-y)) rotate(-9deg); } }
@keyframes editorial-enter { from { opacity:0; transform:translateY(24px); } }
.scroll-cue { display:flex; justify-content:space-between; align-items:center; width:100%; gap:20px; min-height:44px; font-size:13px; color:var(--dark-muted); position:relative; }
.scroll-cue:hover { color:var(--white); }
.scroll-cue span:last-child { font-size:22px; }
.approach-intro { padding:140px var(--page-gutter) 100px; max-width:1440px; margin:auto; }
.approach-statement { font-size:clamp(37px,4.65vw,68px); line-height:1.08; margin:0; }
.approach-statement span { color:var(--muted); }
.approach-detail { max-width:510px; font-size:20px; line-height:1.5; margin:34px 0 0 auto; color:var(--muted); }
.story-track { background:var(--surface); }
.story-sticky { padding:0 var(--page-gutter); max-width:1600px; margin:auto; }
.story-panel { display:grid; grid-template-columns:1.25fr 1fr; gap:8vw; align-items:center; padding:90px 0; }
.story-panel + .story-panel { border-top:1px solid var(--border); }
.story-copy .scene-kicker { display:flex; align-items:center; gap:22px; }
.story-copy .scene-kicker span { font-family:var(--font-mono); color:var(--muted); }
.scene-description { font-size:20px; line-height:1.5; max-width:405px; margin:30px 0 0; color:var(--muted); text-wrap:pretty; }
.service-label { color:var(--muted); font-size:13px; margin:0 0 8px; }
.scene-service { min-height:76px; padding:20px 0; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; gap:28px; font-size:clamp(19px,2vw,28px); line-height:1.2; color:var(--fg); }
.scene-service span { text-wrap:balance; }
.scene-service svg { width:24px; height:24px; flex:0 0 24px; fill:none; stroke:currentColor; stroke-width:1.5; transition:transform .25s; }
.scene-service:hover { color:var(--black); border-color:var(--black); }
.scene-service:hover svg { transform:translate(3px,-3px); }
.story-tabs { display:none; }
@media(min-width:901px) and (min-height:650px) {
 .story-enhanced .story-track { height:280svh; }
 .story-enhanced .story-sticky { height:calc(100svh - 76px); min-height:574px; position:sticky; top:76px; display:flex; flex-direction:column; }
 .story-enhanced .story-panels { flex:1; display:grid; }
 .story-enhanced .story-panel { grid-area:1/1; padding:45px 0; border:0; opacity:0; transform:translateY(35px); visibility:hidden; transition:opacity .5s,transform .65s cubic-bezier(.2,.7,.2,1),visibility .5s; }
 .story-enhanced .story-panel.is-active { opacity:1; transform:none; visibility:visible; }
 .story-enhanced .story-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; padding:0 0 28px; }
 .story-tab { position:relative; min-height:58px; border:0; border-top:2px solid var(--border); background:transparent; text-align:left; color:var(--muted); font:500 16px var(--font-body); padding:18px 0 10px; cursor:pointer; }
 .story-tab:hover,.story-tab[aria-selected="true"] { color:var(--fg); }
 .tab-number { font-family:var(--font-mono); margin-right:14px; font-size:12px; }
 .tab-progress { position:absolute; top:-2px; left:0; height:2px; background:var(--fg); width:calc(var(--chapter-progress,0) * 100%); }
}
.world-scene { background:var(--black); color:var(--white); display:grid; grid-template-columns:1fr 1.15fr; align-items:center; gap:5vw; padding:130px var(--page-gutter); min-height:900px; overflow:clip; }
.world-scene h2 { font-size:clamp(55px,6.6vw,100px); }
.world-scene .scene-kicker,.world-scene .scene-description { color:var(--dark-muted); }
.world-services { margin-top:40px; max-width:460px; }
.world-services .scene-service { color:var(--white); border-color:oklch(.36 0 0); font-size:22px; }
.world-services .scene-service:hover { border-color:var(--white); }
.earth-stage { width:100%; }
.earth-image { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; filter:saturate(.3); transform:translateY(calc(var(--world-progress,0) * -32px)) scale(calc(.91 + var(--world-progress,0) * .09)); will-change:transform; }
.home-partners { background:var(--black); color:var(--white); padding:0 var(--page-gutter) 70px; }
.home-partners .scene-kicker { color:var(--dark-muted); font-size:11px; }
.home-partners>div { display:flex; gap:40px; flex-wrap:wrap; }
.home-partners a { display:flex; align-items:center; gap:18px; min-height:44px; font-size:17px; }
.home-partners svg { width:18px; height:18px; fill:none; stroke:currentColor; }
.home-partners a:hover { text-decoration:underline; text-underline-offset:6px; }
.conversation-scene { text-align:center; padding:135px 24px 120px; }
.conversation-scene h2 { font-size:clamp(58px,7.1vw,104px); }
.conversation-scene .button { margin-top:40px; min-height:50px; padding:14px 24px; font-size:15px; }
.conversation-details { display:flex; justify-content:center; gap:35px; flex-wrap:wrap; margin-top:38px; font-size:17px; }
.conversation-details a { min-height:44px; display:inline-flex; align-items:center; }
.conversation-details a:hover { text-decoration:underline; text-underline-offset:5px; }
.home-redesign :focus-visible { outline:3px solid currentColor; outline-offset:7px; }
.home-redesign .cinema-cta:focus-visible { outline-color:var(--white); }
.motion-ready .reveal { opacity:0; transform:translateY(30px); transition:opacity .8s,transform .9s cubic-bezier(.2,.7,.2,1); }
.motion-ready .reveal.in-view { opacity:1; transform:none; }
@media(max-width:1100px) { .story-panel{gap:5vw} .story-panel h2{font-size:clamp(50px,6.3vw,75px)} .world-scene {min-height:760px;gap:3vw} }
@media(max-width:900px) {
 .cinema-hero { padding-top:55px; min-height:calc(95svh - 76px); }
 .hero-editorial h1 { font-size:clamp(56px,9vw,82px); }
 .brand-stage { width:min(650px,88vw); min-height:230px; margin-top:30px; }
 .approach-intro { padding:90px var(--page-gutter); }
 .approach-detail { margin-left:0; }
 .story-panel { gap:35px; padding:85px 0; }
 .scene-description { font-size:18px; }
 .scene-service { font-size:21px; }
 .world-scene { grid-template-columns:1fr; gap:50px; padding:90px var(--page-gutter) 45px; }
 .world-copy { max-width:600px; }
 .earth-stage { max-width:600px; margin:auto; }
 .world-services {max-width:none}
 .home-partners {padding-top:30px}
}
@media(max-width:600px) {
 .cinema-hero {padding-top:40px;min-height:calc(100svh - 76px)}
 .hero-editorial h1 {font-size:clamp(47px,11.8vw,68px)}
 .hero-editorial .scene-kicker {font-size:11px;margin-bottom:22px}
 .hero-deck {font-size:16px;max-width:240px;margin:22px auto}
 .brand-stage {width:92vw;min-height:195px;margin-top:20px}
 .scroll-cue {font-size:11px;gap:10px}
 .approach-intro {padding-top:78px;padding-bottom:75px}
 .approach-statement {font-size:37px}
 .approach-detail {font-size:18px;margin-top:27px}
 .scene-kicker {font-size:11px;margin-bottom:25px}
 .story-panel {grid-template-columns:1fr;padding:64px 0;gap:36px}
 .story-panel h2 {font-size:clamp(47px,11.6vw,65px)}
 .scene-description {margin-top:24px;max-width:340px}
 .scene-service {min-height:68px;font-size:22px;padding:18px 0;gap:20px}
 .world-scene {padding-top:78px;gap:35px}
 .world-scene h2 {font-size:clamp(55px,13vw,72px)}
 .world-services .scene-service {font-size:21px}
 .home-partners>div {gap:10px;flex-direction:column}
 .home-partners a {justify-content:space-between;font-size:17px}
 .conversation-scene {padding:80px 24px 75px}
 .conversation-scene h2 {font-size:clamp(51px,12vw,70px)}
 .conversation-details {gap:5px;flex-direction:column;align-items:center;margin-top:28px}
}
@media(prefers-reduced-motion:reduce) {
 .home-page {scroll-behavior:auto}
 .home-redesign *, .home-redesign *::before {animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .home-redesign .reveal {opacity:1;transform:none}
 .mark-motion,.mark-piece,.earth-image {transform:none!important}
}
@media(max-width:360px) {
 .story-panel {grid-template-columns:minmax(0,1fr)}
 .story-panel h2 {font-size:39px}
 .scene-service,.world-services .scene-service {font-size:19px}
 .conversation-scene h2 {font-size:43px}
}
/* Interactive transaction illustration; isolated to the international scene. */
.flow-globe {margin:0;min-width:0;align-self:center;color:var(--white)}
.globe-viewport {position:relative;aspect-ratio:1;width:100%;isolation:isolate}
.globe-fallback {display:block;width:100%;height:auto;filter:saturate(.3)}
.globe-canvas {position:absolute;inset:0;width:100%;height:100%;opacity:0;touch-action:pan-y;cursor:grab;border-radius:50%}
.globe-ready .globe-canvas {opacity:1}
.globe-ready .globe-fallback {visibility:hidden}
.globe-canvas:active {cursor:grabbing}
.globe-canvas:focus-visible {outline:2px solid var(--accent);outline-offset:-4px}
.globe-hint {position:absolute;left:0;right:0;bottom:4px;text-align:center;font-size:11px;letter-spacing:.06em;color:var(--dark-muted);pointer-events:none;opacity:0}
.globe-ready .globe-hint {opacity:1}
.flow-globe figcaption {margin-top:26px}
.globe-disclaimer {font-size:11px;line-height:1.5;text-align:center;color:var(--dark-muted);letter-spacing:.025em}
.globe-controls {display:flex;align-items:center;gap:10px;border-top:1px solid oklch(.3 0 0);margin-top:16px;padding-top:16px}
.globe-controls[hidden] {display:none}
.globe-control {border:1px solid oklch(.35 0 0);border-radius:50%;background:var(--black);color:var(--white);width:44px;height:44px;min-width:44px;padding:0;font-size:20px;line-height:1;display:grid;place-items:center;transition:background .2s,border-color .2s}
.globe-control:hover {background:var(--black);border-color:var(--white)}
.globe-control:focus-visible {outline-color:var(--white)}
.globe-pause {margin-left:4px;font-size:16px}
.globe-route {flex:1;min-width:0;line-height:1.35}
.globe-route-label {display:block;font-size:10px;color:var(--dark-muted);margin-bottom:4px}
[data-globe-route] {font-size:16px;display:block;text-wrap:balance}
@media(min-width:901px) {.world-scene {grid-template-columns:1fr 1.2fr;gap:3vw}}
@media(max-width:900px) {.flow-globe {width:100%;max-width:650px;margin:auto}}
@media(max-width:600px) {.globe-controls {gap:6px}.globe-control {width:44px;min-width:44px}.globe-route-label{font-size:9px}[data-globe-route]{font-size:13px}.globe-disclaimer{font-size:10px}.flow-globe figcaption{margin-top:18px}}

/* Desktop only: preserve the static Earth on mobile and tablet. */
@media(max-width:900px) {
 .flow-globe {max-width:600px}
 .flow-globe .globe-canvas,.flow-globe .globe-hint,.flow-globe figcaption {display:none}
 .flow-globe .globe-fallback {visibility:visible}
}

.globe-caption {flex:1;font-size:12px;color:var(--dark-muted);line-height:1.5}
