/* v0.3.0 — a calm, category-led project archive */
:root{--paper:#f7f8f4;--ink:#24332c;--muted:#65716a;--line:#dde3db;--lime:#d8e7c6;--green:#35624b}
body{font-size:16px}.container,.header-inner{max-width:1280px;width:calc(100% - 96px)}.header-inner{min-height:82px}.site-header{background:#f7f8f4f5}.brand small{font-size:9px;letter-spacing:1.3px}.brand-symbol{border-radius:12px;background:#304b3a;color:#e6efdb}.eyebrow{font-size:11px;letter-spacing:1.4px;color:#65766a}#site-nav{font-size:14px;gap:35px}#site-nav a[aria-current=page]{color:#315d40;font-weight:650}#site-nav a[aria-current=page]:after{width:100%;background:#547f5b}.nav-contact{font-size:13px;border-radius:25px;min-height:44px;padding:9px 20px;background:#fff9}.button{border-radius:7px;font-size:14px;min-height:46px}.button.dark{background:#304f3c;border-color:#304f3c}.text-link{font-size:14px;color:#44614e;min-height:44px}.site-footer{padding:30px 0;background:#f0f3ed}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-meta{font-size:12px}.footer-brand{font-size:11px}.footer-inner p{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.section-title{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.section-title h2,.domain-section .section-title h1{font-size:29px;letter-spacing:-.6px;margin-top:9px;font-weight:600;line-height:1.4}.section-title>p{font-size:14px;color:var(--muted)}
/* A brief introduction, followed by paths into the work. */
.home-intro{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center;padding:68px 0 65px}.home-intro h1{font-size:clamp(40px,4.6vw,64px);font-weight:620;line-height:1.3;letter-spacing:-2px;margin:23px 0}.home-intro h1>span{color:#5b765a}.intro-copy{font-size:16px;line-height:1.95;color:var(--muted)}.intro-actions{display:flex;align-items:center;gap:24px;margin:30px 0 24px}.intro-foot{font-size:12px;color:#7b847b;letter-spacing:.5px}.home-feature{background:#e9ede5;border:1px solid #dce3d7;border-radius:14px;padding:13px;box-shadow:0 18px 45px -33px #263c3970}.home-feature-image{height:345px;position:relative;overflow:hidden;border-radius:8px;background:#313b43}.home-feature-image img{height:100%;width:100%;object-fit:cover}.home-feature-image>span{position:absolute;bottom:16px;left:16px;color:#fff;font-size:11px;background:#1c2925b3;backdrop-filter:blur(8px);padding:6px 10px;border:1px solid #ffffff36;border-radius:5px}.home-feature-caption{display:flex;justify-content:space-between;align-items:center;padding:18px 8px 6px}.home-feature-caption small{display:block;color:var(--muted);font-size:12px}.home-feature-caption strong{display:block;font:16px/1.8 var(--mono);letter-spacing:1px}.domain-section{padding:45px 0 44px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.domain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 28px}.domain-link{display:flex;gap:14px;align-items:start;padding:24px 0;border-bottom:1px solid var(--line)}.domain-number{font:11px var(--mono);color:#839482;margin-top:5px}.domain-link>div{flex:1;min-width:0}.domain-link h3{font-size:17px;font-weight:600}.domain-link h3>span{opacity:0;display:inline-block;margin-left:9px;color:#44694d;transition:opacity .15s}.domain-link:hover h3>span{opacity:1}.domain-link p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:7px;max-width:230px}.domain-count{font:12px var(--mono);color:#8a9488;background:#edf1e9;padding:5px 7px;border-radius:4px}.archive-caption{font-size:12px;color:#788274;margin-top:18px}.home-selected{padding:55px 0 66px}.home-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.home-about{padding:55px 0 60px;background:#edf1e8;border-top:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.about-grid h2{font-size:35px;line-height:1.55;margin:17px 0 22px;letter-spacing:-.8px}.about-grid>div>p{font-size:15px;color:var(--muted);line-height:1.95}.about-grid>div>p.about-lead{font-size:21px;color:var(--ink);margin:24px 0 13px}.about-grid>div>p.about-pending{font-size:12px;color:#737d6d}.working-steps{list-style:none;margin:25px 0 15px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.working-steps li{border-top:1px solid #cdd7c5;padding-top:15px}.working-steps li>span{font:12px var(--mono);color:#75886c}.working-steps strong{display:block;font-size:15px;margin:8px 0}.working-steps p{font-size:13px;color:var(--muted)}.contact-text{padding:4px 0;background:none;border:0}
/* A single taxonomy and a restrained project index. */
.catalog-intro{padding:47px 0 35px;position:relative;border-bottom:1px solid var(--line)}.catalog-intro>div{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:13px}.catalog-intro h1{font-size:39px;line-height:1.4;font-weight:600;letter-spacing:-1px}.catalog-intro>div>p{font-size:14px;color:var(--muted);line-height:1.9}.catalog-total{display:block;margin-top:16px;font-size:12px;color:#7a867a}.catalog-total i{font-style:normal;padding:0 8px;color:#a2ad9e}.catalog-layout{display:grid;grid-template-columns:206px minmax(0,1fr);gap:44px;align-items:start;padding-top:34px;padding-bottom:70px}.category-sidebar{position:sticky;top:115px}.category-sidebar>.eyebrow{margin:0 12px 14px;letter-spacing:1px}.category-sidebar nav{display:flex;flex-direction:column;gap:6px}.category-sidebar nav>a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 12px;border-radius:7px;font-size:14px;min-height:47px}.category-sidebar nav>a>span:first-child{display:flex;gap:11px;align-items:center}.category-sidebar nav small{font:10px var(--mono);color:#8e9a88}.category-sidebar nav>a>span:last-child{font:11px var(--mono);color:#7f8e7a}.category-sidebar nav>a.active{background:#e6eddf;color:#294c36;font-weight:600}.category-sidebar nav>a.active>span:last-child{color:#446139}.category-sidebar nav>a:hover{background:#edf1e8}.sidebar-note{display:flex;align-items:start;gap:10px;border-top:1px solid var(--line);margin:27px 12px 0;padding-top:23px;color:#68835e}.sidebar-note .small-dot{margin-top:8px;width:5px;height:5px}.sidebar-note p{font-size:12px;line-height:1.8}.sidebar-note p>span{display:block;color:#818b7b;font-size:11px;margin-top:5px}.catalog-main{min-width:0}.catalog-section-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.catalog-section-title h2{font-size:24px;font-weight:600}.project-count{display:block;font:12px var(--sans);color:var(--muted)}.catalog-description{font-size:13px;color:var(--muted);margin-top:7px;min-height:24px}.catalog-toolbar{display:flex;align-items:center;gap:9px;margin:24px 0}.search-control{flex:1;display:flex;align-items:center;min-width:0;gap:9px;padding:0 13px;background:#fff;border:1px solid var(--line);border-radius:7px;min-height:44px}.search-control>span:first-child{font-size:24px;line-height:1;color:#849180}.search-control input{width:100%;min-width:0;outline:none;border:0;background:transparent;font-size:13px;color:var(--ink);height:43px}.search-control:focus-within{outline:2px solid #78916c;outline-offset:1px}.stage-control select{font:13px var(--sans);min-height:45px;padding:0 30px 0 12px;border-radius:7px;color:#536350;border:1px solid var(--line);background:#fff;max-width:100%}.reset-filters{border:0;background:none;color:#75826d;font:12px var(--sans);padding:10px;min-height:44px;white-space:nowrap}.reset-filters:hover{color:var(--ink)}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 18px}.index-card{min-width:0;border:1px solid #e0e6dc;border-radius:10px;background:#fff;overflow:hidden;transition:transform .18s,border-color .18s,box-shadow .18s}.index-card:hover{transform:translateY(-3px);border-color:#c1ceb7;box-shadow:0 12px 24px -15px #4c604646}.index-card>a{height:100%;display:flex;flex-direction:column}.index-art{width:100%;height:auto;min-height:0;aspect-ratio:2130 / 1015;flex-shrink:0;position:relative;overflow:hidden;background:#e7ede1}.index-art>img,.index-art>.project-visual{position:absolute;inset:0;width:100%;height:100%}.index-art>img{height:100%;width:100%;object-fit:cover}.index-art>.project-visual{padding:8px 12px}.index-art .pv-top,.index-art .pv-flow{display:none}.index-art .pv-art{height:100%;max-height:100%;opacity:.85;transition:transform .2s}.index-card:hover .pv-art{transform:scale(1.04)}.art-caption{position:absolute;top:10px;left:10px;font-size:10px;color:#4f6757;background:#ffffffe8;padding:2px 7px;border-radius:4px}.card-arrow{position:absolute;bottom:10px;right:11px;background:#ffffffe0;color:#4a6253;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;font-size:18px}.index-card-copy{border-top:1px solid #e0e6dc;padding:16px 16px 12px;display:flex;flex-direction:column;flex:1}.index-meta{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:9px;font-size:10px;color:#7e897b}.stage-label{background:#edf3e9;border-radius:3px;padding:2px 5px;color:#55704c;white-space:nowrap;font-size:10px}.stage-history{background:#f1ede5;color:#897956}.stage-research{background:#eeedf5;color:#7a7094}.index-card h3{font-size:17px;line-height:1.55;letter-spacing:-.2px;font-weight:600}.index-card-copy>p{font-size:12px;color:#758071;line-height:1.85;margin-top:8px;flex:1}.card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px;padding-top:10px;border-top:1px solid #edf0e9;font-size:10px;color:#84907d}.card-foot>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-foot>span:last-child{white-space:nowrap;color:#466541}.home-cases .index-card-copy{padding:21px}.home-cases .index-card h3{font-size:20px}.home-cases .index-card-copy>p{font-size:14px}.home-cases .index-meta{font-size:11px}.home-cases .stage-label{font-size:11px}.library-pagination{text-align:center;padding:36px 0 18px}.library-pagination .button{background:#fff;min-width:185px}.library-pagination p{font-size:11px;color:#88917f;margin-top:13px}.library-empty{padding:70px 20px;text-align:center;border:1px dashed var(--line);border-radius:10px}.library-empty>span{font-size:42px;color:#95a48e}.library-empty h3{font-size:22px;font-weight:550}.library-empty p{color:var(--muted);font-size:14px;margin:10px 0 23px}.catalog-endnote,.no-js-note{font-size:12px;line-height:1.9;color:#7c8777;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
/* Case studies: context, approach, output, then supporting material. */
.case-breadcrumb{display:flex;align-items:center;gap:13px;padding-top:25px;font-size:12px;color:#7b8975}.case-breadcrumb a{min-height:44px;display:inline-flex;align-items:center}.case-breadcrumb>span{color:#bdc5b8}.case-intro{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:25px 0 38px}.case-intro-copy{min-width:0}.case-intro-copy>.eyebrow{font-size:10px;letter-spacing:.5px;flex-wrap:wrap}.case-intro h1{font-size:38px;line-height:1.35;font-weight:610;letter-spacing:-1px;margin:17px 0}.case-deck{font-size:19px;line-height:1.7;color:#52674f}.case-summary{font-size:14px;line-height:1.9;color:var(--muted);margin-top:17px}.case-facts{display:flex;gap:30px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.case-facts>div{min-width:0}.case-facts span{display:block;font-size:11px;color:#8a9682;margin-bottom:4px}.case-facts strong{font-size:12px;font-weight:500;color:#56674e}.case-intro-media{margin:0;min-width:0}.case-intro-media .case-cover{height:345px;border-radius:12px;background:#eaf0e4}.case-intro-media figcaption{font-size:11px;line-height:1.8;color:#87917f;margin-top:10px}.case-intro-media .case-cover .project-visual{padding:20px 24px}.case-intro-media .pv-top,.case-intro-media .pv-flow{font-size:11px}.case-intro-media .pv-flow{gap:10px;justify-content:space-between}.case-intro-media .case-cover .print-diagram,.case-intro-media .case-cover .tender-diagram,.case-intro-media .case-cover .mep-diagram{padding:24px}.case-intro-media .case-cover .print-stage{gap:12px}.case-intro-media .case-cover .reference-sheet,.case-intro-media .case-cover .quote-sheet{padding:10px}.case-intro-media .case-cover .reference-sheet svg{height:80px}.case-intro-media .case-cover .model-object svg{max-height:215px}.case-intro-media .case-cover .quote-total{font-size:11px;margin:20px 0}.case-intro-media .case-cover .reference-sheet small,.case-intro-media .case-cover .quote-sheet small,.case-intro-media .case-cover .model-label{font-size:8px}.case-intro-media .case-cover .data-flow{gap:12px}.case-intro-media .case-cover .source-doc{padding:13px}.case-intro-media .case-cover .source-doc span{font-size:11px}.case-intro-media .case-cover .extract-node>span{font-size:45px}.case-intro-media .case-cover .extract-node strong{font-size:12px}.case-intro-media .case-cover .result-table{padding:14px}.case-intro-media .case-cover .result-table>div{font-size:8px;min-height:22px}.case-intro-media .case-cover .result-table small{font-size:9px}.case-jump{position:sticky;top:82px;z-index:10;display:flex;gap:37px;background:#f7f8f4f5;backdrop-filter:blur(12px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:61px;align-items:center}.case-jump a{font-size:13px;min-height:44px;display:flex;align-items:center;color:#6c7b63}.case-jump a:hover{color:#315836}.case-reading{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:85px;padding-top:15px;padding-bottom:58px;align-items:start}.case-reading>article{min-width:0}.case-chapter{display:grid;grid-template-columns:45px minmax(0,1fr);gap:23px;padding:42px 0;border-bottom:1px solid var(--line);scroll-margin-top:155px}.chapter-number{font:25px var(--mono);color:#b0bba5;margin-top:15px}.case-chapter h2{font-size:27px;margin:8px 0 20px}.case-chapter .eyebrow{font-size:10px;letter-spacing:1px}.case-chapter p{font-size:15px;line-height:2;color:var(--muted)}.case-chapter p.question-copy{font-size:19px;color:#4a5e46;line-height:1.9}.process-list{display:flex;gap:7px;padding:0;margin:23px 0 30px;list-style:none;flex-wrap:wrap}.process-list li{flex:1;min-width:90px;background:#eaf0e3;border-radius:6px;padding:15px 13px}.process-list span{display:block;font:11px var(--mono);color:#8b9b7f;margin-bottom:12px}.process-list strong{display:block;font-size:12px;font-weight:500;line-height:1.8;color:#54704b}.solution-stories>section+section{margin-top:24px}.solution-stories h3{font-size:18px;font-weight:550;margin-bottom:8px}.solution-stories p{font-size:14px}.outcome-panel{display:flex;align-items:start;gap:13px;background:#eaf0e3;border:1px solid #d9e3cd;border-radius:8px;padding:23px}.outcome-panel .small-dot{margin-top:11px}.outcome-panel p{color:#4f6448;font-size:15px}.scope-note{margin-top:23px}.scope-note>strong{font-size:12px;color:#74836a;font-weight:550}.scope-note p{font-size:13px;color:#818977;margin-top:6px;line-height:1.9}.case-evidence{scroll-margin-top:160px;padding:25px 0 10px}.case-evidence details{border:1px solid var(--line);border-radius:8px;background:#f2f5ee;padding:0 20px}.case-evidence summary{font-size:13px;font-weight:500;cursor:pointer;padding:16px 0;list-style-position:inside}.case-evidence summary>span{float:right;font-size:11px;font-weight:400;color:#829079}.case-evidence details>div{padding:10px 0 22px;border-top:1px solid var(--line)}.case-evidence h3{font-size:14px;font-weight:550;margin:12px 0 7px}.case-evidence p{font-size:13px;line-height:1.9;color:var(--muted)}.case-focus{position:sticky;top:174px;padding:30px 0 10px}.case-focus .eyebrow{font-size:10px}.case-focus h3{font-size:16px;font-weight:550;margin-top:10px}.case-focus ul{padding:0;margin:22px 0 27px;list-style:none}.case-focus li{display:flex;gap:12px;border-bottom:1px solid var(--line);padding:12px 0;color:#78846d;font-size:13px;line-height:1.8}.case-focus li span{color:#69855a}.case-focus .button{width:100%;font-size:13px}.case-focus>p:last-child{text-align:center;font-size:11px;color:#919b87;margin-top:12px}.case-related{border-top:1px solid var(--line);padding:35px 0 55px}.case-related h2{font-size:25px}.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.related-links>a{position:relative;display:block;border:1px solid var(--line);padding:23px 24px;background:#f0f3ea;border-radius:7px}.related-links>a:hover{background:#e6eddd}.related-links span{font-size:11px;color:#839277;display:block;margin-bottom:11px}.related-links h3{font-size:16px;line-height:1.8;font-weight:550;padding-right:20px}.related-links b{position:absolute;bottom:24px;right:20px;font-weight:400;color:#7b9368}.version-page{max-width:1000px}.version-page h1{font-size:38px}.version-page .release-entry{grid-template-columns:170px 1fr}.contact-dialog h2{font-size:30px}.contact-dialog>p:not(.eyebrow){font-size:14px}.contact-pending p{font-size:12px}
@media(min-width:1500px){.home-feature-image{height:385px}}
@media(max-width:1100px){.container,.header-inner{width:calc(100% - 64px)}.home-intro{gap:40px}.home-feature-image{height:320px}.home-intro h1{font-size:48px}.intro-actions{gap:16px}.intro-actions .text-link{font-size:12px}.catalog-layout{grid-template-columns:180px minmax(0,1fr);gap:26px}.category-sidebar nav>a{font-size:13px;padding:12px 9px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-intro h1{font-size:35px}.home-cases{gap:17px}.home-cases .index-card-copy{padding:17px}.home-cases .index-card h3{font-size:18px}.case-intro{gap:32px}.case-intro h1{font-size:32px}.case-intro-media .case-cover{height:320px}.case-reading{grid-template-columns:minmax(0,1fr) 225px;gap:42px}.case-chapter{gap:15px;grid-template-columns:34px minmax(0,1fr)}.about-grid{gap:50px}}
@media(max-width:800px){.home-intro{grid-template-columns:1fr 1fr;gap:27px;padding:44px 0}.home-intro h1{font-size:39px}.home-intro .eyebrow{font-size:9px;letter-spacing:.6px}.intro-copy{font-size:14px}.intro-actions{align-items:start;flex-direction:column;gap:6px}.home-feature-image{height:300px}.home-feature-caption strong{font-size:13px}.domain-grid{grid-template-columns:repeat(2,1fr);gap:0 25px}.domain-link:nth-child(2n+1):nth-last-child(-n+2),.domain-link:nth-child(2n+1):nth-last-child(-n+2)~.domain-link{border-bottom:0}.home-cases .index-card h3{font-size:17px}.home-cases .index-card-copy>p{font-size:12px}.home-cases .index-meta{flex-wrap:wrap;gap:7px}.home-cases .card-foot>span:first-child{display:none}.about-grid{gap:35px;grid-template-columns:1fr 1.3fr}.working-steps{gap:15px;grid-template-columns:1fr}.working-steps li{display:flex;gap:13px;padding-top:12px}.working-steps strong{margin-top:0;margin-bottom:3px}.working-steps li>span{padding-top:6px}.catalog-intro>div>p{font-size:12px}.catalog-layout{gap:22px;grid-template-columns:158px minmax(0,1fr)}.category-sidebar nav small{display:none}.catalog-toolbar{flex-wrap:wrap}.search-control{flex-basis:100%}.stage-control{flex:1}.stage-control select{width:100%}.library-grid{gap:17px 13px}.index-card-copy{padding:13px}.index-meta{flex-wrap:wrap}.card-foot>span:first-child{display:none}.case-intro{grid-template-columns:1fr;gap:24px}.case-intro-copy{max-width:680px}.case-intro-media .case-cover{height:370px}.case-intro h1{font-size:37px}.case-jump{gap:26px}.case-reading{grid-template-columns:1fr;gap:0}.case-focus{position:static;display:none}.case-chapter{grid-template-columns:42px minmax(0,1fr);gap:20px}.case-reading>article{max-width:760px}.related-links{gap:12px}.related-links>a{padding:19px}.case-related h2{font-size:22px}.case-related .text-link{font-size:12px}}
@media(max-width:640px){html{scroll-padding-top:90px}.container,.header-inner{width:calc(100% - 36px)}.header-inner{min-height:72px}.brand{font-size:15px}.brand small{font-size:7px}.brand-symbol{width:35px;height:35px;border-radius:9px}.menu-toggle{width:44px;height:44px}#site-nav{gap:8px;top:72px;padding:15px 18px 22px}#site-nav>a{font-size:15px}#site-nav a[aria-current=page]:after{display:none}.nav-contact{justify-content:center;gap:20px;margin:6px 8px 0}.home-intro{grid-template-columns:1fr;gap:28px;padding:38px 0}.home-intro h1{font-size:45px;letter-spacing:-1.6px;margin:19px 0}.home-intro .eyebrow{font-size:9px;letter-spacing:.8px}.intro-copy{font-size:14px}.intro-actions{flex-direction:row;align-items:center;gap:16px;margin:25px 0 19px}.intro-actions .button{font-size:12px;padding:10px 15px;gap:10px}.intro-actions .text-link{font-size:11px}.intro-foot{font-size:11px}.home-feature{padding:10px}.home-feature-image{height:265px}.home-feature-caption{padding:13px 6px 3px}.home-feature-caption small{font-size:11px}.home-feature-caption strong{font-size:14px}.section-title{align-items:start;gap:10px;flex-direction:column;margin-bottom:20px}.section-title h2,.domain-section .section-title h1{font-size:25px;line-height:1.5;margin-top:7px}.section-title>p{font-size:12px}.domain-section{padding:31px 0}.domain-grid{gap:0 18px}.domain-link{gap:8px;padding:19px 0;position:relative}.domain-link p{font-size:11px;line-height:1.8;margin-top:6px}.domain-link h3{font-size:15px}.domain-number{font-size:9px;margin-top:6px}.domain-count{display:none}.domain-link h3>span{display:none}.archive-caption{font-size:11px;margin-top:17px}.home-selected{padding:35px 0 40px}.home-cases{grid-template-columns:1fr;gap:20px}.home-cases .index-card-copy{padding:20px}.home-cases .index-card h3{font-size:21px}.home-cases .index-card-copy>p{font-size:14px}.home-cases .index-meta{flex-wrap:nowrap;font-size:12px}.home-cases .card-foot>span:first-child{display:block}.home-about{padding:35px 0 40px}.about-grid{grid-template-columns:1fr;gap:15px}.about-grid h2{font-size:31px;line-height:1.5;margin:14px 0 17px}.about-grid>div>p.about-lead{font-size:20px;margin-top:0}.about-grid>div>p{font-size:14px}.working-steps{margin:24px 0 10px;gap:12px}.catalog-intro{padding:32px 0 24px}.catalog-intro>div{align-items:start;flex-direction:column;gap:12px;margin-top:12px}.catalog-intro h1{font-size:31px;letter-spacing:-1px}.catalog-intro>div>p{font-size:13px}.catalog-intro>div>p br{display:none}.catalog-total{font-size:11px;margin-top:13px}.catalog-layout{grid-template-columns:1fr;gap:24px;padding-top:19px;padding-bottom:38px}.category-sidebar{position:static}.category-sidebar>.eyebrow,.sidebar-note{display:none}.category-sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.category-sidebar nav>a{padding:11px 12px;font-size:13px;background:#eef1ea;border:1px solid transparent;min-height:43px}.category-sidebar nav>a:first-child{grid-column:1/-1}.category-sidebar nav>a.active{border-color:#c1d0b4;background:#e1eada}.category-sidebar nav small{display:block;font-size:9px}.category-sidebar nav>a>span:first-child{gap:9px}.catalog-section-title h2{font-size:23px}.project-count{font-size:12px}.catalog-description{font-size:12px}.catalog-toolbar{margin:18px 0 20px;gap:7px}.search-control{min-height:46px}.search-control input{font-size:14px}.stage-control select{font-size:13px;min-height:44px}.reset-filters{padding:10px 15px;font-size:12px}.library-grid{grid-template-columns:1fr;gap:19px}.index-card-copy{padding:18px}.index-meta{flex-wrap:nowrap;font-size:11px}.stage-label{font-size:11px}.index-card h3{font-size:20px}.index-card-copy>p{font-size:14px;line-height:1.85}.card-foot{font-size:11px;margin-top:18px}.card-foot>span:first-child{display:block}.library-pagination{padding:29px 0 12px}.catalog-endnote{font-size:11px}.case-breadcrumb{padding-top:14px;font-size:11px;gap:9px}.case-intro{padding:15px 0 23px;gap:24px}.case-intro h1{font-size:31px;margin:14px 0;letter-spacing:-.7px}.case-deck{font-size:17px}.case-summary{font-size:14px;margin-top:12px}.case-intro-copy>.eyebrow{font-size:10px;letter-spacing:0;gap:7px}.case-facts{margin-top:20px;padding-top:16px;gap:23px}.case-facts strong{font-size:11px}.case-intro-media .case-cover{height:280px}.case-intro-media figcaption{font-size:10px}.case-intro-media .case-cover .project-visual{padding:18px}.case-intro-media .pv-flow{font-size:10px;gap:6px}.case-intro-media .case-cover .print-diagram,.case-intro-media .case-cover .tender-diagram,.case-intro-media .case-cover .mep-diagram{padding:18px}.case-intro-media .case-cover .print-stage{gap:8px}.case-intro-media .case-cover .reference-sheet svg{height:63px}.case-intro-media .case-cover .model-object svg{max-height:160px}.case-intro-media .case-cover .quote-total{font-size:8px;margin:15px 0}.case-intro-media .case-cover .reference-sheet small,.case-intro-media .case-cover .quote-sheet small,.case-intro-media .case-cover .model-label{font-size:7px}.case-intro-media .case-cover .data-flow{gap:7px}.case-intro-media .case-cover .extract-node strong{font-size:10px}.case-intro-media .case-cover .source-doc{padding:9px}.case-intro-media .case-cover .source-doc span{font-size:9px}.case-intro-media .case-cover .result-table{padding:9px}.case-jump{width:100%;padding:0 18px;top:72px;min-height:54px;gap:17px;overflow-x:auto;white-space:nowrap}.case-jump a{font-size:11px;flex-shrink:0;min-height:47px}.case-jump a:last-child{padding-right:18px}.case-reading{padding:0 0 35px}.case-chapter{padding:29px 0;gap:12px;grid-template-columns:25px minmax(0,1fr);scroll-margin-top:130px}.chapter-number{font-size:18px;margin-top:11px}.case-chapter h2{font-size:24px;margin:7px 0 16px}.case-chapter .eyebrow{font-size:9px}.case-chapter p.question-copy{font-size:17px;line-height:1.85}.process-list{gap:7px;margin:19px 0 24px}.process-list li{min-width:95px;flex-basis:40%;padding:12px}.process-list strong{font-size:12px}.process-list span{margin-bottom:6px;font-size:10px}.solution-stories h3{font-size:17px}.solution-stories p{font-size:14px;line-height:1.95}.solution-stories>section+section{margin-top:22px}.outcome-panel{padding:17px;gap:10px}.outcome-panel p{font-size:14px}.scope-note p{font-size:12px}.case-evidence{scroll-margin-top:140px}.case-evidence details{padding:0 14px}.case-evidence summary{font-size:12px}.case-evidence summary>span{font-size:10px}.case-related{padding:27px 0 36px}.case-related h2{font-size:23px}.related-links{grid-template-columns:1fr;gap:11px}.related-links>a{padding:18px 21px}.related-links span{margin-bottom:6px}.related-links h3{font-size:16px}.site-footer{padding:24px 0}.footer-inner{align-items:start;gap:12px}.footer-brand{font-size:9px}.footer-inner p{font-size:10px}.footer-meta{font-size:10px}.footer-meta>a{font-size:11px}.version-page .release-entry{grid-template-columns:1fr}.version-page h1{font-size:29px}.contact-dialog h2{font-size:27px}.contact-dialog>p:not(.eyebrow){font-size:13px}}
@media(max-width:360px){.home-intro h1{font-size:39px}.intro-actions{gap:11px}.intro-actions .text-link{font-size:10px}.intro-actions .button{padding:10px 12px;font-size:11px}.home-feature-image{height:225px}.domain-grid{gap:0 12px}.domain-number{display:none}.domain-link h3{font-size:14px}.catalog-intro h1{font-size:28px}.case-intro h1{font-size:28px}.case-intro-media .case-cover{height:250px}.case-facts{gap:16px}.case-evidence summary>span{display:none}}
.case-evidence details[open] summary>span{font-size:0}.case-evidence details[open] summary>span:after{content:'收起说明 −';font-size:11px}
@media(max-width:800px){.case-focus{display:block;border-top:1px solid var(--line);padding-top:25px}.case-focus ul{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;margin:12px 0 22px}.case-focus .button{width:auto;min-width:210px}.case-focus>p:last-child{text-align:left}}
@media(max-width:480px){.case-focus ul{grid-template-columns:1fr}.case-focus .button{width:100%}.case-focus>p:last-child{text-align:center}}

.intro-foot a{display:inline-block;border-left:1px solid var(--line);padding-left:11px;margin-left:9px;font:10px var(--mono);color:#6b825d}.version-pill{font:10px var(--mono);padding:4px 7px;border:1px solid var(--line);border-radius:4px;margin-left:12px;color:#73856a}@media(max-width:420px){.intro-foot a{display:block;border:0;padding:0;margin:9px 0 0}}

/* v0.4.1: preserve the complete application screenshot within the existing card. */
.index-art--full-interface{background:#edf4fb}
.index-art--full-interface>img{object-fit:contain;object-position:center;display:block}

/* v0.4.4: concise case pages, opt-in via caseLayout. */
.case-simple{max-width:1080px;padding-bottom:48px}
.case-simple-back{padding-top:18px}
.case-simple-back a{display:inline-flex;align-items:center;min-height:44px;color:#718269;font-size:12px}
.case-simple-back a:hover{color:#315836}
.case-simple-intro{padding:18px 0 28px}
.case-simple-intro h1{font-size:clamp(30px,3.2vw,42px);line-height:1.4;font-weight:610;letter-spacing:-.8px;margin:0 0 14px}
.case-simple-intro p{max-width:820px;font-size:15px;line-height:1.95;color:var(--muted);margin:0;text-wrap:balance}
.case-simple-intro p+p{margin-top:12px}
.case-simple-media{margin:0}
.case-simple-zoom{display:block;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in;text-align:right;border-radius:10px}
.case-simple-zoom img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid #dbe3e5}
.case-simple-zoom>span{display:inline-block;font-size:11px;line-height:1.6;color:#7d8976;padding-top:9px}
.case-simple-zoom:hover>span{color:#315836}
.case-simple-zoom:focus-visible{outline:2px solid #69855a;outline-offset:5px}
.case-gallery-viewport{aspect-ratio:2130/1015;border:1px solid #dbe3e5;border-radius:10px;background:#f3f6f8}
.case-gallery-slide{height:100%}
.case-gallery-slide[hidden],.case-gallery-controls[hidden]{display:none}
.case-gallery-slide img{width:100%;height:100%;object-fit:contain;border:0}
.case-gallery-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;color:#718269;font-size:11px;line-height:1.6}
.case-gallery-controls{display:flex;align-items:center;gap:8px}
.case-gallery-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:#315836;font-size:20px;cursor:pointer}
.case-gallery-controls button:hover{background:#edf2e9;border-color:#b8c7ac}
.case-gallery-controls button:focus-visible{outline:2px solid #69855a;outline-offset:3px}
.case-gallery-count{min-width:48px;text-align:center;font:12px/1.6 var(--mono);color:#52674a}
.case-simple-highlights{margin-top:25px}
.case-simple-highlights ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.case-simple-highlights li{min-width:0;border-top:1px solid var(--line);padding-top:18px}
.case-simple-number{font:11px/1.5 var(--mono);color:#91a184}
.case-simple-highlights h2{font-size:18px;line-height:1.6;font-weight:580;margin:8px 0 7px}
.case-simple-highlights p{font-size:13px;line-height:1.9;color:var(--muted);margin:0;max-width:290px}
@media(max-width:640px){
 .case-simple{padding-bottom:32px}
 .case-simple-back{padding-top:10px}
 .case-simple-intro{padding:12px 0 22px}
 .case-simple-intro h1{font-size:30px;letter-spacing:-.6px;margin-bottom:12px;text-wrap:balance}
 .case-simple-intro p{font-size:14px;line-height:1.9}
 .case-simple-zoom img{border-radius:7px}
 .case-simple-highlights{margin-top:22px}
 .case-simple-highlights ul{grid-template-columns:1fr;gap:18px}
 .case-simple-highlights li{display:grid;grid-template-columns:27px minmax(0,1fr);gap:3px 12px;padding-top:15px}
 .case-simple-number{grid-row:1 / 3;padding-top:5px}
 .case-simple-highlights h2{font-size:17px;margin:0}
 .case-simple-highlights p{grid-column:2;max-width:none}
}

/* Category cards may end in a partial row. */
@media(min-width:801px){.domain-link:nth-child(3n+1):nth-last-child(-n+3),.domain-link:nth-child(3n+1):nth-last-child(-n+3)~.domain-link{border-bottom:0}}

/* Native video playback for concise case pages. */
.case-simple-video{display:block;width:100%;height:auto;object-fit:contain;border:1px solid #dbe3e5;border-radius:10px;background:#f3f6f8}
.case-simple-video:focus-visible{outline:2px solid #69855a;outline-offset:5px}
@media(max-width:640px){.case-simple-video{border-radius:7px}}
