@charset "UTF-8";
/* ============================================================
   SkyBlue Cinematix — faithful implementation of the Figma design
   Font: Lexend (300/400/500). Palette + layout from Figma tokens.
   ============================================================ */

:root {
  /* Brand palette (exact Figma values) */
  --light:        #ebf8ff;   /* light section background */
  --purple:       #2f2a95;   /* primary heading colour on light */
  --indigo:       #24125f;   /* dark section background */
  --indigo-2:     #0f1820;   /* darker (Powering Content / Media Landscapes) */
  --navy:         #0f1820;   /* footer / deepest */
  --accent:       #428ede;   /* SBM blue — labels, links, buttons */
  --heading-lt:   #dfe6ef;   /* headings on dark */
  --ink:          #101820;   /* body text on light */
  --muted:        #55607a;   /* secondary on light */
  --muted-dark:   #b7bcd8;   /* secondary on dark */
  --card-desc:    #cfd0d1;   /* card descriptions on dark */
  --lavender:     #dde1ee;   /* interior hero bg (About/Country) */
  --white:        #ffffff;
  --line:         #d6def0;
  --line-dark:    rgba(255,255,255,.14);

  --maxw: 1440px;
  --gutter: clamp(1.1rem, 4vw, 3.2rem);
  --radius: 20px;
  --radius-lg: 26px;
  --shadow: 0 26px 60px -34px rgba(20,10,70,.55);
  --ease: cubic-bezier(.22,.61,.36,1);
}

* , *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--light); color: var(--ink);
  font-family: "Lexend", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-weight: 300; line-height: 1.6; font-size: 16px;
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
h1,h2,h3,h4 { margin: 0 0 .4em; font-weight: 300; line-height: 1.14; letter-spacing: -.01em; }
p { margin: 0 0 1rem; }
ul { margin: 0; padding: 0; list-style: none; }

.container { width: min(100% - var(--gutter)*2, var(--maxw)); margin-inline: auto; }
.section { padding: clamp(3.2rem, 7vw, 5.5rem) 0; }
.center { text-align: center; }

/* Section colour helpers */
.bg-indigo { background: var(--indigo); color: #fff; }
.bg-indigo-2 { background: var(--indigo-2); color: #fff; }
.bg-navy { background: var(--navy); color: #fff; }
.bg-light { background: var(--light); }
.bg-lavender { background: var(--lavender); }
.bg-indigo h1,.bg-indigo h2,.bg-indigo h3, .bg-indigo-2 h2, .bg-navy h2 { color: var(--heading-lt); }
.bg-indigo p, .bg-indigo-2 p, .bg-navy p { color: var(--muted-dark); }

/* Eyebrow + headings */
.eyebrow { display:inline-block; color: var(--accent); font-weight: 300; font-size: 20px; margin-bottom: .5rem; }
.eyebrow--sm { font-size: 13px; letter-spacing: .04em; }
h1.display { font-size: clamp(2.4rem, 1.2rem + 4vw, 3.75rem); color: var(--purple); }
h2.title { font-size: clamp(1.9rem, 1.35rem + 1.9vw, 2.5rem); }
h2.title--purple { color: var(--purple); }
h2.title--accent { color: var(--accent); }
h2.title--lt { color: var(--heading-lt); }
h2.big { font-size: clamp(2.2rem, 1.2rem + 3.6vw, 4rem); }
.lead { font-size: clamp(1.25rem, 1.05rem + .95vw, 1.625rem); line-height: 1.6; color: var(--muted); max-width: 60ch; }
.bg-indigo .lead, .bg-indigo-2 .lead, .bg-navy .lead { color: var(--muted-dark); }

/* Buttons (pills) */
.btn { display:inline-flex; align-items:center; gap:.5rem; border:0; border-radius:999px;
  padding: .8rem 2rem; font-weight: 300; font-size: 1rem; line-height:1; transition:.25s var(--ease); }
/* Unified CTA button — one coloring site-wide (matches the form submit button) */
.btn--blue, .btn--purple, .btn--white {
  background: linear-gradient(92deg, #4f9bff 0%, #6d5cff 52%, #9a5cff 100%);
  color:#fff; box-shadow: 0 14px 32px -14px rgba(96,110,255,.7); }
.btn--blue:hover, .btn--purple:hover, .btn--white:hover {
  transform: translateY(-2px); box-shadow: 0 20px 44px -14px rgba(96,110,255,.92); filter: brightness(1.06); }

/* ============================================================ HEADER */
.site-header { position: sticky; top:0; z-index:60; background: var(--purple); }
.nav { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; height:78px; }
.brand { display:flex; flex-direction:column; align-items:flex-start; line-height:1; color:#fff; }
.brand__top { display:flex; align-items:center; font-size:1.35rem; font-weight:500; letter-spacing:-.01em; }
.brand__top svg { width:20px; height:20px; margin-left:1px; transform: translateY(1px); }
.brand__sub { font-size:.62rem; letter-spacing:.42em; font-weight:400; margin-top:3px; padding-left:2px; }
.brand-logo { height:46px; width:auto; display:block; align-self:center; flex:0 0 auto; }
.footer-brand { display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; }
.footer-brand .brand-logo { height:64px; margin-bottom:.5rem; }
.footer-tagline { color:#aab0d6; font-size:.85rem; line-height:1.65; max-width:26ch; margin:.4rem 0 0; }
@media (max-width:600px){ .footer-brand{ justify-content:flex-start; } }
@media (max-width:520px){ .brand-logo{ height:40px; } }
.nav-links { display:flex; align-items:center; gap:2rem; margin-left:auto; }
.nav-links a { color:#eef1ff; font-size:1rem; font-weight:400; position:relative; padding:.3rem 0; }
.nav-links a::after { content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0; background: var(--accent); transition: width .25s var(--ease); }
.nav-links a:hover::after, .nav-links a[aria-current="page"]::after { width:100%; }
.nav-links a[aria-current="page"] { color:#9fc3f2; }

/* Countries nav item — click-to-open dropdown listing every market */
.nav-dropdown { position:relative; }
.nav-dropdown__trigger { display:flex; align-items:center; gap:.4rem; background:none; border:0; color:#eef1ff;
  font-family:inherit; font-size:1rem; font-weight:400; line-height:inherit; cursor:pointer; padding:.3rem 0; position:relative; }
.nav-dropdown__trigger::after { content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0; background: var(--accent); transition: width .25s var(--ease); }
.nav-dropdown.open .nav-dropdown__trigger::after, .nav-dropdown__trigger[aria-current="page"]::after { width:100%; }
.nav-dropdown__trigger[aria-current="page"] { color:#9fc3f2; }
.nav-dropdown__chev { width:12px; height:12px; flex:0 0 auto; transition: transform .25s var(--ease); }
.nav-dropdown.open .nav-dropdown__chev { transform: rotate(180deg); }
.nav-dropdown__menu { position:absolute; top:100%; left:50%; margin-top:14px; transform:translateX(-50%) translateY(-6px);
  min-width:200px; max-height:min(85vh,560px); overflow-y:auto; scrollbar-width:none; background:var(--purple); border-radius:14px;
  box-shadow:0 22px 48px -18px rgba(6,5,20,.6); padding:.4rem; list-style:none; z-index:200;
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s var(--ease), transform .2s var(--ease); }
.nav-dropdown__menu::-webkit-scrollbar { display:none; }
.nav-dropdown.open .nav-dropdown__menu { opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0); }
.nav-dropdown__menu a { display:block; padding:.6rem .9rem; border-radius:9px; color:#eef1ff; font-size:.95rem; white-space:nowrap; }
.nav-dropdown__menu a:hover, .nav-dropdown__menu a[aria-current="page"] { background:rgba(255,255,255,.14); color:#fff; }
.nav-dropdown__menu li + li { margin-top:0; }
.nav-right { display:flex; align-items:center; gap:1rem; }
.nav-toggle { display:none; width:44px; height:44px; border:0; background:transparent; flex-direction:column; justify-content:center; gap:5px; }
.nav-toggle span { height:2px; width:24px; background:#fff; border-radius:2px; margin-inline:auto; transition:.3s var(--ease); }
body.nav-open .nav-toggle span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
body.nav-open .nav-toggle span:nth-child(2){ opacity:0; }
body.nav-open .nav-toggle span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }
@media (max-width: 940px){
  .nav-toggle{ display:flex; }
  .nav-links{ position:fixed; inset:78px 0 auto 0; width:100%; max-width:100vw; flex-direction:column; align-items:stretch; gap:0; box-sizing:border-box;
    background: var(--purple); padding:.4rem var(--gutter) 1.2rem; margin-left:0; transform: translateY(calc(-100% - 88px)); transition: transform .35s var(--ease); box-shadow:0 20px 40px -18px rgba(0,0,0,.5); }
  .nav-links li { min-width:0; }
  .nav-dropdown__menu { width:100%; }
  body.nav-open .nav-links{ transform: translateY(0); }
  .nav-links a{ width:100%; padding:.9rem 0; border-bottom:1px solid rgba(255,255,255,.12); }

  /* Countries nav dropdown collapses into an inline accordion on mobile */
  .nav-dropdown__trigger{ width:100%; justify-content:space-between; padding:.9rem 0; border-bottom:1px solid rgba(255,255,255,.12); }
  .nav-dropdown__menu{ position:static; transform:none; margin-top:0; background:transparent; box-shadow:none; border-radius:0; padding:0;
    max-height:0; overflow:hidden; opacity:1; visibility:visible; pointer-events:auto; transition:max-height .3s var(--ease); }
  .nav-dropdown.open .nav-dropdown__menu{ max-height:640px; transform:none; }
  .nav-dropdown__menu a{ width:100%; white-space:normal; color:#cfd6ff; padding:.7rem 0 .7rem 1.1rem; border-bottom:1px solid rgba(255,255,255,.08); border-radius:0; }
  .nav-dropdown__menu a:hover, .nav-dropdown__menu a[aria-current="page"]{ background:transparent; color:#fff; }
}

/* ============================================================ HOME HERO (banner slider) */
.hero-slider { position:relative; background: var(--indigo); }
.hs-track { position:relative; width:100%; aspect-ratio: 1600/776; overflow:hidden; background:var(--navy); }
.hs-slide { position:absolute; inset:0; opacity:0; transition: opacity 1s var(--ease); }
.hs-slide .hs-photo { width:100%; height:100%; object-fit:cover; object-position:center; }
.hs-slide::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background: radial-gradient(125% 108% at 50% 44%, transparent 56%, rgba(6,5,20,.4) 100%),
              linear-gradient(to bottom, rgba(6,5,20,.12), transparent 28%, transparent 66%, rgba(6,5,20,.46)); }
.hs-logo { position:absolute; z-index:2; height:auto; filter: drop-shadow(0 6px 20px rgba(0,0,0,.6)); }
.hs-logo.pos-cb { left:50%; bottom:8%; transform:translateX(-50%); width:min(40%, 520px); }
.hs-logo.pos-left { left:7%; top:52%; transform:translateY(-50%); width:min(44%, 560px); }
.hs-logo.pos-right { right:7%; top:50%; transform:translateY(-50%); width:min(38%, 480px); }
.hs-slide.is-active { opacity:1; }
@media (max-width:700px){
  .hs-logo.pos-cb{ width:min(58%, 360px); }
  .hs-logo.pos-left{ width:min(60%, 360px); top:52%; }
  .hs-logo.pos-right{ width:min(52%, 320px); }
}
.hs-dots { position:absolute; bottom:18px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:3; }
.hs-dots button { width:9px; height:9px; border-radius:999px; border:0; background:rgba(255,255,255,.5); padding:0; transition:.3s; box-shadow:0 1px 5px rgba(0,0,0,.6); }
.hs-dots button.is-active { width:26px; background:#fff; }
.hs-nav { position:absolute; top:0; bottom:0; width:15%; min-width:56px; border:0; background:transparent; z-index:2;
  display:flex; align-items:center; color:#fff; opacity:0; transition:opacity .25s var(--ease), background .25s var(--ease); cursor:pointer; }
.hs-nav svg { width:30px; height:30px; filter:drop-shadow(0 2px 8px rgba(0,0,0,.6)); }
.hs-nav--prev { left:0; justify-content:flex-start; padding-left:1.2rem; background:linear-gradient(90deg, rgba(0,0,0,.28), transparent); }
.hs-nav--next { right:0; justify-content:flex-end; padding-right:1.2rem; background:linear-gradient(270deg, rgba(0,0,0,.28), transparent); }
.hero-slider:hover .hs-nav, .feature-hero--carousel:hover .hs-nav { opacity:1; }
.hs-nav:focus-visible { opacity:1; }
@media (max-width:700px){ .hs-nav{ opacity:1; width:20%; } .hs-nav svg{ width:22px; height:22px; } }

/* ============================================================ INTERIOR PAGE HERO */
.page-hero { padding: clamp(3rem,7vw,5rem) 0 clamp(3.5rem,8vw,6rem); }
.page-hero .eyebrow-dark { color: var(--ink); font-size:1.1rem; }
.page-hero h1 { font-size: clamp(2.4rem,1.2rem + 4vw,3.75rem); color: var(--purple); max-width: 16ch; }
.page-hero p { max-width: 52ch; color: var(--ink); }

/* ============================================================ WHAT WE DO */
.wwd { display:grid; grid-template-columns: 340px 1fr; gap: clamp(1.5rem,4vw,3.5rem); align-items:center; }
.wwd__panel { background: var(--indigo); border-radius: var(--radius-lg); padding: clamp(1.6rem,3vw,2.6rem);
  display:grid; grid-template-columns: repeat(3,1fr); gap:1.4rem; box-shadow: var(--shadow); }
.wwd__item .ico { width:44px; height:44px; color:#e7ecff; margin-bottom:1rem; }
.wwd__item h4 { color:#fff; font-size:1.35rem; font-weight:400; margin-bottom:.4rem; }
.wwd__item p { color: var(--card-desc); font-size:1.0625rem; margin:0; }
.wwd__item + .wwd__item { border-left:1px solid var(--line-dark); padding-left:1.4rem; }
@media (max-width:860px){ .wwd{ grid-template-columns:1fr; } .wwd__panel{ grid-template-columns:1fr; }
  .wwd__item + .wwd__item{ border-left:0; border-top:1px solid var(--line-dark); padding:1.2rem 0 0; } }

/* ============================================================ ABOUT + STATS */
.about { display:grid; grid-template-columns:1fr 1fr; gap: clamp(1.5rem,5vw,4rem); align-items:center; }
.about__media img { width:100%; height:100%; min-height:340px; object-fit:cover; border-radius: var(--radius); }
.about p b { color:#fff; }
.stats { display:flex; flex-wrap:wrap; gap: clamp(1.2rem,4vw,2.6rem); margin-top:1.6rem; }
.stat b { display:block; font-size: clamp(2rem,4vw,2.8rem); font-weight:300; line-height:1; color: var(--heading-lt); }
.stat span { font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color: var(--accent); }
.stat + .stat { border-left:1px solid var(--line-dark); padding-left: clamp(1.2rem,4vw,2.6rem); }
@media (max-width:820px){ .about{ grid-template-columns:1fr; } }

/* ============================================================ COUNTRY / INDUSTRY / PROJECT CARDS */
.card-row { display:grid; grid-auto-flow:column; grid-auto-columns: minmax(230px,1fr); gap:1.1rem; overflow-x:auto; padding-bottom:.6rem; scroll-snap-type:x mandatory; }
.card-row::-webkit-scrollbar{ height:6px; } .card-row::-webkit-scrollbar-thumb{ background:rgba(120,120,160,.4); border-radius:3px; }
/* Auto-scrolling marquee carousel — draggable, no visible scrollbar */
.marquee { overflow-x:auto; overflow-y:hidden; width:100%; cursor:grab; scrollbar-width:none; -ms-overflow-style:none;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); }
.marquee::-webkit-scrollbar { display:none; }
.marquee.is-dragging { cursor:grabbing; }
.marquee__track { display:flex; width:max-content; }
.marquee .photo-card { flex:0 0 clamp(215px,21vw,270px); margin-right:1.1rem; }
.marquee .photo-card, .marquee .photo-card img { -webkit-user-drag:none; user-select:none; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; }
.grid-5 { display:grid; grid-template-columns:repeat(5,1fr); gap:1.1rem; }
.grid-5 .photo-card__label { font-size:1.2rem; left:16px; right:16px; }
@media (max-width:1000px){ .grid-5{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:640px){ .grid-5{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:420px){ .grid-5{ grid-template-columns:1fr; } }
.photo-card { position:relative; border-radius: var(--radius); overflow:hidden; aspect-ratio:3/4; display:block; scroll-snap-align:start; box-shadow: var(--shadow); }
.photo-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition: transform .6s var(--ease); }
.photo-card::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(47,42,149,0) 42%, rgba(47,42,149,.9) 100%); }
.photo-card:hover img { transform: scale(1.06); }
.photo-card__label { position:absolute; z-index:2; left:20px; right:20px; bottom:18px; display:flex; align-items:center; justify-content:space-between; color:#fff; font-size:1.5rem; font-weight:300; }
.photo-card__label .arrow { width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.2); display:grid; place-items:center; transition:.3s; }
.photo-card:hover .arrow { background: var(--accent); }
.industry-card::after { background: linear-gradient(180deg, rgba(12,10,38,0) 45%, rgba(12,10,38,.9) 100%); }
.industry-card .photo-card__label { font-size:1.5rem; }
@media (max-width:980px){ .grid-4{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:560px){ .grid-4{ grid-template-columns:1fr !important; } }

/* ============================================================ WHY CINEMATIX */
.why { display:grid; grid-template-columns:repeat(2,1fr); gap: clamp(1.6rem,4vw,3rem); }
.why__col { display:grid; grid-template-columns: 1fr 200px; gap:1.6rem; align-items:start; }
.why__text h4 { color: var(--accent); font-size:1.35rem; font-weight:300; margin-bottom:.6rem; }
.why__text p { color: var(--muted-dark); font-size:1.125rem; }
.why__list { margin-top:1rem; }
.why__list li { color:#cfd6ff; font-size:1.125rem; margin-top:.35rem; }
.why__list li::before { content:"✓ "; color: var(--accent); }
.why__img { border-radius: var(--radius); overflow:hidden; aspect-ratio:3/4; }
.why__img img { width:100%; height:100%; object-fit:cover; }
@media (max-width:900px){ .why{ grid-template-columns:1fr; } }
@media (max-width:480px){ .why__col{ grid-template-columns:1fr; } .why__img{ aspect-ratio:16/10; } }

/* ============================================================ OFFERINGS (Media) */
.tabs { display:flex; justify-content:center; gap: clamp(2rem,6vw,5rem); border-bottom:1px solid var(--line-dark); padding-bottom:1.6rem; margin-bottom:2.5rem; }
.tab { display:flex; flex-direction:column; align-items:center; gap:.6rem; color: var(--muted-dark); font-size:1.25rem; font-weight:300;
  position:relative; padding:.7rem 1.4rem .6rem; border-radius: var(--radius); transition: color .2s var(--ease), background .2s var(--ease); }
.tab .ico { width:34px; height:34px; transition: transform .2s var(--ease); }
.tab::after { content:""; position:absolute; left:50%; bottom:-1.6rem; height:2px; width:0; background: var(--accent);
  transform:translateX(-50%); transition: width .25s var(--ease); }
.tab:hover { color: var(--accent); background: rgba(66,142,222,.12); }
.tab:hover .ico { transform: translateY(-2px); }
.tab.is-active { color: var(--accent); background: rgba(66,142,222,.16); }
.tab.is-active::after, .tab:hover::after { width:100%; }
.offering { display:grid; grid-template-columns:1fr 1fr; gap: clamp(1.5rem,4vw,3.5rem); align-items:center; }
.offering + .offering { margin-top: clamp(2.5rem,6vw,4.5rem); }
.offering:nth-child(even) .offering__media { order:2; }
.offering__media { border-radius: var(--radius); overflow:hidden; aspect-ratio:16/11; }
.offering__media img { width:100%; height:100%; object-fit:cover; }
.offering__sub { color: var(--heading-lt); font-size:1.3rem; font-weight:300; }
.offering__body h3 { color: var(--accent); font-size: clamp(1.8rem,1.2rem + 1.6vw,2.5rem); font-weight:300; margin:.1rem 0 .8rem; }
@media (max-width:820px){ .offering{ grid-template-columns:1fr; } .offering:nth-child(even) .offering__media{ order:0; } .tabs{ gap:1.4rem; flex-wrap:wrap; } }
@media (max-width:480px){ .tabs{ gap:.9rem 1.6rem; } .tab{ font-size:1.05rem; flex:0 1 auto; } }

/* ============================================================ MARKETS / RECOGNITION cards */
.tile { border-radius: var(--radius); overflow:hidden; }
.tile-img { background: #aeb4c9; aspect-ratio: 1/1; border-radius: var(--radius); }
.rec-img { aspect-ratio: 1/1; border-radius: var(--radius); overflow: hidden; }
.rec-img img { width:100%; height:100%; object-fit:cover; transition: transform .6s var(--ease); }
.rec:hover .rec-img img { transform: scale(1.05); }
.rec h4, .rec p { color:#fff; }
.rec h4 { font-size:1.5rem; font-weight:300; margin:.9rem 0 .4rem; }
.rec p { color: var(--muted-dark); font-size:1.0625rem; }

/* Focus / market cards (country pages) */
.markets-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; }
.market-card { background: var(--indigo-2); border:1px solid var(--line-dark); border-radius: var(--radius); padding:1.7rem; transition:.3s var(--ease); }
.market-card:hover { transform: translateY(-4px); border-color: var(--accent); }
.market-card .ico { width:40px; height:40px; color: var(--accent); margin-bottom:1rem; }
.market-card h4 { color:#fff; font-size:1.2rem; font-weight:400; margin-bottom:.3rem; }
.market-card p { color: var(--muted-dark); font-size:1.0625rem; margin:0; }
@media (max-width:900px){ .markets-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .markets-grid{ grid-template-columns:1fr; } }

/* ============================================================ WORLD MAP (About) — animated */
.wmap { position:relative; width:100%; max-width:1120px; margin:2.5rem auto 0; aspect-ratio: 2.0311; }
.wmap__bg, .wmap__dots, .wmap__arcs, .wmap__pins { position:absolute; inset:0; width:100%; height:100%; }
.wmap__bg { z-index:0; object-fit:contain; }
.wmap__dots { display:none; }
.wmap__arcs { z-index:2; overflow:visible; pointer-events:none; }
.wmap__pins { z-index:3; }

/* connection arcs from the India hub */
.wmap__arc { fill:none; stroke:rgba(120,170,240,.16); stroke-width:1.1; }
.wmap__arc-glow { fill:none; stroke:#8fc0ff; stroke-width:1.8; stroke-linecap:round;
  stroke-dasharray:6 94; filter:drop-shadow(0 0 3px rgba(120,180,255,.9));
  animation: wmapDash 3s linear infinite; }
@keyframes wmapDash { from { stroke-dashoffset:100; } to { stroke-dashoffset:0; } }

/* location pins (teardrop markers) — tip points at the exact coordinate */
.wmap__pin { position:absolute; transform:translate(-50%,-100%); z-index:3;
  animation: wmapDrop .6s cubic-bezier(.2,.8,.3,1.25) both; }
.wmap__marker { display:block; width:26px; height:auto;
  filter: drop-shadow(0 3px 5px rgba(0,0,0,.55)) drop-shadow(0 0 7px rgba(105,176,255,.55)); }
.wmap__pin.is-hq .wmap__marker { width:34px;
  filter: drop-shadow(0 4px 7px rgba(0,0,0,.6)) drop-shadow(0 0 11px rgba(120,180,255,.85)); }
.wmap__pin:hover { z-index:6; }
.wmap__pin:hover .wmap__marker { transform: translateY(-3px) scale(1.12); transition: transform .18s var(--ease); }

/* pulsing ring on the ground at the pin tip */
.wmap__pulse { position:absolute; left:50%; bottom:-2px; width:16px; height:7px; margin-left:-8px;
  border-radius:50%; background:rgba(105,176,255,.5); z-index:-1; animation: wmapGround 2.6s ease-out infinite; }
.wmap__pin.is-hq .wmap__pulse { background:rgba(140,190,255,.6); animation-duration:2.2s; }
@keyframes wmapGround { 0%{ transform:scale(.5); opacity:.7; } 80%{ opacity:0; } 100%{ transform:scale(3.2); opacity:0; } }
@keyframes wmapDrop { 0%{ opacity:0; transform:translate(-50%,-100%) translateY(-16px); } 100%{ opacity:1; transform:translate(-50%,-100%) translateY(0); } }

/* country name — revealed on hover, no crowding */
.wmap__name { position:absolute; left:50%; bottom:calc(100% + 5px); transform:translateX(-50%) translateY(3px);
  background:rgba(12,10,38,.94); border:1px solid rgba(120,150,240,.4); color:#fff;
  font-size:.66rem; font-weight:500; letter-spacing:.06em; text-transform:uppercase;
  padding:.22rem .5rem; border-radius:5px; white-space:nowrap; pointer-events:none;
  opacity:0; transition: opacity .2s var(--ease), transform .2s var(--ease); }
.wmap__pin:hover .wmap__name { opacity:1; transform:translateX(-50%) translateY(0); }

@media (prefers-reduced-motion: reduce){
  .wmap__arc-glow { display:none; }
  .wmap__pulse { animation:none; }
  .wmap__pin { animation:none; }
}

/* ============================================================ BLOG */
.blog-filter { display:flex; flex-wrap:wrap; gap: .8rem 1.6rem; justify-content:center; margin: 1.5rem 0 2.5rem; }
.blog-filter span { color: var(--accent); font-size:.9rem; letter-spacing:.03em; }
.blog-filter span:first-child { color: var(--purple); }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.post { background:#fff; border-radius: var(--radius); overflow:hidden; box-shadow: 0 20px 40px -30px rgba(20,10,70,.3); transition:.3s var(--ease); }
.post:hover { transform: translateY(-5px); }
.post__img { aspect-ratio:16/10; overflow:hidden; }
.post__img img { width:100%; height:100%; object-fit:cover; transition: transform .6s var(--ease); }
.post:hover .post__img img { transform: scale(1.06); }
.post__body { padding:1.2rem 1.4rem 1.5rem; }
.post__body h3 { font-size:1.3rem; font-weight:300; color: var(--heading-lt); }
.post__body.dark { }
.post__more { color: var(--accent); font-size:.9rem; }
@media (max-width:900px){ .blog-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .blog-grid{ grid-template-columns:1fr; } }

/* ============================================================ CONTACT FORM (underline style) */
.cta-band { position:relative; overflow:hidden;
  background:
    linear-gradient(180deg, rgba(3,2,12,.62) 0%, rgba(3,2,12,.4) 44%, rgba(3,2,12,.6) 100%),
    url("../assets/images/cinema-hall.jpg?2") center 52% / cover no-repeat;
  padding-block: clamp(3rem,6vw,5rem) clamp(6rem,12vw,10rem); }
/* the photo auditorium replaces the CSS curtains, seats, spotlights & crowd */
.cta-band::before, .cta-band::after { content:none; }
.cta-band .cine-lights, .cta-band .cine-crowd { display:none; }
.form-head { text-align:center; }
.form-head h2 { color: var(--accent); font-size: clamp(2.2rem,1.2rem + 3vw,3.5rem); font-weight:300; }
.form-head p { color: var(--ink); }
.sky-form { max-width: 900px; margin: 2rem auto 0; display:grid; gap:1.8rem; }
.sky-form .row { display:grid; grid-template-columns:1fr 1fr; gap: 2rem; }
.field { display:flex; flex-direction:column; gap:.5rem; }
.field label { font-size:.85rem; letter-spacing:.06em; color: var(--ink); text-transform:uppercase; }
.field.q label { color: var(--purple); }
.cc-wrap { display:flex; gap:.7rem; align-items:flex-end; }
.cc { position:relative; flex:0 0 44%; max-width:230px; }
.cc-wrap input[name="phone"] { flex:1 1 auto; min-width:0; }
.cc-trigger { width:100%; display:flex; align-items:center; justify-content:space-between; gap:.4rem;
  font-family:inherit; font-weight:300; font-size:1rem; color:var(--ink); background:transparent;
  border:0; border-bottom:1.5px solid #9aa3bd; padding:.5rem .1rem; cursor:pointer; text-align:left; }
.cc-cur { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cc-chev { opacity:.55; font-size:.8rem; flex:0 0 auto; }
.cc-panel { position:absolute; z-index:30; top:calc(100% + 6px); left:0; width:min(300px, 82vw);
  background:#fff; border:1px solid var(--line); border-radius:12px; padding:.5rem;
  box-shadow:0 18px 40px -14px rgba(12,10,38,.45); }
.cc-search { width:100%; font-family:inherit; font-size:.95rem; color:var(--ink); background:#fff;
  border:1px solid var(--line); border-radius:8px; padding:.5rem .6rem; margin-bottom:.4rem; }
.cc-search:focus { outline:2px solid var(--accent); outline-offset:1px; }
.cc-list { list-style:none; margin:0; padding:0; max-height:244px; overflow:auto; }
.cc-opt { display:flex; justify-content:space-between; gap:1rem; align-items:center;
  padding:.5rem .6rem; border-radius:8px; cursor:pointer; font-size:.92rem; color:var(--ink); }
.cc-opt:hover, .cc-opt.hl { background:var(--lavender); }
.cc-opt[aria-selected="true"] { color:var(--purple); font-weight:400; }
.cc-opt .cc-dial { color:var(--muted); font-variant-numeric:tabular-nums; }
@media (max-width:520px){ .cc{ flex-basis:46%; } }

/* About page cinematic hero */
.about-hero { min-height:72vh; align-items:center; }
.about-hero .tagline { max-width:58ch; color:#e7ebff; }
.about-hero__hl { color:#8fb6ef; }
@supports ((-webkit-background-clip:text) or (background-clip:text)) {
  .about-hero__hl { background:linear-gradient(92deg,#eaf1ff 0%,#6ea8ec 95%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
}
@media (max-width:640px){ .about-hero{ min-height:64vh; } }

/* Form success card (shown in place of the form after submit) */
.form-success { width:100%; max-width:640px; margin:1.5rem auto 0; text-align:center;
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:clamp(2rem,5vw,3.4rem); box-shadow:var(--shadow); animation:fsIn .5s var(--ease); }
.form-success__ico { width:64px; height:64px; margin:0 auto 1.1rem; border-radius:50%;
  display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,var(--accent),var(--purple)); }
.form-success__ico svg { width:32px; height:32px; }
.form-success h3 { color:var(--purple); font-weight:300; font-size:clamp(1.6rem,1.1rem + 2vw,2.3rem); margin-bottom:.5rem; }
.form-success p { color:var(--ink); max-width:42ch; margin:0 auto; font-size:1.05rem; }
@keyframes fsIn { from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }

/* ---- Premium CTA card ---- */
.cta-band > .container {
  --maxw: 960px; position:relative; overflow:hidden;
  padding: clamp(2.2rem, 5vw, 4rem);
  background: radial-gradient(135% 150% at 12% -12%, #4234ce 0%, var(--purple) 30%, var(--indigo) 66%, var(--navy) 100%);
  border-radius: 28px; box-shadow: 0 46px 92px -34px rgba(24,18,80,.6);
}
.cta-band > .container::before { content:""; position:absolute; right:-90px; top:-90px; width:360px; height:360px;
  border-radius:50%; background: radial-gradient(circle, rgba(65,143,222,.4), transparent 70%); pointer-events:none; }
.cta-band > .container::after { content:""; position:absolute; left:-70px; bottom:-90px; width:300px; height:300px;
  border-radius:50%; background: radial-gradient(circle, rgba(120,90,255,.32), transparent 70%); pointer-events:none; }
.cta-band .form-head, .cta-band .sky-form { position:relative; z-index:1; }
.cta-band .form-head h2 { color:#fff; }
.cta-band .form-head p { color: rgba(228,233,255,.82); }
.cta-band .field label { color: rgba(219,225,255,.72); }
.cta-band .field.q label { color:#8fb6ef; }
.cta-band .field input, .cta-band .field textarea, .cta-band .field select,
.cta-band .cc-trigger { color:#fff; border-bottom-color: rgba(255,255,255,.32); }
.cta-band .cc-chev { color:#fff; }
.cta-band .field input::placeholder, .cta-band .field textarea::placeholder { color: rgba(219,225,255,.5); }
.cta-band .field input:focus, .cta-band .field textarea:focus, .cta-band .field select:focus,
.cta-band .cc-trigger:focus { border-bottom-color:#fff; }
.cta-band .field select option { color:#14121f; }
.cta-band .form-note { color:#dfe4fb; }
.cta-band .form-note.ok { color:#bff0c9; }
.cta-band .form-note.err { color:#ffb4b4; }

/* Premium submit button (CTA + contact) */
.form-actions .btn {
  background: linear-gradient(92deg, #4f9bff 0%, #6d5cff 52%, #9a5cff 100%);
  color:#fff; border:0; padding:.95rem 2.6rem; font-size:1.05rem; font-weight:400;
  border-radius:999px; box-shadow: 0 16px 36px -12px rgba(96,110,255,.72);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), filter .25s var(--ease); }
.form-actions .btn::after { content:" →"; }
.form-actions .btn:hover { transform: translateY(-2px); box-shadow: 0 22px 48px -12px rgba(96,110,255,.9); filter:brightness(1.07); }
.cta-band .form-actions .btn { box-shadow: 0 16px 40px -10px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.08); }

/* ============================================================ CINEMATIC LAYER */
/* Subtle film grain over the whole page */
body::after {
  content:""; position:fixed; inset:0; z-index:250; pointer-events:none; opacity:.05; mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:140px 140px;
}
/* Cinema-screen vignette on dark sections */
.bg-navy, .bg-indigo, .bg-indigo-2 { box-shadow: inset 0 0 190px 26px rgba(3,2,16,.5); }
/* Letterbox framing removed — heroes run edge-to-edge (no top/bottom bars) */
.hs-track::before, .hs-track::after,
.feature-hero::before, .feature-hero::after { content:none; }
/* Film-slate section labels */
.eyebrow { text-transform:uppercase; letter-spacing:.16em; font-size:.85rem; font-weight:400;
  display:inline-flex; align-items:center; gap:.55rem; }
.eyebrow::before { content:""; width:22px; height:2px; background:currentColor; opacity:.6; flex:0 0 auto; }
.eyebrow--sm { font-size:.74rem; letter-spacing:.18em; }
/* Heading depth on heroes */
.feature-hero h1 { text-shadow:0 2px 30px rgba(0,0,0,.4); }

/* CTA form card = illuminated cinema screen */
.cta-band > .container {
  position:relative; z-index:2; border-radius:14px;
  border:1px solid rgba(150,175,255,.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18),
              0 0 4px 1px rgba(160,185,255,.5),
              0 0 150px 10px rgba(96,120,255,.46),
              0 44px 100px -22px rgba(0,0,0,.9);
}
.cta-band .form-head h2 { text-shadow: 0 0 34px rgba(150,175,255,.45); }

/* Theatre CTA animations */
.cine-lights { position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.cine-spot { position:absolute; top:-16%; width:38%; height:150%; filter:blur(12px); mix-blend-mode:screen;
  background:linear-gradient(180deg, rgba(150,170,255,.15), transparent 66%); }
.cine-spot--a { left:3%; transform-origin:50% 0; animation:cineSpotA 8.5s ease-in-out infinite; }
.cine-spot--b { right:3%; transform-origin:50% 0; animation:cineSpotB 10.5s ease-in-out infinite; }
@keyframes cineSpotA { 0%,100%{ transform:rotate(8deg) translateX(-4%); } 50%{ transform:rotate(20deg) translateX(12%); } }
@keyframes cineSpotB { 0%,100%{ transform:rotate(-8deg) translateX(4%); } 50%{ transform:rotate(-20deg) translateX(-12%); } }
.cine-crowd { position:absolute; left:0; right:0; bottom:0; height:150px; z-index:5; pointer-events:none; }
.cine-crowd span { position:absolute; width:3px; height:3px; border-radius:50%;
  background:rgba(178,202,255,.95); box-shadow:0 0 7px 1px rgba(120,150,255,.7); opacity:.12;
  animation:cineTwinkle 3s ease-in-out infinite; }
@keyframes cineTwinkle { 0%,100%{ opacity:.1; transform:scale(.7); } 50%{ opacity:.92; transform:scale(1.25); } }
.cine-shine { position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; border-radius:inherit; }
.cine-shine::before { content:""; position:absolute; top:-20%; left:-45%; width:38%; height:140%;
  background:linear-gradient(105deg, transparent, rgba(180,200,255,.16), transparent); transform:skewX(-12deg);
  animation:cineShine 7.5s ease-in-out infinite; }
@keyframes cineShine { 0%{ left:-45%; } 55%,100%{ left:122%; } }
@media (prefers-reduced-motion: reduce){
  .cine-spot, .cine-crowd span, .cine-shine::before { animation:none; }
  .cine-crowd span { opacity:.4; } .cine-shine::before { display:none; }
}

/* ---- Press / Media coverage ---- */
.mono { display:inline-grid; place-items:center; border-radius:6px; background:#e8f1ff; color:var(--accent); font-weight:700; line-height:1; }
.press-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; margin-top:2.6rem; }
.press-card { background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden;
  display:flex; flex-direction:column; box-shadow:0 18px 44px -28px rgba(12,10,38,.3); transition:.3s var(--ease); }
.press-card:hover { transform:translateY(-6px); box-shadow:0 32px 64px -30px rgba(12,10,38,.4); }
.press-card__img { position:relative; aspect-ratio:16/11; overflow:hidden; }
.press-card__img img { width:100%; height:100%; object-fit:cover; }
.press-badge { position:absolute; left:14px; bottom:14px; display:flex; align-items:center; gap:.5rem;
  background:rgba(255,255,255,.95); border-radius:8px; padding:.34rem .66rem; font-size:.72rem; font-weight:600;
  letter-spacing:.05em; color:var(--ink); text-transform:uppercase; box-shadow:0 4px 12px rgba(0,0,0,.16); }
.press-badge .mono { display:none; }
.press-badge img { width:16px; height:16px; object-fit:contain; border-radius:3px; flex:0 0 auto; }
.press-card__body { padding:1.4rem 1.4rem 1.6rem; display:flex; flex-direction:column; flex:1; }
.press-card__body h3 { font-size:1.16rem; font-weight:400; color:var(--ink); line-height:1.32; margin-bottom:.7rem; }
.press-card__body p { color:var(--muted); font-size:.92rem; line-height:1.55; margin:0 0 1.3rem; }
.press-card__more { margin-top:auto; color:var(--accent); font-weight:500; font-size:.95rem; }
.press-card__more:hover { text-decoration:underline; }
.press-outlets { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; margin-top:2.4rem; }
.press-chip { display:flex; align-items:center; gap:.7rem; background:#fff; border:1px solid var(--line);
  border-radius:12px; padding:.8rem 1.1rem; color:var(--ink); font-weight:500; font-size:.95rem; transition:.25s var(--ease); }
.press-chip:hover { border-color:var(--accent); transform:translateY(-2px); box-shadow:0 10px 24px -14px rgba(12,10,38,.3); }
.press-chip .mono { display:none; }
.press-chip img { width:22px; height:22px; object-fit:contain; border-radius:4px; flex:0 0 auto; }
.press-chip .chev { margin-left:auto; color:var(--muted); font-size:1.1rem; }
@media (max-width:1040px){ .press-grid{ grid-template-columns:repeat(2,1fr); } .press-outlets{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:600px){ .press-grid{ grid-template-columns:1fr; } .press-outlets{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:420px){ .press-outlets{ grid-template-columns:1fr; } }

/* ---- Featured On (logo tiles) ---- */
.featured-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:1rem; margin-top:2.6rem; }
.featured-tile { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.7rem; text-align:center; min-height:110px;
  padding:1.3rem .9rem; background:#fff; border:1px solid var(--line); border-radius:14px;
  box-shadow:0 12px 28px -22px rgba(12,10,38,.4); transition:.25s var(--ease); }
.featured-tile:hover { transform:translateY(-3px); border-color:var(--accent); box-shadow:0 18px 36px -20px rgba(12,10,38,.45); }
.featured-tile .mono { display:none; }
.featured-tile img { width:56px; height:56px; object-fit:contain; border-radius:5px; flex:0 0 auto; }
.featured-tile span { font-size:.95rem; font-weight:500; color:var(--ink); line-height:1.25; letter-spacing:.01em; }
@media (max-width:520px){ .featured-grid{ grid-template-columns:repeat(2,1fr); } }

/* ---- Content catalogue (country pages) ---- */
.cat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-top:0; }
@media (max-width:900px){ .cat-grid{ grid-template-columns:1fr; } }
.cat-grid .eco-panel h3 { margin-top:.3rem; }
.cat-cat { color:#fff; font-weight:300; font-size:clamp(1.15rem, .9rem + .8vw, 1.4rem); margin:2.8rem 0 1.1rem; padding-bottom:.6rem; border-bottom:1px solid var(--line-dark); }
.eco-panel.cat-panel { padding:0; overflow:hidden; display:flex; flex-direction:column; }
.cat-thumb { aspect-ratio:4/3; overflow:hidden; background:#0b0a1f; }
.cat-thumb img { width:100%; height:100%; object-fit:cover; object-position:center 26%; display:block; transition:transform .5s var(--ease); }
.cat-panel:hover .cat-thumb img { transform:scale(1.04); }
.cat-body { padding:clamp(1.35rem, 3vw, 1.8rem); display:flex; flex-direction:column; flex:1; }
.cat-body > p { color:var(--muted-dark); margin:.35rem 0 0; font-size:.96rem; }
.cat-meta { display:grid; grid-template-columns:1fr 1fr; gap:.85rem 1rem; margin-top:1.15rem; }
.cat-meta small { display:block; color:var(--accent); font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:.15rem; }
.cat-meta b { color:#fff; font-weight:400; font-size:.92rem; }
.cat-ops { margin-top:1.1rem; padding-top:1rem; border-top:1px solid var(--line-dark); }
.cat-ops small { color:var(--accent); font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; }
.cat-ops .eco-blist { margin-top:.6rem; gap:.5rem; }
.cat-ops .eco-blist li { font-size:.9rem; }
.dir-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-top:2.2rem; }
@media (max-width:820px){ .dir-grid{ grid-template-columns:1fr; } }
.dir-list { list-style:none; margin:.9rem 0 0; padding:0; display:grid; gap:.65rem; }
.dir-list li { color:#dfe4fb; padding-left:1.3rem; position:relative; font-size:.98rem; }
.dir-list li::before { content:"▸"; position:absolute; left:0; color:var(--accent); }

.field input, .field select, .field textarea {
  font-family:inherit; font-weight:300; font-size:1rem; color: var(--ink);
  border:0; border-bottom:1.5px solid #9aa3bd; background:transparent; padding:.5rem .1rem; width:100%;
}
.field select { appearance:none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23555' stroke-width='2'%3E%3Cpath d='M3 5l4 4 4-4'/%3E%3C/svg%3E") right .2rem center no-repeat; }
.field textarea { resize:vertical; min-height:56px; }
.field input:focus, .field select:focus, .field textarea:focus { outline:0; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(65,143,222,.30); }
.field input:focus-visible, .field select:focus-visible, .field textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.field input::placeholder, .field textarea::placeholder { color:#9aa3bd; }
.form-actions { display:flex; justify-content:center; }
.form-note { text-align:center; font-size:.9rem; min-height:1.2em; color: var(--muted); }
.form-note.ok { color:#1a8f4d; } .form-note.err { color:#d4433a; }
/* dark form (contact hero right column) uses same underline but lighter labels handled inline */
@media (max-width:640px){ .sky-form .row{ grid-template-columns:1fr; gap:1.8rem; } }

/* Contact split hero */
.contact-hero { display:grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(2rem,5vw,4rem); align-items:start; }
.contact-hero h1 { font-size: clamp(2.4rem,1.2rem + 4vw,4rem); color: var(--accent); font-weight:300; max-width:12ch; }
.contact-hero .lead { font-size: 1.25rem; line-height: 1.6; }
.contact-hero .sky-form { margin:0; max-width:none; }
@media (max-width:900px){ .contact-hero{ grid-template-columns:1fr; } }

/* ============================================================ FOOTER */
.site-footer { background: var(--navy); color:#c9cdf2; padding: clamp(3rem,6vw,4.5rem) 0 1.6rem; }
.footer-grid { display:grid; grid-template-columns: 1.5fr repeat(4, 1fr) 1.4fr; gap: 1.4rem 1.8rem; }
.footer-brand .brand { color:#fff; margin-bottom:.5rem; }
.footer-col h5 { color: var(--accent); font-size:1rem; font-weight:300; margin-bottom:1rem; }
.footer-col a { display:block; color:#c7cbe6; font-size:.82rem; padding:.28rem 0; transition:.2s; }
.footer-col a:hover { color:#fff; }
.footer-news h5 { color:#fff; font-size:1.15rem; font-weight:400; margin-bottom:.5rem; }
.footer-news p { color:#aab0d6; font-size:.78rem; }
.news-input { display:flex; flex-direction:column; gap:.4rem; margin-top:.6rem; }
.news-input input { background:transparent; border:0; border-bottom:1px solid rgba(255,255,255,.35); color:#fff; padding:.5rem .1rem; font-family:inherit; }
.news-input input::placeholder{ color:#8f95bd; }
.footer-bottom { display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center; border-top:1px solid var(--line-dark); margin-top:2.4rem; padding-top:1.4rem; font-size:.82rem; color:#8489b3; }
.socials { display:flex; gap:.7rem; }
.socials a { width:34px; height:34px; border-radius:6px; border:1px solid var(--line-dark); display:grid; place-items:center; color:#c9cdf2; transition:.25s; }
.socials a:hover { background: var(--accent); border-color: var(--accent); color:#fff; }
@media (max-width:980px){ .footer-grid{ grid-template-columns: 1fr 1fr 1fr; } .footer-news{ grid-column: span 3; } }
@media (max-width:600px){ .footer-grid{ grid-template-columns: 1fr 1fr; } .footer-brand,.footer-news{ grid-column: span 2; } }

/* ============================================================ FEATURE / PROJECT HERO */
.feature-hero { position:relative; min-height:86vh; display:flex; align-items:flex-end; color:#fff; overflow:hidden; background:var(--navy); }
.feature-hero__bg { position:absolute; inset:0; z-index:0; }
.feature-hero__bg img { width:100%; height:100%; object-fit:cover; object-position:center; }
img.hero-imroz-bg { object-position: 68% center; }
@media (max-width:720px){ img.hero-imroz-bg { object-position: 74% center; } }
.feature-hero__bg::after { content:""; position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(9,8,32,.92) 0%, rgba(9,8,32,.55) 42%, rgba(9,8,32,.2) 72%, rgba(9,8,32,.35) 100%),
              linear-gradient(0deg, rgba(9,8,32,.96) 2%, rgba(9,8,32,0) 55%); }
.feature-hero__inner { position:relative; z-index:2; padding: 88px 0 clamp(2.5rem,6vw,4rem); }
.feature-hero .eyebrow { color: var(--accent); }
.feature-hero h1 { font-size: clamp(2.8rem, 1.8rem + 6vw, 6rem); font-weight:300; letter-spacing:.06em; margin:.1em 0 .25em; }
.feature-hero__logo { margin:.15em 0 .3em; line-height:0; }
.feature-hero__logo img { width:min(400px,66%); height:auto; display:block; filter:drop-shadow(0 8px 22px rgba(0,0,0,.55)); }
.feature-hero .tagline { font-size: clamp(1.05rem,.9rem + .6vw,1.4rem); color:#dfe4fb; max-width:40ch; font-weight:300; }
.feature-hero .facts { display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; margin-top:1.2rem; color:#bfc6ee; font-size:.95rem; }
.feature-hero .facts span { display:flex; align-items:center; gap:.5rem; }
.feature-hero .facts b { color:var(--accent); font-weight:500; }
.feature-hero__actions { display:flex; flex-wrap:wrap; gap:.9rem; margin-top:1.8rem; }

/* Stat band */
.stat-band { background: var(--indigo); }
.stat-band .grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1.4rem; text-align:center; }
.stat-band .s b { display:block; font-size: clamp(1.7rem,1rem + 2.4vw,2.6rem); color:#fff; font-weight:300; line-height:1; }
.stat-band .s span { font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); display:block; margin-top:.5rem; }
.stat-band .s + .s { border-left:1px solid var(--line-dark); }
.stat-band .grid.grid--4 { grid-template-columns:repeat(4,1fr); max-width:82%; margin-inline:auto; }
@media (max-width:820px){ .stat-band .grid.grid--4 { grid-template-columns:repeat(2,1fr); max-width:100%; } }
@media (max-width:820px){ .stat-band .grid{ grid-template-columns:repeat(2,1fr); gap:1.8rem 1rem; } .stat-band .s + .s{ border-left:0; } }

/* Showcase slides */
.showcase-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; }
.showcase figure { margin:0; }
.showcase figure img { width:100%; border-radius:var(--radius); box-shadow:var(--shadow); }
.showcase-full img { width:100%; border-radius:var(--radius); box-shadow:var(--shadow); }
@media (max-width:820px){ .showcase-grid{ grid-template-columns:1fr; } }

/* Featured project card */
.feat-proj { position:relative; border-radius:var(--radius-lg); overflow:hidden; min-height:360px; display:flex; align-items:flex-end; color:#fff; box-shadow:var(--shadow); }
.feat-proj img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.feat-proj__img--imroz { object-position:78% center; }
@media (max-width:600px){ .feat-proj__img--imroz { object-position:86% center; } }
.feat-proj::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(9,8,32,.86) 0%, rgba(9,8,32,.32) 45%, rgba(9,8,32,0) 78%); }
.feat-proj__in { position:relative; z-index:2; padding: clamp(1.6rem,4vw,2.6rem); max-width:600px; }
.feat-proj__in h3 { font-size: clamp(1.8rem,1.2rem + 2vw,2.6rem); font-weight:300; }
/* Two featured projects side by side (India: VARANASI + SVC63) */
.feat-proj-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; }
.feat-proj-grid .feat-proj__in { max-width:none; }
@media (max-width:860px){ .feat-proj-grid { grid-template-columns:1fr; } }

/* Cast grid */
.cast-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1.15rem; }
.cast-card { position:relative; border-radius:16px; overflow:hidden; aspect-ratio:4/5.2;
  box-shadow:0 22px 46px -26px rgba(0,0,0,.75); background:var(--indigo-2); }
.cast-card .ph { position:absolute; inset:0; }
.cast-card .ph img { width:100%; height:100%; object-fit:cover; object-position:center top; transition: transform .6s var(--ease); }
.cast-grid .cast-card:nth-child(3) .ph img, .cast-grid .cast-card:nth-child(5) .ph img { object-position:center center; }
.cast-grid.cast-grid--4 { grid-template-columns:repeat(4,1fr); max-width:82%; margin-inline:auto; }
.cast-card::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(transparent 40%, rgba(9,7,28,.55) 66%, rgba(9,7,28,.95) 100%); }
.cast-card:hover .ph img { transform: scale(1.06); }
.cast-card .meta { position:absolute; left:0; right:0; bottom:0; z-index:2; padding:1.15rem 1rem .95rem; }
/* VARANASI — director filmography posters + media banners */
.va-films { display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; margin-top:2.4rem; }
@media (max-width:700px){ .va-films{ grid-template-columns:repeat(2,1fr); } }
.va-film { position:relative; border-radius:12px; overflow:hidden; box-shadow:0 18px 38px -22px rgba(0,0,0,.75); transition:transform .45s var(--ease); }
.va-film:hover { transform:translateY(-6px); }
.va-film img { width:100%; display:block; aspect-ratio:2/3; object-fit:cover; }
.va-film span { position:absolute; left:0; right:0; bottom:0; padding:1.4rem .85rem .75rem; color:#fff; font-size:.8rem;
  background:linear-gradient(transparent, rgba(6,5,20,.92)); }
.va-film span b { display:block; color:var(--accent); font-size:1.05rem; font-weight:500; letter-spacing:-.01em; }
.va-banner { position:relative; aspect-ratio:5/2; border-radius:var(--radius); overflow:hidden; box-shadow:0 30px 64px -32px rgba(0,0,0,.7); }
.va-banner img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
@media (max-width:760px){ .va-banner{ aspect-ratio:3/2; } }
.va-banner .cap { position:absolute; left:0; right:0; bottom:0; padding:clamp(1.6rem,4vw,3.2rem); color:#fff;
  background:linear-gradient(transparent, rgba(6,5,20,.5) 45%, rgba(6,5,20,.95)); }
.va-banner .cap b { display:block; font-size:clamp(1.5rem,1rem + 1.6vw,2.4rem); font-weight:400; letter-spacing:-.01em; }
.va-banner .cap span { display:block; color:#cdd4f5; font-size:clamp(1rem,.9rem + .4vw,1.25rem); margin-top:.4rem; }

/* two-column awards feature */
.va-feat { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; border-radius:var(--radius); overflow:hidden;
  background:linear-gradient(125deg,#0b0a24 0%,#1a1550 60%,#241a63 100%); box-shadow:0 30px 64px -32px rgba(0,0,0,.7); }
.va-feat__text { padding:clamp(1.8rem,4vw,3.2rem); display:flex; flex-direction:column; justify-content:center; }
.va-feat__text h3 { color:#fff; font-size:clamp(1.7rem,1.1rem + 1.8vw,2.6rem); font-weight:300; letter-spacing:-.01em; margin-bottom:1rem; }
.va-feat__text p { color:#c7cdf0; font-size:1rem; line-height:1.62; }
.va-feat__text b { color:#fff; font-weight:500; }
.va-feat__tags { display:flex; gap:1.4rem; flex-wrap:wrap; margin-top:1.6rem; align-items:center; }
.va-feat__tags span { background:none; border:0; border-radius:0;
  padding:0; display:inline-flex; align-items:center; gap:.55rem; color:#fff; font-size:16px; font-weight:500; }
.va-feat__tags .fact-ico { width:22px; height:22px; }
.va-feat__tags--logos { gap:2rem; }
.va-feat__tags--logos img { max-height:40px; max-width:120px; width:auto; height:auto; object-fit:contain; }
.va-feat__img { position:relative; min-height:340px; }
.va-feat__img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.va-feat__img--rrr { object-position:78% 38%; }
.va-feat__img--myz { min-height:473px; }
.va-feat__img--myz-photo { object-position:72% 42%; }
@media (max-width:820px){ .va-feat{ grid-template-columns:1fr; } .va-feat__img{ order:-1; min-height:0; aspect-ratio:16/11; } .va-feat__img--rrr{ object-position:82% 34%; } .va-feat__img--myz-photo{ object-position:80% 42%; } }
@media (max-width:480px){ .va-feat__img--rrr{ object-position:88% 34%; } .va-feat__img--myz-photo{ object-position:86% 42%; } }
.cast-card .meta b { display:block; font-weight:500; font-size:1.06rem; color:#fff; letter-spacing:-.01em; }
.cast-card .meta span { color:#8fb6ef; font-size:.84rem; }
@media (max-width:980px){ .cast-grid{ grid-template-columns:repeat(3,1fr); } .cast-grid.cast-grid--4{ grid-template-columns:repeat(4,1fr); max-width:100%; } }
@media (max-width:560px){ .cast-grid{ grid-template-columns:repeat(2,1fr); } .cast-grid.cast-grid--4{ grid-template-columns:repeat(2,1fr); max-width:100%; } }

/* Talent cards (Running Wild) */
/* Running Wild — network/producer logo strip */
.rw-networks { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:clamp(1.2rem,3vw,2.6rem); margin-top:2rem; }
.rw-networks img { height:34px; width:auto; opacity:.95; }
.rw-networks .rw-disney { height:26px; }
.rw-networks .rw-propagate { height:26px; }
.rw-networks small { color:var(--muted-dark); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; }
.talent-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.talent-card { background:var(--indigo-2); border:1px solid var(--line-dark); border-radius:var(--radius); overflow:hidden; transition:.35s var(--ease); }
.talent-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--accent); }
.talent-card__img { aspect-ratio:4/5; overflow:hidden; }
.talent-card__img img { width:100%; height:100%; object-fit:cover; object-position:top center; transition:transform .6s var(--ease); }
.talent-card:hover .talent-card__img img { transform:scale(1.06); }
.talent-card__body { padding:1.2rem 1.3rem 1.4rem; }
.talent-card__body h4 { color:#fff; font-size:1.3rem; font-weight:400; margin-bottom:.3rem; }
.talent-card__body p { color:var(--muted-dark); font-size:.9rem; margin:0 0 .8rem; }
.talent-card__socials { display:flex; gap:1rem; font-size:.85rem; color:var(--accent); }
.talent-card__socials span { display:flex; align-items:center; gap:.35rem; }
@media (max-width:820px){ .talent-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .talent-grid{ grid-template-columns:1fr; } }

/* Category grid (target brands) */
.cat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem 2.2rem; }
.cat h4 { color:var(--accent); font-size:1.1rem; font-weight:400; margin-bottom:.4rem; display:flex; align-items:center; gap:.5rem; }
.cat h4 .ico { width:22px; height:22px; }
.cat p { color:var(--muted-dark); font-size:.86rem; line-height:1.5; margin:0; }
.cat + .cat {}
@media (max-width:820px){ .cat-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .cat-grid{ grid-template-columns:1fr; } }

/* Package cards */
.pkg-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.pkg { background:linear-gradient(180deg,var(--indigo-2),var(--indigo)); border:1px solid var(--line-dark); border-radius:var(--radius); padding:1.8rem 1.5rem; transition:.35s var(--ease); }
.pkg:hover { transform:translateY(-6px); border-color:var(--accent); box-shadow:var(--shadow); }
.pkg__tier { font-size:1.6rem; font-weight:400; color:#fff; }
.pkg--title .pkg__tier{ color:#ff6a6a; } .pkg--plat .pkg__tier{ color:#57c7c7; } .pkg--gold .pkg__tier{ color:#ffc24b; } .pkg--silver .pkg__tier{ color:#c9d2e6; }
.pkg__price { display:inline-block; font-size:.72rem; letter-spacing:.06em; color:var(--muted-dark); border:1px solid var(--line-dark); border-radius:999px; padding:.3rem .8rem; margin:.6rem 0 1.1rem; }
.pkg ul { display:grid; gap:.6rem; }
.pkg li { color:#dfe3ff; font-size:.9rem; padding-left:1.3rem; position:relative; }
.pkg li::before { content:"✓"; position:absolute; left:0; color:var(--accent); }
@media (max-width:900px){ .pkg-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .pkg-grid{ grid-template-columns:1fr; } }

/* Staggered reveal */
.reveal.stagger .stg { opacity:0; transform:translateY(22px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
.reveal.stagger.in .stg { opacity:1; transform:none; }
.reveal.stagger.in .stg:nth-child(1){transition-delay:.04s}
.reveal.stagger.in .stg:nth-child(2){transition-delay:.11s}
.reveal.stagger.in .stg:nth-child(3){transition-delay:.18s}
.reveal.stagger.in .stg:nth-child(4){transition-delay:.25s}
.reveal.stagger.in .stg:nth-child(5){transition-delay:.32s}
.reveal.stagger.in .stg:nth-child(6){transition-delay:.39s}
.reveal.stagger.in .stg:nth-child(7){transition-delay:.46s}
.reveal.stagger.in .stg:nth-child(8){transition-delay:.53s}
.reveal.stagger.in .stg:nth-child(9){transition-delay:.60s}

/* subtle hero zoom */
.feature-hero__bg img { animation: heroZoom 18s ease-out forwards; }
@keyframes heroZoom { from { transform: scale(1.08); } to { transform: scale(1); } }
@media (prefers-reduced-motion: reduce){ .feature-hero__bg img{ animation:none; } .reveal.stagger .stg{ opacity:1; transform:none; } }

/* Gradient transition strip (dark -> light), matches Figma */
.fade-to-light { height: 160px; background: linear-gradient(180deg, var(--indigo-2), var(--light)); }

/* Scroll reveal */
.reveal { opacity:0; transform: translateY(22px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .reveal{ opacity:1; transform:none; transition:none; } * { scroll-behavior:auto!important; } }

/* ---- Accessibility ---- */
/* Visible keyboard focus everywhere (mouse clicks stay clean via :focus-visible) */
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 3px; }
a:focus-visible, button:focus-visible, .btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
/* On dark sections a light ring reads better than brand blue */
.bg-navy :focus-visible, .bg-indigo :focus-visible, .site-header :focus-visible, .site-footer :focus-visible,
.feature-hero :focus-visible { outline-color: #fff; }

/* Skip-to-content link — hidden until focused */
.skip-link { position:absolute; left:12px; top:-48px; z-index:200; background:var(--purple); color:#fff;
  padding:.6rem 1.1rem; border-radius:0 0 10px 10px; font-size:.9rem; text-decoration:none;
  transition: top .18s var(--ease); }
.skip-link:focus { top:0; }
#main { scroll-margin-top: 90px; }


/* Honour reduced-motion for the home hero slider zoom too */
@media (prefers-reduced-motion: reduce){ .hs-slide.is-active .hs-photo{ animation:none; } }

/* ---- Global Reach & Monetisation Ecosystem (home) ---- */
.eco-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; margin-top:2.4rem; text-align:center; }
.eco-stats .s b { display:block; font-weight:300; color:var(--purple); font-size:clamp(2rem, 1.1rem + 2.8vw, 3rem); line-height:1; }
.eco-stats .s span { display:block; margin-top:.55rem; font-size:.76rem; letter-spacing:.07em; text-transform:uppercase; color:var(--accent); }
@media (max-width:720px){ .eco-stats{ grid-template-columns:repeat(2,1fr); gap:1.8rem 1rem; } }

.eco-two { display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; margin-top:2.2rem; }
@media (max-width:820px){ .eco-two{ grid-template-columns:1fr; } }
.eco-panel { background:rgba(255,255,255,.045); border:1px solid var(--line-dark); border-radius:var(--radius); padding:clamp(1.5rem,3vw,2rem); }
.eco-panel h3 { color:#fff; font-weight:300; font-size:clamp(1.35rem,1rem + 1vw,1.6rem); margin:.25rem 0 .35rem; }
.eco-panel > p { color:var(--muted-dark); margin:0; }
.eco-tags { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.15rem; }
.eco-tag { border:1px solid var(--line-dark); color:#cfe0f6; border-radius:999px; padding:.36rem .95rem; font-size:.85rem; }
.eco-tag--solid { border-color:var(--accent); background:rgba(65,143,222,.14); }

.eco-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; margin-top:2.4rem; }
@media (max-width:900px){ .eco-cards{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .eco-cards{ grid-template-columns:1fr; } }
.eco-card { background:rgba(255,255,255,.045); border:1px solid var(--line-dark); border-radius:var(--radius); padding:1.6rem; transition:.3s var(--ease); }
.eco-card:hover { transform:translateY(-6px); border-color:var(--accent); }
.eco-card .ico { width:38px; height:38px; color:var(--accent); margin-bottom:.9rem; stroke-width:1.1; }
.eco-card h4 { color:#fff; font-weight:400; font-size:1.12rem; margin-bottom:.35rem; }
.eco-card p { color:var(--muted-dark); font-size:1rem; margin:0; }

.eco-cross { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:1.4rem; }
@media (max-width:820px){ .eco-cross{ grid-template-columns:1fr; } }
.eco-cross div { border-left:3px solid var(--accent); padding:.35rem 0 .35rem 1.1rem; color:var(--muted-dark); font-size:1.02rem; }
.eco-cross b { color:#fff; font-weight:400; }

.eco-blist { list-style:none; margin:1.15rem 0 0; padding:0; display:grid; gap:.75rem; }
.eco-blist li { position:relative; padding-left:1.7rem; color:#dfe4fb; }
.eco-blist li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--accent); font-weight:500; }

/* ---- Ecosystem animation / visualisation ---- */
/* §6 supply<->demand flow bridge */
.eco-two--bridge { grid-template-columns: 1fr 78px 1fr; align-items:center; }
@media (max-width:820px){ .eco-two--bridge{ grid-template-columns:1fr; } }
.eco-bridge { display:flex; align-items:center; justify-content:center; }
.eco-bridge__inner { display:flex; flex-direction:column; align-items:center; gap:.55rem; color:var(--accent); }
.eco-bridge__ring { width:42px; height:42px; display:grid; place-items:center; border-radius:50%;
  border:1px solid rgba(65,143,222,.55); background:rgba(65,143,222,.12); animation: ecoRing 2.6s ease-out infinite; }
.eco-bridge__ring svg { width:20px; height:20px; }
.eco-bridge__track { position:relative; width:2px; height:66px; border-radius:2px; overflow:hidden;
  background:linear-gradient(180deg, rgba(65,143,222,0), rgba(65,143,222,.5), rgba(65,143,222,0)); }
.eco-bridge__track i { position:absolute; left:50%; top:0; width:7px; height:7px; margin-left:-3.5px; border-radius:50%;
  background:var(--accent); box-shadow:0 0 8px rgba(65,143,222,.9); animation: ecoTravel 1.9s linear infinite; }
.eco-bridge__track i:nth-child(2){ animation-delay:.95s; }
@media (max-width:820px){
  .eco-bridge { padding:.6rem 0; }
  .eco-bridge__track { width:66px; height:2px; background:linear-gradient(90deg, rgba(65,143,222,0), rgba(65,143,222,.5), rgba(65,143,222,0)); }
  .eco-bridge__track i { top:50%; left:0; margin:-3.5px 0 0 0; animation-name: ecoTravelX; }
}
@keyframes ecoRing { 0%{ box-shadow:0 0 0 0 rgba(65,143,222,.4);} 70%,100%{ box-shadow:0 0 0 15px rgba(65,143,222,0);} }
@keyframes ecoTravel { 0%{ top:-8px; opacity:0;} 15%{opacity:1;} 85%{opacity:1;} 100%{ top:66px; opacity:0;} }
@keyframes ecoTravelX { 0%{ left:-8px; opacity:0;} 15%{opacity:1;} 85%{opacity:1;} 100%{ left:66px; opacity:0;} }

/* §6 chips reveal + supply shimmer */
.eco-tag { opacity:0; transform:translateY(8px) scale(.96); transition:opacity .45s var(--ease), transform .45s var(--ease); }
.reveal.in .eco-tag { opacity:1; transform:none; }
.reveal.in .eco-tags .eco-tag:nth-child(1){transition-delay:.06s}
.reveal.in .eco-tags .eco-tag:nth-child(2){transition-delay:.12s}
.reveal.in .eco-tags .eco-tag:nth-child(3){transition-delay:.18s}
.reveal.in .eco-tags .eco-tag:nth-child(4){transition-delay:.24s}
.reveal.in .eco-tags .eco-tag:nth-child(5){transition-delay:.30s}
.reveal.in .eco-tags .eco-tag:nth-child(6){transition-delay:.36s}
.eco-tag--solid { position:relative; overflow:hidden; }
.eco-tag--solid::after { content:""; position:absolute; inset:0; transform:translateX(-130%);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent); animation: ecoShimmer 5s ease-in-out infinite; }
@keyframes ecoShimmer { 0%,62%{ transform:translateX(-130%);} 82%,100%{ transform:translateX(130%);} }

/* §6 cross-border items slide in */
.eco-cross div { opacity:0; transform:translateX(-10px); transition:opacity .5s var(--ease), transform .5s var(--ease); }
.reveal.in .eco-cross div { opacity:1; transform:none; }
.reveal.in .eco-cross div:nth-child(1){transition-delay:.10s}
.reveal.in .eco-cross div:nth-child(2){transition-delay:.22s}
.reveal.in .eco-cross div:nth-child(3){transition-delay:.34s}

/* §7 animated integration chain linking the cards (desktop) */
.eco-cards { position:relative; }
.eco-cards::before { content:""; position:absolute; left:7%; right:7%; top:44px; height:2px; z-index:0;
  background:repeating-linear-gradient(90deg, rgba(65,143,222,.5) 0 9px, transparent 9px 18px);
  background-size:200% 100%; animation: ecoChain 16s linear infinite; }
.eco-cards > .eco-card { position:relative; z-index:1; }
@media (max-width:900px){ .eco-cards::before{ display:none; } }
@keyframes ecoChain { to { background-position:200% 0; } }

/* §8 benefit list items draw in */
.eco-blist li { opacity:0; transform:translateX(-8px); transition:opacity .5s var(--ease), transform .5s var(--ease); }
.reveal.in .eco-blist li { opacity:1; transform:none; }
.reveal.in .eco-blist li:nth-child(1){transition-delay:.08s}
.reveal.in .eco-blist li:nth-child(2){transition-delay:.18s}
.reveal.in .eco-blist li:nth-child(3){transition-delay:.28s}
.reveal.in .eco-blist li:nth-child(4){transition-delay:.38s}

/* Respect reduced-motion: hold everything visible, stop loops */
@media (prefers-reduced-motion: reduce){
  .eco-bridge__ring, .eco-bridge__track i, .eco-tag--solid::after, .eco-cards::before { animation:none!important; }
  .eco-tag, .eco-cross div, .eco-blist li { opacity:1!important; transform:none!important; transition:none!important; }
}

/* Sticky floating CTA */
.sticky-cta {
  position: fixed; right: clamp(1rem, 3vw, 2rem); bottom: clamp(1rem, 3vw, 2rem); z-index: 260;
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .85rem 1.5rem; border-radius: 999px; color: #fff; text-decoration: none;
  font-size: .98rem; font-weight: 400; line-height: 1; cursor: pointer;
  background: linear-gradient(92deg, #ff8a3d 0%, #ff3d6e 100%);
  box-shadow: 0 16px 38px -10px rgba(255,72,110,.62);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), filter .25s var(--ease), opacity .3s var(--ease), visibility .3s var(--ease);
}
.sticky-cta:hover { transform: translateY(-2px); box-shadow: 0 22px 52px -10px rgba(255,72,110,.85); filter: brightness(1.05); }
.sticky-cta svg { width: 16px; height: 16px; }
.sticky-cta.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(12px); }
@media (max-width: 520px) { .sticky-cta { padding: .78rem 1.15rem; font-size: .9rem; } }
@media print { .sticky-cta { display: none; } }

/* Back-to-top button */
.back-to-top {
  position: fixed; left: clamp(1rem, 3vw, 2rem); bottom: clamp(1rem, 3vw, 2rem); z-index: 260;
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: 999px; border: 0; padding: 0; cursor: pointer;
  background: var(--purple); color: #fff;
  box-shadow: 0 16px 38px -10px rgba(15,10,60,.55);
  opacity: 0; visibility: hidden; transform: translateY(12px);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), filter .25s var(--ease), opacity .3s var(--ease), visibility .3s var(--ease);
}
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top:hover { transform: translateY(-2px); filter: brightness(1.12); }
.back-to-top svg { width: 20px; height: 20px; }
@media (max-width: 520px) { .back-to-top { width: 42px; height: 42px; } .back-to-top svg { width: 18px; height: 18px; } }
@media print { .back-to-top { display: none; } }

/* ============================================================
   WEBSITE AUDIT — corrections from the "Website Audit" deck
   (Canva DAHQAun98YY). Grouped here so every change is reviewable
   in one place. Brand CTA colour is #428ede (= var(--accent)).
   ============================================================ */

/* ---- 1. Global rhythm: reduce padding site-wide, keep it consistent
        with the (now tighter) menu padding ---- */
.nav { height: 88px; }
/* Header nav spans the full blue band, edge to edge, with a comfortable inset */
.site-header .nav { width: 100%; max-width: none; padding-inline: clamp(1.25rem, 3.5vw, 3rem); }
html { scroll-padding-top: 98px; }
.section { padding: clamp(2.4rem, 4.6vw, 3.6rem) 0; }
.page-hero { padding: clamp(2.4rem,5vw,3.6rem) 0 clamp(2.6rem,5.5vw,4rem); }
.cta-band { padding-block: clamp(2.4rem,4.6vw,3.6rem); }
@media (max-width:940px){ .nav-links{ inset:88px 0 auto 0; } }

/* ---- 2. Type scale ----
        H2 section headings 45px · hero headlines 64px · body 16px ---- */
h2.title, h2.big, .form-head h2 { font-size: clamp(1.85rem, 1.1rem + 2.4vw, 45px); }
h1.display, .page-hero h1, .hero-globe h1.big { font-size: clamp(2.3rem, 1.1rem + 4.4vw, 64px); }
.lead { font-size: 1rem; line-height: 1.65; }                 /* body copy 16px */
.page-hero .lead, .hero-globe .lead,
.feature-hero .tagline { font-size: 1.25rem; line-height: 1.6; }   /* hero copy 20px */
.wwd__item p, .eco-card p, .rec p, .eco-blist li { font-size: 1rem; }

/* Closing "We Bring Stories to the World" headline — 94px */
.closing-title { font-size: clamp(2.4rem, 1rem + 6.4vw, 94px); line-height: 1.08; }

/* Stats are the main attraction of their sections — make the numbers dominant */
.eco-stats { margin-top: 3rem; }
.eco-stats .s b { font-size: clamp(3rem, 1.6rem + 5vw, 5.5rem); }
.eco-stats .s span { margin-top: .8rem; font-size: .8rem; }
.stat b { font-size: clamp(2.4rem, 1.3rem + 3vw, 3.4rem); }

/* ---- 3. Brand CTA colour — one solid #428ede, no coloured glow ---- */
/* NOTE: the floating "Let's Talk" sticky CTA is deliberately excluded —
   it keeps its original coral gradient, glow and size. */
.btn--blue, .btn--purple, .btn--white,
.form-actions .btn {
  background: var(--accent);
  color: #fff;
  box-shadow: none;
}
.btn--blue:hover, .btn--purple:hover, .btn--white:hover,
.form-actions .btn:hover {
  background: #2f7bc9; box-shadow: none; filter: none; transform: translateY(-2px);
}
.cta-band .form-actions .btn { box-shadow: none; }

/* ---- 4. Remove the eyebrow dash before section labels ---- */
.eyebrow::before { content: none; }

/* ---- 5. Remove the inset vignette ("dropshadow in background") on
        dark sections, and the distracting dashed connector ---- */
.bg-navy, .bg-indigo, .bg-indigo-2 { box-shadow: none; }
.eco-cards::before { display: none; }

/* ---- 6. Hero carousel runs full screen ---- */
.hs-track { aspect-ratio: auto; height: calc(100vh - 64px); min-height: 460px; }
.hs-photo { width: 100%; height: 100%; object-fit: cover; }
/* Salman & Nayanthara sit in the left third of this key art — keep them
   in frame on narrow/tall mobile crops instead of centering on empty space. */
.hs-slide .hs-photo--svc { object-position: 30% center; }
.hs-slide .hs-photo--imroz { object-position: 68% center; }
@media (max-width:860px){ .hs-slide .hs-photo--imroz { object-position: 76% center; } }
.hs-logo.hs-logo--text { width:auto; max-width:min(46%, 560px); color:#fff; font-weight:300; letter-spacing:-.01em; line-height:1.05; font-size:clamp(2.2rem,1.2rem + 4vw,4.6rem); }
@media (max-width:860px){ .hs-logo.hs-logo--text { max-width:min(80%, 460px); font-size:clamp(1.8rem,1rem + 5vw,3.2rem); } }
/* Film logos larger, and sitting higher in the frame */
.hs-logo.pos-cb    { width: min(52%, 680px); bottom: 15%; }
.hs-logo.pos-left  { width: min(52%, 640px); top: 46%; }
.hs-logo.pos-right { width: min(48%, 600px); top: 42%; }
.hs-logo.pos-cb.hs-logo--xxl { width: min(64%, 820px); }
.hs-logo.pos-cb.hs-logo--lower { bottom: 6%; }
@media (max-width:860px){
  .hs-track{ height: 62vh; }
  .hs-logo.pos-cb{ width:min(70%, 420px); }
  .hs-logo.pos-left{ width:min(70%, 420px); }
  /* On mobile the hero photo crops to a tall aspect and a right/vertically-centered
     logo lands on top of the subject's face — anchor it to the bottom instead,
     same treatment as the pos-cb (Varanasi/XXX) logos. */
  .hs-logo.pos-right{ top:auto; bottom:6%; right:auto; left:50%; transform:translateX(-50%); width:min(70%, 420px); }
  .hs-logo.pos-cb.hs-logo--xxl { width: min(80%, 460px); }
}

/* ---- 6b. Hero carousel: whole left/right half click-through, not just the arrow strip ---- */
.hs-nav { width: 50%; min-width: 0; }

/* ---- 7. Card / panel polish ---- */
/* Country + industry cards: arrow aligned with its label, and the "→" glyph
   properly centred inside its circle. The inherited line-height (1.6 × 24px
   = 38.4px) was taller than the 34px circle, pushing the glyph 4px low. */
/* Anchor to the last line, not the middle: names that wrap to two lines
   ("United Kingdom") were floating their arrow 19px above every other card's. */
.photo-card__label { align-items: flex-end; }
.photo-card__label .arrow {
  flex: 0 0 34px; line-height: 1; font-size: 20px;
}
/* About: taller image, and no divider line between the stats */
.about__media img { min-height: 460px; }
.stat + .stat { border-left: 0; padding-left: 0; }
.stats { gap: clamp(1.5rem, 4vw, 3rem) clamp(2rem, 6vw, 4rem); }
/* Recognition of Excellence — more room between image, title and copy */
.rec .rec-img { margin-bottom: 1.7rem; }
.rec h4 { margin-bottom: .6rem; }
/* About hero heading: no gradient fill, tighter kerning */
.about-hero__hl { background: none; -webkit-text-fill-color: currentColor;
  color: #8fb6ef; letter-spacing: -.015em; }

/* ---- 8. Media Landscapes: an auto-scrolling carousel (same treatment as
        the Global Footprint countries row) instead of a 10-card wall ---- */
.marquee .industry-card { flex: 0 0 clamp(200px, 20vw, 250px); }
.marquee .industry-card .photo-card__label { font-size: 1.2rem; left: 16px; right: 16px; }

/* ---- 8b. "Powering Content" marquee: wider coverflow — the centred card
        is full-size and bright, neighbours shrink and darken ---- */
.marquee--feature .industry-card {
  flex: 0 0 clamp(260px, 34vw, 460px); aspect-ratio: 16/10;
  transform: scale(.86); filter: brightness(.5) saturate(.85);
  transition: transform .45s var(--ease), filter .45s var(--ease);
}
.marquee--feature .industry-card.is-active { transform: scale(1); filter: none; }
.marquee--feature .industry-card .photo-card__label { font-size: 1.3rem; }
.marquee-dots { display: flex; justify-content: center; gap: .55rem; margin-top: 1.6rem; }
.marquee-dots button { width: 9px; height: 9px; border-radius: 999px; border: 0; background: rgba(255,255,255,.28); padding: 0; cursor: pointer; transition: .3s var(--ease); }
.marquee-dots button.is-active { width: 26px; background: var(--accent); }
@media (max-width: 700px) {
  .marquee--feature .industry-card { flex-basis: clamp(220px, 78vw, 340px); }
}

/* ---- 9. Countries hero: solid country chips, comfortable spacing ---- */
.hero-globe .eco-tags { max-width: 50rem; margin-inline: auto; gap: .7rem .8rem; margin-top: 2rem; justify-content: center; }
.hero-globe .eco-tag { background: rgba(8,14,26,.92); border-color: rgba(255,255,255,.4);
  color: #eaf2ff; font-size: .92rem; padding: .45rem 1.05rem; }
.eco-break { flex-basis: 100%; height: 0; }

/* ---- 10. Contact section on white — no photo backdrop, no glow ---- */
.cta-band { background: var(--light); }
.cta-band > .container { background: #fff; box-shadow: none; }
.cta-band > .container::before, .cta-band > .container::after { content: none; }
.cta-band .form-head h2 { color: var(--accent); font-size: clamp(2.4rem, 1.1rem + 4.4vw, 64px); }
.cta-band .form-head p, .cta-band .form-note { color: var(--ink); font-size: 1rem; }
.cta-band .field label { color: var(--ink); }
.cta-band .field.q label { color: var(--purple); }
.cta-band .field input, .cta-band .field textarea, .cta-band .field select,
.cta-band .cc-trigger, .cta-band .cc-chev { color: var(--ink); border-bottom-color: #9aa3bd; }
.cta-band .field input::placeholder,
.cta-band .field textarea::placeholder { color: var(--muted); }
.cta-band .field input:focus, .cta-band .field textarea:focus,
.cta-band .field select:focus, .cta-band .cc-trigger:focus { border-bottom-color: var(--accent); }
.cta-band .form-note.ok { color: #1c7a3a; }
.cta-band .form-note.err { color: #c0392b; }

/* ---- 11. Inline icons replacing the emoji in fact rows / contact details ---- */
.fact-ico {
  width: 1.05em; height: 1.05em; flex: 0 0 auto;
  vertical-align: -.18em; color: var(--accent);
}

/* ---- 12. Media page: the three offering tabs scroll to their section ---- */
.media-tabs a { cursor: pointer; }

/* ---- India hero as a feature-hero carousel (VARANASI + SVC63) ---- */
.feature-hero--carousel { display:block; min-height:86vh; }
.feature-hero--carousel .hs-slide { display:flex; align-items:flex-end; }
.feature-hero--carousel .hs-slide::after { content:none; }        /* rely on feature-hero__bg gradients */
/* keep the inner as a normal centered .container (gutter + max-width), not full-bleed */
.feature-hero--carousel .hs-dots { bottom:26px; }
.feature-hero--carousel .feature-hero__inner { padding-bottom: clamp(3.5rem, 9vw, 6rem); }
.feature-hero--carousel .facts { margin-top: .8rem; }
.feature-hero--carousel .feature-hero__actions { margin-top: 1.3rem; }
@media (max-width:700px){ .feature-hero--carousel{ min-height:auto; } .feature-hero--carousel .hs-slide{ position:relative; opacity:1; } .feature-hero--carousel .hs-slide:not(.is-active){ display:none; } }

/* ---- SVC63 cinematic Logline band ---- */
.svc-logline { position:relative; overflow:hidden; background:#0a0a16;
  padding-block: clamp(3.5rem, 8vw, 6.5rem); }
.svc-logline__bg { position:absolute; inset:0; z-index:0; }
.svc-logline__bg img { width:100%; height:100%; object-fit:cover; object-position:right center; }
/* scrims: darken left (for text) + top/bottom for blending into neighbouring sections */
.svc-logline::before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(8,8,20,.96) 0%, rgba(8,8,20,.9) 34%, rgba(8,8,20,.5) 62%, rgba(8,8,20,.15) 100%),
    linear-gradient(180deg, rgba(8,8,20,.85) 0%, rgba(8,8,20,0) 22% 78%, rgba(8,8,20,.85) 100%); }
.svc-logline__inner { position:relative; z-index:2; max-width:640px; margin-inline:0;
  padding-left: clamp(1.1rem, 5vw, 4rem); }
.svc-logline .eyebrow { color:#7fb2f0; }
.svc-quote { position:relative; margin:1rem 0 0; padding:0;
  font-size: clamp(2rem, 1.2rem + 3.4vw, 3.7rem); font-weight:300; line-height:1.1;
  letter-spacing:-.015em; color:#fff; text-shadow:0 2px 24px rgba(0,0,0,.6); }
.svc-quote em { font-style:normal; color:var(--accent); }
.svc-quote__mark { position:absolute; left:-.12em; top:-.55em; z-index:-1;
  font-size:5.5em; line-height:1; color:var(--accent); opacity:.16; font-family:Georgia, "Times New Roman", serif; }
.svc-rule { display:block; width:64px; height:3px; margin:1.6rem 0 1.4rem;
  background:linear-gradient(90deg, var(--accent), rgba(66,142,222,0)); border-radius:3px; }
.svc-logline__lead { color:#eef2fb; font-size: clamp(1.05rem, .98rem + .5vw, 1.3rem);
  line-height:1.6; max-width:52ch; margin:0 0 1.1rem; text-shadow:0 1px 12px rgba(0,0,0,.5); }
.svc-logline__body { color:#c3c9e0; font-size:1rem; line-height:1.7; max-width:56ch; margin:0;
  text-shadow:0 1px 12px rgba(0,0,0,.5); }
.svc-logline__body b { color:#fff; font-weight:500; }
@media (max-width:720px){
  .svc-logline__bg img { object-position:72% center; }
  .svc-logline::before { background:
    linear-gradient(180deg, rgba(8,8,20,.78) 0%, rgba(8,8,20,.62) 45%, rgba(8,8,20,.9) 100%); }
  .svc-logline__inner { max-width:none; padding-inline: clamp(1.1rem,5vw,2rem); }
}

/* BLURRED logline band — show the eye artwork (centred), warmer left scrim */
.logline--blurred .svc-logline__bg img { object-position: center 42%; }
@media (max-width:720px){ .logline--blurred .svc-logline__bg img { object-position: 60% 42%; } }

/* ---- SVC63 brand-endorsement logo grids ---- */
.brand-cols { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(1.6rem,4vw,3rem); align-items:start; }
.brand-lead { color:var(--purple); font-weight:500; font-size:1.15rem; margin-bottom:1.1rem; }
.brand-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.9rem; }
.brand-tile { min-width:0; background:#fff; border:1px solid var(--line); border-radius:14px;
  height:clamp(88px,8vw,120px); display:flex; align-items:center; justify-content:center; padding:.85rem; overflow:hidden;
  box-shadow:0 10px 24px -20px rgba(12,10,38,.4); transition:.25s var(--ease); }
.brand-tile:hover { transform:translateY(-3px); box-shadow:0 16px 30px -18px rgba(12,10,38,.5); }
.brand-tile img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
@media (max-width:860px){ .brand-cols{ grid-template-columns:1fr; gap:2.2rem; } .brand-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:520px){ .brand-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* ---- 13. SVC63 hero — subjects sit on the RIGHT; keep them in frame and
        darken the left so the logo / tagline / CTAs stay legible ---- */
.svc-hero-bg img { object-position: right center; }
.svc-hero-bg::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, rgba(9,8,26,.92) 0%, rgba(9,8,26,.6) 34%, rgba(9,8,26,.15) 60%, rgba(9,8,26,0) 100%);
}

/* ---- 13. About world map: brand-coloured travelling arcs, and
        location names that are readable without hovering ---- */
.wmap__arc-glow { stroke: var(--accent); }
.wmap__arc { stroke: rgba(66,142,222,.22); }
.wmap__name {
  font-size: 20px; text-transform: none; letter-spacing: .01em; font-weight: 400;
  bottom: calc(100% + 14px);           /* breathing room above the pin */
  padding: .3rem .7rem; border-radius: 8px;
  border-color: rgba(66,142,222,.5);
}
