/* ICL editorial front v4 — distinct content, one coherent technical design system */
:root{--paper:#f6f7f4;--ink:#101b1b;--muted:#687170;--line:#d6dcd8;--accent:#2d907f;--surface:#fff;--display:Georgia,"Times New Roman",serif;--sans:Inter,"Segoe UI",Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}
body[data-theme="night"]{--paper:#10191a;--ink:#f1f5ef;--muted:#a5b8b3;--line:#304442;--surface:#1a2929;color-scheme:dark}
body[data-theme="ocean"]{--paper:#0e2430;--ink:#edf8fc;--muted:#a9c6d0;--line:#32505b;--surface:#193440;color-scheme:dark}
body[data-theme="ultraviolet"]{--paper:#1a1b30;--ink:#faf6ff;--muted:#b5b2d0;--line:#47465e;--surface:#2c2a48;color-scheme:dark}
body[data-theme="ink"]{--paper:#161e26;--ink:#f3eee2;--muted:#bdbaad;--line:#45494c;--surface:#222c34;color-scheme:dark}
body[data-theme="midnight"]{--paper:#0b1622;--ink:#eaf8fb;--muted:#99b5bf;--line:#2e4753;--surface:#162633;color-scheme:dark}
body[data-theme="deepgreen"]{--paper:#112523;--ink:#e9f9f4;--muted:#a6c9c1;--line:#31554e;--surface:#1a3934;color-scheme:dark}
body[data-theme="plum"]{--paper:#20162a;--ink:#fff4fe;--muted:#cab9d1;--line:#56435f;--surface:#32213f;color-scheme:dark}
body[data-theme="rose"]{--paper:#291724;--ink:#fff1f5;--muted:#d9b7c9;--line:#67445b;--surface:#3c2334;color-scheme:dark}
body[data-theme="sand"]{--paper:#f7f2ea;--ink:#322822;--muted:#7e7063;--line:#dacbbe;--surface:#fff9f2}
body[data-theme="chalk"]{--paper:#f5f7f1;--ink:#192c27;--muted:#65746d;--line:#c9d7cc;--surface:#fff}
body[data-theme="steel"]{--paper:#edf4f9;--ink:#122b3f;--muted:#567080;--line:#ccdbe5;--surface:#fff}
body[data-theme="mist"]{--paper:#eff5f2;--ink:#17332f;--muted:#5e7b72;--line:#c8d9d3;--surface:#fff}
body[data-theme="ivory"]{--paper:#f6f4eb;--ink:#332f22;--muted:#7e7868;--line:#ded5c2;--surface:#fffef7}
img{max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
::selection{background:var(--accent);color:var(--paper)}
.masthead{position:relative;z-index:3;border-bottom:1px solid var(--line)}.mastbar{max-width:1440px;margin:auto;min-height:86px;padding:0 5%;display:flex;gap:24px;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:14px;font-weight:850;letter-spacing:-.04em}.brand-symbol{font:26px var(--sans);color:var(--accent)}.brand-thin{font-weight:450}
.nav-context{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-right:auto}.nav-links{display:flex;align-items:center;gap:27px}.nav-links a{font-size:12px;letter-spacing:.025em;color:var(--muted)}.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--ink)}.nav-action{font-size:11px;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--line);padding:12px 17px;white-space:nowrap}.nav-action:hover{border-color:var(--accent)}
main{max-width:1440px;margin:auto;padding:0 5%}.hero{display:grid;grid-template-columns:minmax(0,1.09fr) minmax(0,.91fr);min-height:min(740px,79vh);gap:6%;border-bottom:1px solid var(--line)}.hero-copy{display:flex;flex-direction:column;align-items:start;padding:clamp(74px,8vw,126px) 0 35px}.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:750;color:var(--muted);display:flex;gap:13px;align-items:center}.eyebrow-line{width:23px;height:1px;background:var(--accent)}h1,h2,h3,p{margin-top:0}
h1{font-family:var(--display);font-size:clamp(60px,6.3vw,108px);font-weight:450;line-height:1.015;letter-spacing:-.065em;margin:28px 0;max-width:790px;overflow-wrap:normal}.hero-lead{font-size:clamp(17px,1.42vw,20px);line-height:1.7;max-width:585px;color:var(--muted)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:33px 0}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:14px 21px;font-size:12px;font-weight:750;min-height:52px;letter-spacing:.01em}.btn-primary{color:var(--paper);background:var(--ink)}.btn-primary:hover{background:var(--accent);color:#071314}.btn-secondary{border:1px solid var(--ink)}.btn-secondary:hover{background:var(--ink);color:var(--paper)}.btn-quiet{border:1px solid var(--line)}.btn-quiet:hover{border-color:var(--accent)}.hero-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:auto;padding-top:20px;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.visual-stage{position:relative;overflow:hidden;margin:34px 0;background:color-mix(in srgb,var(--accent) 11%,var(--surface));border:1px solid var(--line);min-height:550px;isolation:isolate}.stage-grid{position:absolute;inset:0;opacity:.19;background-image:linear-gradient(to right,var(--accent) 1px,transparent 1px),linear-gradient(to bottom,var(--accent) 1px,transparent 1px);background-size:49px 49px}.orbit{position:absolute;border:1px solid color-mix(in srgb,var(--accent) 51%,transparent);border-radius:50%;width:min(72%,400px);aspect-ratio:1;left:50%;top:48%;transform:translate(-50%,-50%)}.orbit-two{width:55%;transform:translate(-50%,-50%) rotate(38deg);border-style:dashed;opacity:.7}.orbit-one:before,.orbit-one:after{content:"";position:absolute;display:block;background:var(--accent);width:11px;height:11px;border-radius:50%;top:14%;right:14%}.orbit-one:after{top:82%;right:85%;width:7px;height:7px}.stage-cross{position:absolute;color:var(--accent);font-size:23px;font-weight:200}.c1{top:12%;right:11%}.c2{bottom:23%;left:10%}.stage-brand{position:absolute;inset:25% 15%;display:grid;place-items:center;z-index:2;pointer-events:none}.hero-logo{max-width:72%;max-height:65%;object-fit:contain;filter:drop-shadow(0 20px 32px #0001);background:#fff;border:12px solid #fff;box-shadow:0 20px 80px #0002}.hero-monogram{font-size:clamp(55px,8vw,122px);font-weight:200;letter-spacing:-.12em;color:var(--ink)}.stage-bottom{position:absolute;left:24px;right:24px;bottom:22px;display:flex;justify-content:space-between;gap:12px;font-size:9px;font-weight:750;letter-spacing:.09em;color:var(--muted)}
.visual-technical .orbit,.visual-schematic .orbit{border-radius:13%}.visual-creative .orbit{transform:translate(-50%,-50%) rotate(26deg);border-radius:22%}.visual-ledger .stage-grid{background-size:100% 39px}.visual-signal .orbit-one{transform:translate(-50%,-50%) scaleX(.62)}
.section-section,.overview-intro,.workbench{padding:95px 0 105px;border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 2.1fr;gap:5%;margin-bottom:42px}.section-head h2{font-family:var(--display);font-size:clamp(43px,4.4vw,70px);font-weight:450;letter-spacing:-.045em;line-height:1.11;margin:0;max-width:720px}.section-head p{max-width:650px;color:var(--muted);font-size:16px;margin:19px 0 0}.section-index,.side-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:750;padding-top:16px}
.split-band{padding:105px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 2.1fr;gap:5%}.primary-copy h2{font-family:var(--display);font-size:clamp(44px,5vw,78px);line-height:1.08;letter-spacing:-.045em;font-weight:450;max-width:840px}.primary-copy>p{font-size:19px;color:var(--muted);max-width:680px}.side-rule{margin-top:35px;border-left:3px solid var(--accent);padding-left:17px;color:var(--muted);max-width:660px;font-size:13px}
.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.method-grid article{border:1px solid var(--line);padding:32px 30px;min-height:280px;background:var(--surface)}.method-num{font-size:11px;letter-spacing:.1em;color:var(--accent)}.method-grid h3{font:450 29px/1.14 var(--display);margin:41px 0 15px}.method-grid p{font-size:14px;color:var(--muted)}
.workbench{scroll-margin-top:24px}.workbench-banner{background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;gap:16px;padding:18px 26px;font-size:12px;align-items:center}.workbench-banner>div{display:flex;align-items:center;gap:11px}.workbench-banner span{opacity:.74}.live-dot{height:8px;width:8px;background:#50cb9c;border-radius:50%;box-shadow:0 0 0 4px #50cb9c22}.mvp-root{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-top:0;padding:22px 24px;min-height:260px}.mvp-root:empty:after{content:'Loading interactive workbench';color:var(--muted)}.loading{font-size:14px;color:var(--muted)}.mvp-root .mvp-app{max-width:100%}.workbench-boundary{font-size:12px;color:var(--muted);max-width:840px;margin-top:15px}
.artifacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.artifact-card{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface);padding:28px;min-height:215px;transition:transform .16s,border-color .16s}.artifact-card:hover{transform:translateY(-3px);border-color:var(--accent)}.artifact-top{display:flex;align-items:center;justify-content:space-between;color:var(--accent);font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}.artifact-card strong{font-size:18px;letter-spacing:-.025em;font-weight:700;overflow-wrap:anywhere}.artifact-card p{font-size:13px;line-height:1.6;color:var(--muted);margin:11px 0 22px}.status-note{margin-top:auto;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.text-link{display:inline-block;margin:25px 0 0;border-bottom:1px solid var(--accent);padding-bottom:7px;font-size:13px;font-weight:700}
.two-features{display:grid;grid-template-columns:1fr 1fr;gap:18px}.feature{min-height:460px;display:flex;flex-direction:column;justify-content:space-between;padding:36px;transition:transform .2s}.feature:hover{transform:translateY(-5px)}.feature-research{background:#cce6e2;color:#183a38}.feature-ventures{background:#dcccb9;color:#302820}.feature-caption{font-size:11px;letter-spacing:.15em}.feature h3{font:450 clamp(35px,4vw,60px)/1.04 var(--display);letter-spacing:-.05em;max-width:430px}.feature p{font-size:14px;max-width:440px;line-height:1.7;opacity:.8}.feature-bottom{border-top:1px solid #0003;display:flex;justify-content:space-between;padding-top:16px;font-size:12px;font-weight:750}
.spotlight-grid,.directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px}.directory-item{display:grid;grid-template-columns:30px minmax(0,1fr) 18px;gap:17px;padding:29px 5px;border-top:1px solid var(--line);align-items:start}.directory-item:hover{color:var(--accent)}.directory-item strong{display:block;font-size:18px;letter-spacing:-.035em}.directory-item p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.item-index,.item-arrow{font-size:12px;font-weight:650;color:var(--muted)}
.editorial-band{padding:95px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.editorial-band .btn{margin-left:35%}.gentle-copy{color:var(--muted);max-width:630px;margin-left:35%}.closing{padding:100px 0;border-bottom:1px solid var(--line)}.closing h2{font:450 clamp(48px,5.5vw,88px)/1.05 var(--display);letter-spacing:-.06em;max-width:1050px}.closing p{max-width:660px;color:var(--muted);font-size:18px;margin:26px 0}
.venture-brief{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:var(--surface);border:1px solid var(--line);padding:50px}.venture-story h3{font:450 clamp(28px,3vw,45px)/1.13 var(--display);letter-spacing:-.035em}.venture-story p{max-width:530px;color:var(--muted)}.m-label{font-size:11px;letter-spacing:.12em;color:var(--accent);font-weight:750;margin-bottom:35px}.brief-list{border-top:1px solid var(--line)}.brief-list>div{border-bottom:1px solid var(--line);padding:15px 0}.brief-list span{font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.brief-list p{font-size:14px;margin:5px 0;color:var(--ink)}.prototype-feature{display:grid;grid-template-columns:1fr 2fr;gap:20px;border:1px solid var(--line);padding:34px}.feature-number{font:450 43px var(--display)}.feature-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.feature-steps span{border-left:2px solid var(--accent);padding-left:14px;font-size:13px;color:var(--muted)}.statement{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.statement>div{border-top:2px solid var(--accent);padding-top:20px}.statement small{letter-spacing:.1em;color:var(--accent);font-size:10px}.statement h3{font:450 28px var(--display);margin:22px 0}.statement p{font-size:14px;color:var(--muted)}
.footer{padding:70px 0 40px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.footer-name{font-size:15px;letter-spacing:-.025em;font-weight:800}.footer p,.footnote{font-size:12px;color:var(--muted);margin-top:12px}.footlinks{display:flex;justify-content:flex-end;gap:22px;font-size:12px}.footnote{grid-column:1/-1;padding-top:23px;border-top:1px solid var(--line)}
/* research catalogue: progressive disclosure / pagination, not a dump */
.library-app{margin-bottom:80px}.library-tools{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:25px}.library-tools input,.library-tools select{background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:13px 15px;min-height:49px;border-radius:0}.library-tools input{flex:2;min-width:260px}.library-tools select{flex:1;min-width:180px}.library-meta{font-size:12px;color:var(--muted);margin:15px 0}.pagination{display:flex;gap:10px;align-items:center;margin-top:22px}.pagination button{background:var(--surface);border:1px solid var(--line);color:var(--ink);padding:10px 15px}.pagination button:disabled{opacity:.3;cursor:not-allowed}.library-feature{background:var(--surface);border:1px solid var(--line);padding:35px;margin:35px 0}.library-feature strong{font:450 30px var(--display)}.library-feature p{color:var(--muted);max-width:760px}
.detail-page{max-width:1120px;margin:auto}.detail-top{margin:80px 0 45px}.detail-top h1{font-size:clamp(45px,5vw,81px);overflow-wrap:anywhere}.detail-top p{max-width:710px;color:var(--muted);font-size:19px}.detail-columns{display:grid;grid-template-columns:1fr 1.5fr;gap:50px;padding:45px 0;border-top:1px solid var(--line)}.detail-columns dt{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.detail-columns dd{margin:5px 0 22px;font-size:15px}.detail-columns h2{font:450 36px var(--display);margin-bottom:15px}.detail-columns p{color:var(--muted);font-size:15px;line-height:1.8}.disclosure{background:var(--surface);border-left:3px solid var(--accent);padding:21px 25px;font-size:13px;color:var(--muted)}
@media(max-width:1120px){.nav-context{display:none}.nav-links{gap:15px}.hero{gap:3%}h1{font-size:clamp(58px,6vw,86px)}}
@media(max-width:900px){.mastbar{min-height:72px;padding:10px 5%;flex-wrap:wrap}.nav-links{order:4;width:100%;justify-content:space-between;overflow:auto;padding:6px 0}.nav-action{margin-left:auto}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:72px 0 25px}.hero-meta{margin-top:18px}.visual-stage{min-height:360px;margin:15px 0 40px}.stage-brand{inset:20%}.section-head,.split-band{grid-template-columns:1fr;gap:12px}.section-index,.side-label{padding-top:0}.method-grid{grid-template-columns:1fr 1fr}.venture-brief{grid-template-columns:1fr}.editorial-band .btn,.gentle-copy{margin-left:0}}
@media(max-width:620px){body{font-size:15px}.mastbar{gap:8px}.brand{font-size:13px}.nav-action{display:none}.nav-links{gap:18px}.nav-links a{font-size:11px;white-space:nowrap}.hero-copy{padding:58px 0 20px}h1{font-size:clamp(48px,13vw,67px);letter-spacing:-.052em}.hero-lead{font-size:16px}.hero-actions .btn{width:100%}.visual-stage{min-height:300px}.hero-logo{max-width:65%;max-height:60%}.stage-bottom{font-size:8px}.section-section,.overview-intro,.workbench,.split-band,.closing,.editorial-band{padding:66px 0}.section-head h2{font-size:clamp(37px,10vw,52px)}.two-features,.method-grid,.artifacts,.spotlight-grid,.directory,.statement,.detail-columns{grid-template-columns:1fr}.feature{min-height:390px;padding:26px}.method-grid article{min-height:230px}.mvp-root{padding:12px}.workbench-banner{padding:14px;font-size:11px}.workbench-banner>span{display:none}.venture-brief{padding:27px}.feature-steps{grid-template-columns:1fr}.prototype-feature{grid-template-columns:1fr}.footer{grid-template-columns:1fr}.footlinks{justify-content:start}.detail-top{margin:45px 0}.detail-top h1{font-size:42px}.visual-stage{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
