
/* ==========================================================================
   AI Digi World — International growth system
   Uses the same design tokens as main.css; no competing visual language.
   ========================================================================== */
.intl-page { --intl-max: 1240px; }
.intl-hero {
  position:relative; overflow:hidden;
  padding:clamp(56px,8vw,112px) 0 clamp(52px,7vw,88px);
  background:linear-gradient(180deg,var(--mist) 0%,#fff 100%);
}
.intl-hero::after {
  content:""; position:absolute; width:420px; height:420px; border-radius:50%;
  right:-170px; top:-190px; background:var(--signal-soft); opacity:.75; pointer-events:none;
}
.intl-hero-inner { position:relative; z-index:1; max-width:900px; }
.intl-eyebrow {
  display:inline-flex; align-items:center; gap:8px; min-height:34px;
  padding:7px 12px; border:1px solid var(--line); border-radius:999px;
  background:#fff; color:var(--signal-dark); font-size:.86rem; font-weight:600;
}
.intl-hero h1 { max-width:900px; margin-top:18px; }
.intl-hero .lede { max-width:790px; font-size:clamp(1.1rem,2vw,1.28rem); color:var(--muted); }
.intl-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.intl-meta { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:22px; color:var(--muted); font-size:.92rem; }
.intl-meta span { display:inline-flex; align-items:center; gap:7px; }
.intl-section-head { max-width:780px; margin-bottom:44px; }
.intl-section-head p { color:var(--muted); font-size:1.08rem; }
.intl-grid-2 { display:grid; grid-template-columns:1fr; gap:20px; }
.intl-grid-3 { display:grid; grid-template-columns:1fr; gap:18px; }
.intl-card {
  height:100%; padding:28px; border:1px solid var(--line); border-radius:var(--r-lg);
  background:#fff; box-shadow:var(--shadow-1);
}
.intl-card h3 { margin-bottom:10px; }
.intl-card p:last-child { margin-bottom:0; }
.intl-card ul { list-style:none; padding:0; margin:18px 0 0; }
.intl-card li { position:relative; padding-left:25px; }
.intl-card li+li { margin-top:10px; }
.intl-card li::before { content:""; position:absolute; left:0; top:.72em; width:7px; height:7px; border-radius:50%; background:var(--brand); }
.intl-niche {
  display:flex; flex-direction:column; min-height:280px; height:100%;
  padding:26px; border:1px solid var(--line); border-radius:var(--r-lg);
  background:#fff; text-decoration:none; color:inherit; box-shadow:var(--shadow-1);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease);
}
.intl-niche:hover { transform:translateY(-3px); border-color:var(--line-strong); box-shadow:var(--shadow-2); }
.intl-niche .kicker { color:var(--signal-dark); font-weight:600; font-size:.84rem; }
.intl-niche h3 { margin:10px 0; }
.intl-niche .link { margin-top:auto; padding-top:20px; color:var(--signal-dark); font-weight:600; }
.intl-proof { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:28px; }
.intl-proof-item { padding:18px; border:1px solid var(--line); border-radius:var(--r-md); background:#fff; }
.intl-proof-item strong { display:block; font-family:var(--font-display); font-size:1.05rem; margin-bottom:3px; }
.intl-proof-item span { color:var(--muted); font-size:.9rem; }
.intl-process { counter-reset:intlstep; display:grid; grid-template-columns:1fr; gap:14px; }
.intl-step {
  position:relative; padding:25px 25px 25px 76px; border:1px solid var(--line);
  border-radius:var(--r-md); background:#fff;
}
.intl-step::before {
  counter-increment:intlstep; content:counter(intlstep,decimal-leading-zero);
  position:absolute; left:22px; top:23px; font-family:var(--font-display);
  color:var(--brand); font-weight:700;
}
.intl-pricing { display:grid; grid-template-columns:1fr; gap:18px; }
.intl-price-card {
  display:flex; flex-direction:column; padding:28px; border:1px solid var(--line);
  border-radius:var(--r-lg); background:#fff; box-shadow:var(--shadow-1);
}
.intl-price-card.featured { border-color:var(--signal); box-shadow:var(--shadow-2); }
.intl-price { font-family:var(--font-display); font-size:2rem; font-weight:700; color:var(--ink); margin:6px 0 12px; }
.intl-price small { font-family:var(--font-body); font-size:.9rem; font-weight:500; color:var(--muted); }
.intl-price-card ul { margin:18px 0 26px; padding-left:20px; list-style:disc; }
.intl-price-card li+li { margin-top:8px; }
.intl-price-card .btn { margin-top:auto; align-self:flex-start; }
.intl-note {
  padding:18px 20px; border-left:3px solid var(--signal);
  border-radius:0 var(--r-md) var(--r-md) 0; background:var(--signal-soft); color:var(--text);
}
.intl-dark {
  background:var(--ink); color:rgba(255,255,255,.78); border-radius:var(--r-xl);
  padding:clamp(30px,5vw,60px);
}
.intl-dark h2,.intl-dark h3 { color:#fff; }
.intl-dark .text-link { color:#fff; }
.intl-faq { display:grid; gap:10px; max-width:900px; }
.intl-faq details { border:1px solid var(--line); border-radius:var(--r-md); background:#fff; }
.intl-faq summary { cursor:pointer; list-style:none; padding:19px 22px; font-family:var(--font-display); font-weight:600; color:var(--ink); }
.intl-faq summary::-webkit-details-marker { display:none; }
.intl-faq .answer { padding:0 22px 20px; color:var(--muted); }
.intl-breadcrumb { margin-bottom:20px; }
.intl-country-nav {
  display:flex; flex-wrap:wrap; gap:8px; margin-top:26px;
}
.intl-country-nav a {
  display:inline-flex; padding:8px 12px; border:1px solid var(--line); border-radius:999px;
  background:#fff; color:var(--text); text-decoration:none; font-size:.88rem;
}
.intl-country-nav a[aria-current="page"] { border-color:var(--signal); color:var(--signal-dark); font-weight:600; }
.intl-flag { font-size:1.15em; }
@media (min-width:760px) {
  .intl-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .intl-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .intl-process { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .intl-pricing { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .intl-proof { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:759px) {
  .intl-hero h1 { font-size:clamp(2.25rem,11vw,3.2rem); }
  .intl-actions .btn { width:100%; justify-content:center; }
  .intl-card,.intl-niche,.intl-price-card { padding:22px; }
  .intl-dark { border-radius:var(--r-lg); }
}
@media (prefers-reduced-motion:reduce) {
  .intl-niche { transition:none; }
  .intl-niche:hover { transform:none; }
}

/* ==========================================================================
   International visual layer — editorial / enterprise agency treatment
   ========================================================================== */
.intl-hero {
  background:
    radial-gradient(circle at 85% 15%, rgba(91,91,214,.12), transparent 30%),
    linear-gradient(135deg,#f7f9fc 0%,#ffffff 58%,#f1f7fb 100%);
}
.intl-hero .hero-media-wrap {
  position:relative; overflow:hidden; border-radius:var(--r-xl);
  min-height:360px; background:var(--ink); box-shadow:var(--shadow-2);
}
.intl-hero .hero-media-wrap img {
  width:100%; height:100%; min-height:360px; object-fit:cover; display:block;
  opacity:.9; transition:transform .8s var(--ease);
}
.intl-hero .hero-media-wrap::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(120deg,rgba(7,14,34,.78),rgba(7,14,34,.05) 65%);
}
.intl-hero .hero-media-label {
  position:absolute; z-index:2; left:26px; bottom:24px; right:26px;
  color:#fff; display:flex; align-items:flex-end; justify-content:space-between; gap:18px;
}
.intl-hero .hero-media-label strong { font-family:var(--font-display); font-size:1.35rem; }
.intl-hero .hero-media-label span { display:block; margin-top:4px; color:rgba(255,255,255,.72); font-size:.9rem; }
.intl-visual-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:14px; margin-top:34px; }
.intl-visual-card {
  position:relative; overflow:hidden; min-height:180px; border-radius:var(--r-lg);
  background:var(--ink); box-shadow:var(--shadow-1);
}
.intl-visual-card.tall { min-height:374px; grid-row:span 2; }
.intl-visual-card img { width:100%; height:100%; min-height:inherit; object-fit:cover; display:block; transition:transform .7s var(--ease); }
.intl-visual-card:hover img { transform:scale(1.035); }
.intl-visual-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,14,34,.02) 25%,rgba(7,14,34,.92) 100%); pointer-events:none; }
.intl-visual-card .visual-copy { position:absolute; z-index:3; left:20px; right:20px; bottom:18px; color:#fff !important; text-shadow:0 1px 12px rgba(0,0,0,.55); }
.intl-visual-card .visual-copy strong { display:block; font-family:var(--font-display); font-size:1.08rem; }
.intl-visual-card .visual-copy span { display:block; margin-top:4px; color:rgba(255,255,255,.88) !important; font-size:.86rem; }
.intl-media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.intl-media-card {
  position:relative; display:flex; flex-direction:column; overflow:hidden;
  border:1px solid var(--line); border-radius:var(--r-lg); background:#fff;
  box-shadow:var(--shadow-1); transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.intl-media-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-2); }
.intl-media-card .media-img { width:100%; aspect-ratio:16/9; object-fit:cover; transition:transform .6s var(--ease); }
.intl-media-card:hover .media-img { transform:scale(1.03); }
.intl-media-body { padding:24px; }
.intl-media-body h3 { margin-bottom:8px; }
.intl-media-body p { color:var(--muted); margin-bottom:0; }
.intl-media-tag {
  display:inline-flex; width:max-content; margin-bottom:12px; padding:6px 9px;
  border-radius:999px; background:var(--mist); color:var(--signal-dark); font-size:.78rem; font-weight:700;
}
.global-mega {
  width:min(980px,calc(100vw - 40px)); padding:14px;
  display:grid; grid-template-columns:290px 1fr; gap:12px;
}
.global-feature {
  position:relative; overflow:hidden; min-height:350px; border-radius:var(--r-md); background:var(--ink);
}
.global-feature img { width:100%; height:100%; object-fit:cover; opacity:.86; }
.global-feature::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,14,34,.04),rgba(7,14,34,.9)); }
.global-feature-copy { position:absolute; z-index:2; left:22px; right:22px; bottom:20px; color:#fff; }
.global-feature-copy .kicker { color:#9FE3F5; }
.global-feature-copy h3 { color:#fff; margin:4px 0 8px; }
.global-feature-copy p { color:rgba(255,255,255,.72); font-size:.88rem; margin:0; }
.global-markets-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.global-market-card {
  position:relative; display:flex; min-height:112px; overflow:hidden; border-radius:14px;
  color:#fff; text-decoration:none; background:var(--ink);
}
.global-market-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.48; transition:transform .55s var(--ease),opacity .25s var(--ease); }
.global-market-card::after { content:""; position:absolute; inset:0; background:linear-gradient(110deg,rgba(7,14,34,.92),rgba(7,14,34,.22)); }
.global-market-card:hover img { transform:scale(1.05); opacity:.62; }
.global-market-copy { position:relative; z-index:2; align-self:flex-end; padding:15px; }
.global-market-copy strong { display:block; font-family:var(--font-display); color:#fff; font-size:1rem; }
.global-market-copy span { display:block; margin-top:3px; color:rgba(255,255,255,.72); font-size:.78rem; }
.global-mega .mega-foot { grid-column:1 / -1; margin-top:0; padding-top:14px; }
@media (max-width:900px) {
  .global-mega { grid-template-columns:1fr; width:min(720px,calc(100vw - 32px)); }
  .global-feature { min-height:220px; }
}
@media (max-width:640px) {
  .intl-media-grid { grid-template-columns:1fr; }
  .intl-visual-grid { grid-template-columns:1fr; }
  .intl-visual-card.tall { grid-row:auto; min-height:260px; }
  .global-markets-grid { grid-template-columns:1fr; }
  .global-feature { min-height:190px; }
}

/* Replace illustrative/cartoon feel with editorial photographic treatment */
.intl-page .intl-hero {
  background:
    radial-gradient(60% 90% at 100% 0%,rgba(22,120,148,.08),transparent 60%),
    #fff;
  border-bottom:1px solid var(--line);
}
.intl-page .hero-media-wrap { border-radius:26px; background:#0b1530; box-shadow:0 30px 70px -35px rgba(15,27,61,.42); }
.intl-page .hero-media-wrap img { filter:saturate(.88) contrast(1.03); }
.intl-page .hero-media-wrap::after { background:linear-gradient(180deg,rgba(7,14,34,0) 30%,rgba(7,14,34,.82) 100%); }
.intl-page .hero-media-label { left:24px; right:24px; bottom:22px; }
.intl-page .intl-media-card { box-shadow:none; border-radius:18px; }
.intl-page .intl-media-card .media-img { aspect-ratio:16/9; filter:saturate(.82) contrast(1.04); }
.intl-page .intl-media-card:hover { transform:translateY(-3px); box-shadow:0 20px 45px -30px rgba(15,27,61,.45); }
.intl-page .intl-media-tag { background:#f2f5f8; color:#315064; letter-spacing:.02em; }
.intl-page .intl-visual-card img { filter:saturate(.78) contrast(1.05); }
.intl-page .intl-country-nav { display:flex; flex-wrap:wrap; gap:8px; margin-top:26px; }
.intl-page .intl-country-nav a { padding:7px 10px; border:1px solid var(--line); border-radius:999px; color:var(--muted); text-decoration:none; font-size:.76rem; font-weight:700; }
.intl-page .intl-country-nav a:hover,
.intl-page .intl-country-nav a[aria-current="page"] { color:var(--ink); border-color:var(--line-strong); background:#f7f9fb; }


/* ==========================================================================
   V4 international page — premium editorial hierarchy + responsive system
   ========================================================================== */
.intl-page { color:#34405D; }
.intl-page .intl-hero { padding-top:clamp(38px,5vw,72px); }
.intl-page .intl-breadcrumb { margin-bottom:24px; }
.intl-page .intl-breadcrumb .breadcrumb { margin-bottom:0; }
.intl-page .intl-hero .page-hero-grid { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:clamp(34px,5vw,72px); }
.intl-page .intl-hero-inner { min-width:0; max-width:760px; }
.intl-page .intl-eyebrow { color:var(--signal-dark); background:#F5FAFC; border-color:#D7EAF0; letter-spacing:.01em; }
.intl-page .eyebrow-dot { width:8px; height:8px; border-radius:50%; background:var(--brand); box-shadow:0 0 0 5px rgba(27,146,178,.10); }
.intl-page .intl-hero .intl-hero-inner h1 { max-width:11.5ch; color:#0E1A3A; font-size:clamp(3rem,5.25vw,5.25rem); line-height:.98; letter-spacing:-.05em; }
.intl-page .intl-hero .lede { color:#56627D; max-width:58ch; line-height:1.62; }
.intl-page .intl-actions .btn-primary { box-shadow:0 12px 28px -18px rgba(22,120,148,.85); }
.intl-page .intl-meta { gap:9px 18px; color:#66718A; }
.intl-page .intl-meta span { gap:7px; }
.intl-page .intl-meta b { display:inline-grid; place-items:center; min-width:28px; height:22px; padding:0 6px; border-radius:6px; background:#F1F5F8; color:#496075; font-size:.66rem; letter-spacing:.05em; }
.intl-page .hero-media-wrap { min-width:0; min-height:clamp(380px,39vw,520px); border:1px solid #DCE3ED; }
.intl-page .hero-media-wrap img { min-height:clamp(380px,39vw,520px); }
.intl-page .hero-media-label { left:22px; right:22px; bottom:20px; }
.intl-page .hero-media-label strong { color:#fff; }
.intl-page .intl-section-head h2 { color:#101C3D; }
.intl-page .intl-section-head > p:not(.kicker) { color:#606B84; }
.intl-page .intl-card h3, .intl-page .intl-media-body h3 { color:#122044; }
.intl-page .intl-card p, .intl-page .intl-media-body p { color:#5D6881; }
.intl-page .intl-media-tag { color:#496075; background:#F1F5F8; }
.intl-page .intl-media-tag b { margin-right:6px; color:var(--signal-dark); font-size:.67rem; letter-spacing:.05em; }
.intl-page .card-link { color:var(--signal-dark); font-weight:700; }

/* Global mega menu: anchored to the viewport edge, never clipped. */
.site-header .global-mega { 
  width:min(820px,calc(100vw - 36px));
  padding:12px;
  grid-template-columns:274px minmax(0,1fr);
  gap:12px;
}
.site-header .global-feature { min-height:296px; }
.site-header .global-markets-heading { grid-column:2; display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding:2px 4px 5px; }
.site-header .global-markets-heading span { color:#172342; font:700 .72rem/1.2 var(--font-body); text-transform:uppercase; letter-spacing:.12em; }
.site-header .global-markets-heading small { color:#8993A8; font-size:.7rem; }
.site-header .global-markets-grid { grid-column:2; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.site-header .global-market-card { min-height:82px; background:#FBFCFE; border-color:#E2E7EF; }
.site-header .global-market-card:hover { background:#F3F7F9; border-color:#C9DCE3; }
.site-header .global-mega .mega-foot { grid-column:1 / -1; }
.site-header .global-mega .mega-foot p { color:#68738A; }
.site-header .global-mega .mega-foot .text-link { color:var(--signal-dark); }
@media (max-width:900px) {
  .site-header .global-mega { grid-template-columns:1fr; }
  .site-header .global-markets-heading, .site-header .global-markets-grid { grid-column:1; }
}

@media (max-width:979px) {
  .intl-page .intl-hero .page-hero-grid { grid-template-columns:1fr; gap:34px; }
  .intl-page .intl-hero .intl-hero-inner h1 { max-width:12ch; font-size:clamp(3rem,9vw,4.8rem); }
  .intl-page .hero-media-wrap { min-height:0; }
  .intl-page .hero-media-wrap img { min-height:0; height:min(64vw,520px); }
}
@media (max-width:639px) {
  .intl-page .intl-hero { padding-top:30px; padding-bottom:52px; }
  .intl-page .intl-hero .intl-hero-inner h1 { max-width:12ch; font-size:clamp(2.65rem,12vw,3.65rem); }
  .intl-page .intl-hero .lede { font-size:1.03rem; }
  .intl-page .intl-actions { margin-top:24px; }
  .intl-page .intl-actions .btn { width:100%; }
  .intl-page .intl-meta { gap:8px; margin-top:20px; }
  .intl-page .intl-meta span { font-size:.84rem; }
  .intl-page .hero-media-wrap { border-radius:20px; }
  .intl-page .hero-media-wrap img { height:300px; }
  .intl-page .hero-media-label { left:16px; right:16px; bottom:16px; }
  .intl-page .hero-media-label strong { font-size:1.02rem; }
  .intl-page .hero-media-label span { font-size:.78rem; }
  .intl-page .intl-section-head { margin-bottom:30px; }
  .intl-page .intl-section-head h2 { font-size:clamp(1.75rem,8vw,2.35rem); }
  .intl-page .intl-card { padding:22px; }
  .intl-page .intl-visual-card.tall { min-height:270px; }
}

/* Service-specific photographic cards: keep imagery distinct and text readable. */
.intl-visual-card img { object-position:center; }
@media (max-width: 640px){ .intl-visual-card { min-height:240px; } .intl-visual-card.tall{min-height:270px;} .intl-visual-card .visual-copy{left:18px;right:18px;bottom:16px;} .intl-visual-card .visual-copy strong{font-size:1.02rem;color:#fff!important;} .intl-visual-card .visual-copy span{font-size:.82rem;} }
