/* Shared visual language. Page-specific laboratory and SKB skins build on these
   foundations; content, publication and interaction hooks stay in Wagtail. */
:root {
 --ui-ink:#1d2335; --ui-muted:#5e667a; --ui-purple:#6946a4;
 --ui-line:#dce0eb; --ui-surface:#f3f4f9; --ui-radius:24px;
 --design-dark:#111b2e; --design-light:#d2c6f1; --design-paper:#f4f5fa;
 --design-shadow:0 18px 54px #1c27420a;
}
body { background:var(--design-paper); color:var(--ui-ink); line-height:1.6; }
.section-pad { padding-block:80px; }
.container { width:min(1200px,calc(100% - 64px)); }
:where(.home-page,.native-page,.heritage-projects,.laboratory-index,.blog-listing,.learning-cases-page,.learning-case-page,.project-page,.article) h2 {
 font-size:clamp(30px,3.1vw,42px); line-height:1.16; letter-spacing:-.03em;
 text-transform:none; text-wrap:pretty;
}
:where(.home-page,.native-page,.heritage-projects,.laboratory-index,.blog-listing,.learning-cases-page,.learning-case-page,.project-page) h3 {
 line-height:1.24; letter-spacing:-.02em; text-transform:none; text-wrap:pretty;
}
.eyebrow,.laboratory-eyebrow { color:var(--ui-purple); font-size:11px; font-weight:650; letter-spacing:.09em; line-height:1.6; }
.section-heading-row { gap:24px; margin-bottom:36px; }
.section-heading-row > div { min-width:0; }
.section-heading-row h2 { margin:0; font-size:clamp(30px,3.1vw,42px); line-height:1.16; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:16px; min-height:50px; border-radius:13px; font-weight:550; }
.button--accent { background:#6946a4; color:#fff; border:1px solid transparent; box-shadow:none; }
.button--accent::before { content:none; }
.button--accent:hover { background:#563487; box-shadow:none; }
.text-link { text-decoration:none; font-size:15px; font-weight:550; }
.text-link:hover { text-decoration:underline; text-underline-offset:5px; }
:where(a,button,summary):focus-visible { outline:3px solid #9678c5; outline-offset:4px; }
.back-link { font-size:14px; line-height:1.5; }

/* One shared frame, with a restrained active state and quiet footer. */
.site-header { background:#111725; border-bottom:1px solid #c6cfe51a; box-shadow:0 6px 24px #101a3010; }
.site-nav a[aria-current]:not(.site-nav__contact) { color:#d5c5f4; }
.site-nav .site-nav__contact { background:#e7e9f5; color:#1b2337; }
.site-footer { background:radial-gradient(ellipse at 0 0,#31325166,transparent 65%),#111b2e; border-top:1px solid #b7c4e326; padding-block:56px 28px; }
.site-footer::before,.site-footer::after { content:none; }
.site-footer__column strong { color:#d2d9eb; font-weight:550; }
.site-footer__links a,.site-footer__column > a { color:#e0e4ef; }
.site-footer .socials a { border:1px solid #bac8ea38; background:#ffffff09; color:#e8e4fa; }
.site-footer__legal,.site-footer .review-link { color:#b8c2d8; }
.site-footer__legal { border-top:1px solid #b7c4e326; padding-top:20px; }

/* Collection pages share a real heading panel rather than a giant loose title. */
.collection-heading,.contacts-heading {
 position:relative; isolation:isolate; overflow:hidden; padding:44px;
 border:1px solid #b6c2e24d; border-radius:28px; color:#f6f7ff;
 background:radial-gradient(ellipse at 100% 0,#66508d55,transparent 65%),var(--design-dark);
 box-shadow:0 18px 50px #121c3712;
}
.collection-heading { display:grid; grid-template-columns:minmax(0,1fr) 260px; align-items:center; gap:44px; min-height:332px; }
.collection-heading__copy { min-width:0; }
.collection-heading .back-link { display:inline-flex; align-items:center; min-height:32px; margin:0 0 24px; color:#c6d0e7; }
.collection-heading .eyebrow,.contacts-heading .eyebrow { margin:0 0 20px; color:#c5b5e5; }
.collection-heading h1,.contacts-heading h1 {
 max-width:100%; margin:0; color:#f6f7ff; font-size:clamp(32px,4.3vw,56px);
 font-weight:600; line-height:1.08; letter-spacing:-.035em; text-transform:none; text-wrap:balance;
}
.collection-heading .collection-heading__copy .collection-heading__intro { max-width:680px; margin:24px 0 0; color:#c6cfe2; font-size:18px; line-height:1.65; }
.collection-heading__art { min-width:0; display:grid; place-items:center; }
.collection-heading__art img { display:block; width:100%; height:auto; }
.laboratory-index,.blog-listing { background:var(--design-paper); padding-top:36px; }
.laboratory-index__heading,.blog-listing__header { max-width:none; margin-bottom:44px; }
.laboratory-index__grid { gap:24px; }
.laboratory-index-card { display:flex; flex-direction:column; min-height:380px; padding:32px; border:1px solid #abbdd650; border-radius:24px; box-shadow:none; }
.laboratory-index-card > span { color:#bfd5e9; font-size:11px; letter-spacing:.07em; }
.laboratory-index-card h2 { margin:36px 0 20px; font-size:clamp(26px,6.4cqi,34px); line-height:1.18; }
.laboratory-index-card > p { margin:0 0 28px; color:#d6dfed; font-size:17px; line-height:1.65; }
.laboratory-index-card strong { margin-top:auto; padding-top:18px; border-top:1px solid #bdc8e236; font-size:15px; font-weight:550; }
.laboratory-index-card--industrial { background:linear-gradient(145deg,#1a3b50,#102536); }
.laboratory-index-card--ai { background:linear-gradient(145deg,#332449,#1d1630); }
.laboratory-index-card--ai > span { color:#d1bee8; }
.heritage-hero { padding:36px 0 0; background:var(--design-paper); }
.heritage-hero .collection-heading h1 { font-size:clamp(32px,4.3vw,56px); line-height:1.08; }
.heritage-projects { background:var(--design-paper); padding-block:44px 80px; }
.heritage-projects__grid { gap:24px; }
.heritage-card { display:flex; flex-direction:column; border-color:var(--ui-line); border-radius:24px; box-shadow:none; }
.heritage-card__logo { height:168px; min-height:168px; flex:none; background:#edf1f9; border-bottom:1px solid var(--ui-line); }
.heritage-card__content { display:flex; flex:1; flex-direction:column; gap:0; padding:28px; }
.heritage-card__subtitle { font-size:11px; line-height:1.6; color:#526b91; letter-spacing:.04em; }
.heritage-card__title { font-size:27px; line-height:1.22; letter-spacing:-.025em; margin-block:16px; }
.heritage-card__description { color:var(--ui-muted); font-size:16px; line-height:1.65; margin:0 0 28px; }
.heritage-card__footer { margin-top:auto; gap:12px; border-color:var(--ui-line); }
.heritage-card__footer > span:first-child { overflow-wrap:anywhere; font-size:13px; }
.heritage-card__arrow { width:40px; height:40px; flex-shrink:0; background:#e9e8f4; color:#62458e; border-radius:12px; }

/* Homepage: the same editorial panels, card rhythm and measured contrast. */
.home-page { background:var(--design-paper); }
.home-promo { padding:36px 0 32px; }
.home-promo__viewport { border-radius:28px; border-color:#a8b9db55; box-shadow:0 20px 54px #19274619; }
.home-promo__slide { min-height:570px; }
.home-promo__content { padding:32px 44px 44px; }
.home-promo__system-bar { margin-bottom:40px; }
.home-promo .button--accent { color:#1d2440; background:#d6cef2; border-color:#f0eaff; }
.home-promo .button--accent:hover { background:#ece4ff; }
.home-about { padding-top:24px; }
.home-about__grid { grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:44px; padding:40px; border:1px solid var(--ui-line); border-radius:26px; background:#fff; }
.home-about h2 { font-size:clamp(28px,3vw,38px); }
.home-about__text { font-size:17px; line-height:1.7; }
.home-about__image { border-radius:18px; background:#f0f2f7; }
.home-about__image img { width:100%; height:auto; object-fit:contain; }
.home-about .action-row { gap:12px 22px; }
.home-directions,.home-news,.home-partners { background:#fdfdff; }
.home-directions__grid,.home-heritage__grid,.home-leaders__grid { gap:20px; }
.home-directions__card { padding:28px; background:#f5f6fb; border-radius:24px; }
.home-directions h3 { font-size:25px; }
.home-directions__card .card-number { margin-bottom:32px; color:#7a6c9e; }
.home-directions__card .text-link { padding-top:16px; border-top:1px solid var(--ui-line); }
.home-labs { background:#111b2e; }
.home-labs__grid { gap:20px; }
.home-lab { padding:28px; border-color:#b1c8df38; border-radius:24px; background:linear-gradient(145deg,#1a3b50,#112a3e); }
.home-lab--ai { border-color:#bda7dc42; background:linear-gradient(145deg,#38274f,#211931); }
.home-lab--robotics { background:linear-gradient(145deg,#164454,#102b3a); }
.home-lab__top { margin-bottom:30px; }
.home-lab__top .eyebrow { font-size:10px; color:#bfcde3; }
.home-lab__top img { width:52px; height:52px; flex-shrink:0; }
.home-lab h3 { margin-bottom:20px; font-size:27px; line-height:1.2; }
.home-lab p { color:#c7d3e3; font-size:16px; line-height:1.65; }
.home-lab .text-link,.home-lab__action { padding-top:18px; border-top:1px solid #c9d5ec2b; font-weight:500; }
.home-heritage__card { padding:28px; border-radius:24px; }
.home-heritage__card > div { display:grid; align-items:center; min-height:116px; padding-bottom:20px; border-bottom:1px solid var(--ui-line); }
.home-heritage__card h3 { font-size:25px; }
.home-heritage__card p { font-size:15px; }
.home-heritage__card .text-link { color:var(--ui-purple); }
.home-leaders__card { border-radius:24px; }
.home-leaders__info { padding:24px; }
.home-leaders h3 { font-size:21px; }
.home-leaders__info p { font-size:15px; line-height:1.6; }
.home-partners__item { border-radius:18px; background:#f9faff; }
.gallery-thumb { border:1px solid var(--ui-line); border-radius:24px; }
.gallery-controls button { background:#f8f7fc; color:#55416d; }

/* News and project details remain comfortable to read at any line length. */
.news__grid { gap:24px; }
.news-card { border-color:var(--ui-line); border-radius:24px; }
.news-card__copy { padding:28px; gap:0; }
.news-card__copy::before { content:none; }
.news-card h3 { font-size:24px; line-height:1.25; }
.news-card p { line-height:1.65; }
.news-card time { color:#75628e; font-size:12px; }
.news-card .text-link { padding-top:18px; border-top:1px solid var(--ui-line); color:var(--ui-purple); }
.article { background:var(--design-paper); padding-top:36px; }
.article__inner { width:min(960px,calc(100% - 64px)); }
.article__header { padding:40px; border:1px solid var(--ui-line); border-radius:26px; background:#fff; margin-bottom:28px; }
.article__back { margin-bottom:24px; color:var(--ui-purple); }
.article__header time { display:block; margin-bottom:20px; color:#75628e; font-size:13px; }
.article h1 { font-size:clamp(30px,3.6vw,46px); line-height:1.14; letter-spacing:-.03em; margin:0 0 24px; }
.article__intro { font-size:19px; line-height:1.7; margin:0; }
.article__cover { border-radius:24px; margin:0 0 32px; }
.article__body { width:min(100%,780px); margin-inline:auto; font-size:18px; line-height:1.8; }
.article__body h2 { margin-top:40px; font-size:30px; line-height:1.2; }
.article__body :where(a) { color:var(--ui-purple); text-underline-offset:4px; overflow-wrap:anywhere; }
.project-page { background:var(--design-paper); padding-top:36px; }
.project-page > .container > .text-link { color:var(--ui-purple); }
.project-page__heading { max-width:none; padding:36px; background:#fff; border:1px solid var(--ui-line); border-radius:26px; margin:24px 0 32px; }
.project-page h1 { max-width:900px; font-size:clamp(30px,3.6vw,46px); letter-spacing:-.03em; }
.project-page__description { max-width:800px; line-height:1.8; margin-inline:36px; }
.project-page__gallery button { border:1px solid var(--ui-line); border-radius:22px; }
.project-page__gallery figcaption { font-size:15px; line-height:1.6; }

/* Services and partnership use the same split hero as the laboratories. */
.native-page { --native-accent:#9c86c1; --native-hero:#152036; background:var(--design-paper); }
.native-page--additive,.native-page--reverse { --native-accent:#b5cfe2; --native-hero:#122b3b; }
.native-hero { background:var(--design-paper); padding-block:36px 32px; }
.native-hero__grid { min-height:520px; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); padding:12px; gap:12px; border:1px solid #a8b9db55; border-radius:28px; background:radial-gradient(ellipse at 90% 0,#55467755,transparent 65%),var(--native-hero); box-shadow:0 20px 54px #19274614; }
.native-hero__copy { padding:32px; justify-content:center; }
.native-hero__signal { width:48px; height:3px; margin-bottom:24px; background:#c6b6e5; box-shadow:none; }
.native-hero h1 { font-size:clamp(28px,7.8cqi,50px); line-height:1.1; letter-spacing:-.035em; text-transform:none; }
.native-hero__subtitle { margin:20px 0 0; font-size:21px; line-height:1.45; font-weight:450; }
.native-hero__summary { margin:24px 0 0; font-size:17px; line-height:1.7; color:#c6d0e1; }
.native-hero .action-row { margin-top:30px; gap:14px 24px; }
.native-hero .text-link { color:#d9dfed; }
.native-hero .button--accent { color:#25253c; background:#d5c9ee; border-color:#eee5ff; }
.native-hero .button--accent:hover { background:#ece3ff; }
.native-hero__visual { border:1px solid #bacbeb26; border-radius:19px; min-height:0; }
.native-page .native-hero__visual > img { display:block; object-fit:cover; opacity:1; mix-blend-mode:normal; }
.native-section--light { background:#fbfcff; }
.native-section--soft { background:#edf0f7; }
.native-section--dark { background:#111b2e; }
.native-section--accent { background:#1d2b43; }
.native-section__heading { margin-bottom:36px; }
.native-section__heading h2,.native-cta h2 { font-size:clamp(30px,3.1vw,42px); line-height:1.16; text-transform:none; margin-bottom:20px; }
.native-section__heading > p:last-child { font-size:18px; line-height:1.7; color:var(--ui-muted); }
.native-section--dark .native-section__heading > p:last-child,.native-section--accent .native-section__heading > p:last-child { color:#c5cee0; }
.native-section__heading .laboratory-eyebrow { color:var(--ui-purple); }
.native-section--dark .laboratory-eyebrow,.native-section--accent .laboratory-eyebrow { color:#bdb0db; }
.native-grid { gap:20px; }
.native-card { min-height:0; border:1px solid var(--ui-line); border-radius:24px; box-shadow:none; }
.native-card__copy { padding:28px; gap:0; }
.native-card__meta { margin-bottom:28px; color:#78648d; font-size:11px; }
.native-card__copy h3 { font-size:25px; line-height:1.24; }
.native-card__copy p { margin-bottom:24px; font-size:16px; line-height:1.7; color:var(--ui-muted); }
.native-card__copy > a { padding-top:16px; margin-top:auto; border-bottom:0; border-top:1px solid var(--ui-line); width:100%; min-height:44px; color:var(--ui-purple); font-size:15px; font-weight:550; }
.native-card__image { flex-shrink:0; }
.native-section--dark .native-card,.native-section--accent .native-card { background:#1c2a43; border-color:#a1b2d23b; }
.native-section--dark .native-card p,.native-section--accent .native-card p { color:#c7d0e2; }
.native-section--dark .native-card__meta,.native-section--accent .native-card__meta { color:#c6b8e5; }
.native-section--dark .native-card a,.native-section--accent .native-card a { color:#d4c6ef; border-color:#b0bfda35; }
.native-section--steps .native-card { min-height:264px; }
.native-section--steps .native-card__meta { margin-bottom:42px; }
.native-cta { background:var(--design-paper); }
.native-cta__inner { padding:40px; border:1px solid #adbfdf40; border-radius:26px; background:radial-gradient(ellipse at 100% 0,#59467755,transparent 65%),#172239; color:#f6f6ff; }
.native-cta .laboratory-eyebrow { color:#c3b4df; }
.native-cta p:last-child { color:#c5cfe1; font-size:17px; line-height:1.7; }
.native-cta .button--accent { background:#d5c9ee; color:#25253c; }

/* Contact channels remain distinct; maps and travel directions stay together. */
.contacts-hero { background:var(--design-paper); padding-block:36px 32px; }
.contacts-heading { padding:40px; }
.contacts-heading h1 { margin-bottom:32px; }
.contact-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:20px; }
.contact-actions a { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-width:0; padding:20px; min-height:112px; border:1px solid #b7c4e13b; border-radius:18px; background:#ffffff06; color:#f4f2ff; text-decoration:none; }
.contact-actions a > span { font-size:12px; color:#bfcbe0; margin-bottom:10px; }
.contact-actions a > strong { font-size:clamp(18px,1.8vw,24px); line-height:1.4; font-weight:550; }
.contacts-heading > .text-link { color:#d4c6ef; }
.native-section--contacts .native-card { background:#fff; }
.native-card__map { min-height:340px; }
.native-section--contacts .native-card__copy { min-height:0; }
.map-fallback { background:#edf0f7; padding:12px 24px; border-bottom:1px solid var(--ui-line); }
.map-fallback a { color:#58447b; font-size:14px; }

/* Learning pages use the same palette and readable, uncompressed type. */
.learning-cases-hero,.learning-case-hero { background:var(--design-paper); padding-block:36px 40px; }
.learning-cases-hero__inner,.learning-case-hero__grid { min-height:0; padding:12px; gap:12px; border-color:#afbdd746; border-radius:28px; background:radial-gradient(ellipse at 0 0,#51406d55,transparent 65%),#152036; }
.learning-cases-hero__inner > div:first-child,.learning-case-hero__copy { padding:32px; }
.learning-cases-hero h1,.learning-case-hero h1 { margin:24px 0; font-size:clamp(30px,4vw,52px); line-height:1.1; letter-spacing:-.035em; text-transform:none; }
.learning-cases-hero .laboratory-eyebrow,.learning-case-hero .laboratory-eyebrow { color:#cabbe6; }
.learning-cases-hero__inner > div:first-child > p:last-child,.learning-case-hero__lead { font-size:18px; line-height:1.7; color:#c8d1e3; }
.learning-cases-hero__code,.learning-case-hero__visual { border-radius:19px; background:linear-gradient(145deg,#394763,#20283c); }
.learning-cases-hero__code { min-height:320px; }
.learning-cases-hero__code b { color:#dfd4f1; font-weight:400; }
.learning-case-hero__actions { flex-wrap:wrap; gap:18px 24px; }
.learning-case-hero .button--accent { background:#d5c9ee; color:#25253c; }
.learning-case-hero__facts span { border-color:#becde449; color:#c8d1e3; text-transform:none; }
.learning-cases-meaning,.learning-cases-catalog,.learning-case-overview,.learning-case-explain { color:var(--ui-ink); background:var(--design-paper); }
.learning-cases-meaning h2,.learning-case-explain h2,.learning-case-overview h2,.learning-case-start h2,.learning-case-route .laboratory-section__heading h2 { margin:0 0 24px; font-size:clamp(30px,3.1vw,42px); line-height:1.16; letter-spacing:-.03em; text-transform:none; }
.learning-cases-meaning__text,.learning-case-explain__grid > div:last-child { font-size:18px; line-height:1.8; color:var(--ui-muted); }
.learning-cases-flow { gap:16px; }
.learning-cases-flow article { padding:24px; border:1px solid var(--ui-line); border-radius:20px; background:#fff; }
.learning-cases-flow h3 { line-height:1.25; }
.learning-cases-flow p { font-size:15px; line-height:1.65; color:var(--ui-muted); }
.learning-case-card { border:1px solid var(--ui-line); border-radius:24px; box-shadow:none; }
.learning-case-card__visual { background:#19253c; }
.learning-case-card__visual::after { content:none; }
.learning-case-card__visual img { object-fit:contain; }
.learning-case-card__copy { padding:28px; }
.learning-case-card h3 { font-size:25px; line-height:1.24; }
.learning-case-card p { font-size:16px; line-height:1.65; color:var(--ui-muted); }
.learning-case-card__link { width:100%; padding-top:18px; min-height:44px; border-top:1px solid var(--ui-line); border-bottom:0; font-size:15px; font-weight:550; color:var(--ui-purple); }
.learning-case-overview__grid > div { padding:36px; border:1px solid var(--ui-line); border-radius:24px; }
.learning-case-overview__grid p { font-size:18px; line-height:1.7; }
.learning-case-overview .learning-case-result { background:#24334b !important; border-color:#aebedd42; }
.learning-case-result span { display:block; margin-bottom:18px; color:#d0c0ec; font-size:11px; }
.learning-case-roles,.learning-case-route { background:#121c2f; }
.learning-case-roles .laboratory-eyebrow,.learning-case-route .laboratory-eyebrow { color:#c2b0e0; }
.learning-case-roles__grid article,.learning-case-route__grid article { border-radius:22px; background:#202e46; border-color:#b3c1dd38; padding:26px; }
.learning-case-roles__grid h3,.learning-case-route__grid h3 { font-size:23px; line-height:1.25; }
.learning-case-roles__grid p,.learning-case-route__grid p { color:#c4cfe2; font-size:16px; line-height:1.65; }
.learning-case-route__grid span { color:#c3b0df; padding-bottom:32px; }
.learning-case-start { background:#e8ecf5; }
.learning-case-start__inner { gap:32px; }
.learning-case-start__inner p:last-child { color:var(--ui-muted); font-size:17px; line-height:1.7; }

@media (hover:hover) and (pointer:fine) {
 .heritage-card:hover,.home-heritage__card:hover,.laboratory-index-card:hover { transform:translateY(-3px); box-shadow:var(--design-shadow); }
 .home-partners__item:has(a):hover { border-color:#a796c4; }
 .button:hover { transform:translateY(-1px); }
}
@media(max-width:1119px) {
 .collection-heading { grid-template-columns:minmax(0,1fr) 200px; gap:28px; padding:36px; }
 .site-nav { background:#111725; border-color:#b6c2de33; }
 .site-nav:not(.is-open) { visibility:hidden; opacity:0; transition:none; pointer-events:none; }
 .home-about__grid { gap:32px; padding:32px; }
 .native-hero__copy { padding:26px; }
 .native-hero h1 { font-size:clamp(28px,8cqi,42px); }
 .contact-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .learning-case-roles__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .contact-actions a:last-child { grid-column:1/-1; }
 .heritage-card__content { padding:24px; }
 .heritage-card__title { font-size:25px; }
}
@media(max-width:1023px) {
 .home-about__grid { grid-template-columns:minmax(0,1fr); }
 .native-cta__inner,.learning-case-start__inner { align-items:flex-start; flex-direction:column; }
 .learning-case-roles__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
 .container { width:calc(100% - 40px); }
 .section-pad { padding-block:48px; }
 .section-heading-row { gap:12px; margin-bottom:28px; }
 .collection-heading { grid-template-columns:minmax(0,1fr); gap:0; min-height:0; padding:28px; border-radius:24px; }
 .collection-heading__art { display:none; }
 .collection-heading h1,.heritage-hero .collection-heading h1,.contacts-heading h1 { font-size:clamp(28px,7.5vw,40px); }
 .collection-heading .collection-heading__copy .collection-heading__intro { font-size:17px; margin-top:20px; }
 .laboratory-index,.blog-listing,.article,.project-page { padding-top:24px; }
 .laboratory-index__heading,.blog-listing__header { margin-bottom:28px; }
 .heritage-hero { padding:24px 0 0; }
 .heritage-projects { padding-top:28px; }
 .heritage-card__title { font-size:26px; }
 .home-promo { padding:24px 0; }
 .home-promo__content { padding:28px 24px 40px; }
 .home-promo__slide { min-height:0; }
 .home-promo__system-bar { margin-bottom:30px; }
 .home-about { padding-top:16px; }
 .home-about__grid { gap:28px; padding:24px; }
 .home-about__text { font-size:17px; }
 .home-lab h3 { font-size:26px; }
 .home-heritage__card { padding:24px; }
 .news-card__copy { padding:24px; }
 .article__inner { width:calc(100% - 40px); }
 .article__header { padding:28px; }
 .article h1 { font-size:clamp(28px,7.3vw,36px); }
 .article__intro { font-size:17px; }
 .project-page__heading { padding:28px; }
 .project-page__description { margin-inline:0; font-size:17px; }
 .native-hero { padding:24px 0 32px; }
 .native-hero__grid { min-height:0; grid-template-columns:minmax(0,1fr); padding:10px; gap:0; border-radius:24px; }
 .native-hero__copy { padding:24px 18px 30px; }
 .native-hero h1 { font-size:clamp(27px,8cqi,38px); }
 .native-hero__subtitle { font-size:20px; }
 .native-hero__summary { font-size:17px; }
 .native-hero__visual { height:280px; }
 .native-section__heading h2,.native-cta h2 { font-size:30px; }
 .native-section__heading > p:last-child { font-size:17px; }
 .native-card__copy { padding:24px; }
 .native-cta__inner { padding:28px; }
 .contacts-hero { padding:24px 0; }
 .contacts-heading { padding:28px; border-radius:24px; }
 .contact-actions { grid-template-columns:minmax(0,1fr); gap:12px; }
 .contact-actions a:last-child { grid-column:auto; }
 .contact-actions a { padding:18px; min-height:100px; }
 .contact-actions a > strong { font-size:clamp(19px,5vw,24px); }
 .learning-cases-hero,.learning-case-hero { padding:24px 0 32px; }
 .learning-cases-hero__inner,.learning-case-hero__grid { grid-template-columns:minmax(0,1fr); border-radius:24px; padding:10px; }
 .learning-cases-hero__inner > div:first-child,.learning-case-hero__copy { padding:24px 18px; }
 .learning-cases-hero h1,.learning-case-hero h1 { font-size:clamp(28px,7.8vw,38px); }
 .learning-cases-hero__code { min-height:220px; }
 .learning-case-hero__visual { min-height:260px; }
 .learning-case-overview__grid > div { padding:28px; }
 .learning-cases-meaning h2,.learning-case-explain h2,.learning-case-overview h2,.learning-case-start h2,.learning-case-route .laboratory-section__heading h2 { font-size:30px; }
 .learning-case-card__copy { padding:24px; }
 .learning-cases-meaning__text,.learning-case-explain__grid > div:last-child { font-size:17px; }
}
@media(max-width:479px) {
 .collection-heading,.contacts-heading,.article__header,.project-page__heading { padding:24px; }
 .home-about__grid { padding:22px; }
 .home-lab { padding:24px; }
 .home-leaders__card { grid-template-columns:38% minmax(0,1fr); }
 .home-leaders__info { padding:20px; }
 .home-leaders h3 { font-size:19px; }
 .home-leaders__image { min-height:220px; }
 .laboratory-index-card { padding:26px; min-height:0; }
 .laboratory-index-card h2 { margin-top:28px; font-size:28px; }
 .learning-case-roles__grid { grid-template-columns:minmax(0,1fr); }
 .native-card__copy h3 { font-size:24px; }
 .learning-case-card h3 { font-size:24px; }
 .project-page h1 { font-size:26px; }
 .learning-case-overview__grid > div { padding:24px; }
 .learning-case-roles__grid article,.learning-case-route__grid article { padding:24px; }
}
@media(max-width:359px) {
 .home-leaders__card { display:block; }
 .home-leaders__image { min-height:0; }
 .collection-heading h1,.heritage-hero .collection-heading h1 { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) {
 .heritage-card:hover,.home-heritage__card:hover,.laboratory-index-card:hover,.button:hover { transform:none; }
}
