@layer reset, tokens, base, layout, components, pages, utilities;
@layer components{.bullet-list{list-style: none;display: grid;gap: 0;border-top: 1px solid var(--line)}.bullet-list li{display: grid;grid-template-columns: 2.25rem 1fr;align-items: baseline;padding: var(--s-4) 0;border-bottom: 1px solid var(--line);font-size: var(--t-lead);line-height: 1.45;counter-increment: puce}.bullet-list{counter-reset: puce}.bullet-list li::before{content: counter(puce, decimal-leading-zero);font-family: var(--font-display);font-size: var(--t-xs);font-weight: 600;letter-spacing: 0.08em;color: var(--accent)}.page-lab .feed-grid{grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr))}}
@layer pages{.lab-grid-section{padding: var(--section-y) var(--pad-x)}.lab-grid-head{margin-bottom: var(--s-7)}.lab-grid{display: grid;gap: var(--s-3);grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr))}@media (min-width: 760px){.lab-grid:has(> :nth-child(6):last-child){grid-template-columns: repeat(3, minmax(0, 1fr))}}@media (min-width: 2200px){.lab-grid:has(> :nth-child(6):last-child){grid-template-columns: repeat(6, minmax(0, 1fr))}}.lab-icon{display: grid;place-items: center;width: 3.25rem;height: 3.25rem;border-radius: 50%;background: var(--tone, var(--encre));color: #fff}.lab-tile.tone-encre .lab-icon{background: var(--encre)}.lab-icon svg{width: 55%;height: 55%}.lab-arrow{position: absolute;top: var(--s-5);right: var(--s-5);display: grid;place-items: center;width: 2.5rem;height: 2.5rem;border-radius: 50%;border: 1.5px solid var(--line);transition: background-color var(--dur-1) linear, color var(--dur-1) linear, border-color var(--dur-1) linear}.lab-arrow svg{width: 1rem;height: 1rem}.lab-tile:hover .lab-arrow{background: var(--fg);color: var(--bg);border-color: var(--fg)}.contact-methods{display: grid;gap: var(--s-3);padding: 0 var(--pad-x) var(--section-y)}@media (min-width: 760px){.contact-methods{grid-template-columns: repeat(2, 1fr)}}.lab-hero{display: grid;background: var(--dark-bg);color: var(--dark-fg)}.lab-hero-text{display: grid;gap: var(--s-5);align-content: end;padding: var(--s-8) var(--gutter) clamp(3rem, 2rem + 4vw, 5rem)}.lab-hero-text .breadcrumb, .lab-hero-text .breadcrumb a{color: var(--dark-muted)}.lab-hero-text .breadcrumb [aria-current]{color: var(--dark-fg)}.lab-hero-icon{display: grid;place-items: center;width: 4rem;height: 4rem;border-radius: 50%;background: var(--tone);color: #fff}.lab-forge .lab-hero-icon{background: var(--craie);color: var(--encre)}.lab-hero-icon svg{width: 55%;height: 55%}.lab-hero h1{font-size: clamp(2.6rem, 1.4rem + 5vw, 6rem);line-height: 0.95;letter-spacing: -0.05em;max-width: 12ch}.lab-hero-text > p:not(.eyebrow){font-size: var(--t-lead);line-height: 1.55;color: var(--dark-muted);max-width: 48ch}.lab-hero-kicker{color: var(--tone-glow);margin-bottom: 0}.lab-hero-kicker::before{background: var(--tone-glow)}.lab-hero-art{position: relative;min-height: 16rem;margin: 0 var(--gutter) var(--s-7);overflow: hidden;border-radius: var(--r-lg);background: var(--tone);border: 1px solid var(--dark-line)}.lab-hero-art img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;object-position: 50% 62%}@media (min-width: 960px){.lab-hero{grid-template-columns: 1.1fr 0.9fr;min-height: min(44rem, calc(100svh - var(--header-h) - 2.75rem))}.lab-hero-text{padding-left: var(--pad-x);padding-right: var(--s-8)}.lab-hero-art{min-height: 0;margin: var(--s-8) var(--pad-x) clamp(3rem, 2rem + 4vw, 5rem) 0;border-radius: var(--r-xl)}}.page-lab .bullet-list li::before, .page-lab .section > .accent{color: var(--tone-text)}.page-lab .section-dark .bullet-list li::before{color: var(--tone-glow)}.cross-promo{display: grid;gap: var(--s-6);padding: var(--section-y) var(--pad-x);background: var(--bg-alt)}.cross-promo h2{font-size: clamp(1.9rem, 1.3rem + 2.2vw, 3.25rem);max-width: 18ch}.cross-promo h2 a{color: var(--tone-text, var(--accent));text-decoration-thickness: 2px}.cross-promo h2 a:hover{text-decoration-thickness: 4px}.cross-promo > div{display: grid;gap: var(--s-4);justify-items: start;align-content: start;color: var(--fg-muted);max-width: 52ch}.cross-promo .btn-primary{margin-top: var(--s-3)}@media (min-width: 960px){.cross-promo{grid-template-columns: 1fr 1fr;gap: var(--s-9)}}.contact-block{display: grid;gap: var(--s-5);padding: clamp(3rem, 2rem + 4vw, 5.5rem) var(--pad-x);background: var(--dark-bg);color: var(--dark-fg)}.contact-block + .contact-block{border-top: 1px solid var(--dark-line)}.contact-block h2{font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.75rem)}.contact-block > div{display: grid;gap: var(--s-5);justify-items: start;color: var(--dark-muted);max-width: 56ch;font-size: var(--t-lead);line-height: 1.55}.resource-columns{display: grid !important;gap: 0 var(--s-6);max-width: none !important;grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));width: 100%}.resource-columns ul{list-style: none;display: grid}.resource-columns li{display: flex;gap: var(--s-3);align-items: baseline;padding: var(--s-3) 0;border-bottom: 1px solid var(--dark-line);color: var(--dark-fg);font-size: var(--t-base)}.resource-columns li::before{content: "";flex-shrink: 0;width: 0.5rem;height: 0.5rem;border-radius: 50%;background: var(--tone-glow, var(--rose-lumiere));translate: 0 -0.1em}@media (min-width: 960px){.contact-block{grid-template-columns: 0.8fr 1.2fr;gap: var(--s-9)}}}
@layer pages{.pub-follow .lab-grid-head{display: grid;gap: var(--s-4)}@media (max-width: 759.98px){.lab-tile .lab-arrow{position: static}}}
@layer pages{.tp-lab{scroll-margin-top: calc(var(--header-h) + 1.5rem)}.tp-lab-head{position: relative;display: grid;gap: var(--s-3);padding: clamp(1.75rem, 1.2rem + 2vw, 2.75rem);border-radius: var(--r-xl);background: var(--encre);color: var(--craie);overflow: hidden;isolation: isolate}.tp-lab-head::after{content: "";position: absolute;z-index: -1;inset: -30% -8% -30% 74%;background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--tone-glow) 32%, transparent) 0 12px, transparent 12px 24px);transform: skewX(-14deg)}.tp-lab-head h2{color: var(--craie);font-size: clamp(1.9rem, 1.4rem + 2vw, 3rem)}.tp-lab-lead{max-width: 44ch;font-size: var(--t-lead);line-height: 1.5;color: rgba(247, 247, 245, 0.86)}.tp-lab .tp-lab-head .tp-lab-link{color: var(--craie)}.tp-lab-link{justify-self: start;display: inline-flex;align-items: center;gap: 0.4rem;min-height: 2.75rem;font-weight: 600;color: var(--fg);text-underline-offset: 0.25em}.tp-lab-link:hover{text-decoration-thickness: 2px}.tp-cards{list-style: none;display: grid;gap: var(--s-3);margin-top: var(--s-4)}@media (min-width: 760px){.tp-cards{grid-template-columns: 1fr 1fr}}@media (max-width: 759px){.tp-lab-head::after{display: none}}.tp-card > .tp-dig{margin-top: auto;padding-top: var(--s-3);border-top: 1px solid var(--line);color: var(--tone-text);font-size: var(--t-xs);font-weight: 600;letter-spacing: 0.12em;text-transform: uppercase;line-height: 1.4}.tp-questions{list-style: none;display: grid;gap: var(--s-2)}.tp-questions li{position: relative;padding-left: 1.1rem;font-size: var(--t-sm);line-height: 1.5;color: var(--fg)}.tp-questions li::before{content: "";position: absolute;left: 0;top: 0.55em;width: 0.45rem;height: 0.45rem;border-radius: 50%;background: var(--tone)}.tp-cta-link{margin-top: var(--s-4)}.tp-cta-link a{color: #fff;font-weight: 600;text-underline-offset: 0.25em}.tp-labblock{padding: var(--section-y) var(--pad-x);background: var(--bg-alt)}.tp-labblock-inner{display: grid;gap: var(--s-6);max-width: var(--max);margin-inline: auto}@media (min-width: 960px){.tp-labblock-inner{grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);align-items: start}}.tp-labblock-head{display: grid;gap: var(--s-3)}.tp-labblock-head h2{font-size: clamp(1.9rem, 1.4rem + 2vw, 3rem);max-width: 16ch}.tp-labblock-head p{color: var(--fg-muted);font-size: var(--t-lead);line-height: 1.5;max-width: 40ch}.tp-labblock-list{list-style: none;display: grid;border-top: 1px solid var(--line)}@media (min-width: 700px){.tp-labblock-list{grid-template-columns: 1fr 1fr;column-gap: var(--s-6)}}.tp-labblock-list li{display: flex;gap: var(--s-3);align-items: baseline;padding: var(--s-3) 0;border-bottom: 1px solid var(--line);font-family: var(--font-display);font-weight: 600;line-height: 1.3}.tp-labblock-list li::before{content: "";flex: none;width: 0.55rem;height: 0.55rem;border-radius: 50%;background: var(--tone-glow);transform: translateY(-0.1em)}}
@media print{.tp-lab-head{background: #fff !important;color: #000 !important}}
@media (prefers-reduced-motion: no-preference){@supports (animation-timeline: view()){@layer utilities{:where(.lab-hero-art){animation: mv-recul linear both;animation-timeline: view();animation-range: exit 0% exit 100%}}}}
@keyframes mv-recul{to{opacity: 0.6;translate: 0 -0.75rem;}}
@layer pages{.page-topics .tp-lab{scroll-margin-top: calc(var(--header-h) + 4.5rem)}@media (prefers-reduced-motion: no-preference){main:has(.tf-tabs input:not(#tf-all):checked) .tp-lab{animation: tf-in 480ms var(--ease) both}}}
@keyframes tf-in{from{opacity: 0;translate: 0 1rem;}}
@layer pages{.lab-horizons{display: grid;gap: var(--s-4)}.lab-horizons-intro{max-width: 62ch;color: var(--fg-muted);font-size: var(--t-lead);line-height: 1.5}.lab-horizons-list{list-style: none;display: grid;gap: var(--s-4);grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));margin: var(--s-3) 0 0;padding: 0}.lab-horizon{display: grid;gap: var(--s-2);align-content: start;padding: var(--s-5);border-radius: var(--r-lg);background: var(--surface);border: 1px solid var(--line)}.lab-horizon-n{font-family: var(--font-display);font-size: 1.8rem;font-weight: 600;line-height: 1;color: var(--accent)}.lab-horizon h3{font-size: var(--t-h4)}.lab-horizon p{color: var(--fg-muted);line-height: 1.55}}
