/*
Theme Name: IRG Child
Theme URI: https://www.istitutoricerchegenetiche.it
Description: Child theme for Istituto di Ricerche Genetiche — clinical/corporate design (QIAGEN benchmark). Built on GeneratePress.
Author: Genisoft
Template: generatepress
Version: 0.4.1
Text Domain: irg-child
*/

/* ============================================================
   DESIGN TOKENS (from the client mockups)
   ============================================================ */
:root{
  /* Base istituzionale (valori raffinati — brief cliente) */
  --irg-navy:#0B2746;
  --irg-navy-2:#071B31;
  --irg-blue:#145B8C;            /* Scientific Blue */
  --irg-blue-light:#4F88A5;
  --irg-blue-soft:#DDE7EA;
  --irg-ice:#F4F5F1;
  --irg-bg:#F4F5F1;              /* neutro minerale caldo */
  --irg-white:#FFFFFF;
  --irg-graphite:#1B2630;
  --irg-ink:#1B2630;            /* testo principale */
  --irg-muted:#5B6870;
  --irg-line:#D7E0E2;
  --irg-line-strong:#B9C8CC;
  /* Accento unico (parsimonia: dati, link attivi, stati, kicker, callout) */
  --irg-accent:#A7C957;         /* verde citogenetico IRG */
  --irg-accent-2:#0FA394;
  --irg-accent-ink:#071B31;
  /* Ruoli semantici — usare QUESTI nel CSS, non gli hex */
  --surface:#FFFFFF;
  --surface-2:var(--irg-ice);
  --surface-3:#EEF1EC;
  --text:var(--irg-ink);
  --text-muted:var(--irg-muted);
  --text-on-dark:#EAF1FB;
  --border:var(--irg-line);
  --link:var(--irg-blue);
  --accent:var(--irg-accent);
  /* Tipografia (2 famiglie + mono) */
  --font-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-head:"Manrope","IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",monospace;
  /* Ombre premium discrete */
  --shadow-sm:0 1px 3px rgba(11,39,70,.06);
  --shadow-md:0 18px 44px rgba(11,39,70,.12);
  --irg-radius:2px;
  --irg-radius-lg:4px;
  --on-navy-muted:#C6D2D8;      /* testo secondario su fondo navy */
  --irg-container:1240px;
}

/* ============================================================
   BASE
   ============================================================ */
body{ color:var(--text); font-family:var(--font-body); font-size:17px; line-height:1.7; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4{ color:var(--irg-navy); font-family:var(--font-head); font-weight:600; letter-spacing:-.015em; line-height:1.12; }
a{ color:var(--link); }
/* Kicker scientifique (mono, accent) — uniquement catégories/label, pas décoration */
.irg-kicker{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); font-weight:500; }
.grid-container{ max-width:var(--irg-container); }

/* Buttons */
.irg-btn{ display:inline-flex; align-items:center; gap:.5em; background:var(--irg-blue); color:#fff !important; padding:.62em 1.2em;
  border-radius:var(--irg-radius); font-weight:600; font-size:.95rem; line-height:1; text-decoration:none; transition:background .15s ease; border:2px solid var(--irg-blue); }
.irg-btn:hover{ background:var(--irg-navy); border-color:var(--irg-navy); }
.irg-btn--outline{ background:transparent; color:var(--irg-blue) !important; }
.irg-btn--outline:hover{ background:var(--irg-blue); color:#fff !important; }
.irg-btn--outline-light{ background:transparent; color:#fff !important; border-color:rgba(255,255,255,.6); }
.irg-btn--outline-light:hover{ background:#fff; color:var(--irg-navy) !important; border-color:#fff; }
.irg-btn--kit{ margin-left:1.1rem; }

/* ============================================================
   COMMERCE TOP-BAR (global, above the header)
   ============================================================ */
.irg-topbar{ background:var(--irg-navy); color:#dfe9f6; font-size:.82rem; }
.irg-topbar__inner{ max-width:var(--irg-container); margin:0 auto; padding:.5rem 20px; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.irg-topbar a{ color:#dfe9f6; text-decoration:none; }
.irg-topbar a:hover{ color:#fff; }
.irg-topbar__contact{ display:flex; gap:1.4rem; }
.irg-topbar__links{ display:flex; gap:1.4rem; align-items:center; }
.irg-topbar__links .irg-cart{ font-weight:600; color:#fff; }
/* Selettore lingua */
.irg-langsw{ display:inline-flex; align-items:center; gap:.15rem; padding-left:1rem; margin-left:.3rem; border-left:1px solid rgba(255,255,255,.25); }
.irg-langsw__lnk{ display:inline-block; padding:.05rem .4rem; border-radius:4px; font-weight:600; letter-spacing:.02em; color:#aec6e6!important; line-height:1.4; }
.irg-langsw__lnk:hover{ color:#fff!important; }
.irg-langsw__lnk.is-active{ background:var(--irg-blue); color:#fff!important; }

/* ============================================================
   HEADER (white, logo left / nav right / Richiedi Kit)
   ============================================================ */
.site-header{ background:var(--irg-white); border-bottom:1px solid var(--irg-blue-soft); }
.inside-header{ padding:14px 20px; }
.site-logo img,.custom-logo{ height:50px; width:auto; }
/* logo present -> hide the redundant text title + tagline in the header */
.site-header .main-title,
.site-header .site-description{ display:none; }
/* Nav COLORS are driven by GeneratePress settings (generate_settings), not hardcoded here. */
.main-navigation{ box-shadow:none; }
.main-navigation .inside-navigation{ align-items:center; }
.main-navigation .main-nav ul li a{ font-weight:600; }
/* "Richiedi Kit" rendered as a pill CTA menu item (class: irg-nav-cta) */
.main-navigation .main-nav ul li.irg-nav-cta{ display:flex; align-items:center; }
.main-navigation .main-nav ul li.irg-nav-cta a{ background:var(--irg-blue); color:#fff; border-radius:var(--irg-radius);
  margin-left:1rem; padding:.62em 1.2em; line-height:1; }
.main-navigation .main-nav ul li.irg-nav-cta a:hover{ background:var(--irg-navy); color:#fff; }

/* ============================================================
   FOOTER (navy, columns + copyright bar)
   ============================================================ */
.irg-footer{ background:var(--irg-navy); color:#cdd9ec; }
.irg-footer__inner{ max-width:var(--irg-container); margin:0 auto; padding:3rem 20px 2.2rem;
  display:flex; flex-wrap:wrap; gap:2rem 2.5rem; }
.irg-footer__col{ flex:1 1 160px; min-width:0; }
.irg-footer__brand{ flex:1.6 1 240px; }
.irg-footer__logo{ height:46px; width:auto; margin-bottom:.9rem; display:block; }
.irg-footer h4{ color:#fff; font-size:1rem; margin:0 0 .9rem; }
.irg-footer ul{ list-style:none; margin:0; padding:0; }
.irg-footer li{ margin:.4rem 0; }
.irg-footer a{ color:#cdd9ec; text-decoration:none; }
.irg-footer a:hover{ color:#fff; }
.irg-footer__contact li{ color:#cdd9ec; }
.irg-footer .irg-btn--outline-light{ margin-top:.9rem; }

/* GeneratePress copyright bar -> navy */
.site-info{ background:var(--irg-navy-2); color:#9fb3d1; font-size:.85rem; }
.site-info a{ color:#cdd9ec; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:900px){
  .irg-footer__brand{ flex:1 1 100%; }
  .irg-footer__col{ flex:1 1 40%; }
}
@media (max-width:768px){
  .irg-topbar__inner{ justify-content:center; }
  .irg-topbar__contact{ display:none; }
  .irg-btn--kit{ margin:.6rem 0 0; }
}
@media (max-width:600px){
  .irg-footer__col,.irg-footer__brand{ flex:1 1 100%; }
}

/* ============================================================
   HOMEPAGE
   ============================================================ */
.home .entry-content{ margin:0; }
.home .inside-article,.home .entry-content,.home .page-content{ padding:0 !important; }
.irg-wrap{ max-width:var(--irg-container); margin:0 auto; padding-left:20px; padding-right:20px; }
.irg-section{ padding:4rem 0; }
.irg-h2{ text-align:center; font-size:2.1rem; margin:0 0 .6rem; }
.irg-lead{ text-align:center; color:var(--irg-muted); max-width:760px; margin:0 auto 2.6rem; font-size:1.05rem; }

.irg-btn-solid,.irg-btn-ghost{ display:inline-flex; align-items:center; gap:.5em; padding:.72em 1.5em; border-radius:var(--irg-radius);
  font-weight:600; text-decoration:none; border:2px solid var(--irg-blue); transition:all .15s ease; }
.irg-btn-solid{ background:var(--irg-blue); color:#fff !important; }
.irg-btn-solid:hover{ background:var(--irg-navy); border-color:var(--irg-navy); }
.irg-btn-ghost{ background:transparent; color:var(--irg-blue) !important; }
.irg-btn-ghost:hover{ background:var(--irg-blue); color:#fff !important; }

/* Hero */
.irg-hero{ text-align:left; }
.irg-hero .wp-block-cover__inner-container{ max-width:var(--irg-container); margin:0 auto; width:100%; padding:0 20px; }
.irg-hero__title{ color:#fff; font-size:3rem; line-height:1.08; max-width:620px; margin:0 0 1rem; }
.irg-hero__sub{ color:#dce8f7; font-size:1.2rem; max-width:520px; margin:0 0 1.8rem; }
.irg-hero__cta{ gap:1rem; }
.irg-hero__cta .irg-cta-solid .wp-block-button__link{ background:var(--irg-blue); color:#fff; border-radius:var(--irg-radius); padding:.8em 1.6em; font-weight:600; border:2px solid var(--irg-blue); }
.irg-hero__cta .irg-cta-solid .wp-block-button__link:hover{ background:#fff; color:var(--irg-navy); }
.irg-hero__cta .irg-cta-ghost .wp-block-button__link{ background:transparent; color:#fff; border:2px solid rgba(255,255,255,.7); border-radius:var(--irg-radius); padding:.8em 1.6em; font-weight:600; }
.irg-hero__cta .irg-cta-ghost .wp-block-button__link:hover{ background:#fff; color:var(--irg-navy); border-color:#fff; }

/* Search */
/* Search — refined "search unit": pill field, icon, focus ring */
.irg-search{ background:var(--surface); border-bottom:1px solid var(--border); }
.irg-search__inner{ max-width:var(--irg-container); margin:0 auto; padding:1.5rem 20px; display:flex; align-items:center; gap:1.75rem; }
.irg-search__label{ display:flex; flex-direction:column; gap:.1rem; line-height:1.2; }
.irg-search__label strong{ font-family:var(--font-head); font-weight:600; font-size:1.2rem; color:var(--irg-navy); letter-spacing:-.01em; }
.irg-search__label span{ color:var(--text-muted); font-size:.95rem; }
.irg-search__form{ flex:1; display:flex; align-items:center; gap:.4rem; background:var(--surface); border:1px solid var(--border); border-radius:999px; padding:.3rem .3rem .3rem 1.1rem; box-shadow:var(--shadow-sm); transition:border-color .15s, box-shadow .15s; }
.irg-search__form::before{ content:""; flex:none; width:20px; height:20px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A6B82' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") center/contain no-repeat; }
.irg-search__form:focus-within{ border-color:var(--irg-blue); box-shadow:0 0 0 3px rgba(20,102,190,.12); }
.irg-search__form input{ flex:1; min-width:0; border:none; background:transparent; padding:.65em .2em; font-size:1rem; color:var(--text); outline:none; }
.irg-search__form input::placeholder{ color:var(--text-muted); }
.irg-search__form button{ flex:none; background:var(--irg-navy); color:#fff; border:none; border-radius:999px; padding:.7em 1.7em; font-weight:600; cursor:pointer; transition:background .15s; }
.irg-search__form button:hover{ background:var(--irg-blue); }

/* Areas */
.irg-areas{ display:grid; grid-template-columns:repeat(5,1fr); gap:1.2rem; }
.irg-area{ display:flex; flex-direction:column; gap:.8rem; background:#fff; border:1px solid var(--irg-blue-soft); border-radius:12px; padding:1.6rem 1.2rem; text-decoration:none; transition:.15s ease; }
.irg-area:hover{ border-color:var(--irg-blue); box-shadow:0 10px 24px rgba(7,39,90,.10); transform:translateY(-3px); }
.irg-area__ic{ width:52px; height:52px; display:flex; align-items:center; justify-content:center; background:var(--irg-bg); border-radius:12px; color:var(--irg-blue); }
.irg-area__ic svg{ width:28px; height:28px; }
.irg-area h3{ font-size:1.02rem; line-height:1.25; color:var(--irg-navy); margin:0; }
.irg-area__arrow{ color:var(--irg-blue); font-size:1.2rem; margin-top:auto; }

/* Featured KIR */
.irg-featured{ background:var(--irg-bg); }
.irg-featured__grid{ display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:center; }
.irg-featured__text{ padding:3.5rem 0; }
.irg-eyebrow{ text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; font-weight:700; color:var(--irg-muted); }
.irg-featured__text h2{ font-size:2.4rem; margin:.3rem 0 1rem; }
.irg-featured__text p{ color:var(--irg-ink); margin:0 0 1.6rem; max-width:460px; }
.irg-featured__img img{ width:100%; height:100%; max-height:360px; object-fit:cover; border-radius:12px; }

/* Why */
.irg-why-sec{ background:#fff; }
.irg-why{ display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; }
.irg-why__item{ text-align:center; }
.irg-why__ic{ width:60px; height:60px; margin:0 auto 1rem; display:flex; align-items:center; justify-content:center; background:var(--irg-bg); border-radius:50%; color:var(--irg-blue); }
.irg-why__ic svg{ width:30px; height:30px; }
.irg-why__item h4{ margin:0 0 .4rem; font-size:1.1rem; }
.irg-why__item p{ color:var(--irg-muted); margin:0; font-size:.95rem; }

/* Partners */
.irg-partners{ background:var(--irg-bg); border-top:1px solid var(--irg-blue-soft); }
.irg-partners__row{ display:flex; align-items:center; gap:2rem; flex-wrap:wrap; justify-content:center; padding:1.6rem 20px; }
.irg-partners__label{ color:var(--irg-muted); font-size:.9rem; }
.irg-partners__logo{ color:var(--irg-navy); font-weight:700; opacity:.75; }

/* CTA band */
/* CTA band — premium navy, accent primary, soft glow */
.irg-ctaband{ position:relative; background:var(--irg-navy); color:#fff; overflow:hidden; }
.irg-ctaband::after{ content:""; position:absolute; inset:0; background:radial-gradient(130% 150% at 100% 0%, rgba(20,102,190,.5), transparent 62%); pointer-events:none; }
.irg-ctaband__inner{ position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:2.8rem 20px; flex-wrap:wrap; }
.irg-ctaband h2{ font-family:var(--font-head); font-size:clamp(1.5rem,3vw,2rem); color:#fff; margin:0 0 .35rem; letter-spacing:-.015em; }
.irg-ctaband p{ color:var(--on-navy-muted); margin:0; max-width:54ch; }
.irg-ctaband__btns{ display:flex; gap:1rem; flex-wrap:wrap; }
.irg-ctaband .irg-btn-solid{ background:var(--irg-accent); color:var(--irg-accent-ink); border-color:var(--irg-accent); }
.irg-ctaband .irg-btn-solid:hover{ background:var(--irg-accent); filter:brightness(1.07); }
.irg-ctaband .irg-btn-ghost{ border-color:rgba(255,255,255,.55); color:#fff !important; }
.irg-ctaband .irg-btn-ghost:hover{ background:rgba(255,255,255,.12); color:#fff !important; }

@media (max-width:1000px){
  .irg-areas{ grid-template-columns:repeat(3,1fr); }
  .irg-why{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:820px){
  .irg-featured__grid{ grid-template-columns:1fr; }
  .irg-featured__img{ order:-1; }
  .irg-hero__title{ font-size:2.2rem; }
}
@media (max-width:640px){
  .irg-areas{ grid-template-columns:repeat(2,1fr); }
  .irg-search__inner{ flex-direction:column; align-items:stretch; }
  .irg-ctaband__inner{ flex-direction:column; align-items:flex-start; }
}

/* ============================================================
   PHASE 4 — CORE PAGES
   ============================================================ */
/* Page hero (short cover) */
.irg-pagehero{ text-align:left; }
.irg-pagehero .wp-block-cover__inner-container{ max-width:var(--irg-container); margin:0 auto; width:100%; padding:0 20px; }
.irg-pagehero__in .irg-crumb{ color:#bcd2ee; font-size:.85rem; margin-bottom:.5rem; }
.irg-pagehero__in h1{ color:#fff; font-size:2.6rem; margin:0 0 .5rem; }
.irg-pagehero__in p{ color:#dce8f7; max-width:640px; margin:0; font-size:1.1rem; }
.irg-crumb{ color:var(--irg-muted); font-size:.85rem; }

/* Counters */
.irg-counters{ background:var(--irg-navy); }
.irg-counters--light{ background:var(--irg-bg); }
.irg-counters__row{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; padding:2.6rem 20px; text-align:center; }
.irg-counter{ display:flex; flex-direction:column; gap:.3rem; }
.irg-num{ font-family:var(--font-head); font-weight:600; font-variant-numeric:tabular-nums; font-size:2.6rem; line-height:1; color:#fff; }
.irg-counters--light .irg-num{ color:var(--irg-navy); }
.irg-counter__lbl{ color:#bcd2ee; font-size:.95rem; }
.irg-counters--light .irg-counter__lbl{ color:var(--irg-muted); }

/* Split (image + text) */
.irg-split__grid{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.irg-split__img img{ width:100%; border-radius:12px; display:block; }
.irg-split__text h2{ font-size:1.9rem; margin:.3rem 0 1rem; }
.irg-split__text p{ color:var(--irg-ink); margin:0 0 1rem; }
.irg-split--alt{ background:var(--irg-bg); }

/* Tech / certifications */
.irg-tech{ text-align:center; }
.irg-tech__head{ max-width:760px; margin:0 auto 2rem; }
.irg-tech__head h2{ font-size:1.9rem; margin:.3rem 0 .8rem; }
.irg-tech__badges{ display:flex; justify-content:center; }
.irg-imq{ height:70px; width:auto; }

/* Professional profile hero */
.irg-prof{ background:var(--irg-bg); }
.irg-prof__grid{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:3rem; align-items:center; padding:3rem 20px; }
.irg-prof__img img{ width:100%; border-radius:14px; display:block; box-shadow:0 16px 40px rgba(7,39,90,.15); }
.irg-prof__text h1{ font-size:2.6rem; margin:.3rem 0 .3rem; }
.irg-prof__role{ color:var(--irg-blue); font-weight:600; margin:0 0 1rem; }
.irg-prof__text p{ color:var(--irg-ink); margin:0 0 1.4rem; max-width:520px; }
.irg-prof__cta{ display:flex; gap:1rem; }

/* CV columns */
.irg-cv--soft{ background:var(--irg-bg); }
.irg-cv__cols{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
.irg-cv__block h2{ font-size:1.5rem; margin:0 0 1.2rem; padding-bottom:.6rem; border-bottom:2px solid var(--irg-blue-soft); }
.irg-cv__list{ list-style:none; margin:0; padding:0; }
.irg-cv__list li{ position:relative; padding-left:1.4rem; margin-bottom:1rem; color:var(--irg-ink); line-height:1.5; }
.irg-cv__list li:before{ content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; border-radius:50%; background:var(--irg-blue); }
.irg-cv__pub li{ color:var(--irg-muted); font-size:.95rem; }
.irg-cv__pub em{ color:var(--irg-navy); font-style:italic; }

@media (max-width:820px){
  .irg-split__grid,.irg-prof__grid,.irg-cv__cols{ grid-template-columns:1fr; gap:2rem; }
  .irg-prof__img{ order:-1; max-width:420px; }
  .irg-counters__row{ grid-template-columns:1fr; gap:1.8rem; }
}

/* Steps (Come Funziona) */
.irg-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.irg-step{ position:relative; background:#fff; border:1px solid var(--irg-blue-soft); border-radius:14px; padding:2rem 1.4rem 1.6rem; }
.irg-step__n{ position:absolute; top:-16px; left:1.4rem; width:34px; height:34px; border-radius:50%; background:var(--irg-blue); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; }
.irg-step__ic{ display:inline-flex; width:54px; height:54px; align-items:center; justify-content:center; background:var(--irg-bg); border-radius:12px; color:var(--irg-blue); margin:.4rem 0 1rem; }
.irg-step__ic svg{ width:28px; height:28px; }
.irg-step h3{ font-size:1.15rem; margin:0 0 .5rem; }
.irg-step p{ color:var(--irg-muted); margin:0; font-size:.95rem; }

/* Num text variant */
.irg-num--txt{ font-size:1.5rem; }

/* Contact */
.irg-contact-wrap{ max-width:var(--irg-container); margin:0 auto; padding:3.5rem 20px; gap:3rem; }
.irg-contact-info h2,.irg-contact-form h2{ font-size:1.7rem; margin:0 0 1.2rem; }
.irg-contact-list{ list-style:none; margin:0 0 1.6rem; padding:0; }
.irg-contact-list li{ display:flex; gap:1rem; align-items:flex-start; margin-bottom:1.2rem; color:var(--irg-ink); }
.irg-ci-ic{ width:42px; height:42px; flex:0 0 42px; display:flex; align-items:center; justify-content:center; background:var(--irg-bg); border-radius:10px; color:var(--irg-blue); font-size:1.1rem; }
.irg-contact-list a{ color:var(--irg-blue); text-decoration:none; }
.irg-wa{ display:inline-flex; align-items:center; gap:.5rem; background:#25D366; color:#fff; font-weight:600; padding:.7em 1.3em; border-radius:8px; text-decoration:none; }
.irg-wa:hover{ background:#1da851; }
.irg-contact-form p{ color:var(--irg-muted); margin:0 0 1.4rem; }

/* Fluent Forms — align with brand */
.fluentform .ff-btn-submit,.fluentform button[type="submit"]{ background:var(--irg-blue)!important; border-color:var(--irg-blue)!important; border-radius:8px!important; }
.fluentform .ff-btn-submit:hover,.fluentform button[type="submit"]:hover{ background:var(--irg-navy)!important; }

/* Map */
.irg-map{ line-height:0; }
.irg-map iframe{ width:100%; height:420px; border:0; display:block; }

/* Project card (Ricerca) */
.irg-project__card{ background:var(--irg-bg); border:1px solid var(--irg-blue-soft); border-radius:16px; padding:2.5rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.irg-project__card h2{ font-size:1.8rem; margin:.3rem 0 .8rem; }
.irg-project__card p{ color:var(--irg-ink); margin:0; max-width:640px; }
.irg-pub2{ columns:2; column-gap:3rem; }
.irg-pub2 li{ break-inside:avoid; }

@media (max-width:900px){
  .irg-steps{ grid-template-columns:repeat(2,1fr); }
  .irg-pub2{ columns:1; }
}
@media (max-width:820px){
  .irg-project__card{ flex-direction:column; align-items:flex-start; }
}
@media (max-width:600px){
  .irg-steps{ grid-template-columns:1fr; }
}

/* ============================================================
   ESAME — scheda test (CPT single)
   ============================================================ */
.single-esame .content-area{ width:100%; }
.single-esame .entry-content,.single-esame .inside-article{ padding:0!important; margin:0; }
.irg-esame-hero{ position:relative; overflow:hidden; background:var(--irg-navy); color:#fff; padding:3.4rem 0 3rem; }
.irg-esame-hero__motif{ position:absolute; right:-2%; top:-24%; width:38%; height:150%; color:#fff; opacity:.13; pointer-events:none; }
.irg-esame-hero__motif svg{ width:100%; height:100%; }
.irg-esame-hero__in{ position:relative; }
.irg-esame-hero .irg-crumb,.irg-esame-hero .irg-crumb a{ color:#a9c3e6; text-decoration:none; }
.irg-esame-hero .irg-crumb a:hover{ color:#fff; }
.irg-esame-hero__kick{ display:inline-block; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--irg-accent); margin:.35rem 0 .05rem; }
.irg-esame-hero h1{ color:#fff; font-family:var(--font-head); font-weight:600; font-size:clamp(2rem,3.6vw,2.9rem); line-height:1.08; letter-spacing:-.015em; margin:.15rem 0 .5rem; }
.irg-esame-hero p{ color:#cfe0f4; margin:0; max-width:640px; font-size:1.08rem; line-height:1.6; }

.irg-esame-grid{ display:grid; grid-template-columns:1fr 340px; gap:3rem; align-items:start; }
.irg-esame-main h2{ font-size:1.6rem; margin:0 0 1rem; }
.irg-sub-h{ margin-top:2.2rem!important; }
.irg-rich{ color:var(--irg-ink); line-height:1.6; }
.irg-rich p{ margin:0 0 1rem; }
.irg-acs{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:.6rem; }
.irg-acs__i{ display:flex; gap:.8rem; align-items:center; background:var(--irg-bg); border-radius:10px; padding:1rem; font-size:.95rem; }
.irg-mini-ic{ flex:0 0 auto; width:36px; height:36px; display:flex; align-items:center; justify-content:center; color:var(--irg-blue); background:#fff; border-radius:8px; }
.irg-mini-ic svg{ width:20px; height:20px; }

.irg-check{ list-style:none; margin:.5rem 0 0; padding:0; }
.irg-check li{ position:relative; padding-left:1.9rem; margin-bottom:.7rem; color:var(--irg-ink); }
.irg-check li:before{ content:""; position:absolute; left:0; top:.15em; width:18px; height:18px; border-radius:50%; background:var(--irg-blue); }
.irg-check li:after{ content:""; position:absolute; left:5.5px; top:.42em; width:6px; height:3px; border-left:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(-45deg); }

.irg-esame-side{ position:sticky; top:20px; display:flex; flex-direction:column; gap:1.2rem; }
.irg-side-box{ background:var(--irg-bg); border:1px solid var(--irg-blue-soft); border-radius:14px; padding:1.4rem; display:flex; flex-direction:column; gap:.7rem; }
.irg-side-points{ list-style:none; margin:0 0 .6rem; padding:0; }
.irg-side-points li{ display:flex; gap:.6rem; align-items:center; margin-bottom:.75rem; color:var(--irg-navy); font-weight:500; font-size:.92rem; }
.irg-side-box .irg-btn-solid,.irg-side-box .irg-btn-ghost{ justify-content:center; }
.irg-info-box{ border:1px solid var(--irg-blue-soft); border-radius:14px; padding:1.4rem; }
.irg-info-box h3{ margin:0 0 .6rem; font-size:1.1rem; }
.irg-info-box table{ width:100%; border-collapse:collapse; }
.irg-info-box th{ text-align:left; font-weight:600; color:var(--irg-navy); padding:.55rem 0; vertical-align:top; width:52%; font-size:.88rem; }
.irg-info-box td{ text-align:right; color:var(--irg-muted); padding:.55rem 0; font-size:.88rem; }
.irg-info-box tr+tr th,.irg-info-box tr+tr td{ border-top:1px solid var(--irg-blue-soft); }

.irg-cse-sec{ background:var(--irg-bg); }
.irg-cse{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; }
.irg-cse__i{ position:relative; background:#fff; border:1px solid var(--irg-blue-soft); border-radius:14px; padding:1.8rem 1.2rem 1.4rem; text-align:center; }
.irg-cse__n{ position:absolute; top:-14px; left:50%; transform:translateX(-50%); width:30px; height:30px; border-radius:50%; background:var(--irg-blue); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; font-size:.9rem; }
.irg-cse__i .irg-step__ic{ margin:.4rem auto 1rem; }
.irg-cse__i h4{ margin:0 0 .4rem; font-size:1.02rem; }
.irg-cse__i p{ color:var(--irg-muted); margin:0; font-size:.88rem; }

.irg-vf{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.irg-faq{ margin-top:.5rem; }
.irg-faq details{ border-bottom:1px solid var(--irg-blue-soft); padding:.9rem 0; }
.irg-faq summary{ cursor:pointer; font-weight:600; color:var(--irg-navy); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.irg-faq summary::-webkit-details-marker{ display:none; }
.irg-faq summary:after{ content:"+"; color:var(--irg-blue); font-size:1.3rem; line-height:1; }
.irg-faq details[open] summary:after{ content:"\2013"; }
.irg-faq details>div{ color:var(--irg-muted); margin-top:.6rem; font-size:.95rem; }

@media (max-width:900px){
  .irg-esame-grid{ grid-template-columns:1fr; }
  .irg-esame-side{ position:static; }
  .irg-cse{ grid-template-columns:repeat(2,1fr); }
  .irg-vf{ grid-template-columns:1fr; }
  .irg-acs{ grid-template-columns:1fr; }
}

/* ============================================================
   NAVIGAZIONE — landing area + indice A→Z + overview
   ============================================================ */
.irg-bleed{ margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.irg-tgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.irg-tcard{ display:flex; flex-direction:column; gap:.5rem; background:#fff; border:1px solid var(--irg-blue-soft); border-radius:14px; padding:1.6rem; text-decoration:none; transition:.15s ease; }
.irg-tcard:hover{ border-color:var(--irg-blue); box-shadow:0 10px 24px rgba(7,39,90,.10); transform:translateY(-3px); }
.irg-tcard__area{ font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--irg-blue-light); font-weight:700; }
.irg-tcard h3{ font-size:1.1rem; margin:0; color:var(--irg-navy); }
.irg-tcard p{ color:var(--irg-muted); margin:0; font-size:.92rem; flex:1; }
.irg-tcard__arrow{ color:var(--irg-blue); font-weight:600; font-size:.9rem; }

.irg-azchips{ display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom:1.6rem; }
.irg-azchips a{ background:var(--irg-bg); border:1px solid var(--irg-blue-soft); color:var(--irg-navy); border-radius:999px; padding:.4em 1em; text-decoration:none; font-size:.88rem; }
.irg-azchips a:hover{ background:var(--irg-blue); color:#fff; border-color:var(--irg-blue); }
.irg-aznav{ display:flex; flex-wrap:wrap; gap:.3rem; padding:1rem 0; border-top:1px solid var(--irg-blue-soft); border-bottom:1px solid var(--irg-blue-soft); margin-bottom:1.8rem; }
.irg-aznav a{ min-width:34px; height:34px; padding:0 .3rem; display:flex; align-items:center; justify-content:center; border-radius:8px; color:var(--irg-blue); font-weight:700; text-decoration:none; }
.irg-aznav a:hover{ background:var(--irg-blue); color:#fff; }
.irg-azgroup{ margin-bottom:1.8rem; }
.irg-azgroup h2{ font-size:1.4rem; color:var(--irg-blue); border-bottom:2px solid var(--irg-blue-soft); padding-bottom:.4rem; margin:0 0 1rem; }
.irg-azgroup ul{ list-style:none; margin:0; padding:0; columns:3; column-gap:2.5rem; }
.irg-azgroup li{ margin-bottom:.6rem; break-inside:avoid; }
.irg-azgroup a{ color:var(--irg-ink); text-decoration:none; }
.irg-azgroup a:hover{ color:var(--irg-blue); }

@media (max-width:900px){
  .irg-tgrid{ grid-template-columns:repeat(2,1fr); }
  .irg-azgroup ul{ columns:2; }
}
@media (max-width:600px){
  .irg-tgrid{ grid-template-columns:1fr; }
  .irg-azgroup ul{ columns:1; }
}

/* Contatori nella scheda (es. KIR = 4) */
.irg-count-4 .irg-counters__row{ grid-template-columns:repeat(4,1fr); }
@media (max-width:820px){ .irg-count-4 .irg-counters__row{ grid-template-columns:repeat(2,1fr); } }

/* Pagina R&D KIR */
.irg-rd-grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:3rem; align-items:start; }
.irg-rd-card{ background:var(--irg-bg); border:1px solid var(--irg-blue-soft); border-radius:14px; padding:1.6rem; }
.irg-rd-card h3{ margin:0 0 .8rem; font-size:1.15rem; }
.irg-rd-card ul{ list-style:none; margin:0; padding:0; }
.irg-rd-card li{ position:relative; padding-left:1.4rem; margin-bottom:.7rem; color:var(--irg-ink); }
.irg-rd-card li:before{ content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; border-radius:50%; background:var(--irg-blue); }
@media (max-width:820px){ .irg-rd-grid{ grid-template-columns:1fr; } }

/* ============================================================
   WOOCOMMERCE
   ============================================================ */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce .button, .woocommerce a.button.alt{
  background:var(--irg-blue)!important; color:#fff!important; border-radius:8px!important; font-weight:600!important; padding:.7em 1.3em!important; border:2px solid var(--irg-blue)!important; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .button:hover, .woocommerce a.button.alt:hover{ background:var(--irg-navy)!important; border-color:var(--irg-navy)!important; }
.woocommerce a.button.irg-scheda-link{ background:transparent!important; color:var(--irg-blue)!important; }
.woocommerce ul.products{ display:grid!important; grid-template-columns:repeat(4,1fr); gap:1.4rem; margin:0!important; padding:0!important; }
.woocommerce ul.products::before, .woocommerce ul.products::after{ display:none!important; }
.woocommerce ul.products li.product{ float:none!important; width:auto!important; margin:0!important; text-align:left; background:#fff; border:1px solid var(--irg-blue-soft); border-radius:14px; padding:1.2rem; display:flex; flex-direction:column; gap:.4rem; }
.woocommerce ul.products li.product:hover{ border-color:var(--irg-blue); box-shadow:0 10px 24px rgba(7,39,90,.10); }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:1.05rem!important; color:var(--irg-navy)!important; padding:.3rem 0!important; font-weight:700; }
.woocommerce ul.products li.product a img{ border-radius:10px; margin-bottom:.4rem; }
.woocommerce ul.products li.product .price{ color:var(--irg-muted)!important; margin:0; }
.woocommerce ul.products li.product .button{ margin-top:auto; align-self:flex-start; }
.irg-price-tbd{ color:var(--irg-muted); font-weight:600; margin:.4rem 0; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering{ margin-bottom:1.2rem; color:var(--irg-muted); }
.woocommerce div.product .product_title{ color:var(--irg-navy); }
.woocommerce-message, .woocommerce-info{ border-top-color:var(--irg-blue)!important; }
.woocommerce-message::before, .woocommerce-info::before{ color:var(--irg-blue)!important; }
@media (max-width:900px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .woocommerce ul.products{ grid-template-columns:1fr; } }

/* ============================================================
   AREE PAZIENTI / MEDICI
   ============================================================ */
.irg-gate{ max-width:640px; margin:2rem auto; text-align:center; background:var(--irg-bg); border:1px solid var(--irg-blue-soft); border-radius:16px; padding:3rem 2rem; }
.irg-gate__ic{ display:inline-flex; width:64px; height:64px; align-items:center; justify-content:center; background:#fff; border-radius:50%; color:var(--irg-blue); margin-bottom:1rem; }
.irg-gate__ic svg{ width:32px; height:32px; }
.irg-gate h2{ font-size:1.5rem; margin:0 0 .8rem; }
.irg-gate p{ color:var(--irg-muted); max-width:480px; margin:0 auto 1.6rem; }
.irg-gate__cta{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.irg-referti-note{ color:var(--irg-muted); font-size:.9rem; margin-bottom:1rem; }
.irg-referti.shop_table{ width:100%; border-collapse:collapse; border:1px solid var(--irg-blue-soft); border-radius:12px; overflow:hidden; }
.irg-referti.shop_table th{ background:var(--irg-navy); color:#fff; text-align:left; padding:.85rem 1.1rem; font-weight:600; }
.irg-referti.shop_table td{ padding:.85rem 1.1rem; border-top:1px solid var(--irg-blue-soft); vertical-align:middle; }
.irg-referti.shop_table th:last-child, .irg-referti.shop_table td:last-child{ width:170px; text-align:right; white-space:nowrap; }
.irg-referti.shop_table td:first-child{ font-weight:600; color:var(--irg-navy); }
.irg-referti.shop_table .button{ white-space:nowrap; }

.woocommerce-account .woocommerce{ display:grid; grid-template-columns:250px 1fr; gap:2.5rem; }
.woocommerce-account .woocommerce-MyAccount-navigation{ float:none!important; width:auto!important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; border:1px solid var(--irg-blue-soft); border-radius:12px; overflow:hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li{ border-bottom:1px solid var(--irg-blue-soft); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{ border-bottom:none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{ display:block; padding:.85rem 1.2rem; color:var(--irg-navy); text-decoration:none; font-weight:500; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ background:var(--irg-bg); color:var(--irg-blue); }
.woocommerce-account .woocommerce-MyAccount-content{ float:none!important; width:auto!important; }
.woocommerce .col2-set, .woocommerce-page .col2-set{ display:grid; grid-template-columns:1fr 1fr; gap:2rem; width:100%; }
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2{ width:auto!important; float:none!important; }
.woocommerce form.login, .woocommerce form.register{ border:1px solid var(--irg-blue-soft); border-radius:12px; padding:1.6rem; }
@media (max-width:768px){ .woocommerce-account .woocommerce, .woocommerce .col2-set{ grid-template-columns:1fr; } }

/* ============================================================
   BLOG / NEWS
   ============================================================ */
.irg-blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.8rem; }
.irg-post-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--irg-blue-soft); border-radius:14px; overflow:hidden; transition:box-shadow .2s, transform .2s; }
.irg-post-card:hover{ box-shadow:0 12px 30px rgba(7,39,90,.12); transform:translateY(-3px); }
.irg-post-card__imgwrap{ display:block; aspect-ratio:16/9; overflow:hidden; background:var(--irg-bg); }
.irg-post-card__img{ width:100%; height:100%; object-fit:cover; display:block; }
.irg-post-card__ph{ display:block; width:100%; height:100%; background:linear-gradient(135deg,var(--irg-blue) 0%,var(--irg-navy) 100%); }
.irg-post-card__body{ padding:1.25rem 1.35rem 1.5rem; display:flex; flex-direction:column; gap:.55rem; flex:1; }
.irg-post-card__cat{ align-self:flex-start; font-size:.72rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--irg-blue); background:var(--irg-bg); padding:.2rem .6rem; border-radius:5px; text-decoration:none; }
.irg-post-card__title{ font-size:1.15rem; line-height:1.35; margin:.1rem 0; }
.irg-post-card__title a{ color:var(--irg-navy); text-decoration:none; }
.irg-post-card__title a:hover{ color:var(--irg-blue); }
.irg-post-card__meta{ font-size:.82rem; color:var(--irg-muted); }
.irg-post-card__excerpt{ color:var(--irg-muted); font-size:.94rem; line-height:1.6; margin:0; }
.irg-post-card__more{ margin-top:auto; padding-top:.4rem; font-weight:600; color:var(--irg-blue); text-decoration:none; }
.irg-post-card__more:hover{ text-decoration:underline; }

/* Stato vuoto */
.irg-empty{ text-align:center; max-width:520px; margin:2rem auto; padding:3rem 1.5rem; }
.irg-empty__ic{ display:inline-flex; width:64px; height:64px; align-items:center; justify-content:center; color:var(--irg-blue); background:var(--irg-bg); border-radius:50%; margin-bottom:1.2rem; }
.irg-empty__ic svg{ width:30px; height:30px; }
.irg-empty h2{ font-size:1.5rem; margin:0 0 .6rem; color:var(--irg-navy); }
.irg-empty p{ color:var(--irg-muted); margin:0 0 1.4rem; }

/* Articolo singolo */
.irg-article{ max-width:760px; margin:0 auto; }
.irg-article__hmeta{ color:#cfe0f4; font-size:.9rem; margin:.6rem 0 0; }
.irg-article__cat{ font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.irg-article__cover{ margin:0 0 2rem; border-radius:14px; overflow:hidden; }
.irg-article__cover img{ width:100%; height:auto; display:block; }
.irg-article__body{ font-size:1.05rem; line-height:1.75; color:#2a3648; }
.irg-article__body h2{ font-size:1.5rem; margin:2rem 0 .8rem; color:var(--irg-navy); }
.irg-article__body h3{ font-size:1.2rem; margin:1.6rem 0 .6rem; color:var(--irg-navy); }
.irg-article__body p{ margin:0 0 1.1rem; }
.irg-article__body a{ color:var(--irg-blue); }
.irg-article__body img{ max-width:100%; height:auto; border-radius:10px; }
.irg-article__foot{ margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--irg-blue-soft); }

/* Paginazione */
.irg-pagination{ margin-top:2.5rem; }
.irg-pagination .page-numbers{ display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 .6rem; margin:0 .2rem; border:1px solid var(--irg-blue-soft); border-radius:8px; color:var(--irg-navy); text-decoration:none; font-weight:600; }
.irg-pagination .page-numbers.current{ background:var(--irg-blue); color:#fff; border-color:var(--irg-blue); }
.irg-pagination .page-numbers:hover:not(.current){ background:var(--irg-bg); }
.irg-pagination .nav-links{ display:flex; justify-content:center; flex-wrap:wrap; gap:.2rem; }

@media (max-width:900px){ .irg-blog-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .irg-blog-grid{ grid-template-columns:1fr; } }

/* Note "prenotazione" (biopsie) sous le CTA de la fiche */
.irg-pren-note{ margin:.7rem 0 0; font-size:.85rem; font-weight:600; color:var(--irg-blue); text-align:center; }
/* Page FAQ : largeur lisible */
.irg-faqpage{ max-width:840px; }
.irg-faqpage .irg-faq details{ margin-bottom:.7rem; }

/* ============================================================
   REDESIGN — Direzione biotech/scientific (hero editoriale + bottoni)
   ============================================================ */
.irg-btn-solid{ background:var(--irg-navy); color:#fff!important; border-color:var(--irg-navy); }
.irg-btn-solid:hover{ background:var(--irg-blue); border-color:var(--irg-blue); }
.irg-btn-solid.is-accent{ background:var(--accent); color:var(--irg-accent-ink)!important; border-color:var(--accent); }
.irg-btn-solid.is-accent:hover{ background:var(--irg-navy); color:#fff!important; border-color:var(--irg-navy); }
.irg-btn-ghost{ color:var(--irg-navy)!important; border-color:var(--irg-navy); }
.irg-btn-ghost:hover{ background:var(--irg-navy); color:#fff!important; }

.irg-hero2{ position:relative; overflow:hidden; background:linear-gradient(180deg,var(--surface) 0%, var(--surface-3) 100%); border-bottom:1px solid var(--border); }
.irg-hero2__motif{ position:absolute; inset:0; pointer-events:none; color:var(--irg-navy); }
.irg-hero2__motif svg{ position:absolute; right:-6%; top:-14%; width:56%; height:128%; opacity:.42; }
.irg-hero2__grid{ position:relative; display:grid; grid-template-columns:1.08fr .92fr; gap:52px; align-items:center; padding:78px 20px 46px; }
.irg-hero2__title{ font-family:var(--font-head); font-weight:600; font-size:clamp(2.5rem,5vw,4.1rem); line-height:1.05; letter-spacing:-.02em; color:var(--irg-navy); margin:.5rem 0 1.1rem; }
.irg-hero2__title em{ font-style:italic; color:var(--accent); }
.irg-hero2__sub{ font-size:1.16rem; line-height:1.65; color:var(--text-muted); max-width:39ch; margin:0 0 1.9rem; }
.irg-hero2__cta{ display:flex; gap:1rem; flex-wrap:wrap; }
.irg-hero2__visual{ display:flex; justify-content:center; }
.irg-hero2__card{ position:relative; width:100%; max-width:440px; aspect-ratio:1/.82; border-radius:var(--irg-radius-lg); border:1px solid var(--border);
  background:radial-gradient(120% 120% at 78% 12%, color-mix(in srgb,var(--irg-blue) 10%,transparent), transparent 55%), linear-gradient(160deg,var(--surface-2),var(--surface));
  display:grid; place-items:center; box-shadow:var(--shadow-md); }
.irg-hero2__card svg{ width:80%; height:80%; }
.irg-hero2__cap{ position:absolute; left:18px; bottom:14px; font-family:var(--font-mono); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); }
.irg-hero2__proof{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--border); }
.irg-hero2__proof > div{ padding:20px 6px; border-right:1px solid var(--border); }
.irg-hero2__proof > div:last-child{ border-right:none; }
.irg-hero2__proof .irg-num{ display:block; font-family:var(--font-head); font-weight:600; font-size:1.7rem; color:var(--irg-navy); font-variant-numeric:tabular-nums; line-height:1.15; }
.irg-hero2__pl{ font-family:var(--font-mono); font-size:.64rem; letter-spacing:.07em; text-transform:uppercase; color:var(--text-muted); }
@media (max-width:900px){
  .irg-hero2__grid{ grid-template-columns:1fr; gap:32px; padding:52px 20px 36px; }
  .irg-hero2__motif svg{ opacity:.22; }
  .irg-hero2__proof{ grid-template-columns:1fr 1fr; }
  .irg-hero2__proof > div:nth-child(2){ border-right:none; }
}
@media (max-width:560px){ .irg-hero2__proof{ grid-template-columns:1fr; } .irg-hero2__proof > div{ border-right:none; } }

/* ---- Ricerca & Innovazione (sezione differenziante) ---- */
.irg-research{ background:var(--surface-2); position:relative; }
.irg-research__head{ max-width:62ch; margin:.6rem 0 2.4rem; }
.irg-research__title{ font-family:var(--font-head); font-size:clamp(1.9rem,3.4vw,2.7rem); font-weight:600; color:var(--irg-navy); margin:.5rem 0 .7rem; letter-spacing:-.015em; }
.irg-research__lead{ color:var(--text-muted); font-size:1.08rem; max-width:58ch; }
.irg-research__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.irg-rcard{ display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border); border-radius:var(--irg-radius-lg); padding:1.7rem 1.6rem; text-decoration:none; box-shadow:var(--shadow-sm); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.irg-rcard:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--irg-line-strong); }
.irg-rcard__type{ font-family:var(--font-mono); font-size:.66rem; letter-spacing:.09em; text-transform:uppercase; color:var(--accent); }
.irg-rcard h3{ font-family:var(--font-head); font-size:1.22rem; font-weight:600; color:var(--irg-navy); margin:.6rem 0 .5rem; line-height:1.2; }
.irg-rcard p{ color:var(--text-muted); font-size:.95rem; line-height:1.6; margin:0 0 1.1rem; flex:1; }
.irg-rcard__go{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.05em; color:var(--accent); text-transform:uppercase; }

/* ---- Network scientifico (per categorie) ---- */
.irg-network__h2{ text-align:left; font-family:var(--font-head); font-size:clamp(1.7rem,3vw,2.3rem); color:var(--irg-navy); margin:.5rem 0 .5rem; letter-spacing:-.015em; }
.irg-network__lead{ color:var(--text-muted); max-width:58ch; margin:0 0 2.1rem; }
.irg-network__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; }
.irg-netcol h4{ font-family:var(--font-mono); font-size:.7rem; letter-spacing:.09em; text-transform:uppercase; color:var(--accent); margin:0 0 .85rem; padding-bottom:.6rem; border-bottom:1px solid var(--border); }
.irg-netcol ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; }
.irg-netcol li{ font-family:var(--font-body); font-weight:500; color:var(--text); font-size:.98rem; }
.irg-network__note{ margin-top:1.9rem; font-size:.85rem; color:var(--text-muted); font-style:italic; }

/* Eyebrow -> accent (coerenza con i kicker) */
.irg-eyebrow{ font-family:var(--font-mono)!important; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--accent)!important; font-weight:500; }

@media (max-width:900px){ .irg-research__grid{ grid-template-columns:1fr; } .irg-network__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .irg-network__grid{ grid-template-columns:1fr; } }

/* Fiche — accento parsimonioso sui numeri di step */
.irg-cse__n{ background:var(--accent); color:var(--irg-accent-ink); box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent); }

/* ---- Mobile fixes (redesign biotech/scientific) ---- */
body{ overflow-x:hidden; }
@media (max-width:600px){
  .irg-hero2__title{ font-size:clamp(1.8rem,8.5vw,2.4rem); line-height:1.12; }
  .irg-hero2__sub{ font-size:1rem; max-width:none; }
  .irg-hero2__grid{ padding:38px 20px 28px; gap:26px; }
  .irg-areas{ grid-template-columns:1fr; }
  .irg-search__form button{ padding:.7em 1.2em; white-space:nowrap; }
  .irg-esame-hero h1{ font-size:clamp(1.7rem,7vw,2.2rem); }
  .irg-research__grid{ grid-template-columns:1fr; }
}

/* Mobile: forzare il wrap dei titoli hero */
@media (max-width:600px){
  .irg-hero2__title{ font-size:1.7rem!important; line-height:1.16; overflow-wrap:break-word; }
  .irg-esame-hero h1, .irg-hero2__sub{ overflow-wrap:break-word; }
}

/* Fix débordement hero mobile : autoriser le shrink des grid items */
@media (max-width:900px){
  .irg-hero2__grid{ grid-template-columns:minmax(0,1fr); }
  .irg-hero2__text{ min-width:0; }
  .irg-hero2__title,.irg-hero2__sub{ max-width:100%; }
}

/* Hero mobile robuste : flux block (élimine tout souci de grid track) */
@media (max-width:900px){
  .irg-hero2{ overflow:hidden; }
  .irg-hero2 .irg-wrap{ max-width:100%; }
  .irg-hero2__grid{ display:block; }
  .irg-hero2__text{ max-width:100%; }
  .irg-hero2__title{ font-size:clamp(1.6rem,7.5vw,2.3rem); word-break:break-word; }
  .irg-hero2__sub{ max-width:100%; }
  .irg-hero2__visual{ margin-top:1.6rem; }
  .irg-hero2__card{ max-width:100%; margin:0 auto; }
}

/* Home : contenu déjà pleine largeur -> bleed inutile (et source de débordement) */
.home .irg-bleed{ margin-left:0; margin-right:0; }

/* ---- Ricerca hub : timeline milestone ---- */
.irg-timeline{ list-style:none; margin:1.6rem 0 0; padding:0; position:relative; max-width:760px; }
.irg-timeline::before{ content:""; position:absolute; left:9px; top:8px; bottom:16px; width:2px; background:var(--border); }
.irg-timeline li{ position:relative; padding:0 0 1.7rem 2.9rem; }
.irg-timeline li::before{ content:""; position:absolute; left:1px; top:4px; width:18px; height:18px; border-radius:50%; background:var(--surface); border:2px solid var(--accent); box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent); }
.irg-timeline__y{ display:block; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.06em; color:var(--accent); font-weight:500; }
.irg-timeline h4{ font-family:var(--font-head); font-size:1.18rem; font-weight:600; color:var(--irg-navy); margin:.2rem 0 .3rem; }
.irg-timeline p{ color:var(--text-muted); font-size:.95rem; line-height:1.6; margin:0; }
.irg-timeline em{ font-style:italic; color:var(--text); }
.irg-pub2 li{ padding:.55rem 0; border-top:1px solid var(--border); font-size:.96rem; }
.irg-pub2 li:first-child{ border-top:none; }
.irg-pub2 em{ color:var(--irg-navy); font-style:italic; }

/* ============================================================
   REVISIONE DOC CLIENT — §8 / §11 / §12 / §14
   ============================================================ */
/* Autocomplete categorizzato (§8 / §14) */
.irg-search__form{ position:relative; }
.irg-suggest{ position:absolute; top:calc(100% + 8px); left:0; right:0; background:var(--surface); border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow-md); z-index:60; overflow:hidden; }
.irg-suggest__cat{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-muted); padding:.65rem 1rem .25rem; }
.irg-suggest a{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding:.5rem 1rem; color:var(--text); text-decoration:none; font-size:.98rem; }
.irg-suggest a .t{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.irg-suggest a .c{ flex:none; color:var(--text-muted); font-size:.85rem; }
.irg-suggest a:hover,.irg-suggest a.is-active{ background:var(--surface-2); color:var(--irg-navy); }
.irg-suggest__all{ border-top:1px solid var(--border); font-weight:600; color:var(--irg-blue) !important; }
.irg-suggest__empty{ padding:.8rem 1rem; color:var(--text-muted); font-size:.95rem; }

/* Chips filtro (catalogo §12, pubblicazioni §11) */
.irg-fchips{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin:0 0 1.5rem; }
.irg-fchips__lbl{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-muted); margin-right:.35rem; }
.irg-fchips button{ border:1px solid var(--border); background:var(--surface); color:var(--text); border-radius:999px; padding:.42em 1.05em; font-size:.92rem; cursor:pointer; font-family:var(--font-body); transition:border-color .15s,color .15s,background .15s; }
.irg-fchips button:hover{ border-color:var(--irg-blue); color:var(--irg-blue); }
.irg-fchips button.is-on{ background:var(--irg-navy); border-color:var(--irg-navy); color:#fff; }
[data-tags].is-hidden{ display:none; }
.irg-pub2__src{ font-family:var(--font-mono); font-size:.8rem; color:var(--irg-blue); white-space:nowrap; margin-left:.4rem; }

/* Home — bande di accesso (professionisti / consulenza / news) (§8) */
.irg-newsband{ background:var(--surface-2); border:1px solid var(--border); border-radius:var(--irg-radius-lg); padding:1.7rem 2rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
.irg-newsband h3{ margin:.15rem 0 .25rem; font-size:1.35rem; }
.irg-newsband p{ margin:0; color:var(--text-muted); max-width:62ch; }
.irg-newsband__btns{ display:flex; gap:.8rem; flex-wrap:wrap; }

/* Home — Servizio nazionale (§8) */
.irg-svc{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:1.6rem; }
.irg-svc__step{ background:var(--surface); border:1px solid var(--border); border-radius:var(--irg-radius-lg); padding:1.3rem 1.2rem; min-width:0; }
.irg-svc__n{ font-family:var(--font-mono); font-size:.78rem; color:var(--accent); letter-spacing:.12em; }
.irg-svc__step h4{ margin:.35rem 0 .25rem; font-size:1.05rem; }
.irg-svc__step p{ margin:0; color:var(--text-muted); font-size:.92rem; }

@media (max-width:900px){ .irg-svc{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .irg-svc{ grid-template-columns:1fr; } .irg-newsband{ padding:1.4rem 1.2rem; } }

/* Foto reali IRG (doc client §13) — figure editoriali */
.irg-tech__photo,.irg-logistica__photo,.irg-scheda__visual{ margin:2rem auto 0; max-width:860px; }
.irg-tech__photo img,.irg-logistica__photo img,.irg-scheda__visual img{ width:100%; height:auto; display:block; border-radius:var(--irg-radius-lg); box-shadow:var(--shadow-md); }
.irg-tech__photo figcaption,.irg-logistica__photo figcaption,.irg-scheda__visual figcaption{ font-family:var(--font-mono); font-size:.78rem; letter-spacing:.06em; color:var(--text-muted); text-align:center; margin-top:.7rem; }
.irg-scheda__visual{ margin:1.6rem 0 2.2rem; max-width:none; }

/* ============================================================
   SCIENTIFIC EDITORIAL — direzione approvata 2026-08-21
   Homepage, catalogo, Ricerca & Innovazione e schede test.
   ============================================================ */

/* Chrome istituzionale */
.irg-topbar{ background:var(--irg-navy-2); }
.irg-topbar__inner::before{ content:"ISTITUTO DI RICERCHE GENETICHE · NAPOLI"; margin-right:auto; color:var(--irg-accent); font:500 .68rem/1 var(--font-mono); letter-spacing:.11em; }
.irg-topbar__contact{ display:none; }
.site-header{ border-bottom-color:var(--border); }
.main-navigation .main-nav ul li.irg-nav-cta a{ background:var(--irg-accent); color:var(--irg-accent-ink); border-radius:0; padding:.78em 1.4em; }
.main-navigation .main-nav ul li.irg-nav-cta a:hover{ background:var(--irg-navy); color:#fff; }
.irg-footer{ background:var(--irg-navy); }
.site-info{ background:var(--irg-navy-2); }

/* Les gabarits validés occupent toute la largeur, le contenu reste borné. */
body.home #page,
body.page-template-page-tutti-i-test #page,
body.page-template-page-pubblicazioni-ricerche-genetiche-napoli #page,
body.single-esame #page{ max-width:none; }
body.home #content,
body.page-template-page-tutti-i-test #content,
body.page-template-page-pubblicazioni-ricerche-genetiche-napoli #content,
body.single-esame #content{ display:block; padding:0; }
body.home #primary,
body.page-template-page-tutti-i-test #primary,
body.page-template-page-pubblicazioni-ricerche-genetiche-napoli #primary,
body.single-esame #primary{ width:100%; }

.irg-se{ width:100%; overflow:hidden; background:var(--irg-bg); color:var(--text); font-family:var(--font-body); }
.irg-se *{ box-sizing:border-box; }
.irg-se img{ max-width:100%; }
.irg-se-container{ width:min(100% - 40px,var(--irg-container)); margin-inline:auto; }
.irg-se-section{ padding:clamp(68px,8vw,112px) 0; }
.irg-se-section--paper{ background:var(--surface); }
.irg-se-section--ink{ background:var(--irg-navy-2); color:#fff; }
.irg-se h1,.irg-se h2,.irg-se h3{ color:var(--irg-navy); font-family:var(--font-head); font-weight:500; letter-spacing:-.025em; }
.irg-se-section--ink h1,.irg-se-section--ink h2,.irg-se-section--ink h3{ color:#fff; }
.irg-se h2{ font-size:clamp(2.2rem,4.5vw,4.2rem); line-height:1.02; margin:.45rem 0 1rem; }
.irg-se h3{ line-height:1.16; }
.irg-se p{ line-height:1.7; }
.irg-se-lead{ max-width:62ch; color:var(--text-muted); font-size:clamp(1rem,1.4vw,1.18rem); }
.irg-se-section--ink .irg-se-lead{ color:#B9C7CE; }
.irg-se-eyebrow,.irg-se-index,.irg-se-breadcrumb,.irg-se-code{ display:block; color:var(--irg-blue); font:500 .72rem/1.45 var(--font-mono); letter-spacing:.13em; text-transform:uppercase; }
.irg-se-eyebrow::before{ content:""; display:inline-block; width:28px; height:2px; margin:0 12px 3px 0; background:var(--irg-accent); }
.irg-se-section--ink .irg-se-eyebrow{ color:#8DB4C8; }
.irg-se-actions{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.irg-se-btn{ display:inline-flex; min-height:52px; align-items:center; justify-content:center; gap:.55rem; padding:.75rem 1.45rem; border:1px solid var(--irg-navy); border-radius:0; color:var(--irg-navy); background:transparent; font-weight:600; text-decoration:none; transition:background .16s,color .16s,border-color .16s; }
.irg-se-btn:hover{ background:var(--irg-navy); color:#fff; }
.irg-se-btn--primary{ background:var(--irg-accent); border-color:var(--irg-accent); color:var(--irg-accent-ink); }
.irg-se-btn--primary:hover{ background:var(--irg-navy); border-color:var(--irg-navy); color:#fff; }
.irg-se-btn--ink{ background:var(--irg-navy); color:#fff; }
.irg-se-btn--ink:hover{ background:var(--irg-blue); border-color:var(--irg-blue); }
.irg-se-link{ color:var(--irg-blue); font:500 .76rem/1.3 var(--font-mono); letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.irg-se-link:hover{ color:var(--irg-navy); }

/* Homepage — hero photographique */
.irg-se-hero{ position:relative; background-color:var(--irg-bg); background-image:linear-gradient(rgba(11,39,70,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(11,39,70,.035) 1px,transparent 1px); background-size:36px 36px; }
.irg-se-hero__grid{ display:grid; grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr); align-items:center; gap:clamp(42px,6vw,88px); min-height:690px; padding-block:72px 86px; }
.irg-se-hero__copy{ position:relative; z-index:2; }
.irg-se-index{ margin-bottom:52px; color:#7C898E; }
.irg-se-hero h1{ max-width:800px; margin:18px 0 24px; font-size:clamp(3.4rem,6.3vw,6.35rem); line-height:.94; }
.irg-se-hero h1 em{ color:var(--irg-blue); font-weight:400; }
.irg-se-hero .irg-se-lead{ margin:0 0 32px; max-width:54ch; }
.irg-se-hero__visual{ position:relative; min-height:520px; }
.irg-se-hero__main{ position:absolute; inset:0 32px 45px 0; width:calc(100% - 32px); height:calc(100% - 45px); object-fit:cover; object-position:center; filter:saturate(.88) contrast(1.02); }
.irg-se-hero__detail{ position:absolute; right:0; bottom:0; width:42%; height:42%; object-fit:cover; border:10px solid var(--irg-bg); }
.irg-se-hero__caption{ position:absolute; left:-22px; bottom:4px; display:flex; flex-direction:column; min-width:230px; padding:16px 20px; background:var(--irg-navy); color:#fff; }
.irg-se-hero__caption strong{ color:#fff; font-family:var(--font-head); font-size:1.15rem; font-weight:500; }
.irg-se-hero__caption span{ color:#B9C7CE; font:400 .65rem/1.4 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }

.irg-se-evidence{ background:var(--irg-accent); color:var(--irg-accent-ink); }
.irg-se-evidence__grid{ display:grid; grid-template-columns:repeat(4,1fr); }
.irg-se-evidence__grid>div{ display:flex; flex-direction:column; min-height:118px; justify-content:center; padding:22px 28px; border-left:1px solid rgba(7,27,49,.22); }
.irg-se-evidence__grid>div:last-child{ border-right:1px solid rgba(7,27,49,.22); }
.irg-se-evidence strong{ font:500 1.55rem/1.1 var(--font-head); }
.irg-se-evidence span{ margin-top:6px; font:500 .63rem/1.35 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }

.irg-se-search{ background:var(--surface); border-bottom:1px solid var(--border); }
.irg-se-search__layout{ display:grid; grid-template-columns:260px 1fr; align-items:center; gap:52px; padding-block:34px; }
.irg-se-search__label{ display:flex; flex-direction:column; }
.irg-se-search__label strong{ color:var(--irg-navy); font:500 1.45rem/1.15 var(--font-head); }
.irg-se-search__label span{ color:var(--text-muted); font-size:.9rem; }
.irg-se-search__form{ border:0; border-bottom:2px solid var(--irg-navy); border-radius:0; box-shadow:none; padding:0; }
.irg-se-search__form::before{ display:none; }
.irg-se-search__form:focus-within{ border-color:var(--irg-blue); box-shadow:none; }
.irg-se-search__form input{ padding:.9rem .2rem; font-size:1.04rem; }
.irg-se-search__form button{ border-radius:0; padding:.9rem 1.2rem; background:transparent; color:var(--irg-navy); font-family:var(--font-mono); font-size:.76rem; letter-spacing:.06em; text-transform:uppercase; }
.irg-se-search__form button:hover{ background:var(--irg-navy); color:#fff; }

.irg-se-heading{ display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:52px; }
.irg-se-heading>div{ max-width:900px; }
.irg-se-heading h2{ margin-bottom:0; }
.irg-se-competence{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:72px; }
.irg-se-competence__feature{ padding:38px 38px 42px; border-top:4px solid var(--irg-accent); background:var(--surface); box-shadow:var(--shadow-sm); }
.irg-se-code{ color:var(--irg-accent-ink); }
.irg-se-competence__feature h3{ margin:44px 0 18px; font-size:clamp(2rem,3.4vw,3.4rem); }
.irg-se-competence__feature p{ color:var(--text-muted); }
.irg-se-competence__list{ list-style:none; margin:0; padding:0; border-top:1px solid var(--irg-navy); }
.irg-se-competence__list li{ margin:0; border-bottom:1px solid var(--border); }
.irg-se-competence__list a{ display:grid; grid-template-columns:54px 1fr auto; gap:20px; align-items:center; min-height:96px; color:var(--irg-navy); text-decoration:none; }
.irg-se-competence__list a>span:first-child{ color:var(--irg-blue); font:500 .72rem/1 var(--font-mono); }
.irg-se-competence__list strong{ font:500 clamp(1.2rem,2vw,1.65rem)/1.15 var(--font-head); }

.irg-se-research{ display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(46px,7vw,110px); align-items:center; }
.irg-se-research figure{ margin:0; position:relative; }
.irg-se-research figure::before{ content:"ARCHIVIO / IRG"; position:absolute; left:-1px; top:-31px; color:#8DB4C8; font:500 .64rem/1 var(--font-mono); letter-spacing:.1em; }
.irg-se-research figure img{ width:100%; min-height:520px; object-fit:cover; filter:grayscale(1) contrast(1.05); }
.irg-se-research h2{ max-width:760px; }
.irg-se-research>div>p{ max-width:66ch; color:#B9C7CE; }
.irg-se-research__links{ margin-top:42px; border-top:1px solid rgba(255,255,255,.25); }
.irg-se-research__links a,.irg-se-research__links>div{ display:grid; grid-template-columns:120px 1fr auto; gap:18px; align-items:center; min-height:80px; border-bottom:1px solid rgba(255,255,255,.18); color:#fff; text-decoration:none; }
.irg-se-research__links span:first-child{ color:var(--irg-accent); font:500 .65rem/1.2 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.irg-se-research__links strong{ color:#fff; font-weight:500; }

.irg-se-focus{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); gap:72px; align-items:center; }
.irg-se-focus>div{ max-width:560px; }
.irg-se-focus h2{ font-size:clamp(4rem,8vw,8rem); }
.irg-se-focus p{ color:var(--text-muted); font-size:1.08rem; }
.irg-se-focus ul{ display:grid; grid-template-columns:1fr 1fr; gap:0; list-style:none; padding:0; margin:28px 0 34px; border-top:1px solid var(--border); }
.irg-se-focus li{ padding:13px 8px 13px 0; border-bottom:1px solid var(--border); font-size:.9rem; }
.irg-se-focus li::before{ content:"+"; margin-right:9px; color:var(--irg-blue); }
.irg-se-focus>img{ width:100%; min-height:500px; object-fit:cover; }

.irg-se-network{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(48px,7vw,100px); align-items:center; }
.irg-se-network figure{ margin:0; }
.irg-se-network figure img{ width:100%; min-height:540px; object-fit:cover; }
.irg-se-network figcaption{ margin-top:12px; color:var(--text-muted); font:400 .64rem/1.4 var(--font-mono); letter-spacing:.07em; text-transform:uppercase; }
.irg-se-section--ink .irg-se-network figcaption{ color:#AEBEC9; }
.irg-se-network__groups{ margin-top:30px; border-top:1px solid var(--border); }
.irg-se-network__groups>div{ display:grid; grid-template-columns:120px 1fr; gap:20px; padding:18px 0; border-bottom:1px solid var(--border); }
.irg-se-network__groups h3{ margin:0; font:500 .78rem/1.4 var(--font-mono); letter-spacing:.07em; text-transform:uppercase; }
.irg-se-network__groups p{ margin:0; }
.irg-se-network__groups p span{ color:var(--irg-blue); font-size:.8rem; }

.irg-se-flow{ display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--irg-navy); }
.irg-se-flow article{ min-height:270px; padding:28px 28px 34px 0; border-right:1px solid var(--border); }
.irg-se-flow article+article{ padding-left:28px; }
.irg-se-flow article:last-child{ border-right:0; }
.irg-se-flow article>span{ color:var(--irg-blue); font:500 .68rem/1.3 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.irg-se-flow h3{ margin:72px 0 12px; font-size:1.8rem; }
.irg-se-flow p{ margin:0; color:var(--text-muted); font-size:.94rem; }

.irg-se-closing{ background:var(--irg-accent); }
.irg-se-closing>.irg-se-container{ display:flex; align-items:center; justify-content:space-between; gap:38px; min-height:260px; padding-block:48px; }
.irg-se-closing h2{ max-width:780px; margin:0; color:var(--irg-accent-ink); font-size:clamp(2.2rem,4.3vw,4.35rem); }

/* Entêtes éditoriaux des pages internes */
.irg-se-intro{ position:relative; min-height:460px; display:flex; align-items:center; background-color:var(--surface); background-image:radial-gradient(circle at 82% 8%,transparent 0 150px,rgba(20,91,140,.07) 151px 210px,transparent 211px); border-bottom:1px solid var(--border); }
.irg-se-intro>.irg-se-container{ padding-block:80px; }
.irg-se-breadcrumb{ margin-bottom:32px; color:#7C898E; }
.irg-se-breadcrumb a{ color:inherit; text-decoration:none; }
.irg-se-intro h1{ max-width:1040px; margin:20px 0 24px; font-size:clamp(3.2rem,6vw,6.1rem); line-height:.98; }
.irg-se-intro .irg-se-lead{ margin:0; }

/* Catalogo */
.irg-se-catalog-tools{ padding:38px 0 34px; background:var(--surface); border-bottom:1px solid var(--border); }
.irg-se-catalog-search{ display:flex; align-items:center; border-bottom:2px solid var(--irg-navy); }
.irg-se-catalog-search input{ flex:1; min-width:0; border:0; background:transparent; padding:16px 2px; font:400 1.03rem/1.4 var(--font-body); outline:0; }
.irg-se-catalog-search button{ border:0; background:transparent; color:var(--irg-navy); padding:16px 4px 16px 22px; font:500 .72rem/1 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.irg-se-filters{ display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.irg-se-filters>span{ align-self:center; margin-right:8px; color:var(--text-muted); font:500 .65rem/1 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.irg-se-filters button{ min-height:42px; border:1px solid var(--border); border-radius:0; background:var(--surface); color:var(--text); padding:.55rem .9rem; font:500 .78rem/1.2 var(--font-body); cursor:pointer; }
.irg-se-filters button[aria-pressed="true"]{ border-color:var(--irg-accent); background:var(--irg-accent); color:var(--irg-accent-ink); }
.irg-se-filters--sample{ margin-top:10px; }
.irg-se-catalog__layout{ display:grid; grid-template-columns:210px 1fr; gap:74px; align-items:start; }
.irg-se-catalog__index{ position:sticky; top:32px; }
.irg-se-catalog__index>p:first-child,.irg-se-result-count{ margin:0 0 18px; padding-bottom:15px; border-bottom:1px solid var(--irg-navy); color:var(--text-muted); font:500 .68rem/1.3 var(--font-mono); letter-spacing:.1em; text-transform:uppercase; }
.irg-se-catalog__index nav{ display:flex; flex-wrap:wrap; gap:10px 18px; }
.irg-se-catalog__index nav a{ color:var(--irg-blue); font:500 .75rem/1 var(--font-mono); text-decoration:none; }
.irg-se-catalog__note{ margin-top:24px; color:var(--text-muted); font-size:.88rem; }
.irg-se-results{ border-top:1px solid var(--border); }
.irg-se-test-row{ display:grid; grid-template-columns:74px minmax(260px,1.1fr) minmax(180px,.7fr) 24px; align-items:center; gap:20px; min-height:96px; border-bottom:1px solid var(--border); color:var(--irg-navy); text-decoration:none; scroll-margin-top:24px; }
.irg-se-test-row:hover{ background:rgba(255,255,255,.66); }
.irg-se-test-row[hidden]{ display:none; }
.irg-se-test-row__code{ color:var(--irg-blue); font:500 .68rem/1 var(--font-mono); }
.irg-se-test-row h2{ margin:0; font-size:clamp(1.25rem,2vw,1.75rem); }
.irg-se-test-row__area{ color:var(--text-muted); font-size:.84rem; }
.irg-se-empty-result{ padding:30px 0; color:var(--text-muted); }

/* Ricerca & Innovazione */
.irg-se-research-feature{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:72px; background:var(--surface); border-top:4px solid var(--irg-accent); }
.irg-se-research-feature>img{ width:100%; min-height:530px; object-fit:cover; }
.irg-se-research-feature>div{ padding:46px 58px 46px 0; }
.irg-se-research-feature h2{ font-size:clamp(2.5rem,4.7vw,4.5rem); }
.irg-se-timeline{ display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--irg-navy); }
.irg-se-timeline article{ min-height:300px; padding:26px 24px 30px; border-right:1px solid var(--border); }
.irg-se-timeline article:first-child{ padding-left:0; }
.irg-se-timeline article:last-child{ border-right:0; }
.irg-se-timeline article>span{ color:var(--irg-blue); font:500 .72rem/1 var(--font-mono); }
.irg-se-timeline h3{ margin:72px 0 12px; font-size:1.45rem; }
.irg-se-timeline p{ margin:0; color:var(--text-muted); font-size:.9rem; }
.irg-se-publications{ border-top:1px solid var(--irg-navy); }
.irg-se-publications article{ display:grid; grid-template-columns:90px 1fr 100px; gap:26px; align-items:start; padding:26px 0; border-bottom:1px solid var(--border); }
.irg-se-publications article>span{ color:var(--irg-blue); font:500 .72rem/1 var(--font-mono); }
.irg-se-publications h3{ margin:0 0 7px; font-size:1.22rem; }
.irg-se-publications p{ margin:0; color:var(--text-muted); font-size:.9rem; }
.irg-se-publications a{ color:var(--irg-blue); font:500 .7rem/1 var(--font-mono); text-decoration:none; text-transform:uppercase; }

/* Scheda test dynamique : même langage visuel, données ACF conservées. */
.single-esame .irg-esame-hero{ padding:0; background:var(--irg-navy-2); }
.single-esame .irg-esame-hero__grid{ display:grid; grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr); gap:70px; align-items:center; min-height:560px; padding-block:68px; }
.single-esame .irg-esame-hero__in{ max-width:none; padding:0; }
.single-esame .irg-esame-hero h1{ margin:16px 0 22px; color:#fff; font-size:clamp(3.2rem,6vw,6rem); font-weight:500; }
.single-esame .irg-esame-hero p{ max-width:55ch; color:#C1CED5; }
.single-esame .irg-esame-hero__kick{ color:var(--irg-accent); }
.single-esame .irg-esame-hero__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.single-esame .irg-esame-hero__actions .irg-btn-solid{ background:var(--irg-accent); border-color:var(--irg-accent); color:var(--irg-accent-ink)!important; border-radius:0; }
.single-esame .irg-esame-hero__actions .irg-btn-ghost{ border-color:#8DA0AA; color:#fff!important; border-radius:0; }
.single-esame .irg-esame-hero__photo{ margin:0; }
.single-esame .irg-esame-hero__photo img{ display:block; width:100%; min-height:370px; max-height:440px; object-fit:cover; }
.single-esame .irg-counters--light{ background:var(--irg-accent); color:var(--irg-accent-ink); }
.single-esame .irg-counters--light .irg-counter{ border-color:rgba(7,27,49,.2); }
.single-esame .irg-counters--light .irg-num,.single-esame .irg-counters--light .irg-counter__lbl{ color:var(--irg-accent-ink); }
.single-esame .irg-section{ background:var(--irg-bg); }
.single-esame .irg-section:nth-of-type(even){ background:var(--surface); }
.single-esame .irg-side-box,.single-esame .irg-info-box{ border-radius:0; border-color:var(--border); box-shadow:none; }
.single-esame .irg-side-box{ border-top:4px solid var(--irg-accent); }
.single-esame .irg-acs__i,.single-esame .irg-cse__i{ border-radius:0; background:var(--surface); border:1px solid var(--border); }
.single-esame .irg-cse__n{ background:var(--irg-accent); color:var(--irg-accent-ink); }
.single-esame .irg-faq details{ border-radius:0; border-color:var(--border); background:var(--surface); }
.single-esame .irg-ctaband{ background:var(--irg-accent); color:var(--irg-accent-ink); }
.single-esame .irg-ctaband::after{ display:none; }
.single-esame .irg-ctaband h2,.single-esame .irg-ctaband p{ color:var(--irg-accent-ink); }
.single-esame .irg-ctaband .irg-btn-solid{ background:var(--irg-navy); border-color:var(--irg-navy); color:#fff!important; }
.single-esame .irg-ctaband .irg-btn-ghost{ border-color:var(--irg-navy); color:var(--irg-navy)!important; }

/* Parcours patients / professionnels et ressources reliées. */
.irg-audience-grid,.irg-update-grid,.irg-project-facts{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--irg-navy); }
.irg-audience-grid article,.irg-update-grid article,.irg-project-facts article{ min-height:250px; padding:26px 28px 30px 0; border-right:1px solid var(--border); }
.irg-audience-grid article+article,.irg-update-grid article+article,.irg-project-facts article+article{ padding-left:28px; }
.irg-audience-grid article:last-child,.irg-update-grid article:last-child,.irg-project-facts article:last-child{ border-right:0; }
.irg-audience-grid article>span,.irg-update-grid article>span,.irg-project-facts article>span,.irg-resource-grid article>span,.irg-project-network article>span{ color:var(--irg-blue); font:500 .67rem/1.35 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.irg-audience-grid h3,.irg-update-grid h3,.irg-project-facts h3{ margin:52px 0 12px; font-size:1.55rem; }
.irg-audience-grid p,.irg-update-grid p,.irg-project-facts p{ color:var(--text-muted); font-size:.92rem; }
.irg-update-grid article{ min-height:300px; }
.irg-update-grid h3{ font-size:1.35rem; }
.irg-se-network__note{ margin:24px 0 0; color:var(--text-muted); font:400 .72rem/1.55 var(--font-mono); }
.irg-se-section--ink .irg-se-network__note{ color:#AEBEC9; }

.irg-resource-list{ margin-bottom:34px; border-top:1px solid var(--irg-navy); }
.irg-resource-list a{ display:grid; grid-template-columns:120px 1fr auto; gap:18px; align-items:center; min-height:74px; border-bottom:1px solid var(--border); color:var(--irg-navy); text-decoration:none; }
.irg-resource-list a>span{ color:var(--irg-blue); font:500 .68rem/1.3 var(--font-mono); text-transform:uppercase; }
.irg-resource-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); }
.irg-resource-grid--three{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.irg-resource-grid article{ min-height:250px; padding:30px; background:var(--surface); }
.irg-resource-grid h3{ margin:30px 0 12px; font-size:1.5rem; }
.irg-resource-grid ul{ margin:22px 0 0; padding:0; list-style:none; }
.irg-resource-grid li{ padding:10px 0; border-bottom:1px solid var(--border); }
.irg-resource-grid li a{ color:var(--irg-navy); text-decoration:none; }

/* Page progetto con état de preuve explicite. */
.irg-source-status{ display:inline-flex; flex-wrap:wrap; gap:8px 18px; margin-top:26px; padding:12px 16px; border-left:3px solid var(--irg-accent); background:var(--surface); font-size:.82rem; }
.irg-source-status span{ color:var(--irg-blue); font:500 .68rem/1.4 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.irg-project-facts{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.irg-project-facts article{ min-height:285px; }
.irg-project-network{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); }
.irg-project-network article{ min-height:170px; padding:28px; background:var(--surface); }
.irg-project-network h3{ margin:34px 0 0; font-size:1.25rem; }

/* Landing et détail des aires cliniques. */
.irg-area-path-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--irg-navy); }
.irg-area-path-grid>a{ min-height:290px; padding:28px 34px 34px 0; border-bottom:1px solid var(--border); border-right:1px solid var(--border); color:var(--irg-navy); text-decoration:none; }
.irg-area-path-grid>a:nth-child(even){ padding-left:34px; border-right:0; }
.irg-area-path-grid>a>span{ color:var(--irg-blue); font:500 .68rem/1.3 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.irg-area-path-grid h2{ margin:55px 0 14px; font-size:clamp(1.8rem,3vw,2.7rem); }
.irg-area-path-grid p{ color:var(--text-muted); }
.irg-area-path-grid strong{ color:var(--irg-blue); font-size:.82rem; }
.irg-professional-gate{ max-width:900px; padding:58px; border-top:4px solid var(--irg-accent); background:var(--surface); }

/* L'autocomplete du catalogue partage le composant de la homepage. */
.irg-se-catalog-search{ position:relative; }
.irg-se-catalog-search .irg-suggest{ top:calc(100% + 1px); }

/* Mega-menu desktop : les sept aires restent un sous-menu WordPress natif. */
@media (min-width:1025px){
  .inside-header{ position:relative; }
  .main-navigation,.main-navigation .inside-navigation,.main-navigation .main-nav>ul>li.menu-item-has-children{ position:static; }
  /* La superficie du menu remonte sur l'espace bas du header : aucun vide ne coupe :hover. */
  .main-navigation .main-nav>ul>li.menu-item-has-children>ul.sub-menu{ left:0; right:0; top:calc(100% - 15px); width:100%; min-width:760px; padding:39px 24px 24px; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); box-shadow:var(--shadow-md); }
  .main-navigation .main-nav>ul>li.menu-item-has-children:hover>ul.sub-menu,.main-navigation .main-nav>ul>li.menu-item-has-children:focus-within>ul.sub-menu{ display:grid; }
  .main-navigation .main-nav>ul>li.menu-item-has-children>ul.sub-menu>li{ background:var(--surface); }
  .main-navigation .main-nav>ul>li.menu-item-has-children>ul.sub-menu>li>a{ min-height:70px; display:flex; align-items:center; padding:14px 18px; border:0; color:var(--irg-navy); line-height:1.3; }
  .main-navigation .main-nav>ul>li.menu-item-has-children>ul.sub-menu>li>a:hover,.main-navigation .main-nav>ul>li.menu-item-has-children>ul.sub-menu>li>a:focus{ background:var(--irg-ice); color:var(--irg-blue); }
}

@media (max-width:1024px){
  .irg-se-hero__grid{ grid-template-columns:1fr 1fr; gap:38px; }
  .irg-se-hero h1{ font-size:clamp(3.1rem,7vw,5rem); }
  .irg-se-competence,.irg-se-research,.irg-se-focus,.irg-se-network,.irg-se-research-feature{ gap:44px; }
  .irg-se-flow{ grid-template-columns:1fr 1fr; }
  .irg-se-flow article:nth-child(2){ border-right:0; }
  .irg-se-timeline{ grid-template-columns:1fr 1fr; }
  .irg-se-timeline article:nth-child(even){ border-right:0; }
  .single-esame .irg-esame-hero__grid{ gap:38px; }
}

@media (max-width:820px){
  .irg-topbar{ display:none; }
  .site-header .inside-header{ position:relative; display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; box-sizing:border-box; width:100%; height:76px; min-height:0; padding:10px 16px; }
  .site-header .site-logo{ margin:0!important; }
  .site-header .main-navigation{ position:static; width:auto; margin:0 0 0 auto; background:transparent; }
  .site-header .main-navigation .inside-navigation{ display:block; }
  .site-header .main-navigation .menu-toggle{ width:auto; min-width:76px; height:48px; padding:0 10px; color:var(--irg-navy); background:transparent; line-height:48px; }
  .site-header .main-navigation.toggled .main-nav{ position:fixed; z-index:120; top:76px; left:0; right:0; width:100vw!important; max-height:calc(100vh - 76px); overflow:auto; background:var(--surface); border-top:1px solid var(--border); box-shadow:0 18px 35px rgba(11,39,70,.12); }
  .site-header .main-navigation.toggled .main-nav>ul{ padding:10px 16px 18px; }
  .site-header .main-navigation.toggled .main-nav ul li a{ padding:12px 4px; border-bottom:1px solid var(--border); }
  .site-header .main-navigation.toggled .main-nav ul li.irg-nav-cta{ display:block; }
  .site-header .main-navigation.toggled .main-nav ul li.irg-nav-cta a{ display:block; width:100%; margin:8px 0 0; text-align:center; border-bottom:0; }
  .irg-se-container{ width:min(100% - 32px,var(--irg-container)); }
  .irg-se-section{ padding:68px 0; }
  .irg-se-hero__grid,.irg-se-competence,.irg-se-research,.irg-se-focus,.irg-se-network,.irg-se-research-feature,.single-esame .irg-esame-hero__grid{ grid-template-columns:1fr; }
  .irg-se-hero__grid{ min-height:0; padding-block:52px 68px; }
  .irg-se-index{ margin-bottom:30px; }
  .irg-se-hero__visual{ min-height:480px; }
  .irg-se-hero__caption{ left:0; }
  .irg-se-evidence__grid{ grid-template-columns:1fr 1fr; }
  .irg-se-evidence__grid>div:nth-child(even){ border-right:1px solid rgba(7,27,49,.22); }
  .irg-se-search__layout{ grid-template-columns:1fr; gap:18px; }
  .irg-se-heading{ align-items:flex-start; flex-direction:column; }
  .irg-se-research figure img,.irg-se-network figure img,.irg-se-research-feature>img{ min-height:380px; }
  .irg-se-focus>img{ min-height:380px; }
  .irg-se-catalog__layout{ grid-template-columns:1fr; gap:36px; }
  .irg-se-catalog__index{ position:static; }
  .irg-se-catalog__note{ max-width:55ch; }
  .irg-se-research-feature>div{ padding:0 0 42px; }
  .single-esame .irg-esame-hero__grid{ padding-block:52px; }
  .single-esame .irg-esame-hero__photo{ order:2; }
  .irg-audience-grid,.irg-update-grid,.irg-project-facts,.irg-project-network,.irg-resource-grid--three{ grid-template-columns:1fr 1fr; }
  .irg-area-path-grid{ grid-template-columns:1fr; }
  .irg-area-path-grid>a,.irg-area-path-grid>a:nth-child(even){ padding:28px 0 34px; border-right:0; }
}

@media (max-width:600px){
  .inside-header{ padding:12px 16px; }
  .site-logo img,.custom-logo{ height:44px; }
  .irg-se h2{ font-size:2.55rem; }
  .irg-se-hero h1,.irg-se-intro h1{ font-size:clamp(2.75rem,13vw,4.2rem); }
  .irg-se-hero__visual{ min-height:390px; }
  .irg-se-hero__main{ inset:0 0 38px; width:100%; height:calc(100% - 38px); }
  .irg-se-hero__detail{ width:44%; height:38%; border-width:7px; }
  .irg-se-hero__caption{ min-width:210px; }
  .irg-se-evidence__grid{ grid-template-columns:1fr; }
  .irg-se-evidence__grid>div{ min-height:92px; border-right:1px solid rgba(7,27,49,.22); }
  .irg-se-actions{ align-items:stretch; }
  .irg-se-actions .irg-se-btn{ width:100%; }
  .irg-se-heading{ margin-bottom:34px; }
  .irg-se-competence__feature{ padding:28px 24px 32px; }
  .irg-se-competence__feature h3{ margin-top:32px; }
  .irg-se-competence__list a{ grid-template-columns:38px 1fr auto; gap:10px; min-height:80px; }
  .irg-se-research__links a,.irg-se-research__links>div{ grid-template-columns:88px 1fr auto; gap:10px; min-height:76px; }
  .irg-se-focus{ grid-template-columns:minmax(0,1fr); }
  .irg-se-focus h2{ font-size:4.5rem; }
  .irg-se-focus ul{ grid-template-columns:1fr; }
  .irg-se-network__groups>div{ grid-template-columns:92px 1fr; gap:12px; }
  .irg-se-flow,.irg-se-timeline{ grid-template-columns:1fr; }
  .irg-se-flow article,.irg-se-flow article+article,.irg-se-timeline article,.irg-se-timeline article:first-child{ min-height:0; padding:24px 0 30px; border-right:0; border-bottom:1px solid var(--border); }
  .irg-se-flow h3,.irg-se-timeline h3{ margin-top:35px; }
  .irg-se-closing>.irg-se-container{ align-items:flex-start; flex-direction:column; min-height:0; }
  .irg-se-intro{ min-height:0; background-image:none; }
  .irg-se-intro>.irg-se-container{ padding-block:58px; }
  .irg-se-catalog-search button{ padding-left:10px; }
  .irg-se-filters{ gap:6px; }
  .irg-se-filters button{ min-height:40px; padding:.5rem .72rem; }
  .irg-se-test-row{ grid-template-columns:48px 1fr 20px; gap:10px; min-height:92px; }
  .irg-se-test-row__area{ display:none; }
  .irg-se-publications article{ grid-template-columns:55px 1fr; gap:12px; }
  .irg-se-publications article>a{ grid-column:2; }
  .single-esame .irg-esame-hero h1{ font-size:clamp(2.75rem,13vw,4rem); }
  .single-esame .irg-esame-hero__photo img{ min-height:250px; }
  .irg-audience-grid,.irg-update-grid,.irg-project-facts,.irg-project-network,.irg-resource-grid,.irg-resource-grid--three{ grid-template-columns:1fr; }
  .irg-audience-grid article,.irg-audience-grid article+article,.irg-update-grid article,.irg-update-grid article+article,.irg-project-facts article,.irg-project-facts article+article{ min-height:0; padding:24px 0 30px; border-right:0; border-bottom:1px solid var(--border); }
  .irg-audience-grid h3,.irg-update-grid h3,.irg-project-facts h3{ margin-top:34px; }
  .irg-resource-list a{ grid-template-columns:1fr auto; padding:14px 0; }
  .irg-resource-list a>span:first-child{ grid-column:1 / -1; }
  .irg-professional-gate{ padding:34px 24px; }
}

/* ============================================================
   PROPOSTA A — BIOTECH PLATFORM
   Il benchmark QIAGEN viene tradotto in struttura, gerarchia e
   componenti IRG senza copiarne marchio o linguaggio visivo.
   ============================================================ */
:root{
  --irg-navy:#082F55;
  --irg-navy-2:#05233F;
  --irg-blue:#1267A5;
  --irg-blue-light:#3F86B5;
  --irg-blue-soft:#E5F0F7;
  --irg-accent:#66B96C;
  --irg-accent-2:#2A9D8F;
  --irg-bg:#F5F7F8;
  --irg-ice:#F5F7F8;
  --irg-ink:#172A3A;
  --irg-muted:#5F7080;
  --irg-line:#D9E1E6;
  --irg-line-strong:#BFCBD3;
  --surface-2:#F5F7F8;
  --surface-3:#EEF3F5;
  --shadow-sm:0 2px 8px rgba(8,47,85,.06);
  --shadow-md:0 18px 50px rgba(8,47,85,.14);
  --irg-radius:4px;
  --irg-radius-lg:8px;
}

body{ background:#fff; color:var(--irg-ink); font-size:16px; line-height:1.6; }
h1,h2,h3,h4,.irg-se h1,.irg-se h2,.irg-se h3,.irg-esame-hero h1{ font-family:var(--font-head); font-style:normal; font-weight:600; letter-spacing:-.028em; }
.irg-se em{ font-style:normal; }
.irg-a-container{ width:min(100% - 40px,var(--irg-container)); margin-inline:auto; }
.irg-a-kicker{ display:block; color:var(--irg-blue); font:600 .72rem/1.3 var(--font-body); letter-spacing:.1em; text-transform:uppercase; }
.irg-a-btn{ display:inline-flex; min-height:46px; align-items:center; justify-content:center; padding:.72rem 1.35rem; border:1px solid var(--irg-blue); border-radius:4px; font-weight:600; line-height:1.2; text-decoration:none; transition:background .16s,color .16s,border-color .16s; }
.irg-a-btn--primary{ background:var(--irg-blue); color:#fff!important; }
.irg-a-btn--primary:hover{ background:var(--irg-navy); border-color:var(--irg-navy); }
.irg-a-btn--secondary{ background:#fff; color:var(--irg-blue)!important; }
.irg-a-btn--secondary:hover{ background:var(--irg-blue-soft); }
.irg-a-actions{ display:flex; flex-wrap:wrap; gap:10px; }

/* Masthead: utility bar, global finder, navigation categories. */
.irg-topbar{ background:var(--irg-navy-2); font-size:.75rem; }
.irg-topbar__inner{ min-height:34px; padding-block:.34rem; }
.irg-topbar__contact,.irg-topbar__links{ gap:1.15rem; }
.site-header{ border-bottom:1px solid var(--border); box-shadow:0 2px 7px rgba(8,47,85,.04); }
.site-logo img,.custom-logo{ height:52px; }
.irg-global-search{ position:relative; z-index:210; width:100%; max-width:720px; min-height:42px; margin-left:auto; padding:0 4px 0 14px; border:1px solid var(--irg-line-strong); border-radius:4px; box-shadow:none; }
.irg-global-search::before{ display:none; }
.irg-global-search>svg{ flex:none; color:var(--irg-blue); }
.irg-global-search input{ min-width:0; flex:1; height:40px; padding:0 8px; border:0!important; background:transparent!important; box-shadow:none!important; color:var(--irg-ink); font:400 .92rem/1 var(--font-body); outline:0; }
.irg-global-search button{ align-self:stretch; padding:0 18px; border:0; border-radius:3px; background:var(--irg-blue); color:#fff; font:600 .84rem/1 var(--font-body); cursor:pointer; }
.irg-global-search:focus-within{ border-color:var(--irg-blue); box-shadow:0 0 0 3px rgba(18,103,165,.11); }
.irg-global-search .irg-suggest{ top:calc(100% + 4px); z-index:220; border-radius:4px; }
.main-navigation .main-nav>ul>li>a{ color:var(--irg-navy); font-size:.89rem; }
.main-navigation .main-nav ul li.irg-nav-cta a{ box-sizing:border-box; height:38px; min-height:38px; margin-left:.7rem; padding:0 1.05rem; border-radius:4px; background:var(--irg-blue); line-height:38px; }

@media (min-width:1025px){
  .site-header .inside-header{ display:grid; grid-template-columns:170px minmax(340px,1fr); grid-template-rows:66px 52px; align-items:center; width:min(100%,calc(var(--irg-container) + 40px)); margin-inline:auto; padding:0 20px; }
  .site-header .site-logo{ grid-column:1; grid-row:1; margin:0!important; }
  .site-header .irg-global-search{ grid-column:2; grid-row:1; }
  .site-header .main-navigation{ grid-column:1 / -1; grid-row:2; width:100%; border-top:1px solid var(--border); background:#fff; }
  .site-header .main-navigation .inside-navigation{ justify-content:center; min-height:51px; }
  .site-header .main-navigation .main-nav>ul{ align-items:center; justify-content:space-between; width:100%; }
  .site-header .main-navigation .main-nav>ul>li>a{ display:flex; align-items:center; min-height:51px; padding-inline:12px; line-height:1.2; }
  .site-header .main-navigation .main-nav>ul>li.irg-nav-cta{ height:51px; }
  .site-header .main-navigation .main-nav>ul>li.irg-nav-cta>a{ min-height:38px; }
  .main-navigation .main-nav>ul>li.menu-item-has-children>ul.sub-menu{ top:calc(100% - 6px); padding:6px 18px 18px; border-top:0; border-radius:0 0 6px 6px; }
  .main-navigation .main-nav>ul>li.menu-item-has-children>ul.sub-menu>li>a{ min-height:78px; padding:16px 20px; }
}

/* Homepage A */
.home .site-content{ padding:0; }
.irg-a-home{ background:#fff; }
.irg-a-hero{ border-bottom:1px solid var(--border); background:linear-gradient(90deg,#fff 0 58%,#F2F6F8 58%); }
.irg-a-hero__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.84fr); gap:68px; align-items:center; min-height:540px; padding-block:54px; }
.irg-a-hero__copy{ max-width:650px; }
.irg-a-hero h1{ max-width:640px; margin:16px 0 18px; color:var(--irg-navy); font-size:clamp(2.65rem,4.5vw,4.35rem); line-height:1.03; }
.irg-a-hero__copy>p{ max-width:610px; margin:0 0 26px; color:var(--irg-muted); font-size:1.12rem; line-height:1.65; }
.irg-a-hero__links{ display:flex; flex-wrap:wrap; gap:10px 25px; margin:28px 0 0; padding:22px 0 0; border-top:1px solid var(--border); list-style:none; }
.irg-a-hero__links a{ color:var(--irg-navy); font-size:.88rem; font-weight:600; text-decoration:none; }
.irg-a-hero__links a:hover{ color:var(--irg-blue); }
.irg-a-hero__media{ position:relative; align-self:stretch; margin:0; overflow:hidden; background:#DDE7EC; }
.irg-a-hero__media img{ width:100%; height:100%; min-height:430px; object-fit:cover; object-position:center; }
.irg-a-hero__media::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 60%,rgba(5,35,63,.38)); pointer-events:none; }
.irg-a-hero__media figcaption{ position:absolute; z-index:1; right:20px; bottom:20px; left:20px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; color:#fff; font-size:.76rem; }
.irg-a-hero__media figcaption span{ opacity:.85; text-transform:uppercase; letter-spacing:.07em; }
.irg-a-hero__media figcaption strong{ font-weight:600; }

.irg-a-facts{ background:var(--irg-navy); color:#fff; }
.irg-a-facts__grid{ display:grid; grid-template-columns:repeat(4,1fr); }
.irg-a-facts__grid>div{ display:flex; min-height:104px; flex-direction:column; justify-content:center; padding:18px 28px; border-right:1px solid rgba(255,255,255,.18); }
.irg-a-facts__grid>div:first-child{ padding-left:0; }
.irg-a-facts__grid>div:last-child{ border-right:0; }
.irg-a-facts strong{ color:#fff; font-size:1.7rem; line-height:1.1; }
.irg-a-facts span{ margin-top:5px; color:#C8D7E2; font-size:.79rem; }

.irg-a-find{ padding:40px 0; border-bottom:1px solid var(--border); background:var(--irg-bg); }
.irg-a-find__grid{ display:grid; grid-template-columns:280px minmax(340px,1fr) auto; gap:28px; align-items:end; }
.irg-a-find h2{ margin:7px 0 0; color:var(--irg-navy); font-size:1.75rem; }
.irg-a-find__form{ position:relative; display:flex; min-height:54px; align-items:center; gap:8px; padding:0 5px 0 16px; border:1px solid var(--irg-line-strong); border-radius:4px; background:#fff; box-shadow:none; }
.irg-a-find__form::before{ display:none; }
.irg-a-find__form>svg{ width:21px; flex:none; fill:none; stroke:var(--irg-blue); stroke-width:1.8; stroke-linecap:round; }
.irg-a-find__form input{ min-width:0; flex:1; height:52px; padding:0 6px; border:0; background:transparent; box-shadow:none; outline:0; }
.irg-a-find__form button{ min-height:44px; padding:0 21px; border:0; border-radius:3px; background:var(--irg-blue); color:#fff; font-weight:600; cursor:pointer; }
.irg-a-find__form:focus-within{ border-color:var(--irg-blue); box-shadow:0 0 0 3px rgba(18,103,165,.11); }
.irg-a-text-link{ padding-bottom:15px; color:var(--irg-blue); font-size:.88rem; font-weight:600; white-space:nowrap; text-decoration:none; }

.irg-a-section{ padding:84px 0; }
.irg-a-section--soft{ background:var(--irg-bg); }
.irg-a-heading{ display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.72fr); gap:70px; align-items:end; margin-bottom:42px; }
.irg-a-heading h2{ max-width:730px; margin:10px 0 0; color:var(--irg-navy); font-size:clamp(2.15rem,3.5vw,3.25rem); line-height:1.08; }
.irg-a-heading>p{ max-width:540px; margin:0; color:var(--irg-muted); }
.irg-a-apps{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--border); border-left:1px solid var(--border); }
.irg-a-app{ position:relative; display:flex; min-height:220px; flex-direction:column; padding:25px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); color:var(--irg-navy); text-decoration:none; transition:background .16s,box-shadow .16s; }
.irg-a-app:hover{ z-index:1; background:var(--irg-blue-soft); box-shadow:inset 0 3px 0 var(--irg-blue); }
.irg-a-app__icon{ display:grid; width:48px; height:48px; place-items:center; border-radius:50%; background:var(--irg-blue-soft); color:var(--irg-blue); }
.irg-a-icon{ width:27px; height:27px; }
.irg-a-app strong{ max-width:230px; margin-top:auto; padding-top:28px; font-size:1.02rem; line-height:1.3; }
.irg-a-app>span:not(.irg-a-app__icon){ margin-top:6px; color:var(--irg-muted); font-size:.76rem; }
.irg-a-app>b{ position:absolute; right:22px; bottom:22px; color:var(--irg-blue); font-weight:500; }

.irg-a-paths{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.irg-a-paths article{ min-height:310px; padding:30px; border:1px solid var(--border); border-top:3px solid var(--irg-blue); background:#fff; }
.irg-a-paths__number{ color:var(--irg-blue); font:600 .72rem/1 var(--font-mono); }
.irg-a-paths h3{ margin:70px 0 12px; color:var(--irg-navy); font-size:1.45rem; }
.irg-a-paths p{ color:var(--irg-muted); }
.irg-a-paths a{ display:inline-block; margin-top:14px; color:var(--irg-blue); font-size:.86rem; font-weight:600; text-decoration:none; }

.irg-a-focus{ padding:88px 0; background:var(--irg-navy-2); color:#fff; }
.irg-a-focus__grid{ display:grid; grid-template-columns:minmax(0,1.06fr) minmax(400px,.94fr); gap:70px; align-items:center; }
.irg-a-focus .irg-a-kicker{ color:#85D38B; }
.irg-a-focus__code{ display:block; margin:26px 0 8px; color:#AFC3D2; font:500 .78rem/1.3 var(--font-mono); letter-spacing:.13em; }
.irg-a-focus h2{ max-width:720px; margin:0 0 20px; color:#fff; font-size:clamp(2.4rem,4.2vw,3.8rem); line-height:1.05; }
.irg-a-focus__copy>p{ max-width:650px; color:#C8D7E2; font-size:1.02rem; }
.irg-a-focus ul{ display:flex; flex-wrap:wrap; gap:8px; margin:28px 0 32px; padding:0; list-style:none; }
.irg-a-focus li{ padding:8px 11px; border:1px solid rgba(255,255,255,.22); border-radius:3px; color:#E6EEF3; font-size:.76rem; }
.irg-a-focus .irg-a-btn--secondary{ border-color:#fff; background:transparent; color:#fff!important; }
.irg-a-focus .irg-a-btn--secondary:hover{ background:#fff; color:var(--irg-navy)!important; }
.irg-a-focus figure{ margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.14); background:#fff; }
.irg-a-focus figure img{ display:block; width:100%; min-height:440px; object-fit:cover; }

.irg-a-research{ padding:90px 0; background:#fff; }
.irg-a-research__grid{ display:grid; grid-template-columns:minmax(400px,.86fr) minmax(0,1.14fr); gap:72px; align-items:center; }
.irg-a-research figure{ position:relative; margin:0; }
.irg-a-research figure::before{ content:"R&I"; position:absolute; z-index:1; top:18px; left:18px; padding:8px 10px; background:var(--irg-blue); color:#fff; font:600 .72rem/1 var(--font-mono); letter-spacing:.08em; }
.irg-a-research figure img{ display:block; width:100%; min-height:500px; object-fit:cover; }
.irg-a-research h2{ margin:10px 0 18px; color:var(--irg-navy); font-size:clamp(2.3rem,4vw,3.65rem); line-height:1.06; }
.irg-a-research__copy>p{ max-width:600px; color:var(--irg-muted); }
.irg-a-research__links{ margin:32px 0; border-top:1px solid var(--border); }
.irg-a-research__links a{ display:grid; grid-template-columns:150px minmax(0,1fr) auto; gap:18px; align-items:center; min-height:67px; border-bottom:1px solid var(--border); color:var(--irg-navy); text-decoration:none; }
.irg-a-research__links span{ color:var(--irg-muted); font-size:.74rem; }
.irg-a-research__links strong{ font-size:.92rem; }
.irg-a-research__links b{ color:var(--irg-blue); font-weight:500; }

.irg-a-network{ padding:84px 0; border-top:1px solid var(--border); background:var(--irg-bg); }
.irg-a-network__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--irg-line-strong); border-left:1px solid var(--border); }
.irg-a-network__grid article{ min-height:255px; padding:28px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); background:#fff; }
.irg-a-network__grid article>span{ color:var(--irg-blue); font-size:.7rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.irg-a-network__grid h3{ margin:48px 0 14px; color:var(--irg-navy); font-size:1.08rem; line-height:1.35; }
.irg-a-network__grid p{ margin:0; color:var(--irg-muted); font-size:.84rem; line-height:1.65; }
.irg-a-network__note{ max-width:900px; margin:18px 0 0; color:var(--irg-muted); font-size:.74rem; }

.irg-a-resources{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.irg-a-resources>a{ position:relative; min-height:245px; padding:28px 58px 28px 28px; border:1px solid var(--border); background:#fff; color:var(--irg-navy); text-decoration:none; transition:border-color .16s,box-shadow .16s; }
.irg-a-resources>a:hover{ border-color:var(--irg-blue); box-shadow:var(--shadow-sm); }
.irg-a-resources span{ color:var(--irg-blue); font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.irg-a-resources h3{ margin:54px 0 10px; font-size:1.45rem; }
.irg-a-resources p{ margin:0; color:var(--irg-muted); font-size:.9rem; }
.irg-a-resources b{ position:absolute; right:26px; bottom:26px; color:var(--irg-blue); font-weight:500; }

.irg-a-process{ padding:82px 0; border-top:1px solid var(--border); background:#fff; }
.irg-a-process__steps{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; padding:0; border-top:1px solid var(--irg-line-strong); list-style:none; }
.irg-a-process__steps li{ position:relative; min-height:240px; padding:26px 28px 28px 0; border-right:1px solid var(--border); }
.irg-a-process__steps li+li{ padding-left:28px; }
.irg-a-process__steps li:last-child{ border-right:0; }
.irg-a-process__steps span{ color:var(--irg-blue); font:600 .72rem/1 var(--font-mono); }
.irg-a-process__steps h3{ margin:65px 0 12px; color:var(--irg-navy); font-size:1.2rem; }
.irg-a-process__steps p{ margin:0; color:var(--irg-muted); font-size:.87rem; }

.irg-a-updates{ padding:82px 0; background:var(--irg-navy-2); color:#fff; }
.irg-a-heading--light h2{ color:#fff; }
.irg-a-heading--light .irg-a-kicker{ color:#85D38B; }
.irg-a-heading--light>a{ align-self:end; color:#fff; font-size:.86rem; font-weight:600; text-decoration:none; }
.irg-a-update-list{ border-top:1px solid rgba(255,255,255,.24); }
.irg-a-update-list>a{ display:grid; grid-template-columns:240px minmax(0,1fr) 90px; gap:30px; align-items:center; min-height:104px; border-bottom:1px solid rgba(255,255,255,.18); color:#fff; text-decoration:none; }
.irg-a-update-list span{ color:#AAC0CF; font-size:.74rem; }
.irg-a-update-list strong{ font-size:1.05rem; line-height:1.4; }
.irg-a-update-list b{ color:#85D38B; font-size:.78rem; font-weight:600; text-align:right; }
.irg-a-closing{ padding:58px 0; border-top:1px solid var(--border); background:var(--irg-bg); }
.irg-a-closing__inner{ display:flex; align-items:center; justify-content:space-between; gap:50px; }
.irg-a-closing h2{ max-width:720px; margin:9px 0 0; color:var(--irg-navy); font-size:clamp(1.85rem,3vw,2.65rem); }

/* Catalogue: gerarchia da catalogo prodotti, non da magazine. */
.irg-se-intro{ min-height:0; background:#fff; background-image:none; }
.irg-se-intro>.irg-se-container{ padding-block:56px 48px; }
.irg-se-intro h1{ max-width:900px; margin:12px 0 14px; color:var(--irg-navy); font-size:clamp(2.6rem,4.6vw,4rem); line-height:1.05; }
.irg-se-intro .irg-se-lead{ max-width:760px; color:var(--irg-muted); font-size:1.02rem; }
.irg-se-breadcrumb{ margin-bottom:18px; color:var(--irg-muted); font-size:.78rem; }
.irg-se-breadcrumb a{ color:var(--irg-blue); }
.irg-se-eyebrow{ color:var(--irg-blue); font-family:var(--font-body); font-weight:600; }
.irg-se-catalog-tools{ padding:28px 0; background:var(--irg-bg); }
.irg-se-catalog-search{ min-height:54px; padding:0 5px 0 16px; border:1px solid var(--irg-line-strong); border-radius:4px; background:#fff; }
.irg-se-catalog-search input{ padding:13px 6px; }
.irg-se-catalog-search button{ align-self:stretch; padding:0 22px; border-radius:3px; background:var(--irg-blue); color:#fff; font:600 .82rem/1 var(--font-body); letter-spacing:0; text-transform:none; }
.irg-se-filters{ margin-top:14px; gap:8px; }
.irg-se-filters button{ min-height:36px; padding:.42rem .82rem; border:1px solid var(--irg-line-strong); border-radius:3px; background:#fff; color:var(--irg-navy); font:500 .78rem/1.2 var(--font-body); letter-spacing:0; text-transform:none; }
.irg-se-filters button:hover,.irg-se-filters button.is-active{ border-color:var(--irg-blue); background:var(--irg-blue); color:#fff; }
.irg-se-catalog .irg-se-section{ padding:56px 0 80px; background:#fff; }
.irg-se-catalog__layout{ grid-template-columns:190px minmax(0,1fr); gap:48px; }
.irg-se-catalog__layout>div{ min-width:0; }
.irg-se-catalog__index>p:first-child,.irg-se-result-count{ border-color:var(--border); color:var(--irg-muted); font-family:var(--font-body); font-weight:600; letter-spacing:.05em; }
.irg-se-catalog__index nav a{ font-family:var(--font-body); font-size:.78rem; }
.irg-se-results{ border-top:1px solid var(--irg-line-strong); }
.irg-se-test-row{ grid-template-columns:64px minmax(240px,1fr) minmax(180px,.55fr) 24px; min-height:88px; padding:0 15px; border-bottom:1px solid var(--border); border-left:3px solid transparent; }
.irg-se-test-row:hover{ border-left-color:var(--irg-blue); background:var(--irg-blue-soft); }
.irg-se-test-row__code{ color:var(--irg-blue); font-family:var(--font-body); font-size:.7rem; }
.irg-se-test-row h2{ font-size:1.15rem; font-weight:600; letter-spacing:-.01em; }
.irg-se-test-row__area{ font-size:.8rem; }

/* Scheda test: product-detail con specifiche, azioni e risorse. */
.irg-product-nav{ position:sticky; z-index:70; top:0; border-bottom:1px solid var(--border); background:#fff; box-shadow:0 3px 10px rgba(8,47,85,.04); }
.irg-product-nav>.irg-wrap{ display:flex; min-height:58px; align-items:center; gap:30px; }
.irg-product-nav a{ display:flex; min-height:58px; align-items:center; border-bottom:2px solid transparent; color:var(--irg-navy); font-size:.86rem; font-weight:600; text-decoration:none; white-space:nowrap; }
.irg-product-nav a:hover,.irg-product-nav a:focus{ border-bottom-color:var(--irg-blue); color:var(--irg-blue); }
.irg-product-nav .irg-product-nav__cta{ min-height:38px; margin-left:auto; padding:0 16px; border:1px solid var(--irg-blue); border-radius:3px; background:var(--irg-blue); color:#fff; }
.irg-product-nav .irg-product-nav__cta:hover{ border-color:var(--irg-navy); background:var(--irg-navy); color:#fff; }
.single-esame .irg-esame-hero{ border-bottom:1px solid var(--border); background:#fff; color:var(--irg-ink); }
.single-esame .irg-esame-hero__grid{ grid-template-columns:minmax(0,1.12fr) minmax(360px,.72fr); gap:64px; min-height:460px; padding-block:52px; }
.single-esame .irg-esame-hero .irg-crumb,.single-esame .irg-esame-hero .irg-crumb a{ color:var(--irg-muted); }
.single-esame .irg-esame-hero__kick{ color:var(--irg-blue); font-family:var(--font-body); font-weight:600; }
.single-esame .irg-esame-hero h1{ max-width:780px; margin:12px 0 18px; color:var(--irg-navy); font-size:clamp(2.45rem,4.5vw,4rem); line-height:1.04; }
.single-esame .irg-esame-hero p{ color:var(--irg-muted); }
.single-esame .irg-esame-hero__actions .irg-btn-solid{ border-color:var(--irg-blue); border-radius:4px; background:var(--irg-blue); color:#fff!important; }
.single-esame .irg-esame-hero__actions .irg-btn-ghost{ border-color:var(--irg-blue); border-radius:4px; color:var(--irg-blue)!important; }
.single-esame .irg-esame-hero__photo{ overflow:hidden; border:1px solid var(--border); background:var(--irg-bg); }
.single-esame .irg-esame-hero__photo img{ min-height:310px; max-height:370px; }
.single-esame .irg-counters--light{ border-bottom:1px solid var(--border); background:var(--irg-bg); color:var(--irg-navy); }
.single-esame .irg-counters--light .irg-counter{ border-color:var(--border); }
.single-esame .irg-counters--light .irg-num{ color:var(--irg-blue); }
.single-esame .irg-counters--light .irg-counter__lbl{ color:var(--irg-muted); }
.single-esame .irg-section{ padding-block:64px; background:#fff; }
.single-esame .irg-section:nth-of-type(even){ background:var(--irg-bg); }
.single-esame .irg-esame-grid{ gap:50px; }
.single-esame .irg-side-box{ border:1px solid var(--border); border-top:4px solid var(--irg-blue); border-radius:5px; background:#fff; box-shadow:var(--shadow-sm); }
.single-esame .irg-info-box{ border-radius:4px; background:var(--irg-bg); }
.single-esame .irg-side-box .irg-btn-solid{ background:var(--irg-blue); border-color:var(--irg-blue); }
.single-esame .irg-acs__i,.single-esame .irg-cse__i{ border-radius:4px; }
.single-esame .irg-cse__n{ background:var(--irg-blue); color:#fff; }
.single-esame .irg-faq details{ border-radius:4px; }
.single-esame .irg-h2,.single-esame .irg-sub-h{ color:var(--irg-navy); font-family:var(--font-body); }
.single-esame .irg-ctaband{ background:var(--irg-blue-soft); color:var(--irg-navy); }
.single-esame .irg-ctaband h2,.single-esame .irg-ctaband p{ color:var(--irg-navy); }
.single-esame .irg-ctaband .irg-btn-solid{ background:var(--irg-blue); border-color:var(--irg-blue); }
.single-esame .irg-ctaband .irg-btn-ghost{ border-color:var(--irg-blue); color:var(--irg-blue)!important; }
.irg-audience-grid,.irg-update-grid,.irg-project-facts{ border-color:var(--border); }
.irg-audience-grid article,.irg-update-grid article,.irg-project-facts article{ min-height:225px; }
.irg-audience-grid h3,.irg-update-grid h3,.irg-project-facts h3{ margin-top:38px; font-size:1.35rem; }
.irg-resource-grid article{ min-height:220px; }

/* Pagine strutturanti già alimentate dal CMS: proporzioni più funzionali. */
.irg-se-section{ padding:76px 0; }
.irg-se h2{ font-size:clamp(2rem,3.7vw,3.25rem); line-height:1.09; }
.irg-a-home .irg-a-find h2{ font-size:1.75rem; line-height:1.15; }
.irg-se-heading{ margin-bottom:40px; }
.irg-se-research-feature h2{ font-size:clamp(2.2rem,4vw,3.5rem); }
.irg-se-research-feature>img{ min-height:420px; }
.irg-se-timeline article{ min-height:250px; }
.irg-se-timeline h3{ margin-top:50px; }
.irg-area-path-grid>a{ min-height:230px; }
.irg-area-path-grid h2{ margin-top:40px; font-size:clamp(1.55rem,2.6vw,2.2rem); }
.irg-professional-gate{ border-top-color:var(--irg-blue); }

@media (max-width:1100px) and (min-width:1025px){
  .site-header .main-navigation .main-nav>ul>li>a{ padding-inline:7px; font-size:.8rem; }
  .main-navigation .main-nav ul li.irg-nav-cta a{ margin-left:.25rem; padding-inline:.7rem; }
}

@media (max-width:1024px){
  .irg-global-search{ display:none; }
  .irg-a-hero__grid{ grid-template-columns:1fr 1fr; gap:36px; }
  .irg-a-apps{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .irg-a-focus__grid{ gap:38px; }
  .irg-a-network__grid,.irg-a-process__steps{ grid-template-columns:1fr 1fr; }
  .irg-a-process__steps li:nth-child(even){ border-right:0; }
  .irg-a-process__steps li:nth-child(n+3){ border-top:1px solid var(--border); }
  .irg-a-find__grid{ grid-template-columns:240px 1fr; }
  .irg-a-find__grid>.irg-a-text-link{ grid-column:2; padding:0; }
  .irg-a-update-list>a{ grid-template-columns:190px minmax(0,1fr) 75px; }
}

@media (max-width:820px){
  .irg-a-container{ width:min(100% - 32px,var(--irg-container)); }
  .irg-a-hero{ background:#fff; }
  .irg-a-hero__grid{ grid-template-columns:1fr; min-height:0; padding-block:44px 0; }
  .irg-a-hero__copy{ padding-bottom:5px; }
  .irg-a-hero__media{ min-height:400px; margin-inline:-16px; }
  .irg-a-hero__media img{ min-height:400px; }
  .irg-a-facts__grid{ grid-template-columns:1fr 1fr; }
  .irg-a-facts__grid>div,.irg-a-facts__grid>div:first-child{ padding-left:20px; border-bottom:1px solid rgba(255,255,255,.18); }
  .irg-a-facts__grid>div:nth-child(even){ border-right:0; }
  .irg-a-find__grid,.irg-a-heading{ grid-template-columns:1fr; gap:20px; }
  .irg-a-find__grid>.irg-a-text-link{ grid-column:1; }
  .irg-a-apps{ grid-template-columns:1fr 1fr; }
  .irg-a-paths,.irg-a-resources{ grid-template-columns:1fr; }
  .irg-a-paths article{ min-height:250px; }
  .irg-a-paths h3{ margin-top:45px; }
  .irg-a-focus__grid{ grid-template-columns:1fr; }
  .irg-a-focus figure img{ min-height:360px; }
  .irg-a-research__grid{ grid-template-columns:1fr; gap:42px; }
  .irg-a-research figure img{ min-height:380px; }
  .irg-a-update-list>a{ grid-template-columns:1fr auto; gap:8px 20px; padding:21px 0; }
  .irg-a-update-list span{ grid-column:1 / -1; }
  .irg-a-update-list b{ align-self:end; }
  .irg-a-closing__inner{ align-items:flex-start; flex-direction:column; }
  .irg-se-catalog__layout{ grid-template-columns:1fr; gap:30px; }
  .irg-se-catalog__index{ position:static; }
  .single-esame .irg-esame-hero__grid{ grid-template-columns:1fr; min-height:0; }
  .single-esame .irg-esame-hero__photo{ order:2; }
}

@media (max-width:600px){
  .irg-a-hero h1{ font-size:clamp(2.35rem,11vw,3.3rem); }
  .irg-a-hero__copy>p{ font-size:1rem; }
  .irg-a-actions{ align-items:stretch; flex-direction:column; }
  .irg-a-actions .irg-a-btn{ width:100%; }
  .irg-a-hero__links{ align-items:flex-start; flex-direction:column; }
  .irg-a-hero__media,.irg-a-hero__media img{ min-height:330px; }
  .irg-a-facts__grid>div{ min-height:88px; }
  .irg-a-facts strong{ font-size:1.4rem; }
  .irg-a-find{ padding-block:32px; }
  .irg-a-find__form{ padding-left:12px; }
  .irg-a-find__form button{ padding-inline:14px; }
  .irg-a-section,.irg-a-research,.irg-a-updates{ padding-block:58px; }
  .irg-a-heading{ margin-bottom:30px; }
  .irg-a-heading h2{ font-size:2.15rem; }
  .irg-a-apps{ grid-template-columns:1fr; }
  .irg-a-app{ min-height:174px; }
  .irg-a-focus{ padding-block:58px; }
  .irg-a-focus h2{ font-size:2.35rem; }
  .irg-a-focus figure img{ min-height:270px; }
  .irg-a-network{ padding-block:58px; }
  .irg-a-network__grid,.irg-a-process__steps{ grid-template-columns:1fr; }
  .irg-a-network__grid article{ min-height:210px; }
  .irg-a-network__grid h3{ margin-top:34px; }
  .irg-a-process{ padding-block:58px; }
  .irg-a-process__steps li,.irg-a-process__steps li+li{ min-height:0; padding:24px 0 28px; border-right:0; border-bottom:1px solid var(--border); }
  .irg-a-process__steps li:nth-child(n+3){ border-top:0; }
  .irg-a-process__steps h3{ margin-top:34px; }
  .irg-a-research__links a{ grid-template-columns:1fr auto; gap:4px 12px; padding-block:12px; }
  .irg-a-research__links span{ grid-column:1 / -1; }
  .irg-a-research figure img{ min-height:300px; }
  .irg-a-update-list>a{ grid-template-columns:1fr; }
  .irg-a-update-list b{ text-align:left; }
  .irg-a-closing{ padding-block:44px; }
  .irg-se-intro>.irg-se-container{ padding-block:42px 38px; }
  .irg-se-intro h1{ font-size:2.55rem; }
  .irg-se-test-row{ width:100%; min-width:0; grid-template-columns:44px minmax(0,1fr) 18px; min-height:82px; padding-inline:8px; box-sizing:border-box; }
  .irg-se-test-row h2{ min-width:0; overflow-wrap:anywhere; }
  .single-esame .irg-esame-hero h1{ font-size:clamp(2.3rem,11vw,3.2rem); }
  .single-esame .irg-esame-hero__grid{ padding-block:40px; }
  .irg-product-nav{ position:relative; overflow-x:auto; }
  .irg-product-nav>.irg-wrap{ width:max-content; min-width:100%; gap:22px; padding-right:16px; }
  .irg-product-nav .irg-product-nav__cta{ margin-left:0; }
}

/* Force full width on catalog and esame pages */
.page-id-44 #main-content .container,
.single-esame #main-content .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}
.page-id-44 #sidebar,
.single-esame #sidebar {
    display: none !important;
}
.page-id-44 #left-area,
.single-esame #left-area {
    width: 100% !important;
}


/* Force full width on taxonomy area clinica */
.tax-area-clinica #main-content .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}
.tax-area-clinica #sidebar {
    display: none !important;
}
.tax-area-clinica #left-area {
    width: 100% !important;
}


/* =========================================================
IRG — TAXONOMY AREA CLINICA
Versione 1.0 — Diagnostic Dossier / Premium Scientific
========================================================= */

#main-content.irg-area26-page{
	margin:0;
	padding:0;
	max-width:none;
	background:#fff;
}

.irg-area26{
	--navy:#0A3063;
	--navy-deep:#041B35;
	--navy-mid:#123B73;
	--blue:#1466BE;
	--blue-2:#2F76C8;
	--mint:#BFE8D8;
	--mint-soft:#EAF7F2;
	--mint-bright:#53E0C0;
	--ice:#EDF4FC;
	--ice-soft:#F7FAFD;
	--graphite:#192330;
	--muted:#687786;
	--line:rgba(10,48,99,.11);
	--shadow:0 24px 64px rgba(4,27,53,.10);

	width:100%;
	overflow:hidden;
	color:var(--graphite);
	background:#fff;
	font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}

.irg-area26 *,
.irg-area26 *::before,
.irg-area26 *::after{
	box-sizing:border-box;
}

.irg-area26 h1,
.irg-area26 h2,
.irg-area26 h3,
.irg-area26 p{
	margin:0;
}

.irg-area26 a{
	color:inherit;
	text-decoration:none;
}

.irg-area26-shell{
	width:min(1380px,calc(100% - 64px));
	margin:0 auto;
}

.irg-area26-kicker{
	display:inline-flex;
	align-items:center;
	gap:10px;
	margin-bottom:18px;
	color:var(--blue);
	font-size:11px;
	font-weight:850;
	line-height:1.2;
	letter-spacing:.17em;
	text-transform:uppercase;
}

.irg-area26-kicker::before{
	content:"";
	width:28px;
	height:2px;
	border-radius:999px;
	background:linear-gradient(90deg,var(--mint-bright),var(--blue));
}

.irg-area26-btn{
	min-height:52px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:0 24px;
	border:1px solid transparent;
	border-radius:999px;
	font-size:14px;
	font-weight:800;
	transition:transform .24s ease,box-shadow .24s ease,background .24s ease;
}

.irg-area26-btn::after{
	content:"↗";
	margin-left:10px;
	font-size:15px;
	transition:transform .24s ease;
}

.irg-area26-btn--primary{
	color:#fff !important;
	background:linear-gradient(135deg,var(--blue),#0D4E99);
	box-shadow:0 14px 30px rgba(20,102,190,.22);
}

.irg-area26-btn--large{
	min-height:62px;
	padding:0 34px;
	font-size:16px;
}

@media(hover:hover) and (pointer:fine){
	.irg-area26-btn:hover{
		transform:translateY(-2px);
	}
	.irg-area26-btn:hover::after{
		transform:translate(2px,-2px);
	}
	.irg-area26-btn--primary:hover{
		box-shadow:0 18px 38px rgba(20,102,190,.30);
	}
}

/* =========================================================
HERO
========================================================= */
.irg-area26-hero{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	padding:76px 0 104px;
	background:
		radial-gradient(circle at 82% 18%,rgba(83,224,192,.15),transparent 24%),
		radial-gradient(circle at 16% 92%,rgba(20,102,190,.09),transparent 32%),
		linear-gradient(135deg,#F4FBF8 0%,#F8FBFD 52%,#EAF3FB 100%);
}

.irg-area26-hero::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:-2;
	opacity:.30;
	background-image:
		linear-gradient(rgba(10,48,99,.04) 1px,transparent 1px),
		linear-gradient(90deg,rgba(10,48,99,.04) 1px,transparent 1px);
	background-size:58px 58px;
	-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.7) 58%,transparent);
	mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.7) 58%,transparent);
}

.irg-area26-breadcrumb{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px;
	margin-bottom:58px;
	color:#83909C;
	font-size:12px;
	font-weight:650;
}

.irg-area26-breadcrumb a{
	color:var(--blue);
}

.irg-area26-breadcrumb strong{
	color:#536171;
	font-weight:700;
}

.irg-area26-hero-grid{
	display:grid;
	grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);
	gap:76px;
	align-items:center;
}

.irg-area26-hero-copy h1{
	max-width:860px;
	margin:0 0 26px;
	color:var(--navy-deep);
	font-size:clamp(56px,6.3vw,96px);
	line-height:.92;
	font-weight:760;
	letter-spacing:-.065em;
}

.irg-area26-lead{
	max-width:760px;
	color:#627181;
	font-size:18px;
	line-height:1.75;
}

.irg-area26-actions{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:22px;
	margin-top:34px;
}

.irg-area26-link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	color:var(--navy);
	font-size:13px;
	font-weight:800;
}

.irg-area26-link span{
	color:var(--blue);
	transition:transform .22s ease;
}

.irg-area26-link:hover span{
	transform:translate(2px,-2px);
}

/* HERO VISUAL */
.irg-area26-hero-visual{
	position:relative;
	min-height:460px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.irg-area26-hero-core{
	position:relative;
	z-index:3;
	width:235px;
	height:235px;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:16px;
	border-radius:50%;
	background:
		radial-gradient(circle at 34% 28%,rgba(255,255,255,.15),transparent 28%),
		linear-gradient(145deg,var(--navy),var(--blue));
	box-shadow:
		0 28px 64px rgba(10,48,99,.20),
		0 0 0 16px rgba(255,255,255,.60),
		0 0 0 17px rgba(20,102,190,.08);
}

.irg-area26-core-dot{
	width:22px;
	height:22px;
	border-radius:50%;
	background:var(--mint-bright);
	box-shadow:0 0 0 9px rgba(83,224,192,.09);
}

.irg-area26-core-line{
	width:72px;
	height:2px;
	border-radius:999px;
	background:linear-gradient(90deg,rgba(255,255,255,.30),rgba(191,232,216,.88),rgba(255,255,255,.30));
}

.irg-area26-orbit{
	position:absolute;
	left:50%;
	top:50%;
	border-radius:50%;
	border:1px solid rgba(20,102,190,.13);
	transform:translate(-50%,-50%);
}

.irg-area26-orbit--one{
	width:340px;
	height:340px;
}

.irg-area26-orbit--two{
	width:415px;
	height:415px;
	border-style:dashed;
	border-color:rgba(83,224,192,.25);
	animation:irgAreaOrbitSpin 34s linear infinite;
}

.irg-area26-orbit--three{
	width:455px;
	height:455px;
	border-color:rgba(20,102,190,.06);
}

.irg-area26-node{
	position:absolute;
	z-index:4;
	width:12px;
	height:12px;
	border-radius:50%;
	background:var(--mint-bright);
	box-shadow:0 0 0 8px rgba(83,224,192,.09);
	animation:irgAreaPulse 3.4s ease-in-out infinite;
}

.irg-area26-node--1{
	top:55px;
	right:82px;
}

.irg-area26-node--2{
	left:44px;
	top:220px;
	animation-delay:1.1s;
}

.irg-area26-node--3{
	right:92px;
	bottom:62px;
	animation-delay:2s;
}

@keyframes irgAreaOrbitSpin{
	to{transform:translate(-50%,-50%) rotate(360deg)}
}

@keyframes irgAreaPulse{
	0%,100%{transform:scale(.78);opacity:.52}
	50%{transform:scale(1.18);opacity:1}
}

/* =========================================================
CATALOGUE
========================================================= */
.irg-area26-catalog{
	padding:120px 0 130px;
	background:#fff;
}

.irg-area26-catalog-layout{
	display:grid;
	grid-template-columns:minmax(280px,.34fr) minmax(0,.66fr);
	gap:70px;
	align-items:start;
}

.irg-area26-dossier{
	position:sticky;
	top:120px;
	padding:30px;
	overflow:hidden;
	border:1px solid rgba(10,48,99,.10);
	border-radius:26px;
	background:
		radial-gradient(circle at 92% 10%,rgba(83,224,192,.15),transparent 28%),
		linear-gradient(145deg,#F4FAF7,#F7FAFD);
	box-shadow:0 18px 44px rgba(4,27,53,.06);
}

.irg-area26-dossier p{
	margin-bottom:24px;
	color:#687786;
	font-size:14px;
	line-height:1.72;
}

.irg-area26-dossier-link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	color:var(--blue);
	font-size:12px;
	font-weight:850;
	letter-spacing:.05em;
	text-transform:uppercase;
}

.irg-area26-dossier-link span{
	transition:transform .22s ease;
}

.irg-area26-dossier-link:hover span{
	transform:translate(2px,-2px);
}

.irg-area26-dossier-graphic{
	position:relative;
	height:110px;
	margin-top:34px;
}

.irg-area26-dossier-graphic::before,
.irg-area26-dossier-graphic::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	height:1px;
	background:linear-gradient(90deg,var(--blue),rgba(83,224,192,.15));
}

.irg-area26-dossier-graphic::before{top:30px}
.irg-area26-dossier-graphic::after{bottom:24px}

.irg-area26-dossier-graphic span{
	position:absolute;
	width:12px;
	height:12px;
	border-radius:50%;
	background:#fff;
	border:3px solid var(--blue);
}

.irg-area26-dossier-graphic span:nth-child(1){left:12%;top:24px}
.irg-area26-dossier-graphic span:nth-child(2){left:44%;top:24px;border-color:var(--mint-bright)}
.irg-area26-dossier-graphic span:nth-child(3){left:68%;bottom:18px}
.irg-area26-dossier-graphic span:nth-child(4){right:8%;bottom:18px;border-color:var(--mint-bright)}

.irg-area26-results-head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:32px;
	margin-bottom:34px;
	padding-bottom:28px;
	border-bottom:1px solid var(--line);
}

.irg-area26-results-head h2{
	color:var(--navy-deep);
	font-size:clamp(36px,4vw,58px);
	font-weight:760;
	line-height:1;
	letter-spacing:-.05em;
}


.irg-area26-test-list{
	display:grid;
	gap:12px;
}

.irg-area26-test-card{
	position:relative;
	display:grid;
	grid-template-columns:58px minmax(0,1fr) 42px;
	gap:18px;
	align-items:center;
	min-height:118px;
	padding:20px 22px;
	overflow:hidden;
	border:1px solid rgba(10,48,99,.09);
	border-radius:22px;
	background:#fff;
	box-shadow:0 12px 30px rgba(4,27,53,.045);
	transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}

.irg-area26-test-card::before{
	content:"";
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	width:4px;
	background:linear-gradient(var(--mint-bright),var(--blue));
	transform:scaleY(.25);
	transform-origin:center;
	transition:transform .25s ease;
}

.irg-area26-test-code{
	display:flex;
	align-items:center;
	justify-content:center;
	width:46px;
	height:46px;
	border-radius:50%;
	background:var(--mint-soft);
	color:var(--blue);
	font-size:11px;
	font-weight:850;
	letter-spacing:.09em;
}

.irg-area26-test-main h2{
	margin-bottom:8px;
	color:var(--navy-deep);
	font-size:21px;
	font-weight:750;
	line-height:1.25;
	letter-spacing:-.025em;
}

.irg-area26-test-area{
	color:#788694;
	font-size:10px;
	font-weight:750;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.irg-area26-test-arrow{
	width:38px;
	height:38px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:var(--ice-soft);
	color:var(--blue);
	font-size:16px;
	transition:transform .25s ease,background .25s ease;
}

@media(hover:hover) and (pointer:fine){
	.irg-area26-test-card:hover{
		transform:translateY(-3px);
		border-color:rgba(83,224,192,.45);
		box-shadow:0 18px 42px rgba(4,27,53,.08);
	}
	.irg-area26-test-card:hover::before{
		transform:scaleY(1);
	}
	.irg-area26-test-card:hover .irg-area26-test-arrow{
		transform:translate(2px,-2px);
		background:var(--mint-soft);
	}
}

.irg-area26-empty{
	padding:28px;
	border:1px solid var(--line);
	border-radius:20px;
	background:var(--ice-soft);
	color:#687786;
	font-size:15px;
	line-height:1.6;
}

/* =========================================================
AUDIENCE
========================================================= */
.irg-area26-audience{
	padding:112px 0;
	background:
		radial-gradient(circle at 10% 16%,rgba(83,224,192,.12),transparent 25%),
		linear-gradient(135deg,#F1F9F5 0%,#F8FBFD 56%,#EDF4FC 100%);
}

.irg-area26-audience-head{
	margin-bottom:28px;
}

.irg-area26-audience-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:20px;
}

.irg-area26-audience-card{
	position:relative;
	min-height:320px;
	padding:34px;
	overflow:hidden;
	border:1px solid rgba(10,48,99,.09);
	border-radius:28px;
	background:rgba(255,255,255,.86);
	box-shadow:0 18px 42px rgba(4,27,53,.06);
}

.irg-area26-audience-card--dark{
	color:#fff;
	background:
		radial-gradient(circle at 88% 12%,rgba(83,224,192,.15),transparent 25%),
		linear-gradient(145deg,var(--navy),#17487F);
}

.irg-area26-audience-index{
	display:block;
	margin-bottom:52px;
	color:var(--blue);
	font-size:10px;
	font-weight:850;
	letter-spacing:.14em;
	text-transform:uppercase;
}

.irg-area26-audience-card--dark .irg-area26-audience-index{
	color:var(--mint);
}

.irg-area26-audience-card h3{
	max-width:520px;
	margin-bottom:13px;
	color:var(--navy-deep);
	font-size:32px;
	font-weight:760;
	line-height:1.04;
	letter-spacing:-.04em;
}

.irg-area26-audience-card--dark h3{
	color:#fff;
}

.irg-area26-audience-card p{
	max-width:520px;
	color:#687786;
	font-size:14px;
	line-height:1.7;
}

.irg-area26-audience-card--dark p{
	color:rgba(255,255,255,.68);
}

.irg-area26-card-link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin-top:26px;
	color:var(--blue);
	font-size:12px;
	font-weight:850;
	letter-spacing:.05em;
	text-transform:uppercase;
}

.irg-area26-audience-card--dark .irg-area26-card-link{
	color:var(--mint);
}

.irg-area26-card-link span{
	transition:transform .22s ease;
}

.irg-area26-card-link:hover span{
	transform:translate(2px,-2px);
}

/* abstract micrographic */
.irg-area26-audience-icon{
	position:absolute;
	right:28px;
	top:28px;
	width:112px;
	height:70px;
}

.irg-area26-audience-icon::before{
	content:"";
	position:absolute;
	left:12px;
	right:12px;
	top:34px;
	height:1px;
	background:rgba(20,102,190,.18);
	transform:rotate(-12deg);
}

.irg-area26-audience-card--dark .irg-area26-audience-icon::before{
	background:rgba(255,255,255,.18);
}

.irg-area26-audience-icon span{
	position:absolute;
	width:14px;
	height:14px;
	border-radius:50%;
	background:var(--mint-bright);
	box-shadow:0 0 0 7px rgba(83,224,192,.07);
}

.irg-area26-audience-icon span:nth-child(1){left:8px;top:35px}
.irg-area26-audience-icon span:nth-child(2){left:50px;top:12px;background:var(--blue)}
.irg-area26-audience-icon span:nth-child(3){right:4px;bottom:4px}

/* =========================================================
CLOSING CTA — MINT
========================================================= */
.irg-area26-closing{
	position:relative;
	overflow:hidden;
	padding:88px 0;
	background:
		radial-gradient(circle at 82% 20%,rgba(20,102,190,.10),transparent 27%),
		radial-gradient(circle at 18% 112%,rgba(45,123,103,.18),transparent 38%),
		linear-gradient(128deg,#DCEDE5 0%,#EAF6F0 50%,#D1E8DE 100%);
}

.irg-area26-closing::before{
	content:"";
	position:absolute;
	width:500px;
	height:500px;
	right:-140px;
	bottom:-340px;
	border:1px solid rgba(45,123,103,.16);
	border-radius:50%;
	box-shadow:
		0 0 0 68px rgba(255,255,255,.12),
		0 0 0 136px rgba(20,102,190,.02);
}

.irg-area26-closing-grid{
	position:relative;
	z-index:2;
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:48px;
	align-items:center;
}

.irg-area26-closing h2{
	max-width:820px;
	color:var(--navy-deep);
	font-size:clamp(42px,5vw,72px);
	font-weight:760;
	line-height:.97;
	letter-spacing:-.055em;
}

.irg-area26-closing-actions{
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	gap:14px;
}

.irg-area26-closing-link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	color:var(--navy);
	font-size:12px;
	font-weight:800;
}

.irg-area26-closing-link span{
	color:var(--blue);
	transition:transform .22s ease;
}

.irg-area26-closing-link:hover span{
	transform:translate(2px,-2px);
}

/* =========================================================
RESPONSIVE
========================================================= */
@media(max-width:1080px){
	.irg-area26-hero-grid{
		grid-template-columns:1fr;
	}

	.irg-area26-hero-visual{
		min-height:400px;
	}

	.irg-area26-catalog-layout{
		grid-template-columns:1fr;
	}

	.irg-area26-dossier{
		position:relative;
		top:auto;
	}

	.irg-area26-dossier-graphic{
		max-width:420px;
	}
}

@media(max-width:820px){
	.irg-area26-shell{
		width:calc(100% - 32px);
	}

	.irg-area26-hero{
		padding:58px 0 82px;
	}

	.irg-area26-breadcrumb{
		margin-bottom:40px;
	}

	.irg-area26-hero-copy h1{
		font-size:clamp(50px,15vw,76px);
	}

	.irg-area26-hero-visual{
		min-height:350px;
	}

	.irg-area26-hero-core{
		width:190px;
		height:190px;
	}

	.irg-area26-hero-core strong{
		font-size:58px;
	}

	.irg-area26-orbit--one{
		width:280px;
		height:280px;
	}

	.irg-area26-orbit--two{
		width:330px;
		height:330px;
	}

	.irg-area26-orbit--three{
		width:360px;
		height:360px;
	}

	.irg-area26-catalog{
		padding:88px 0 96px;
	}

	.irg-area26-results-head{
		align-items:flex-start;
		flex-direction:column;
	}

	.irg-area26-results-count{
		min-width:90px;
	}

	.irg-area26-audience{
		padding:86px 0;
	}

	.irg-area26-audience-grid{
		grid-template-columns:1fr;
	}

	.irg-area26-closing{
		padding:72px 0;
	}

	.irg-area26-closing-grid{
		grid-template-columns:1fr;
	}

	.irg-area26-closing-actions{
		align-items:flex-start;
	}
}

@media(max-width:560px){
	.irg-area26-actions{
		align-items:flex-start;
		flex-direction:column;
	}

	.irg-area26-test-card{
		grid-template-columns:46px minmax(0,1fr) 34px;
		gap:12px;
		padding:17px;
	}

	.irg-area26-test-code{
		width:40px;
		height:40px;
	}

	.irg-area26-test-main h2{
		font-size:18px;
	}

	.irg-area26-audience-card{
		min-height:300px;
		padding:26px;
	}

	.irg-area26-audience-icon{
		right:18px;
		top:20px;
		transform:scale(.82);
		transform-origin:top right;
	}
}

@media(prefers-reduced-motion:reduce){
	.irg-area26 *,
	.irg-area26 *::before,
	.irg-area26 *::after{
		animation:none !important;
		transition:none !important;
		scroll-behavior:auto !important;
	}
}


/* =========================================================
IRG — SINGOLA SCHEDA TEST
Versione 1.0 — Diagnostic Intelligence / Premium 2026
========================================================= */

.irg-test26{
	--navy:#0A3063;
	--navy-deep:#041B35;
	--navy-mid:#123B73;
	--blue:#1466BE;
	--blue-2:#2F76C8;
	--mint:#BFE8D8;
	--mint-soft:#EAF7F2;
	--mint-bright:#53E0C0;
	--ice:#EDF4FC;
	--ice-soft:#F7FAFD;
	--graphite:#192330;
	--muted:#657586;
	--line:rgba(10,48,99,.11);
	--shadow:0 24px 64px rgba(4,27,53,.10);

	width:100vw;
	max-width:100vw;
	margin-left:calc(50% - 50vw);
	overflow:hidden;
	color:var(--graphite);
	background:#fff;
	font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}

.irg-test26 *,
.irg-test26 *::before,
.irg-test26 *::after{
	box-sizing:border-box;
}

.irg-test26 h1,
.irg-test26 h2,
.irg-test26 h3,
.irg-test26 p,
.irg-test26 figure{
	margin:0;
}

.irg-test26 img{
	display:block;
	max-width:100%;
}

.irg-test26 a{
	color:inherit;
	text-decoration:none;
}

.irg-test26-shell{
	width:min(1380px,calc(100% - 64px));
	margin:0 auto;
}

.irg-test26-kicker{
	display:inline-flex;
	align-items:center;
	gap:10px;
	margin-bottom:17px;
	color:var(--blue);
	font-size:11px;
	font-weight:850;
	line-height:1.2;
	letter-spacing:.17em;
	text-transform:uppercase;
}

.irg-test26-kicker::before{
	content:"";
	width:28px;
	height:2px;
	border-radius:999px;
	background:linear-gradient(90deg,var(--mint-bright),var(--blue));
}

.irg-test26-kicker--light{
	color:var(--mint);
}

.irg-test26-kicker--light::before{
	background:linear-gradient(90deg,var(--mint-bright),#fff);
}

.irg-test26-btn{
	min-height:54px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:0 24px;
	border:1px solid transparent;
	border-radius:999px;
	font-size:14px;
	font-weight:800;
	line-height:1;
	transition:transform .24s ease,box-shadow .24s ease,background .24s ease,border-color .24s ease;
}

.irg-test26-btn::after{
	content:"↗";
	margin-left:10px;
	font-size:15px;
	transition:transform .24s ease;
}

.irg-test26-btn--primary{
	color:#fff !important;
	background:linear-gradient(135deg,var(--blue),#0D4E99);
	box-shadow:0 14px 32px rgba(20,102,190,.23);
}

.irg-test26-btn--full{
	width:100%;
}

.irg-test26-btn--xl{
	min-width:220px;
	min-height:64px;
	padding:0 34px;
	font-size:16px;
}

@media(hover:hover) and (pointer:fine){
	.irg-test26-btn:hover{
		transform:translateY(-2px);
	}
	.irg-test26-btn:hover::after{
		transform:translate(2px,-2px);
	}
	.irg-test26-btn--primary:hover{
		box-shadow:0 18px 40px rgba(20,102,190,.31);
	}
}

/* =========================================================
HERO
========================================================= */
.irg-test26-hero{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	padding:76px 0 94px;
	background:
		radial-gradient(circle at 78% 18%,rgba(83,224,192,.16),transparent 24%),
		radial-gradient(circle at 14% 88%,rgba(20,102,190,.08),transparent 30%),
		linear-gradient(135deg,#F4FBF8 0%,#F8FBFD 54%,#EAF3FB 100%);
}

.irg-test26-hero::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:-2;
	opacity:.27;
	background-image:
		linear-gradient(rgba(10,48,99,.04) 1px,transparent 1px),
		linear-gradient(90deg,rgba(10,48,99,.04) 1px,transparent 1px);
	background-size:56px 56px;
	-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.66) 58%,transparent);
	mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.66) 58%,transparent);
}

.irg-test26-crumb{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	align-items:center;
	margin-bottom:54px;
	color:#82909E;
	font-size:12px;
	font-weight:650;
}

.irg-test26-crumb a{
	color:var(--blue);
}

.irg-test26-crumb strong{
	color:#526171;
	font-weight:700;
}

.irg-test26-hero-grid{
	display:grid;
	grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
	gap:76px;
	align-items:center;
}

.irg-test26-hero-copy h1{
	max-width:900px;
	margin-bottom:25px;
	color:var(--navy-deep);
	font-size:clamp(54px,6vw,94px);
	font-weight:760;
	line-height:.93;
	letter-spacing:-.064em;
}

.irg-test26-lead{
	max-width:760px;
	color:#627181;
	font-size:18px;
	line-height:1.75;
}

.irg-test26-hero-actions{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:22px;
	margin-top:34px;
}

.irg-test26-text-link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	color:var(--navy);
	font-size:13px;
	font-weight:800;
}

.irg-test26-text-link span{
	color:var(--blue);
	transition:transform .22s ease;
}

.irg-test26-text-link:hover span{
	transform:translateY(3px);
}

.irg-test26-hero-panel{
	position:relative;
	min-height:450px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.irg-test26-hero-photo{
	position:relative;
	z-index:3;
	width:min(100%,500px);
	overflow:hidden;
	border:1px solid rgba(10,48,99,.10);
	border-radius:32px;
	box-shadow:0 28px 70px rgba(4,27,53,.13);
	background:#fff;
}

.irg-test26-hero-photo img{
	width:100%;
	height:430px;
	object-fit:cover;
}

.irg-test26-hero-orbit{
	position:absolute;
	left:50%;
	top:50%;
	border-radius:50%;
	transform:translate(-50%,-50%);
	border:1px solid rgba(20,102,190,.12);
}

.irg-test26-hero-orbit--a{
	width:390px;
	height:390px;
}

.irg-test26-hero-orbit--b{
	width:470px;
	height:470px;
	border-style:dashed;
	border-color:rgba(83,224,192,.26);
}

.irg-test26-hero-badge{
	position:absolute;
	z-index:5;
	left:10px;
	bottom:30px;
	display:flex;
	align-items:center;
	gap:10px;
	min-height:42px;
	padding:0 15px;
	border:1px solid rgba(255,255,255,.44);
	border-radius:999px;
	color:#fff;
	background:rgba(4,27,53,.78);
	backdrop-filter:blur(12px);
	font-size:11px;
	font-weight:780;
	letter-spacing:.06em;
	text-transform:uppercase;
}

.irg-test26-hero-badge span{
	width:8px;
	height:8px;
	border-radius:50%;
	background:var(--mint-bright);
	box-shadow:0 0 0 6px rgba(83,224,192,.10);
}

.irg-test26-hero-abstract{
	position:relative;
	z-index:3;
	width:330px;
	height:330px;
	border-radius:50%;
	border:1px solid rgba(20,102,190,.12);
	background:
		radial-gradient(circle at 35% 30%,rgba(255,255,255,.78),transparent 22%),
		linear-gradient(145deg,rgba(191,232,216,.86),rgba(237,244,252,.94));
	box-shadow:0 30px 72px rgba(4,27,53,.10);
}

.irg-test26-hero-abstract::before,
.irg-test26-hero-abstract::after{
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	width:220px;
	height:1px;
	transform-origin:center;
	background:linear-gradient(90deg,transparent,var(--blue),var(--mint-bright),transparent);
	opacity:.38;
}

.irg-test26-hero-abstract::before{
	transform:translate(-50%,-50%) rotate(28deg);
}

.irg-test26-hero-abstract::after{
	transform:translate(-50%,-50%) rotate(-28deg);
}

.irg-test26-hero-abstract span{
	position:absolute;
	width:18px;
	height:18px;
	border-radius:50%;
	background:var(--blue);
	box-shadow:0 0 0 8px rgba(20,102,190,.06);
}

.irg-test26-hero-abstract span:nth-child(1){left:48px;top:94px}
.irg-test26-hero-abstract span:nth-child(2){right:48px;top:90px;background:var(--mint-bright)}
.irg-test26-hero-abstract span:nth-child(3){left:50%;top:50%;transform:translate(-50%,-50%);background:var(--navy)}
.irg-test26-hero-abstract span:nth-child(4){left:60px;bottom:70px;background:var(--mint-bright)}
.irg-test26-hero-abstract span:nth-child(5){right:58px;bottom:64px}

/* =========================================================
STICKY NAV
========================================================= */
.irg-test26-nav{
	position:sticky;
	top:0;
	z-index:40;
	border-top:1px solid rgba(10,48,99,.08);
	border-bottom:1px solid rgba(10,48,99,.10);
	background:rgba(255,255,255,.93);
	backdrop-filter:blur(14px);
}

.irg-test26-nav-inner{
	min-height:66px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
}

.irg-test26-nav-links{
	display:flex;
	align-items:center;
	gap:28px;
}

.irg-test26-nav-links a{
	position:relative;
	display:inline-flex;
	min-height:66px;
	align-items:center;
	color:#506071;
	font-size:12px;
	font-weight:760;
}

.irg-test26-nav-links a::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:-1px;
	height:2px;
	background:linear-gradient(90deg,var(--mint-bright),var(--blue));
	transform:scaleX(0);
	transform-origin:left;
	transition:transform .22s ease;
}

.irg-test26-nav-links a:hover::after{
	transform:scaleX(1);
}

.irg-test26-nav-cta{
	display:inline-flex;
	align-items:center;
	min-height:40px;
	padding:0 16px;
	border-radius:999px;
	color:#fff !important;
	background:var(--navy);
	font-size:11px;
	font-weight:800;
}

/* =========================================================
COUNTERS
========================================================= */
.irg-test26-counters{
	padding:28px 0;
	border-bottom:1px solid var(--line);
	background:#fff;
}

.irg-test26-counters-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
}

.irg-test26-counter{
	position:relative;
	min-height:108px;
	padding:18px 28px;
	display:flex;
	flex-direction:column;
	justify-content:center;
}

.irg-test26-counter + .irg-test26-counter{
	border-left:1px solid var(--line);
}

.irg-test26-counter .irg-num{
	color:var(--navy-deep);
	font-size:42px;
	line-height:1;
	font-weight:780;
	letter-spacing:-.05em;
}

.irg-test26-counter .irg-num--txt{
	font-size:30px;
}

.irg-test26-counter-label{
	margin-top:8px;
	color:#778594;
	font-size:10px;
	font-weight:800;
	letter-spacing:.12em;
	text-transform:uppercase;
}

/* =========================================================
OVERVIEW / DOSSIER
========================================================= */
.irg-test26-overview{
	padding:118px 0 126px;
	background:#fff;
}

.irg-test26-overview-grid{
	display:grid;
	grid-template-columns:minmax(0,1fr) 360px;
	gap:72px;
	align-items:start;
}

.irg-test26-main{
	min-width:0;
}

.irg-test26-block + .irg-test26-block{
	margin-top:76px;
}

.irg-test26-block h2{
	max-width:900px;
	margin-bottom:24px;
	color:var(--navy-deep);
	font-size:clamp(36px,4vw,58px);
	font-weight:760;
	line-height:1.02;
	letter-spacing:-.048em;
}

.irg-test26-rich{
	color:#536576;
	font-size:16px;
	line-height:1.82;
}

.irg-test26-rich p + p{
	margin-top:16px;
}

.irg-test26-visual{
	margin:52px 0 76px;
	overflow:hidden;
	border-radius:28px;
	box-shadow:var(--shadow);
	background:#fff;
}

.irg-test26-visual img{
	width:100%;
	max-height:560px;
	object-fit:cover;
}

.irg-test26-visual figcaption{
	padding:12px 16px;
	color:#788695;
	background:#F8FAFC;
	font-size:11px;
	line-height:1.5;
}

.irg-test26-purpose-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px;
}

.irg-test26-purpose-card{
	position:relative;
	min-height:145px;
	display:flex;
	align-items:flex-start;
	gap:16px;
	padding:22px;
	overflow:hidden;
	border:1px solid rgba(10,48,99,.09);
	border-radius:22px;
	background:
		radial-gradient(circle at 100% 0%,rgba(83,224,192,.10),transparent 28%),
		#fff;
	box-shadow:0 12px 30px rgba(4,27,53,.045);
	transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}

.irg-test26-icon{
	flex:0 0 38px;
	width:38px;
	height:38px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:12px;
	color:var(--blue);
	background:var(--mint-soft);
}

.irg-test26-icon svg{
	width:19px;
	height:19px;
}

.irg-test26-purpose-card p{
	color:#536576;
	font-size:14px;
	line-height:1.65;
}

@media(hover:hover) and (pointer:fine){
	.irg-test26-purpose-card:hover{
		transform:translateY(-4px);
		border-color:rgba(83,224,192,.45);
		box-shadow:0 18px 40px rgba(4,27,53,.08);
	}
}

.irg-test26-check-list,
.irg-test26-benefit-list{
	margin:0;
	padding:0;
	list-style:none;
}

.irg-test26-check-list{
	display:grid;
	gap:12px;
}

.irg-test26-check-list li,
.irg-test26-benefit-list li{
	position:relative;
	padding-left:34px;
	color:#536576;
	font-size:15px;
	line-height:1.64;
}

.irg-test26-check-list li::before,
.irg-test26-benefit-list li::before{
	content:"✓";
	position:absolute;
	left:0;
	top:1px;
	width:22px;
	height:22px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	color:#fff;
	background:linear-gradient(135deg,var(--mint-bright),var(--blue));
	font-size:11px;
	font-weight:900;
}

/* SIDEBAR */
.irg-test26-side{
	position:sticky;
	top:94px;
	display:grid;
	gap:18px;
}

.irg-test26-side-card{
	overflow:hidden;
	border:1px solid rgba(10,48,99,.10);
	border-radius:24px;
	background:#fff;
	box-shadow:0 16px 42px rgba(4,27,53,.065);
}

.irg-test26-side-card--key{
	padding:24px;
	border-top:3px solid var(--mint-bright);
	background:
		radial-gradient(circle at 100% 0%,rgba(83,224,192,.12),transparent 30%),
		#fff;
}

.irg-test26-key-list{
	display:grid;
	gap:16px;
	margin-bottom:22px;
}

.irg-test26-key-item{
	display:grid;
	grid-template-columns:38px minmax(0,1fr);
	gap:12px;
	align-items:center;
	color:#4F6172;
	font-size:13px;
	font-weight:650;
	line-height:1.45;
}

.irg-test26-pren-note{
	margin-top:14px;
	color:#597066;
	font-size:11px;
	font-weight:750;
	text-align:center;
}

.irg-test26-info-card h3{
	padding:22px 22px 17px;
	color:var(--navy-deep);
	font-size:18px;
	font-weight:780;
	letter-spacing:-.02em;
	border-bottom:1px solid var(--line);
}

.irg-test26-info-list{
	display:grid;
}

.irg-test26-info-row{
	display:grid;
	grid-template-columns:.85fr 1.15fr;
	gap:14px;
	padding:15px 20px;
	border-bottom:1px solid var(--line);
}

.irg-test26-info-row:last-child{
	border-bottom:0;
}

.irg-test26-info-row span{
	color:#758494;
	font-size:10px;
	font-weight:800;
	letter-spacing:.04em;
	text-transform:uppercase;
}

.irg-test26-info-row strong{
	color:#445769;
	font-size:12px;
	font-weight:680;
	line-height:1.5;
	text-align:right;
}

/* =========================================================
METHOD
========================================================= */
.irg-test26-method{
	position:relative;
	overflow:hidden;
	padding:112px 0;
	color:#fff;
	background:
		radial-gradient(circle at 86% 16%,rgba(83,224,192,.14),transparent 23%),
		linear-gradient(135deg,#041B35 0%,#0A3063 54%,#153E75 100%);
}

.irg-test26-method::before{
	content:"";
	position:absolute;
	left:-150px;
	bottom:-280px;
	width:560px;
	height:560px;
	border-radius:50%;
	border:1px solid rgba(191,232,216,.10);
	box-shadow:
		0 0 0 58px rgba(191,232,216,.02),
		0 0 0 116px rgba(191,232,216,.012);
}

.irg-test26-section-head{
	max-width:900px;
	margin-bottom:48px;
}

.irg-test26-section-head h2,
.irg-test26-section-head--dark h2{
	color:var(--navy-deep);
	font-size:clamp(42px,5vw,72px);
	font-weight:760;
	line-height:.98;
	letter-spacing:-.052em;
}

.irg-test26-method .irg-test26-section-head h2,
.irg-test26-section-head--dark h2{
	color:#fff;
}

.irg-test26-method-grid{
	position:relative;
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:16px;
}

.irg-test26-method-grid::before{
	content:"";
	position:absolute;
	left:6%;
	right:6%;
	top:44px;
	height:1px;
	background:linear-gradient(90deg,transparent,rgba(83,224,192,.50),rgba(255,255,255,.18),rgba(83,224,192,.50),transparent);
}

.irg-test26-step{
	position:relative;
	z-index:2;
	min-height:260px;
	padding:26px;
	border:1px solid rgba(255,255,255,.12);
	border-radius:24px;
	background:rgba(255,255,255,.055);
	backdrop-filter:blur(8px);
}

.irg-test26-step-no{
	display:flex;
	width:38px;
	height:38px;
	align-items:center;
	justify-content:center;
	margin-bottom:30px;
	border-radius:50%;
	color:var(--navy);
	background:var(--mint);
	font-size:11px;
	font-weight:850;
	letter-spacing:.08em;
	box-shadow:0 0 0 8px rgba(191,232,216,.06);
}

.irg-test26-step-icon{
	display:inline-flex;
	width:40px;
	height:40px;
	align-items:center;
	justify-content:center;
	margin-bottom:18px;
	border-radius:12px;
	color:var(--mint);
	background:rgba(255,255,255,.07);
}

.irg-test26-step-icon svg{
	width:20px;
	height:20px;
}

.irg-test26-step h3{
	margin-bottom:10px;
	color:#fff;
	font-size:20px;
	font-weight:760;
	line-height:1.2;
}

.irg-test26-step p{
	color:rgba(255,255,255,.64);
	font-size:13px;
	line-height:1.65;
}

/* =========================================================
BENEFITS + FAQ
========================================================= */
.irg-test26-vf{
	padding:112px 0;
	background:
		radial-gradient(circle at 12% 16%,rgba(83,224,192,.13),transparent 24%),
		linear-gradient(135deg,#F0F9F5 0%,#F8FBFD 58%,#EDF4FC 100%);
}

.irg-test26-vf-grid{
	display:grid;
	grid-template-columns:.9fr 1.1fr;
	gap:24px;
	align-items:start;
}

.irg-test26-vf-panel{
	min-height:100%;
	padding:36px;
	border:1px solid rgba(10,48,99,.09);
	border-radius:28px;
	background:rgba(255,255,255,.86);
	box-shadow:0 18px 44px rgba(4,27,53,.055);
}

.irg-test26-vf-panel h2{
	margin-bottom:28px;
	color:var(--navy-deep);
	font-size:clamp(34px,3.4vw,50px);
	font-weight:760;
	line-height:1;
	letter-spacing:-.045em;
}

.irg-test26-benefit-list{
	display:grid;
	gap:15px;
}

.irg-test26-faq{
	display:grid;
}

.irg-test26-faq details{
	border-top:1px solid var(--line);
}

.irg-test26-faq details:last-child{
	border-bottom:1px solid var(--line);
}

.irg-test26-faq summary{
	cursor:pointer;
	list-style:none;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	min-height:64px;
	color:var(--navy-deep);
	font-size:13px;
	font-weight:760;
}

.irg-test26-faq summary::-webkit-details-marker{
	display:none;
}

.irg-test26-faq summary i{
	flex:0 0 auto;
	width:28px;
	height:28px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	color:var(--blue);
	background:var(--mint-soft);
	font-style:normal;
	font-size:16px;
	transition:transform .22s ease;
}

.irg-test26-faq details[open] summary i{
	transform:rotate(45deg);
}

.irg-test26-faq details > div{
	padding:0 42px 18px 0;
	color:#607181;
	font-size:13px;
	line-height:1.7;
}

/* =========================================================
PATHWAYS
========================================================= */
.irg-test26-pathways{
	position:relative;
	overflow:hidden;
	padding:112px 0;
	background:
		radial-gradient(circle at 82% 20%,rgba(83,224,192,.13),transparent 24%),
		linear-gradient(135deg,#061C37 0%,#0A3063 55%,#163F75 100%);
}

.irg-test26-pathway-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:18px;
}

.irg-test26-pathway-card{
	position:relative;
	min-height:330px;
	padding:30px;
	overflow:hidden;
	border:1px solid rgba(255,255,255,.11);
	border-radius:26px;
	background:rgba(255,255,255,.055);
	backdrop-filter:blur(8px);
}

.irg-test26-pathway-index{
	display:block;
	margin-bottom:54px;
	color:var(--mint);
	font-size:10px;
	font-weight:850;
	letter-spacing:.13em;
	text-transform:uppercase;
}

.irg-test26-pathway-card h3{
	margin-bottom:12px;
	color:#fff;
	font-size:28px;
	font-weight:760;
	line-height:1.05;
	letter-spacing:-.035em;
}

.irg-test26-pathway-card p{
	max-width:390px;
	color:rgba(255,255,255,.63);
	font-size:13px;
	line-height:1.7;
}

.irg-test26-pathway-card a{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin-top:24px;
	color:var(--mint);
	font-size:11px;
	font-weight:850;
	letter-spacing:.07em;
	text-transform:uppercase;
}

.irg-test26-pathway-card a span{
	transition:transform .22s ease;
}

.irg-test26-pathway-card a:hover span{
	transform:translate(2px,-2px);
}

.irg-test26-pathway-graphic{
	position:absolute;
	top:24px;
	right:24px;
	width:92px;
	height:58px;
}

.irg-test26-pathway-graphic::before{
	content:"";
	position:absolute;
	left:9px;
	right:9px;
	top:30px;
	height:1px;
	background:rgba(255,255,255,.18);
	transform:rotate(-10deg);
}

.irg-test26-pathway-graphic span{
	position:absolute;
	width:13px;
	height:13px;
	border-radius:50%;
	background:var(--mint-bright);
	box-shadow:0 0 0 6px rgba(83,224,192,.07);
}

.irg-test26-pathway-graphic span:nth-child(1){left:4px;top:32px}
.irg-test26-pathway-graphic span:nth-child(2){left:40px;top:9px;background:#78A7E6}
.irg-test26-pathway-graphic span:nth-child(3){right:2px;bottom:3px}

/* =========================================================
RESOURCES
========================================================= */
.irg-test26-resources{
	padding:112px 0;
	background:#fff;
}

.irg-test26-resources .irg-test26-section-head{
	margin-bottom:42px;
}

.irg-test26-docs{
	display:grid;
	gap:10px;
	margin-bottom:26px;
}

.irg-test26-docs > a{
	display:grid;
	grid-template-columns:130px minmax(0,1fr) 70px;
	gap:20px;
	align-items:center;
	min-height:72px;
	padding:15px 20px;
	border:1px solid var(--line);
	border-radius:18px;
	background:#fff;
	transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.irg-test26-doc-audience{
	color:var(--blue);
	font-size:9px;
	font-weight:850;
	letter-spacing:.10em;
	text-transform:uppercase;
}

.irg-test26-docs strong{
	color:var(--navy-deep);
	font-size:14px;
	font-weight:760;
}

.irg-test26-doc-type{
	color:#708090;
	font-size:10px;
	font-weight:800;
	text-align:right;
}

@media(hover:hover) and (pointer:fine){
	.irg-test26-docs > a:hover{
		transform:translateY(-2px);
		border-color:rgba(83,224,192,.46);
		box-shadow:0 14px 30px rgba(4,27,53,.06);
	}
}

.irg-test26-resource-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:18px;
}

.irg-test26-resource-grid article{
	min-height:220px;
	padding:28px;
	border:1px solid rgba(10,48,99,.09);
	border-radius:24px;
	background:
		radial-gradient(circle at 100% 0%,rgba(83,224,192,.11),transparent 30%),
		var(--ice-soft);
}

.irg-test26-resource-label{
	display:block;
	margin-bottom:22px;
	color:var(--blue);
	font-size:10px;
	font-weight:850;
	letter-spacing:.13em;
	text-transform:uppercase;
}

.irg-test26-resource-grid ul{
	margin:0;
	padding:0;
	list-style:none;
}

.irg-test26-resource-grid li + li{
	border-top:1px solid var(--line);
}

.irg-test26-resource-grid li a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	min-height:52px;
	color:var(--navy-deep);
	font-size:13px;
	font-weight:720;
}

.irg-test26-resource-grid li a span{
	color:var(--blue);
	transition:transform .22s ease;
}

.irg-test26-resource-grid li a:hover span{
	transform:translate(2px,-2px);
}

/* =========================================================
FINAL CTA
========================================================= */
.irg-test26-cta{
	position:relative;
	overflow:hidden;
	padding:88px 0;
	background:
		radial-gradient(circle at 82% 18%,rgba(20,102,190,.10),transparent 27%),
		radial-gradient(circle at 16% 112%,rgba(45,123,103,.18),transparent 38%),
		linear-gradient(128deg,#DCEDE5 0%,#EAF6F0 50%,#D1E8DE 100%);
}

.irg-test26-cta::before{
	content:"";
	position:absolute;
	right:-145px;
	bottom:-345px;
	width:510px;
	height:510px;
	border:1px solid rgba(45,123,103,.16);
	border-radius:50%;
	box-shadow:
		0 0 0 70px rgba(255,255,255,.12),
		0 0 0 140px rgba(20,102,190,.02);
}

.irg-test26-cta-grid{
	position:relative;
	z-index:2;
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:50px;
	align-items:center;
}

.irg-test26-cta h2{
	max-width:880px;
	margin-bottom:16px;
	color:var(--navy-deep);
	font-size:clamp(40px,4.7vw,68px);
	font-weight:760;
	line-height:.98;
	letter-spacing:-.052em;
}

.irg-test26-cta p{
	max-width:700px;
	color:#5D706C;
	font-size:15px;
	line-height:1.72;
}

.irg-test26-cta-action{
	display:flex;
	justify-content:flex-end;
}

/* =========================================================
RESPONSIVE
========================================================= */
@media(max-width:1120px){
	.irg-test26-hero-grid{
		grid-template-columns:1fr;
	}

	.irg-test26-hero-panel{
		min-height:400px;
	}

	.irg-test26-overview-grid{
		grid-template-columns:1fr;
	}

	.irg-test26-side{
		position:relative;
		top:auto;
		grid-template-columns:1fr 1fr;
	}

	.irg-test26-method-grid{
		grid-template-columns:repeat(2,1fr);
	}

	.irg-test26-method-grid::before{
		display:none;
	}
}

@media(max-width:860px){
	.irg-test26-shell{
		width:calc(100% - 32px);
	}

	.irg-test26-hero{
		padding:58px 0 78px;
	}

	.irg-test26-crumb{
		margin-bottom:40px;
	}

	.irg-test26-hero-copy h1{
		font-size:clamp(50px,15vw,76px);
	}

	.irg-test26-nav{
		position:relative;
	}

	.irg-test26-nav-inner{
		align-items:flex-start;
		flex-direction:column;
		padding:12px 0;
	}

	.irg-test26-nav-links{
		width:100%;
		gap:18px;
		overflow-x:auto;
		scrollbar-width:none;
	}

	.irg-test26-nav-links::-webkit-scrollbar{
		display:none;
	}

	.irg-test26-nav-links a{
		flex:0 0 auto;
		min-height:42px;
	}

	.irg-test26-nav-cta{
		display:none;
	}

	.irg-test26-counter + .irg-test26-counter{
		border-left:0;
		border-top:1px solid var(--line);
	}

	.irg-test26-overview{
		padding:86px 0 94px;
	}

	.irg-test26-purpose-grid{
		grid-template-columns:1fr;
	}

	.irg-test26-side{
		grid-template-columns:1fr;
	}

	.irg-test26-method,
	.irg-test26-vf,
	.irg-test26-pathways,
	.irg-test26-resources{
		padding:86px 0;
	}

	.irg-test26-vf-grid{
		grid-template-columns:1fr;
	}

	.irg-test26-pathway-grid{
		grid-template-columns:1fr;
	}

	.irg-test26-resource-grid{
		grid-template-columns:1fr;
	}

	.irg-test26-cta{
		padding:72px 0;
	}

	.irg-test26-cta-grid{
		grid-template-columns:1fr;
	}

	.irg-test26-cta-action{
		justify-content:flex-start;
	}
}

@media(max-width:600px){
	.irg-test26-hero-actions{
		align-items:flex-start;
		flex-direction:column;
	}

	.irg-test26-hero-panel{
		min-height:330px;
	}

	.irg-test26-hero-photo img{
		height:330px;
	}

	.irg-test26-hero-orbit--a{
		width:300px;
		height:300px;
	}

	.irg-test26-hero-orbit--b{
		width:350px;
		height:350px;
	}

	.irg-test26-hero-abstract{
		width:270px;
		height:270px;
	}

	.irg-test26-info-row{
		grid-template-columns:1fr;
	}

	.irg-test26-info-row strong{
		text-align:left;
	}

	.irg-test26-method-grid{
		grid-template-columns:1fr;
	}

	.irg-test26-docs > a{
		grid-template-columns:1fr;
		gap:7px;
	}

	.irg-test26-doc-type{
		text-align:left;
	}
}

@media(prefers-reduced-motion:reduce){
	.irg-test26 *,
	.irg-test26 *::before,
	.irg-test26 *::after{
		animation:none !important;
		transition:none !important;
		scroll-behavior:auto !important;
	}
}


/* Fix single esame - full width + no sidebar + no gaps */
.single-esame #main-content {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
}
.single-esame #main-content .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.single-esame #sidebar {
    display: none !important;
}
.single-esame #left-area {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.single-esame #content-area {
    padding: 0 !important;
    margin: 0 !important;
}
.single-esame .irg-test26 {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}


.single-esame #content-area::after,
.single-esame #content-area::before {
    display: none !important;
}
.single-esame .et_right_sidebar #left-area {
    border-right: none !important;
}


.single-esame .container {
    width: 100% !important;
    max-width: 100% !important;
}
.single-esame #page-container {
    overflow: visible !important;
}



/* =========================================================
IRG — CATALOGO TUTTI I TEST
Versione 1.0 — Clinical Index / Diagnostic Navigator
========================================================= */

#main-content.irg-cat26-page{
	margin:0;
	padding:0;
	max-width:none;
	background:#fff;
}

.irg-cat26{
	--navy:#0A3063;
	--navy-deep:#041B35;
	--navy-mid:#123B73;
	--blue:#1466BE;
	--blue-2:#2F76C8;
	--mint:#BFE8D8;
	--mint-soft:#EAF7F2;
	--mint-bright:#53E0C0;
	--ice:#EDF4FC;
	--ice-soft:#F7FAFD;
	--graphite:#192330;
	--muted:#667687;
	--line:rgba(10,48,99,.11);
	--shadow:0 24px 64px rgba(4,27,53,.10);

	width:100%;
	overflow:hidden;
	color:var(--graphite);
	background:#fff;
	font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}

.irg-cat26 *,
.irg-cat26 *::before,
.irg-cat26 *::after{
	box-sizing:border-box;
}

.irg-cat26 h1,
.irg-cat26 h2,
.irg-cat26 h3,
.irg-cat26 p{
	margin:0;
}

.irg-cat26 a{
	color:inherit;
	text-decoration:none;
}

.irg-cat26 button,
.irg-cat26 input{
	font:inherit;
}

.irg-cat26-shell{
	width:min(1380px,calc(100% - 64px));
	margin:0 auto;
}

.irg-cat26-kicker{
	display:inline-flex;
	align-items:center;
	gap:10px;
	margin-bottom:17px;
	color:var(--blue);
	font-size:11px;
	font-weight:850;
	letter-spacing:.17em;
	text-transform:uppercase;
}

.irg-cat26-kicker::before{
	content:"";
	width:28px;
	height:2px;
	border-radius:999px;
	background:linear-gradient(90deg,var(--mint-bright),var(--blue));
}

.irg-cat26-kicker--light{
	color:var(--mint);
}

.irg-cat26-kicker--light::before{
	background:linear-gradient(90deg,var(--mint-bright),#fff);
}

/* =========================================================
HERO
========================================================= */
.irg-cat26-hero{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	padding:76px 0 118px;
	color:#fff;
	background:
		radial-gradient(circle at 82% 18%,rgba(83,224,192,.16),transparent 24%),
		radial-gradient(circle at 16% 92%,rgba(20,102,190,.22),transparent 32%),
		linear-gradient(135deg,#041B35 0%,#0A3063 53%,#153D72 100%);
}

.irg-cat26-hero::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:-2;
	opacity:.24;
	background-image:
		linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
		linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
	background-size:58px 58px;
	-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.78) 60%,transparent);
	mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.78) 60%,transparent);
}

.irg-cat26-breadcrumb{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px;
	margin-bottom:58px;
	color:rgba(255,255,255,.48);
	font-size:12px;
	font-weight:650;
}

.irg-cat26-breadcrumb a{
	color:rgba(255,255,255,.72);
}

.irg-cat26-breadcrumb strong{
	color:rgba(255,255,255,.62);
	font-weight:700;
}

.irg-cat26-hero-grid{
	display:grid;
	grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
	gap:82px;
	align-items:center;
}

.irg-cat26-hero-copy h1{
	max-width:900px;
	margin-bottom:25px;
	color:#fff;
	font-size:clamp(58px,6.5vw,100px);
	font-weight:760;
	line-height:.92;
	letter-spacing:-.066em;
}

.irg-cat26-hero-copy p{
	max-width:760px;
	color:rgba(255,255,255,.70);
	font-size:18px;
	line-height:1.75;
}

.irg-cat26-hero-az{
	position:relative;
	min-height:410px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.irg-cat26-az-a,
.irg-cat26-az-z{
	position:absolute;
	z-index:2;
	color:rgba(255,255,255,.96);
	font-size:clamp(138px,15vw,230px);
	font-weight:760;
	line-height:.8;
	letter-spacing:-.09em;
}

.irg-cat26-az-a{
	left:4%;
	top:48px;
}

.irg-cat26-az-z{
	right:2%;
	bottom:34px;
	color:var(--mint);
}

.irg-cat26-az-line{
	position:absolute;
	left:22%;
	right:20%;
	top:50%;
	height:2px;
	transform:rotate(-17deg);
	background:linear-gradient(90deg,rgba(83,224,192,.12),var(--mint-bright),rgba(255,255,255,.18));
}

.irg-cat26-az-line::before,
.irg-cat26-az-line::after{
	content:"";
	position:absolute;
	top:50%;
	width:16px;
	height:16px;
	border-radius:50%;
	transform:translateY(-50%);
	background:var(--mint-bright);
	box-shadow:0 0 0 9px rgba(83,224,192,.08);
}

.irg-cat26-az-line::before{left:0}
.irg-cat26-az-line::after{right:0;background:#fff}

.irg-cat26-az-node{
	position:absolute;
	width:10px;
	height:10px;
	border-radius:50%;
	background:var(--mint-bright);
	box-shadow:0 0 0 7px rgba(83,224,192,.07);
	animation:irgCatPulse 3.4s ease-in-out infinite;
}

.irg-cat26-az-node--1{right:24%;top:20%}
.irg-cat26-az-node--2{left:31%;bottom:16%;animation-delay:1.1s}
.irg-cat26-az-node--3{right:11%;bottom:12%;animation-delay:2s}

@keyframes irgCatPulse{
	0%,100%{transform:scale(.78);opacity:.5}
	50%{transform:scale(1.16);opacity:1}
}

/* =========================================================
TOOLS
========================================================= */
.irg-cat26-tools{
	position:relative;
	z-index:6;
	margin-top:-50px;
	padding-bottom:62px;
}

.irg-cat26-tools-panel{
	padding:26px;
	border:1px solid rgba(10,48,99,.10);
	border-radius:30px;
	background:rgba(255,255,255,.97);
	box-shadow:0 26px 68px rgba(4,27,53,.14);
}

.irg-cat26-search-wrap{
	padding-bottom:24px;
	border-bottom:1px solid var(--line);
}

.irg-cat26-tools-label,
.irg-cat26-filter-title{
	display:block;
	margin-bottom:10px;
	color:#718091;
	font-size:10px;
	font-weight:850;
	letter-spacing:.13em;
	text-transform:uppercase;
}

.irg-cat26-search{
	display:grid;
	grid-template-columns:52px minmax(0,1fr) auto;
	align-items:center;
	min-height:68px;
	overflow:hidden;
	border:1px solid rgba(10,48,99,.12);
	border-radius:18px;
	background:#fff;
	box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}

.irg-cat26-search-icon{
	display:flex;
	align-items:center;
	justify-content:center;
	color:var(--blue);
}

.irg-cat26-search-icon svg{
	width:22px;
	height:22px;
}

.irg-cat26-search input{
	width:100%;
	height:66px;
	padding:0 10px;
	border:0;
	outline:0;
	background:transparent;
	color:var(--navy-deep);
	font-size:16px;
}

.irg-cat26-search input::placeholder{
	color:#96A1AC;
}

.irg-cat26-search button{
	height:52px;
	margin-right:8px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding:0 24px;
	border:0;
	border-radius:14px;
	cursor:pointer;
	color:#fff;
	background:linear-gradient(135deg,var(--blue),#0D4E99);
	font-size:13px;
	font-weight:800;
	box-shadow:0 12px 28px rgba(20,102,190,.18);
	transition:transform .22s ease,box-shadow .22s ease;
}

.irg-cat26-filter-block{
	padding-top:22px;
}

.irg-cat26-filter-block + .irg-cat26-filter-block{
	margin-top:18px;
	border-top:1px solid rgba(10,48,99,.07);
}

.irg-cat26-filters{
	display:flex;
	flex-wrap:wrap;
	gap:9px;
}

.irg-cat26-filters button{
	min-height:38px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:0 14px;
	border:1px solid rgba(10,48,99,.11);
	border-radius:999px;
	cursor:pointer;
	color:#536373;
	background:#fff;
	font-size:11px;
	font-weight:740;
	transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}

.irg-cat26-filters button[aria-pressed="true"]{
	color:var(--navy-deep);
	border-color:rgba(83,224,192,.55);
	background:var(--mint-soft);
	box-shadow:0 0 0 3px rgba(83,224,192,.05);
}

@media(hover:hover) and (pointer:fine){
	.irg-cat26-search button:hover{
		transform:translateY(-1px);
		box-shadow:0 15px 32px rgba(20,102,190,.26);
	}
	.irg-cat26-filters button:hover{
		transform:translateY(-1px);
		border-color:rgba(20,102,190,.30);
	}
}

/* =========================================================
CATALOG
========================================================= */
.irg-cat26-catalog{
	padding:42px 0 126px;
	background:#fff;
}

.irg-cat26-catalog-grid{
	display:grid;
	grid-template-columns:250px minmax(0,1fr);
	gap:64px;
	align-items:start;
}

.irg-cat26-index{
	position:relative;
}

.irg-cat26-index-card{
	position:sticky;
	top:110px;
	padding:26px;
	overflow:hidden;
	border:1px solid rgba(10,48,99,.10);
	border-radius:24px;
	background:
		radial-gradient(circle at 94% 8%,rgba(83,224,192,.16),transparent 30%),
		linear-gradient(145deg,#F3F9F6,#F7FAFD);
	box-shadow:0 16px 40px rgba(4,27,53,.055);
}

.irg-cat26-index-nav{
	display:grid;
	grid-template-columns:repeat(5,1fr);
	gap:8px;
	margin:4px 0 24px;
}

.irg-cat26-index-nav a{
	aspect-ratio:1/1;
	display:flex;
	align-items:center;
	justify-content:center;
	border:1px solid rgba(10,48,99,.10);
	border-radius:11px;
	color:var(--navy);
	background:#fff;
	font-size:11px;
	font-weight:850;
	transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}

.irg-cat26-index-card p{
	color:#6E7D8B;
	font-size:12px;
	line-height:1.65;
}

.irg-cat26-index-graphic{
	position:relative;
	height:76px;
	margin-top:24px;
}

.irg-cat26-index-graphic::before{
	content:"";
	position:absolute;
	left:0;
	right:0;
	top:38px;
	height:1px;
	background:linear-gradient(90deg,var(--blue),rgba(83,224,192,.18));
}

.irg-cat26-index-graphic span{
	position:absolute;
	top:32px;
	width:12px;
	height:12px;
	border-radius:50%;
	background:#fff;
	border:3px solid var(--blue);
}

.irg-cat26-index-graphic span:nth-child(1){left:4%}
.irg-cat26-index-graphic span:nth-child(2){left:34%;border-color:var(--mint-bright)}
.irg-cat26-index-graphic span:nth-child(3){left:66%}
.irg-cat26-index-graphic span:nth-child(4){right:3%;border-color:var(--mint-bright)}

@media(hover:hover) and (pointer:fine){
	.irg-cat26-index-nav a:hover{
		transform:translateY(-2px);
		color:#fff;
		border-color:var(--blue);
		background:var(--blue);
	}
}

.irg-cat26-results-head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:30px;
	margin-bottom:28px;
	padding-bottom:26px;
	border-bottom:1px solid var(--line);
}

.irg-cat26-results-head h2{
	color:var(--navy-deep);
	font-size:clamp(38px,4.2vw,62px);
	font-weight:760;
	line-height:.98;
	letter-spacing:-.052em;
}

.irg-cat26-result-count{
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	min-height:40px;
	padding:0 14px;
	border-radius:999px;
	color:#477264;
	background:var(--mint-soft);
	font-size:11px;
	font-weight:820;
}

.irg-cat26-test-list{
	display:grid;
	gap:11px;
}

.irg-cat26-test-card{
	position:relative;
	display:grid;
	grid-template-columns:92px minmax(0,1fr) 44px;
	gap:20px;
	align-items:center;
	min-height:112px;
	padding:18px 20px;
	overflow:hidden;
	border:1px solid rgba(10,48,99,.09);
	border-radius:22px;
	background:#fff;
	box-shadow:0 10px 28px rgba(4,27,53,.04);
	transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}

.irg-cat26-test-card::before{
	content:"";
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	width:4px;
	transform:scaleY(.26);
	transform-origin:center;
	background:linear-gradient(var(--mint-bright),var(--blue));
	transition:transform .24s ease;
}

.irg-cat26-test-code{
	min-height:60px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:8px;
	border-radius:16px;
	color:var(--blue);
	background:
		radial-gradient(circle at 100% 0%,rgba(83,224,192,.16),transparent 30%),
		var(--ice-soft);
}

.irg-cat26-test-code span{
	font-size:11px;
	font-weight:850;
	letter-spacing:.08em;
	text-align:center;
	word-break:break-word;
}

.irg-cat26-test-main h2{
	margin-bottom:8px;
	color:var(--navy-deep);
	font-size:21px;
	font-weight:750;
	line-height:1.22;
	letter-spacing:-.025em;
}

.irg-cat26-test-area{
	color:#778695;
	font-size:10px;
	font-weight:760;
	letter-spacing:.07em;
	text-transform:uppercase;
}

.irg-cat26-test-arrow{
	width:40px;
	height:40px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	color:var(--blue);
	background:var(--ice-soft);
	font-size:16px;
	transition:transform .22s ease,background .22s ease;
}

@media(hover:hover) and (pointer:fine){
	.irg-cat26-test-card:hover{
		transform:translateY(-3px);
		border-color:rgba(83,224,192,.46);
		box-shadow:0 18px 42px rgba(4,27,53,.075);
	}
	.irg-cat26-test-card:hover::before{
		transform:scaleY(1);
	}
	.irg-cat26-test-card:hover .irg-cat26-test-arrow{
		transform:translate(2px,-2px);
		background:var(--mint-soft);
	}
}

.irg-cat26-empty{
	padding:28px;
	border:1px solid rgba(10,48,99,.10);
	border-radius:20px;
	color:#657586;
	background:var(--ice-soft);
	font-size:14px;
	line-height:1.6;
}

/* =========================================================
FINAL CTA
========================================================= */
.irg-cat26-closing{
	position:relative;
	overflow:hidden;
	padding:88px 0;
	background:
		radial-gradient(circle at 82% 20%,rgba(20,102,190,.10),transparent 27%),
		radial-gradient(circle at 18% 112%,rgba(45,123,103,.18),transparent 38%),
		linear-gradient(128deg,#DCEDE5 0%,#EAF6F0 50%,#D1E8DE 100%);
}

.irg-cat26-closing::before{
	content:"";
	position:absolute;
	right:-140px;
	bottom:-340px;
	width:500px;
	height:500px;
	border:1px solid rgba(45,123,103,.16);
	border-radius:50%;
	box-shadow:
		0 0 0 68px rgba(255,255,255,.12),
		0 0 0 136px rgba(20,102,190,.02);
}

.irg-cat26-closing-grid{
	position:relative;
	z-index:2;
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:48px;
	align-items:center;
}

.irg-cat26-closing h2{
	max-width:900px;
	color:var(--navy-deep);
	font-size:clamp(42px,5vw,72px);
	font-weight:760;
	line-height:.97;
	letter-spacing:-.055em;
}

.irg-cat26-btn{
	min-width:230px;
	min-height:62px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:0 34px;
	border-radius:999px;
	color:#fff !important;
	background:linear-gradient(135deg,var(--blue),#0D4E99);
	box-shadow:0 15px 34px rgba(20,102,190,.22);
	font-size:16px;
	font-weight:800;
	transition:transform .22s ease,box-shadow .22s ease;
}

.irg-cat26-btn::after{
	content:"↗";
	margin-left:10px;
	font-size:15px;
}

@media(hover:hover) and (pointer:fine){
	.irg-cat26-btn:hover{
		transform:translateY(-2px);
		box-shadow:0 19px 40px rgba(20,102,190,.30);
	}
}

/* =========================================================
RESPONSIVE
========================================================= */
@media(max-width:1080px){
	.irg-cat26-hero-grid{
		grid-template-columns:1fr;
	}

	.irg-cat26-hero-az{
		min-height:310px;
	}

	.irg-cat26-catalog-grid{
		grid-template-columns:1fr;
	}

	.irg-cat26-index-card{
		position:relative;
		top:auto;
	}

	.irg-cat26-index-nav{
		grid-template-columns:repeat(10,1fr);
	}
}

@media(max-width:820px){
	.irg-cat26-shell{
		width:calc(100% - 32px);
	}

	.irg-cat26-hero{
		padding:58px 0 96px;
	}

	.irg-cat26-breadcrumb{
		margin-bottom:40px;
	}

	.irg-cat26-hero-copy h1{
		font-size:clamp(52px,15vw,80px);
	}

	.irg-cat26-tools{
		margin-top:-34px;
		padding-bottom:46px;
	}

	.irg-cat26-tools-panel{
		padding:18px;
		border-radius:22px;
	}

	.irg-cat26-search{
		grid-template-columns:42px minmax(0,1fr);
	}

	.irg-cat26-search button{
		grid-column:1/-1;
		width:calc(100% - 12px);
		margin:0 6px 6px;
	}

	.irg-cat26-index-nav{
		grid-template-columns:repeat(7,1fr);
	}

	.irg-cat26-catalog{
		padding:32px 0 94px;
	}

	.irg-cat26-results-head{
		align-items:flex-start;
		flex-direction:column;
	}

	.irg-cat26-closing{
		padding:72px 0;
	}

	.irg-cat26-closing-grid{
		grid-template-columns:1fr;
	}
}

@media(max-width:580px){
	.irg-cat26-hero-az{
		min-height:250px;
	}

	.irg-cat26-az-a,
	.irg-cat26-az-z{
		font-size:124px;
	}

	.irg-cat26-index-nav{
		grid-template-columns:repeat(5,1fr);
	}

	.irg-cat26-test-card{
		grid-template-columns:72px minmax(0,1fr) 34px;
		gap:12px;
		padding:15px;
		min-height:102px;
	}

	.irg-cat26-test-main h2{
		font-size:18px;
	}

	.irg-cat26-test-arrow{
		width:34px;
		height:34px;
	}
}

@media(prefers-reduced-motion:reduce){
	.irg-cat26 *,
	.irg-cat26 *::before,
	.irg-cat26 *::after{
		animation:none !important;
		transition:none !important;
		scroll-behavior:auto !important;
	}
}


.irg-cat26-test-card[style*="display: none"],
.irg-cat26-test-card[style*="display:none"] {
    display: none !important;
}


[data-irg-test-row][hidden],
[data-irg-test-row].is-hidden { display: none !important; }

/* scroll ai risultati dopo ricerca/filtro: margine per l'header fisso di Divi */
[data-irg-results]{ scroll-margin-top:120px; }

/* autocomplete: il menu suggerimenti (.irg-suggest) si aggancia al box di ricerca, non alla sezione */
.irg-cat26-search{ position:relative; overflow:visible; }
.irg-cat26-search .irg-suggest{ top:calc(100% + 10px); border-radius:18px; }