/* ═══════════════════════════════════════════════════════════════════════════
   InvestConnect — component layer (brand: AIM 2026 Mini Brand Book, 2026-10-09)
   ───────────────────────────────────────────────────────────────────────────
   Reads tokens from tokens.css only. Loaded after Bootstrap and finder.css so
   it wins every cascade. Sections:
     1 base · 2 header · 3 footer · 4 buttons · 5 kicker/chips/status
     6 cards & tiles · 7 hero · 8 forms · 9 lists: company / opportunity /
     sector / agenda · 10 map · 11 Bootstrap components · 12 portal bridges
     (toast/modal from ui.js) · 13 utilities & motion · 14 responsive

   Spec: docs/superpowers/specs/2026-09-23-design-upgrade-plan.md
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 1. base ─────────────────────────────────────────────────────────── */
html{scroll-padding-top:calc(var(--ic-header-h-stuck) + 16px)}
body{
  font-family:var(--ic-font-body);font-size:var(--ic-fs-body);line-height:var(--ic-lh-body);
  color:var(--ic-ink-2);background:var(--ic-bg);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  font-feature-settings:"cv11","ss01","calt";
}
main{display:block}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{
  color:var(--ic-ink);font-weight:var(--ic-fw-semibold);line-height:var(--ic-lh-heading);
  letter-spacing:var(--ic-track-h3);margin-bottom:.5em;
}
/* brand §04: Montserrat 700 for display/headlines, 500 for sub-heads; Inter for dense titles (h5/h6, cards) */
h1,.h1,h2,.h2,.display-4{font-family:var(--ic-font-display);font-weight:var(--ic-fw-bold)}
h3,.h3,h4,.h4{font-family:var(--ic-font-display);font-weight:var(--ic-fw-medium)}
.ic-light,.fw-light{font-weight:var(--ic-fw-light)!important}
h1,.h1{font-size:var(--ic-fs-h1);line-height:1.08;letter-spacing:var(--ic-track-h1)}
h2,.h2{font-size:var(--ic-fs-h2);line-height:1.12;letter-spacing:var(--ic-track-h2)}
h3,.h3{font-size:var(--ic-fs-h3);line-height:1.25}
h4,.h4{font-size:var(--ic-fs-h4);line-height:1.35;letter-spacing:0}
h5,.h5{font-size:1rem;letter-spacing:0}
h6,.h6{font-size:.9375rem;letter-spacing:0}
.display-4{font-size:var(--ic-fs-display);line-height:var(--ic-lh-tight);letter-spacing:var(--ic-track-display);text-transform:uppercase}
/* one bold line over one light line — the logo rhythm (brand §04) */
.display-4 > span + span,.display-4 .ic-light{font-weight:var(--ic-fw-light)}
h1,h2,h3,.display-4{text-wrap:balance}
p{margin-bottom:1rem}
.lead,.fs-lg{font-size:var(--ic-fs-lead)!important;line-height:1.55}
.fs-sm{font-size:var(--ic-fs-small)!important}
.fs-xs{font-size:var(--ic-fs-micro)!important}
a{color:var(--ic-link);text-decoration:none;transition:color var(--ic-dur-2) var(--ic-ease-out)}
a:hover{color:var(--ic-link-hover)}
b,strong,.fw-semibold,.fw-bold{color:var(--ic-ink)}
.text-body-secondary{color:var(--ic-ink-3)!important}
.text-body{color:var(--ic-ink-2)!important}
.text-dark-emphasis{color:var(--ic-ink)!important}
.text-primary-emphasis{color:var(--ic-accent-text)!important}
.text-primary{color:var(--ic-accent-text)!important}
.text-warning{color:var(--ic-accent-text)!important}
.text-success{color:var(--ic-success)!important}
.bg-body-tertiary{background-color:var(--ic-bg-alt)!important}
.border,.border-top,.border-bottom{border-color:var(--ic-rule)!important}
hr{border-color:var(--ic-rule);opacity:1}
:focus-visible{outline:2px solid var(--ic-focus);outline-offset:3px}
::selection{background:var(--ic-brand-pale-lime);color:var(--ic-brand-ink)}
.container{--bs-gutter-x:calc(var(--ic-gutter) * 2)}
@media (min-width:1400px){.container{max-width:calc(var(--ic-container) + var(--ic-gutter) * 2)}}
/* section rhythm: Bootstrap py-5 (48px) is too tight for a marketing page */
main > section.py-5,main > section.pt-5{padding-top:var(--ic-section)!important}
main > section.py-5,main > section.pb-5{padding-bottom:var(--ic-section)!important}
main > section.pb-3{padding-bottom:var(--ic-sp-8)!important}
main > section.hero-band.py-5{padding-top:var(--ic-sp-10)!important;padding-bottom:var(--ic-sp-10)!important}
/* pass 2 (Porto P5): three band sizes. lg = first section after a hero (top-heavy), sm = strips */
main > section.ic-band-lg.py-5{padding-top:var(--ic-band-lg)!important;padding-bottom:var(--ic-band-lg-bottom)!important}
main > section.ic-band-sm.py-5{padding-top:var(--ic-band-sm)!important;padding-bottom:var(--ic-band-sm)!important}
main > section.ic-band-sm.pb-5{padding-bottom:var(--ic-band-sm)!important}

/* ── 2. header ───────────────────────────────────────────────────────── */
/* The bar is rendered inside <div data-shell-header>; a sticky child cannot leave its parent's
   box, so the wrapper itself is the sticky element (pass 2: the dock needs a bar that stays). */
[data-shell-header]{position:sticky;top:0;z-index:var(--ic-z-header)}
.ic-header{
  --bs-navbar-padding-y:0;--bs-navbar-padding-x:0;
  min-height:var(--ic-header-h);background:var(--ic-dark-bg);color:var(--ic-dark-ink);
  border-bottom:1px solid var(--ic-dark-rule);z-index:var(--ic-z-header);
  transition:background-color var(--ic-dur-dock) var(--ic-ease-out),border-color var(--ic-dur-dock) var(--ic-ease-out),
             box-shadow var(--ic-dur-dock) var(--ic-ease-out),min-height var(--ic-dur-dock) var(--ic-ease-out);
}
/* docked state (pass 2, Porto P2): the bar shrinks 72 -> 60, gains a hairline and a soft shadow */
.ic-header.is-stuck{
  background:rgba(10,30,43,.96);border-bottom-color:var(--ic-dark-rule);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
.ic-header > .container{
  display:flex;align-items:center;min-height:var(--ic-header-h);gap:var(--ic-sp-4);
  max-width:calc(var(--ic-container-wide) + var(--ic-gutter) * 2);
  transition:min-height var(--ic-dur-dock) var(--ic-ease-out);
}
.ic-sentinel{position:absolute;top:0;left:0;width:1px;height:24px;pointer-events:none;visibility:hidden}
/* Brand = the SVG logotype (assets/logo.svg): one file for light and dark bands,
   height docks with the header. Sizes live in tokens (--ic-logo-h*). */
.ic-brand{
  display:inline-flex;align-items:center;gap:0;white-space:nowrap;flex:none;
  padding:0;margin:0;line-height:1;
}
.ic-brand .ic-logo{
  display:block;height:var(--ic-logo-h);width:auto;
  transition:height var(--ic-dur-dock) var(--ic-ease-out);
}
.ic-footer .ic-brand .ic-logo{height:var(--ic-logo-h-footer)}

.ic-nav{gap:2px;align-items:center}
.ic-nav .nav-link{
  position:relative;font-family:var(--ic-font-display);font-size:.78125rem;font-weight:var(--ic-fw-semibold);
  letter-spacing:.06em;text-transform:uppercase;color:var(--ic-dark-ink);
  padding:.5rem .75rem;white-space:nowrap;line-height:1.2;
  transition:color var(--ic-dur-2) var(--ic-ease-out),background-color var(--ic-dur-2) var(--ic-ease-out);
}
.ic-nav .nav-link::after{
  content:"";position:absolute;left:.75rem;right:.75rem;bottom:0;height:2px;
  background:var(--ic-dark-accent);transform:scaleX(0);transform-origin:left;
  transition:transform var(--ic-dur-hover) var(--ic-ease-out);
}
.ic-nav .nav-link:hover{color:var(--ic-dark-ink)}
.ic-nav .nav-link:hover::after{transform:scaleX(.6)}
.ic-nav .nav-link.active{color:var(--ic-dark-ink)!important;font-weight:var(--ic-fw-semibold)}
.ic-nav .nav-link.active::after{transform:scaleX(1)}

.ic-header-actions{display:flex;align-items:center;gap:var(--ic-sp-2);margin-left:auto;flex:none}
.ic-header-actions .btn-sm{--bs-btn-padding-y:.5rem;--bs-btn-padding-x:.875rem;min-height:38px}
/* on the Ink bar: Join = Lime CTA, Sign in = hairline */
.ic-header .btn-primary,.ic-offcanvas .btn-primary{
  --bs-btn-bg:var(--ic-dark-accent);--bs-btn-border-color:var(--ic-dark-accent);--bs-btn-color:var(--ic-brand-ink);
  --bs-btn-hover-bg:var(--ic-lime-300);--bs-btn-hover-border-color:var(--ic-lime-300);--bs-btn-hover-color:var(--ic-brand-ink);
  --bs-btn-active-bg:var(--ic-lime-300);--bs-btn-active-border-color:var(--ic-lime-300);--bs-btn-active-color:var(--ic-brand-ink);
}
.ic-header .btn-outline-secondary,.ic-offcanvas .btn-outline-secondary{
  --bs-btn-bg:transparent;--bs-btn-border-color:var(--ic-dark-rule-strong);--bs-btn-color:var(--ic-dark-ink);
  --bs-btn-hover-bg:var(--ic-dark-ink);--bs-btn-hover-border-color:var(--ic-dark-ink);--bs-btn-hover-color:var(--ic-brand-ink);   /* [HS] hover: svijetla pozadina + TAMAN tekst (bilo svijetlo na svijetlom) */
  --bs-btn-active-bg:var(--ic-dark-ink);--bs-btn-active-border-color:var(--ic-dark-ink);--bs-btn-active-color:var(--ic-brand-ink);
}
/* [HS] meni naloga u zaglavlju (dropdown): tamna pozadina kao zaglavlje, čitljive stavke */
.ic-header .ic-acct-menu{--bs-dropdown-bg:var(--ic-dark-bg);--bs-dropdown-color:var(--ic-dark-ink);--bs-dropdown-link-color:var(--ic-dark-ink);
  --bs-dropdown-link-hover-bg:var(--ic-dark-ink);--bs-dropdown-link-hover-color:var(--ic-brand-ink);--bs-dropdown-border-color:var(--ic-dark-rule-strong);min-width:14rem}
/* [HS] otvoren meni: dugme „Moj nalog" SVIJETLA pozadina + TAMAN tekst na svim širinama — iznad 1200 px pravilo
   `#ic-login{background:transparent}` (id) je gazilo Bootstrapov .show pa je tekst bio crn na tamnom (Velibor, 14. 10.) */
.ic-header #ic-login.show,.ic-header #ic-login.show:hover,.ic-header #ic-login:active{
  background:var(--ic-dark-ink)!important;color:var(--ic-brand-ink)!important;border-color:var(--ic-dark-ink)!important}

/* language switcher — segmented control (markup from i18n.js) */
.ic-lang{display:inline-flex;gap:0;padding:2px;background:transparent;border:1px solid var(--ic-dark-rule-strong)}
.ic-lang button{
  border:0;background:transparent;font-family:var(--ic-font-display);font-size:.6875rem;font-weight:var(--ic-fw-semibold);
  color:var(--ic-dark-ink-2);padding:.375rem .5625rem;cursor:pointer;line-height:1.2;
  min-width:34px;letter-spacing:.08em;transition:background-color var(--ic-dur-2) var(--ic-ease-out),color var(--ic-dur-2) var(--ic-ease-out);
}
.ic-lang button:hover{color:var(--ic-dark-ink)}
.ic-lang button.on{background:var(--ic-dark-accent);color:var(--ic-brand-ink)}
.ic-lang button:focus-visible{outline-offset:-2px}

/* burger */
.ic-burger{
  width:44px;height:44px;border:0;background:transparent;
  display:grid;place-items:center;padding:0;margin:0;color:var(--ic-dark-ink);box-shadow:none!important;
}
.ic-burger:hover{background:var(--ic-surface-tint)}
.ic-burger-lines,.ic-burger-lines::before,.ic-burger-lines::after{
  display:block;width:20px;height:2px;background:currentColor;content:"";position:relative;
}
.ic-burger-lines::before{position:absolute;top:-6px}
.ic-burger-lines::after{position:absolute;top:6px}

/* offcanvas menu */
/* [HS9] `.offcanvas.ic-offcanvas` (dvije klase): opšti `.offcanvas{--bs-offcanvas-bg:var(--ic-surface)}` niže u fajlu je istom
   specifičnošću gazio tamnu pozadinu menija → svijetli tekst na svijetloj pozadini na telefonu (produkcija, 14. 10.). */
.offcanvas.ic-offcanvas{--bs-offcanvas-width:320px;--bs-offcanvas-padding-x:var(--ic-sp-6);--bs-offcanvas-padding-y:var(--ic-sp-5);
  --bs-offcanvas-bg:var(--ic-dark-bg);--bs-offcanvas-color:var(--ic-dark-ink);--bs-offcanvas-border-color:var(--ic-dark-rule);
  background-color:var(--ic-dark-bg);color:var(--ic-dark-ink)}
.offcanvas.ic-offcanvas .nav-link,.offcanvas.ic-offcanvas a{color:var(--ic-dark-ink)}
.ic-offcanvas .offcanvas-header{border-bottom:1px solid var(--ic-dark-rule);padding-block:var(--ic-sp-4)}
.ic-offcanvas .btn-close{opacity:.8;filter:invert(1) grayscale(100%) brightness(200%)}
.ic-offcanvas-foot{display:flex;flex-direction:column;gap:var(--ic-sp-3);border-top:1px solid var(--ic-dark-rule);padding-top:var(--ic-sp-5);margin-top:var(--ic-sp-5)}
.ic-offcanvas-foot .ic-lang{align-self:flex-start}
@media (max-width:1199.98px){
  :root{--ic-header-h:var(--ic-header-h-compact)}
  .ic-nav{gap:2px;padding-top:var(--ic-sp-2);align-items:stretch}
  .ic-nav .nav-link{font-size:.9375rem;letter-spacing:.06em;padding:.75rem .75rem;text-align:left}
  .ic-nav .nav-link::after{display:none}
  .ic-nav .nav-link.active{background:var(--ic-surface-tint);box-shadow:inset var(--ic-accent-rule) 0 0 var(--ic-dark-accent)}
}
/* desktop ≥1400: one row — seven French items fit at 13.5px next to a ghost
   "Sign in" (measured: FR nav 780px + actions 316px + brand 167px < 1352px). */
@media (min-width:1200px){
  .ic-header.is-stuck{min-height:var(--ic-header-h-stuck)}
  .ic-header.is-stuck > .container{min-height:var(--ic-header-h-stuck)}
  .ic-header.is-stuck .ic-brand .ic-logo{height:var(--ic-logo-h-stuck)}
  .ic-header .ic-offcanvas{flex:1 1 auto;min-width:0;justify-content:center;margin:0 var(--ic-sp-3)}
  .ic-header .offcanvas-body{padding:0;justify-content:center}
  .ic-nav{flex-wrap:nowrap}
  .ic-nav .nav-link{font-size:.71875rem;letter-spacing:.04em;padding:.5rem .4375rem}
  .ic-nav .nav-link::after{left:.4375rem;right:.4375rem}
  .ic-header-actions{gap:var(--ic-sp-2)}
  .ic-header-actions #ic-login{--bs-btn-border-color:transparent;background:transparent;box-shadow:none;--bs-btn-padding-x:.625rem}
  .ic-header .ic-lang button{min-width:30px;padding-inline:.4375rem}
  .ic-header-actions #ic-login:hover{background:var(--ic-surface-tint)}
}
/* laptop 1200–1399: the two-tier layout (direction A) — brand + actions on
   row one, the seven links on a 44px row underneath. No language wraps. */
@media (min-width:1200px) and (max-width:1399.98px){
  .ic-header > .container{flex-wrap:wrap;row-gap:0;padding-top:var(--ic-sp-2);padding-bottom:var(--ic-sp-1)}
  .ic-header .ic-offcanvas{order:3;flex:0 0 100%;margin:0;justify-content:flex-start;min-height:40px}
  .ic-header .offcanvas-body{justify-content:flex-start;margin-left:-.5625rem}
  .ic-nav .nav-link{font-size:.75rem}
}
/* ≥1400 one row: seven French caps items measured at 1440 — .04em tracking, 7px padding */
@media (min-width:1400px){
  .ic-nav .nav-link{font-size:.71875rem;letter-spacing:.04em;padding:.5rem .4375rem}
  .ic-nav .nav-link::after{left:.4375rem;right:.4375rem}
  .ic-header-actions #ic-login{--bs-btn-padding-x:.5rem}
}
@media (min-width:1600px){
  .ic-nav{gap:4px}
  .ic-nav .nav-link{font-size:.75rem;letter-spacing:.06em;padding:.5rem .5625rem}
  .ic-nav .nav-link::after{left:.5625rem;right:.5625rem}
}

/* ── 3. footer ───────────────────────────────────────────────────────── */
.ic-footer{background:var(--ic-dark-bg);color:var(--ic-dark-ink-2);padding-top:var(--ic-sp-9);border-top:1px solid var(--ic-dark-rule)}
.ic-footer > .container{padding-bottom:var(--ic-sp-2)}
.ic-footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:var(--ic-sp-8) var(--ic-sp-6);padding-bottom:var(--ic-sp-8)}
.ic-footer-blurb{max-width:34ch;font-size:var(--ic-fs-small);color:var(--ic-dark-ink-3);line-height:1.6;margin:var(--ic-sp-4) 0 0}
.ic-footer-h{
  font-family:var(--ic-font-display);font-size:var(--ic-fs-label);font-weight:var(--ic-fw-semibold);letter-spacing:var(--ic-track-label);
  text-transform:uppercase;color:var(--ic-dark-label);margin-bottom:var(--ic-sp-4);
}
.ic-footer-h::before{content:"";display:block;width:28px;height:var(--ic-accent-rule);background:var(--ic-bar);margin-bottom:var(--ic-sp-3)}
.ic-footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--ic-sp-3)}
.ic-footer-links a{color:var(--ic-dark-ink);font-size:.90625rem;font-weight:var(--ic-fw-regular);padding:0}
.ic-footer-links a:hover{color:var(--ic-dark-accent);text-decoration:underline;text-underline-offset:.2em}
.ic-footer-bottom{
  background:var(--ic-dark-bg);border-top:1px solid var(--ic-dark-rule);
  padding:var(--ic-sp-4) 0;font-size:.78125rem;color:var(--ic-dark-ink-2);
}
.ic-footer-bottom > .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--ic-sp-2) var(--ic-sp-6)}
@media (max-width:767.98px){
  .ic-footer-grid{grid-template-columns:1fr 1fr;gap:var(--ic-sp-7) var(--ic-sp-5)}
  .ic-footer-grid > :first-child{grid-column:1 / -1}
}

/* ── 4. buttons ──────────────────────────────────────────────────────── */
.btn{
  --bs-btn-font-family:var(--ic-font-display);--bs-btn-font-weight:var(--ic-fw-semibold);--bs-btn-font-size:.78125rem;
  --bs-btn-padding-y:.625rem;--bs-btn-padding-x:1.25rem;--bs-btn-border-radius:0;
  --bs-btn-focus-box-shadow:0 0 0 3px var(--ic-accent-ring);
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--ic-control-h);
  white-space:nowrap;letter-spacing:var(--ic-track-btn);text-transform:uppercase;
  transition:background-color var(--ic-dur-2) var(--ic-ease-out),border-color var(--ic-dur-2) var(--ic-ease-out),
             color var(--ic-dur-2) var(--ic-ease-out),box-shadow var(--ic-dur-2) var(--ic-ease-out),transform var(--ic-dur-1) var(--ic-ease-out);
}
.btn:active{transform:translateY(1px)}
.btn-lg{--bs-btn-padding-y:.8125rem;--bs-btn-padding-x:1.625rem;--bs-btn-font-size:.84375rem;min-height:var(--ic-control-h-lg)}
.btn-sm{--bs-btn-padding-y:.4375rem;--bs-btn-padding-x:.875rem;--bs-btn-font-size:.71875rem;letter-spacing:.08em;min-height:var(--ic-control-h-sm)}
/* primary: Ink on light grounds, Lime (Ink text) on dark bands — the two approved CTA pairs */
.btn-primary{
  --bs-btn-bg:var(--ic-accent);--bs-btn-border-color:var(--ic-accent);--bs-btn-color:var(--ic-on-accent);
  --bs-btn-hover-bg:var(--ic-accent-hover);--bs-btn-hover-border-color:var(--ic-accent-hover);--bs-btn-hover-color:var(--ic-on-accent);
  --bs-btn-active-bg:var(--ic-accent-active);--bs-btn-active-border-color:var(--ic-accent-active);--bs-btn-active-color:var(--ic-on-accent);
  --bs-btn-disabled-bg:var(--ic-accent);--bs-btn-disabled-border-color:var(--ic-accent);--bs-btn-disabled-color:var(--ic-on-accent);
  box-shadow:none;
}
.hero-band .btn-primary,.ic-cta-band .btn-primary{
  --bs-btn-bg:var(--ic-dark-accent);--bs-btn-border-color:var(--ic-dark-accent);--bs-btn-color:var(--ic-brand-ink);
  --bs-btn-hover-bg:var(--ic-lime-300);--bs-btn-hover-border-color:var(--ic-lime-300);--bs-btn-hover-color:var(--ic-brand-ink);
  --bs-btn-active-bg:var(--ic-lime-300);--bs-btn-active-border-color:var(--ic-lime-300);--bs-btn-active-color:var(--ic-brand-ink);
}
/* one secondary look for every "outline" flavour: hairline in Ink, fills on hover */
.btn-outline-secondary,.btn-outline-dark,.btn-secondary,.btn-market{
  --bs-btn-bg:transparent;--bs-btn-border-color:var(--ic-ink);--bs-btn-color:var(--ic-ink);
  --bs-btn-hover-bg:var(--ic-ink);--bs-btn-hover-border-color:var(--ic-ink);--bs-btn-hover-color:var(--ic-bg);
  --bs-btn-active-bg:var(--ic-ink);--bs-btn-active-border-color:var(--ic-ink);--bs-btn-active-color:var(--ic-bg);
  --bs-btn-disabled-color:var(--ic-ink-disabled);--bs-btn-disabled-border-color:var(--ic-rule);
}
.btn-dark{
  --bs-btn-bg:var(--ic-brand-ink);--bs-btn-border-color:var(--ic-brand-ink);--bs-btn-color:var(--ic-brand-karst);
  --bs-btn-hover-bg:var(--ic-brand-bay);--bs-btn-hover-border-color:var(--ic-brand-bay);--bs-btn-hover-color:var(--ic-brand-karst);
  --bs-btn-active-bg:var(--ic-brand-bay);--bs-btn-active-border-color:var(--ic-brand-bay);
}
.btn-outline-light,.hero-band .btn-outline-secondary,.ic-cta-band .btn-outline-secondary{
  --bs-btn-bg:transparent;--bs-btn-color:var(--ic-brand-karst);--bs-btn-border-color:rgba(236,240,228,.6);
  --bs-btn-hover-bg:rgba(236,240,228,.08);--bs-btn-hover-border-color:var(--ic-brand-karst);--bs-btn-hover-color:var(--ic-brand-karst);
  --bs-btn-active-bg:var(--ic-brand-karst);--bs-btn-active-border-color:var(--ic-brand-karst);--bs-btn-active-color:var(--ic-brand-ink);
}
.btn-link{--bs-btn-color:var(--ic-ink-2);--bs-btn-hover-color:var(--ic-ink);--bs-btn-active-color:var(--ic-ink);text-decoration:none;font-weight:var(--ic-fw-semibold)}
.btn-link:hover{text-decoration:underline;text-underline-offset:.2em}
.btn-icon{--fn-btn-size:var(--ic-control-h);flex:none;height:var(--fn-btn-size);width:var(--fn-btn-size);padding:0;gap:0;min-height:0}
.btn-icon.btn-sm{--fn-btn-size:var(--ic-control-h-sm)}
.btn-icon.btn-lg{--fn-btn-size:var(--ic-control-h-lg)}
.btn .ic-icon{width:1.125em;height:1.125em}
.btn-group .btn{min-height:var(--ic-control-h-sm)}
.btn-group .btn.active{background:var(--ic-ink);border-color:var(--ic-ink);color:var(--ic-bg)}
/* any flex row of buttons must wrap on narrow screens */
.hero-band .d-flex.gap-3,.hero-band .d-flex.gap-2,.ic-cta-band .d-flex.gap-3,.ic-cta-band .d-flex.gap-2{flex-wrap:wrap}
.hero-band form .d-flex{flex-wrap:nowrap}

/* ── 5. kicker, chips, status ────────────────────────────────────────── */
/* labels (brand §05): hairline frames with caps text, square corners, no fills.
   Sectors, status and tags differ by text, not by colour. */
.badge{
  --bs-badge-font-weight:var(--ic-fw-semibold);--bs-badge-font-size:var(--ic-fs-label);--bs-badge-padding-x:.625rem;--bs-badge-padding-y:.3125rem;
  --bs-badge-border-radius:0;--bs-badge-color:var(--ic-label);
  font-family:var(--ic-font-display);letter-spacing:var(--ic-track-label);text-transform:uppercase;line-height:1.2;
  border:1px solid var(--ic-rule);background:transparent!important;color:var(--ic-label)!important;
}
/* eyebrow pill → kicker: caps label with the Lime anchor rule above, copy untouched */
.badge.bg-primary-subtle.text-primary-emphasis{
  display:flex;flex-direction:column;align-items:flex-start;gap:var(--ic-sp-3);background:transparent!important;padding:0;border:0;
  font-size:.74rem;font-weight:var(--ic-fw-semibold);color:var(--ic-label)!important;line-height:1.3;
}
.badge.bg-primary-subtle.text-primary-emphasis::before{content:"";width:var(--ic-anchor-w);height:var(--ic-accent-rule);background:var(--ic-bar);flex:none}
.text-center .badge.bg-primary-subtle.text-primary-emphasis{align-items:center}
/* the same anchor rule for section titles that carry no kicker copy */
h2.ic-title::before,.ic-title::before{content:"";display:block;width:var(--ic-anchor-w);height:var(--ic-accent-rule);background:var(--ic-bar);margin-bottom:var(--ic-sp-4)}
.text-center .ic-title::before,.ic-title.text-center::before{margin-inline:auto}
.badge.text-bg-secondary,.badge.bg-body-tertiary{color:var(--ic-ink-3)!important}
.badge.text-bg-light{color:var(--ic-ink)!important}
.badge.text-bg-warning,.badge.bg-warning-subtle,.badge.bg-success-subtle{color:var(--ic-accent-text)!important;border-color:var(--ic-accent-text)}
.badge.text-bg-primary{color:var(--ic-ink)!important;border-color:var(--ic-ink)}
.badge.text-bg-danger,.badge.bg-danger-subtle{color:var(--ic-danger)!important;border-color:var(--ic-danger)}
.hero-band .badge,.ic-cta-band .badge,.ic-dark .badge{border-color:var(--ic-dark-rule);color:var(--ic-dark-label)!important}
.hero-band .badge.text-bg-light{color:var(--ic-dark-ink)!important}
.badge-hero{
  border-color:var(--ic-dark-rule);color:var(--ic-dark-accent-text)!important;
  white-space:normal;text-align:center;
}
/* sector chips keep their own colour pair everywhere */
[data-sector="ict"]{--ic-sec-fg:var(--ic-sector-ict-fg);--ic-sec-bg:var(--ic-sector-ict-bg)}
[data-sector="agri"]{--ic-sec-fg:var(--ic-sector-agri-fg);--ic-sec-bg:var(--ic-sector-agri-bg)}
[data-sector="renew"]{--ic-sec-fg:var(--ic-sector-renew-fg);--ic-sec-bg:var(--ic-sector-renew-bg)}
[data-sector="transport"]{--ic-sec-fg:var(--ic-sector-transport-fg);--ic-sec-bg:var(--ic-sector-transport-bg)}
[data-sector="tourism"]{--ic-sec-fg:var(--ic-sector-tourism-fg);--ic-sec-bg:var(--ic-sector-tourism-bg)}
[data-sector="finance"]{--ic-sec-fg:var(--ic-sector-finance-fg);--ic-sec-bg:var(--ic-sector-finance-bg)}
[data-sector="government"]{--ic-sec-fg:var(--ic-sector-government-fg);--ic-sec-bg:var(--ic-sector-government-bg)}
.badge[data-sector]{color:var(--ic-label)!important}
.hero-band .badge[data-sector]{color:var(--ic-dark-label)!important;border-color:var(--ic-dark-rule)}
/* status line: dot + text (company rows, profile) */
.ic-status{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--ic-fs-small);font-weight:var(--ic-fw-semibold);color:var(--ic-ink)}
.ic-status::before{content:"";width:8px;height:8px;background:var(--ic-ink-3);flex:none}
.ic-status.is-raising{color:var(--ic-accent-text)}
.ic-status.is-raising::before{background:var(--ic-accent-text)}
.ic-status .ic-icon{display:none}

/* ── 6. cards & tiles ────────────────────────────────────────────────── */
.card{
  --bs-card-border-width:0;--bs-card-border-radius:var(--ic-r-lg);--bs-card-inner-border-radius:var(--ic-r-lg);
  --bs-card-bg:var(--ic-surface);--bs-card-color:var(--ic-ink-2);
  box-shadow:var(--ic-elev-1);
}
.card.border-0{box-shadow:none}
.card.bg-body-tertiary{background:var(--ic-bg-alt)!important}
/* linked cards only: no lift, no shadow (brand §05) — the hairline turns Lime and the
   4px anchor rule grows from the left along the top edge. */
.card-hover,.listing-card,.sector-card,.opp-card,button.card{
  --ic-hover-bar:var(--ic-bar);position:relative;
  transition:box-shadow var(--ic-dur-hover) var(--ic-ease-out);
}
.card-hover,button.card{overflow:hidden}
.card-hover::after,.listing-card::after,.sector-card::after,.opp-card.card-hover::after,button.card::after{
  content:"";position:absolute;left:0;right:0;top:0;height:var(--ic-accent-rule);background:var(--ic-hover-bar);
  transform:scaleX(0);transform-origin:left;transition:transform var(--ic-dur-hover) var(--ic-ease-out);
  pointer-events:none;z-index:2;
}
.card-hover:hover,.listing-card:hover,.sector-card:hover,.opp-card.card-hover:hover,button.card:hover,
.card-hover:focus-within,.listing-card:focus-within,.sector-card:focus-within,.opp-card.card-hover:focus-within,button.card:focus-visible{
  box-shadow:0 0 0 1px var(--ic-brand-lime);
}
.card-hover:hover::after,.listing-card:hover::after,.sector-card:hover::after,.opp-card.card-hover:hover::after,button.card:hover::after,
.card-hover:focus-within::after,.listing-card:focus-within::after,.sector-card:focus-within::after,.opp-card.card-hover:focus-within::after,button.card:focus-visible::after{
  transform:scaleX(1);
}
.card.border-primary{box-shadow:0 0 0 2px var(--ic-accent-text)!important}
.card .card-body{padding:var(--ic-sp-5)}
/* explanatory content: unit-less panels sit on the page, no shadow */
.ic-plain{box-shadow:none!important;background:transparent!important;padding:0!important}
/* icon tile */
.cat-mark{
  width:var(--ic-tile);height:var(--ic-tile);flex:none;
  background:var(--ic-surface-tint);color:var(--ic-ink);display:grid;place-items:center;
  font-family:var(--ic-font-display);font-weight:var(--ic-fw-bold);font-size:1.0625rem;
  transition:background-color var(--ic-dur-2) var(--ic-ease-out),color var(--ic-dur-2) var(--ic-ease-out),transform var(--ic-dur-2) var(--ic-ease-out);
}
.cat-mark svg{width:var(--ic-icon-lg);height:var(--ic-icon-lg);stroke-width:1.75}
.cat-mark[data-sector]{background:var(--ic-sec-bg);color:var(--ic-sec-fg)}
.cat-mark-lg{width:var(--ic-tile-lg);height:var(--ic-tile-lg)}
.cat-mark-lg svg{width:var(--ic-icon-xl);height:var(--ic-icon-xl)}
.cat-mark-ink{background:var(--ic-brand-ink);color:var(--ic-brand-karst)}
.cat-mark-accent{background:var(--ic-brand-pale-lime);color:var(--ic-brand-ink)}
.ic-dark .cat-mark,[data-bs-theme="dark"] .cat-mark{background:var(--ic-brand-bay);color:var(--ic-brand-karst)}
/* sector tile row (home "browse by sector") */
.cat-tile{
  display:flex;align-items:center;gap:var(--ic-sp-4);padding:var(--ic-sp-3);
  color:var(--ic-ink);text-decoration:none;transition:background-color var(--ic-dur-2) var(--ic-ease-out);
}
.cat-tile:hover{background:var(--ic-surface-tint);color:var(--ic-ink)}
.cat-tile .cat-mark{width:var(--ic-tile-lg);height:var(--ic-tile-lg)}
.cat-tile .cat-mark svg{width:var(--ic-icon-xl);height:var(--ic-icon-xl)}
.cat-tile:hover .cat-mark{transform:scale(1.04)}
.cat-tile .h6{font-size:.9375rem;font-weight:var(--ic-fw-semibold);color:var(--ic-ink);line-height:1.3;min-width:0}
/* numbered step */
/* numbered step: square Bay tile, Karst numeral (the brand monogram shape) */
.step-num{
  width:var(--ic-step);height:var(--ic-step);flex:none;background:var(--ic-brand-bay);color:var(--ic-brand-karst);
  font-family:var(--ic-font-display);font-weight:var(--ic-fw-medium);font-size:1rem;display:grid;place-items:center;
  font-variant-numeric:tabular-nums;
}
/* vertical numbered list: hairline connector between circles */
.ic-steps{list-style:none;padding:0}
.ic-steps > li{position:relative}
.ic-steps > li:not(:last-child)::before{
  content:"";position:absolute;left:calc(var(--ic-step) / 2 - 1px);top:calc(var(--ic-step) + 4px);bottom:4px;width:2px;
  background:var(--ic-rule);
}
.journey-card{border-top:0;position:relative;overflow:hidden}
.journey-card::before{content:"";position:absolute;inset:0 auto auto 0;height:var(--ic-accent-rule);width:var(--ic-anchor-w);background:var(--ic-bar)}
.journey-card .cat-mark{background:var(--ic-brand-ink);color:var(--ic-brand-karst)}
/* partner logo tile — white is allowed only behind partner logos (brand §03) */
.partner-logo{
  display:grid;place-items:center;width:var(--ic-tile-lg);height:var(--ic-tile-lg);
  background:var(--ic-brand-white);color:var(--ic-ink);font-family:var(--ic-font-display);font-weight:var(--ic-fw-semibold);letter-spacing:.02em;
  box-shadow:0 0 0 1px var(--ic-rule);
}
.partner-logo img{max-width:56px;max-height:48px;object-fit:contain}
/* company logo tiles */
.listing-logo{
  width:48px;height:48px;flex:none;overflow:hidden;background:var(--ic-surface-tint);
  display:grid;place-items:center;font-family:var(--ic-font-display);font-weight:var(--ic-fw-semibold);color:var(--ic-ink);font-size:1.0625rem;
  box-shadow:inset 0 0 0 1px var(--ic-rule);
}
.listing-logo img{width:100%;height:100%;object-fit:contain;background:var(--ic-brand-white);padding:4px}
.listing-logo:not(:has(img)){background:var(--ic-brand-bay);color:var(--ic-brand-karst);box-shadow:none}
.hero-band .listing-logo{background:var(--ic-brand-bay);color:var(--ic-brand-karst);box-shadow:inset 0 0 0 1px var(--ic-dark-rule)}
.profile-logo{
  width:var(--ic-logo-lg);height:var(--ic-logo-lg);background:var(--ic-brand-white);display:grid;place-items:center;
  font-family:var(--ic-font-display);font-size:2.25rem;font-weight:var(--ic-fw-medium);color:var(--ic-ink);overflow:hidden;
  box-shadow:0 0 0 1px var(--ic-dark-rule);
}
.profile-logo img{width:100%;height:100%;object-fit:contain;padding:10px;background:var(--ic-brand-white)}
/* CTA band: Bay ground, the mark as a tone-on-tone watermark (Ink on Bay, once per layout) */
.ic-cta-band{
  position:relative;overflow:hidden;background:var(--ic-brand-bay);color:var(--ic-dark-ink-2);
  padding:var(--ic-sp-8) var(--ic-sp-7);
}
.ic-cta-band::before{
  content:"";position:absolute;right:-4%;top:50%;transform:translateY(-50%);width:min(42%,420px);aspect-ratio:1/1;pointer-events:none;
  background:var(--ic-brand-ink);opacity:.55;
  -webkit-mask:url("/assets/img/mark.svg") center/contain no-repeat;mask:url("/assets/img/mark.svg") center/contain no-repeat;
}
.ic-cta-band > *{position:relative}
.ic-cta-band h2,.ic-cta-band .h2{color:var(--ic-brand-karst)}
.ic-cta-band p{color:var(--ic-dark-ink-2)}
.ic-cta-band .text-body-secondary{color:var(--ic-brand-fog)!important}
@media (min-width:768px){.ic-cta-band{padding:var(--ic-sp-9) var(--ic-sp-9)}}

/* ── 7. hero ─────────────────────────────────────────────────────────── */
/* hero: flat Ink ground; photos sit under the Ink overlay from the text side (brand §05/§06) */
.hero-band{
  position:relative;overflow:hidden;color:var(--ic-brand-karst);
  background:var(--ic-dark-bg);
  isolation:isolate;
}
.hero-band::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:var(--ic-scrim-band),var(--hero-img,none) center/cover no-repeat;
}
/* hairline that closes every hero */
.hero-band::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;z-index:0;
  background:var(--ic-dark-rule);
}
.hero-band > *{position:relative;z-index:1}
.hero-band h1,.hero-band .h1,.hero-band h2{color:var(--ic-brand-karst)}
.hero-band p{color:var(--ic-dark-ink-2)}
.hero-band .opacity-75{opacity:1!important;color:var(--ic-dark-ink-2)!important}
.hero-band .opacity-50{opacity:1!important;color:var(--ic-dark-ink-2)!important}
.hero-band .text-white.opacity-75{color:var(--ic-dark-ink-2)!important}
.hero-band .text-warning{color:var(--ic-dark-accent-text)!important}
.hero-band .breadcrumb{--bs-breadcrumb-divider-color:var(--ic-dark-ink-2);--bs-breadcrumb-item-active-color:var(--ic-brand-karst);font-size:var(--ic-fs-small)}
.hero-band .breadcrumb a{color:var(--ic-dark-ink-2)!important;opacity:1!important}
.hero-band .breadcrumb a:hover{color:var(--ic-brand-karst)!important}
/* home and section heroes: contour lines (brand §05) — 1px wave lines, Bay on Ink, right side */
.hero-home{background:var(--ic-dark-bg)}
.hero-home::before{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 600' preserveAspectRatio='xMaxYMid slice'%3E%3Cg fill='none' stroke='%231a4d60' stroke-width='1'%3E%3Cpath d='M-20 120C200 60 380 220 600 150S1000 40 1220 110'/%3E%3Cpath d='M-20 190C200 130 380 290 600 220S1000 110 1220 180'/%3E%3Cpath d='M-20 260C200 200 380 360 600 290S1000 180 1220 250'/%3E%3Cpath d='M-20 330C200 270 380 430 600 360S1000 250 1220 320'/%3E%3Cpath d='M-20 400C200 340 380 500 600 430S1000 320 1220 390'/%3E%3Cpath d='M-20 470C200 410 380 570 600 500S1000 390 1220 460'/%3E%3Cpath d='M-20 540C200 480 380 640 600 570S1000 460 1220 530'/%3E%3C/g%3E%3C/svg%3E") right center/cover no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 40%,#000 100%);
          mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 40%,#000 100%);
}
.ic-hero-net{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.ic-hero-net svg{position:absolute;right:-6%;top:-12%;width:min(62vw,900px);height:auto;opacity:.7}
.ic-hero-net line{stroke:var(--ic-hairline);stroke-width:1}
.ic-hero-net circle{fill:var(--ic-brand-bay);stroke:var(--ic-hairline-strong);stroke-width:1}
.ic-hero-net circle.hot{fill:var(--ic-brand-lime);stroke:var(--ic-brand-ink);stroke-width:2}
/* hero search panel: Karst, hairline, square */
.hero-band form.bg-white{
  background:var(--ic-brand-karst)!important;border:1px solid var(--ic-dark-rule)!important;border-radius:0!important;
  box-shadow:none;padding:var(--ic-sp-2)!important;
}
.hero-band form.bg-white .form-control{background:transparent;box-shadow:none;font-size:1rem;min-height:var(--ic-control-h-lg)}
.hero-band form.bg-white .form-control:focus{box-shadow:none}
.hero-band form.bg-white:focus-within{box-shadow:0 0 0 3px var(--ic-accent-ring)}
.hero-band form.bg-white label{color:var(--ic-brand-slate)!important;font-weight:var(--ic-fw-medium)}
.hero-band form.bg-white .fi-search{color:var(--ic-brand-slate)}
.hero-band form.bg-white .btn-primary{
  --bs-btn-bg:var(--ic-brand-ink);--bs-btn-border-color:var(--ic-brand-ink);--bs-btn-color:var(--ic-brand-karst);
  --bs-btn-hover-bg:var(--ic-brand-bay);--bs-btn-hover-border-color:var(--ic-brand-bay);--bs-btn-hover-color:var(--ic-brand-karst);
}
.hero-band .display-4 .text-warning{display:block}
/* hero reveal: one orchestrated moment on load */
.hero-band .container > * {animation:ic-rise var(--ic-dur-4) var(--ic-ease-out) both}
.hero-band .container > :nth-child(2){animation-delay:60ms}
.hero-band .container > :nth-child(3){animation-delay:120ms}
.hero-band .container > :nth-child(n+4){animation-delay:180ms}
@keyframes ic-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero-band[style*="hero-img"]::before{filter:saturate(var(--ic-photo-sat))}

/* ── 8. forms ────────────────────────────────────────────────────────── */
.form-control,.form-select{
  --bs-border-radius:0;
  min-height:var(--ic-control-h);border:1px solid var(--ic-rule-strong);color:var(--ic-ink);
  padding:.625rem .875rem;font-size:.9375rem;background-color:var(--ic-surface-input);
  transition:border-color var(--ic-dur-2) var(--ic-ease-out),box-shadow var(--ic-dur-2) var(--ic-ease-out);
}
.form-control:hover,.form-select:hover{border-color:var(--ic-ink)}
.form-control:focus,.form-select:focus{border-color:var(--ic-focus);box-shadow:0 0 0 3px var(--ic-accent-ring)}
.form-control::placeholder{color:var(--ic-ink-3)}
.form-control-lg,.form-select-lg{min-height:var(--ic-control-h-lg);padding:.8125rem 1rem;font-size:1rem;border-radius:0}
.form-control-sm,.form-select-sm{min-height:var(--ic-control-h-sm);padding:.4375rem 2rem .4375rem .75rem;font-size:.875rem;border-radius:0}
.form-control-sm{padding-right:.75rem}
.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%230a1e2b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.75' d='m3 6 5 5 5-5'/%3e%3c/svg%3e");background-size:14px 14px}
.form-select.w-auto{padding-right:2.25rem}
.form-label{font-size:.84375rem;font-weight:var(--ic-fw-semibold);color:var(--ic-ink);margin-bottom:.4375rem}
.form-text{font-size:var(--ic-fs-small);color:var(--ic-ink-3)}
.form-check-input{border-color:var(--ic-rule-strong);width:1.125em;height:1.125em;margin-top:.2em;border-radius:0!important;background-color:var(--ic-surface-input)}
.form-check-input:checked{background-color:var(--ic-brand-ink);border-color:var(--ic-brand-ink)}
.form-check-input:focus{border-color:var(--ic-focus);box-shadow:0 0 0 3px var(--ic-accent-ring)}
.form-check.border{border-color:var(--ic-rule-strong)!important;border-radius:0!important;transition:background-color var(--ic-dur-2) var(--ic-ease-out)}
.form-check.border:hover{background:var(--ic-surface-tint)}
.form-check.border:has(:checked){border-color:var(--ic-brand-ink)!important;background:var(--ic-surface-tint)}
.form-icon-start{padding-left:calc(2.375rem + 1px)}
.form-icon-start.form-control-lg{padding-left:calc(2.625rem + 1px)}
.form-icon-start.form-control-sm{padding-left:calc(1.75rem + 1px)}
/* filter toolbar: selects wrap as a tidy row */
.ic-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ic-sp-2)}
.ic-filters .form-select-sm{min-height:var(--ic-control-h-sm);font-weight:var(--ic-fw-medium);color:var(--ic-ink)}
/* alerts: tint ground + a 4px rail on the left, Ink text (brand: Pale Lime only behind Ink text) */
.alert{--bs-alert-border-radius:0;--bs-alert-padding-y:.75rem;--bs-alert-padding-x:1rem;border:0;border-left:var(--ic-accent-rule) solid var(--ic-ink);color:var(--ic-ink)}
.alert-success{background:var(--ic-success-tint);color:var(--ic-brand-ink);border-left-color:var(--ic-success)}
.alert-danger{background:var(--ic-danger-tint);color:var(--ic-danger);border-left-color:var(--ic-danger)}
.alert-warning{background:var(--ic-warning-tint);color:var(--ic-brand-ink);border-left-color:var(--ic-warning)}
.alert-info,.alert-primary{background:var(--ic-info-tint);color:var(--ic-brand-ink);border-left-color:var(--ic-info)}
.alert-secondary,.alert-light{background:var(--ic-surface-tint);color:var(--ic-ink-2);border-left-color:var(--ic-ink-3)}
/* role picker buttons on prijava */
button.card{cursor:pointer;color:var(--ic-ink-2)}
button.card .h6{color:var(--ic-ink)}

/* ── 9. lists ────────────────────────────────────────────────────────── */
/* company result row */
.listing-card{overflow:hidden}
.listing-card > .row{--bs-gutter-x:0;flex-wrap:nowrap}
.listing-card .listing-media{
  position:relative;flex:0 0 auto;width:112px;min-height:0;background:var(--ic-surface-tint);
  display:grid;place-items:center;border-right:1px solid var(--ic-rule);
}
.listing-card .listing-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.listing-card > .row > .col-sm-9{flex:1 1 auto;width:auto;min-width:0}
.listing-tile{display:grid;place-items:center;width:100%;height:100%;min-height:120px;background:transparent}
.listing-tile-logo{width:var(--ic-logo);height:var(--ic-logo);object-fit:contain;background:var(--ic-brand-white);padding:4px;box-shadow:inset 0 0 0 1px var(--ic-rule)}
.listing-tile-mono{
  width:52px;height:52px;background:var(--ic-brand-bay);color:var(--ic-brand-karst);
  font-family:var(--ic-font-display);font-weight:var(--ic-fw-medium);font-size:1.25rem;display:grid;place-items:center;letter-spacing:.04em;
}
.listing-card .listing-media .listing-tile img{position:static;width:var(--ic-logo);height:var(--ic-logo)}
/* [HS10] kartica AIM učesnika (assets/aim.js AIM.card) — ista na /participants i /my-profile */
.listing-card .listing-media .listing-tile img.aim-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;box-shadow:inset 0 0 0 1px var(--ic-rule)}
.aim-session{font-size:.8125rem;color:var(--ic-brand-slate,#4b5563)}
.aim-bio{font-size:.875rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.aim-bio.open{display:block;-webkit-line-clamp:unset}
.aim-more{font-size:.8125rem;padding:0;border:0;background:none;color:var(--ic-brand-adriatic);text-decoration:underline}
/* card titles are dense information: Inter (brand §04), not the display face */
.listing-card h3,.listing-card .h5{font-family:var(--ic-font-body);font-size:1.125rem;font-weight:var(--ic-fw-semibold);letter-spacing:0}
.listing-card h3 a{color:var(--ic-ink)}
.listing-card p{font-size:var(--ic-fs-body)}
.listing-card .btn-sm{min-height:var(--ic-control-h-sm)}
@media (max-width:575.98px){
  .listing-card > .row{flex-wrap:wrap}
  .listing-card .listing-media{width:100%;min-height:96px;border-right:0;border-bottom:1px solid var(--ic-rule)}
  .listing-tile{min-height:96px}
}
/* sector card: equal media, tinted overlay, tile, clear link affordance */
.sector-card{position:relative}
.sector-card > .position-relative{height:auto!important;aspect-ratio:16/10}
.sector-card > .position-relative > span[style]{background:var(--ic-scrim)!important}
.sector-card img{filter:saturate(var(--ic-photo-sat))}
.sector-card .cat-mark{border:0!important;background:var(--ic-brand-karst);color:var(--ic-ink);box-shadow:none}
.sector-card .cat-mark[data-sector]{background:var(--ic-brand-karst);color:var(--ic-brand-ink)}
.sector-card .card-body{padding:var(--ic-sp-5)}
.sector-card h3{font-family:var(--ic-font-body);font-size:1.0625rem;font-weight:var(--ic-fw-semibold)}
@media (min-width:992px){.sector-card h3{min-height:2.5em}}
.sector-card h3 a{color:var(--ic-ink)}
.sector-card .text-primary-emphasis{color:var(--ic-ink)!important;display:inline-flex;align-items:center;gap:.375rem}
.sector-card .fi-arrow-right{display:inline-flex;transition:transform var(--ic-dur-2) var(--ic-ease-out);color:var(--ic-accent-text)}
.sector-card:hover .fi-arrow-right{transform:translateX(4px)}
.sector-card .hover-effect-target{transition:transform var(--ic-dur-3) var(--ic-ease-out),filter var(--ic-dur-3) var(--ic-ease-out)}
.sector-card:hover .hover-effect-target,.sector-card:focus-within .hover-effect-target{transform:scale(1.03)}
/* opportunity card: Lime rail + light figure */
.opp-card{position:relative;border:0!important;box-shadow:var(--ic-elev-1)!important;overflow:hidden}
.opp-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--ic-accent-rule);background:var(--ic-bar);z-index:2}
.opp-card .fw-semibold.text-dark-emphasis{font-family:var(--ic-font-display);font-weight:var(--ic-fw-light);font-size:1.5rem;font-variant-numeric:tabular-nums;letter-spacing:0}
.opp-card dl dd.fw-semibold{font-family:var(--ic-font-display);font-weight:var(--ic-fw-medium);font-size:1.0625rem}
.opp-card .text-primary-emphasis{color:var(--ic-ink)!important}
.opp-card .fi-arrow-right{color:var(--ic-accent-text)}
.opp-card > .btn{align-self:flex-start}
#cta.opp-card .h3{font-family:var(--ic-font-display);font-weight:var(--ic-fw-light);font-size:2rem;font-variant-numeric:tabular-nums;letter-spacing:0}
/* facts list */
dl.row.g-0 dt{font-weight:var(--ic-fw-regular);color:var(--ic-ink-3);padding-block:.5rem!important;border-bottom:1px solid var(--ic-rule)}
dl.row.g-0 dd{color:var(--ic-ink);font-weight:var(--ic-fw-semibold);padding-block:.5rem!important;border-bottom:1px solid var(--ic-rule);font-variant-numeric:tabular-nums}
dl.row.g-0 dt:nth-last-of-type(1),dl.row.g-0 dd:last-of-type{border-bottom:0}
/* indicator tiles on sector page */
#indicators .card .h2{font-family:var(--ic-font-display);font-weight:var(--ic-fw-light);font-size:2.25rem;letter-spacing:0;font-variant-numeric:tabular-nums}
/* AIM card on events */
.aim-card{border-top:0!important}
.aim-card .h2{font-family:var(--ic-font-display)}
/* natpis preko fotografije: uvijek bijel, sa tamnim scrim-om — .h2 inače vuče boju teksta iz sistema */
.aim-card .text-white,.aim-card .text-white .h2,.aim-card .text-white div{color:var(--ic-brand-karst)!important}
.aim-card .ic-photo-scrim{background:var(--ic-scrim-text)!important}
.aim-card img{filter:saturate(var(--ic-photo-sat))}
/* agenda (pass 2, Porto P9): day timeline. <992: segmented day control + one day;
   >=992: the two conference days side by side under a fading spine, the arrival day as a strip above. */
.agenda-days{gap:var(--ic-sp-2)}
.agenda-days .nav-link{
  border:1px solid var(--ic-rule-strong);background:var(--ic-surface);color:var(--ic-ink);text-align:left;
  min-width:150px;padding:.625rem .875rem;
  transition:background-color var(--ic-dur-hover) var(--ic-ease-out),border-color var(--ic-dur-hover) var(--ic-ease-out),color var(--ic-dur-hover) var(--ic-ease-out);
}
.agenda-days .nav-link:hover{background:var(--ic-surface-tint)}
.agenda-days .nav-link.active{background:var(--ic-brand-ink);border-color:var(--ic-brand-ink);color:var(--ic-brand-karst)}
.agenda-days .nav-link .fw-semibold{color:inherit}
.agenda-grid{display:grid;gap:var(--ic-sp-8)}
.agenda-day{display:none;min-width:0}
.agenda-day.is-active{display:block}
.agenda-dayhead{display:none;align-items:center;gap:var(--ic-sp-4);margin-bottom:var(--ic-sp-5)}
.agenda-daynum{
  width:48px;height:48px;background:var(--ic-brand-bay);color:var(--ic-brand-karst);display:grid;place-items:center;flex:none;
  font-family:var(--ic-font-display);font-weight:var(--ic-fw-light);font-size:1.5rem;font-variant-numeric:tabular-nums;letter-spacing:0;
}
.agenda-daylabel{font-weight:var(--ic-fw-semibold);color:var(--ic-ink);font-size:.9375rem;line-height:1.3}
.agenda-daytitle{font-size:var(--ic-fs-small);color:var(--ic-ink-3);line-height:1.35}
.agenda-list{--ic-agenda-time:84px;position:relative;list-style:none;margin:0;padding:0}
.agenda-list::before{
  content:"";position:absolute;top:8px;bottom:8px;left:calc(var(--ic-agenda-time) + var(--ic-sp-3) + 11px);width:1px;
  background:var(--ic-rule-strong);
}
.agenda-row{
  --ic-kind:var(--ic-ink-3);
  display:grid;grid-template-columns:var(--ic-agenda-time) 24px minmax(0,1fr);column-gap:var(--ic-sp-3);
  padding:0 0 var(--ic-sp-4);position:relative;
}
.agenda-row[data-kind="plenary"]{--ic-kind:var(--ic-brand-ink)}
.agenda-row[data-kind="networking"]{--ic-kind:var(--ic-brand-deep-lime)}
.agenda-row[data-kind="social"]{--ic-kind:var(--ic-brand-deep-adriatic)}
.agenda-row[data-kind="closed"]{--ic-kind:var(--ic-danger)}
.agenda-row-light{--ic-kind:var(--ic-rule-strong)}
.agenda-time{text-align:right;font-size:.8125rem;font-weight:var(--ic-fw-semibold);color:var(--ic-ink);font-variant-numeric:tabular-nums;padding-top:14px;line-height:1.3}
.agenda-dot{position:relative;padding-top:18px}
.agenda-dot::before{
  content:"";display:block;width:var(--ic-timeline-dot);height:var(--ic-timeline-dot);border-radius:50%;margin:0 auto;position:relative;z-index:1;
  background:var(--ic-kind);box-shadow:0 0 0 3px var(--ic-bg),0 0 0 5px var(--ic-kind);
}
.agenda-main{background:var(--ic-surface-tint);padding:var(--ic-sp-4);min-width:0}
/* text inside the tint box: ink-2 (ink-3 on --ic-surface-tint is 4.43:1, audit A3 rule) */
.agenda-main .text-body-secondary,.agenda-main .ic-label{color:var(--ic-ink-2)!important}
.agenda-row-light .agenda-main{background:transparent;padding:var(--ic-sp-3) 0 0}
.agenda-row-light h3{color:var(--ic-ink-2);font-weight:var(--ic-fw-medium)}
.agenda-row-light .agenda-time{color:var(--ic-ink-2)}
.agenda-row h3{font-family:var(--ic-font-body);font-size:.9375rem;font-weight:var(--ic-fw-semibold)}
.agenda-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.agenda-more{text-decoration:none;font-weight:var(--ic-fw-semibold);color:var(--ic-ink-2);min-height:0}
.agenda-more .fi-chevron-right{display:inline-flex;transition:transform var(--ic-dur-hover) var(--ic-ease-out)}
.agenda-more.open .fi-chevron-right{transform:rotate(90deg)}
.ic-quote{
  font-family:var(--ic-font-display);font-size:1.125rem;font-weight:var(--ic-fw-medium);color:var(--ic-ink);font-style:normal;
  border-left:var(--ic-accent-rule) solid var(--ic-bar);padding-left:var(--ic-sp-4);margin:0 0 var(--ic-sp-5);line-height:1.4;
}
@media (min-width:992px){
  ul.agenda-days{display:none}
  .agenda-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--ic-sp-9);row-gap:var(--ic-sp-8)}
  .agenda-day{display:block}
  .agenda-dayhead{display:flex}
  .agenda-day-wide{grid-column:1 / -1}
  .agenda-day-wide .agenda-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--ic-sp-4) var(--ic-sp-9)}
  .agenda-day-wide .agenda-list::before{display:none}
  .agenda-day-wide .agenda-row{grid-template-columns:auto minmax(0,1fr);padding-bottom:0}
  .agenda-day-wide .agenda-dot{display:none}
  .agenda-day-wide .agenda-time{text-align:left;padding-top:16px}
  .agenda-day-wide .agenda-row-light .agenda-time{padding-top:12px}
}
@media (max-width:575.98px){
  .agenda-list{--ic-agenda-time:60px}
  .agenda-time{font-size:.75rem}
  .agenda-main{padding:var(--ic-sp-3)}
  .agenda-days{flex-wrap:nowrap;overflow-x:auto;padding-bottom:var(--ic-sp-2)!important;scrollbar-width:none}
  .agenda-days .nav-link{min-width:0;flex:1 0 auto}
}
/* accordion -> minimal FAQ (pass 2, Porto P18): hairline rows, "+" that turns into "x" */
.accordion{
  --bs-accordion-border-width:0;--bs-accordion-bg:transparent;--bs-accordion-active-bg:transparent;--bs-accordion-active-color:var(--ic-ink);
  --bs-accordion-btn-focus-box-shadow:none;--bs-accordion-btn-font-weight:var(--ic-fw-semibold);--bs-accordion-btn-color:var(--ic-ink);
  --bs-accordion-btn-padding-y:1.125rem;--bs-accordion-btn-padding-x:0;--bs-accordion-body-padding-x:0;--bs-accordion-body-padding-y:0;
  --bs-accordion-btn-icon-width:1rem;--bs-accordion-btn-icon-transform:rotate(45deg);--bs-accordion-btn-icon-transition:transform var(--ic-dur-dock) var(--ic-ease-out);
  --bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2352646d' stroke-linecap='round' stroke-width='1.75' d='M8 2.5v11M2.5 8h11'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2356741a' stroke-linecap='round' stroke-width='1.75' d='M8 2.5v11M2.5 8h11'/%3e%3c/svg%3e");
}
.accordion-item{box-shadow:none;border:0;border-bottom:1px solid var(--ic-rule);border-radius:0!important;background:transparent;margin-bottom:0!important;overflow:visible}
.accordion-item:first-of-type{border-top:1px solid var(--ic-rule)}
.accordion-button{font-family:var(--ic-font-body);font-size:1rem;background:transparent;padding-right:2.5rem;gap:var(--ic-sp-4);border-radius:0!important}
.accordion-button:hover{color:var(--ic-accent-text)}
.accordion-button:focus-visible{outline:2px solid var(--ic-focus);outline-offset:-2px}
.accordion-button:not(.collapsed){box-shadow:none}
.accordion-body{padding:0 2.5rem 1.125rem 0;color:var(--ic-ink-2)}
/* pagination */
.pagination{
  --bs-pagination-border-color:transparent;--bs-pagination-bg:transparent;--bs-pagination-border-radius:var(--ic-r-md);
  --bs-pagination-color:var(--ic-ink-2);--bs-pagination-hover-bg:var(--ic-surface-tint);--bs-pagination-hover-color:var(--ic-ink);--bs-pagination-hover-border-color:transparent;
  --bs-pagination-active-bg:var(--ic-brand-ink);--bs-pagination-active-border-color:var(--ic-brand-ink);--bs-pagination-active-color:var(--ic-brand-karst);
  --bs-pagination-padding-x:.875rem;--bs-pagination-padding-y:.5rem;--bs-pagination-focus-box-shadow:0 0 0 3px var(--ic-accent-ring);gap:.25rem;
}
.page-link{min-width:40px;text-align:center;font-weight:var(--ic-fw-medium)}
/* generic list rows inside panels */
.card ul.list-unstyled li.border-top{border-color:var(--ic-rule)!important}
.card ul.list-unstyled b{color:var(--ic-ink)}

/* ── 10. map ─────────────────────────────────────────────────────────── */
.map-shell{position:relative;height:min(70vh,620px);overflow:hidden;background:var(--ic-surface-tint);box-shadow:var(--ic-elev-1)}
.map-shell>div{height:100%;width:100%}
.leaflet-container{font-family:inherit;background:var(--ic-surface-tint)}
.map-pin-wrap{background:none;border:0}
.map-pin{
  display:grid;place-items:center;width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);
  background:var(--ic-brand-ink);color:var(--ic-brand-karst);border:2px solid var(--ic-brand-karst);font-size:.8125rem;font-weight:var(--ic-fw-semibold);
  transition:transform var(--ic-dur-2) var(--ic-ease-out);
}
.map-pin-l{display:block;transform:rotate(45deg);line-height:1}
.map-pin.is-raising{background:var(--ic-brand-lime);color:var(--ic-brand-ink)}
.map-pin-wrap:hover .map-pin{transform:rotate(-45deg) scale(1.12)}
.leaflet-popup-content-wrapper{border-radius:0;box-shadow:var(--ic-elev-3);padding:0;background:var(--ic-brand-karst)}
.leaflet-popup-content{margin:0;width:auto!important}
.map-pop{padding:var(--ic-sp-4) var(--ic-sp-5)}
.map-pop h3{font-size:1rem;font-weight:var(--ic-fw-semibold);margin:.5rem 0 0}
.map-pop h3 a{color:var(--ic-ink)}
.map-pop h3 a:hover{color:var(--ic-accent-text)}
.map-pop p{color:var(--ic-ink-3);font-size:var(--ic-fs-small);line-height:1.6;margin:.375rem 0 0}
.map-pop-foot{display:flex;align-items:center;justify-content:space-between;gap:.625rem;margin-top:.75rem;font-size:var(--ic-fs-small);color:var(--ic-ink-3)}

/* ── 11. remaining Bootstrap components ──────────────────────────────── */
.list-group{--bs-list-group-border-color:var(--ic-rule);--bs-list-group-border-radius:var(--ic-r-md)}
.dropdown-menu{--bs-dropdown-border-color:var(--ic-rule);--bs-dropdown-border-radius:var(--ic-r-md);--bs-dropdown-box-shadow:var(--ic-elev-3);
  --bs-dropdown-link-hover-bg:var(--ic-surface-tint);--bs-dropdown-padding-y:.5rem;--bs-dropdown-item-padding-y:.5rem;--bs-dropdown-item-padding-x:.875rem;
  --bs-dropdown-link-active-bg:var(--ic-surface-tint-2);--bs-dropdown-link-active-color:var(--ic-ink);z-index:var(--ic-z-dropdown)}
.nav-pills{--bs-nav-pills-border-radius:0;--bs-nav-pills-link-active-bg:var(--ic-brand-ink);--bs-nav-pills-link-active-color:var(--ic-brand-karst)}
.nav-link{--bs-nav-link-color:var(--ic-ink-2);--bs-nav-link-hover-color:var(--ic-ink);--bs-nav-link-font-weight:var(--ic-fw-medium)}
.offcanvas{--bs-offcanvas-border-color:var(--ic-rule);--bs-offcanvas-bg:var(--ic-surface);z-index:var(--ic-z-offcanvas)}
.table{--bs-table-border-color:var(--ic-rule)}
.progress{--bs-progress-bg:var(--ic-surface-tint);--bs-progress-border-radius:0;--bs-progress-height:.5rem;--bs-progress-bar-bg:var(--ic-accent-text)}
.breadcrumb{--bs-breadcrumb-divider:"/";margin-bottom:var(--ic-sp-4)}
.ratio{border-radius:0}
.skeleton{background:linear-gradient(90deg,var(--ic-surface-tint),var(--ic-surface-tint-2),var(--ic-surface-tint));background-size:200% 100%;animation:ic-sk 1.4s linear infinite}
.hero-band .skeleton{background:linear-gradient(90deg,rgba(169,183,188,.08),rgba(169,183,188,.16),rgba(169,183,188,.08));background-size:200% 100%}
@keyframes ic-sk{0%{background-position:200% 0}100%{background-position:-200% 0}}
.divider{height:1px;background:var(--ic-rule);border:0;opacity:1}
hr.vr{width:1px;min-height:1em;background:var(--ic-rule);border:0;opacity:1;align-self:stretch}

/* ── 12. bridges for ui.js toast + modal (they use their own class names) ── */
.toasts{position:fixed;right:var(--ic-sp-5);bottom:var(--ic-sp-5);z-index:var(--ic-z-toast);display:flex;flex-direction:column;gap:var(--ic-sp-2);max-width:min(92vw,380px)}
.toasts .toast{
  display:block;opacity:1;width:auto;max-width:none;background:var(--ic-brand-ink);color:var(--ic-brand-karst);border:0;border-left:var(--ic-accent-rule) solid var(--ic-brand-lime);
  padding:.75rem 1rem;font-size:var(--ic-fs-small);font-weight:var(--ic-fw-medium);box-shadow:var(--ic-elev-3);
  animation:ic-rise var(--ic-dur-3) var(--ic-ease-out) both;
}
.toasts .toast.ok{border-left-color:var(--ic-brand-lime)}
.toasts .toast.bad{background:var(--ic-danger);color:var(--ic-brand-white);border-left-color:var(--ic-brand-karst)}
.modal:has(> .box){display:grid;place-items:center;background:rgba(10,30,43,.7);padding:var(--ic-sp-5);z-index:var(--ic-z-modal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.modal > .box{
  width:min(100%,520px);background:var(--ic-surface);box-shadow:var(--ic-elev-3);color:var(--ic-ink-2);
  animation:ic-pop var(--ic-dur-3) var(--ic-ease-out) both;
}
@keyframes ic-pop{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.modal > .box .hd{font-family:var(--ic-font-display);font-weight:var(--ic-fw-bold);font-size:1.125rem;color:var(--ic-ink);padding:var(--ic-sp-5) var(--ic-sp-6) 0}
.modal > .box .bd{padding:var(--ic-sp-4) var(--ic-sp-6)}
.modal > .box .bd .field{display:block;margin-bottom:var(--ic-sp-4)}
.modal > .box .bd .field > label{display:block;font-size:.84375rem;font-weight:var(--ic-fw-semibold);color:var(--ic-ink);margin-bottom:.375rem}
.modal > .box .bd input,.modal > .box .bd textarea,.modal > .box .bd select{
  width:100%;min-height:var(--ic-control-h);border:1px solid var(--ic-rule-strong);padding:.625rem .875rem;font:inherit;color:var(--ic-ink);background:var(--ic-surface-input);
}
.modal > .box .bd textarea{min-height:120px;resize:vertical}
.modal > .box .bd input:focus,.modal > .box .bd textarea:focus,.modal > .box .bd select:focus{outline:0;border-color:var(--ic-focus);box-shadow:0 0 0 3px var(--ic-accent-ring)}
.modal > .box .bd .mut{color:var(--ic-ink-3);font-size:var(--ic-fs-small)}
.modal > .box .ft{display:flex;justify-content:flex-end;gap:var(--ic-sp-2);padding:0 var(--ic-sp-6) var(--ic-sp-5)}
.modal > .box .ft .btn{background:transparent;border:1px solid var(--ic-ink);color:var(--ic-ink);min-height:var(--ic-control-h-sm);padding:.4375rem .875rem;font-size:.71875rem}
.modal > .box .ft .btn--acc{background:var(--ic-brand-ink);border-color:var(--ic-brand-ink);color:var(--ic-brand-karst)}

/* ── 13. utilities & motion ──────────────────────────────────────────── */
.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tabular-nums{font-variant-numeric:tabular-nums}
.ic-figure{font-family:var(--ic-font-display);font-weight:var(--ic-fw-light);letter-spacing:0;font-variant-numeric:tabular-nums;color:var(--ic-ink)}
.ic-measure{max-width:var(--ic-measure)}
.contact-card{background:var(--ic-bg-alt)!important;box-shadow:none!important}
.rounded-4,.rounded-3,.rounded-2,.rounded,.rounded-pill,.rounded-circle{border-radius:0!important}
.hover-effect-underline:hover{text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:.2em}
i[class*="fi-"]{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-style:normal}
i[class*="fi-"] .ic-icon{width:1em;height:1em;display:block}
.ic-icon{display:inline-block;vertical-align:-.16em;flex:none}
/* 404 figure */
.ic-404{font-family:var(--ic-font-display);font-size:clamp(4rem,12vw,7rem);font-weight:var(--ic-fw-light);letter-spacing:0;line-height:1;color:var(--ic-accent-text)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .hero-band .container > *{animation:none}
  .card-hover::after,.listing-card::after,.sector-card::after,.opp-card.card-hover::after,button.card::after{transition:none}
  .sector-card:hover .hover-effect-target{transform:none}
  .ic-header,.ic-header > .container,.ic-brand{transition:none}
}

/* ── 14. responsive ──────────────────────────────────────────────────── */
@media (max-width:767.98px){
  :root{--ic-section:var(--ic-section-sm);--ic-band-sm:40px;--ic-band:56px;--ic-band-lg:72px;--ic-band-lg-bottom:40px}
  main > section.hero-band.py-5{padding-top:var(--ic-sp-8)!important;padding-bottom:var(--ic-sp-8)!important}
  .ic-cta-band{padding:var(--ic-sp-7) var(--ic-sp-5)}
  .card .p-lg-5,.card.p-lg-5{padding:var(--ic-sp-5)!important}
  .hero-band form.bg-white .btn-lg{width:100%}
  .display-4{font-size:clamp(2.125rem,9vw,2.75rem)}
  .ic-hero-net svg{right:-30%;top:-4%;width:120vw;opacity:.35}
}
@media (max-width:575.98px){
  .ic-header > .container{gap:var(--ic-sp-2);padding-inline:var(--ic-sp-4)}
  .ic-brand .ic-logo{height:var(--ic-logo-h-compact)}
  .ic-burger{width:40px;height:40px;margin-left:-8px}
  .ic-header-actions .btn-sm{--bs-btn-padding-x:.75rem;font-size:.6875rem;letter-spacing:.06em;min-height:36px}
  .ic-lang button{min-width:30px;padding-inline:.375rem}
  /* long labels (FR/SR) may wrap inside a button on a phone rather than push the page */
  .btn:not(.btn-icon):not(.ic-header-actions .btn){white-space:normal;text-align:center}
}
@media (max-width:399.98px){
  .ic-header > .container{padding-inline:var(--ic-sp-3);gap:var(--ic-sp-1)}
  .ic-brand .ic-logo{height:var(--ic-logo-h-xs)}
  .ic-burger{width:36px;margin-left:-6px}
  .ic-header-actions .btn-sm{--bs-btn-padding-x:.5625rem;font-size:.625rem;letter-spacing:.04em}
}

/* ── 15. beautify audit (2026-09-23, spec 2026-09-23-beautify-audit.md) ── */
/* A1 text on dark bands never inherits ink: <b>, .fw-*, .h1–.h6 and headings inside a
   hero, a CTA band, a dark scope or any .text-white container stay on the band's colour.
   (Events .h2 and the conference date/venue <b> were the two visible cases.) */
.hero-band :where(b,strong,.fw-semibold,.fw-bold,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6),
.ic-cta-band :where(b,strong,.fw-semibold,.fw-bold,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6),
.ic-dark :where(b,strong,.fw-semibold,.fw-bold),
[data-bs-theme="dark"] :where(b,strong,.fw-semibold,.fw-bold),
.text-white :where(b,strong,.fw-semibold,.fw-bold,div,span,h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6){color:inherit}
.hero-band .text-white :where(b,strong,.fw-semibold,.fw-bold,div,span,h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6){color:var(--ic-brand-karst)}
.hero-band .text-white,.ic-cta-band .text-white,.ic-dark .text-white,[data-bs-theme="dark"] .text-white{color:var(--ic-brand-karst)!important}
.hero-band .text-white:is(.opacity-75,.opacity-50) :where(b,strong,span,div){color:inherit}
/* the white search panel inside a hero keeps ink */
.hero-band form.bg-white :where(b,strong,.fw-semibold,.fw-bold,h3,h4,h5,h6,.h3,.h4,.h5,.h6){color:var(--ic-ink)}
/* B4 short pages (e-mail confirmation, 404): footer sits at the bottom, no white band under it */
body{min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1 0 auto}
/* B2 an empty-state .col-12 inside a row-cols grid spans the full row (was half-width, off-centre) */
.row[class*="row-cols"]>.col-12{flex:0 0 100%;width:100%;max-width:100%}
/* B5 icon-only .text-primary markers (Terms lists, About expectations, conference speakers):
   amber is the action colour, list markers are quiet ink */
i[class*="fi-"].text-primary,span.text-primary[data-icon],span.text-primary:has(>svg:only-child){color:var(--ic-ink-3)!important}
span.text-primary[data-icon]{display:grid;place-items:center;width:40px;height:40px;background:var(--ic-surface-tint);color:var(--ic-ink)!important;margin-top:0!important}
span.text-primary[data-icon] svg{width:var(--ic-icon);height:var(--ic-icon)}
/* C sector-page indicator tiles stack on phones (three 2-col tiles wrapped word by word) */
@media (max-width:575.98px){#indicators>.col{flex:0 0 100%;width:100%}}

/* ── 16. design pass 2 (2026-09-23, spec 2026-09-23-design-pass-2.md) ── */
/* micro label: the only tracked-uppercase text on the site (footer headings, agenda "Speakers",
   procedural labels). Replaces every inline letter-spacing style. */
.ic-label{font-family:var(--ic-font-display);font-size:var(--ic-fs-label);font-weight:var(--ic-fw-semibold);letter-spacing:var(--ic-track-label);text-transform:uppercase;color:var(--ic-ink-3)}
/* plain column: no box, a hairline on top (who-it-is-for, contact shortcuts, partner row, pillars) */
.ic-col-rule{border-top:1px solid var(--ic-rule);padding-top:var(--ic-sp-5)}
.ic-col-rule .step-num,.ic-col-rule .cat-mark{margin-bottom:var(--ic-sp-4)}
/* highlight panel: tint + ink rail (conference "for companies", opportunities company CTA) */
.ic-highlight{
  background:var(--ic-bg-alt)!important;box-shadow:none!important;border:0!important;
  border-left:var(--ic-accent-rule) solid var(--ic-bar)!important;
}
/* stat tile row: figure + unit + label, hairline-divided (sector indicators) */
.ic-stat{padding:var(--ic-sp-2) 0 var(--ic-sp-2) var(--ic-sp-5);border-left:1px solid var(--ic-rule);height:100%}
/* figures (brand §05): large Montserrat Light numerals with a Lime unit (Deep Lime on light) */
.ic-stat-fig{
  font-family:var(--ic-font-display);font-size:2.5rem;font-weight:var(--ic-fw-light);letter-spacing:0;line-height:1;
  color:var(--ic-ink);font-variant-numeric:tabular-nums;
}
.ic-stat-fig small{font-family:var(--ic-font-display);font-size:.45em;font-weight:var(--ic-fw-semibold);color:var(--ic-accent-text);letter-spacing:0;margin-left:.15em}
.ic-stat-label{font-size:var(--ic-fs-small);color:var(--ic-ink-2);margin-top:.375rem;line-height:1.45}
#indicators > .col:first-child .ic-stat{border-left:0;padding-left:0}
@media (max-width:991.98px){#indicators > .col:nth-child(odd) .ic-stat{border-left:0;padding-left:0}}
@media (max-width:575.98px){
  .ic-stat{border-left:0;padding-left:0;border-top:1px solid var(--ic-rule);padding-top:var(--ic-sp-4)}
  #indicators > .col:first-child .ic-stat{border-top:0;padding-top:0}
}
/* 3 + 2 sector grid (audit C12): five items, five cells; the second row spans wider */
@media (min-width:992px){
  .ic-grid-32{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--ic-sp-6);margin:0}
  .ic-grid-32 > .col{grid-column:span 2;width:auto;flex:none;padding:0;margin:0;max-width:none}
  .ic-grid-32 > .col:nth-child(n+4){grid-column:span 3}
  .ic-grid-32 > .col:nth-child(n+4) .sector-card > .position-relative{aspect-ratio:21/9}
}
/* steps across (index "How", kako investor journey): circles only, no connector */
.steps-row .step-num{margin-top:-2px}
/* section head spacing (Porto P1 margins): kicker 12 -> title 20 -> lead */
.badge.bg-primary-subtle.text-primary-emphasis.mb-3{margin-bottom:var(--ic-sp-3)!important}
.ic-title.mb-0 + p,.ic-title + p{margin-top:var(--ic-sp-3)}

/* ── 17. sector profiles + flagship investment briefs (2026-09-29, spec 2026-09-29-sector-content.md) ──
   Content comes from assets/data/*.json via assets/sector-content.js. Everything reads the
   semantic tokens; the only new shapes are the numbered section head, the value-chain rail,
   the scenario columns and the priority tag. */
.sc-langnote{display:flex;gap:var(--ic-sp-2);align-items:flex-start;font-size:var(--ic-fs-small);color:var(--ic-ink-2);background:var(--ic-bg-alt);padding:var(--ic-sp-3) var(--ic-sp-4);margin:0 0 var(--ic-sp-6)}
.sc-langnote i{flex:none;margin-top:2px;color:var(--ic-accent-text)}
.sc-toc{position:sticky;top:calc(var(--ic-header-h-stuck) + var(--ic-sp-5))}
.sc-toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--ic-rule)}
.sc-toc li a{display:flex;gap:var(--ic-sp-3);padding:.4rem 0 .4rem var(--ic-sp-4);font-size:var(--ic-fs-small);color:var(--ic-ink-2);text-decoration:none;border-left:2px solid transparent;margin-left:-1px;line-height:1.35}
.sc-toc li a:hover,.sc-toc li a.is-active{color:var(--ic-ink);border-left-color:var(--ic-accent-text)}
.sc-toc-n{font-variant-numeric:tabular-nums;color:var(--ic-ink-3);font-weight:var(--ic-fw-semibold);flex:none;width:1.5rem}
.sc-section{padding:var(--ic-sp-7) 0;border-top:1px solid var(--ic-rule);scroll-margin-top:calc(var(--ic-header-h-stuck) + var(--ic-sp-4))}
.sc-body .sc-section:first-of-type{border-top:0;padding-top:0}
.sc-sechead{margin-bottom:var(--ic-sp-5)}
.sc-sechead-top{display:flex;gap:var(--ic-sp-3);align-items:baseline;margin-bottom:var(--ic-sp-2)}
.sc-num{font-family:var(--ic-font-display);font-size:1.75rem;font-weight:var(--ic-fw-light);color:var(--ic-accent-text);line-height:1;font-variant-numeric:tabular-nums}
.sc-sec-t{font-size:var(--ic-fs-h2);margin:0}
.sc-block{margin-top:var(--ic-sp-6)}
.sc-block:first-of-type,.sc-sechead + .sc-block{margin-top:0}
.sc-h{font-size:var(--ic-fs-h3);margin:0 0 var(--ic-sp-4)}
.sc-lead{font-size:var(--ic-fs-lead);color:var(--ic-ink);line-height:1.55;max-width:70ch;margin:0 0 var(--ic-sp-5)}
.sc-note{font-size:var(--ic-fs-small);color:var(--ic-ink-2);background:var(--ic-bg-alt);border-left:var(--ic-accent-rule) solid var(--ic-bar);padding:var(--ic-sp-3) var(--ic-sp-4);margin:var(--ic-sp-5) 0 0}
.sc-source{font-size:var(--ic-fs-micro);color:var(--ic-ink-3);margin:var(--ic-sp-4) 0 0;line-height:1.5}
.sc-stats .col:first-child .ic-stat{border-left:0;padding-left:0}
@media (max-width:991.98px){.sc-stats .col:nth-child(odd) .ic-stat{border-left:0;padding-left:0}}
@media (max-width:575.98px){.sc-stats .ic-stat{border-left:0;padding-left:0;border-top:1px solid var(--ic-rule);padding-top:var(--ic-sp-4)}.sc-stats .col:first-child .ic-stat{border-top:0;padding-top:0}}
.sc-stat .ic-stat-fig{font-size:clamp(1.25rem,1.4vw,1.75rem);overflow-wrap:normal;word-break:keep-all}
.sc-card{background:var(--ic-surface);box-shadow:var(--ic-elev-1);padding:var(--ic-sp-5);color:var(--ic-ink-2);text-decoration:none}
.sc-card-link{--ic-hover-bar:var(--ic-bar);color:var(--ic-ink-2)}
.sc-card-link:hover{color:var(--ic-ink-2)}
.sc-card-t{font-family:var(--ic-font-body);font-size:1.0625rem;font-weight:var(--ic-fw-semibold);color:var(--ic-ink);margin:0 0 var(--ic-sp-2)}
.sc-card-p{font-size:var(--ic-fs-small);margin:0;line-height:1.55}
.sc-ref{display:inline-block;margin-top:var(--ic-sp-3);font-size:var(--ic-fs-micro);color:var(--ic-ink-3)}
.sc-more{display:inline-flex;align-items:center;gap:.25rem;font-size:var(--ic-fs-small);font-weight:var(--ic-fw-semibold);color:var(--ic-accent-text);margin-top:var(--ic-sp-4)}
.sc-ul{margin:0;padding-left:1.1rem;font-size:var(--ic-fs-small);line-height:1.55;color:var(--ic-ink-2)}
.sc-ul li{margin-top:.3rem}
.sc-ul li::marker{color:var(--ic-accent-text)}
.sc-col-t{font-size:.9375rem;font-weight:var(--ic-fw-semibold);color:var(--ic-ink);margin:0 0 var(--ic-sp-3)}
/* value chain rail */
.sc-chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--ic-sp-3);counter-reset:chain}
.sc-chain li{position:relative;background:var(--ic-bg-alt);padding:var(--ic-sp-4);display:flex;flex-direction:column;gap:.25rem}
.sc-chain li:not(:last-child)::after{content:"›";position:absolute;right:-.7rem;top:calc(50% - .75rem);font-size:1.5rem;line-height:1;color:var(--ic-ink-3);z-index:1}
.sc-chain-t{font-weight:var(--ic-fw-semibold);color:var(--ic-ink);font-size:.9375rem}
.sc-chain-p{font-size:var(--ic-fs-small);color:var(--ic-ink-2);line-height:1.45}
.sc-chain-foot{font-size:var(--ic-fs-small);color:var(--ic-ink-2);margin:var(--ic-sp-4) 0 0}
@media (max-width:767.98px){.sc-chain{grid-template-columns:1fr}.sc-chain li:not(:last-child)::after{content:"˅";right:auto;left:var(--ic-sp-4);top:auto;bottom:-1.1rem}}
/* pathway table */
.sc-table{--bs-table-bg:transparent;font-size:var(--ic-fs-small);margin:0}
.sc-table th{font-size:var(--ic-fs-micro);letter-spacing:var(--ic-track-label);text-transform:uppercase;color:var(--ic-ink-3);font-weight:var(--ic-fw-semibold);border-bottom:1px solid var(--ic-rule-strong);padding:.5rem .75rem .5rem 0}
.sc-table td{padding:.75rem .75rem .75rem 0;border-bottom:1px solid var(--ic-rule);color:var(--ic-ink-2);vertical-align:top}
.sc-table td:nth-child(2){font-weight:var(--ic-fw-semibold);color:var(--ic-ink);white-space:nowrap}
.sc-td-n{font-family:var(--ic-font-display);font-weight:var(--ic-fw-medium);color:var(--ic-accent-text);width:2rem}
/* numbered steps & stakeholders */
.sc-steps,.sc-stake{list-style:none;margin:0;padding:0;display:grid;gap:var(--ic-sp-4)}
.sc-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.sc-stake{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.sc-steps li,.sc-stake li{display:flex;gap:var(--ic-sp-3);align-items:flex-start}
.sc-steps b,.sc-stake b{display:block;color:var(--ic-ink);font-size:.9375rem;margin-bottom:.2rem}
.sc-steps p,.sc-stake p{margin:0;font-size:var(--ic-fs-small);color:var(--ic-ink-2);line-height:1.5}
.sc-steps .step-num,.sc-stake .step-num{flex:none}
.sc-steps-next{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.sc-also,.sc-contacts{margin-top:var(--ic-sp-5);padding-top:var(--ic-sp-4);border-top:1px solid var(--ic-rule)}
.sc-also-list{list-style:none;margin:var(--ic-sp-2) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.sc-also-list li{font-size:var(--ic-fs-small);border:1px solid var(--ic-rule);padding:.3rem .8rem;color:var(--ic-ink-2)}
.sc-also-list li a{color:var(--ic-link);font-weight:var(--ic-fw-semibold);text-decoration:none}
.sc-contacts .sc-ul{margin-top:var(--ic-sp-2)}
.sc-figs{margin-top:var(--ic-sp-3)}
/* briefs grid + card */
.sc-briefs{padding-top:var(--ic-sp-8)}
.sc-briefcard{--ic-hover-bar:var(--ic-bar)}
.sc-mini{display:flex;flex-direction:column;gap:.15rem;padding:var(--ic-sp-2) 0 var(--ic-sp-2) var(--ic-sp-3);border-left:1px solid var(--ic-rule);height:100%}
.sc-mini b{font-family:var(--ic-font-display);font-weight:var(--ic-fw-medium);font-size:1.0625rem;color:var(--ic-ink);letter-spacing:0;line-height:1.15}
.sc-mini span{font-size:var(--ic-fs-micro);color:var(--ic-ink-2);line-height:1.35}
/* brief detail */
.sc-panel{margin-top:var(--ic-sp-5)}
.sc-panel:first-of-type{margin-top:0}
.sc-langnote + .sc-panel{margin-top:0}
.sc-panel-t{margin:0 0 var(--ic-sp-4)}
.sc-glance dt{margin-bottom:.15rem}
.sc-glance dd{color:var(--ic-ink);font-weight:var(--ic-fw-medium);font-size:.9375rem}
.sc-gap{font-weight:var(--ic-fw-medium);color:var(--ic-ink);border-left:var(--ic-accent-rule) solid var(--ic-bar);padding-left:var(--ic-sp-4);margin:var(--ic-sp-4) 0 0}
.sc-track{background:var(--ic-bg-alt);padding:var(--ic-sp-5);display:flex;flex-direction:column}
.sc-track-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--ic-sp-3)}
.sc-track-head b{color:var(--ic-ink);font-family:var(--ic-font-display);font-weight:var(--ic-fw-medium);font-size:1.0625rem}
.sc-track-key{display:inline-grid;place-items:center;width:2rem;height:2rem;background:var(--ic-brand-bay);color:var(--ic-brand-karst);font-weight:var(--ic-fw-medium);font-size:.875rem}
.sc-track-rev{margin:auto 0 0;padding-top:var(--ic-sp-4);font-size:var(--ic-fs-small);color:var(--ic-ink-2)}
.sc-track-rev .ic-label{display:block;margin-bottom:.15rem}
.sc-scen{border:1px solid var(--ic-rule);padding:var(--ic-sp-5)}
.sc-scen.is-base{border-color:var(--ic-accent-text);box-shadow:0 0 0 1px var(--ic-accent-text) inset}
.sc-scen-t{font-size:var(--ic-fs-micro);letter-spacing:var(--ic-track-label);text-transform:uppercase;color:var(--ic-ink-3);font-weight:var(--ic-fw-semibold);margin:0 0 var(--ic-sp-3)}
.sc-scen-dl{margin:0;display:grid;gap:var(--ic-sp-3)}
.sc-scen-dl div{display:flex;flex-direction:column}
.sc-scen-dl dt{font-size:var(--ic-fs-micro);color:var(--ic-ink-2);font-weight:var(--ic-fw-medium);order:2}
.sc-scen-dl dd{margin:0;font-family:var(--ic-font-display);font-size:1.375rem;font-weight:var(--ic-fw-light);color:var(--ic-ink);letter-spacing:0;line-height:1.1}
.sc-scen-dl div:first-child dd{font-size:2rem;color:var(--ic-accent-text)}
.sc-timeline{--ic-agenda-time:72px}
.sc-timeline .agenda-row{padding-bottom:var(--ic-sp-3)}
.sc-timeline .agenda-main h3{font-weight:var(--ic-fw-medium);color:var(--ic-ink)}
.sc-policy{background:var(--ic-bg-alt);padding:var(--ic-sp-4) var(--ic-sp-5)}
.sc-policy b{display:block;color:var(--ic-ink);margin:.35rem 0 .2rem;font-size:.9375rem}
.sc-policy p{margin:0;font-size:var(--ic-fs-small);color:var(--ic-ink-2);line-height:1.5}
.sc-prio{font-size:var(--ic-fs-micro);letter-spacing:var(--ic-track-label);font-weight:var(--ic-fw-semibold);text-transform:uppercase;color:var(--ic-ink-3)}
.sc-policy[data-priority="CRITICAL"] .sc-prio{color:var(--ic-danger)}
.sc-policy[data-priority="HIGH"] .sc-prio{color:var(--ic-accent-text)}
.sc-risks{display:grid;gap:0}
.sc-risk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:var(--ic-sp-5);padding:var(--ic-sp-4) 0;border-top:1px solid var(--ic-rule)}
.sc-risk:first-child{border-top:0;padding-top:0}
.sc-risk .ic-label{display:block;margin-bottom:.2rem}
.sc-risk b{color:var(--ic-ink);font-size:.9375rem}
.sc-risk p{margin:0;font-size:var(--ic-fs-small);color:var(--ic-ink-2);line-height:1.5}
@media (max-width:575.98px){.sc-risk{grid-template-columns:1fr;gap:var(--ic-sp-3)}}
.sc-aside-cta{position:sticky;top:calc(var(--ic-header-h-stuck) + var(--ic-sp-4))}
.sc-mile div{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:var(--ic-sp-3);padding:.35rem 0;border-top:1px solid var(--ic-rule);font-size:var(--ic-fs-small)}
.sc-mile div:first-child{border-top:0;padding-top:0}
.sc-mile dt{color:var(--ic-ink);font-weight:var(--ic-fw-semibold);font-variant-numeric:tabular-nums}
.sc-mile dd{margin:0;color:var(--ic-ink-2)}
@media (max-width:991.98px){.sc-aside-cta{position:static}}

/* ── 18. brand devices (AIM 2026 Mini Brand Book §05) + logo lock-up ──────
   Hooks for page authors; CSS only. */
/* From → To: light "from", bold "to", Lime arrow (Deep Lime on light) */
.ic-fromto{font-family:var(--ic-font-display);font-weight:var(--ic-fw-light)}
.ic-fromto b,.ic-fromto strong{font-weight:var(--ic-fw-bold);color:inherit}
.ic-fromto .ic-arrow{color:var(--ic-accent-text);font-weight:var(--ic-fw-bold);margin:0 .25em}
/* stand-alone anchor rule */
.ic-rule{display:block;width:var(--ic-anchor-w);height:var(--ic-accent-rule);background:var(--ic-bar)}
/* figure: light numeral, Lime unit, Inter caption */
.ic-fig{display:grid;gap:4px}
.ic-fig b{font-family:var(--ic-font-display);font-weight:var(--ic-fw-light);font-size:var(--ic-fs-figure);line-height:.95;font-variant-numeric:tabular-nums;color:var(--ic-ink)}
.ic-fig b u{text-decoration:none;color:var(--ic-accent-text);font-size:.45em;font-weight:var(--ic-fw-semibold);margin-left:.15em}
.ic-fig span{font-size:.92rem;color:var(--ic-ink-3);max-width:22ch}
/* highlight: Pale Lime behind Ink text only, never next to Lime */
.ic-highlight-text{background:var(--ic-brand-pale-lime);color:var(--ic-brand-ink);padding:0 .2em}
/* the mark as a tone-on-tone watermark — at most once per layout */
.ic-watermark{position:relative;isolation:isolate;overflow:hidden}
.ic-watermark::before{
  content:"";position:absolute;right:-4%;top:50%;transform:translateY(-50%);width:min(42%,480px);aspect-ratio:1/1;pointer-events:none;z-index:-1;
  background:var(--ic-brand-bay);opacity:.9;
  -webkit-mask:url("/assets/img/mark.svg") center/contain no-repeat;mask:url("/assets/img/mark.svg") center/contain no-repeat;
}
.ic-bay.ic-watermark::before,.ic-cta-band.ic-watermark::before{background:var(--ic-brand-ink);opacity:.55}
.ic-watermark:not(.ic-dark):not(.hero-band):not(.ic-cta-band):not(.ic-bay)::before{background:var(--ic-brand-mist)}
/* photos always under an Ink overlay, saturation −20% */
.ic-photo{position:relative;isolation:isolate;overflow:hidden;background:var(--ic-dark-bg);color:var(--ic-brand-karst)}
.ic-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(var(--ic-photo-sat))}
.ic-photo-scrim{position:absolute;inset:0;background:var(--ic-scrim-text);pointer-events:none}
.ic-photo--band .ic-photo-scrim{background:var(--ic-scrim-band)}

/* Logo lock-up (Feedback II §1): "InvestConnect" is the master brand, the
   country line is clearly secondary — smaller, lighter, below. Markup (agent D):
     <a class="ic-logo-lockup ic-logo-lockup--on-dark" href="/">
       <img class="ic-logo" src="/assets/logo.svg" alt="InvestConnect">
       <span class="ic-logo-country">Montenegro</span>
     </a>
   Variants: --on-dark (Fog country line, bright logo) · --on-light (Slate, dark logo).
   Optional two-file logo: <img class="ic-logo ic-logo-on-dark"> + <img class="ic-logo ic-logo-on-light">
   inside the same lock-up — the variant class shows one and hides the other. */
.ic-logo-lockup{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px;line-height:1;text-decoration:none;white-space:nowrap;flex:none}
.ic-logo-lockup .ic-logo{display:block;height:var(--ic-logo-h);width:auto;transition:height var(--ic-dur-dock) var(--ic-ease-out)}
.ic-logo-country{
  font-family:var(--ic-font-display);font-weight:var(--ic-fw-medium);font-size:.5625rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ic-brand-fog);padding-left:1px;
}
.ic-logo-lockup--on-light .ic-logo-country{color:var(--ic-brand-slate)}
.ic-logo-lockup--on-dark .ic-logo-country{color:var(--ic-brand-fog)}
.ic-logo-on-light,.ic-logo-on-dark{display:none!important}
.ic-logo-lockup--on-light .ic-logo-on-light,.ic-logo-lockup--on-dark .ic-logo-on-dark{display:block!important}
.ic-header .ic-logo-lockup .ic-logo{height:var(--ic-logo-h)}
.ic-header.is-stuck .ic-logo-lockup .ic-logo{height:var(--ic-logo-h-stuck)}
.ic-header.is-stuck .ic-logo-country{font-size:.5rem}
.ic-footer .ic-logo-lockup .ic-logo{height:var(--ic-logo-h-footer)}
.ic-footer .ic-logo-country{font-size:.625rem}
@media (max-width:575.98px){.ic-header .ic-logo-lockup .ic-logo{height:var(--ic-logo-h-compact)}.ic-logo-country{font-size:.5rem;letter-spacing:.2em}}

/* ── [I] tap targets (QA §12, 390 px): dodirne mete bar 40×40 na telefonu / touch uređaju.
   Samo ovdje — desktop izgled ostaje. Širina teksta nije dirana, samo min-visina/širina. ── */
@media (pointer:coarse),(max-width:575.98px){
  .ic-burger{width:40px;min-width:40px;height:40px;min-height:40px}
  .ic-brand{min-height:40px;align-items:center}
  .btn-sm,.ic-header-actions .btn-sm,.listing-card .btn-sm{min-height:40px}
  .form-control-sm,.form-select-sm,.ic-filters .form-select-sm{min-height:40px}
  .ic-nav .nav-link,.ic-offcanvas .nav-link{min-height:40px;display:inline-flex;align-items:center}
  .ic-lang{min-height:40px;align-items:center}
  .page-link{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center}
  .btn-group .btn{min-height:40px}                 /* direktorijum: lista/mapa */
  .nav-link.fs-base{min-height:40px;display:inline-flex;align-items:center}  /* traka sektora na početnoj */
  .ic-lang button{min-height:40px;min-width:40px}
  .form-check-input{width:1.4em;height:1.4em;margin-top:.1em}
  /* [N] checkbox + label (#aim u direktorijumu/učesnicima) = jedan red od 40 px; klik na cijeli red pogađa label → input */
  .form-check-inline{min-height:40px;display:inline-flex;align-items:center;margin-right:0}
  .form-check-inline .form-check-input{width:1.5em;height:1.5em;margin-top:0;flex:none}
  .form-check-inline .form-check-label{min-height:40px;display:inline-flex;align-items:center;padding-left:.35em}
}

/* ── [J] institucionalni partneri (Feedback II §8): kartica na /partners i logo traka
   na početnoj. Logo na bijeloj podlozi (kao .listing-logo), hairline okvir, bez sjenki. ── */
.ic-partner-logo{
  width:64px;height:64px;flex:none;display:grid;place-items:center;overflow:hidden;
  background:var(--ic-brand-white);box-shadow:inset 0 0 0 1px var(--ic-rule);
  font-family:var(--ic-font-display);font-weight:var(--ic-fw-semibold);color:var(--ic-ink);font-size:1.25rem;
}
.ic-partner-logo img{width:100%;height:100%;object-fit:contain;padding:6px}
.ic-partner-logo:not(:has(img)){background:var(--ic-brand-bay);color:var(--ic-brand-karst);box-shadow:none}
.ic-partner-card h3{font-family:var(--ic-font-body);font-weight:var(--ic-fw-semibold);letter-spacing:0;overflow-wrap:anywhere}
.ic-partner-card .ic-label{font-size:.6875rem}
.ic-partner-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--ic-sp-4)}
.ic-partner-tile{
  display:flex;flex-direction:column;align-items:center;gap:var(--ic-sp-3);padding:var(--ic-sp-5) var(--ic-sp-4);
  text-decoration:none;color:var(--ic-ink);background:var(--ic-surface);box-shadow:inset 0 0 0 1px var(--ic-rule);
  transition:box-shadow .15s;
}
.ic-partner-tile:hover{box-shadow:inset 0 0 0 1px var(--ic-bar);color:var(--ic-ink)}
.ic-partner-tile .ic-partner-logo{width:72px;height:72px}
.ic-partner-name{font-size:var(--ic-fs-sm,.875rem);font-weight:var(--ic-fw-semibold);text-align:center;line-height:1.3}
@media (max-width:575.98px){.ic-partner-strip{grid-template-columns:repeat(2,1fr)}}

/* ── [U] pristupačnost: link u pasusu se vidi i bez boje (WCAG 1.4.1, axe
   link-in-text-block). Paleta ostaje; samo podvlaka za linkove unutar teksta —
   ne za dugmad, kartice (stretched-link), meni i podnožje. ── */
main p a:not(.btn):not(.stretched-link),
main li:not(.nav-item):not(.breadcrumb-item) > a:not(.btn):not(.stretched-link):not(.page-link),
main .fs-xs a:not(.btn), main .fs-sm a:not(.btn):not(.stretched-link):not(.nav-link),
main span[data-i18n-html] a, main small a{
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:currentColor;
}
/* ── [U] CLS: zaglavlje se ucrtava JS-om (shell.js) — dok je prazno, drži
   svoju visinu da sadržaj ne skoči; logo ima odnos stranica prije učitavanja. ── */
[data-shell-header]:empty{min-height:var(--ic-header-h)}
.ic-lockup .ic-logo{aspect-ratio:446/144}

/* ── [W] partnerske liste: brzi filter po tipu firme (hairline čipovi, caps — isti jezik kao
   značke), bedž tipa firme i bedž veze sa partnerom („Stanar NTP") na kartici i profilu. ── */
.ic-quick{display:flex;flex-wrap:wrap;gap:var(--ic-sp-2)}
.ic-quick-btn{
  font-family:var(--ic-font-display);font-weight:var(--ic-fw-semibold);font-size:.6875rem;letter-spacing:var(--ic-track-label);
  text-transform:uppercase;color:var(--ic-ink-2);background:var(--ic-surface);border:0;box-shadow:inset 0 0 0 1px var(--ic-rule-strong);
  padding:.5rem .85rem;min-height:40px;cursor:pointer;transition:box-shadow .15s,color .15s;
}
.ic-quick-btn:hover{box-shadow:inset 0 0 0 1px var(--ic-bar);color:var(--ic-ink)}
.ic-quick-btn.active{background:var(--ic-ink);color:var(--ic-brand-karst,#ecf0e4);box-shadow:inset 0 0 0 1px var(--ic-ink)}
.badge.ic-type-badge,.badge.ic-partner-badge{
  font-family:var(--ic-font-display);font-weight:var(--ic-fw-semibold);font-size:.625rem;letter-spacing:var(--ic-track-label);
  text-transform:uppercase;color:var(--ic-ink);background:transparent;box-shadow:inset 0 0 0 1px var(--ic-rule-strong);text-decoration:none;
}
.badge.ic-partner-badge{color:var(--ic-label);box-shadow:inset 0 0 0 1px var(--ic-label)}
.badge.ic-partner-badge:hover{background:var(--ic-label);color:var(--ic-brand-karst,#ecf0e4)}
.hero-band .badge.ic-type-badge,.hero-band .badge.ic-partner-badge{color:var(--ic-dark-ink);box-shadow:inset 0 0 0 1px var(--ic-dark-ink-3)}
.hero-band .badge.ic-partner-badge{color:var(--ic-dark-label);box-shadow:inset 0 0 0 1px var(--ic-dark-label)}
.ic-partner-firms{text-decoration:none}
/* ── [X] profil firme: sektorska slika u zaglavlju (bez sopstvene fotografije) i tabela trenda ── */
.hero-band.hero-sector::before{opacity:.55}
.ic-trend .table{--bs-table-bg:transparent;margin-bottom:0}
.ic-trend th{font-weight:var(--ic-fw-medium);color:var(--ic-label);border-bottom:1px solid var(--ic-hairline)}
.ic-trend td,.ic-trend th{padding:.3rem .25rem;white-space:nowrap}
.ic-trend td:first-child{color:var(--ic-label)}

/* [orch 12. 10.] francuski meni na 1400–1535 px: duži nazivi gurali „Contact" u prekidač jezika (JF) */
@media (min-width:1400px) and (max-width:1535.98px){
  html[data-lang="fr"] .ic-nav .nav-link{font-size:.65625rem;letter-spacing:.02em;padding:.5rem .3125rem}
  html[data-lang="fr"] .ic-header-actions{gap:var(--ic-sp-1)}
  html[data-lang="fr"] .ic-header .ic-lang button{min-width:26px;padding-inline:.3125rem}
  html[data-lang="fr"] .ic-header-actions .btn-sm{--bs-btn-padding-x:.5rem}
}

/* ── [L3] tri jezika: duži prevodi na 390 px ───────────────────────────────── */
@media (max-width: 575.98px) {
  /* „AIM Conference 2026 · réseau des participants“ je bedž u jednom redu — na FR je bio širi od kartice (h-skrol +40 px) */
  .badge[data-i18n="aim.eyebrow"]{white-space:normal;text-align:left;line-height:1.35}
  /* kartica učesnika: dugmad „Se connecter / écrire“ + „Profil de l’entreprise“ ne staju u jedan red → puna širina, prelom */
  .aim-actions{flex-shrink:1;min-width:0;width:100%}
  .aim-actions .btn{flex:1 1 auto;white-space:normal}
}

/* ── [AA] AIM učesnici: brzi filter po tipu sa brojem, sektorski čip, brojač uz pretragu ── */
.ic-quick-btn .n{font-weight:var(--ic-fw-medium);opacity:.65;margin-left:.3rem;letter-spacing:0}
.badge.ic-sector-chip{
  font-family:var(--ic-font-display);font-weight:var(--ic-fw-medium);font-size:.625rem;letter-spacing:var(--ic-track-label);
  text-transform:uppercase;color:var(--ic-label);background:var(--ic-brand-mist,#eef2f6);
}
.ic-search-hint{font-size:.8125rem;color:var(--ic-label);padding:.15rem .75rem .35rem}
.ic-search-hint b{color:var(--ic-ink)}
@media (max-width:575.98px){ .ic-quick-btn{padding:.45rem .6rem;min-height:36px} }

/* [HS] brojači nepročitanih poruka/zahtjeva: puna zelena pilula (Velibor, 14. 10.) — tema bedževa inače daje prozirnu pozadinu i plavi tekst */
.badge.ic-unread,.badge.text-bg-success.ic-unread{background:var(--ic-brand-lime)!important;color:var(--ic-brand-ink)!important;border:0!important;box-shadow:none!important;
  border-radius:999px!important;padding:.2em .55em!important;font-size:.72rem!important;font-weight:700!important;letter-spacing:0!important;min-width:1.4em;text-align:center;vertical-align:middle}

/* ── [HS22] Profil firme — premium („showcase") prelom. Opt-in: `body.co-showcase` dobijaju SAMO firme sa liste
   SHOWCASE_SLUGS u company.html (zasad Bitsync). Nijedno pravilo odavde ne važi za ostale firme — klijent je odobrio
   standardni profil. Obrazac: Crunchbase/Stripe profil — složeno zaglavlje, mreža proizvoda po porodicama, reference.
   Samo tokeni; dva akcenta (Ink + Lime); bez emoji; bez biblioteka. ── */
/* zaglavlje: bez fotografije — tihi 2-stop gradijent Ink → Bay umjesto konturnih linija */
.co-showcase .hero-band.hero-home::before{background:linear-gradient(135deg,var(--ic-brand-ink) 0%,var(--ic-brand-bay) 100%);-webkit-mask-image:none;mask-image:none}
.co-showcase main > section.hero-band.py-5{padding-top:var(--ic-sp-9)!important;padding-bottom:var(--ic-sp-9)!important}
.co-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--ic-sp-5) var(--ic-sp-6);align-items:start}
.co-hero-logo{width:var(--ic-logo-lg);height:var(--ic-logo-lg);box-shadow:0 0 0 1px var(--ic-dark-rule-strong)}
.co-hero-logo:not(:has(img)){background:var(--ic-brand-bay);color:var(--ic-brand-karst);font-weight:var(--ic-fw-medium)}
.co-hero-main{min-width:0}
.co-hero-main h1{margin-bottom:var(--ic-sp-2);overflow-wrap:anywhere}
.co-hero-tagline{font-size:var(--ic-fs-lead);line-height:1.5;max-width:var(--ic-measure);margin:0 0 var(--ic-sp-3);color:var(--ic-dark-ink-2)}
.co-hero-signals{display:flex;flex-wrap:wrap;gap:var(--ic-sp-2) var(--ic-sp-5);margin:0 0 var(--ic-sp-4);font-size:var(--ic-fs-small);color:var(--ic-dark-ink-2)!important}
.co-hero-signals span{display:inline-flex;align-items:center;gap:.5rem;color:inherit}
.co-hero-signals span::before{content:"";width:8px;height:8px;background:var(--ic-brand-fog);flex:none}
.co-hero-signals .is-raising{color:var(--ic-dark-accent-text);font-weight:var(--ic-fw-semibold)}
.co-hero-signals .is-raising::before{background:var(--ic-brand-lime)}
.co-hero-chips{display:flex;flex-wrap:wrap;gap:var(--ic-sp-2)}
/* jedan izgled za svih ≤5 čipova: Karst tekst, hairline — bez miješanih boja */
.co-hero-chips .badge,.co-hero-chips .badge[data-sector],.co-hero-chips .badge.ic-type-badge,.co-hero-chips .badge.ic-partner-badge,
.co-hero-chips .badge.bg-warning-subtle.text-warning-emphasis{
  display:inline-block;padding:.3125rem .625rem;color:var(--ic-dark-ink)!important;border:1px solid var(--ic-dark-rule-strong);box-shadow:none;
  font-size:var(--ic-fs-label);line-height:1.2;white-space:normal;text-align:left;
}
.co-hero-chips .badge.bg-warning-subtle.text-warning-emphasis::before{display:none}
.co-hero-chips .badge.ic-partner-badge:hover{background:var(--ic-dark-label);border-color:var(--ic-dark-label);color:var(--ic-brand-ink)!important}
.co-hero-actions{display:flex;flex-wrap:wrap;gap:var(--ic-sp-2);grid-column:1 / -1}
@media (min-width:992px){
  .co-hero{grid-template-columns:auto minmax(0,1fr) auto;gap:var(--ic-sp-6) var(--ic-sp-7)}
  .co-hero-actions{grid-column:3;justify-self:end;flex-direction:column;align-items:stretch}
  .co-hero-actions .btn{width:100%}
}
@media (max-width:575.98px){
  .co-hero{grid-template-columns:1fr;gap:var(--ic-sp-4)}
  .co-hero-logo{width:72px;height:72px;font-size:1.75rem}
  .co-hero-actions .btn{flex:1 1 auto}
}
/* glavna kolona: sekcije bez okvira (naslov sa Lime sidrom), kartice unutar njih; bočna kolona: hairline kartice */
.co-section{margin-top:var(--ic-sp-9)}
.co-section > h3.h5,.co-showcase .col-lg-8 .card > h3.h5{
  font-family:var(--ic-font-display);font-weight:var(--ic-fw-semibold);font-size:var(--ic-fs-h4);letter-spacing:0;margin-bottom:var(--ic-sp-5);
}
.co-section > h3.h5::before{content:"";display:block;width:var(--ic-anchor-w);height:var(--ic-accent-rule);background:var(--ic-bar);margin-bottom:var(--ic-sp-3)}
.co-showcase aside .card > h3.h5{
  font-family:var(--ic-font-display);font-weight:var(--ic-fw-semibold);font-size:var(--ic-fs-h4);letter-spacing:0;
  margin-bottom:var(--ic-sp-4);padding-bottom:var(--ic-sp-3);border-bottom:1px solid var(--ic-rule-strong);
}
.co-showcase #about{box-shadow:var(--ic-elev-1)}
.co-showcase #about > p{font-size:var(--ic-fs-body);line-height:var(--ic-lh-body)}
/* osnivač */
.co-founder{display:flex;gap:var(--ic-sp-4);align-items:flex-start;margin-top:var(--ic-sp-5);padding-top:var(--ic-sp-5);border-top:1px solid var(--ic-rule)}
.co-founder-ph{
  width:var(--ic-tile);height:var(--ic-tile);flex:none;display:grid;place-items:center;overflow:hidden;
  background:var(--ic-brand-bay);color:var(--ic-brand-karst);font-family:var(--ic-font-display);font-weight:var(--ic-fw-medium);letter-spacing:.04em;
}
.co-founder-ph img{width:100%;height:100%;object-fit:cover;filter:saturate(var(--ic-photo-sat))}
.co-founder .ic-label{display:block;margin-bottom:.15rem}
.co-founder p{margin:0;color:var(--ic-ink-2)}
/* „Šta kompanija radi": mreža 1 / 2 (≥768) / 3 (≥1200); porodica proizvoda = zaglavlje preko cijelog reda + tint kartice */
.co-grid{display:grid;grid-template-columns:1fr;gap:var(--ic-sp-4)}
@media (min-width:768px){.co-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1200px){.co-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.co-item{display:flex;flex-direction:column;gap:var(--ic-sp-2);min-width:0;padding:var(--ic-sp-5);background:var(--ic-surface);box-shadow:var(--ic-elev-1)}
.co-item.in-group{background:var(--ic-bg-alt);box-shadow:none}
.co-item-cover{margin:calc(var(--ic-sp-5) * -1) calc(var(--ic-sp-5) * -1) var(--ic-sp-3);aspect-ratio:16/9;overflow:hidden;background:var(--ic-surface-tint-2)}
.co-item-cover img{width:100%;height:100%;object-fit:cover;filter:saturate(var(--ic-photo-sat))}
.co-item-t{font-family:var(--ic-font-body);font-size:var(--ic-fs-body);font-weight:var(--ic-fw-semibold);color:var(--ic-ink);margin:0;line-height:1.35;overflow-wrap:anywhere}
.co-item-p{font-size:var(--ic-fs-small);color:var(--ic-ink-2);margin:0;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.co-item-links{margin-top:auto;padding-top:var(--ic-sp-2);display:flex;flex-wrap:wrap;gap:var(--ic-sp-2)}
.co-chip{
  display:inline-flex;align-items:center;gap:.35rem;min-height:32px;padding:.25rem .625rem;
  font-size:var(--ic-fs-micro);font-weight:var(--ic-fw-semibold);color:var(--ic-link);border:1px solid var(--ic-rule-strong);text-decoration:none;
  transition:border-color var(--ic-dur-hover) var(--ic-ease-out),color var(--ic-dur-hover) var(--ic-ease-out);
}
.co-chip:hover{border-color:var(--ic-link);color:var(--ic-link-hover)}
.co-chip .ic-icon{width:14px;height:14px}
.co-group,.co-grid + .co-grid,.co-group + .co-grid{margin-top:var(--ic-sp-6)}
.co-group:first-child{margin-top:0}
.co-group-head{display:flex;align-items:baseline;gap:var(--ic-sp-3);margin-bottom:var(--ic-sp-4);padding-bottom:var(--ic-sp-2);border-bottom:1px solid var(--ic-rule-strong)}
/* jedina stavka u mreži ne stoji kao kocka u uglu — zauzima dvije kolone */
@media (min-width:768px){.co-grid > .co-item:only-child{grid-column:span 2}}
.co-group-head b{font-family:var(--ic-font-display);font-weight:var(--ic-fw-semibold);font-size:var(--ic-fs-h4);color:var(--ic-ink);letter-spacing:0}
/* odabrani projekti: hairline-pločice (kao .ic-stat) + tihi red „Vjeruju nam" */
.co-work-grid{display:grid;grid-template-columns:1fr;gap:var(--ic-sp-4) var(--ic-sp-6)}
@media (min-width:768px){.co-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.co-work-item{display:flex;flex-direction:column;gap:.25rem;padding:var(--ic-sp-1) 0 var(--ic-sp-1) var(--ic-sp-5);border-left:1px solid var(--ic-rule-strong)}
.co-work-item b{color:var(--ic-ink);font-size:var(--ic-fs-body);line-height:1.35}
.co-work-item span{font-size:var(--ic-fs-small);color:var(--ic-ink-2);line-height:1.5}
.co-trusted{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--ic-sp-2) var(--ic-sp-3);margin:var(--ic-sp-6) 0 0;padding-top:var(--ic-sp-4);border-top:1px solid var(--ic-rule);font-size:var(--ic-fs-small);color:var(--ic-ink-2)}
.co-trusted .ic-label{margin-right:var(--ic-sp-2)}
.co-trusted span + span:not(:last-child)::after{content:"·";margin-left:var(--ic-sp-3);color:var(--ic-ink-3)}   /* tačka ostaje na kraju reda, ne na početku sljedećeg */
/* galerija: 4:3 mreža + lightbox (<dialog>) */
.co-gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ic-sp-3)}
@media (min-width:768px){.co-gal{grid-template-columns:repeat(3,minmax(0,1fr))}}
.co-gal-item{display:block;width:100%;padding:0;border:0;aspect-ratio:4/3;overflow:hidden;background:var(--ic-surface-tint-2);box-shadow:var(--ic-elev-1);cursor:zoom-in}
.co-gal-item img{width:100%;height:100%;object-fit:cover;filter:saturate(var(--ic-photo-sat));transition:transform var(--ic-dur-3) var(--ic-ease-out)}
.co-gal-item:hover img,.co-gal-item:focus-visible img{transform:scale(1.03)}
.co-lightbox{border:0;padding:0;background:transparent;max-width:min(96vw,1200px);max-height:96vh;color:var(--ic-brand-karst)}
.co-lightbox::backdrop{background:rgba(10,30,43,.94)}   /* Ink na 94 % — ::backdrop ne nasljeđuje tokene u starijim preglednicima */
.co-lightbox figure{margin:0;display:flex;flex-direction:column;gap:var(--ic-sp-3);align-items:center}
.co-lightbox img{max-width:min(96vw,1200px);max-height:84vh;object-fit:contain;box-shadow:0 0 0 1px var(--ic-dark-rule)}
.co-lightbox figcaption{font-size:var(--ic-fs-small);color:var(--ic-brand-fog);text-align:center;max-width:70ch;padding:0 var(--ic-sp-4)}
.co-lb-close{
  position:fixed;top:var(--ic-sp-4);right:var(--ic-sp-4);width:var(--ic-control-h);height:var(--ic-control-h);display:grid;place-items:center;
  border:1px solid var(--ic-hairline-strong);background:var(--ic-brand-ink);color:var(--ic-brand-karst);cursor:pointer;
}
.co-lb-close:hover{border-color:var(--ic-brand-karst)}
.co-lightbox[open]{animation:ic-rise var(--ic-dur-2) var(--ic-ease-out) both}
/* ključni podaci: mirnija tipografija, legenda porijekla, tehnologije sa natpisom */
.co-showcase #facts dl.row.g-0 dt,.co-showcase #facts dl.row.g-0 dd{padding-block:.625rem!important;line-height:1.4}
.co-showcase #facts dl.row.g-0 dd{font-weight:var(--ic-fw-medium)}
.co-showcase #facts > p.fs-xs{display:flex;align-items:center;gap:.25rem;margin-top:var(--ic-sp-3)!important;color:var(--ic-ink-3)!important}
.co-tech{border-top:1px solid var(--ic-rule);padding-top:var(--ic-sp-4);margin-top:var(--ic-sp-4)}
.co-tech .ic-label{display:block;margin-bottom:var(--ic-sp-2)}
.co-tech-chips{display:flex;flex-wrap:wrap;gap:var(--ic-sp-2)}
.co-tech-chips .badge{color:var(--ic-ink-2)!important;border-color:var(--ic-rule-strong)}
/* bočne kartice: ista površina, bez naslaganih okvira; oznaka uz učesnika (Lime prsten, Deep Lime tekst) */
.co-showcase aside .card{box-shadow:var(--ic-elev-1)}
.co-showcase aside .card .border-top{border-color:var(--ic-rule)!important}
.co-showcase .contact-card{box-shadow:none!important}
.co-cred{
  display:inline-block;margin-left:.5rem;padding:.2rem .5rem;vertical-align:middle;line-height:1.2;
  font-family:var(--ic-font-display);font-size:.625rem;font-weight:var(--ic-fw-semibold);letter-spacing:var(--ic-track-label);text-transform:uppercase;
  color:var(--ic-accent-text);box-shadow:inset 0 0 0 1px var(--ic-brand-lime);
}
/* ulazni pokret: samo opacity + translate, 180 ms, do 8 stavki sa razmakom od 30 ms; reduced-motion ga gasi */
.co-grid > *,.co-work-item,.co-gal-item{animation:co-in var(--ic-dur-2) var(--ic-ease-out) both}
.co-grid > :nth-child(2),.co-work-item:nth-child(2),.co-gal-item:nth-child(2){animation-delay:30ms}
.co-grid > :nth-child(3),.co-work-item:nth-child(3),.co-gal-item:nth-child(3){animation-delay:60ms}
.co-grid > :nth-child(4),.co-work-item:nth-child(4),.co-gal-item:nth-child(4){animation-delay:90ms}
.co-grid > :nth-child(5),.co-gal-item:nth-child(5){animation-delay:120ms}
.co-grid > :nth-child(6),.co-gal-item:nth-child(6){animation-delay:150ms}
.co-grid > :nth-child(7){animation-delay:180ms}
.co-grid > :nth-child(n+8){animation-delay:210ms}
@keyframes co-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.co-grid > *,.co-work-item,.co-gal-item,.co-lightbox[open]{animation:none}.co-gal-item img{transition:none}}

/* [HS22] showcase: opisi kartica bez skraćivanja na 3 reda (vlasnik, 19. 10. — EUDI rečenica mora biti vidljiva) */
.co-showcase .co-item-p{display:block;-webkit-line-clamp:unset;overflow:visible}

/* [HS23] offcanvas: aktivna stavka je imala svijetlu pozadinu i svijetao tekst (Velibor, 19. 10.) */
.offcanvas.ic-offcanvas .nav-link.active,.offcanvas.ic-offcanvas .nav-link[aria-current="page"]{color:var(--ic-brand-ink)!important;background:var(--ic-brand-lime)!important;border-color:var(--ic-brand-lime)!important}

/* [HS23] offcanvas: „Prijavi se na platformu" — taman tekst na lime kao i aktivna stavka (Velibor, 19. 10.) */
.offcanvas.ic-offcanvas a.btn-primary,.offcanvas.ic-offcanvas .btn-primary{color:var(--ic-brand-ink)!important;background:var(--ic-brand-lime)!important;border-color:var(--ic-brand-lime)!important}
