*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.left-0{left:0}.top-0{top:0}.top-16{top:4rem}.top-full{top:100%}.z-40{z-index:40}.z-50{z-index:50}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-auto{margin-left:auto}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.hidden{display:none}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-7{height:1.75rem}.h-9{height:2.25rem}.min-h-\[120px\]{min-height:120px}.min-h-\[170px\]{min-height:170px}.min-h-\[88px\]{min-height:88px}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[\#1a3a8f\]\/20{border-color:rgba(26,58,143,.2)}.border-\[var\(--gold-soft\)\]{border-color:var(--gold-soft)}.border-\[var\(--line\)\]{border-color:var(--line)}.border-\[var\(--line-2\)\]{border-color:var(--line-2)}.border-white\/40{border-color:hsla(0,0%,100%,.4)}.bg-\[\#33333a\]{--tw-bg-opacity:1;background-color:rgb(51 51 58/var(--tw-bg-opacity,1))}.bg-\[\#FCFAF4\]{--tw-bg-opacity:1;background-color:rgb(252 250 244/var(--tw-bg-opacity,1))}.bg-\[\#f4f7fd\]{--tw-bg-opacity:1;background-color:rgb(244 247 253/var(--tw-bg-opacity,1))}.bg-\[rgba\(255\2c 255\2c 255\2c \.45\)\]{background-color:hsla(0,0%,100%,.45)}.bg-charcoal{--tw-bg-opacity:1;background-color:rgb(27 27 29/var(--tw-bg-opacity,1))}.bg-cream{--tw-bg-opacity:1;background-color:rgb(251 248 241/var(--tw-bg-opacity,1))}.bg-gold{--tw-bg-opacity:1;background-color:rgb(226 163 41/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-5{padding-left:1.25rem}.pr-1{padding-right:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[\.58rem\]{font-size:.58rem}.text-\[\.62rem\]{font-size:.62rem}.text-\[\.66rem\]{font-size:.66rem}.text-\[\.6rem\]{font-size:.6rem}.text-\[\.72rem\]{font-size:.72rem}.text-\[\.74rem\]{font-size:.74rem}.text-\[\.7rem\]{font-size:.7rem}.text-\[\.98rem\]{font-size:.98rem}.text-\[1\.05rem\]{font-size:1.05rem}.text-\[2\.1rem\]{font-size:2.1rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-\[1\.05\]{line-height:1.05}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[\.22em\]{letter-spacing:.22em}.tracking-\[\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-\[\#1a3a8f\]{--tw-text-opacity:1;color:rgb(26 58 143/var(--tw-text-opacity,1))}.text-\[\#241500\]{--tw-text-opacity:1;color:rgb(36 21 0/var(--tw-text-opacity,1))}.text-\[\#2f6b36\]{--tw-text-opacity:1;color:rgb(47 107 54/var(--tw-text-opacity,1))}.text-\[\#3a2400\]{--tw-text-opacity:1;color:rgb(58 36 0/var(--tw-text-opacity,1))}.text-\[\#3a2a08\]{--tw-text-opacity:1;color:rgb(58 42 8/var(--tw-text-opacity,1))}.text-\[\#4a3a18\]{--tw-text-opacity:1;color:rgb(74 58 24/var(--tw-text-opacity,1))}.text-\[\#5a4413\]{--tw-text-opacity:1;color:rgb(90 68 19/var(--tw-text-opacity,1))}.text-\[\#EDEAE2\]{--tw-text-opacity:1;color:rgb(237 234 226/var(--tw-text-opacity,1))}.text-\[\#aaa49a\]{--tw-text-opacity:1;color:rgb(170 164 154/var(--tw-text-opacity,1))}.text-\[\#cfcabd\]{--tw-text-opacity:1;color:rgb(207 202 189/var(--tw-text-opacity,1))}.text-\[var\(--ink\)\]{color:var(--ink)}.text-\[var\(--ink-soft\)\]{color:var(--ink-soft)}.text-charcoal{--tw-text-opacity:1;color:rgb(27 27 29/var(--tw-text-opacity,1))}.text-gold{--tw-text-opacity:1;color:rgb(226 163 41/var(--tw-text-opacity,1))}.text-gold-deep{--tw-text-opacity:1;color:rgb(188 126 22/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[var\(--gold-deep\)\]{accent-color:var(--gold-deep)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.last\:border-0:last-child{border-width:0}.hover\:border-\[var\(--gold-soft\)\]:hover{border-color:var(--gold-soft)}.hover\:bg-cream:hover{--tw-bg-opacity:1;background-color:rgb(251 248 241/var(--tw-bg-opacity,1))}.hover\:text-\[var\(--ink\)\]:hover{color:var(--ink)}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:ml-auto{margin-left:auto}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:gap-4{gap:1rem}.sm\:gap-7{gap:1.75rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-20{padding-top:5rem;padding-bottom:5rem}.sm\:text-left{text-align:left}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-\[13px\]{font-size:13px}.sm\:text-\[2\.9rem\]{font-size:2.9rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width:768px){.md\:inline{display:inline}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-6{top:1.5rem}.lg\:top-\[72px\]{top:72px}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:ml-2{margin-left:.5rem}.lg\:mt-0{margin-top:0}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-\[72px\]{height:72px}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-end{align-items:flex-end}.lg\:border-b-0{border-bottom-width:0}.lg\:border-r{border-right-width:1px}.lg\:text-\[3\.2rem\]{font-size:3.2rem}}@media (min-width:1280px){.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.xl\:gap-7{gap:1.75rem}}

/* ===== IS4NCDs brand layer ===== */
:root{
    --charcoal:#1b1b1d;
    --charcoal-2:#27272b;
    --gold:#E2A329;
    --gold-deep:#BC7E16;
    --gold-soft:#F2D49A;
    --gold-wash:#FBEFD3;
    --blue:#2C6E8F;
    --teal:#2F9C8B;
    --lightblue:#7FB6CC;
    --rust:#B8542C;
    --ink:#242427;
    --ink-soft:#55555d;
    --cream:#FBF8F1;
    --paper:#ffffff;
    --line:#E8E2D6;
    --line-2:#D9D2C4;
  }

  *{ -webkit-font-smoothing:antialiased; }

  body{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    color:var(--ink);
    background:var(--cream);
  }

  /* Serif display face — academic gravitas, native stack only */
  .font-display{
    font-family:Georgia,"Times New Roman","Iowan Old Style",Cambria,serif;
    letter-spacing:-0.01em;
  }
  .font-mono-stack{
    font-family:ui-monospace,"SF Mono","Cascadia Mono","Roboto Mono",Menlo,Consolas,monospace;
  }
  .eyebrow{
    font-size:.72rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    font-weight:700;
  }

  /* ---- Signature: segmented-roundel monogram (echoes live IS4NCDs mark) ---- */
  .roundel{
    border-radius:50%;
    background:conic-gradient(
      var(--gold) 0 42%,
      var(--blue) 42% 60%,
      var(--teal) 60% 76%,
      var(--lightblue) 76% 88%,
      var(--rust) 88% 100%
    );
    position:relative;
    flex:none;
  }
  .roundel::after{
    content:"";
    position:absolute;
    inset:22%;
    border-radius:50%;
    background:var(--hub-bg,var(--charcoal));
  }
  .roundel.on-dark::after{ background:var(--charcoal); }
  .roundel.on-light::after{ background:var(--cream); }
  .roundel.on-paper::after{ background:var(--paper); }

  /* ---- Signature: spectrum accent bar (echoes live footer) ---- */
  .spectrum{
    height:6px;
    width:100%;
    background:linear-gradient(90deg,
      var(--gold) 0 52%,
      var(--blue) 52% 66%,
      var(--teal) 66% 80%,
      var(--lightblue) 80% 90%,
      var(--rust) 90% 100%);
    border:none;
  }
  .spectrum-thin{ height:3px; }

  a{ text-decoration:none; }

  /* Visible focus states everywhere */
  a:focus-visible, button:focus-visible, input:focus-visible,
  select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible{
    outline:3px solid var(--gold);
    outline-offset:2px;
    border-radius:4px;
  }

  /* ------------------------------- Header ------------------------------- */
  .topnav{ background:var(--charcoal); }
  .navlink{
    color:#EDEAE2; font-size:.9rem; font-weight:500; padding:.45rem .2rem;
    position:relative; white-space:nowrap;
  }
  .navlink:hover{ color:#fff; }
  .navlink.active{ color:#fff; }
  .navlink.active::after{
    content:""; position:absolute; left:0; right:0; bottom:-.55rem; height:3px;
    background:var(--gold); border-radius:2px;
  }
  .dropdown-panel{ display:none; }
  .dropdown.open .dropdown-panel{ display:block; }

  /* Sub-navigation (in-page) */
  .subnav-link{
    color:var(--ink-soft); font-size:.83rem; font-weight:600; padding:.85rem .15rem;
    border-bottom:3px solid transparent; white-space:nowrap;
  }
  .subnav-link:hover{ color:var(--ink); }
  .subnav-link.active{ color:var(--gold-deep); border-bottom-color:var(--gold); }

  /* ------------------------------- Hero -------------------------------- */
  .hero{
    background:
      radial-gradient(120% 120% at 88% -10%, #F2C25A 0%, rgba(242,194,90,0) 55%),
      radial-gradient(120% 130% at 5% 120%, #C98B17 0%, rgba(201,139,23,0) 50%),
      linear-gradient(135deg,#E7AE36 0%, #DC9A22 55%, #C9871A 100%);
    position:relative; overflow:hidden;
  }
  .hero-shape{ position:absolute; border-radius:50%; pointer-events:none; }
  .hero-ring{
    position:absolute; border-radius:50%; border:2px solid rgba(255,255,255,.18);
    pointer-events:none;
  }

  /* ------------------------------- Cards ------------------------------- */
  .card{
    background:var(--paper); border:1px solid var(--line); border-radius:14px;
  }
  .card-hover{ transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
  .card-hover:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 34px -18px rgba(40,30,10,.35);
    border-color:var(--gold-soft);
  }

  .chip{
    display:inline-flex; align-items:center; gap:.4rem;
    font-size:.72rem; font-weight:700; letter-spacing:.02em;
    padding:.28rem .6rem; border-radius:999px; border:1px solid transparent;
  }
  .chip-dot{ width:7px; height:7px; border-radius:50%; }

  .badge{
    font-size:.68rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
    padding:.2rem .5rem; border-radius:6px;
  }

  /* Form controls */
  .field{
    width:100%; border:1px solid var(--line-2); border-radius:9px;
    padding:.62rem .75rem; font-size:.92rem; background:#fff; color:var(--ink);
  }
  .field::placeholder{ color:#9a958c; }
  .field:focus{ border-color:var(--gold); }
  .field-label{ font-size:.8rem; font-weight:700; color:var(--ink); margin-bottom:.3rem; display:block; }
  .req{ color:var(--rust); }
  .field.invalid{ border-color:var(--rust); background:#FCF3F0; }
  .err-msg{ color:var(--rust); font-size:.74rem; margin-top:.25rem; display:none; }
  .err-msg.show{ display:block; }

  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
    font-weight:700; font-size:.92rem; border-radius:10px; padding:.7rem 1.15rem;
    cursor:pointer; border:1px solid transparent; transition:background .15s ease, transform .12s ease, box-shadow .15s ease;
  }
  .btn:active{ transform:translateY(1px); }
  .btn-gold{ background:var(--gold); color:#2a1d00; }
  .btn-gold:hover{ background:var(--gold-deep); color:#fff; }
  .btn-dark{ background:var(--charcoal); color:#fff; }
  .btn-dark:hover{ background:#000; }
  .btn-ghost{ background:transparent; color:var(--ink); border-color:var(--line-2); }
  .btn-ghost:hover{ border-color:var(--gold); background:#fff; }
  .btn-light{ background:#fff; color:var(--ink); border-color:rgba(255,255,255,.0); }

  /* Tabs (capabilities + modal) */
  .tabbtn{
    font-weight:700; font-size:.86rem; padding:.6rem .95rem; border-radius:9px;
    color:var(--ink-soft); cursor:pointer; border:1px solid transparent; background:transparent;
  }
  .tabbtn:hover{ color:var(--ink); }
  .tabbtn.active{ background:var(--charcoal); color:#fff; }
  .modal-tab{
    font-size:.8rem; font-weight:700; padding:.5rem .7rem; border-radius:8px;
    color:var(--ink-soft); cursor:pointer; background:transparent; border:1px solid transparent;
    white-space:nowrap;
  }
  .modal-tab.active{ background:var(--gold-wash); color:var(--gold-deep); border-color:var(--gold-soft); }

  .tabpane, .modal-pane{ display:none; }
  .tabpane.active, .modal-pane.active{ display:block; animation:fade .25s ease; }
  @keyframes fade{ from{opacity:0; transform:translateY(4px);} to{opacity:1; transform:none;} }

  /* Readiness / progress bars */
  .bar{ height:7px; background:#EEE7D8; border-radius:999px; overflow:hidden; }
  .bar > span{ display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,var(--gold),var(--gold-deep)); }

  /* Roadmap timeline */
  .phase-line{ position:relative; }
  .phase-line::before{
    content:""; position:absolute; left:13px; top:6px; bottom:6px; width:2px; background:var(--line-2);
  }
  .phase-dot{
    width:28px; height:28px; border-radius:50%; flex:none; display:grid; place-items:center;
    font-size:.72rem; font-weight:800; color:#fff; position:relative; z-index:1;
  }

  /* Modal */
  .modal-backdrop{
    position:fixed; inset:0; background:rgba(20,16,8,.55); backdrop-filter:blur(2px);
    display:none; align-items:flex-start; justify-content:center; padding:1rem; z-index:80; overflow-y:auto;
  }
  .modal-backdrop.open{ display:flex; }
  .modal-card{
    background:#fff; border-radius:16px; max-width:760px; width:100%; margin:3.5rem auto;
    box-shadow:0 30px 80px -20px rgba(0,0,0,.5); animation:pop .22s ease;
  }
  @keyframes pop{ from{opacity:0; transform:scale(.97) translateY(8px);} to{opacity:1; transform:none;} }

  /* Status banner */
  .statusbar{ background:#241F14; color:#F3ECDB; }

  /* Back to top */
  #toTop{
    position:fixed; right:18px; bottom:18px; z-index:70; width:46px; height:46px; border-radius:12px;
    background:var(--charcoal); color:#fff; display:none; align-items:center; justify-content:center;
    box-shadow:0 10px 24px -10px rgba(0,0,0,.5); cursor:pointer;
  }
  #toTop:hover{ background:#000; }
  #toTop.show{ display:flex; }

  .section-pad{ padding-top:4.5rem; padding-bottom:4.5rem; }
  .rule-label{
    display:inline-flex; align-items:center; gap:.55rem; color:var(--gold-deep);
  }
  .rule-label::before{ content:""; width:26px; height:2px; background:var(--gold); display:inline-block; }

  @media (prefers-reduced-motion: reduce){
    *{ scroll-behavior:auto !important; animation:none !important; transition:none !important; }
  }

  /* Mobile menu */
  @media (max-width:1023px){
    #mainMenu{ display:none; }
    #mainMenu.open{
      display:flex; flex-direction:column; position:absolute; top:100%; left:0; right:0;
      background:var(--charcoal-2); padding:1rem 1.25rem 1.4rem; gap:.35rem; z-index:60;
      border-top:1px solid rgba(255,255,255,.08);
    }
    #mainMenu.open .navlink.active::after{ display:none; }
    #mainMenu.open .navlink{ padding:.6rem 0; border-bottom:1px solid rgba(255,255,255,.06); }
    #mainMenu.open .dropdown-panel{ position:static; box-shadow:none; background:transparent; border:none; padding-left:.5rem; }
  }

  /* ----------------------------- App / logged-in preview ----------------------------- */
  #appView{ min-height:100vh; background:var(--cream); }
  .app-topbar{ background:var(--charcoal); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.7rem 1rem; position:sticky; top:0; z-index:50; flex-wrap:wrap; }
  .role-switch{ display:inline-flex; background:#33333a; border-radius:9px; padding:3px; }
  .role-btn{ font-size:.8rem; font-weight:700; color:#cfcabd; padding:.35rem .8rem; border-radius:7px; cursor:pointer; border:none; background:transparent; }
  .role-btn.active{ background:var(--gold); color:#2a1d00; }
  .app-shell{ display:flex; align-items:flex-start; }
  .app-side{ width:240px; flex:none; background:#fff; border-right:1px solid var(--line); min-height:calc(100vh - 56px); position:sticky; top:56px; align-self:flex-start; }
  .side-inner{ padding:1rem .85rem; }
  .side-link{ display:flex; align-items:center; gap:.7rem; padding:.6rem .75rem; border-radius:9px; font-size:.88rem; font-weight:600; color:var(--ink-soft); cursor:pointer; }
  .side-link:hover{ background:var(--cream); color:var(--ink); }
  .side-link.active{ background:var(--gold-wash); color:var(--gold-deep); }
  .side-link .ic{ width:8px; height:8px; border-radius:3px; background:var(--line-2); flex:none; }
  .side-link.active .ic{ background:var(--gold); }
  .side-group{ font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; font-weight:800; color:#a89f8c; padding:.9rem .75rem .3rem; }
  .app-main{ flex:1; min-width:0; }
  .app-wrap{ max-width:1040px; margin:0 auto; padding:1.5rem 1rem 3rem; }
  .avatar{ width:54px; height:54px; flex:none; border-radius:50%; background:var(--gold-deep); color:#fff; display:grid; place-items:center; font-weight:800; font-family:Georgia,serif; font-size:1.15rem; }
  .ring{ width:104px; height:104px; border-radius:50%; display:grid; place-items:center; position:relative; margin:0 auto; }
  .ring::before{ content:""; position:absolute; inset:11px; border-radius:50%; background:#fff; }
  .ring span{ position:relative; font-weight:800; color:var(--ink); font-family:Georgia,serif; font-size:1.15rem; }
  .acc-body{ display:none; }
  .acc.open .acc-body{ display:block; }
  .acc.open .acc-chev{ transform:rotate(180deg); }
  .acc-chev{ transition:transform .2s ease; flex:none; }
  .unit-dot{ width:26px; height:26px; flex:none; border-radius:50%; display:grid; place-items:center; font-size:.72rem; font-weight:800; background:#EEE7D8; color:var(--ink-soft); }
  .unit-dot.current{ background:var(--gold); color:#2a1d00; }
  .unit-dot.done{ background:#3f7a45; color:#fff; }
  .videoframe{ aspect-ratio:16/9; background:linear-gradient(135deg,#2b2b30,#1b1b1d); border-radius:14px; position:relative; overflow:hidden; display:grid; place-items:center; }
  .vf-poster{ display:grid; place-items:center; gap:.6rem; text-align:center; }
  .vf-play{ width:64px; height:64px; border-radius:50%; background:var(--gold); display:grid; place-items:center; cursor:pointer; border:none; box-shadow:0 8px 24px -8px rgba(0,0,0,.5); }
  .vf-play:hover{ background:#fff; }
  .vf-label{ color:#cfcabd; font-size:.78rem; }
  .vf-msg{ text-align:center; padding:1.5rem; max-width:420px; }
  .fx-active{ background:var(--charcoal)!important; color:#fff!important; border-color:var(--charcoal)!important; }

  @media (max-width:860px){
    .app-shell{ display:block; }
    .app-side{ width:100%; min-height:auto; position:static; border-right:none; border-bottom:1px solid var(--line); }
    .side-inner{ display:flex; gap:.4rem; overflow-x:auto; padding:.6rem .75rem; }
    .side-group{ display:none; }
    .side-link{ white-space:nowrap; }
  }

/* ===== Sandbox component additions (toast, demo, admin table) ===== */
#toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(20px);background:var(--charcoal);color:#fff;padding:.7rem 1.1rem;border-radius:10px;font-size:.86rem;font-weight:600;box-shadow:0 12px 30px -10px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:120;max-width:90vw;text-align:center}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
#demoOverlay{position:fixed;inset:0;z-index:110;display:none;pointer-events:none}
#demoOverlay.open{display:block}
.demo-card{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);width:min(560px,92vw);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px -16px rgba(0,0,0,.45);padding:1.05rem 1.2rem;pointer-events:auto}
table.adm{width:100%;border-collapse:collapse;font-size:.8rem}
table.adm th,table.adm td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:top}
table.adm th{background:var(--charcoal);color:#fff;font-weight:700;position:sticky;top:0;z-index:1}
table.adm tbody tr:hover{background:var(--cream)}
table.adm td.mono,table.adm .mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.74rem}
.status-sel{border:1px solid var(--line-2);border-radius:7px;padding:.2rem .4rem;font-size:.76rem;background:#fff}
.tagchip{display:inline-block;font-size:.66rem;font-weight:700;color:var(--ink-soft);background:#F3EFE4;border-radius:6px;padding:.1rem .42rem}
.btn.justify-start{justify-content:flex-start}

/* ===== v2: course builder + materials-driven delivery ===== */
.step-tabs{display:flex;flex-wrap:wrap;gap:.4rem;border-bottom:1px solid var(--line);padding-bottom:.6rem}
.step-tab{font-size:.8rem;font-weight:700;color:var(--ink-soft);background:#F3EFE4;border:1px solid var(--line);border-radius:8px;padding:.4rem .7rem;cursor:pointer}
.step-tab.active{background:var(--charcoal);color:#fff;border-color:var(--charcoal)}
.step-tab:hover{color:var(--ink)}
.step-tab.active:hover{color:#fff}
.mat-icon{flex:none;width:42px;height:42px;border-radius:9px;display:grid;place-items:center;font-size:.62rem;font-weight:800;letter-spacing:.02em;color:var(--gold-deep);background:var(--gold-wash);border:1px solid var(--gold-soft)}
.delivery-sec{font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.5rem}
.mat-done{border-color:#bfe0c4;background:#FAFDF9}
.btn.w-full.justify-start{justify-content:flex-start}

/* ===== v3: LMS course page, spotlight, reports, settings ===== */
.spotlight{border-left:4px solid var(--gold)}
.snapshot{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.snap-cell{padding:.55rem .4rem;text-align:center;border-right:1px solid var(--line);background:#fff}
.snap-cell:last-child{border-right:0}
.snap-n{display:block;font-family:var(--font-display,inherit);font-weight:800;font-size:1.15rem;color:var(--charcoal);line-height:1.1}
.snap-l{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:700;margin-top:.15rem}

.lms-header{background:linear-gradient(120deg,var(--gold-wash),#fff);border:1px solid var(--line);border-radius:16px;padding:1.25rem 1.4rem}
.lms-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin-top:1rem}
.lms-meta-cell{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.5rem .6rem;text-align:center}
.lms-meta-k{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:800}
.lms-meta-v{display:block;font-weight:700;color:var(--charcoal);font-size:.85rem;margin-top:.1rem}

.video-ph{position:relative;border-radius:14px;overflow:hidden;background:radial-gradient(120% 120% at 30% 0%,#2a2a30,var(--charcoal));aspect-ratio:16/9;display:grid;place-items:center;text-align:center;padding:1.2rem}
.video-ph-inner{max-width:30rem}
.vp-play{width:60px;height:60px;border-radius:999px;background:var(--gold);color:var(--charcoal);display:grid;place-items:center;margin:0 auto .5rem;border:0;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.3)}
.vp-play:hover{background:#f0b53f}
.vp-title{color:#fff;font-weight:700;font-size:1.02rem}
.vp-desc{color:#D9D5CC;font-size:.82rem;margin-top:.2rem}
.vp-meta{color:#A8A399;font-size:.7rem;margin-top:.5rem}
.vp-badge{display:inline-block;background:rgba(255,255,255,.12);color:#EDEAE2;font-size:.66rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;letter-spacing:.04em}

.keypoints{background:var(--gold-wash);border:1px solid var(--gold-soft);border-radius:12px;padding:.9rem 1rem}

.uacc{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.uacc-head{width:100%;display:flex;align-items:center;gap:.6rem;padding:.7rem .85rem;background:#fff;border:0;cursor:pointer;font-size:.9rem;color:var(--charcoal);text-align:left}
.uacc-head:hover{background:var(--cream)}
.uacc-body{display:none;padding:.2rem .95rem 1rem;border-top:1px solid var(--line)}
.uacc.open .uacc-body{display:block}
.uacc-chev{transition:transform .2s;color:var(--ink-soft)}
.uacc.open .uacc-chev{transform:rotate(180deg)}

.ustate{flex:none;width:11px;height:11px;border-radius:999px;display:inline-block;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
.ustate-done{background:#3f9a4d}
.ustate-current{background:var(--gold-deep)}
.ustate-pending{background:#D7D2C6}

.unit-nav{width:100%;display:flex;align-items:center;gap:.55rem;padding:.5rem .6rem;border-radius:9px;border:1px solid transparent;background:transparent;cursor:pointer;color:var(--ink);text-align:left}
.unit-nav:hover{background:var(--cream)}
.unit-nav-current{background:var(--gold-wash);border-color:var(--gold-soft)}

.avatar-img{border-radius:999px;object-fit:cover;border:2px solid var(--gold-soft);display:inline-block}
.avatar-edit{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:999px;background:var(--gold-deep);display:grid;place-items:center;border:2px solid #fff}
