/* Art direction: scientific editorial */

    /* Art direction: scientific editorial → precise, botanical, quietly authoritative.
       Palette: herbarium-paper neutrals with chlorophyll green accent.
       Typography: Newsreader + Source Sans 3 + DM Mono for specimen metadata.
       Density: spacious imagery, compact technical information. */
    :root,[data-theme="light"]{
      --color-bg:#f4f3ed;--color-surface:#fbfaf6;--color-surface-2:#ffffff;--color-surface-offset:#e8e7df;--color-surface-offset-2:#deded4;--color-surface-dynamic:#d1d4cc;--color-divider:#d7d7ce;--color-border:#c9cbc2;
      --color-text:#18201d;--color-text-muted:#56605b;--color-text-faint:#707a75;--color-text-inverse:#ffffff;
      --color-primary:#245b48;--color-primary-hover:#174535;--color-primary-active:#0e3024;--color-primary-highlight:#d8e5dc;
      --shadow-sm:0 1px 2px oklch(0.24 .015 145/.07);--shadow-md:0 8px 24px oklch(0.24 .015 145/.10);--shadow-lg:0 24px 64px oklch(0.20 .02 145/.16);
      --image-filter:none;
    }
    [data-theme="dark"]{
      --color-bg:#111614;--color-surface:#171e1b;--color-surface-2:#1d2622;--color-surface-offset:#27322d;--color-surface-offset-2:#303d37;--color-surface-dynamic:#39483f;--color-divider:#2b3530;--color-border:#3b4942;
      --color-text:#e8eee9;--color-text-muted:#b0bbb4;--color-text-faint:#8e9992;--color-text-inverse:#102018;
      --color-primary:#97d0b4;--color-primary-hover:#b7dfca;--color-primary-active:#d1eadc;--color-primary-highlight:#243a30;
      --shadow-sm:0 1px 2px rgb(0 0 0/.25);--shadow-md:0 8px 24px rgb(0 0 0/.32);--shadow-lg:0 24px 64px rgb(0 0 0/.45);
      --image-filter:saturate(.92) brightness(.94);
    }
    :root{
      --font-display:'Newsreader',Georgia,serif;--font-body:'Source Sans 3','Helvetica Neue',sans-serif;--font-mono:'DM Mono',monospace;
      --text-xs:clamp(.75rem,.7rem + .25vw,.875rem);--text-sm:clamp(.875rem,.8rem + .35vw,1rem);--text-base:clamp(1rem,.95rem + .25vw,1.125rem);--text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);--text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);--text-3xl:clamp(2.75rem,1rem + 5.2vw,6.6rem);
      --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
      --radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--transition:180ms cubic-bezier(.16,1,.3,1);--content-narrow:680px;--content-default:1040px;--content-wide:1320px;
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:88px}body{min-height:100dvh;background:var(--color-bg);color:var(--color-text);font:var(--text-base)/1.62 var(--font-body);overflow-x:hidden}img,svg{display:block;max-width:100%;height:auto}img{background:var(--color-surface-offset);filter:var(--image-filter)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}a{color:inherit;text-decoration:none}p,li,figcaption{max-width:72ch;text-wrap:pretty}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.05;text-wrap:balance}a,button,input,textarea,select{transition:color var(--transition),background var(--transition),border-color var(--transition),transform var(--transition),box-shadow var(--transition)}::selection{background:color-mix(in oklab,var(--color-primary) 24%,transparent)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.skip-link{position:fixed;z-index:1000;left:var(--space-4);top:-100px;background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-3) var(--space-4)}.skip-link:focus{top:var(--space-4)}.container{width:min(calc(100% - 2rem),var(--content-wide));margin-inline:auto}.narrow{width:min(calc(100% - 2rem),var(--content-narrow));margin-inline:auto}.eyebrow,.meta,.spec-id{font:500 var(--text-xs)/1.4 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.eyebrow{color:var(--color-primary)}.muted{color:var(--color-text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
    .site-header{height:72px;position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--color-bg) 88%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in oklab,var(--color-text) 10%,transparent)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.brand{display:flex;align-items:center;gap:var(--space-3);font-weight:600;letter-spacing:-.015em}.brand svg{width:34px;color:var(--color-primary)}.brand-label{line-height:1.12}.brand-label small{display:block;color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);letter-spacing:.05em}.nav-links{display:flex;align-items:center;gap:var(--space-6);font-size:var(--text-sm)}.nav-links a{padding-block:var(--space-3);color:var(--color-text-muted)}.nav-links a:hover,.nav-links a.active{color:var(--color-text)}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.icon-button,.menu-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid color-mix(in oklab,var(--color-text) 14%,transparent)}.menu-button{display:none}.icon-button:hover,.menu-button:hover{background:var(--color-surface)}.icon-button svg,.menu-button svg{width:19px}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:46px;padding:var(--space-2) var(--space-5);font-size:var(--text-sm);font-weight:600;border:1px solid transparent}.button-primary{background:var(--color-primary);color:var(--color-text-inverse)}.button-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.button-secondary{border-color:color-mix(in oklab,var(--color-text) 24%,transparent)}.button-secondary:hover{background:var(--color-surface)}.text-link{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:600;color:var(--color-primary)}.text-link span{transition:transform var(--transition)}.text-link:hover span{transform:translateX(4px)}
    .hero{min-height:calc(100svh - 72px);display:grid;align-items:center;padding-block:clamp(var(--space-10),7vw,var(--space-24))}.hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:center;gap:clamp(var(--space-8),6vw,var(--space-20))}.hero-copy h1{font-size:var(--text-3xl);letter-spacing:-.045em;max-width:11ch;margin:var(--space-5) 0 var(--space-6)}.hero-copy .lead{font-size:var(--text-lg);line-height:1.45;max-width:28em;color:var(--color-text-muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}.hero-proof{display:flex;flex-wrap:wrap;gap:var(--space-6);margin-top:var(--space-12);padding-top:var(--space-5);border-top:1px solid var(--color-divider)}.proof-item strong{display:block;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500}.proof-item span{color:var(--color-text-muted);font-size:var(--text-sm)}.hero-visual{position:relative;padding:0 0 var(--space-12) var(--space-10)}.hero-visual::before{content:'LEP–MYO / 05×';position:absolute;writing-mode:vertical-rl;left:0;top:0;font:var(--text-xs) var(--font-mono);letter-spacing:.12em;color:var(--color-text-muted)}.hero-visual figure{position:relative;background:#050706;box-shadow:var(--shadow-lg)}.hero-visual img{width:100%;aspect-ratio:4/3;object-fit:cover}.hero-caption{position:absolute;right:calc(-1 * var(--space-6));bottom:calc(-1 * var(--space-6));width:min(270px,70%);background:var(--color-surface);padding:var(--space-4);border:1px solid color-mix(in oklab,var(--color-text) 12%,transparent);box-shadow:var(--shadow-md)}.hero-caption em{font-family:var(--font-display);font-size:var(--text-lg)}.hero-caption span{display:block;margin-top:var(--space-1);font:var(--text-xs) var(--font-mono);color:var(--color-text-muted)}
    .section{padding-block:clamp(var(--space-16),8vw,var(--space-32))}.section-header{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:end;margin-bottom:clamp(var(--space-10),5vw,var(--space-20))}.section-header h2,.page-intro h1{font-size:var(--text-2xl);letter-spacing:-.035em;max-width:15ch}.section-header p{color:var(--color-text-muted);justify-self:end}.section-dark{background:#0e1411;color:#ecf1ed}.section-dark .muted,.section-dark .service-item p{color:#aeb9b2}.section-dark .eyebrow{color:#9bcdb4}.section-dark .button-secondary{border-color:#53625a}.services-list{border-top:1px solid #354039}.service-item{display:grid;grid-template-columns:70px 1.2fr 1fr auto;gap:var(--space-6);align-items:start;padding-block:var(--space-8);border-bottom:1px solid #354039}.service-number{font:var(--text-xs) var(--font-mono);color:#91a198}.service-item h3{font-size:var(--text-xl)}.service-item p{font-size:var(--text-sm)}.service-item .text-link{color:#b6e0ca;white-space:nowrap}
    .work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4)}.work-card{position:relative;overflow:hidden;background:#0a0d0b;color:white;cursor:zoom-in}.work-card:nth-child(1){grid-column:span 7}.work-card:nth-child(2){grid-column:span 5}.work-card:nth-child(3){grid-column:span 4}.work-card:nth-child(4){grid-column:span 8}.work-card img{width:100%;height:100%;min-height:330px;object-fit:cover;transition:transform 700ms cubic-bezier(.16,1,.3,1),filter var(--transition)}.work-card:hover img{transform:scale(1.025);filter:brightness(.78)}.work-label{position:absolute;inset:auto 0 0 0;padding:var(--space-8) var(--space-6) var(--space-5);background:linear-gradient(transparent,rgb(0 0 0/.78));transform:translateY(10px);transition:transform var(--transition)}.work-card:hover .work-label{transform:none}.work-label em{display:block;font:italic var(--text-lg) var(--font-display)}.work-label span{font:var(--text-xs) var(--font-mono);color:#cad2cd}.work-cta{display:flex;justify-content:flex-end;margin-top:var(--space-6)}
    .case-study{background:var(--color-surface);display:grid;grid-template-columns:1.25fr .75fr}.case-images{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.case-images img{width:100%;height:100%;object-fit:cover}.case-images img:last-child{margin-top:var(--space-16);height:calc(100% - var(--space-16))}.case-copy{padding:clamp(var(--space-8),5vw,var(--space-16));display:flex;flex-direction:column;justify-content:center}.case-copy h2{font-size:var(--text-2xl);margin:var(--space-4) 0 var(--space-6)}.case-data{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin:var(--space-8) 0;padding-block:var(--space-5);border-block:1px solid var(--color-divider)}.case-data dt{font:var(--text-xs) var(--font-mono);text-transform:uppercase;color:var(--color-text-muted)}.case-data dd{margin-top:var(--space-1);font-weight:600}
    .methods-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(var(--space-8),7vw,var(--space-24));align-items:start}.methods-visual{position:sticky;top:100px}.depth-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);background:#050706;padding:var(--space-2)}.depth-stack img{aspect-ratio:4/3;width:100%;object-fit:cover}.methods-copy h2{font-size:var(--text-2xl);margin:var(--space-4) 0 var(--space-6)}.method-steps{list-style:none;margin-top:var(--space-10);counter-reset:steps}.method-steps li{counter-increment:steps;display:grid;grid-template-columns:44px 1fr;gap:var(--space-4);padding-block:var(--space-5);border-top:1px solid var(--color-divider)}.method-steps li::before{content:'0' counter(steps);font:var(--text-xs) var(--font-mono);color:var(--color-primary)}.method-steps strong{display:block;margin-bottom:var(--space-1)}
    .licensing-band{background:var(--color-primary);color:var(--color-text-inverse);padding-block:clamp(var(--space-12),6vw,var(--space-20))}.licensing-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-12);align-items:center}.licensing-inner h2{font-size:var(--text-2xl);margin-top:var(--space-3)}.licensing-inner p{justify-self:end}.licensing-inner .button{margin-top:var(--space-5);background:var(--color-text-inverse);color:var(--color-primary)}
    .about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(var(--space-8),8vw,var(--space-24));align-items:start}.portrait-substitute{background:#0a0d0b;padding:var(--space-3);position:relative}.portrait-substitute img{width:100%;aspect-ratio:3/4;object-fit:cover}.portrait-substitute::after{content:'Plant scientist · Scientific photographer';position:absolute;left:var(--space-6);bottom:var(--space-6);right:var(--space-6);color:white;font:var(--text-xs) var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.about-copy h2{font-size:var(--text-2xl);margin:var(--space-4) 0 var(--space-6)}.about-copy .large{font:var(--text-xl)/1.3 var(--font-display);max-width:27ch}.capabilities{columns:2;column-gap:var(--space-8);margin-top:var(--space-8);list-style:none}.capabilities li{break-inside:avoid;padding:var(--space-3) 0;border-top:1px solid var(--color-divider);font-size:var(--text-sm)}
    .contact{background:var(--color-surface-offset);padding-block:clamp(var(--space-16),8vw,var(--space-24))}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(var(--space-8),8vw,var(--space-24))}.contact h2{font-size:var(--text-2xl);margin:var(--space-4) 0}.contact-details{margin-top:var(--space-8);display:grid;gap:var(--space-3);font-size:var(--text-sm)}.contact-details a{text-decoration:underline;text-underline-offset:4px}.form{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.field{display:grid;gap:var(--space-2)}.field-wide{grid-column:1/-1}.field label{font-size:var(--text-sm);font-weight:600}.field input,.field textarea,.field select{width:100%;background:var(--color-surface);border:1px solid color-mix(in oklab,var(--color-text) 18%,transparent);padding:var(--space-3) var(--space-4);min-height:48px;border-radius:0}.field textarea{min-height:130px;resize:vertical}.form-note{grid-column:1/-1;font-size:var(--text-xs);color:var(--color-text-muted)}
    .footer{padding-block:var(--space-10);border-top:1px solid var(--color-divider)}.footer-inner{display:flex;justify-content:space-between;align-items:end;gap:var(--space-8)}.footer p{font-size:var(--text-sm);color:var(--color-text-muted)}.footer-links{display:flex;gap:var(--space-5);font-size:var(--text-sm)}
    .lightbox{border:0;padding:0;background:transparent;color:white;width:min(94vw,1400px);max-width:none}.lightbox::backdrop{background:rgb(4 7 5/.94);backdrop-filter:blur(10px)}.lightbox figure{position:relative;display:grid;place-items:center}.lightbox img{max-height:84vh;width:auto;background:#050706}.lightbox figcaption{width:100%;padding-top:var(--space-3);font-size:var(--text-sm);color:#d8dfda}.lightbox-close{position:fixed;right:var(--space-6);top:var(--space-6);width:48px;height:48px;background:#eef3ef;color:#142019;display:grid;place-items:center;font-size:26px}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:64px;background:rgb(255 255 255/.12);color:white;font-size:28px}.lightbox-prev{left:var(--space-4)}.lightbox-next{right:var(--space-4)}
    .mobile-panel{display:none}.reveal{opacity:0;transform:translateY(14px);transition:opacity 700ms cubic-bezier(.16,1,.3,1),transform 700ms cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:none}
    @media(max-width:940px){.nav-links{display:none}.menu-button{display:grid}.header-actions>.button{display:none}.hero{min-height:auto}.hero-grid,.section-header,.methods-grid,.licensing-inner,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{gap:var(--space-12)}.hero-copy h1{max-width:12ch}.section-header p,.licensing-inner p{justify-self:start}.service-item{grid-template-columns:48px 1fr}.service-item p,.service-item .text-link{grid-column:2}.case-study{grid-template-columns:1fr}.case-images{min-height:480px}.methods-visual{position:static}.about-grid{max-width:760px}.portrait-substitute{max-width:480px}.mobile-panel{display:block;position:fixed;z-index:49;inset:72px 0 auto 0;background:var(--color-bg);border-bottom:1px solid var(--color-divider);padding:var(--space-5) var(--space-4);transform:translateY(-120%);opacity:0;transition:transform 300ms cubic-bezier(.16,1,.3,1),opacity 300ms}.mobile-panel.open{transform:none;opacity:1}.mobile-panel nav{display:grid}.mobile-panel a{min-height:48px;display:flex;align-items:center;border-bottom:1px solid var(--color-divider)}.mobile-panel .button{margin-top:var(--space-4);border-bottom:0}}
    @media(max-width:640px){.container,.narrow{width:min(calc(100% - 1.5rem),var(--content-wide))}.brand-label span{font-size:14px}.brand-label small{display:none}.hero-copy h1{font-size:clamp(3rem,15vw,4.6rem)}.hero-visual{padding-left:var(--space-6)}.hero-caption{right:var(--space-3);bottom:calc(-1 * var(--space-6))}.hero-proof{display:grid;grid-template-columns:1fr 1fr}.hero-actions{align-items:stretch}.hero-actions .button{flex:1}.work-grid{display:grid;grid-template-columns:1fr}.work-card:nth-child(n){grid-column:auto}.work-card img{min-height:280px}.work-label{transform:none}.case-images{min-height:360px}.case-copy{padding:var(--space-8) var(--space-5)}.case-data{grid-template-columns:1fr}.depth-stack{grid-template-columns:1fr}.depth-stack img:not(:first-child){display:none}.capabilities{columns:1}.form{grid-template-columns:1fr}.field-wide{grid-column:auto}.footer-inner{align-items:start;flex-direction:column}.footer-links{flex-wrap:wrap}.lightbox-nav{top:auto;bottom:var(--space-5);transform:none}.lightbox-close{right:var(--space-3);top:var(--space-3)}}
    @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
  
    .page-hero{padding-block:clamp(var(--space-12),8vw,var(--space-20)) clamp(var(--space-8),5vw,var(--space-14));border-bottom:1px solid var(--color-divider)}
    .page-hero .eyebrow{margin-bottom:var(--space-3)}
    .page-hero h1{font-size:var(--text-2xl);letter-spacing:-.03em;max-width:22ch}
    .page-hero p.lead{margin-top:var(--space-4);color:var(--color-text-muted);font-size:var(--text-lg);max-width:60ch}
    .page-hero:has(+ .article-body) .lead{font-size:calc(var(--text-lg)*.6);max-width:100ch}
    .breadcrumb{display:flex;flex-wrap:wrap;gap:var(--space-2);font:var(--text-xs) var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:var(--space-5)}
    .breadcrumb a{color:var(--color-text-muted)} .breadcrumb a:hover{color:var(--color-primary)} .breadcrumb span{opacity:.5}
    .tab-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:clamp(var(--space-8),4vw,var(--space-12))}
    .tab-link{padding:var(--space-2) var(--space-5);border:1px solid color-mix(in oklab,var(--color-text) 18%,transparent);font:600 var(--text-sm) var(--font-body);color:var(--color-text-muted)}
    .tab-link:hover{background:var(--color-surface)} .tab-link.active{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}
    .gallery-section{padding-block:clamp(var(--space-10),5vw,var(--space-16));border-top:1px solid var(--color-divider)} .gallery-section:first-of-type{border-top:0}
    .gallery-section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}
    .gallery-section-head h2{font-size:var(--text-xl)} .gallery-section-head p{color:var(--color-text-muted);font-size:var(--text-sm);max-width:60ch}
    .gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:var(--space-5)}
    .gallery-card{background:#0a0d0b;position:relative;overflow:hidden;cursor:zoom-in;border:1px solid var(--color-divider)}
    .gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 600ms cubic-bezier(.16,1,.3,1),filter var(--transition)}
    .gallery-card:hover img{transform:scale(1.04);filter:brightness(.82)}
    .gallery-card figcaption{padding:var(--space-3) var(--space-4) var(--space-4);background:var(--color-surface-2)}
    .gallery-card .spec-name{display:block;font:italic 500 var(--text-base) var(--font-display);color:var(--color-text)}
    .gallery-card .spec-meta{display:block;margin-top:var(--space-1);font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);letter-spacing:.02em}
    .gallery-card.wip{cursor:default;background:var(--color-surface-offset)} .gallery-card.wip img{filter:grayscale(1) brightness(.6)} .gallery-card.wip figcaption{opacity:.7}
    .stack-demo{border:1px solid var(--color-divider);background:var(--color-surface);padding:var(--space-6);margin-bottom:var(--space-12)}
    .stack-demo h3{font-size:var(--text-lg);margin-bottom:var(--space-2)} .stack-demo p{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-5);max-width:64ch}
    .stack-demo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)} .stack-demo-grid figure{background:#0a0d0b}
    .stack-demo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;cursor:zoom-in}
    .stack-demo-grid figcaption{padding:var(--space-2) var(--space-1) 0;font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);text-align:center;text-transform:uppercase;letter-spacing:.06em}
    .article-body{padding-block:clamp(var(--space-10),5vw,var(--space-16))} .article-body .narrow{display:grid;gap:var(--space-6);width:min(calc(100% - 2rem),1000px)}
    .article-body h2{font-size:var(--text-xl);margin-top:var(--space-6);letter-spacing:-.01em} .article-body h3{font-size:var(--text-lg);margin-top:var(--space-4);color:var(--color-primary)}
    .article-body p{color:var(--color-text);line-height:1.7;max-width:104ch} .article-body ol,.article-body ul{margin-left:var(--space-6);color:var(--color-text)} .article-body li{margin-bottom:var(--space-2);max-width:104ch}
    .article-nav{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--color-divider)} .article-nav a{font-weight:600;color:var(--color-primary)}
    .note-index-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-5)}
    .note-card{border:1px solid var(--color-divider);padding:var(--space-6);background:var(--color-surface)} .note-card .service-number{display:block;margin-bottom:var(--space-2)}
    .note-card h3{font-size:var(--text-lg);margin-bottom:var(--space-2)} .note-card p{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-4)}
    .equip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-8);margin-top:var(--space-8)}
    .equip-group h3{font-size:var(--text-lg);margin-bottom:var(--space-3);color:var(--color-primary)} .equip-group ul{list-style:none} .equip-group li{padding:var(--space-2) 0;border-top:1px solid var(--color-divider);font-size:var(--text-sm)}
    .equip-wishlist{margin-top:var(--space-16);padding-top:var(--space-10);border-top:1px solid var(--color-divider)} .equip-wishlist h2{font-size:var(--text-xl);margin-bottom:var(--space-5)}
    .skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-8);margin-top:var(--space-6)}
    .skills-group h3{font-size:var(--text-base);font-weight:700;margin-bottom:var(--space-2);color:var(--color-text)} .skills-group ul{list-style:none} .skills-group li{padding:var(--space-2) 0;border-top:1px solid var(--color-divider);font-size:var(--text-sm);color:var(--color-text-muted)}
    .collab-list{list-style:none;margin-top:var(--space-4)} .collab-list li{padding:var(--space-2) 0 var(--space-2) var(--space-5);position:relative;color:var(--color-text-muted);font-size:var(--text-sm)} .collab-list li::before{content:'—';position:absolute;left:0;color:var(--color-primary)}
    @media(max-width:940px){.stack-demo-grid{grid-template-columns:1fr}.equip-grid,.skills-grid{grid-template-columns:1fr}}
