/* ===================================================================
   MGPS — Global Production Atlas — shared stylesheet
=================================================================== */
:root{
  --paper:#FFFFFF;
  --paper-warm:#EEF1F4;
  --ink:#121210;
  --ink-soft:#43484A;
  --graphite:#6B6963;
  --line:#DCE2E8;
  --mark:#2E4A62;
  --mark-deep:#22384B;
  --mark-tint:#E3EAF1;
  --dark:#121416;
  --dark-panel:#1B1F22;
  --dark-line:rgba(247,248,248,0.15);
  --dark-text:#F7F8F8;
  --dark-soft:#A8A69F;
  --sage:#7FBE97;
  --footer-bg:#16272B;
  --footer-line:rgba(247,248,248,0.14);
  --footer-soft:#9FB6B9;
  --accent-orange:#C1571C;
  --accent-orange-deep:#9A4415;
  --accent-orange-tint:#F5E1D2;
  --accent-orange-light:#E27A3E;
  --slate:#243A4D;
  --slate-text:#C9D5DF;
  --max:1220px;
  --serif:'Newsreader', serif;
  --sans:'IBM Plex Sans', sans-serif;
  --mono:'IBM Plex Mono', monospace;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;} }
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;margin:0;color:inherit;}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;background:none;border:none;color:inherit;}
input,textarea{font-family:inherit;}
::selection{background:var(--mark);color:var(--paper);}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{outline:2px solid var(--mark);outline-offset:3px;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 40px;}
@media (max-width:700px){.wrap{padding:0 22px;}}

.mono{font-family:var(--mono);}
.eyebrow{
  font-family:var(--mono);font-size:12px;letter-spacing:0.04em;color:var(--mark);
  display:flex;align-items:center;gap:10px;margin-bottom:18px;
}
.eyebrow::before{content:"";width:16px;height:1px;background:var(--mark);}
section.dark .eyebrow{color:#7FBE97;}
section.dark .eyebrow::before{background:#7FBE97;}

.coord{font-family:var(--mono);font-size:11.5px;color:var(--graphite);letter-spacing:0.02em;}
section.dark .coord{color:var(--dark-soft);}

/* ---------- HEADER ---------- */
header{position:sticky;top:0;z-index:100;background:#FFFFFF;border-bottom:1px solid var(--line);transition:box-shadow .25s ease;}
header.scrolled{box-shadow:0 1px 14px rgba(17,17,16,0.07);}
.nav{max-width:var(--max);margin:0 auto;padding:16px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand img{height:44px;width:auto;}
.navlinks{display:flex;gap:18px;align-items:center;}
.navlinks a{font-size:12.8px;letter-spacing:0.01em;color:var(--ink-soft);position:relative;padding:6px 0;white-space:nowrap;transition:color .2s var(--ease-out);}
.navlinks a:hover{color:var(--ink);}
.navlinks a.on{color:var(--ink);}
.navlinks a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--mark);transition:width .22s ease;}
.navlinks a:hover::after, .navlinks a.on::after{width:100%;}
.nav-cta{border:1px solid var(--ink);padding:9px 16px;font-size:12px;font-family:var(--mono);letter-spacing:0.02em;transition:background .2s ease,color .2s ease;white-space:nowrap;}
.nav-cta:hover{background:var(--ink);color:var(--paper);}
.nav-toggle{display:none;padding:11px;margin:-7px -11px -7px 0;}   /* 44×44 tap target, icon position unchanged */
.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--ink);margin:5px 0;}
.mobile-panel{display:none;}
@media (max-width:960px){
  .navlinks{display:none;}
  .nav-toggle{display:block;}
  .nav-cta{display:none;}
  header.open .mobile-panel{display:flex;flex-direction:column;gap:2px;background:#FFFFFF;border-top:1px solid var(--line);padding:8px 22px 20px;}
  header.open .mobile-panel a{padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;}
  header.open .mobile-panel .nav-cta{display:block;margin-top:14px;text-align:center;border:1px solid var(--ink);padding:14px 16px;}
}
@media (max-width:960px){ .nav{padding:14px 22px;} .brand img{height:36px;} }
@media (min-width:961px) and (max-width:1080px){
  .brand img{height:38px;}
  .nav{padding:16px 24px;gap:14px;}
  .navlinks{gap:13px;}
  .navlinks a{font-size:11.8px;}
}

/* ---------- PAGE HERO (interior pages) ---------- */
.page-hero{padding:64px 0 56px;border-bottom:1px solid var(--line);}
.page-hero .coord{display:block;margin-bottom:18px;}
.page-hero h1{font-size:clamp(32px,4.6vw,54px);line-height:1.06;max-width:16ch;}
.page-hero p.lead{font-size:16px;color:var(--ink-soft);max-width:52ch;margin-top:22px;}
.page-hero.dark{background:var(--dark);color:var(--dark-text);border-bottom:1px solid var(--dark-line);}
.page-hero.dark p.lead{color:var(--dark-soft);}
.crumb{font-family:var(--mono);font-size:11px;color:var(--graphite);margin-bottom:14px;display:block;}
.crumb a{color:var(--mark);}
section.dark .crumb, .page-hero.dark .crumb{color:var(--dark-soft);}

/* ---------- HOME HERO ---------- */
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px;}
.btn-primary{background:var(--ink);color:var(--paper);padding:14px 24px;font-size:13.5px;font-family:var(--mono);border:1px solid var(--ink);transition:background .2s ease,color .2s ease,transform .2s ease;display:inline-block;}
.btn-primary:hover{background:var(--mark);border-color:var(--mark);transform:translateY(-1px);}
.btn-ghost{padding:14px 22px;font-size:13.5px;font-family:var(--mono);border:1px solid var(--line);color:var(--ink);transition:border-color .2s ease;display:inline-block;}
.btn-ghost:hover{border-color:var(--ink);}
.fact-row{display:flex;gap:26px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;}
.fact-row .fact{font-family:var(--mono);font-size:11.5px;color:var(--graphite);}
.fact-row .fact b{color:var(--ink);font-weight:500;}

/* ---------- HERO — full-bleed earth-horizon visual ---------- */
.hero-earth{position:relative;background:radial-gradient(120% 90% at 30% 0%, var(--dark-panel) 0%, var(--dark) 100%);overflow:hidden;padding:0;}
.hero-earth-visual{position:absolute;inset:0;}
.hero-earth-visual svg{width:100%;height:100%;display:block;}
.hero-earth .landmass{fill:#56795F;stroke:#8DBB9C;stroke-width:1.1;}
.hero-globe-body{fill:#162019;}
.hero-graticule path{fill:none;stroke:rgba(127,190,151,0.2);stroke-width:0.7;}
.hero-limb{fill:none;stroke:rgba(127,190,151,0.55);stroke-width:1.3;}
.hero-earth::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(100deg, var(--dark) 0%, rgba(17,17,16,0.8) 22%, rgba(17,17,16,0.22) 44%, rgba(17,17,16,0) 58%);pointer-events:none;}
.hero-arc{fill:none;stroke:var(--sage);stroke-width:1.2;stroke-opacity:0.9;}
.hero-arc-glow{fill:none;stroke:var(--sage);stroke-width:5;stroke-opacity:0.14;}
.hero-dot-halo{fill:var(--sage);fill-opacity:0.22;}
.hero-dot{fill:var(--sage);}
.hero-dot.hq{fill:var(--dark-text);}
.hero-earth-content{position:relative;z-index:5;padding-top:90px;padding-bottom:340px;}
.hero-earth-content .coord{color:var(--sage);letter-spacing:0.2em;margin-bottom:24px;display:block;}
.hero-earth-content h1{color:var(--dark-text);font-size:clamp(36px,5vw,58px);line-height:1.08;font-weight:500;letter-spacing:-0.01em;margin-bottom:20px;}
.hero-earth-content .lead{color:var(--dark-text);opacity:0.82;font-size:16px;line-height:1.6;max-width:44ch;margin-bottom:34px;}
@media (max-width:700px){.hero-earth-content{padding-top:60px;padding-bottom:260px;}}

/* scrolling territory ticker beneath the hero */
.hero-ticker{position:relative;z-index:5;background:var(--dark);border-top:1px solid var(--dark-line);overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;}
.hero-ticker.dragging{cursor:grabbing;}
.hero-ticker-track{display:flex;white-space:nowrap;font-family:var(--mono);font-size:12px;letter-spacing:0.1em;color:var(--dark-soft);padding:14px 0;width:max-content;will-change:transform;}
.hero-ticker-track span{padding:0 20px;white-space:nowrap;}
.hero-ticker-track .dot{opacity:0.4;}

/* ---------- SECTION SHELLS ---------- */
section{padding:104px 0;}
section.dark{background:var(--dark);color:var(--dark-text);}
section.warm{background:var(--paper-warm);}
section.tight{padding:70px 0;}
@media (max-width:700px){section{padding:70px 0;}}
.sec-head{display:grid;grid-template-columns:0.9fr 1.3fr;gap:56px;margin-bottom:52px;align-items:end;}
.sec-head h2{font-size:clamp(28px,3.4vw,40px);line-height:1.08;}
.sec-head p{color:var(--ink-soft);font-size:15px;max-width:44ch;}
section.dark .sec-head p{color:var(--dark-soft);}
@media (max-width:800px){.sec-head{grid-template-columns:1fr;gap:16px;}}

/* ---------- IMAGE TREATMENTS ---------- */
.figure{position:relative;overflow:hidden;}
.figure img{filter:grayscale(20%) contrast(1.03);transition:transform .45s var(--ease-out);display:block;}
.figure:hover img{transform:scale(1.035);}
.figure .cap{position:absolute;left:14px;bottom:14px;font-family:var(--mono);font-size:11px;color:var(--paper);background:rgba(17,17,16,0.6);padding:5px 10px;letter-spacing:0.03em;}

/* ---------- ONE PRODUCTION MANY PLACES / GENERIC OP GRID ---------- */
.op-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
@media (max-width:900px){.op-grid{grid-template-columns:1fr;gap:36px;}}
.op-copy p{color:var(--ink-soft);font-size:15px;margin-bottom:18px;max-width:46ch;}
section.dark .op-copy p{color:var(--dark-soft);}

/* ---------- OFFERING / CAPABILITY GROUPS (service pages) ---------- */
.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:8px;}
@media (max-width:800px){.group-grid{grid-template-columns:1fr;}}
.group{background:var(--paper);padding:32px 26px;}
section.dark .group{background:var(--dark);}
section.dark .group-grid{background:var(--dark-line);border-color:var(--dark-line);}
.group h3{font-size:16px;margin-bottom:16px;font-family:var(--mono);letter-spacing:0.02em;text-transform:uppercase;font-weight:500;color:var(--mark);}
.group ul{list-style:none;margin:0;padding:0;}
.group li{font-size:14.5px;color:var(--ink-soft);padding:8px 0;border-top:1px solid var(--line);}
section.dark .group li{color:var(--dark-soft);border-top:1px solid var(--dark-line);}
.group li:first-child{border-top:none;}

/* ---------- ATLAS / TERRITORIES ---------- */
.atlas-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:start;}
@media (max-width:980px){.atlas-layout{grid-template-columns:1fr;}}
.region-tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap;}
.region-tab{padding:9px 16px;font-size:12.5px;font-family:var(--mono);border:1px solid var(--line);color:var(--ink-soft);background:transparent;transition:border-color .2s var(--ease-out),color .2s var(--ease-out),background-color .2s var(--ease-out);}
.region-tab.active{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.territory-chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;}
@media (max-width:980px){.territory-chips{display:none;}}
.chip{padding:8px 13px;font-size:13px;border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);transition:border-color .2s ease,color .2s ease,background .2s ease;}
.chip.selected{border-color:var(--accent-orange);color:var(--ink);background:var(--accent-orange-tint);}

.territory-detail{border-top:1px solid var(--line);padding-top:22px;min-height:200px;border-top-color:var(--line);}
.territory-detail h4{font-size:22px;margin-bottom:6px;color:var(--accent-orange);}
.territory-detail .sub{color:var(--graphite);font-size:12.5px;margin-bottom:18px;font-family:var(--mono);}
.cap-list{list-style:none;padding:0;margin:0;}
.cap-list li{font-size:14px;color:var(--ink-soft);padding:9px 0;border-top:1px solid var(--line);}
.cap-list li:first-child{border-top:none;}

.mobile-territories{display:none;margin-top:26px;}
@media (max-width:980px){.mobile-territories{display:block;}}
.mobile-search{width:100%;border:1px solid var(--line);background:var(--paper);padding:12px 14px;font-size:14px;margin-bottom:14px;color:var(--ink);}
.mobile-list{border-top:1px solid var(--line);}
.mobile-list button{width:100%;text-align:left;padding:14px 2px;border-bottom:1px solid var(--line);font-size:14.5px;display:flex;justify-content:space-between;}
.mobile-list button .r{font-family:var(--mono);font-size:11px;color:var(--graphite);}

/* ---------- ARCHIVE ---------- */
@media (max-width:640px){.archive-row{grid-template-columns:44px 1fr;gap:4px 14px;padding:14px 0;}
  .archive-row .net, .archive-row .fmt{grid-column:2;}}

/* ---------- REAL CREDIT MOSAICS (replace generic stock photography) ---------- */


/* ---------- GLOBAL NETWORK — dark closing band ---------- */
.network-band{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
.network-band > div{min-width:0;}
@media (max-width:860px){.network-band{grid-template-columns:1fr;gap:36px;}}
.territory-flow{font-family:var(--serif);font-size:clamp(17px,1.8vw,20px);line-height:2;color:var(--dark-text);}
.territory-flow span:not(.sep){display:inline-block;}
.territory-flow .sep{color:var(--dark-soft);margin:0 10px;}

/* ---------- GREGG / ABOUT ---------- */
.gregg-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:start;}
@media (max-width:900px){.gregg-grid{grid-template-columns:1fr;gap:32px;}}
.gregg-copy p{color:var(--dark-soft);font-size:15px;margin-bottom:16px;max-width:60ch;}
.meet-toggle{margin-top:22px;border:1px solid var(--dark-line);padding:11px 20px;font-family:var(--mono);font-size:12.5px;color:var(--dark-text);transition:border-color .2s ease;}
.meet-toggle:hover{border-color:var(--mark);}
.gregg-extra{height:0;overflow:hidden;visibility:hidden;}           /* animated by script.js (real height) */
.gregg-extra.open{height:auto;visibility:visible;}
.gregg-profile{margin:0;}
.gregg-photo{aspect-ratio:4/5;}
.gregg-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;}
@media (max-width:900px){.gregg-profile{max-width:460px;}}
.affiliations{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);text-align:center;}
.aff-label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:0.08em;color:var(--graphite);margin-bottom:16px;}
/* sized by visual area, not raw pixels, so the wide Academy wordmark doesn't dominate the round seals */
.aff-row{list-style:none;margin:0;padding:0;display:flex;justify-content:center;align-items:center;gap:clamp(22px,3.4vw,40px);font-size:62px;}
.aff-row li{display:flex;align-items:center;}
.aff-row img{width:auto;display:block;}
.aff-dga{height:0.977em;} .aff-tva{height:0.737em;} .aff-pga{height:0.867em;}
@media (max-width:360px){.aff-row{font-size:50px;gap:18px;}}

/* ---------- ANIMATED LOGO MARQUEE (real partner/network logos) ---------- */
.marquee-wrap{overflow:hidden;contain:layout paint;}
.marquee-row{overflow:hidden;contain:layout paint;}
.marquee-track{display:flex;width:max-content;animation:marquee-left 61s linear infinite;will-change:transform;backface-visibility:hidden;}
.marquee-row.reverse .marquee-track{animation-name:marquee-right;animation-duration:65s;}
/* No hover pause: a pointer resting on the page made the logos stop for ~0.5–1 s whenever the band scrolled under it.
   With JavaScript the loop is driven by script.js ("js-marquee": exact measured set width, time-based); the CSS
   animation above remains only as the no-JavaScript fallback. Durations above stay the single source of speed. */
.marquee-wrap.js-marquee .marquee-track{animation-name:none;}
@keyframes marquee-left{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes marquee-right{from{transform:translateX(-50%);}to{transform:translateX(0);}}
.marquee-tile{flex:0 0 auto;height:88px;padding:0 34px;display:flex;align-items:center;justify-content:center;}
.marquee-tile img{display:block;height:var(--lh,44px);width:calc(var(--lh,44px) * var(--ar,1));object-fit:contain;}
@media (max-width:700px){.marquee-tile{height:66px;padding:0 22px;} .marquee-tile img{height:calc(var(--lh,44px) * 0.76);width:calc(var(--lh,44px) * 0.76 * var(--ar,1));}}

/* ---------- FIELD NOTES ---------- */
.fn-wrap{max-width:760px;}
.review-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;border-top:1px solid var(--line);padding-top:40px;}
@media (max-width:800px){.review-split{grid-template-columns:1fr;gap:40px;}}
.review-col-label{font-family:var(--mono);font-size:11.5px;letter-spacing:0.04em;color:var(--mark);margin-bottom:18px;}
.review-col .fn-wrap{max-width:none;}
.fn-quote{font-family:var(--serif);font-style:italic;font-size:clamp(19px,2.4vw,25px);line-height:1.45;font-weight:400;}
.fn-who{margin-top:22px;font-size:14px;color:var(--dark-soft);}
.fn-who strong{color:var(--dark-text);font-weight:500;}

/* ---------- CONTACT ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 0.85fr;gap:64px;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:40px;}}
.field{margin-bottom:18px;}
.field label{display:block;font-family:var(--mono);font-size:11.5px;color:var(--dark-soft);margin-bottom:8px;letter-spacing:0.03em;}
.field input, .field textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--dark-line);color:var(--dark-text);padding:10px 2px;font-size:15px;transition:border-color .2s ease;}
.field input:focus, .field textarea:focus{border-color:var(--mark);outline:none;}
.field textarea{resize:vertical;min-height:80px;}
.submit-btn{margin-top:8px;background:var(--mark);color:var(--dark-text);padding:14px 26px;font-family:var(--mono);font-size:13px;border:1px solid var(--mark);transition:background .2s ease;}
.submit-btn:hover{background:var(--mark-deep);}
.contact-info .row{padding:16px 0;border-top:1px solid var(--dark-line);}
.contact-info .row:first-child{border-top:none;}
.contact-info .label{font-family:var(--mono);font-size:11px;color:var(--dark-soft);margin-bottom:5px;}
.contact-info .value{font-size:16px;}
.schedule-link{display:inline-block;margin-top:24px;border:1px solid var(--dark-line);padding:13px 22px;font-family:var(--mono);font-size:12.5px;transition:border-color .2s ease;}
.schedule-link:hover{border-color:var(--mark);}

/* ---------- LANDMASS BASE (map + hero) ---------- */
.landmass{fill:#33423A;stroke:none;}

/* ---------- WORLD MAP (Global Network section) ---------- */
.map-panel{background:var(--paper);border:1px solid var(--line);padding:22px;}
.map-panel svg{width:100%;height:auto;display:block;}
.map-panel .landmass{fill:#AECBA3;}
.map-panel{scroll-margin-top:84px;}
.map-pt{cursor:pointer;}
.map-hit{fill:transparent;}
.map-dot{fill:var(--graphite);stroke:var(--paper);stroke-width:1.5;transition:fill .15s ease;}
.map-ring{fill:none;stroke:var(--accent-orange);stroke-width:1.6;opacity:0;transition:opacity .15s ease;}
.map-pt:hover .map-dot, .map-pt.selected .map-dot{fill:var(--accent-orange);}
.map-pt:hover .map-ring{opacity:.45;}
.map-pt.selected .map-ring{opacity:1;}
.detail-clear{margin-top:16px;font-family:var(--mono);font-size:12px;color:var(--ink-soft);border-bottom:1px solid var(--line);padding:8px 0 4px;}
.detail-clear:hover{color:var(--accent-orange-deep);border-color:var(--accent-orange);}
.mobile-list button{min-height:48px;align-items:center;}
.mobile-list button.selected{color:var(--accent-orange-deep);box-shadow:inset 2px 0 0 var(--accent-orange);padding-left:12px;}
.list-empty{padding:16px 2px;font-size:14px;color:var(--ink-soft);}
.list-empty a{color:var(--accent-orange-deep);}
.incentive-note{margin-top:16px;font-size:12.5px;color:var(--graphite);font-style:italic;border-top:1px solid var(--line);padding-top:14px;}

/* ---------- HOME v2: pills, what-we-do, recent productions ---------- */
.pill-row{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0;}
.pill{border:1px solid var(--ink);padding:12px 20px;font-family:var(--mono);font-size:12.5px;letter-spacing:0.02em;transition:background .2s ease,color .2s ease,border-color .2s ease;}
.pill:hover{background:var(--ink);color:var(--paper);border-color:var(--mark);}
.pill.on-dark{border-color:var(--dark-text);color:var(--dark-text);}
.pill.on-dark:hover{background:var(--dark-text);color:var(--dark);border-color:var(--sage);}
.btn-primary.on-dark{background:var(--dark-text);color:var(--dark);border-color:var(--dark-text);}
.btn-primary.on-dark:hover{background:var(--sage);border-color:var(--sage);color:var(--dark);}
.link-cta{font-family:var(--mono);font-size:12.5px;color:var(--mark);border-bottom:1px solid transparent;transition:border-color .2s ease;}
.link-cta:hover{border-color:var(--mark);}
@media (max-width:700px){a.link-cta{display:inline-block;padding:8px 0 4px;}}

@media (min-width:861px){
}

.fn-wrap.on-light .fn-quote{color:var(--ink);}
.fn-wrap.on-light .fn-who{color:var(--ink-soft);}
.fn-wrap.on-light .fn-who strong{color:var(--ink);}

/* ---------- FOOTER (distinct green treatment) ---------- */
footer{background:var(--footer-bg);color:var(--dark-text);padding:70px 0 26px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid var(--footer-line);}
@media (max-width:800px){.foot-grid{grid-template-columns:1fr 1fr;row-gap:32px;}}
.foot-logo{font-family:var(--serif);font-size:19px;margin-bottom:12px;}
.foot-logo-link{display:inline-block;}
.foot-logo-img{height:34px;width:auto;filter:brightness(0) invert(1);opacity:0.96;}
@media (max-width:700px){.foot-logo-img{height:28px;}}
.foot-grid p{color:var(--footer-soft);font-size:13.5px;max-width:30ch;}
.foot-grid h5{font-family:var(--mono);font-size:11px;letter-spacing:0.04em;color:var(--footer-soft);margin-bottom:14px;}
.foot-grid a{display:block;font-size:13.5px;color:var(--dark-text);padding:5px 0;transition:color .2s ease;}
.foot-grid a:hover{color:var(--sage);}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:22px;font-size:12px;color:var(--footer-soft);font-family:var(--mono);flex-wrap:wrap;gap:10px;}

.reveal{opacity:1;}

/* ---------- INTERNATIONAL SERVICES — orange + black treatment ---------- */
.group-grid.orange-dark{background:#000;border-color:#000;}
.group-grid.orange-dark .group{background:var(--dark);}
.group-grid.orange-dark .group h3{color:var(--accent-orange);}
.group-grid.orange-dark .group li{color:var(--dark-soft);border-top:1px solid rgba(247,248,248,0.1);}
.group-grid.orange-dark .group li:first-child{border-top:none;}
section.services-orange{background:var(--dark);color:var(--dark-text);}
section.services-orange .eyebrow{color:var(--accent-orange);}
section.services-orange .eyebrow::before{background:var(--accent-orange);}
section.services-orange .sec-head p{color:var(--dark-soft);}

/* ---------- WHAT TO EXPECT — process journey ---------- */
.journey{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:8px;position:relative;}
@media (max-width:860px){.journey{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.journey{grid-template-columns:1fr;}}
.journey-step{padding:26px 22px 0 0;border-left:1px solid var(--line);position:relative;}
.journey-step:first-child{border-left:none;}
@media (max-width:860px){.journey-step{border-left:none;border-top:1px solid var(--line);padding:22px 0 0;}
  .journey-step:nth-child(odd){padding-right:22px;}
  .journey-step:nth-child(1),.journey-step:nth-child(2){border-top:none;}}
@media (max-width:560px){.journey-step:nth-child(2){border-top:1px solid var(--line);}}
.journey-step .r{font-family:var(--serif);font-size:30px;color:var(--accent-orange);display:block;margin-bottom:10px;line-height:1;}
.journey-step p{font-size:14.5px;color:var(--ink-soft);line-height:1.5;}
.journey-step .arrow{position:absolute;top:22px;right:-9px;color:var(--accent-orange);font-family:var(--mono);font-size:14px;z-index:2;}
@media (max-width:860px){.journey-step .arrow{display:none;}}

/* ---------- NEWS (featured story + scalable coverage grid) ---------- */
.news-section{padding-top:56px;}
.news-featured{display:grid;grid-template-columns:1.05fr 1fr;gap:52px;align-items:center;padding-bottom:56px;border-bottom:1px solid var(--line);}
.news-featured > *{min-width:0;}
@media (max-width:900px){.news-featured{grid-template-columns:1fr;gap:24px;padding-bottom:44px;}}
.news-media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--paper-warm);border:1px solid var(--line);}
.news-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.news-img{transition:transform .45s var(--ease-out);}
.news-img-bg{transform:scale(1.25);filter:blur(26px);opacity:0;}
.news-media.fit-contain .news-img-bg{opacity:1;}
.news-media.fit-contain .news-img{object-fit:contain;padding:7% 9%;}
.news-media:not(.fit-contain):hover .news-img{transform:scale(1.03);}
.news-meta{font-family:var(--mono);font-size:12px;letter-spacing:0.03em;color:var(--mark);margin-bottom:12px;}
.news-title{font-weight:500;}
.news-featured .news-title{font-size:clamp(26px,3vw,36px);line-height:1.12;margin-bottom:16px;}
.news-excerpt{font-size:15px;color:var(--ink-soft);max-width:56ch;margin-bottom:18px;}
.news-more{margin-top:56px;}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 32px;}
@media (max-width:1024px){.news-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.news-grid{grid-template-columns:1fr;gap:44px;}}
.news-card{display:flex;flex-direction:column;min-width:0;}
.news-card .news-body{padding-top:18px;display:flex;flex-direction:column;flex:1;}
.news-card .news-title{font-size:20px;line-height:1.28;margin-bottom:10px;}
.news-card .news-excerpt{font-size:14px;}
.news-card .link-cta{margin-top:auto;align-self:flex-start;}

/* ---------- HOMEPAGE ORANGE ACCENT (same palette as International Services) ---------- */
.accent-orange .eyebrow{color:var(--accent-orange-deep);}
.accent-orange .eyebrow::before{background:var(--accent-orange);}
.accent-orange .link-cta{color:var(--accent-orange-deep);}
.accent-orange .link-cta:hover{border-color:var(--accent-orange);}
.accent-orange h2 em{font-style:italic;color:var(--accent-orange);}

/* ---------- PRODUCTION WITHIN / WITHOUT BORDERS ---------- */
.borders-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);}
.border-concept{padding:36px 48px 0 0;position:relative;min-width:0;}
.border-concept + .border-concept{padding:36px 0 0 48px;border-left:1px solid var(--line);}
.border-concept::before{content:"";position:absolute;top:-1px;left:0;width:48px;height:2px;background:var(--accent-orange);}
.border-concept + .border-concept::before{left:48px;}
.concept-label{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:0.04em;color:var(--accent-orange-deep);margin-bottom:14px;}
.border-concept h2{font-size:clamp(26px,3.2vw,36px);line-height:1.08;margin-bottom:18px;}
.border-concept p{font-size:15.5px;color:var(--ink-soft);margin-bottom:14px;max-width:52ch;}
.border-concept .link-cta{display:inline-block;margin-top:6px;}
@media (max-width:860px){
  .borders-grid{grid-template-columns:1fr;}
  .border-concept{padding:30px 0 0;}
  .border-concept + .border-concept{padding:30px 0 0;border-left:none;border-top:1px solid var(--line);margin-top:40px;}
  .border-concept + .border-concept::before{left:0;}
}

/* ---------- SAVINGS · SUPPORT · NO FEE ---------- */
.value-prop{display:grid;grid-template-columns:0.95fr 1.25fr;gap:64px;align-items:start;}
.value-prop > div{min-width:0;}
@media (max-width:900px){.value-prop{grid-template-columns:1fr;gap:36px;}}
.value-intro h2{font-size:clamp(26px,3.1vw,36px);line-height:1.12;margin-bottom:20px;}
.value-intro p{font-size:15.5px;color:var(--ink-soft);max-width:48ch;margin-bottom:14px;}
.value-intro .value-note{font-family:var(--mono);font-size:11.5px;color:var(--graphite);}
.value-label{font-family:var(--mono);font-size:11.5px;letter-spacing:0.04em;color:var(--accent-orange-deep);}
.value-points{border-top:1px solid var(--line);}
.value-point{display:grid;grid-template-columns:190px 1fr;gap:8px 28px;padding:24px 0;border-bottom:1px solid var(--line);}
.value-point .value-label{padding-top:5px;}
.value-point h3{font-size:19px;line-height:1.3;margin-bottom:8px;}
.value-point p{font-size:14px;color:var(--ink-soft);max-width:56ch;}
@media (max-width:560px){.value-point{grid-template-columns:1fr;}}

@media (max-width:700px){
}

/* ---------- MAP DEEP-LINK LANDING ---------- */
#territory-map{scroll-margin-top:16px;}

/* ---------- CONTEXTUAL CONTACT CTA (service pages) ---------- */
.context-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 28px;margin-top:52px;padding-top:28px;border-top:1px solid var(--line);}
.context-cta p{font-family:var(--serif);font-size:clamp(20px,2.2vw,24px);line-height:1.25;color:var(--ink);}
.context-cta .btn-primary{text-align:center;max-width:100%;}
@media (max-width:560px){.context-cta .btn-primary{width:100%;}}
.btn-ghost.on-dark{border-color:var(--dark-line);color:var(--dark-text);}
.btn-ghost.on-dark:hover{border-color:var(--dark-text);}
.border-concept .concept-lede{font-family:var(--serif);font-style:italic;font-size:17.5px;line-height:1.45;color:var(--ink);margin:-4px 0 18px;max-width:44ch;}
.sec-head p .link-cta{display:inline-block;margin-top:12px;}
.form-status{margin-top:14px;font-size:14px;color:var(--dark-soft);min-height:1.4em;max-width:52ch;}
.form-status.is-error{color:#F0A57E;}
.form-status.is-ok{color:var(--dark-text);}
/* spam trap: off-screen for people and assistive tech, still present for bots */
.hp-field{position:absolute !important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}
.submit-btn[disabled]{opacity:0.6;cursor:progress;}
.field input[aria-invalid="true"], .field textarea[aria-invalid="true"]{border-color:#F0A57E;}

/* ---------- ACCESSIBILITY HELPERS (invisible until needed) ---------- */
.skip-link{position:absolute;left:12px;top:-64px;z-index:200;background:var(--ink);color:var(--paper);padding:10px 16px;font-family:var(--mono);font-size:13px;transition:top .15s ease;}
.skip-link:focus{top:12px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media (max-width:800px){.foot-grid a{padding:8px 0;}}

/* =====================================================================
   FINAL REVISION — white / near-black / MGPS orange / cool grey / slate
   ===================================================================== */
.eyebrow{color:var(--accent-orange-deep);}
.eyebrow::before{background:var(--accent-orange);}
section.dark .eyebrow, .page-hero.dark .eyebrow, .services-orange .eyebrow, .built-sec .eyebrow, .us-hero .eyebrow{color:var(--accent-orange-light);}
section.dark .eyebrow::before, .page-hero.dark .eyebrow::before, .services-orange .eyebrow::before, .built-sec .eyebrow::before, .us-hero .eyebrow::before{background:var(--accent-orange-light);}

/* ---- vertical rhythm: editorial breathing room, not empty space ---- */
section{padding:84px 0;}
section.tight{padding:56px 0;}
section.compact{padding:64px 0;}
.compact .sec-head{margin-bottom:34px;}
section.cta-band{padding:64px 0;}
@media (max-width:700px){section{padding:60px 0;} section.tight, section.cta-band{padding:44px 0;} section.compact{padding:50px 0;}}

/* ---- header: official lockup, a little larger ---- */
header .brand img{height:70px;width:auto;}
header .nav{padding-top:10px;padding-bottom:10px;}
@media (min-width:961px) and (max-width:1080px){header .brand img{height:58px;}}
@media (max-width:960px){header .brand img{height:52px;} header .nav{padding-top:9px;padding-bottom:9px;}}

/* ---- homepage hero: shorter, globe unchanged ---- */
.hero-earth-content{padding-top:64px;padding-bottom:250px;}
@media (max-width:700px){.hero-earth-content{padding-top:46px;padding-bottom:196px;}}
.hero-ticker-track .tk-set{display:flex;flex-shrink:0;}

/* ---- MGPS Model (International first) + Advantage ---- */
section.model-sec{padding:60px 0 64px;}
.border-concept .concept-note{color:var(--ink);font-weight:500;}
section.adv-sec{background:var(--paper-warm);padding:72px 0;}
.value-point{grid-template-columns:76px 1fr;}
.value-sub{font-family:var(--serif);font-style:italic;font-size:16.5px;color:var(--ink) !important;margin-bottom:6px;}
.value-point.no-fee{background:#A94A16;border:none;padding:22px 24px;margin-top:20px;}
.value-point.no-fee .value-label{color:rgba(255,255,255,0.86);}
.value-point.no-fee h3{color:#FFFFFF;}
.value-point.no-fee p{color:rgba(255,255,255,0.92);}
@media (max-width:560px){.value-point{grid-template-columns:1fr;}}

/* ---- experience + testimonials: white tiles, tighter rhythm ---- */
.compact .review-split{margin-top:22px;}

/* ---- interior page heroes ---- */
.page-hero.center{text-align:center;}
.page-hero.center h1{margin-left:auto;margin-right:auto;max-width:20ch;}
.page-hero.center p.lead{margin-left:auto;margin-right:auto;max-width:62ch;}
.page-hero p.lead + p.lead{margin-top:14px;}
.page-hero .lead-strong{font-weight:500;}
.page-hero.dark .lead-strong, .us-hero .lead-strong{color:var(--dark-text) !important;}
.hero-rule{display:block;width:44px;height:2px;background:var(--accent-orange);margin:0 0 24px;}
.page-hero.center .hero-rule{margin:0 auto 24px;}
.page-hero{padding:72px 0 64px;}
@media (max-width:700px){.page-hero{padding:52px 0 46px;}}

/* ---- About ---- */
.about-hero{position:relative;overflow:hidden;padding:92px 0 84px;}
.about-hero .wrap{position:relative;z-index:1;}
section.built-sec{background:var(--slate);color:var(--dark-text);padding:80px 0;}
.built-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;align-items:start;}
.built-head h2{font-size:clamp(28px,3.4vw,40px);line-height:1.1;margin:0 0 28px;color:var(--dark-text);}
.built-copy p{color:var(--slate-text);font-size:16px;line-height:1.7;max-width:60ch;margin-bottom:18px;}
.built-copy p:last-child{margin-bottom:0;}
@media (max-width:860px){.built-grid{grid-template-columns:1fr;gap:28px;} .built-head .btn-primary{display:none;}}
section.gregg-sec{padding:80px 0;}
.gregg-sec .gregg-copy{color:var(--ink-soft);}
.gregg-name{color:var(--ink);font-size:clamp(28px,3.4vw,40px);font-weight:500;margin-bottom:4px;}
.gregg-role{font-family:var(--mono);color:var(--accent-orange-deep);font-size:12.5px;letter-spacing:0.03em;margin-bottom:22px;}
.gregg-sec .gregg-copy p:not(.gregg-role){color:var(--ink-soft);font-size:15.5px;line-height:1.7;margin-bottom:16px;max-width:64ch;}
.gregg-sec .meet-toggle{border-color:var(--line);color:var(--ink);}
.gregg-sec .meet-toggle:hover{border-color:var(--accent-orange);}
.aff-row{font-size:72px;}
@media (max-width:360px){.aff-row{font-size:58px;}}

/* ---- International ---- */
section.map-sec{background:var(--paper-warm);}
.map-sec .map-panel{background:#FFFFFF;}
.map-sec .sec-head h2{color:var(--ink);}
.map-sec .region-tab.active{background:var(--ink);border-color:var(--ink);}
.label-heading{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:0.08em;color:var(--accent-orange-deep);margin:0;}
.label-heading::before{content:"";width:22px;height:2px;background:var(--accent-orange);}
.services-orange .label-heading{color:var(--accent-orange-light);}
.services-orange .label-heading::before{background:var(--accent-orange-light);}
.sec-head.single{display:block;margin-bottom:34px;}
.label-sub{font-family:var(--serif);font-size:clamp(20px,2.2vw,24px);color:var(--ink);margin-top:12px;max-width:none;}
section.expect-sec{padding:76px 0;}

/* ---- U.S. Production Services ---- */
section.us-work{padding:72px 0 80px;}
.formats-list{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:0;width:100%;border-top:1px solid var(--line);}   /* six equal columns; every item identical padding */
.formats-list li{font-family:var(--serif);font-size:19px;line-height:1.3;color:var(--ink);padding:20px 18px 0 0;}
.formats-list li::before{content:"";display:block;width:18px;height:2px;background:var(--accent-orange);margin-bottom:14px;}
@media (max-width:980px){.formats-list{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:8px;}}
@media (max-width:560px){.formats-list{grid-template-columns:repeat(2,minmax(0,1fr));} .formats-list li{font-size:17px;}}
.projects{margin-top:60px;}
.project-grid{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px 22px;}
@media (max-width:900px){.project-grid{grid-template-columns:repeat(2,1fr);gap:26px 18px;}}
@media (max-width:430px){.project-grid{gap:22px 14px;}}
.proj figure{margin:0;}
.proj-media{aspect-ratio:16/9;overflow:hidden;background:#0F1113;}
.proj-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1);}
.proj:hover .proj-media img{transform:scale(1.03);}
.proj figcaption{padding-top:11px;}
.proj-title{display:block;font-family:var(--serif);font-size:17px;line-height:1.25;color:var(--ink);}
.proj-net{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:0.03em;color:var(--graphite);margin-top:4px;}
@media (max-width:430px){.proj-title{font-size:15px;} .proj-net{font-size:10.5px;}}
.group-grid.cols-2{grid-template-columns:1fr 2fr;}
.group ul.two-col{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;}
.group-grid.orange-dark .group ul.two-col li:nth-child(2){border-top:none;}
@media (max-width:800px){.group-grid.cols-2{grid-template-columns:1fr;} .group ul.two-col{grid-template-columns:1fr;} .group-grid.orange-dark .group ul.two-col li:nth-child(2){border-top:1px solid rgba(247,248,248,0.1);}}
.context-cta.on-dark{border-top-color:var(--dark-line);}
.context-cta.on-dark p{color:var(--dark-text);}
section.grey-band{background:var(--paper-warm);}
.band-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;}
.band-row h2{font-size:clamp(22px,2.6vw,30px);}

/* ---- News ---- */
.news-hero{padding:60px 0 22px;border-bottom:none;}
.news-hero + .news-section{padding-top:28px;}

/* ---- footer: thinner, real reversed logo (no CSS inversion) ---- */
footer{padding:44px 0 18px;}
.foot-grid{gap:32px;padding-bottom:28px;}
.foot-logo-img{height:84px;width:auto;filter:none;opacity:1;}
@media (max-width:700px){.foot-logo-img{height:66px;}}
.foot-grid h5{margin-bottom:10px;}
.foot-grid a{padding:3px 0;}
@media (max-width:800px){.foot-grid a{padding:7px 0;}}
.foot-bottom{padding-top:16px;}
.foot-bottom a{color:var(--footer-soft);border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease;}
.foot-bottom a:hover{color:var(--dark-text);border-color:var(--accent-orange-light);}

/* ---- polish: specificity fixes found in rendered review ---- */
.sec-head .label-heading{font-size:13px;line-height:1.4;max-width:none;}
.sec-head .label-sub{font-family:var(--serif);font-size:clamp(20px,2.2vw,24px);color:var(--ink);max-width:none;margin-top:12px;}
@media (min-width:801px){.sec-head{row-gap:14px;} .sec-head > p{grid-column:2;}}
.gregg-sec .gregg-grid{align-items:start;}
.gregg-sec .gregg-photo{aspect-ratio:4/5;width:100%;overflow:hidden;background:#E3E7E8;}
.gregg-sec .gregg-role{color:var(--accent-orange-deep);}
section.dark .btn-primary:not(.on-dark){background:var(--dark-text);color:var(--dark);border-color:var(--dark-text);}
section.dark .btn-primary:not(.on-dark):hover{background:var(--accent-orange-light);border-color:var(--accent-orange-light);color:var(--dark);}
@media (min-width:901px){.news-featured{grid-template-columns:1.22fr 1fr;}}


/* =====================================================================
   COLOR RHYTHM — brand navy/blue-slate as the visible second color
   ===================================================================== */
/* Home: the MGPS Advantage becomes the blue-slate feature block */
section.adv-sec{background:var(--slate);color:var(--dark-text);}
section.adv-sec .eyebrow{color:var(--accent-orange-light);}
section.adv-sec .eyebrow::before{background:var(--accent-orange-light);}
.adv-sec .value-intro h2{color:#FFFFFF;}
.adv-sec .value-intro h2 em{color:var(--accent-orange-light);}
.adv-sec .value-intro p{color:var(--slate-text);}
.adv-sec .value-intro .value-note{color:#9DB0C2;}
.adv-sec .value-points{border-top-color:rgba(255,255,255,0.16);}
.adv-sec .value-point{border-bottom-color:rgba(255,255,255,0.16);}
.adv-sec .value-label{color:var(--accent-orange-light);}
.adv-sec .value-point h3{color:#FFFFFF;}
.adv-sec .value-point p{color:var(--slate-text);}
.adv-sec .value-point .value-sub{color:#FFFFFF !important;}
.adv-sec .value-point.no-fee{background:#A94A16;}

/* About hero (v.10): near-black with fine globe linework and restrained orange routes */
.about-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.al-globe *{fill:none;stroke:rgba(247,248,248,0.075);stroke-width:1;}
.al-route{fill:none;stroke:var(--accent-orange-light);stroke-width:1.4;stroke-dasharray:2 7;stroke-linecap:round;opacity:0.55;}
.al-route-2{opacity:0.28;}
.al-node{fill:var(--accent-orange-light);opacity:0.75;}

/* About: orange rule tying the founder story together */
.built-copy{border-left:2px solid var(--accent-orange-light);padding-left:34px;}
@media (max-width:860px){.built-copy{padding-left:20px;}}

.proj-media{position:relative;}
/* selected territory chip: orange line + text on white (no pale tint that could read as cream) */
.chip.selected{background:#FFFFFF;border-color:var(--accent-orange);color:var(--accent-orange-deep);}
/* deep-link landing for retired Productions URL — clear of the sticky header */
#selected-productions{scroll-margin-top:100px;}

/* Home hero only: globe/map + small uppercase label in MGPS orange on black (was sage green) */
.hero-earth .landmass{fill:rgba(193,87,28,0.46);stroke:rgba(226,122,62,0.9);}
.hero-earth .hero-globe-body{fill:#17181A;}
.hero-earth .hero-graticule path{stroke:rgba(226,122,62,0.18);}
.hero-earth .hero-limb{stroke:rgba(226,122,62,0.55);}
.hero-earth .hero-arc, .hero-earth .hero-arc-glow{stroke:var(--accent-orange-light);}
.hero-earth .hero-dot-halo, .hero-earth .hero-dot:not(.hq){fill:var(--accent-orange-light);}
.hero-earth-content .coord{color:var(--accent-orange-light);}

/* =====================================================================
   PREMIUM POLISH — restrained, consistent motion (transform + opacity only)
   ===================================================================== */
:root{--ease-out:cubic-bezier(.2,.7,.2,1);}

/* Editorial CTAs: arrow nudges, hairline underline extends — no layout shift */
.cta-arrow{display:inline-block;transition:transform .22s var(--ease-out);}
a:hover > .cta-arrow, a:focus-visible > .cta-arrow{transform:translateX(5px);}
.link-cta, .link-cta:hover, .accent-orange .link-cta:hover{border-bottom-color:transparent;}
.link-cta{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;transition:background-size .25s var(--ease-out),color .22s var(--ease-out);}
.link-cta:hover, .link-cta:focus-visible{background-size:100% 1px;}
.accent-orange .link-cta:hover, .accent-orange .link-cta:focus-visible{color:var(--accent-orange);}
/* Meet the Founder (homepage Experience): MGPS orange in every state, matching "Explore U.S. Production Services" —
   deep orange at rest (and visited), brighter orange on hover / keyboard focus / tap; underline and arrow follow. */
.link-cta.cta-orange, .link-cta.cta-orange:visited{color:var(--accent-orange-deep);}
.link-cta.cta-orange:hover, .link-cta.cta-orange:focus-visible, .link-cta.cta-orange:active{color:var(--accent-orange);}

/* Selected Productions: near-subconscious hover (mouse devices only; touch shows everything at rest) */
.proj-media img{transition:transform .42s var(--ease-out);}
.proj-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(10,12,14,0) 50%,rgba(10,12,14,0.26) 100%);opacity:0;transition:opacity .42s var(--ease-out);}
.proj figcaption{position:relative;}
.proj figcaption::before{content:"";position:absolute;left:0;top:0;width:28px;height:1px;background:var(--accent-orange);transform:scaleX(0);transform-origin:left center;transition:transform .42s var(--ease-out);}
.proj-title, .proj-net{transition:color .3s var(--ease-out);}
@media (hover:hover){
  .proj:hover .proj-media img{transform:scale(1.03);}
  .proj:hover .proj-media::after{opacity:1;}
  .proj:hover figcaption::before{transform:scaleX(1);}
  .proj:hover .proj-title{color:#000;}
  .proj:hover .proj-net{color:var(--ink-soft);}
}
@media (hover:none){.proj:hover .proj-media img{transform:none;}}
.proj-media.fit-portrait img{object-fit:contain;}
.proj-media.img-missing img{visibility:hidden;}

/* International map: brighter, slightly larger node + linked name on hover; touch = tap-to-select only */
.map-dot{transform-box:fill-box;transform-origin:center;transition:fill .3s var(--ease-out),transform .3s var(--ease-out);}
.map-ring{transition:opacity .3s var(--ease-out);}
.chip{transition:border-color .3s var(--ease-out),color .3s var(--ease-out),background .3s var(--ease-out);}
@media (hover:hover){
  .map-pt:hover .map-dot, .map-pt.is-hover .map-dot{fill:var(--accent-orange-light);transform:scale(1.14);}
  .map-pt:hover .map-ring, .map-pt.is-hover .map-ring{opacity:.45;}
  .map-pt.selected .map-dot{fill:var(--accent-orange);}
  .chip.is-hover:not(.selected){border-color:var(--accent-orange);color:var(--accent-orange-deep);}
}
@media (hover:none){
  .map-pt:hover:not(.selected) .map-dot{fill:var(--graphite);}
  .map-pt:hover:not(.selected) .map-ring{opacity:0;}
}

/* Homepage globe: the single travelling route + beacons (orange only) */
.hero-arc-travel{fill:none;stroke:var(--accent-orange-light);stroke-width:2.2;stroke-linecap:round;opacity:0;}
.hero-beacon{fill:var(--accent-orange-light);opacity:0;}

/* Scroll reveals: once, 12px, ~500ms */
.rv{opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);}
.rv.rv-in{opacity:1;transform:none;}

/* Page-to-page: native cross-document fade (no JS, no link interception; unsupported browsers ignore it) */
@view-transition{navigation:auto;}
::view-transition-old(root), ::view-transition-new(root){animation-duration:200ms;animation-timing-function:ease;}

@media (prefers-reduced-motion: reduce){
  .rv{opacity:1 !important;transform:none !important;}
  .proj:hover .proj-media img, .map-pt:hover .map-dot, .map-pt.is-hover .map-dot{transform:none !important;}
  .cta-arrow{transform:none !important;}
  @view-transition{navigation:none;}
}

/* =====================================================================
   CLIENT NOTES v.2 — scoped changes only
   ===================================================================== */
/* MGPS Advantage: headline now leads straight into 4 bullets + No Fee; headline stays alongside on desktop */
/* Advantage reflow: headline on top → four benefits in a 2×2 → No Fee box spans the full width as the conclusion */
.adv-sec .value-prop{display:block;}
.adv-sec .value-intro{margin-bottom:10px;}
.adv-sec .value-intro .eyebrow{margin-bottom:0;}
@media (min-width:861px){
  .adv-sec .value-points{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;}
  .adv-sec .value-point.no-fee{grid-column:1 / -1;}
}
.adv-sec .value-point{padding:21px 0;}
.adv-sec .value-point.no-fee{padding:22px 24px;}
/* Meet The Founder lands on "Built by a producer, for producers." clear of the sticky header */
#founder{scroll-margin-top:84px;}
/* News: black block + MGPS orange for "In The News"; orange editorial metadata and source links */
.news-hero + .news-section{padding-top:56px;}
.news-section .news-meta{color:var(--accent-orange-deep);}
.news-section .link-cta{color:var(--accent-orange-deep);}
.news-section .link-cta:hover, .news-section .link-cta:focus-visible{color:var(--accent-orange);}
/* Contact: Send Message in MGPS orange (dark section → established light orange, near-black text for contrast) */
.submit-btn{background:var(--accent-orange-light);border-color:var(--accent-orange-light);color:var(--dark);transition:background .22s var(--ease-out),border-color .22s var(--ease-out),color .22s var(--ease-out);}
.submit-btn:hover, .submit-btn:focus-visible{background:var(--accent-orange);border-color:var(--accent-orange);color:#FFFFFF;}

/* =====================================================================
   CLIENT NOTES v3 — scoped
   ===================================================================== */
@media (max-width:800px){.foot-brand{grid-column:1 / -1;}}
/* U.S.: Formats We Cover as its own block */
section.formats-sec{background:var(--paper-warm);padding:56px 0 60px;}
.us-work .projects{margin-top:0;}
/* U.S.: CTA in its own v.10-green block */
section.cta-green{background:var(--footer-bg);color:var(--dark-text);}
.cta-green{padding:64px 0;}
.cta-green .hero-rule{margin:0 0 18px;}
.cta-green-text{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3.1vw,38px);line-height:1.15;color:var(--dark-text);margin:0;}
.btn-primary.cta-orange{background:var(--accent-orange-light);border-color:var(--accent-orange-light);color:var(--dark);}
.btn-primary.cta-orange:hover, .btn-primary.cta-orange:focus-visible{background:var(--accent-orange);border-color:var(--accent-orange);color:#FFFFFF;}
@media (max-width:560px){.cta-green{padding:48px 0;} .cta-green .btn-primary{width:100%;text-align:center;}}
/* News: page hero in the same black/orange language as the other pages */
/* News header: centred like the other page heroes, compact */
.news-hero{padding:64px 0 58px;}
.news-hero h1{margin-left:auto;margin-right:auto;}
.news-hero + .news-section{padding-top:52px;}
@media (max-width:700px){.news-hero{padding:48px 0 44px;} .news-hero + .news-section{padding-top:40px;}}

/* =====================================================================
   CLIENT NOTES v4a — one orange hover/focus language for actionable CTAs (≈220ms)
   ===================================================================== */
.nav-cta, .pill, .btn-primary, .btn-ghost, .schedule-link, .contact-info a{transition:background-color .22s var(--ease-out),border-color .22s var(--ease-out),color .22s var(--ease-out),transform .22s var(--ease-out);}
.nav-cta:hover, .nav-cta:focus-visible{background:var(--accent-orange-light);border-color:var(--accent-orange-light);color:var(--dark);}
.btn-primary:hover, .btn-primary:focus-visible,
.btn-primary.on-dark:hover, .btn-primary.on-dark:focus-visible,
section.dark .btn-primary:not(.on-dark):hover, section.dark .btn-primary:not(.on-dark):focus-visible{background:var(--accent-orange-light);border-color:var(--accent-orange-light);color:var(--dark);}
.btn-primary.cta-orange:hover, .btn-primary.cta-orange:focus-visible{background:var(--accent-orange);border-color:var(--accent-orange);color:#FFFFFF;}
.pill.on-dark:hover, .pill.on-dark:focus-visible{background:transparent;border-color:var(--accent-orange-light);color:var(--accent-orange-light);}
.btn-ghost.on-dark:hover, .btn-ghost.on-dark:focus-visible{border-color:var(--accent-orange-light);color:var(--accent-orange-light);}
.schedule-link:hover, .schedule-link:focus-visible{border-color:var(--accent-orange-light);color:var(--accent-orange-light);}
.contact-info a:hover, .contact-info a:focus-visible{color:var(--accent-orange-light);}

/* Territory quick info — Non-Resident Labor owns Talent / Above the Line / Below the Line */
.tdata{margin:16px 0 0;}
.trow{padding:11px 0;border-top:1px solid var(--line);}
.trow dt{font-family:var(--mono);font-size:11px;letter-spacing:0.05em;color:var(--graphite);margin-bottom:4px;}
.trow dd{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink);overflow-wrap:anywhere;}
.tsub{margin:10px 0 2px 2px;padding-left:16px;border-left:1px solid var(--accent-orange);}
.trow.nested{padding:7px 0;border-top:none;}
.trow.nested dt{font-size:10.5px;letter-spacing:0.06em;color:var(--accent-orange-deep);margin-bottom:2px;}
.trow.nested dd{font-size:14px;}
.tnote{font-size:12.5px;line-height:1.5;color:var(--graphite);font-style:italic;margin:12px 0 0;}
.territory-detail .incentive-note{margin-top:14px;}
/* Currency conversion (territory detail): a quiet supporting link above Clear selection / Change territory */
.tcurrency{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);}
.tcurrency-label{font-family:var(--mono);font-size:11px;letter-spacing:0.16em;color:var(--graphite);margin:0 0 6px;}
.tcurrency-link{display:inline-block;font-family:var(--mono);font-size:12.5px;color:var(--accent-orange-deep);padding:4px 0;
  background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;transition:background-size .25s var(--ease-out),color .2s ease;}
.tcurrency-link:hover, .tcurrency-link:focus-visible{color:var(--accent-orange);background-size:100% 1px;}
.tcurrency-ext{display:inline-block;margin-left:2px;font-size:11px;transform:translateY(-1px);}
.tcurrency-note{font-size:12.5px;line-height:1.5;color:var(--graphite);margin:4px 0 0;}
.detail-actions{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:6px;}
@media (max-width:980px){.territory-detail .trow dd{font-size:15px;} #mobileSearch{scroll-margin-top:90px;}}

/* =====================================================================
   CLIENT NOTES v5
   ===================================================================== */
/* Territory symbols: ✓ MGPS orange, ✕ restrained accessible red */
.sym{font-weight:600;}
.sym-yes{color:var(--accent-orange);}
.sym-no{color:#E0261B;}
/* Change territory (mobile): top + bottom of the panel, back to the selector */
.change-territory{display:none;font-family:var(--mono);font-size:12.5px;letter-spacing:0.03em;color:var(--ink);border:1px solid var(--line);background:#FFFFFF;padding:11px 16px;min-height:44px;transition:border-color .22s var(--ease-out),color .22s var(--ease-out);}
.change-territory:hover, .change-territory:focus-visible{border-color:var(--accent-orange);color:var(--accent-orange-deep);}
.change-top{margin:0 0 16px;}
.detail-actions{align-items:center;}
@media (max-width:980px){.change-territory{display:inline-flex;align-items:center;} .detail-actions{margin-top:18px;gap:12px 22px;} .detail-actions .detail-clear{margin-top:0;}}
/* Footer links: orange on hover / keyboard focus (green footer unchanged) */
.foot-grid a, .foot-bottom a{transition:color .22s var(--ease-out),border-color .22s var(--ease-out);}
.foot-grid a:hover, .foot-grid a:focus-visible, .foot-bottom a:hover, .foot-bottom a:focus-visible{color:var(--accent-orange-light);}
/* mobile marquee: own durations so phones scroll at the same ~48px/s as desktop */
@media (max-width:700px){.marquee-track{animation-duration:43s;} .marquee-row.reverse .marquee-track{animation-duration:47s;}}
/* Reduced motion: no automatic logo movement; each row can be swiped/scrolled instead (the duplicate set used for the
   seamless loop is hidden, so every logo appears once). */
@media (prefers-reduced-motion: reduce){
  .marquee-track{animation:none !important;}
  .marquee-row{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;}
  .marquee-row::-webkit-scrollbar{display:none;}
  .marquee-tile:has(> img[alt=""]){display:none;}
}

/* Terms & Conditions — readable legal page in the MGPS system */
.legal-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:0.12em;color:var(--accent-orange-light);margin:0 0 10px;}
.legal-hero{padding:64px 0 56px;}
section.legal-sec{padding:64px 0 80px;}
.legal-copy{width:100%;max-width:1080px;margin:0 auto;}
.legal-copy p, .legal-copy li, .legal-copy address{font-size:16px;line-height:1.8;color:var(--ink-soft);}
.legal-copy p{margin:0 0 20px;}
.legal-copy .legal-caps{font-size:15px;letter-spacing:0.01em;}
.legal-copy ul{margin:0 0 22px;padding-left:22px;}
.legal-copy li{margin-bottom:8px;}
.legal-copy li::marker{color:var(--accent-orange);}
.legal-copy address{font-style:normal;margin:0 0 24px;padding-left:16px;border-left:2px solid var(--accent-orange);color:var(--ink);}
.legal-copy a{color:var(--accent-orange-deep);border-bottom:1px solid currentColor;}
.legal-copy a:hover, .legal-copy a:focus-visible{color:var(--accent-orange);}
@media (max-width:700px){section.legal-sec{padding:44px 0 56px;} .legal-copy p, .legal-copy li, .legal-copy address{font-size:15px;} .legal-copy .legal-caps{font-size:14px;}}

/* =====================================================================
   CLIENT NOTES v6
   ===================================================================== */
/* Territory incentive filter: same boxes as the region controls below; active box carries an MGPS-orange underline */
.incentive-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;scroll-margin-top:96px;}
.incentive-tabs .inc-tab:hover, .incentive-tabs .inc-tab:focus-visible{border-color:var(--accent-orange);color:var(--accent-orange-deep);}
/* selected incentive filter = same treatment as a selected territory button (orange frame, light background) */
.incentive-tabs .inc-tab[aria-pressed="true"]{background:#FFFFFF;border-color:var(--accent-orange);color:var(--accent-orange-deep);}
/* Formats: "(all genres)" sits on its own line under Unscripted / Scripted */
.fmt-genre{display:block;font-size:0.8em;color:var(--ink-soft);margin-top:2px;}
/* International services: column widths follow content so Offerings no longer leaves a heavy empty right edge */
@media (min-width:801px){.services-orange .group-grid.orange-dark:not(.cols-2){grid-template-columns:1fr 1.02fr 0.8fr;}}
.territory-detail .tnote-wh{margin:2px 0 16px;}   /* v7: sits one step closer to the Non-Resident block */
.tdata.tdata-cont{margin-top:0;}

/* =====================================================================
   WEBSITE NOTES v7
   ===================================================================== */
/* Testimonials: quotes in a column share one grid cell (no layout jump); reader-controlled 01 / 02 navigation */
.fn-stack{display:grid;}
.fn-item{grid-area:1 / 1;margin:0;opacity:0;visibility:hidden;transition:opacity .35s var(--ease-out),visibility 0s linear .35s;}
.fn-item.is-on{opacity:1;visibility:visible;transition:opacity .35s var(--ease-out);}
.fn-item blockquote{margin:0;}
.review-split .fn-quote{font-size:clamp(18px,1.85vw,22px);line-height:1.5;max-width:62ch;}
.fn-who--stacked strong{display:block;margin-bottom:4px;}
.fn-who--stacked span{display:block;line-height:1.55;}
.fn-nav{display:flex;align-items:center;gap:14px;margin-top:28px;}
.fn-step{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:transparent;color:var(--ink);font-family:var(--mono);font-size:15px;cursor:pointer;transition:border-color .22s var(--ease-out),color .22s var(--ease-out);}
.fn-step:hover, .fn-step:focus-visible{border-color:var(--accent-orange);color:var(--accent-orange-deep);}
.fn-count{font-family:var(--mono);font-size:12px;letter-spacing:0.04em;color:var(--graphite);min-width:56px;text-align:center;}
@media (prefers-reduced-motion: reduce){.fn-item, .fn-item.is-on{transition:none;}}
/* Touch devices: invisible 44px-tall hit areas for text-style links/buttons (appearance unchanged) */
@media (pointer:coarse){
  .link-cta, .foot-bottom a, .contact-info a, .detail-clear, .tcurrency-link{position:relative;}
  .link-cta::before, .foot-bottom a::before, .contact-info a::before, .detail-clear::before, .tcurrency-link::before{content:"";position:absolute;left:-6px;right:-6px;top:50%;height:44px;transform:translateY(-50%);}
}

/* =====================================================================
   V28 corrections
   ===================================================================== */
/* Mobile menu: never taller than the visible screen; scrolls internally; page behind locked */
@media (max-width:960px){
  header.open .mobile-panel{max-height:calc(100vh - var(--hdr-h,72px));max-height:calc(100dvh - var(--hdr-h,72px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(28px + env(safe-area-inset-bottom,0px));}
  html.menu-open{overflow:hidden;}
}
/* Phones: desktop-style half globe beneath the hero copy and CTAs — the globe's upper half rises from the
   ticker line (its horizon), centred; the box ratio matches the phone viewBox in world-map.js (1040 × 570). */
@media (max-width:700px){
  .hero-earth{display:flex;flex-direction:column;}
  .hero-earth-content{order:1;padding-bottom:4px;}
  .hero-earth-visual{order:2;position:relative;inset:auto;z-index:1;width:min(calc(100% - 24px),500px);aspect-ratio:1040 / 570;margin:14px auto 0;}
  .hero-earth-visual svg{overflow:hidden;}
  .hero-ticker{order:3;}
  .hero-earth::after{background:none;}
}

/* =====================================================================
   Website Notes v8
   ===================================================================== */
/* Explore Our Global Network: same outlined button as elsewhere — border + label turn MGPS orange on hover / keyboard focus */
.net-cta{display:inline-block;margin-top:28px;}
.btn-ghost.on-dark:active{border-color:var(--accent-orange-light);color:var(--accent-orange-light);}
/* News: the featured publication logo is shown at card size, so the 299px Deadline file is never stretched to ~600px */
@media (min-width:901px){.news-featured.is-logo{grid-template-columns:minmax(0,380px) 1fr;gap:64px;}}
@media (max-width:900px){.news-featured.is-logo .news-media{width:min(100%,380px);}}
/* Publication shown by name until its official logo file is supplied (no recreated logos) */
.news-media.pub-plate{display:flex;align-items:center;justify-content:center;background:var(--paper-warm);}
.pub-plate .pub-name{font-family:var(--mono);font-size:clamp(18px,2vw,22px);letter-spacing:0.32em;color:var(--ink);padding-left:0.32em;}
/* Official publication wordmark on the plate (Variety, when the official file is supplied): whole logo, original proportions */
.news-media.pub-plate .pub-logo{position:static;inset:auto;display:block;width:min(72%,300px);height:auto;max-height:52%;object-fit:contain;transition:transform .45s var(--ease-out);}
.news-media.pub-plate:hover .pub-logo{transform:scale(1.03);}

/* =====================================================================
   V33 interaction polish — calm, consistent, compositor-friendly (opacity/transform only)
   ===================================================================== */
/* Touch: controls respond at once (no double-tap-zoom wait) with a soft brand-tinted tap flash */
a, button, [role="button"], summary, label, select{touch-action:manipulation;}
a, button{-webkit-tap-highlight-color:rgba(193,87,28,0.12);}
/* Mobile menu: opens with a short fade-and-settle instead of appearing abruptly */
@keyframes mgpsMenuIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
@media (max-width:960px){ header.open .mobile-panel{animation:mgpsMenuIn .26s var(--ease-out) both;} }
/* Territory details: each newly selected territory fades in (opacity only — no layout movement) */
@keyframes mgpsFadeIn{from{opacity:0;}to{opacity:1;}}
.territory-detail.td-in{animation:mgpsFadeIn .2s var(--ease-out) both;}

/* ================= reCAPTCHA v2 checkbox (V34.1) =================
   Between the last field and SEND MESSAGE, left-aligned with the fields. Google's widget is a fixed 304 x 78 px box;
   when the form is narrower (very small phones) script.js sets --cap-scale so it shrinks to fit instead of overflowing.
   The box reserves its space before Google's script arrives, so nothing below it moves when it appears. */
.contact-grid > *{min-width:0;}   /* the fixed-width widget must not widen the column on small phones */
.g-recaptcha{--cap-scale:1;width:calc(304px * var(--cap-scale));height:calc(78px * var(--cap-scale));margin:2px 0 12px;}
.g-recaptcha > div{transform:scale(var(--cap-scale));transform-origin:0 0;}
.g-recaptcha.is-invalid{outline:1px solid #F0A57E;outline-offset:3px;}

/* ================= Missing-image fallback (V34.2) =================
   Only applies when an image file is missing on the server (script.js adds .img-missing after the retries):
   no broken-image icon or alt text; the frame keeps its neutral background. News cards show the outlet's name. */
.proj-media.img-missing img, .gregg-photo.img-missing img, .news-media.img-missing img{visibility:hidden;}
.news-media.img-missing::after{content:attr(data-outlet);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:clamp(22px,3vw,34px);letter-spacing:0.01em;color:var(--ink);text-align:center;padding:0 8%;}
