/* International delivery and a lightweight, compositor-driven live background. */
.live-backdrop { position:relative; isolation:isolate; overflow:hidden; background:#101321!important; }
.live-backdrop::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(110deg,#111321 15%,rgba(17,19,33,.88) 47%,rgba(17,19,33,.35))!important; }
.live-backdrop::after { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,transparent,black); }
.live-backdrop > .container { position:relative; z-index:2; }
.page-hero.live-backdrop > .container { margin-bottom:2rem; }
.ambient-field { position:absolute; inset:-18%; z-index:0; pointer-events:none; background:radial-gradient(ellipse at 78% 30%,rgba(238,65,90,.78),transparent 42%),radial-gradient(ellipse at 50% 85%,rgba(102,82,217,.65),transparent 46%),radial-gradient(ellipse at 95% 85%,rgba(91,135,211,.38),transparent 32%); transform:translate3d(-4%,3%,0) rotate(-4deg); }
.ambient-field::before { content:""; position:absolute; top:-20%; right:8%; width:48%; height:140%; background:linear-gradient(115deg,transparent 25%,rgba(255,110,123,.1) 42%,rgba(255,167,184,.28) 48%,rgba(160,130,255,.12) 54%,transparent 70%); transform:translate3d(-20%,0,0) rotate(-12deg); }
.ambient-field::after { content:""; position:absolute; inset:18% 5% 12% 38%; border:1px solid rgba(255,183,193,.45); border-radius:50%; box-shadow:0 0 0 32px rgba(231,133,174,.045),0 0 0 66px rgba(231,133,174,.045),0 0 0 102px rgba(231,133,174,.025); transform:rotate(-28deg) scaleX(1.6); }
/* Override the older homepage photo overlay, which concealed the light field. */
.home-page .home-hero-slider.live-backdrop::before { z-index:1; background:linear-gradient(90deg,rgba(8,12,24,.92) 0%,rgba(8,12,24,.72) 34%,rgba(8,12,24,.16) 70%,rgba(8,12,24,.08) 100%)!important; }
.live-backdrop::after { z-index:1; }
@media(prefers-reduced-motion:no-preference) {
  [data-live-ready] .ambient-field { animation:ambient-flow 11s ease-in-out infinite alternate; }
  [data-live-ready] .ambient-field::before { animation:ambient-sweep 8s ease-in-out infinite alternate; }
  [data-live-ready] .ambient-field::after { animation:ambient-orbit 14s ease-in-out infinite alternate; }
}
@keyframes ambient-flow { to { transform:translate3d(8%,-6%,0) rotate(7deg) scale(1.12); } }
@keyframes ambient-sweep { to { transform:translate3d(34%,5%,0) rotate(12deg); opacity:.55; } }
@keyframes ambient-orbit { to { transform:rotate(24deg) scaleX(1.2) translate3d(-6%,2%,0); } }
.motion-toggle { position:absolute; z-index:4; right:clamp(1rem,4vw,4rem); bottom:1rem; min-height:44px; padding:.65rem 1rem; border:1px solid #666978; border-radius:999px; background:#171b2b; color:#fff; font:inherit; font-size:.875rem; cursor:pointer; }
.motion-toggle:hover { background:#303348; }
.motion-toggle:focus-visible, .market-nav a:focus-visible, .answer-list summary:focus-visible { outline:3px solid #ef7676; outline-offset:5px; }
.motion-toggle[hidden] { display:none; }
.motion-paused main *, .motion-paused main *::before, .motion-paused main *::after { animation-play-state:paused!important; }
.motion-paused .home-slide.is-active, .motion-paused .home-slide-dashboard * { animation:none!important; }
.motion-paused .home-slide.is-active { opacity:1!important; visibility:visible!important; transform:none!important; }
.home-page .home-slide-copy h1.home-slide-title { font-size:clamp(2.6rem,4.6vw,4.6rem); line-height:1.06; }
.international-hero { padding:6rem 0 7rem; color:#fff; }
.international-hero h1 { max-width:950px; font-size:clamp(2.6rem,5.5vw,4.75rem); line-height:1.06; letter-spacing:-.04em; }
.international-hero .lead { max-width:760px; color:#dedee5; font-size:1.125rem; line-height:1.7; }
.international-hero .kicker { color:#ff9b98; }
.market-nav { display:flex; flex-wrap:wrap; gap:.7rem; margin:2rem 0; }
.market-nav a { border:1px solid #777887; border-radius:999px; padding:.65rem 1.05rem; min-height:44px; color:#fff; font-size:.9375rem; text-decoration:none; }
.market-nav a:hover { border-color:#ff9b98; background:#ffffff0d; }
.international-summary { border-bottom:1px solid #dedfe7; background:#f4f5f9; padding:2.25rem 0; }
.international-summary .container { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.international-summary p { max-width:730px; margin:.5rem 0 0; font-size:1rem; line-height:1.7; }
.international-summary a { color:#a9232a; font-weight:700; }
.market-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.market-card { padding:2rem; border:1px solid #dcdfe7; border-radius:1.25rem; background:#fff; scroll-margin-top:10rem; }
.market-code { display:inline-block; color:#ac282e; font-size:.875rem; font-weight:700; letter-spacing:.08em; margin-bottom:1rem; }
.market-card h3 { font-size:1.6rem; margin:0 0 1rem; }
.market-card p, .market-card li { font-size:1rem; line-height:1.75; color:#414657; }
.market-card ul { padding-left:1.25rem; }
.market-card a { display:inline-block; margin-top:.65rem; color:#a9232a; font-weight:700; text-underline-offset:4px; }
.answer-list { max-width:940px; margin-inline:auto; }
.answer-list details { margin:.7rem 0; padding:0; border:1px solid #d8dbe5; border-radius:1rem; background:linear-gradient(135deg,#fff,#fff8f5); box-shadow:0 10px 26px rgba(29,23,46,.06); overflow:hidden; }
.answer-list summary { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.85rem; cursor:pointer; min-height:4.5rem; padding:1rem 1.15rem; font-size:1.125rem; font-weight:700; line-height:1.5; list-style:none; }
.answer-list summary::-webkit-details-marker { display:none; }
.answer-list summary::marker { content:""; }
.faq-icon { display:grid; place-items:center; width:2.2rem; height:2.2rem; border-radius:.7rem; background:#ffe4e0; color:#c52f36; }
.faq-icon svg { width:1.1rem; height:1.1rem; }
.faq-chevron { width:1.15rem; height:1.15rem; color:#b72d34; transition:transform .2s ease; }
.answer-list details[open] .faq-chevron { transform:rotate(180deg); }
.answer-list p { max-width:850px; font-size:1rem; line-height:1.8; margin:1rem 0 .25rem; color:#44495a; }
.answer-list details p { margin:0; padding:0 1.2rem 1.25rem 4.2rem; }
.dashboard-example { display:block; margin:0 0 .8rem; color:#bcc2d1; font-size:.8125rem; }
.home-page .home-slider-controls { margin-bottom:3rem; }

/* 21st.dev-inspired scroll timeline for the four-stage working model. */
.process-track { position:relative; isolation:isolate; --process-progress:0%; --process-gap:2.5rem; gap:var(--process-gap); }
.process-progress-line { display:none; }
.process-progress-line > span { display:block; width:var(--process-progress,0%); height:100%; border-radius:inherit; background:linear-gradient(90deg,#ff8588,#ef3f48); box-shadow:0 0 18px rgba(239,63,72,.45); transition:width 420ms cubic-bezier(.22,.8,.24,1); }
.process-step { z-index:1; overflow:visible; transition:transform 420ms cubic-bezier(.22,.8,.24,1), border-color 300ms ease, background-color 300ms ease, box-shadow 300ms ease; }
.process-track .process-step::before { content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:radial-gradient(circle at 12% 8%,rgba(255,133,136,.22),transparent 42%); opacity:0; transform:none; transition:opacity 300ms ease; pointer-events:none; }
.process-step.is-process-active, .process-step.is-process-past { border-color:rgba(255,133,136,.48); box-shadow:0 18px 44px rgba(8,6,20,.2), inset 0 1px 0 rgba(255,255,255,.1); }
.process-step.is-process-active, .process-track .process-step:hover { transform:none; }
.process-step.is-process-active::before, .process-step.is-process-past::before { opacity:1; }
.process-step > span:first-child { position:relative; z-index:1; }
.work-model-card.process-step h3 { color:#fff; }
.work-model-card.process-step::after { display:none; }
/* Decorative connectors sit entirely in the gap, without button-like circles. */
.process-step .process-arrow { position:absolute; top:50%; right:calc((var(--process-gap) + 1.5rem) / -2); z-index:2; display:block; width:1.5rem; height:.75rem; color:#d7a2a5; opacity:.5; transform:translateY(-50%); pointer-events:none; transition:opacity 220ms ease; }
.process-arrow::before { content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:currentColor; }
.process-arrow::after { content:""; position:absolute; right:0; top:50%; width:.35rem; height:.35rem; border-top:1px solid currentColor; border-right:1px solid currentColor; transform:translateY(-50%) rotate(45deg); }
.process-step.is-process-active .process-arrow, .process-step.is-process-past .process-arrow { opacity:1; }
@media(max-width:700px) {
 .market-grid { grid-template-columns:1fr; }
 .market-card { padding:1.4rem; }
 .international-summary .container { display:block; }
 .international-summary a { display:inline-block; margin-top:1rem; }
 .international-hero { padding:3.5rem 0 6rem; }
 .ambient-field { inset:-5%; }
 .home-page .home-hero-slider.live-backdrop::before { background:linear-gradient(90deg,rgba(8,12,24,.84),rgba(8,12,24,.5))!important; }
 .process-track { display:grid; grid-template-columns:minmax(0,1fr); --process-gap:1.75rem; padding-left:.2rem; }
 .process-progress-line { left:.55rem; right:auto; top:1.25rem; bottom:1.25rem; width:2px; height:auto; transform:none; }
 .process-progress-line > span { width:100%; height:var(--process-progress,0%); transition:height 420ms cubic-bezier(.22,.8,.24,1); }
 .process-step { min-height:0; padding-left:2.1rem!important; }
 .process-step .process-arrow { top:auto; right:auto; left:50%; bottom:calc((var(--process-gap) + .75rem) / -2); transform:translateX(-50%) rotate(90deg); }
}
@media(min-width:701px) and (max-width:1180px) {
 .process-progress-line { display:none; }
 /* The numbered second row continues left-to-right; avoid an arrow from 2 to 4. */
 .process-step[data-process-step="2"] .process-arrow { display:none; }
}
@media(prefers-reduced-motion:reduce) {
 .process-step, .process-arrow, .process-progress-line > span { transition:none!important; }
}
@media(prefers-reduced-motion:reduce) { .ambient-field { animation:none!important; } }

/* Keep the four homepage testimonials balanced at desktop widths. */
.home-page .section.dark:has(.quote-card) .cards-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1rem,2vw,1.5rem);
}
@media(max-width:700px) {
  .home-page .section.dark:has(.quote-card) .cards-grid {
    grid-template-columns:minmax(0,1fr);
  }
}
