/* Hallmark · macrostructure: Ecosystem Index · theme: custom MAC LEE existing DNA
   genre: editorial · tone: independent, proof-led · anchor: restrained lime/cyan
   N6 Newspaper Masthead (left wordmark, compact two-row) · Ft1 Mast-headed (xl, roman, stacked)
   pre-emit critique (self-assessment): P5 H4 E4 S5 R4 V5
   Content photography = real experiment outputs, not decorative stock or invented UI. */
*{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:var(--s8)}body{margin:0;background:var(--color-base);color:var(--color-dark);font:400 16px/1.6 var(--font-body);font-synthesis:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-focus)}a:active,button:active{opacity:.75}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,video:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}button:disabled,input:disabled,[aria-disabled=true]{opacity:.55;cursor:not-allowed;background:var(--color-paper-soft)}[hidden]{display:none!important}button{border:0}img,video{display:block;max-width:100%;height:auto}figure{margin:0}h1,h2,h3{margin:0;font-weight:700;line-height:1.13;letter-spacing:-.045em;overflow-wrap:anywhere;min-width:0}h1 a,h2 a,h3 a{display:block}p{margin:0}ul{padding-left:var(--s6)}.wrap{width:calc(100% - var(--page-gutter)*2);max-width:var(--content-width);margin-inline:auto}.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}.skip-link{position:absolute;top:var(--s2);left:var(--s4);padding:var(--s3) var(--s4);z-index:99;background:var(--color-base);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.preview-bar{background:var(--color-paper-soft);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;gap:var(--s3);padding:var(--s1) var(--s4);font-size:11px;line-height:1.8}.preview-bar span:first-child{font-weight:700}.masthead{background:var(--color-deep);color:var(--color-text-on-dark)}.masthead a:hover,.footer a:hover{color:var(--color-accent-lime)}.masthead :focus-visible,.footer :focus-visible{outline-color:var(--color-accent-blue)}.masthead-meta{display:flex;align-items:center;justify-content:space-between;padding-block:var(--s4);font-size:11px;line-height:1;color:var(--color-muted-on-dark);border-bottom:1px solid var(--color-text-muted)}.masthead-meta a{white-space:nowrap;min-height:24px;display:flex;align-items:center}.masthead-title{display:flex;align-items:center;justify-content:space-between;gap:var(--s6);padding-block:var(--s6)}.masthead-title>a{font:400 clamp(32px,4.8vw,64px)/1 var(--font-display);letter-spacing:-.06em;white-space:nowrap}.masthead-title>a>span{color:var(--color-accent-lime)}.masthead-title p{font-size:12px;line-height:1.5;color:var(--color-muted-on-dark)}.desk-nav{display:flex;align-items:center;gap:var(--s8);border-top:1px solid var(--color-text-muted);min-height:52px}.desk-nav a{font-size:12px;min-height:48px;display:flex;align-items:center;line-height:1;white-space:nowrap;font-weight:700}.desk-nav a:last-child{margin-left:auto;color:var(--color-muted-on-dark)}.lead-grid{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(0,1fr);gap:var(--s8);padding-block:var(--s10) var(--s16)}.lead-image{position:relative;display:block}.lead-image>img{width:100%;height:348px;object-fit:cover;object-position:center 57%}.image-label{position:absolute;top:var(--s4);left:var(--s4);background:var(--color-accent-lime);color:var(--color-accent-ink);padding:var(--s2) var(--s3);font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1.3}.image-credit{position:absolute;bottom:0;right:0;background:var(--color-deep);color:var(--color-text-on-dark);font-size:9px;padding:var(--s1) var(--s2)}.lead-copy{padding-top:var(--s5)}.lead-copy h1{font-size:clamp(29px,3.3vw,45px);max-width:26ch}.lead-copy>p{font-size:14px;max-width:63ch;margin-top:var(--s4);line-height:1.65;color:var(--color-text-muted)}.text-link{display:inline-flex;align-items:center;gap:var(--s6);min-height:44px;font-weight:700;font-size:12px;line-height:1;white-space:nowrap}.lead-copy .text-link{margin-top:var(--s2)}.text-link>span{font-size:20px}.lead-aside{border-left:1px solid var(--color-rule);padding-left:var(--s8)}.aside-label{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.12em;padding-bottom:var(--s4);border-bottom:3px solid var(--color-dark)}.brief-story{padding-block:var(--s5);border-bottom:1px solid var(--color-rule)}.story-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2) var(--s4);font-size:10px;line-height:1.5;color:var(--color-text-muted);font-weight:700;letter-spacing:.035em}.brief-story h2{font-size:25px;margin-block:var(--s3)}.brief-story p{font-size:12px;line-height:1.75;color:var(--color-text-muted)}.brief-story .text-link{margin-top:var(--s2)}.aside-experiment{padding-top:var(--s5)}.aside-experiment img{width:100%;aspect-ratio:1.85;object-fit:cover}.aside-experiment .story-meta{margin-top:var(--s4)}.aside-experiment h2{font-size:23px;margin-top:var(--s2)}.publications{padding-bottom:var(--s16);border-top:2px solid var(--color-dark);scroll-margin-top:var(--s6)}.section-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s6);padding-block:var(--s6)}.section-top h2{font-size:30px}.section-top>p{font-size:12px;color:var(--color-text-muted)}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s6);border-block:1px solid var(--color-rule);padding-block:var(--s4)}.filters{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2)}.filters button,.compare-controls button{color:var(--color-dark);background:transparent;padding:var(--s3) var(--s4);min-height:44px;white-space:nowrap;font-size:12px;font-weight:700;line-height:1;border:1px solid var(--color-rule);transition:background-color var(--transition-fast)}.filters button:hover,.compare-controls button:hover{background:var(--color-paper-soft)}.filters button[aria-pressed=true],.compare-controls button[aria-pressed=true]{background:var(--color-deep);color:var(--color-text-on-dark);border-color:var(--color-deep)}.search input{width:240px;max-width:100%;height:44px;border:1px solid var(--color-rule);border-radius:0;background:transparent;padding:var(--s3) var(--s4);font-size:12px;color:var(--color-dark)}.search input::placeholder{color:var(--color-text-muted)}.search input:hover{border-color:var(--color-text-muted)}.result-count{color:var(--color-text-muted);font-size:11px;padding-block:var(--s4);min-height:48px}.story-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s8)}.story{min-width:0}.story-image{display:block;background:var(--color-paper-soft);overflow:hidden}.story-image img{width:100%;aspect-ratio:1.8;object-fit:cover}.story[data-category=newsy] .story-image img{object-position:center 25%}.story-copy{padding-block:var(--s5) var(--s6);border-bottom:1px solid var(--color-rule)}.story-copy h3{font-size:26px;margin-top:var(--s3);max-width:30ch}.story-copy>p{font-size:13px;margin-top:var(--s3);line-height:1.75;color:var(--color-text-muted);max-width:64ch}.story-copy .text-link{margin-top:var(--s2)}.story-meta span+span{font-weight:400}.empty-state{padding-block:var(--s12)}.empty-state h3{font-size:26px}.empty-state p{margin-block:var(--s4)}.action{display:inline-flex;align-items:center;justify-content:center;gap:var(--s4);padding:var(--s4) var(--s5);min-height:48px;font-size:12px;line-height:1;font-weight:700;white-space:nowrap;background:var(--color-deep);color:var(--color-text-on-dark);border:1px solid var(--color-deep);transition:background-color var(--transition-fast)}.action:hover{background:var(--color-text-muted);color:var(--color-text-on-dark)}.lab-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);background:var(--color-deep);color:var(--color-text-on-dark);margin-bottom:var(--s20)}.lab-copy{padding:var(--s10)}.lab-copy .story-meta{color:var(--color-accent-lime)}.lab-copy h2{font-size:32px;margin-top:var(--s4)}.lab-copy p{font-size:13px;margin-block:var(--s5);color:var(--color-muted-on-dark);max-width:55ch}.lab-copy .action{background:var(--color-base);color:var(--color-dark)}.lab-copy .action:hover{background:var(--color-paper-soft)}.lab-image>img{width:100%;height:100%;object-fit:cover}.footer{background:var(--color-deep);color:var(--color-text-on-dark);padding-block:var(--s12) var(--s6)}.footer-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,.65fr);gap:var(--s10)}.footer-brand{font:400 26px/1 var(--font-display);letter-spacing:-.05em;white-space:nowrap;display:inline-block;min-height:44px}.footer-brand>span{color:var(--color-accent-lime)}.footer-inner>div>p{font-size:12px;color:var(--color-muted-on-dark)}.footer-note{font-size:12px;line-height:1.85;color:var(--color-muted-on-dark);max-width:50ch}.footer-links{display:flex;align-items:flex-start;flex-direction:column}.footer-links a{display:flex;align-items:center;min-height:44px;font-size:12px;line-height:1;white-space:nowrap}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);border-top:1px solid var(--color-text-muted);padding-top:var(--s6);margin-top:var(--s10);font-size:10px;color:var(--color-muted-on-dark)}.article-head{padding-top:var(--s8);max-width:1000px}.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1;white-space:nowrap;margin-bottom:var(--s5)}.article-head h1{font-size:clamp(32px,4.4vw,62px);max-width:28ch;margin-top:var(--s4)}.article-deck{max-width:66ch;font-size:17px;line-height:1.8;color:var(--color-text-muted);margin-top:var(--s6)}.byline{display:flex;align-items:center;gap:var(--s3);padding-block:var(--s6) var(--s8)}.author-mark{display:grid;place-items:center;flex:0 0 40px;height:40px;background:var(--color-deep);color:var(--color-text-on-dark);font-family:var(--font-display);font-size:22px;border-radius:var(--s1)}.byline>div{font-size:11px;display:flex;flex-direction:column;gap:var(--s1)}.byline>div>span{color:var(--color-text-muted)}.byline>.text-link{margin-left:auto}.article-cover{margin-bottom:var(--s12)}.article-cover>img{width:100%;height:500px;object-fit:cover;object-position:center 50%}.source-cover>img{height:400px;object-fit:contain;background:var(--color-paper-soft)}figcaption{font-size:11px;line-height:1.7;color:var(--color-text-muted);padding-top:var(--s3);max-width:75ch}.article-layout{display:grid;grid-template-columns:240px minmax(0,760px);gap:var(--s16);justify-content:center}.contents{font-size:12px;align-self:start;position:sticky;top:var(--s8)}.contents summary{font-size:11px;font-weight:700;letter-spacing:.03em;cursor:pointer;min-height:44px;padding-block:var(--s3);border-block:1px solid var(--color-rule)}.contents nav{display:flex;flex-direction:column;align-items:stretch;padding-block:var(--s3)}.contents nav a{display:flex;align-items:center;min-height:44px;padding:var(--s2) 0;line-height:1.55;color:var(--color-text-muted)}.contents nav a:hover{color:var(--color-focus)}.article-body{min-width:0;max-width:70ch;font-size:16px;line-height:1.85}.article-body section{margin-bottom:var(--s12);scroll-margin-top:var(--s8)}.article-body h2{font-size:30px;margin-bottom:var(--s5)}.article-body h3{font-size:23px;margin-block:var(--s8) var(--s4)}.article-body p+p{margin-top:var(--s5)}.article-body li+li{margin-top:var(--s3)}.article-body>section>p>a:not(.action),.source-note a,.comparison noscript a{color:var(--color-focus);text-decoration:underline;text-underline-offset:2px}.article-body figure{margin-block:var(--s6)}.article-body figure>img{width:100%;height:auto}.article-body .square-figure{max-width:570px}.compare-controls{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2)}.comparison{margin-block:var(--s6)}.comparison figure>img{height:480px;object-fit:contain;background:var(--color-paper-soft)}.article-body .comparison figure{margin-top:var(--s3)}.article-video{width:100%;background:var(--color-deep);max-height:600px;object-fit:contain}.article-video.vertical{aspect-ratio:9/16;max-width:338px;margin-inline:auto}.article-video.landscape{aspect-ratio:16/9}.article-body .video-note{font-size:11px;line-height:1.7;color:var(--color-text-muted);margin-top:var(--s3)}.source-note{padding:var(--s6);background:var(--color-paper-soft);font-size:13px;line-height:1.9}.source-note h2{font-size:22px}.related{padding-block:var(--s6) var(--s16);border-top:2px solid var(--color-dark);margin-top:var(--s10)}.related>h2{font-size:32px;margin-bottom:var(--s8)}.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s8)}
.video-card{display:block;background:var(--color-deep);color:var(--color-text-on-dark);text-decoration:none}
.video-card-frame{display:block;position:relative;background:var(--color-deep);overflow:hidden}
.video-card-frame>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--color-base);color:var(--color-deep);box-shadow:0 2px 16px #0006}
.video-play svg{width:30px;height:30px;fill:currentColor}
.video-card-label{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s4) var(--s5);min-height:56px;font-size:14px;line-height:1.5;font-weight:700}
.video-card:hover .video-card-label,.video-card:focus-visible .video-card-label{color:var(--color-accent-lime)}
.video-pending-note{font-size:14px;color:var(--color-text-muted)}
.masthead-meta{padding-block:var(--s2)}.masthead-title{padding-block:var(--s5)}.desk-nav{min-height:44px}.lead-grid{padding-top:var(--s8)}.lead-image>img{height:300px}.story-image{position:relative}
@media(min-width:1600px){.lead-image>img{height:340px}}
@media(max-width:1100px){.lead-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--s6)}.lead-aside{padding-left:var(--s6)}.lead-image>img{height:315px}.masthead-title p{font-size:11px}.article-layout{grid-template-columns:190px minmax(0,1fr);gap:var(--s8)}.lab-copy{padding:var(--s8)}.lab-copy h2{font-size:28px}.section-top>p{max-width:30ch}.story-meta{font-size:9px}}
@media(max-width:800px){:root{--page-gutter:24px}.masthead-title p{display:none}.masthead-meta>span{display:none}.lead-grid{grid-template-columns:minmax(0,1fr);padding-block:var(--s6) var(--s10)}.lead-image>img{height:360px}.lead-copy h1{font-size:38px}.lead-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6);border:0;padding:var(--s6) 0 0;border-top:1px solid var(--color-rule)}.aside-label{grid-column:1/-1;padding-bottom:var(--s3)}.brief-story,.aside-experiment{padding:0;border:0}.aside-experiment img{max-height:120px}.aside-experiment .story-meta{margin-top:var(--s3)}.brief-story h2,.aside-experiment h2{font-size:23px}.filter-bar{align-items:stretch;flex-direction:column;gap:var(--s3)}.search input{width:100%}.section-top{align-items:flex-start;flex-direction:column;gap:var(--s3)}.section-top>p{max-width:none}.story-list{gap:var(--s6)}.story-copy h3{font-size:23px}.lab-feature{grid-template-columns:minmax(0,1fr)}.lab-image{order:-1}.lab-image>img{aspect-ratio:2;height:auto}.footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6)}.footer-links{grid-column:1/-1;flex-direction:row;gap:var(--s6);flex-wrap:wrap}.article-layout{grid-template-columns:minmax(0,1fr);gap:var(--s8)}.contents{position:static;max-width:70ch}.contents nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s6)}.article-body{margin-inline:auto}.article-cover>img{height:370px}.article-deck{font-size:16px}.related-grid{gap:var(--s6)}}
@media(max-width:540px){:root{--page-gutter:20px}.preview-bar{font-size:9px;gap:var(--s2);padding-inline:var(--s2)}.masthead-meta{font-size:9px;padding-block:var(--s2)}.masthead-title{padding-block:var(--s5)}.masthead-title>a{font-size:clamp(28px,8vw,43px)}.desk-nav{gap:var(--s5);flex-wrap:wrap;min-height:44px}.desk-nav a{font-size:10px;min-height:44px}.desk-nav a:last-child{display:none}.lead-grid{padding-top:var(--s5);gap:var(--s6)}.lead-image>img{height:240px;object-position:center 60%}.image-label{top:var(--s3);left:var(--s3);font-size:8px;padding:var(--s2)}.image-credit{font-size:8px}.lead-copy{padding-top:var(--s4)}.lead-copy h1{font-size:clamp(27px,7.2vw,36px)}.lead-copy>p{font-size:12px;margin-top:var(--s3)}.lead-aside{gap:var(--s4)}.brief-story h2,.aside-experiment h2{font-size:20px}.brief-story p{font-size:11px}.lead-aside .text-link{font-size:10px}.aside-experiment .story-meta{font-size:8px}.aside-experiment img{aspect-ratio:1.55}.section-top h2{font-size:27px}.section-top>p{font-size:11px}.filters{gap:var(--s1)}.filters button{font-size:10px;padding-inline:var(--s3)}.story-list,.related-grid{grid-template-columns:minmax(0,1fr);gap:var(--s6)}.story-copy h3{font-size:25px}.story-copy>p{font-size:12px}.story-copy{padding-block:var(--s4)}.story-meta{font-size:9px}.lab-copy{padding:var(--s6)}.lab-copy h2{font-size:25px}.lab-copy p{font-size:12px}.lab-feature{margin-bottom:var(--s12)}.footer-inner{grid-template-columns:minmax(0,1fr)}.footer-note{max-width:55ch}.footer-links{gap:0 var(--s5)}.footer-bottom{align-items:flex-start;flex-direction:column;gap:var(--s2);font-size:9px}.article-head{padding-top:var(--s4)}.article-head h1{font-size:34px;line-height:1.16}.article-deck{font-size:14px;margin-top:var(--s4)}.byline{flex-wrap:wrap;padding-block:var(--s5) var(--s6)}.byline>.text-link{margin-left:0;flex-basis:100%}.article-cover{margin-bottom:var(--s6)}.article-cover>img{height:260px}.source-cover>img{height:230px}.contents nav{grid-template-columns:minmax(0,1fr)}.article-body{font-size:14px;line-height:1.85}.article-body h2{font-size:26px}.article-body h3{font-size:21px}.article-body section{margin-bottom:var(--s8)}.comparison figure>img{height:320px}.compare-controls{gap:var(--s1)}.compare-controls button{font-size:10px;padding-inline:var(--s3)}.article-body .source-note{padding:var(--s5);font-size:12px}.source-note h2{font-size:23px}.related>h2{font-size:27px}.text-link{font-size:11px}}
.masthead-meta a{min-height:44px}.masthead-meta{padding-block:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.skip-link{transform:none;clip:rect(0,0,0,0)}.skip-link:focus{clip:auto}}
