/* IGA V98 — DETERMINISTIC VISUAL SYSTEM
   Purpose: eliminate legacy colour collisions while preserving existing layout/content/assets.
   No JS colour painting. No observers. No timers.
*/
:root{
  --iga-navy:#071b49;--iga-navy-2:#0d2b61;--iga-gold:#f3c34f;
  --iga-orange:#f47a12;--iga-orange-beige:#b84f00;--iga-beige:#f1eadb;
  --iga-paper:#fffdf8;--iga-black:#111111;--iga-line:#f3c34f;
  color-scheme:only light;
}
html,body{max-width:100%;min-height:100%;}
html{background:var(--iga-beige)!important;color-scheme:only light!important;}
body{margin:0!important;background:var(--iga-beige)!important;color:var(--iga-navy)!important;overflow-x:hidden!important;text-rendering:optimizeLegibility;}
html[data-iga-theme="navy"] body{background:var(--iga-navy)!important;color:var(--iga-gold)!important;}
html[data-iga-theme="beige"] body{background:var(--iga-beige)!important;color:var(--iga-navy)!important;}

/* First: neutralise visual declarations left by historical stylesheets. Layout is untouched. */
html[data-iga-theme="navy"] body *{background-color:transparent!important;background-image:none!important;box-shadow:none!important;text-shadow:none!important;opacity:1!important;}
html[data-iga-theme="beige"] body *{background-color:transparent!important;background-image:none!important;box-shadow:none!important;text-shadow:none!important;opacity:1!important;}

/* Base typography outside component boxes. */
html[data-iga-theme="navy"] body :where(p,li,dt,dd,td,th,small,figcaption,blockquote,legend,span,strong,b,em){color:var(--iga-gold)!important;-webkit-text-fill-color:var(--iga-gold)!important;}
html[data-iga-theme="beige"] body :where(p,li,dt,dd,td,th,small,figcaption,blockquote,legend,span,strong,b,em){color:var(--iga-black)!important;-webkit-text-fill-color:var(--iga-black)!important;}

/* Headings always orange; beige uses the darker accessible orange. */
html[data-iga-theme="navy"] body :where(h1,h2,h3,h4,h5,h6){color:var(--iga-orange)!important;-webkit-text-fill-color:var(--iga-orange)!important;text-shadow:none!important;}
html[data-iga-theme="beige"] body :where(h1,h2,h3,h4,h5,h6){color:var(--iga-orange-beige)!important;-webkit-text-fill-color:var(--iga-orange-beige)!important;text-shadow:none!important;}

/* Structural page surfaces. */
html[data-iga-theme="navy"] body :where(main,.section,.hero,.page-intro,.materials-page,.quiz-page,.iga-shell,.iga-section,.iga-platform-shell,.iga-home-hero,.iga-home-section,.iga-home-soft,.iga-home-beige,.iga-value-grid,.deliverable-page,.eg,.institutional-platform,.platform-page){background:var(--iga-navy)!important;color:var(--iga-gold)!important;}
html[data-iga-theme="beige"] body :where(main,.section,.hero,.page-intro,.materials-page,.quiz-page,.iga-shell,.iga-section,.iga-platform-shell,.iga-home-hero,.iga-home-section,.iga-home-soft,.iga-home-beige,.iga-value-grid,.deliverable-page,.eg,.institutional-platform,.platform-page){background:var(--iga-beige)!important;color:var(--iga-navy)!important;}
html[data-iga-theme="beige"] body .iga-home-navy{background:var(--iga-navy)!important;color:var(--iga-gold)!important;}

/* Explicit component surfaces. These are the ONLY normal content boxes. */
html[data-iga-theme="navy"] body :where(
.card,.panel,.box,.tile,.feature-box,.feature-card,.resource-card,.course-card-large,.course-card,.syllabus-card,.iga-card,.iga-p5-card,.iga-feature,.iga-platform-card,.iga-faculty-card,.iga-teacher-card,.iga-mini-card,.exam-card,.iga-article-card,.article-card,.video-card,.pyq-card,.iga-v80-card,.iga-student-panel,.my2-card,.eg-card,.deliverable-panel,.deliverable-section,.iga-widget,.iga-story-card,.iga-story-quote,.iga-callout,.callout,.info-card,.tool-card,.question-card,.answer-card,.resource,.resource-item,.study-card,.step-card,.faq-item,.feature,.metric-card,.iga-studio-card,.iga-values-card,.iga-credit-card,.admin-panel,.studio-card,.filters-panel,.iga-intel,.iga-next-preview,.iga-next,.iga-loop-v58>div,.iga-three-lines>a,.iga-intelligence-grid>a,.iga-value-links>a,.iga-exam-list>a,.iga-values-item
),
html[data-iga-theme="beige"] body :where(
.card,.panel,.box,.tile,.feature-box,.feature-card,.resource-card,.course-card-large,.course-card,.syllabus-card,.iga-card,.iga-p5-card,.iga-feature,.iga-platform-card,.iga-faculty-card,.iga-teacher-card,.iga-mini-card,.exam-card,.iga-article-card,.article-card,.video-card,.pyq-card,.iga-v80-card,.iga-student-panel,.my2-card,.eg-card,.deliverable-panel,.deliverable-section,.iga-widget,.iga-story-card,.iga-story-quote,.iga-callout,.callout,.info-card,.tool-card,.question-card,.answer-card,.resource,.resource-item,.study-card,.step-card,.faq-item,.feature,.metric-card,.iga-studio-card,.iga-values-card,.iga-credit-card,.admin-panel,.studio-card,.filters-panel,.iga-intel,.iga-next-preview,.iga-next,.iga-loop-v58>div,.iga-three-lines>a,.iga-intelligence-grid>a,.iga-value-links>a,.iga-exam-list>a,.iga-values-item
){
 background:var(--iga-navy)!important;background-color:var(--iga-navy)!important;background-image:none!important;
 color:var(--iga-gold)!important;-webkit-text-fill-color:var(--iga-gold)!important;
 border:2px solid var(--iga-gold)!important;box-shadow:0 10px 26px rgba(0,0,0,.16)!important;opacity:1!important;
}

/* Text inside navy boxes is gold. */
html[data-iga-theme="navy"] body :where(.card,.panel,.box,.tile,.feature-box,.feature-card,.resource-card,.course-card-large,.course-card,.syllabus-card,.iga-card,.iga-p5-card,.iga-feature,.iga-platform-card,.iga-faculty-card,.iga-teacher-card,.iga-mini-card,.exam-card,.iga-article-card,.article-card,.video-card,.pyq-card,.iga-v80-card,.iga-student-panel,.my2-card,.eg-card,.deliverable-panel,.deliverable-section,.iga-widget,.iga-story-card,.iga-story-quote,.iga-callout,.callout,.info-card,.tool-card,.question-card,.answer-card,.resource,.resource-item,.study-card,.step-card,.faq-item,.feature,.metric-card,.iga-studio-card,.iga-values-card,.iga-credit-card,.admin-panel,.studio-card,.filters-panel,.iga-intel,.iga-next-preview,.iga-next,.iga-loop-v58>div,.iga-three-lines>a,.iga-intelligence-grid>a,.iga-value-links>a,.iga-exam-list>a,.iga-values-item) :where(p,li,dt,dd,td,th,small,figcaption,blockquote,legend,span,strong,b,em,label,.eyebrow,.kicker,.iga-kicker,.section-label,.section-kicker,.caption,.meta-label,a){color:var(--iga-gold)!important;-webkit-text-fill-color:var(--iga-gold)!important;}
html[data-iga-theme="beige"] body :where(.card,.panel,.box,.tile,.feature-box,.feature-card,.resource-card,.course-card-large,.course-card,.syllabus-card,.iga-card,.iga-p5-card,.iga-feature,.iga-platform-card,.iga-faculty-card,.iga-teacher-card,.iga-mini-card,.exam-card,.iga-article-card,.article-card,.video-card,.pyq-card,.iga-v80-card,.iga-student-panel,.my2-card,.eg-card,.deliverable-panel,.deliverable-section,.iga-widget,.iga-story-card,.iga-story-quote,.iga-callout,.callout,.info-card,.tool-card,.question-card,.answer-card,.resource,.resource-item,.study-card,.step-card,.faq-item,.feature,.metric-card,.iga-studio-card,.iga-values-card,.iga-credit-card,.admin-panel,.studio-card,.filters-panel,.iga-intel,.iga-next-preview,.iga-next,.iga-loop-v58>div,.iga-three-lines>a,.iga-intelligence-grid>a,.iga-value-links>a,.iga-exam-list>a,.iga-values-item) :where(p,li,dt,dd,td,th,small,figcaption,blockquote,legend,span,strong,b,em,label,.eyebrow,.kicker,.iga-kicker,.section-label,.section-kicker,.caption,.meta-label,a){color:var(--iga-gold)!important;-webkit-text-fill-color:var(--iga-gold)!important;}
/* Box headings stay orange for hierarchy. */
html[data-iga-theme="navy"] body :where(.card,.panel,.box,.tile,.feature-box,.feature-card,.resource-card,.course-card-large,.course-card,.syllabus-card,.iga-card,.iga-p5-card,.iga-feature,.iga-platform-card,.iga-faculty-card,.iga-teacher-card,.iga-mini-card,.exam-card,.iga-article-card,.article-card,.video-card,.pyq-card,.iga-v80-card,.iga-student-panel,.my2-card,.eg-card,.deliverable-panel,.deliverable-section,.iga-widget,.iga-story-card,.iga-story-quote,.iga-callout,.callout,.info-card,.tool-card,.question-card,.answer-card,.resource,.resource-item,.study-card,.step-card,.faq-item,.feature,.metric-card,.iga-studio-card,.iga-values-card,.iga-credit-card,.admin-panel,.studio-card,.filters-panel,.iga-intel,.iga-next-preview,.iga-next,.iga-loop-v58>div,.iga-three-lines>a,.iga-intelligence-grid>a,.iga-value-links>a,.iga-exam-list>a,.iga-values-item) :where(h1,h2,h3,h4,h5,h6){color:var(--iga-orange)!important;-webkit-text-fill-color:var(--iga-orange)!important;}
html[data-iga-theme="beige"] body :where(.card,.panel,.box,.tile,.feature-box,.feature-card,.resource-card,.course-card-large,.course-card,.syllabus-card,.iga-card,.iga-p5-card,.iga-feature,.iga-platform-card,.iga-faculty-card,.iga-teacher-card,.iga-mini-card,.exam-card,.iga-article-card,.article-card,.video-card,.pyq-card,.iga-v80-card,.iga-student-panel,.my2-card,.eg-card,.deliverable-panel,.deliverable-section,.iga-widget,.iga-story-card,.iga-story-quote,.iga-callout,.callout,.info-card,.tool-card,.question-card,.answer-card,.resource,.resource-item,.study-card,.step-card,.faq-item,.feature,.metric-card,.iga-studio-card,.iga-values-card,.iga-credit-card,.admin-panel,.studio-card,.filters-panel,.iga-intel,.iga-next-preview,.iga-next,.iga-loop-v58>div,.iga-three-lines>a,.iga-intelligence-grid>a,.iga-value-links>a,.iga-exam-list>a,.iga-values-item) :where(h1,h2,h3,h4,h5,h6){color:var(--iga-orange)!important;-webkit-text-fill-color:var(--iga-orange)!important;}

/* Labels. */
html[data-iga-theme="navy"] body :where(.eyebrow,.kicker,.iga-kicker,.section-label,.section-kicker,.caption,.meta-label,label,[class^="eyebrow"],[class^="kicker"]){color:var(--iga-beige)!important;-webkit-text-fill-color:var(--iga-beige)!important;}
html[data-iga-theme="beige"] body :where(.eyebrow,.kicker,.iga-kicker,.section-label,.section-kicker,.caption,.meta-label,label,[class^="eyebrow"],[class^="kicker"]){color:var(--iga-black)!important;-webkit-text-fill-color:var(--iga-black)!important;}
html[data-iga-theme="navy"] body .iga-home-navy :where(.eyebrow,.kicker,.iga-kicker,.section-label,.section-kicker,.caption,.meta-label,label){color:var(--iga-gold)!important;-webkit-text-fill-color:var(--iga-gold)!important;}

/* Links/actions outside boxes. */
html[data-iga-theme="navy"] body :where(a,.link,.accent,.action,.text-link,.iga-cta,.iga-v80-btn){color:var(--iga-orange)!important;-webkit-text-fill-color:var(--iga-orange)!important;}
html[data-iga-theme="beige"] body :where(a,.link,.accent,.action,.text-link,.iga-cta,.iga-v80-btn){color:var(--iga-orange-beige)!important;-webkit-text-fill-color:var(--iga-orange-beige)!important;}

/* Header/footer are fixed theme surfaces. */
html[data-iga-theme="navy"] body :where(.site-header,.footer,.iga-global-footer){background:var(--iga-navy)!important;color:var(--iga-gold)!important;border-color:var(--iga-gold)!important;}
html[data-iga-theme="beige"] body :where(.site-header,.footer,.iga-global-footer){background:var(--iga-beige)!important;color:var(--iga-navy)!important;border-color:var(--iga-gold)!important;}
html[data-iga-theme="navy"] body :where(.site-header nav a,.footer a,.iga-global-footer a){color:var(--iga-orange)!important;-webkit-text-fill-color:var(--iga-orange)!important;}
html[data-iga-theme="beige"] body :where(.site-header nav a,.footer a,.iga-global-footer a){color:var(--iga-orange-beige)!important;-webkit-text-fill-color:var(--iga-orange-beige)!important;}

/* Controls: paper/black in both themes, with theme border. */
html[data-iga-theme="navy"] body :where(input,select,textarea){background:var(--iga-paper)!important;color:var(--iga-black)!important;-webkit-text-fill-color:var(--iga-black)!important;border:2px solid var(--iga-gold)!important;box-shadow:none!important;}
html[data-iga-theme="beige"] body :where(input,select,textarea){background:var(--iga-paper)!important;color:var(--iga-black)!important;-webkit-text-fill-color:var(--iga-black)!important;border:2px solid var(--iga-navy)!important;box-shadow:none!important;}
html[data-iga-theme="navy"] body :where(input::placeholder,textarea::placeholder){color:#5b5b5b!important;}
html[data-iga-theme="beige"] body :where(input::placeholder,textarea::placeholder){color:#5b5b5b!important;}

/* Buttons. */
html[data-iga-theme="navy"] body :where(button,.button,.iga-v80-btn,.iga-theme-toggle,.iga-accessibility-toggle,.iga-header-search-trigger,.iga-header-tools button){background:transparent!important;color:var(--iga-orange)!important;-webkit-text-fill-color:var(--iga-orange)!important;border:2px solid var(--iga-gold)!important;}
html[data-iga-theme="beige"] body :where(button,.button,.iga-v80-btn,.iga-theme-toggle,.iga-accessibility-toggle,.iga-header-search-trigger,.iga-header-tools button){background:transparent!important;color:var(--iga-orange-beige)!important;-webkit-text-fill-color:var(--iga-orange-beige)!important;border:2px solid var(--iga-navy)!important;}
html[data-iga-theme="navy"] body :where(.primary-button,.iga-v80-btn.primary,button.primary,.iga-cta.primary){background:var(--iga-orange)!important;color:var(--iga-navy)!important;-webkit-text-fill-color:var(--iga-navy)!important;border-color:var(--iga-orange)!important;}
html[data-iga-theme="beige"] body :where(.primary-button,.iga-v80-btn.primary,button.primary,.iga-cta.primary){background:var(--iga-orange-beige)!important;color:var(--iga-paper)!important;-webkit-text-fill-color:var(--iga-paper)!important;border-color:var(--iga-orange-beige)!important;}

/* Fixed utility surfaces. */
.iga-language-switcher,.iga-a11y-panel,.iga-mobile-nav{background:var(--iga-navy)!important;color:var(--iga-gold)!important;border:2px solid var(--iga-gold)!important;box-shadow:0 12px 30px rgba(0,0,0,.18)!important;}
.iga-language-switcher :where(span,button),.iga-a11y-panel :where(*),.iga-mobile-nav a{color:var(--iga-gold)!important;-webkit-text-fill-color:var(--iga-gold)!important;}
.iga-language-switcher button,.iga-mobile-nav a{background:transparent!important;border:0!important;}

/* Dividers / progress. */
html[data-iga-theme="navy"] body :where(hr,.divider,.section-divider){border-color:var(--iga-gold)!important;background:var(--iga-gold)!important;}
html[data-iga-theme="beige"] body :where(hr,.divider,.section-divider){border-color:var(--iga-navy)!important;background:var(--iga-navy)!important;}

/* Media and table safety. */
img,svg,video,canvas{max-width:100%;height:auto;}
html[data-iga-theme="navy"] body :where(pre,code){background:#020f2d!important;color:var(--iga-gold)!important;}
html[data-iga-theme="beige"] body :where(pre,code){background:var(--iga-paper)!important;color:var(--iga-black)!important;}

/* Responsive: prevent lockups at tablet/phone widths. */
.container,.materials-container,.iga-v80-shell{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;}
.iga-v80-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);}
@media(max-width:900px){
  .iga-v80-grid{grid-template-columns:1fr;}
  .iga-v80-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
  .iga-v80-form{grid-template-columns:1fr;}
  .iga-v80-form .full{grid-column:auto;}
  .site-header .header-inner{flex-wrap:nowrap;gap:8px;}
  .site-header nav.iga-primary-nav{display:none!important;}
  .mobile-menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 44px;min-width:44px;min-height:44px;}
  .iga-mobile-nav{position:absolute!important;left:10px!important;right:10px!important;top:100%!important;z-index:10010!important;display:none!important;grid-template-columns:1fr 1fr;gap:6px;padding:10px!important;}
  .iga-mobile-nav.open{display:grid!important;}
  .iga-mobile-nav a{display:flex!important;align-items:center;min-height:44px;padding:10px!important;}
  .site-header .logo img{width:230px!important;max-width:55vw!important;}
}
@media(max-width:600px){
  .container,.materials-container{width:calc(100% - 24px);}
  .iga-v80-shell{padding:26px 12px 60px;}
  .iga-v80-kpis{grid-template-columns:1fr;}
  .iga-v80-actions{flex-direction:column;align-items:stretch;}
  .iga-v80-actions>*{width:100%;}
  .site-header .header-inner{min-height:72px;padding:7px 0;}
  .site-header .logo img{width:205px!important;max-width:58vw!important;}
  .iga-header-tools{gap:4px!important;}
  .iga-theme-toggle{min-width:62px!important;}
  .iga-language-switcher{left:8px!important;bottom:8px!important;max-width:calc(100vw - 16px);}
  .iga-language-switcher .iga-lang-label{display:none!important;}
}
@media(max-width:420px){
  .site-header .logo img{width:185px!important;max-width:60vw!important;}
  .iga-header-tools{gap:2px!important;}
  .iga-theme-toggle{min-width:58px!important;padding-inline:7px!important;}
  .iga-accessibility-toggle{min-width:40px!important;}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transform:none!important;}}

/* Final critical overrides without :where(), for older CSS engines and deterministic cascade. */
html[data-iga-theme="beige"] body .site-header nav a,
html[data-iga-theme="beige"] body .site-header nav a.active,
html[data-iga-theme="beige"] body .site-header nav a[aria-current="page"]{color:var(--iga-orange-beige)!important;-webkit-text-fill-color:var(--iga-orange-beige)!important;background:transparent!important;}
html[data-iga-theme="navy"] body .site-header nav a,
html[data-iga-theme="navy"] body .site-header nav a.active,
html[data-iga-theme="navy"] body .site-header nav a[aria-current="page"]{color:var(--iga-orange)!important;-webkit-text-fill-color:var(--iga-orange)!important;background:transparent!important;}
html[data-iga-theme="beige"] body .iga-home-navy :is(p,li,span,strong,b,small){color:var(--iga-gold)!important;-webkit-text-fill-color:var(--iga-gold)!important;}
html[data-iga-theme="navy"] body .iga-home-navy :is(p,li,span,strong,b,small){color:var(--iga-gold)!important;-webkit-text-fill-color:var(--iga-gold)!important;}
html[data-iga-theme="beige"] body .iga-home-copy .iga-home-lead{color:var(--iga-black)!important;-webkit-text-fill-color:var(--iga-black)!important;}
html[data-iga-theme="navy"] body .iga-home-copy .iga-home-lead{color:var(--iga-gold)!important;-webkit-text-fill-color:var(--iga-gold)!important;}
html[data-iga-theme="beige"] body .iga-home-heading p:not(.eyebrow){color:var(--iga-black)!important;-webkit-text-fill-color:var(--iga-black)!important;}
html[data-iga-theme="navy"] body .iga-home-heading p:not(.eyebrow){color:var(--iga-gold)!important;-webkit-text-fill-color:var(--iga-gold)!important;}
html[data-iga-theme="beige"] body .iga-home-navy .iga-home-heading p:not(.eyebrow){color:var(--iga-gold)!important;-webkit-text-fill-color:var(--iga-gold)!important;}
html[data-iga-theme="navy"] body .iga-home-navy .iga-home-heading p:not(.eyebrow){color:var(--iga-gold)!important;-webkit-text-fill-color:var(--iga-gold)!important;}
html[data-iga-theme="beige"] body .iga-home-hero-grid{align-items:start;}
html[data-iga-theme="navy"] body .iga-home-hero-grid{align-items:start;}
body *::before,body *::after{background-image:none!important;}
