/*
  TODO: Self-host fonts for reliability + speed
  Download from: https://fonts.google.com/specimen/Space+Grotesk
                 https://fonts.google.com/specimen/Space+Mono
  Add as @font-face with WOFF2 files in fonts/ folder
  Remove Google Fonts <link> from all HTML pages
*/
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Space+Mono:ital,wght@0,400;0,700;1,400&display=swap');
:root{--bg:#0A0A0A;--bg2:#0F0F0F;--bg3:#151515;--sur:#1A1A1A;--bo:rgba(255,255,255,.07);--bo2:rgba(255,255,255,.13);--t:#F0EDE6;--t2:rgba(240,237,230,.52);--t3:rgba(240,237,230,.24);--t4:rgba(240,237,230,.1);--ac:#E8E8E8;--ink:#0A0A0A;--red:rgba(255,90,60,.82);--blue:rgba(100,160,255,.78);--gold:rgba(255,210,80,.72);--fh:'Space Grotesk',system-ui,sans-serif;--fm:'Space Mono',monospace;--g:clamp(20px,3.5vw,52px);--max:1440px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--t);font-family:var(--fh);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
/* LANG */
[data-e]{display:none!important}
body.e [data-a]{display:none!important}
body.e [data-e]{display:revert!important}
/* NAV */
.nav{position:sticky;top:0;z-index:300;display:flex;align-items:center;justify-content:space-between;gap:12px;height:66px;padding:0 var(--g);background:rgba(10,10,10,.93);backdrop-filter:blur(20px);border-bottom:1px solid var(--bo)}
.nav-brand{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}



.nav-title strong{display:block;font-size:13.5px;font-weight:600;color:var(--t);letter-spacing:.01em;line-height:1.25}
.nav-title em{display:block;font-family:var(--fm);font-style:normal;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--t3)}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links a{font-family:var(--fm);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--t3);text-decoration:none;padding:6px 10px;transition:color .18s;white-space:nowrap}
.nav-links a:hover{color:var(--t)}
.nav-links .ncta{border:1px solid var(--bo2);color:var(--t2)!important}
.nav-links .ncta:hover{border-color:var(--ac);color:var(--ac)!important}
.nav-r{display:flex;align-items:center;gap:8px;flex-shrink:0}
.lang-sw{display:flex;border:1px solid var(--bo2);overflow:hidden}
.lb{font-family:var(--fm);font-size:8px;letter-spacing:.12em;font-weight:700;padding:5px 10px;cursor:pointer;border:none;background:transparent;color:var(--t3);transition:all .18s}
.lb.on{background:var(--ac);color:var(--ink)}
.lb:not(.on):hover{color:var(--t2)}
.ls{width:1px;background:var(--bo2)}
/* SLOGAN */
.slogan-block{padding:clamp(52px,6vw,96px) var(--g);border-bottom:1px solid var(--bo)}
.slogan-kicker{font-family:var(--fm);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--t3);display:flex;align-items:center;gap:12px;margin-bottom:24px}
.slogan-kicker::before{content:'';width:20px;height:1px;background:var(--t3)}
.slogan-text{font-family:var(--fh);font-size:clamp(36px,5vw,72px);font-weight:700;line-height:1.04;letter-spacing:-.03em;color:var(--t);max-width:920px}
.slogan-text em{font-style:normal;-webkit-text-stroke:1.5px var(--ac);color:transparent}
/* HERO */
.hero{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--bo);min-height:calc(100vh - 60px)}
.hero-l{padding:clamp(44px,6vw,88px) var(--g);border-right:1px solid var(--bo);display:flex;flex-direction:column;justify-content:space-between}
.eyebrow{font-family:var(--fm);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--t3);display:flex;align-items:center;gap:10px;margin-bottom:28px}
.eyebrow::before{content:'';width:16px;height:1px;background:var(--t3)}
.hero-mission{font-size:clamp(14px,1.5vw,16px);line-height:1.75;color:var(--t2);max-width:480px;margin-bottom:28px}
.ctas{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}
.btn{display:inline-flex;align-items:center;gap:7px;font-family:var(--fm);font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;padding:11px 20px;cursor:pointer;text-decoration:none;transition:all .2s;white-space:nowrap;border:none}
.btn-s{background:var(--ac);color:var(--ink)}.btn-s:hover{background:#fff}
.btn-g{background:transparent;color:var(--t2);border:1px solid var(--bo2)}.btn-g:hover{border-color:rgba(255,255,255,.3);color:var(--t)}
.stats{display:flex;gap:0;border-top:1px solid var(--bo);padding-top:26px}
.stat{flex:1;border-right:1px solid var(--bo);padding-right:18px;margin-right:18px}
.stat:last-child{border:none;padding:0;margin:0}
.stat-n{font-size:30px;font-weight:700;line-height:1;color:var(--ac)}
.stat-l{font-family:var(--fm);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);margin-top:5px;display:block}
.ig-strip{border-top:1px solid var(--bo);padding-top:18px;margin-top:26px}
.ig-lbl{font-family:var(--fm);font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--t3);margin-bottom:9px}
.ig-handles{display:flex;gap:5px;flex-wrap:wrap}
.ig-h{font-family:var(--fm);font-size:8px;letter-spacing:.06em;color:var(--t3);border:1px solid var(--bo);padding:4px 10px;text-decoration:none;transition:all .2s;display:flex;align-items:center;gap:6px}
.ig-h:hover{color:var(--t);border-color:var(--bo2)}
.ig-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}
.hero-r{position:relative;overflow:hidden;background:#050505;display:grid;grid-template-rows:63% 37%}
.hero-r img{width:100%;height:100%;object-fit:cover;filter:grayscale(20%) brightness(.5);display:block}
.hero-r-bot{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.05)}
.hero-r-bot img{opacity:.38;border-right:1px solid rgba(255,255,255,.05)}
.hero-r-bot img:last-child{border:none}
.hero-cap{position:absolute;bottom:12px;right:12px;font-family:var(--fm);font-size:7px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.2)}
/* TICKER */
.ticker{background:var(--ac);padding:9px 0;overflow:hidden;white-space:nowrap}
.ticker-in{display:inline-flex;gap:40px;animation:tick 24s linear infinite;font-family:var(--fm);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(0,0,0,.45)}
.ticker-in strong{color:rgba(0,0,0,.85)}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* SECTIONS */
.sec{padding:clamp(48px,7vw,96px) var(--g);max-width:var(--max);margin:0 auto}
.sec-lbl{font-family:var(--fm);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--t3);margin-bottom:10px;display:flex;align-items:center;gap:10px}
.sec-lbl::before{content:'';width:16px;height:1px;background:var(--t3)}
.sec-h{font-family:var(--fh);font-size:clamp(26px,3.2vw,48px);font-weight:700;line-height:.98;letter-spacing:-.03em;color:var(--t)}
.sec-h em{font-style:normal;color:var(--ac)}
/* PROGRAMS */
.pg{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bo);border:1px solid var(--bo);margin-top:36px}
.pc{background:var(--bg2);padding:32px 28px;display:flex;flex-direction:column;gap:16px;text-decoration:none;color:var(--t);transition:background .2s;position:relative;overflow:hidden}
.pc::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;transform:scaleX(0);transform-origin:left;transition:transform .38s}
.pc.tat::before{background:var(--red)}.pc.oht::before{background:var(--blue)}.pc.digi::before{background:var(--gold)}
.pc:hover{background:var(--bg3)}.pc:hover::before{transform:scaleX(1)}
.pc-top{display:flex;justify-content:space-between;align-items:flex-start}
.pc-mark{font-size:34px;font-weight:700;letter-spacing:-.04em;line-height:1}
.pc.tat .pc-mark{color:var(--red)}.pc.oht .pc-mark{color:var(--blue)}.pc.digi .pc-mark{color:var(--gold)}
.pc-arr{font-size:16px;color:var(--t3);transition:all .2s}.pc:hover .pc-arr{transform:translate(3px,-3px);color:var(--ac)}
.pc-tag{font-family:var(--fm);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--t3)}
.pc-title{font-size:16px;font-weight:600;line-height:1.15;color:var(--t)}
.pc-desc{font-size:12px;line-height:1.72;color:var(--t2);flex:1}
.pc-foot{display:flex;justify-content:space-between;padding-top:14px;border-top:1px solid var(--bo);font-family:var(--fm);font-size:7px;letter-spacing:.08em;text-transform:uppercase;color:var(--t3)}
/* BUILDING GRID */
.bg{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bo);border:1px solid var(--bo);margin-top:32px}
.bc{background:var(--bg2);text-decoration:none;color:var(--t);display:block;transition:background .2s}
.bc:hover{background:var(--bg3)}
.bc img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(15%) brightness(.72);transition:all .38s;display:block}
.bc:hover img{filter:grayscale(0%) brightness(.9)}
.bc-i{padding:13px 15px 17px}
.bc-num{font-family:var(--fm);font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:var(--t3);margin-bottom:4px}
.bc-title{font-size:13px;font-weight:600;line-height:1.2;margin-bottom:3px}
.bc-meta{font-family:var(--fm);font-size:9px;color:var(--t3)}
/* PARTNERS */
.partners{padding:24px var(--g);border-top:1px solid var(--bo);max-width:var(--max);margin:0 auto}
.pt-lbl{font-family:var(--fm);font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--t3);margin-bottom:11px}
.pt-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}
.pch{font-family:var(--fm);font-size:7px;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);border:1px solid var(--bo);padding:5px 11px;text-decoration:none;transition:all .18s;white-space:nowrap}
.pch:hover{color:var(--t);border-color:var(--bo2)}
/* FOOTER */
footer{background:var(--bg2);border-top:1px solid var(--bo);padding:clamp(44px,5vw,72px) var(--g) 36px}
.ft{max-width:var(--max);margin:0 auto}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;padding-bottom:40px;border-bottom:1px solid var(--bo);margin-bottom:24px}
.ft-brand{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.ft-mark{width:36px;height:36px;background:var(--ac);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ft-mark span{font-family:var(--fm);font-size:9px;font-weight:700;color:var(--ink)}
.ft-bn{font-size:13px;font-weight:700;color:var(--t)}
.ft-tg{font-size:12px;color:var(--t3);line-height:1.65;max-width:210px;margin-top:4px}
.ft-ct{font-family:var(--fm);font-size:8px;letter-spacing:.17em;text-transform:uppercase;color:var(--t3);margin-bottom:12px}
.ft-l{list-style:none;display:flex;flex-direction:column;gap:8px}
.ft-l a{font-size:12px;color:var(--t2);text-decoration:none;transition:color .2s}.ft-l a:hover{color:var(--t)}
.ft-bot{display:flex;justify-content:space-between;align-items:center;font-family:var(--fm);font-size:8px;letter-spacing:.07em;text-transform:uppercase;color:var(--t3)}
.ft-bot a{color:var(--t3);text-decoration:none}
/* DIVIDERS */
.bd{border-top:1px solid var(--bo)}
/* REVEAL */
.rv{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
/* RESPONSIVE */
@media(max-width:1100px){
.hero{grid-template-columns:1fr;min-height:auto}
.hero-r{height:280px}
.hero-l{border-right:none;border-bottom:1px solid var(--bo)}
.pg{grid-template-columns:1fr}
.bg{grid-template-columns:1fr 1fr}
.ft-top{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
.bg{grid-template-columns:1fr}
.ft-top{grid-template-columns:1fr}
.nav-links a:not(.ncta){display:none}
.stats{gap:14px}
}

/* ═══════════════════════════════════════════════════
   MOBILE NAVIGATION
═══════════════════════════════════════════════════ */
.nav-hamburger {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:6px;
}
.nav-hamburger span {
  display:block; width:22px; height:1.5px;
  background:var(--t2); transition:all .25s;
}
.nav-hamburger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity:0; }
.nav-hamburger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }

.mobile-menu {
  display:none; position:fixed; inset:66px 0 0 0; z-index:299;
  background:rgba(10,10,10,.98); backdrop-filter:blur(24px);
  flex-direction:column; padding:32px var(--g);
  border-top:1px solid var(--bo); overflow-y:auto;
}
.mobile-menu.open { display:flex; }
.mobile-menu a {
  font-family:var(--fm); font-size:13px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--t2); text-decoration:none;
  padding:16px 0; border-bottom:1px solid var(--bo);
  transition:color .18s; display:flex; justify-content:space-between; align-items:center;
}
.mobile-menu a:hover { color:var(--t); }
.mobile-menu a::after { content:'→'; color:var(--t3); font-size:12px; }
.mobile-menu .mm-lang {
  display:flex; gap:10px; margin-top:28px; padding-top:0; border:none;
}
.mobile-menu .mm-lang button {
  flex:1; font-family:var(--fm); font-size:10px; letter-spacing:.12em;
  text-transform:uppercase; padding:10px; border:1px solid var(--bo);
  background:transparent; color:var(--t3); cursor:pointer; transition:all .18s;
}
.mobile-menu .mm-lang button.on { background:var(--ac); color:var(--ink); border-color:var(--ac); }

/* ═══ ACCESSIBILITY ═══ */
@media (prefers-reduced-motion: reduce) {
  .ticker-in { animation: none !important; }
  canvas[data-blob] { display: none !important; }
  * { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ═══ FONT SIZE MINIMUMS ═══ */
.ft-bot, .ft-ct, .ft-l a { font-size:11px !important; }
.pch { font-size:9px !important; }
.stat-l { font-size:10px !important; }
.bc-num, .bc-meta, .prog-tag, .pc-tag, .pc-foot { font-size:10px !important; }
.hero-eyebrow, .eyebrow, .sec-lbl, .ig-lbl { font-size:10px !important; }
.tag { font-size:9px !important; }
/* body text always readable */
.hero-mission { font-size:15px; }
.pc-desc, .prog-desc { font-size:13px !important; }

/* ═══ RESPONSIVE FIXES ═══ */
@media(max-width:900px) {
  .nav-links { display:none; }
  .nav-hamburger { display:flex; }
  .slogan-text { font-size:clamp(28px,8vw,52px); }
}
@media(max-width:600px) {
  .hero { grid-template-columns:1fr; }
  .hero-r { height:240px; }
  .hero-l { border-right:none; border-bottom:1px solid var(--bo); }
  .pg { grid-template-columns:1fr; }
  .bg { grid-template-columns:1fr 1fr; }
  .ft-top { grid-template-columns:1fr; gap:28px; }
  .stats { flex-wrap:wrap; gap:16px; }
  .stat { flex:unset; min-width:calc(33% - 8px); }
  .ctas { flex-direction:column; }
  .btn { justify-content:center; }
}

/* ═══ INSTAGRAM 3×3 GRID ═══ */
/* Force 9 posts (3 cols × 3 rows) */
.ig-9 { display:block; overflow:hidden; }
.ig-9 behold-widget,
behold-widget[feed-count="9"] {
  display: block;
}
/* Behold CSS custom properties */
behold-widget {
  --behold-grid-columns: 3;
  --behold-gap: 2px;
}

/* ═══ CONTENT PROTECTION ═══ */
body {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
/* Allow selection only in form inputs */
input, textarea {
  -webkit-user-select: text !important;
  user-select: text !important;
}
img {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  pointer-events: none;  /* disables right-click on images */
}
/* Re-enable pointer events on clickable containers */
a, button, .bc, .pc, .prog, .news-card, .nav-brand, .pl-item,
.ig-h, .pch, .ft-l a, .nav-links a, .ni {
  pointer-events: auto;
}
/* Images inside clickable cards inherit parent's pointer events */
a img, .bc img, .pc img, .news-card img { pointer-events: none; }

/* On dark backgrounds: mix-blend-mode screen makes black→transparent */
.logo-blend { mix-blend-mode: screen; background: transparent !important; }
/* On white backgrounds (TAT page): invert to get black bg + white text */
.logo-blend-inv { filter: invert(1); }
/* Nav mark: fill with image, no padding */





/* All nav marks: dark bg so black-bg logos show correctly */


/* Footer marks same */
.ft-mark {
  background: #111 !important;
  overflow: hidden;
}
.ft-mark img { width:100% !important; height:100% !important; object-fit:contain; mix-blend-mode:normal !important; }

/* TAT page (white bg): invert logo for visibility on white */
.tat-theme 
.tat-theme 

/* Wide logo for TAT (horizontal logo) */



/* Default: dark background pages — all logo images */


/* Nav mark container: transparent so blend works */

.ft-mark  { background: transparent !important; }

/* Proportional sizing in nav */



/* TAT page overrides (white background) — invert all logos */
.tat-theme 

/* Wide horizontal logos (TAT) need more width */



/* ══════════════════════════════════════════════════
   SCALE 1.2× — Typography, spacing, content
══════════════════════════════════════════════════ */

/* Base font scale */
html { font-size: 16.8px; } /* was 15px × 1.12 ≈ 1.2 effective */

/* Nav height */
.nav { height: 72px !important; }
.mobile-menu { inset: 72px 0 0 0 !important; }
.controls { top: 72px !important; }
.filters  { top: 72px !important; }

/* Nav elements */


.nav-title strong { font-size: 14.5px !important; }
.nav-title em     { font-size: 9.5px  !important; }
.nav-links a      { font-size: 10.5px !important; padding: 7px 11px !important; }

/* Slogan */
.slogan-block  { padding: clamp(64px,8vw,120px) var(--g) !important; }
.slogan-text   { font-size: clamp(42px,5.8vw,84px) !important; }

/* Section labels + headings */
.sec-lbl  { font-size: 10px !important; }
.sec-h    { font-size: clamp(30px,3.8vw,58px) !important; }

/* Hero */
.hero-mission { font-size: clamp(16px,1.8vw,20px) !important; }
.stat-n       { font-size: 36px !important; }
.stat-l       { font-size: 11px !important; }

/* Program cards */
.pc-mark  { font-size: 40px !important; }
.pc-title { font-size: 19px !important; }
.pc-desc  { font-size: 14px !important; }
.pc-tag   { font-size: 9.5px !important; }

/* Building grid */
.bc-title { font-size: 14px !important; }
.bc-meta  { font-size: 10px !important; }
.bc-num   { font-size: 9px  !important; }

/* Body text everywhere */
.two-col p,
.about-intro,
.hero-mission,
.article-body,
.prog-desc { font-size: 15px !important; line-height: 1.82 !important; }

/* Partner chips */
.pch { font-size: 10px !important; padding: 6px 14px !important; }

/* Buttons */
.btn { font-size: 10.5px !important; padding: 13px 24px !important; }

/* Footer */
.ft-l a    { font-size: 13px !important; }
.ft-tg     { font-size: 13px !important; }
.ft-ct     { font-size: 9.5px !important; }
.ft-bot    { font-size: 9.5px  !important; }
.ft-mark   { width: 42px !important; height: 42px !important; }
.ft-bn     { font-size: 15px !important; }

/* Ticker */
.ticker-in { font-size: 10.5px !important; }

/* Instagram handles */
.ig-h  { font-size: 9.5px !important; padding: 5px 13px !important; }
.ig-lbl { font-size: 9.5px !important; }

/* ══════════════════════════════════════════════════
   MOBILE — FULL RESPONSIVE
══════════════════════════════════════════════════ */

@media (max-width: 1024px) {
  .hero { grid-template-columns: 1fr !important; min-height: auto !important; }
  .hero-r { display: none; } /* hide image on tablet for cleaner look */
  .hero-l { border-right: none !important; border-bottom: 1px solid var(--bo); }
  .pg   { grid-template-columns: 1fr 1fr !important; }
  .bg   { grid-template-columns: 1fr 1fr 1fr !important; }
  .ft-top { grid-template-columns: 1fr 1fr !important; gap: 32px !important; }
  .about-grid { grid-template-columns: 1fr !important; }
  .two-col    { grid-template-columns: 1fr !important; }
}

@media (max-width: 768px) {
  html { font-size: 15px; }
  .nav { height: 60px !important; padding: 0 16px !important; }
  .mobile-menu { inset: 60px 0 0 0 !important; padding: 24px 16px !important; }
  .nav-links { display: none !important; }
  .nav-hamburger { display: flex !important; }
  .controls { top: 60px !important; }
  .filters  { top: 60px !important; }
  :root { --g: 20px; }

  .slogan-text { font-size: clamp(32px,8vw,52px) !important; }
  .sec-h       { font-size: clamp(24px,6vw,38px) !important; }
  .stat-n      { font-size: 28px !important; }

  .hero-l { padding: 36px 20px !important; }
  .slogan-block { padding: 48px 20px !important; }

  .pg   { grid-template-columns: 1fr !important; }
  .bg   { grid-template-columns: 1fr 1fr !important; }
  .ft-top { grid-template-columns: 1fr !important; gap: 24px !important; }

  .stats { flex-wrap: wrap; gap: 16px !important; }
  .stat  { flex: 0 0 calc(33% - 11px) !important; border-right: none !important; margin: 0 !important; padding: 0 !important; }

  .ctas { flex-direction: column !important; }
  .btn  { justify-content: center !important; text-align: center !important; }

  .ig-handles { flex-direction: column !important; }
  .ig-h       { font-size: 11px !important; padding: 8px 14px !important; }

  /* Building grid */
  .bg { grid-template-columns: 1fr 1fr !important; }

  /* Slogan two-col → single */
  .slogan-block [style*="grid-template-columns"] { display: block !important; }

  /* About sections */
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns:1.2fr 1fr"],
  [style*="grid-template-columns:1.6fr 1fr"],
  [style*="grid-template-columns:2fr 1fr"] { grid-template-columns: 1fr !important; }

  /* Partners */
  .pt-row { gap: 4px !important; }
  .pch { font-size: 9px !important; padding: 5px 10px !important; }

  /* News grid */
  .news-grid { grid-template-columns: 1fr !important; }
  .news-card.featured { grid-column: 1 !important; }
  .nc-title { font-size: 16px !important; }

  /* Instagram 3x3 */
  .ig-grid { grid-template-columns: 1fr !important; }
  .ig-account { padding: 14px !important; }

  /* YouTube grid */
  #ytGrid { grid-template-columns: 1fr !important; }

  /* Digitecture controls */
  .ctrl-in { flex-wrap: wrap !important; height: auto !important; padding: 8px 0 !important; }
  #map { height: 300px !important; }

  /* Footer */
  footer { padding: 36px 20px 28px !important; }
  .ft-bot { flex-direction: column !important; gap: 8px !important; text-align: center !important; }

  /* Ticker */
  .ticker-in { animation-duration: 16s !important; }
}

@media (max-width: 480px) {
  html { font-size: 14px; }
  .bg { grid-template-columns: 1fr !important; }
  
  
  .nav-title strong { font-size: 12px !important; }
  .slogan-text { font-size: clamp(28px,9vw,42px) !important; }
  .tat-mark { font-size: clamp(56px,15vw,100px) !important; }
  .oht-mark { font-size: clamp(56px,15vw,100px) !important; }
  .digi-title { font-size: clamp(28px,9vw,52px) !important; }
  .bldg-title { font-size: clamp(22px,7vw,38px) !important; }
}

/* ── Touch targets ── */
@media (pointer: coarse) {
  .nav-links a, .btn, .pch, .filter-btn, .vt { min-height: 44px; display: inline-flex; align-items: center; }
  .ig-h { min-height: 44px; }
}


/* Nav marks: handled via inline style on each page */
/* No global blend-mode rules — prevents conflicts   */


/* TAT-specific: logo sits on white nav */
.tat-theme .nav { background: rgba(255,255,255,.95) !important; }
/* ════════════════════════════════════ */

/* ═══ NAV BRAND — FINAL ═══ */
.nav-brand { display:flex; align-items:center; gap:14px; text-decoration:none; flex-shrink:0; }
.nav-brand img { display:block; object-fit:contain; flex-shrink:0; }
 /* disabled — replaced by direct img in nav-brand */
/* Footer mark */
.ft-mark { background:transparent !important; border:none !important; display:flex; align-items:center; }
.ft-mark img { object-fit:contain; display:block; }
/* TAT: white nav bg for black logo visibility */
.tat-theme .nav { background: rgba(255,255,255,.96) !important; }
.tat-theme .nav-title strong { color:#111 !important; }
.tat-theme .nav-title em    { color:rgba(17,17,17,.4) !important; }
/* ══════════════════════════ */

/* nav-brand-safety: prevent overlap, ensure proper spacing */
.nav-brand {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
.nav-brand img {
  display: block !important;
  flex-shrink: 0 !important;
  object-fit: contain !important;
}
.nav-title {
  min-width: 0;
  overflow: hidden;
}
.nav-title strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nav-title em {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
