:root{--surface:#fff;--canvas:#f6f6f8;--ink:#202025;--muted:#75757f;--line:#e3e3e8}body,button,input,select,textarea{font-family:'Inter',sans-serif;font-optical-sizing:auto}body{background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select,textarea{border-color:var(--line);border-radius:8px}button{transition:background .16s,border-color .16s,box-shadow .16s}button:hover{background:#eeeef2;border-color:#c5c5ce}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #85858f;outline-offset:3px}.site-header{min-height:86px;background:#ffffffeb;padding:22px 42px;border-bottom:1px solid var(--line)}.site-header .brand{font-size:25px;font-weight:750;letter-spacing:-.04em}.site-header nav{gap:30px}.site-header nav button{font-size:11px;font-weight:550;color:#777781;letter-spacing:.075em;padding:10px 0}.site-header nav button.active{box-shadow:0 2px 0 #25252b}.home{padding-top:66px;gap:48px}.home h1{font-weight:550;letter-spacing:-.055em;line-height:1.1}.eyebrow{font-weight:600;font-size:10px;letter-spacing:.15em;color:var(--muted)}.lead{font-size:14px;line-height:1.85;color:var(--muted)}.primary{background:#26262c;border-color:#26262c;color:white;border-radius:8px;padding:10px 16px}.primary:hover{background:#44444c;border-color:#44444c}.home-art{background:#eeeeF1;border:0;border-radius:14px;padding:28px 30px 0;overflow:hidden}.home-sections{border-color:var(--line);gap:32px;padding-top:32px}.home-sections h2{font-size:20px;letter-spacing:-.035em;font-weight:550}.home-sections p{color:var(--muted);line-height:1.75}.module-tiles{gap:16px}.module-tiles button,.module-tiles article{background:white;border:1px solid var(--line);border-radius:12px;padding:26px;gap:18px}.module-tiles button:hover{border-color:#bfbfc9;box-shadow:0 6px 22px #29293607}.module-tiles strong{font-size:23px;font-weight:550;letter-spacing:-.035em}.module-tiles span{color:var(--muted)}.module-tiles article{background:#f0f0f3}.module-tabs{background:#fafafb;border-color:var(--line);padding:12px 22px}.module-tabs nav button{border-radius:7px}.top-actions{background:white;border-color:var(--line);padding:12px 22px;gap:8px}.top-actions button,.top-actions select{font-size:11px}.top-actions .primary{padding:7px 11px}.module-name{font-weight:600;letter-spacing:-.025em}.research{background:var(--canvas);padding:28px 32px;border-color:var(--line)}.research h2{font-size:20px;font-weight:550;letter-spacing:-.035em}.cards{gap:16px}.card{border-color:var(--line);border-radius:12px;padding:14px;background:white}.card.selected{padding:13px;border-color:#777781}.card img{border-radius:7px;background:#f1f1f4}.card h3{font-size:13px;font-weight:600}.card-actions button{border-radius:5px}.filters{gap:9px;margin-bottom:18px}.filters input,.filters select{padding:9px 12px;background:white}.analysis{line-height:1.65}.category-page h1{letter-spacing:-.05em}.category-page{padding-top:56px}dialog{border-color:var(--line);border-radius:14px;box-shadow:0 24px 80px #0002}dialog::backdrop{background:#20202566}@media(max-width:750px){.site-header{padding:18px 20px}.site-header nav{gap:18px}.home{padding:32px 20px;gap:28px}.research{padding:20px}.module-tiles button,.module-tiles article{padding:22px}}

#compositionPage>.top-actions{border-top:1px solid var(--line);border-bottom:0;margin:0;padding:12px 22px;background:white}#compositionPage>.workspace{height:calc(100dvh - 150px);min-height:530px}

#auditDialog{width:min(520px,95vw)}.registry-row{display:flex;align-items:center;gap:16px;width:100%;padding:14px 8px;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}.registry-row:last-child{border-bottom:0}.registry-symbol{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex:0 0 52px;border:1px solid #dadade;border-radius:50%;background:#f2f2f5;color:#303035}.registry-symbol svg{width:32px;height:32px}.registry-name{font-size:16px;font-weight:500}

.card-picture{position:relative}.card-exports{position:absolute;top:7px;right:7px;display:flex;gap:3px}.card-exports button{font-size:9px;padding:4px 6px;background:#fffffff0;border-radius:4px}

.about-page{max-width:1220px;margin:0 auto;padding:58px 42px 80px}.about-page>h1{font-size:clamp(34px,4vw,54px);font-weight:550;letter-spacing:-.05em}.about-intro{font-size:18px;line-height:1.65;color:var(--muted);max-width:730px;margin:0 0 42px}.about-layout{display:grid;grid-template-columns:minmax(0,780px) 250px;gap:64px;align-items:start}.concept-copy{font-size:14px;line-height:1.9}.concept-copy h2{font-size:24px;font-weight:550;letter-spacing:-.035em;margin:0 0 22px}.concept-copy p{margin:0 0 22px;color:#50505a}.concept-copy h2:not(:first-child){margin-top:38px}.concept-formula{padding:25px 30px;margin:28px 0;border:1px solid var(--line);background:white;border-radius:12px;font-size:27px;letter-spacing:.025em}.concept-copy .concept-directions{font-size:11px;letter-spacing:.08em;font-weight:600;color:var(--ink)}.concept-copy .concept-cycle{padding:22px;background:#ebebef;border-radius:10px;font-weight:500;color:var(--ink)}.author-card{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;position:sticky;top:24px}.author-portrait{width:108px;height:108px;border-radius:50%;background:#eeeef2;display:flex;align-items:center;justify-content:center;margin-bottom:24px;overflow:hidden}.author-portrait svg{width:66px;height:66px;fill:none;stroke:#aaaab3;stroke-width:2}.author-portrait img{width:100%;height:100%;object-fit:cover}.author-card h2{font-size:19px;font-weight:550;letter-spacing:-.03em}.author-card p{font-size:12px;line-height:1.75;color:var(--muted)}@media(max-width:850px){.about-layout{grid-template-columns:1fr;gap:32px}.author-card{position:static;grid-row:1}.about-page{padding:36px 20px 60px}.about-intro{font-size:16px}.concept-copy{font-size:13px}}

.about-layout{grid-template-columns:230px minmax(0,680px);gap:72px;justify-content:start}.about-sidebar{position:sticky;top:28px;grid-column:1;grid-row:1}.concept-copy{grid-column:2;grid-row:1}.about-menu{display:flex;flex-direction:column;gap:14px;margin-bottom:28px}.about-menu a{font-size:14px;color:var(--ink);text-decoration:none}.about-menu a:hover{text-decoration:underline}.spectroform-preview{margin:0 0 32px}.about-image-placeholder{height:148px;display:flex;align-items:center;justify-content:center;background:#eeeef2;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:11px}.spectroform-preview img{width:100%;display:block;border-radius:10px}.spectroform-preview figcaption{font-size:10px;color:var(--muted);margin-top:9px}.about-author{border-top:1px solid var(--line);padding-top:26px;scroll-margin-top:28px}.about-author h2{font-size:16px;font-weight:550}.about-author p{font-size:12px;line-height:1.75;color:var(--muted)}#about-concept{scroll-margin-top:28px}@media(max-width:850px){.about-layout{grid-template-columns:1fr;gap:36px}.about-sidebar{position:static;grid-column:1;grid-row:1}.concept-copy{grid-column:1;grid-row:2}.about-menu{flex-direction:row}.spectroform-preview{max-width:230px}.about-author{max-width:400px}}

.about-author .author-portrait{width:100%;height:auto;aspect-ratio:1;border-radius:10px;margin-bottom:20px}.about-author .author-portrait img{width:100%;height:100%;object-fit:contain;display:block}

.about-sidebar>.author-portrait{width:100%;height:auto;aspect-ratio:1;border-radius:10px;margin:0 0 20px}.about-sidebar>.author-portrait img{width:100%;height:100%;object-fit:contain}.about-sidebar .about-menu{gap:10px;margin:0}.about-sidebar .about-menu a{font-size:12px;color:var(--muted)}

.concept-image{margin-bottom:20px}.concept-image img{display:block;width:100%;height:auto;border-radius:10px}.concept-copy>.about-author{display:flex;gap:24px;align-items:flex-start;margin-top:40px}.concept-copy>.about-author .author-portrait{width:130px;flex:0 0 130px;height:130px;margin:0}.concept-copy>.about-author h2{margin:0 0 12px}@media(max-width:850px){.concept-image{max-width:230px}}

/* Larger images and section navigation on the project pages. */
.about-layout{grid-template-columns:310px minmax(0,680px);gap:56px}.about-sidebar .about-menu{gap:16px}.about-sidebar .about-menu a{font-size:18px;font-weight:500;color:var(--ink);letter-spacing:-.02em}.about-sidebar>.author-portrait{width:100%;height:auto;aspect-ratio:1}.concept-image img{width:100%;height:auto}@media(max-width:850px){.about-layout{grid-template-columns:1fr;gap:36px}.concept-image,.about-sidebar>.author-portrait{width:min(310px,100%);max-width:310px}.about-sidebar .about-menu{flex-wrap:wrap;gap:20px}}

.site-header .brand{display:flex;align-items:center;flex-shrink:0}.site-header .brand img{display:block;width:250px;height:auto}@media(max-width:750px){.site-header .brand img{width:210px}}

.site-header .brand img{width:190px}@media(max-width:750px){.site-header .brand img{width:170px}}

.about-sidebar .about-menu a{display:flex;align-items:center;gap:11px}.about-menu svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:#85858f;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

.author-signature{margin-top:34px;padding-top:22px;border-top:1px solid var(--line)}.author-signature strong{font-size:15px;font-weight:600}.concept-copy .author-signature p{font-size:12px;line-height:1.75;color:var(--muted);margin:8px 0 0}

.site-header nav button{display:inline-flex;align-items:center;gap:7px}.nav-indicator{width:12px;height:12px;fill:none;stroke:#9b9ba3;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

.author-contacts{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.author-contacts h2{font-size:18px;margin:0 0 16px}.author-contacts a,.author-contacts .contact-row{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.6;color:#61616b;text-decoration:none;margin:12px 0;overflow-wrap:anywhere}.author-contacts a:hover{color:var(--ink)}.author-contacts svg{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:#85858f;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}

.author-publications{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.author-publications h2{font-size:18px;margin:0 0 16px}.author-publications a{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-size:14px}.author-publications a:hover{text-decoration:underline}.author-publications svg{width:22px;height:22px;fill:none;stroke:#85858f;stroke-width:1.4;stroke-linejoin:round}.author-publications small{display:block;font-size:11px;color:var(--muted);margin-top:5px}

.author-mentions{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.author-mentions h2{font-size:18px;line-height:1.4;margin:0 0 18px}.author-mentions ul{list-style:none;padding:0;margin:0}.author-mentions li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:12px 0;border-bottom:1px solid #e9e9ed}.author-mentions li:last-child{border-bottom:0}.author-mentions strong{font-size:13px;font-weight:550}.concept-copy .author-mentions p{font-size:12px;line-height:1.6;color:var(--muted);margin:4px 0 0}.mention-year{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}

.author-mentions{margin-top:24px;padding-top:18px}.author-mentions h2{font-size:16px;margin-bottom:12px}.author-mentions li{padding:6px 0;gap:12px;line-height:1.5}.author-mentions li>div{min-width:0}.author-mentions strong{font-size:12px}.concept-copy .author-mentions p{display:inline;font-size:11px;line-height:1.5;margin:0}.concept-copy .author-mentions p::before{content:" — "}.mention-year{font-size:10px}

.registry-symbol{width:28px;height:28px;flex:0 0 28px;background:transparent;border:0;border-radius:0;color:#95959e}.registry-symbol svg{width:25px;height:25px}.registry-row{gap:14px;padding:12px 8px}

/* Modules share a full document view; the page scrolls through variants and collections. */
#compositionPage .workspace{height:auto;min-height:0}#workspace>iframe{height:1000px;min-height:400px}#compositionPage>.module-tabs{display:flex;justify-content:space-between;gap:18px;align-items:center}#compositionPage>.module-tabs nav{margin-left:auto;justify-content:flex-end;flex-wrap:wrap}#compositionPage>.top-actions{position:static;bottom:auto;margin-top:18px}#compositionPage{padding-bottom:28px}

.about-page{padding-top:30px}@media(max-width:850px){.about-page{padding-top:24px}}
