/* LABITECHS / VIU-inspired classic Windows palette: blue, white, red.
   Overrides the legacy dark styling non-destructively. No external assets. */
:root {
  color-scheme: light;
  --bg: #ffffff;
  --bg2: #f4f8ff;
  --panel: #ffffff;
  --panel2: #eef5fe;
  --line: #dbe5f2;
  --text: #152f52;
  --muted: #546a83;
  --teal: #1359aa; /* backwards-compatible accent token */
  --teal2: #0c4c97;
  --blue: #1359aa;
  --red: #c92843;
  --red-deep: #b21f39;
  --white: #ffffff;
  --radius: 16px;
}
html {scroll-padding-top: 24px;}
body {background:#fff; color:var(--text);}
::selection {background:#cbdcfb;color:#143d75;}
:focus-visible {outline:3px solid #d12c46;outline-offset:3px;}
.skip-link {background:#fff;color:#0b4f99;box-shadow:0 4px 20px #123a7040;}
.site-header {height:88px; background:#fffffffa; border-top:4px solid var(--red);border-bottom:1px solid #dce6f2;box-shadow:0 5px 24px #153c6a0b;}
.brand-symbol {width:48px;height:50px;background:linear-gradient(155deg,#1766c5,#0c448f);border:1px solid #0d4c9b;color:#fff;box-shadow:0 7px 16px #1858a23b;}
.brand-dot {color:#ef455f;}
.brand-lettering strong {color:#144a90;}
.brand-lettering strong span {color:#cc2641;}
.brand-lettering small {color:#5d748d;}
.main-nav>a {color:#31506f;}
.main-nav>a:not(.nav-contact):hover,.main-nav>a[aria-current=page] {color:#0e57a9;}
.main-nav>a[aria-current=page] {text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:10px;}
.main-nav .nav-contact {color:#fff;background:#1256a5;border:1px solid #1256a5;box-shadow:0 8px 16px #174f9420;}
.main-nav .nav-contact:hover {background:#0c438b;}
.menu-toggle span {background:#1254a3;}
.hero {background:radial-gradient(circle at 85% 35%,#306ed8a1 0%,#165bbd65 31%,transparent 53%),linear-gradient(115deg,#0a3976 0%,#1159aa 58%,#174d91 100%);min-height:635px;}
.hero-grid {background-image:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px);opacity:1;}
.hero-inner {min-height:595px;}
.hero-copy {padding-top:64px;padding-bottom:82px;}
.eyebrow,.hero .eyebrow,.hero .section-kicker {color:#dceaff;}
.eyebrow-dot {background:#f14660;box-shadow:0 0 0 5px #f1466033;}
.hero h1 {font-size:clamp(48px,5.2vw,73px);color:#fff;}
.text-gradient {background:linear-gradient(105deg,#fff 0%,#e3f0ff 40%,#ffa8b8 100%);background-clip:text;-webkit-background-clip:text;color:transparent;}
.hero-lead {color:#e0edfc;}
.btn {border-radius:9px;}
.btn-primary {background:#cf2b46;color:#fff;box-shadow:0 12px 30px #80243c35;}
.btn-primary:hover {background:#ae1c37;color:#fff;}
.btn-outline {border:1px solid #d4e3f3;color:#1652a0;background:#fff;}
.btn-outline:hover {color:#fff;background:#1259ac;border-color:#1259ac;}
.hero .btn-outline {color:#fff;border-color:#b1d0fb;background:#ffffff17;}
.hero .btn-outline:hover {background:#fff;color:#0e4e9d;}
.hero-facts {color:#dceaff;}
.hero-facts b {color:#ffb4c0;}
.visual-glow {background:radial-gradient(circle,#5f8ef8 0%,#6ca0e8 42%,transparent 70%);opacity:.32;}
.orb {border-color:#ffffff30;}
.code-window {border:1px solid #92b9fb;background:linear-gradient(145deg,#f5f9ff,#ecf4ff);box-shadow:0 32px 90px #09214b7a,0 0 0 5px #ffffff20;}
.window-header {background:#f8fbff;border-bottom:1px solid #cfdef3;color:#496c98;}
.window-dots i {background:#e2465a;}
.window-dots i:nth-child(2){background:#d5a333;}.window-dots i:nth-child(3){background:#3c8bc9;}
.code-lines {color:#1c385b;}
.code-lines span{color:#8297af;}
.code-purple {color:#be3153;}.code-blue {color:#0b56a5;}.code-green {color:#0d7495;}
.window-footer {border-top:1px solid #cfdef3;color:#6981a1;background:#f4f8ff;}
.window-footer span:first-child {color:#1464aa;}.window-footer i {background:#236cc9;box-shadow:none;}
.formula-card {border:1px solid #d1def1;background:#fff;box-shadow:0 17px 36px #09245155;}
.formula-top>span {color:#c12741;}.formula-top strong {color:#174d93;}.formula-card small {color:#657a91;}
.formula-bottom strong {color:#17426e;}.mini-chart i {background:linear-gradient(#de4961,#1b66b9);}.success-indicator{color:#2b68a9;}
.hero-scroll {color:#e5efff;}.scroll-line {background:#b4d1f6;}
.section {padding:100px 0;}
.services-section {background:#f5f8fd;}
.section-kicker {color:#c32741;}
.section-head h2,.about-copy h2 {color:#122c50;}
.muted-heading {color:#2661ac;}
.section-head>p {color:#60738c;}
.service-card {background:#fff;border:1px solid #dde7f4;box-shadow:0 7px 25px #224b8209;}
.service-card:hover {background:#fff;border-color:#89aee0;box-shadow:0 15px 33px #123f7c18;}
.service-icon {background:#eaf2ff;border:1px solid #ccddf2;}
.service-arrow {color:#c62d46;}.service-card:hover .service-arrow{color:#1659ab;}
.service-index {color:#9aacc0;}.service-card h3 {color:#16345c;}.service-card p {color:#596f87;}
.read-more {color:#155aa9;}
.text-link {color:#145cab;border-bottom:1px solid #c8d9f0;}.text-link:hover{color:#be2742;}
.about-section {background:#fff;}
.about-art {border:1px solid #b9d2f3;background:radial-gradient(ellipse at 55% 52%,#e3f1ff 0%,#f5faff 46%,#e7f2ff 90%);box-shadow:0 22px 50px #2353a00f;}
.about-art:before {border-color:#276fc12e;}.about-art:after{border-color:#226cc440;box-shadow:0 0 0 60px #236ecd06,0 0 0 120px #236ecd04;}
.about-art-top,.about-art-bottom {color:#3b6598;}.about-art-top b,.about-art-bottom {color:#ce2742;}
.about-core {color:#145bab;text-shadow:0 0 60px #306cb135;}.about-core span {color:#c62a47;}.about-core sup{color:#689ddc;}
.about-copy>p{color:#556b84;}
.values-list,.values-list>div {border-color:#e1e9f4;}.values-list>div>span {color:#ca2a46;}.values-list strong{color:#153e73;}.values-list p{color:#63788c;}
.research-section{background:#f3f7fd;}
.research-list,.research-item {border-color:#d6e2f2;}.research-item:hover{background:#e6f0fc;}
.research-num {color:#bc2943;}.research-item h3{color:#183e75;}.research-item p{color:#61778e;}.research-mark{color:#1d65b8;}
.project-section,.news-section{background:#fff;}
.project-grid {gap:22px;}
.project-card {background:#fff;border:1px solid #dae5f3;box-shadow:0 8px 27px #19416b13;display:flex;flex-direction:column;}
.project-card:hover {border-color:#7eaee3;box-shadow:0 18px 38px #19416b23;}
.project-cover {height:225px;background:linear-gradient(135deg,#e5f0ff,#b7cff1);}
.project-card:nth-child(2) .project-cover {background:linear-gradient(135deg,#e7f0fd,#f7e8ee);}
.project-card:nth-child(3) .project-cover {background:linear-gradient(135deg,#eef5fc,#ccdef5);}
.project-glyph{color:#1d6ac144;}.project-cover-arrow{background:#fff;color:#0c54a5;border-color:#d5e5fa;box-shadow:0 5px 12px #0002;}
.project-card-body{display:flex;flex-direction:column;flex:1;min-height:205px;}
.mini-label{color:#205ca3;}.project-card-body h3{color:#152f55;}.project-card-body p{color:#64758a;}
.news-section {background:#f4f8fe;}
.news-preview {background:#fff;border:1px solid #dce6f1;box-shadow:0 8px 23px #1743790b;}
.news-preview:hover{border-color:#216cc2;}.news-preview h3 {color:#142d50;}.news-preview p{color:#667c94;}.news-preview>span:last-child {color:#c62943;}
.cta-section {background:linear-gradient(110deg,#cf2844,#b71c38);color:#fff;}
.cta-section .section-kicker {color:#ffe0e4;}.cta-content h2 span {color:#fee3e7;}.cta-content p{color:#ffe6ec;}
.btn-dark {background:#fff;color:#1655a5;}.btn-dark:hover{background:#eaf2ff;color:#0a498f;}
.cta-decoration {color:#ffffff16;}
.footer {background:#0e3468;}.footer-top h3{color:#fff;}.footer-brand>p{color:#c5d8ef;}
.footer-top a:not(.brand),.footer-top p {color:#c2d6ed;}.footer-top a:not(.brand):hover{color:#fff;text-decoration:underline;}
.footer-top .footer-mail{color:#fff!important;}.footer-bottom{border-color:#ffffff2c;color:#bccee4;}
.footer .brand-lettering strong,.footer .brand-lettering strong span{color:#fff;}.footer .brand-lettering small{color:#bdcfe7;}.footer .brand-symbol{background:#fff;color:#155ab0;border-color:#a6c4eb;}.footer .brand-dot{color:#d22842;}
.page-hero{background:linear-gradient(112deg,#0b438a,#1762b7 72%,#195398);border-bottom:4px solid #d32c47;}
.page-hero:after{border-color:#ffffff26;}
.page-hero h1{color:#fff;}.page-hero p{color:#deebff;}.page-hero .section-kicker{color:#ffb4c3;}
.page-hero .back-link{color:#dfecff;}
.interior-section {background:#f5f8ff;}
.article-body{color:#3c516a;}.article-body a{color:#145dab;}
.detail-aside{background:#fff;border:1px solid #d8e5f3;box-shadow:0 8px 28px #19416b13;}.detail-aside h3{color:#133e78;}.detail-aside p{color:#5f728a;}
.back-link{color:#1559a7;}.back-link:hover{color:#c42b43;}
.research-expanded,.research-detail{border-color:#dae4f1;}.research-detail h2{color:#17386a;}.research-subtitle{color:#526a88;}
.empty-state{background:#f7faff;border:1px dashed #b8cae2;}.empty-state>span{color:#195fae;}.empty-state h2{color:#183a63;}.empty-state p{color:#6b7d91;}
.pagination{color:#4c6480;}.pagination a{color:#165bac;}
.team-card{background:#fff;border:1px solid #d8e5f3;}.team-photo{background:radial-gradient(circle,#e2efff,#cbddf5);color:#1b67bb;}.team-bio h2{color:#123a70;}.team-bio p{color:#586c84;}
.contact-details h2{color:#103c77;}.contact-details>p{color:#5f7189;}.contact-detail{border-color:#dfe8f3;}.contact-detail span{color:#6c83a0;}.contact-detail a,.contact-detail strong{color:#155ba5;}
.contact-form-wrap{background:#fff;border:1px solid #d6e3f2;box-shadow:0 15px 40px #16396317;}.contact-form-wrap h2{color:#13386d;}.contact-form-wrap>p{color:#61788e;}.contact-form label{color:#23466e;}
.contact-form input:not([type=checkbox]),.contact-form textarea{background:#fbfdff;color:#183450;border:1px solid #c8d7ea;}.contact-form input:focus,.contact-form textarea:focus{border-color:#1b5fb7;box-shadow:0 0 0 3px #1b5fb719;}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#8294a9;}
.consent-label{color:#5a6e82!important;}.consent-label input{accent-color:#145baa;}.consent-label a{color:#145daa;}.form-note{color:#687e96;}
.form-errors{background:#fff0f3;color:#8f1f31;border:1px solid #efbdc8;}.success-message>span{background:#1b6abf;}.success-message p{color:#526a87;}
.privacy-body{color:#4b627b;}.privacy-body h2,.privacy-body h3{color:#1e447e;}.privacy-body a{color:#1459a9;}
.legal-warning{color:#7e4e22;background:#fff8e7;border:1px solid #edc67c;}
/* Projects: visible progress labels and ergonomic category tabs */
.portfolio-hero{padding:89px 0 76px;}.portfolio-hero h1{margin:12px 0 15px;}.portfolio-hero-rule{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin-top:39px;font-size:10px;letter-spacing:1.3px;color:#e4efff;}.portfolio-hero-rule span:first-child{width:35px;height:3px;background:#f65b74;border-radius:10px;}.portfolio-hero-rule strong{font-weight:750;}
.portfolio-listing{background:#f6f9fd;}.portfolio-heading{margin-bottom:28px;}.portfolio-heading h2{font-size:clamp(28px,3.1vw,43px);margin:8px 0;letter-spacing:-1px;}.portfolio-heading p{color:#60748d;max-width:720px;}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:35px;}.portfolio-filters a{border:1px solid #d4e2f4;background:#fff;color:#275681;font-size:12px;font-weight:750;border-radius:8px;padding:11px 17px;transition:background .2s;}.portfolio-filters a:hover{background:#e9f2ff;}.portfolio-filters a[aria-current=page]{background:#1459ad;color:#fff;border-color:#1459ad;box-shadow:0 6px 15px #1b60aa24;}
.portfolio-grid .project-cover{height:233px;}.portfolio-grid .project-card-body{min-height:260px;}.project-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}.project-card-body .read-more{margin-top:auto;padding-top:20px;}
.project-status{display:inline-block;white-space:nowrap;border-radius:6px;padding:5px 9px;font-size:10px;letter-spacing:.15px;font-weight:800;color:#224b79;background:#e8f0fc;border:1px solid #cadcf5;}
.project-status-completed{background:#e5eefb;border-color:#c6d9f7;color:#1154a2;}.project-status-prototype{background:#fef0f2;border-color:#f4c4ce;color:#a92740;}.project-status-in_progress{background:#fff2e1;border-color:#f0d7b6;color:#8a5526;}.project-status-concept,.project-status-review{background:#eef1f5;border-color:#d9e0e9;color:#56687a;}
.page-hero .project-status{margin:0 0 0 15px;vertical-align:middle;}.portfolio-note{margin-top:40px;padding:20px 24px;background:#eaf2fc;border-left:3px solid #ca2945;border-radius:8px;}.portfolio-note strong{color:#1a447c;font-size:14px;}.portfolio-note p{margin:6px 0 0;color:#647b94;font-size:13px;}
@media(max-width:860px){.site-header{height:76px;}.main-nav{top:76px;background:#fff;border-color:#d9e5f4;box-shadow:0 22px 40px #173a7130;}.main-nav>a{color:#31506f;}.main-nav .nav-contact{color:#fff;}}
@media(max-width:580px){.hero h1{font-size:clamp(40px,10.5vw,52px);}.hero-inner{min-height:0;}.hero-copy{padding-top:59px;}.hero-visual{margin-bottom:25px;}.code-window{width:95%;}.section{padding:65px 0;}.portfolio-hero{padding:67px 0 58px;}.portfolio-hero-rule{gap:8px;font-size:9px;}.portfolio-filters a{padding:9px 12px;font-size:11px;}.project-card-body{min-height:0;}}
/* Accent text on WHITE surfaces must never inherit the white hero gradient. */
.about-copy .text-gradient{background:linear-gradient(100deg,#1559a9,#be2b47);background-clip:text;-webkit-background-clip:text;color:transparent;}

/* 1.2.0 / Science publications library */
.scientific-section{background:#f4f8ff}
.publication-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.publication-card{background:#fff;border:1px solid #d7e5f5;border-top:4px solid #1359aa;padding:25px;border-radius:13px;box-shadow:0 8px 26px #123d7312}
.publication-card h3{color:#103b73;font-size:20px;line-height:1.34;margin:14px 0}
.publication-card h3 a{text-decoration:none;color:inherit}.publication-card h3 a:hover,.publication-entry h2 a:hover{color:#bd2846}
.pub-tag{display:inline-flex;align-items:center;background:#e8f2fe;color:#15549d;font-weight:700;border-radius:7px;font-size:12px;line-height:1.6;padding:4px 10px}
.pub-authors{color:#365b82;font-weight:600;line-height:1.65}
.pub-abstract{color:#536f8d;line-height:1.7}.pub-link,.pub-actions a,.pub-empty a{color:#125aaa;font-weight:700;text-decoration:none}
.pub-library{background:#f4f8ff;padding-top:64px;min-height:470px}
.pub-filters{display:flex;align-items:end;gap:13px;background:#fff;border:1px solid #d5e4f5;border-radius:14px;padding:20px;margin-bottom:32px;flex-wrap:wrap}
.pub-filters label{display:flex;flex-direction:column;gap:8px;color:#27496b;font-size:13px;font-weight:700;min-width:145px;flex:1}
.pub-filters label.pub-search{flex:2;min-width:210px}
.pub-filters input,.pub-filters select{color:#153c68;background:#fff;border:1px solid #c9d9ee;border-radius:8px;min-height:45px;max-width:100%;width:100%;padding:9px 11px;font-size:14px}
.pub-filters .btn{min-height:45px;align-self:end;white-space:nowrap}
.pub-reset{color:#ad2941;text-decoration:none;font-weight:650;align-self:center}
.publication-entry{display:grid;grid-template-columns:90px minmax(0,1fr);gap:25px;background:#fff;border:1px solid #dbe6f4;border-radius:13px;padding:28px;margin-bottom:15px;box-shadow:0 3px 15px #1238620b}
.publication-year{font-size:30px;color:#155baa;font-weight:800;letter-spacing:-1px}
.publication-entry .pub-labels,.publication-detail-hero .pub-labels{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pub-pdf-chip{display:inline-flex;padding:4px 10px;border:1px solid #f3c2cc;border-radius:7px;color:#bf2c46;font-size:12px;font-weight:700}
.publication-entry h2{font-size:clamp(20px,2vw,25px);line-height:1.35;margin:14px 0 8px;color:#143d73}
.publication-entry h2 a{color:inherit;text-decoration:none}
.pub-source{color:#5b728e;font-size:14px;margin:8px 0}
.pub-actions{display:flex;gap:24px;flex-wrap:wrap;margin-top:18px}
.pub-actions .pub-download{color:#bc2844}
.pub-empty{text-align:center;border:1px dashed #b6cbe5;background:#fff;padding:55px 20px;border-radius:13px}
.pub-empty>span{font-size:45px;color:#155aaa}.pub-empty h2{color:#163d70}.pub-empty p{max-width:650px;margin:15px auto 22px;color:#60768d}
.pub-pagination{padding-top:24px}
.publication-detail-hero h1{max-width:980px;font-size:clamp(33px,4.4vw,54px);line-height:1.17;margin:20px 0}
.publication-detail-hero .pub-authors{color:#deebff;font-size:17px}
.pub-back{color:#d9e9ff;text-decoration:none;font-weight:650}
.publication-detail-hero .pub-tag{background:#ffffff20;color:#fff;border:1px solid #ffffff50}
.publication-detail-hero .pub-labels{margin-top:22px}
.publication-detail-section{background:#f8fbff}
.publication-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr);gap:32px;align-items:start}
.publication-main{min-width:0;background:#fff;border:1px solid #dce7f4;padding:32px;border-radius:15px}
.publication-main section+section{margin-top:34px;padding-top:28px;border-top:1px solid #e2eaf4}
.publication-main h2,.pub-side-card h2{font-size:23px;color:#123e74;margin:0 0 18px}
.pub-prose,.pub-fulltext,.pub-citation{white-space:pre-wrap;overflow-wrap:anywhere;color:#314f6e;line-height:1.85;font-size:16px}
.pub-fulltext{font-family:Georgia,serif;color:#243a56;line-height:1.95}
.pub-keywords{color:#24568c;font-weight:550}
.pub-citation{background:#eff5ff;border-left:3px solid #c92843;padding:15px;border-radius:7px}
.pub-side-card{background:#fff;border:1px solid #d9e5f4;border-radius:15px;padding:25px;position:sticky;top:105px}
.pub-side-card h2{font-size:19px}
.pub-primary-download{display:block;text-align:center;padding:13px;font-size:14px}
.pub-file-info{overflow-wrap:anywhere;font-size:13px;color:#60768d;line-height:1.6}
.pub-side-link{display:block;overflow-wrap:anywhere;color:#145baa;font-weight:650;margin:16px 0;text-decoration:none}
.pub-side-divider{height:1px;background:#e0eaf7;margin:20px 0}
.pub-side-card dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;overflow-wrap:anywhere;font-size:14px}
.pub-side-card dt{color:#6a7e95}.pub-side-card dd{margin:0;color:#203f65;font-weight:600}
.pub-rights-note{font-size:12px;line-height:1.6;color:#687c92;margin-top:22px}
.pub-staff-list{list-style:none;margin:0;padding:0}.pub-staff-list li{margin:0 0 10px}.pub-staff-list a{color:#125ba9;font-weight:650}.pub-staff-list span{display:block;font-size:13px;color:#6d7f93}
.member-publications{display:flex;flex-direction:column;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid #d6e2f2}
.member-publications a{font-size:13px;color:#1259a5;line-height:1.4}
@media(max-width:900px){.publication-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.publication-layout{grid-template-columns:1fr}.pub-side-card{position:static}}
@media(max-width:620px){.publication-grid{grid-template-columns:1fr}.publication-entry{grid-template-columns:1fr;gap:6px;padding:20px}.publication-year{font-size:22px}.pub-filters{display:grid;grid-template-columns:1fr}.pub-filters label,.pub-filters label.pub-search{min-width:0}.publication-main{padding:20px}.pub-side-card{padding:20px}.pub-actions{gap:13px}.publication-detail-hero h1{font-size:32px}}

/* v1.3.0 / Events, conferences, people and achievements */
@media (min-width: 1401px){.header-inner{gap:18px}.main-nav{gap:clamp(10px,1.35vw,20px)}.main-nav>a{font-size:12.5px}.main-nav .nav-contact{padding:10px 12px;gap:7px}.brand-lettering strong{font-size:19px}}
@media (max-width: 1400px){.site-header{height:76px}.container{max-width:1180px}.menu-toggle{display:flex}.main-nav{display:none;position:absolute;top:76px;left:0;right:0;width:100%;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:16px max(20px,calc((100vw - 1180px)/2));border-bottom:1px solid #d8e4f3;box-shadow:0 25px 55px #123e7930}.main-nav.is-open{display:flex}.main-nav>a{display:block;padding:13px 18px;font-size:15px;color:#31506f}.main-nav .nav-contact{display:inline-flex;margin:8px 18px;align-self:flex-start;color:#fff}}
.editorial-hero{position:relative;isolation:isolate;overflow:hidden;padding:94px 0 90px;background:radial-gradient(circle at 80% 50%,#2b75ca 0,transparent 38%),linear-gradient(108deg,#0a3a79,#165eb5 70%,#104c9c)}
.editorial-hero .container{position:relative;z-index:1}.editorial-hero .section-kicker{color:#f9cbd5}.editorial-hero h1{font-size:clamp(40px,5vw,70px);letter-spacing:-2.5px;line-height:1.12;color:white;max-width:800px;margin:18px 0 21px}.editorial-hero p{color:#e6f0ff;max-width:780px;line-height:1.75;font-size:17px}
.editorial-hero-decoration{position:absolute;z-index:-1;right:0;top:-80px;font-size:175px;letter-spacing:-15px;color:#ffffff0d;white-space:nowrap;transform:rotate(-17deg);pointer-events:none}
.people-hero{background:radial-gradient(circle at 75% 45%,#3a82c8 0,transparent 45%),linear-gradient(105deg,#0c3974,#15569c 70%,#1c65ad)}
.editorial-section{background:#f6f9fd;min-height:52vh}.editorial-filter{background:white;border:1px solid #d9e5f4;box-shadow:0 12px 30px #1e518017;border-radius:15px;padding:19px;display:flex;gap:13px;align-items:flex-end;flex-wrap:wrap;margin-bottom:40px}
.editorial-filter label{display:flex;flex-direction:column;gap:7px;color:#2c5078;font-size:12px;font-weight:700;flex:1;min-width:170px}.editorial-filter input,.editorial-filter select{background:#f9fbff;border:1px solid #cdddf1;border-radius:8px;padding:12px 13px;font-size:14px;color:#173958;width:100%;min-height:48px}.editorial-filter .btn{min-height:48px}.filter-clear{font-size:13px;color:#135aa7;padding:12px}
.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.editorial-card{background:#fff;border:1px solid #dce7f6;border-radius:15px;overflow:hidden;box-shadow:0 10px 30px #17426e12;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.editorial-card:hover{transform:translateY(-5px);box-shadow:0 16px 38px #16457825}.editorial-image{display:block;position:relative;height:223px;overflow:hidden;background:#dcecff}.editorial-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.editorial-card:hover .editorial-image img{transform:scale(1.04)}.editorial-image-tag{position:absolute;bottom:15px;left:18px;color:white;background:#1356a8;padding:6px 11px;font-size:11px;font-weight:800;border-radius:5px;box-shadow:0 3px 9px #0002}
.event-placeholder,.person-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(circle at 75% 25%,#d7e9ff,#a7c7ec 55%,#76a5da)}.event-placeholder:before,.person-placeholder:before{content:'';width:220px;height:220px;border:1px solid #ffffff69;border-radius:50%;position:absolute}.event-placeholder:after{content:'';width:140px;height:140px;border:1px solid #ffffffa6;border-radius:50%;position:absolute}.event-placeholder span,.person-placeholder span{font-family:Georgia,serif;font-size:112px;line-height:1;color:#1456a78c}.person-placeholder{background:linear-gradient(135deg,#e8f0fb,#b7d2f1);flex-direction:column}.person-placeholder span{font-size:98px}.person-placeholder small{font-weight:700;letter-spacing:2px;color:#205796;text-transform:uppercase}
.editorial-card-content{padding:22px 23px 25px;flex:1;display:flex;flex-direction:column}.editorial-metadata{font-size:11px;letter-spacing:.25px;color:#5e7895;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.event-status{font-size:10px;color:#0e579e;background:#e9f3ff;padding:5px 8px;border-radius:5px;font-weight:800}.event-status.status-completed{background:#ecf6ee;color:#277345}.event-status.status-cancelled{background:#f8e9eb;color:#ad3452}
.editorial-card h2{font-size:21px;line-height:1.3;letter-spacing:-.4px;margin:17px 0 11px;color:#153d6e}.editorial-card h2 a:hover{color:#c62643}.editorial-card p{color:#60748c;font-size:13.5px;line-height:1.75}.editorial-card-foot{margin-top:auto;padding-top:20px;display:flex;gap:8px;align-items:center;justify-content:space-between;border-top:1px solid #e7edf5;font-size:11px;color:#6a829d}.editorial-card-foot a{flex-shrink:0;color:#1259aa;font-weight:800}.editorial-pages{margin-top:40px}.subject-name{display:block;color:#24538b;font-size:13px;margin-bottom:8px}
.editorial-detail-hero{padding:74px 0 73px;background:radial-gradient(circle at 85% 20%,#2b72ba 0,transparent 42%),linear-gradient(105deg,#093777,#1559ad);border-bottom:4px solid #c92843}.editorial-detail-hero h1{color:white;font-size:clamp(36px,4vw,59px);letter-spacing:-1.8px;line-height:1.2;max-width:900px;margin:20px 0}.editorial-detail-hero p{color:#e0edff;max-width:830px;font-size:17px}.back-on-blue{color:#dceaff;font-size:13px}.back-on-blue:hover{text-decoration:underline}.event-hero-tags{display:flex;gap:8px;margin-top:26px}.event-hero-tags span{border-radius:7px;border:1px solid #e5efff5c;padding:6px 11px;font-size:11px;font-weight:750;color:#fff;background:#ffffff1a}
.event-layout,.story-layout{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:34px;align-items:start}.editorial-article{min-width:0}.event-info-strip{background:#fff;border:1px solid #d8e5f5;border-radius:13px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:19px 22px;gap:18px;box-shadow:0 8px 27px #12457610}.event-info-strip div{min-width:0;display:flex;flex-direction:column}.event-info-strip small{font-size:10px;letter-spacing:1.2px;color:#c52946;font-weight:800}.event-info-strip strong{font-size:14px;color:#12416f;overflow-wrap:anywhere;margin-top:4px}.detail-content-block{padding:34px 0;border-bottom:1px solid #dae5f2}.detail-content-block h2{color:#163d70;font-size:27px;letter-spacing:-.7px;margin:0 0 20px}.content-plain{white-space:pre-line;color:#425f7c;font-size:15px;line-height:1.88;overflow-wrap:anywhere}.event-sidebar{position:sticky;top:30px}.event-side-card{background:#fff;border:1px solid #d9e5f4;border-top:4px solid #cb2b47;border-radius:13px;padding:27px 23px;box-shadow:0 10px 31px #14397012}.event-side-card h2{font-size:23px;line-height:1.3;color:#173e74;margin:11px 0 18px}.event-side-card p{border-top:1px solid #ebf0f7;padding:13px 0 3px;display:flex;flex-direction:column;gap:5px;font-size:13px;color:#4c6681;overflow-wrap:anywhere}.event-side-card small{font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:#7e94a9;font-weight:800}.event-side-card strong{font-size:13px;color:#173f73;font-weight:650;white-space:pre-line}.event-side-card a:not(.btn){color:#1159a8;overflow-wrap:anywhere}.event-side-button{display:flex;text-align:center;margin-top:25px;width:100%;padding:12px 16px}.event-side-note{margin-top:14px;font-size:12px;color:#8290a2;line-height:1.7;padding:0 8px}
.event-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.event-gallery figure{margin:0;background:white;border-radius:10px;overflow:hidden;border:1px solid #dce6f4}.event-gallery img{width:100%;height:155px;object-fit:cover;transition:transform .2s}.event-gallery a:hover img{transform:scale(1.035)}.event-gallery figcaption{padding:10px;color:#596e85;font-size:12px}.detail-section-title{display:flex;align-items:center;justify-content:space-between}.detail-section-title small{color:#6e86a3}.event-doc-list{display:grid;gap:8px}.event-doc-list>a{background:#fff;border:1px solid #dce7f4;padding:14px 15px;border-radius:9px;display:flex;gap:13px;align-items:center;color:#123c70}.event-doc-list>a:hover{border-color:#2569b6}.event-doc-list a>span:nth-child(2){flex:1}.event-doc-list strong{font-size:14px;display:block}.event-doc-list small{font-size:11px;color:#68809c}.doc-mark{color:#be2843;background:#f8e9ed;padding:10px 8px;border-radius:5px;font-size:11px;font-weight:800}
.event-register{border-bottom:0}.event-register>p{color:#647d95}.event-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:760px}.event-form>label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#24476e;font-weight:750}.event-form input:not([type=checkbox]),.event-form textarea{width:100%;padding:13px 14px;color:#13375d;background:#fff;border:1px solid #cbdaeb;border-radius:8px;font-size:14px}.event-form label:has(textarea),.event-form .event-consent{grid-column:1/-1}.event-form .event-consent{font-size:12px;line-height:1.7;color:#536d89;display:flex;flex-direction:row;align-items:start;gap:10px;font-weight:400}.event-consent a{color:#125da8;text-decoration:underline}.event-form .btn{justify-self:start}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.registration-success{padding:19px;border:1px solid #b0d6b7;background:#f0fbf1;color:#23623a;border-radius:9px;font-size:14px}
.story-lead-image{margin:0 0 24px;border:1px solid #dbe5f3;border-radius:14px;overflow:hidden}.story-lead-image img{width:100%;max-height:580px;object-fit:cover}.story-byline{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:#637e9a;font-size:13px}.story-byline strong{font-size:18px;color:#1556a0}.story-byline span:not(:first-child):before{content:'•';margin-right:10px;color:#c62e47}.story-text{font-size:16px;line-height:1.95}.story-interviewer,.story-source{margin-top:24px;color:#536c86;font-size:13px}.story-source a{color:#1259a7}
@media(max-width:1000px){.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-layout,.story-layout{grid-template-columns:minmax(0,1fr) 250px;gap:22px}}
@media(max-width:760px){.editorial-grid{grid-template-columns:1fr}.editorial-hero{padding:70px 0 65px}.editorial-detail-hero{padding:55px 0}.editorial-hero-decoration{display:none}.event-layout,.story-layout{grid-template-columns:1fr}.event-sidebar{position:static;order:-1}.event-side-card{padding:22px}.event-info-strip{grid-template-columns:1fr 1fr}.event-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.event-gallery img{height:165px}.editorial-filter{align-items:stretch}.editorial-filter .btn{width:100%}}
@media(max-width:480px){.editorial-hero h1{font-size:40px}.event-info-strip{grid-template-columns:1fr}.event-gallery{grid-template-columns:1fr 1fr;gap:7px}.event-gallery img{height:120px}.event-form{grid-template-columns:1fr}.event-form>label{grid-column:1/-1}.editorial-card-content{padding:22px 19px}}

/* Homepage event and people discovery */
.editorial-home-promo{background:#f3f7ff}.editorial-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.editorial-home-panel{display:flex;gap:20px;align-items:center;padding:35px;background:#fff;border:1px solid #d5e3f5;border-radius:15px;box-shadow:0 10px 31px #133e7512}.editorial-home-panel:hover{border-color:#205eac;transform:translateY(-2px)}.editorial-home-symbol{font-size:60px;color:#155caf;font-family:Georgia,serif}.editorial-home-panel.is-people .editorial-home-symbol{color:#c82945}.editorial-home-panel h3{font-size:24px;line-height:1.2;color:#123c70;margin:10px 0}.editorial-home-panel p{font-size:13px;line-height:1.7;color:#65809a}.editorial-home-panel strong{color:#155aa7;font-size:12px}.editorial-home-panel .mini-label{color:#c92b46}
@media(max-width:780px){.editorial-home-grid{grid-template-columns:1fr}}

/* LABITECHS v1.4: additional education — consistent Windows blue/white/red theme */
.education-hero{background:linear-gradient(120deg,#f3f8ff 0%,#e9f2ff 55%,#fff 100%);overflow:hidden}
.education-hero-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:48px;align-items:center}
.education-hero .container>div:first-child{position:relative;z-index:2}
.education-hero h1{max-width:830px;font-size:clamp(43px,4.2vw,66px);line-height:1.09}
.education-hero p{max-width:660px;font-size:17px;line-height:1.75;color:#496985}
.education-hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:31px}
.education-hero .btn-outline{color:#15529a;border:1px solid #a7bed9;background:#fff}
.education-hero-art{height:285px;position:relative;border:1px solid #c1d9f4;background:linear-gradient(135deg,#175aa8,#0b3775);border-radius:24px;box-shadow:0 20px 60px #1a56932c;transform:rotate(3deg)}
.edu-equation{font:90px/1 Georgia,serif;color:#fff;position:absolute;top:54px;left:54px}
.edu-equation small{display:block;font:12px ui-monospace,monospace;letter-spacing:2px;color:#bad2f8;margin-top:15px}
.edu-art-cell{position:absolute;display:grid;place-items:center;background:#fff;color:#155fae;border:1px solid #a7c8e9;font:800 24px ui-monospace,monospace;border-radius:13px;box-shadow:0 14px 20px #05264844}
.edu-art-cell.a{right:24px;top:-21px;width:91px;height:78px;transform:rotate(8deg)}
.edu-art-cell.b{right:-20px;top:100px;width:120px;height:88px;transform:rotate(-8deg);color:#ce2848}
.edu-art-cell.c{right:53px;bottom:-21px;width:79px;height:75px;transform:rotate(13deg)}
.edu-art-label{position:absolute;bottom:22px;left:35px;font:11px ui-monospace,monospace;color:#acc7ed;letter-spacing:2px}
.education-audiences{padding:55px 0;background:#fff}
.education-audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.education-audience-card{padding:30px;display:flex;align-items:center;gap:20px;border:1px solid #d8e5f5;border-radius:15px;background:#f9fcff;transition:.2s}
.education-audience-card:hover{border-color:#1c67b4;box-shadow:0 14px 30px #10417b17;transform:translateY(-3px)}
.education-audience-card>span:nth-child(2){display:flex;flex-direction:column;gap:8px;min-width:0}
.education-audience-card small{font-size:10px;letter-spacing:1.7px;color:#c72944;font-weight:850}
.education-audience-card strong{font-size:19px;color:#174477;line-height:1.35}
.education-audience-card>span:nth-child(2)>span{font-size:13px;color:#607894;line-height:1.65}
.education-audience-card>b{margin-left:auto;align-self:flex-start;color:#175da9;font-size:23px}
.edu-audience-icon{flex-shrink:0;display:grid;place-items:center;width:73px;height:75px;background:#e6f0ff;color:#145aa4;border-radius:13px;font:35px Georgia,serif}
.edu-audience-icon.red{background:#ffedf0;color:#c32b45;font:22px ui-monospace,monospace}
.education-directions{background:#f2f7fd}
.education-directions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.education-direction{padding:27px;background:#fff;border:1px solid #d9e4f3;border-radius:13px;box-shadow:0 8px 20px #143e730c}
.education-direction>span{font:700 13px ui-monospace,monospace;letter-spacing:1px;color:#c52a43}
.education-direction h3{font-size:20px;margin:20px 0 10px;color:#144477}
.education-direction p{font-size:13px;color:#607a94;line-height:1.75;margin:0}
.education-catalog{background:#fff}
.education-course-grid{align-items:stretch}
.edu-course-card{display:flex;flex-direction:column}
.edu-course-card .editorial-card-content{display:flex;flex:1;flex-direction:column}
.edu-course-card .editorial-card-foot{margin-top:auto}
.edu-course-visual{height:160px;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 70% 20%,#367dcc,#0d3e81 75%);overflow:hidden}
.edu-course-card:nth-child(3n + 2) .edu-course-visual{background:radial-gradient(circle at 70% 20%,#31629d,#142d62 75%)}
.edu-course-card:nth-child(3n + 3) .edu-course-visual{background:radial-gradient(circle at 70% 20%,#4572b0,#20458c 75%)}
.edu-code-mark{font:85px Georgia,serif;color:#ffffffc9;letter-spacing:-8px;transform:rotate(-8deg)}
.edu-subject-badge{position:absolute;left:18px;bottom:15px;font-size:11px;font-weight:800;color:#fff;background:#cc2a47;border-radius:5px;padding:6px 9px}
.edu-course-card h3{font-size:23px;line-height:1.3;margin:14px 0}
.edu-course-metadata{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0;padding:8px 0;color:#57728c;font-size:12px}
.edu-course-metadata span{padding:6px 10px;border-radius:7px;background:#eff5fb}
.education-empty{padding:60px 30px}
.education-empty .btn{margin-top:15px}
.education-cta{background:linear-gradient(110deg,#103c78,#155cad);color:#fff;padding:55px 0}
.education-cta .container{display:flex;justify-content:space-between;align-items:center;gap:35px}
.education-cta h2{font-size:32px;margin:12px 0;color:#fff}
.education-cta p{color:#d7e9ff;max-width:680px;margin:0}
.education-cta .btn{white-space:nowrap;background:#fff;color:#154d99}
.education-detail-hero{background:linear-gradient(120deg,#ecf4ff,#fff)}
.education-side-card{border-top-color:#155eaf}
.education-form select,.education-form textarea{width:100%;border:1px solid #cbdaeb;border-radius:8px;padding:13px 14px;color:#13375d;background:#fff;font:inherit}
.education-full-label{grid-column:1/-1}
.education-privacy-note{color:#52708c;line-height:1.65;font-size:12px;margin:0}
.education-form .education-full-label.btn{justify-self:start}
.education-home-band{background:#f3f7ff;padding:65px 0}
.education-home-band .container{display:flex;gap:30px;align-items:center;justify-content:space-between}
.education-home-copy{max-width:700px}
.education-home-copy h2{font-size:clamp(27px,3vw,41px);margin:12px 0;color:#153d78}
.education-home-copy p{font-size:15px;color:#54738d;line-height:1.8}
.education-home-band .btn{white-space:nowrap}
.education-home-chips{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}
.education-home-chips span{font-size:12px;color:#1256a2;background:#fff;border:1px solid #c8dcf3;border-radius:99px;padding:7px 12px}
@media(max-width:1000px){.education-hero-layout{grid-template-columns:1fr}.education-hero-art{display:none}.education-directions-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.education-audience-grid,.education-directions-grid{grid-template-columns:1fr}.education-home-band .container,.education-cta .container{flex-direction:column;align-items:flex-start}.education-hero-buttons{align-items:flex-start}}
@media(max-width:480px){.education-audience-card{padding:22px;gap:12px;align-items:flex-start}.edu-audience-icon{width:49px;height:52px;font-size:28px}.education-audience-card strong{font-size:17px}.education-hero-buttons .btn{width:100%}.education-course-grid{grid-template-columns:1fr}.education-cta h2{font-size:26px}}

/* Contrast correction for education hero on pale background */
.education-hero h1{color:#173e74}
.education-hero h1 .text-gradient{background:linear-gradient(105deg,#175db0 3%,#ca294a 95%);color:transparent;-webkit-background-clip:text;background-clip:text}
