/* v25: five project areas and visual, progressively enhanced case studies. */
.areas-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}
.area-card{grid-column:span 2;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #dce4e3;border-radius:17px;overflow:hidden;text-decoration:none;transition:transform .2s,border-color .2s}
.area-card:nth-child(-n+2){grid-column:span 3}
.area-card:hover{transform:translateY(-3px);border-color:#93afa8}
.area-media{height:230px;display:block;background:#e8eeec;border-bottom:1px solid #dce4e3}
.area-card:nth-child(-n+2) .area-media{height:280px}
.area-media img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.area-copy{padding:24px;display:flex;flex-direction:column;flex:1}
.area-number{color:#5b7778;font-size:10px;letter-spacing:.08em;font-weight:700}
.area-copy h3{font-size:24px;line-height:1.2;letter-spacing:-.035em;margin:12px 0}
.area-copy p{font-size:14px;line-height:1.65;color:#5b6a70;margin:0 0 25px}
.area-bottom{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:auto;font-size:10px;color:#536c73}
.area-bottom>span:last-child{font-size:24px;color:#365c67}
.rfid-spotlight{display:grid;grid-template-columns:.85fr 1.15fr;background:#17363d;color:#eff6f2;border-radius:20px;overflow:hidden;align-items:center}
.spotlight-photo{display:block;height:525px;background:#203e42}
.spotlight-photo img{width:100%;height:100%;object-fit:contain}
.spotlight-copy{padding:42px}
.spotlight-copy .eyebrow{color:#9fc2bd}
.spotlight-copy h2{font-size:clamp(29px,3vw,42px);line-height:1.15;letter-spacing:-.04em;margin:0 0 22px}
.spotlight-copy>p:not(.eyebrow){font-size:15px;color:#c2d6d3;line-height:1.75}
.spotlight-copy .button{background:#e9c995;border-color:#e9c995;color:#253f42;text-decoration:none;font-size:13px;line-height:1.4}
.spotlight-metrics{display:flex;gap:32px;margin:26px 0 30px}
.spotlight-metrics strong{display:block;font-size:24px;color:#e8c68f}
.spotlight-metrics span{font-size:11px;color:#c0d7d1}
.metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#eaf0ee;border:1px solid #d9e1de;border-radius:13px;margin:30px 0 46px}
.metric-strip>div{padding:22px 26px}
.metric-strip>div+div{border-left:1px solid #d0dcd6}
.metric-strip strong{font-size:30px;line-height:1.2;letter-spacing:-.03em;color:#244e52;display:block}
.metric-strip span{font-size:12px;color:#587271;display:block;margin-top:7px}
.grouped-case{background:radial-gradient(ellipse at 0 0,#eaf1ef,transparent 600px),#f7f7f6}
.grouped-case .detail-header h1{font-size:clamp(36px,4.2vw,57px)}
.grouped-case .detail-header{grid-template-columns:1fr 1fr;gap:56px}
.grouped-case .case-hero-figure img{max-height:470px}
.grouped-case .case-hero-figure figcaption{font-size:11px;padding:12px 18px}
.chapter-date{font-size:11px;color:#6a7b7c;margin-top:28px}
.chapter{margin:0 0 54px}
.chapter>h2{font-size:clamp(25px,2.7vw,33px);line-height:1.2;letter-spacing:-.035em;margin:0 0 19px}
.chapter>p{max-width:930px;color:#52616a;font-size:16px;line-height:1.8;margin:0 0 24px}
.chapter h3{letter-spacing:-.025em;line-height:1.3}
.chapter-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chapter-links .related-link{font-size:13px;color:#315b63;border-color:#cedbd9;background:#f4f8f6}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:25px 0}
.feature-grid article{padding:24px;border-top:2px solid #8fafaa;background:#fff;border-radius:0 0 12px 12px}
.feature-grid h3{font-size:19px;margin:0 0 14px;color:#2f5058}
.feature-grid p{font-size:14px;line-height:1.75;margin:0;color:#56666c}
.chapter .scope-note{border-left:3px solid #c3a77b;padding:14px 20px;background:#f4f0e6;font-size:13px;color:#77633f;line-height:1.7;max-width:none}
.chapter .diagram-note,.diagram-note{font-size:12px;line-height:1.7;color:#6b797a;max-width:none;margin:15px 0 0}
.diagram-note a{text-underline-offset:3px}
.diagram-scroll{overflow:auto;border-radius:16px;background:#17363d;border:1px solid #37565b;margin-top:24px}
.wiring-map{display:block;width:100%;min-width:710px;height:auto;background:radial-gradient(ellipse at center,#224750,#17363d)}
.wiring-map .diagram-node rect{fill:#254b53;stroke:#53777b;stroke-width:1.2}
.wiring-map .panel rect{fill:#294d60;stroke:#7a9ba9}
.wiring-map .storage rect{fill:#42534d;stroke:#d4b477}
.wiring-map .data rect{fill:#244b4b;stroke:#75aaa5}
.svg-label{fill:#eff5ee;font:650 16px system-ui,sans-serif}
.svg-small{fill:#b5d0ce;font:12px system-ui,sans-serif}
.svg-kicker{fill:#d9bd8f;font:700 13px system-ui,sans-serif;letter-spacing:2px}
.power-wire{fill:none;stroke:#dfb97b;stroke-width:3}
.data-wire{fill:none;stroke:#72b3b3;stroke-width:2;stroke-dasharray:6 5}
.table-scroll{overflow:auto;border:1px solid #d9e3df;border-radius:12px;background:white}
.data-table{width:100%;border-collapse:collapse;font-size:14px;min-width:620px;text-align:left}
.data-table caption{text-align:left;padding:16px 20px;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#537373;background:#ecf2f0;font-weight:700}
.data-table td,.data-table th{padding:15px 20px;border-bottom:1px solid #e4eae6;vertical-align:top}
.data-table thead{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#657a76}
.data-table tbody th{font-size:13px;max-width:190px;color:#37575d}
.data-table td{color:#5b6a70}
.data-table tr:last-child>*{border-bottom:0}
.energy-calculator{display:grid;grid-template-columns:1.35fr .65fr;gap:32px;background:#edf2ef;border:1px solid #d6e1d9;border-radius:15px;padding:30px;margin-top:24px}
.energy-calculator h3{font-size:24px;margin:0 0 15px}
.energy-calculator p{font-size:13px;line-height:1.65;color:#526966}
.calculator-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}
.calculator-fields label{font-size:12px;color:#42615c;font-weight:650}
.calculator-fields label:last-child{grid-column:1/-1}
.calculator-fields input{display:block;width:100%;font:600 19px system-ui,sans-serif;color:#284f4e;border:1px solid #afc6bb;background:#fff;border-radius:8px;padding:12px;margin-top:8px}
.calculator-fields input:invalid{border-color:#b05c3e}
.energy-results{display:flex;flex-direction:column;gap:22px;background:#244b4e;color:#eef5ef;border-radius:12px;padding:25px;justify-content:center}
.energy-results>div>span{font-size:11px;color:#b8d0c9;display:block;margin-bottom:6px}
.energy-results strong{font-size:28px;line-height:1.2;letter-spacing:-.02em}
.energy-results meter{width:100%;height:14px;accent-color:#ddbf86}
.energy-results>p{color:#d7e5de;font-size:12px;margin:0;min-height:40px}
.model-layout{display:grid;grid-template-columns:1.6fr .8fr;background:#eaf0ee;border:1px solid #d5e0d9;border-radius:16px;overflow:hidden}
.solar-model-stage{min-width:0;position:relative;background:radial-gradient(ellipse at center,#2a4b52,#152e36);display:flex;align-items:center;min-height:410px}
#solar-model{width:100%;height:410px;display:block;touch-action:pan-y;cursor:grab}
#solar-model:active{cursor:grabbing}
.model-caption{position:absolute;bottom:15px;left:18px;right:18px;color:#b5cdca;font-size:10px;text-align:center;pointer-events:none}
.model-controls{padding:27px;display:flex;flex-direction:column;align-items:stretch}
.component-buttons{display:grid;gap:7px}
.component-buttons button,.model-controls>button,.map-filters button,.demo-actions button{border:1px solid #b9ceca;background:#fff;border-radius:7px;padding:11px 14px;font:600 12px system-ui,sans-serif;text-align:left;color:#365d62;cursor:pointer;min-height:42px}
.component-buttons button[aria-pressed=true],.map-filters button[aria-pressed=true]{background:#28565b;color:#f5f7f3;border-color:#28565b}
#solar-part-description{font-size:13px;line-height:1.65;color:#486461;min-height:86px;margin:20px 0}
.model-controls label{font-size:11px;color:#4e6e69}
.model-controls input{width:100%;margin:15px 0 20px;accent-color:#315f63;min-height:25px}
.model-controls>button{align-self:start}
.map-filters{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.integration-map{display:grid;gap:13px}
.integration-route{border:1px solid #cbdcd7;border-radius:12px;padding:18px 20px;background:#eff4f1;margin:13px 0}
.integration-route>p{margin:0 0 13px;font-size:10px;letter-spacing:.06em;font-weight:700;text-transform:uppercase;color:#527974}
.integration-route>div{display:flex;gap:29px}
.integration-route>div>span{position:relative;min-width:0;flex:1;padding:16px 12px;background:#fff;border:1px solid #d6e3dd;border-radius:8px}
.integration-route>div>span:not(:last-child):after{content:'→';position:absolute;left:calc(100% + 7px);top:50%;transform:translateY(-50%);font-size:20px;color:#638e86}
.integration-route strong{font-size:14px;display:block;line-height:1.4;color:#315c5a}
.integration-route small{font-size:11px;display:block;color:#6b8580;margin-top:5px;line-height:1.5}
.cloud-route{background:#f5f1e7;border-color:#e2d4b8}
.cloud-route>p{color:#927443}
.experimental-route{background:#eff0f4;border-style:dashed;border-color:#b4bacb}
.experimental-route>p{color:#6d7591}
.split-feature{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;margin-top:24px}
.split-feature>div>h3{font-size:24px;color:#31575b;margin-top:0}
.split-feature>div>p{font-size:14px;line-height:1.8;color:#5b6a6d}
.split-feature .project-evidence{margin:0}
.split-feature .project-evidence img{max-height:390px}
.split-feature .related-link{font-size:12px}
.bench-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.bench-cases>article{border-top:2px solid #a9c2b9;background:#fff;padding:17px;border-radius:0 0 13px 13px}
.bench-cases .project-evidence{margin:0}
.bench-cases .project-evidence img{height:210px;object-fit:contain;border:0;border-radius:0}
.bench-cases .project-evidence figcaption{padding:10px;font-size:10px}
.bench-cases h3{font-size:20px;margin:20px 0 13px;color:#35545d}
.bench-cases p{font-size:13px;color:#596a72;line-height:1.75}
.bench-cases .related-link{font-size:12px;margin-top:10px;padding:9px 12px}
.operation-line{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:25px 28px;background:#eaf0ef;border-radius:13px;margin:24px 0}
.operation-line h3{font-size:17px;color:#31575b;margin:0 0 10px}
.operation-line p{font-size:13px;color:#607474;line-height:1.7;margin:0}
.project-notes{border:1px solid #d3dfdb;border-radius:12px;background:#fff;margin-bottom:35px}
.project-notes summary{padding:22px;font-size:14px;font-weight:650;cursor:pointer;color:#315b61}
.project-notes .case-section{border:0;border-top:1px solid #e2e8e5;border-radius:0}
.rfid-demo{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;background:#edf2f1;border:1px solid #cfdfda;border-radius:18px;padding:30px;margin-top:25px}
.demo-terminal{border:10px solid #24554d;border-radius:17px;background:#15313c;padding:18px;color:#e4f5f4;box-shadow:0 8px 25px #1d45452a}
.demo-top{display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.1em;color:#9dc2c6;padding-bottom:16px;border-bottom:1px solid #41636d}
.demo-screen{text-align:center;padding:15px 0}
#demo-status{font-size:13px;line-height:1.6;min-height:42px;color:#a0cad1;margin:3px 0 13px}
#demo-balance{display:block;font-size:45px;line-height:1.1;color:#edf6ec}
.demo-unit{font-size:10px;color:#96b3ba;display:block;margin-top:8px}
.demo-drinks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:24px 0 8px}
.demo-drinks button{display:block;font:600 12px system-ui,sans-serif;padding:14px 5px;color:#eff5f2;border:1px solid #668d8e;border-radius:7px;background:#365e64;cursor:pointer;min-height:65px}
.demo-drinks small{display:block;font-size:11px;margin-top:7px;color:#b5d5c8}
.demo-terminal>button{width:100%;padding:12px 8px;border:1px solid #c7cba9;background:#d8dfbe;font:650 12px system-ui,sans-serif;color:#274642;border-radius:6px;cursor:pointer}
.rfid-demo button:disabled{opacity:.4;cursor:default}
.demo-operations h3{font-size:22px;margin:0 0 20px}
.demo-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.demo-actions button{font-size:11px;padding:10px 12px}
.demo-actions button[data-demo-confirm]:not(:disabled){background:#28565b;color:#fff}
.demo-ledger{min-height:80px;max-height:220px;overflow:auto;padding:15px 15px 15px 34px;background:#fff;border:1px solid #dce5e0;border-radius:10px;font-size:12px;color:#466867;line-height:1.65}
.demo-ledger li{padding:3px 0}
.grouped-case .case-tools{margin-top:50px}
.grouped-case .case-tools .related-link{margin-top:23px}
@media(max-width:1000px){.area-copy{padding:20px}.area-copy h3{font-size:21px}.area-card:nth-child(-n+2) .area-media{height:250px}.area-media{height:210px}.spotlight-copy{padding:30px}.spotlight-metrics{gap:22px}.grouped-case .detail-header{gap:30px}.model-layout{grid-template-columns:1.4fr 1fr}.model-controls{padding:20px}.feature-grid{gap:14px}.feature-grid article{padding:20px}.energy-calculator{gap:24px;padding:25px}.integration-route{padding:16px}.integration-route strong{font-size:12px}.rfid-demo{padding:22px;gap:25px}}
@media(max-width:800px){.areas-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.area-card,.area-card:nth-child(-n+2){grid-column:span 1}.area-card:last-child{grid-column:span 2}.area-media,.area-card:nth-child(-n+2) .area-media{height:230px}.area-card:last-child{display:grid;grid-template-columns:1fr 1fr}.area-card:last-child .area-media{height:100%;min-height:255px}.rfid-spotlight{grid-template-columns:1fr 1.2fr}.spotlight-photo{height:440px}.spotlight-copy{padding:25px}.spotlight-copy h2{font-size:29px}.spotlight-metrics{gap:16px}.spotlight-metrics strong{font-size:20px}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.model-layout{grid-template-columns:1fr}.model-controls{display:block}.component-buttons{grid-template-columns:1fr 1fr}.model-controls input{max-width:370px;display:block}.model-controls label{display:block}#solar-part-description{min-height:0}.bench-cases{grid-template-columns:1fr}.bench-cases>article{display:grid;grid-template-columns:1fr 1fr;column-gap:25px;align-items:start}.bench-cases .project-evidence{grid-row:1/4}.bench-cases h3{margin-top:6px}.rfid-demo{grid-template-columns:1fr 1fr;gap:20px}.demo-terminal{padding:12px;border-width:7px}.demo-actions{grid-template-columns:1fr}.metric-strip strong{font-size:26px}.metric-strip>div{padding:20px}.energy-calculator{grid-template-columns:1fr}.energy-results{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.energy-results meter,.energy-results>p{grid-column:1/-1}.energy-results strong{font-size:24px}.split-feature{gap:24px}.integration-route>div{gap:23px}.integration-route>div>span:not(:last-child):after{left:calc(100% + 4px)}}
@media(max-width:640px){.grouped-case .detail-header{grid-template-columns:1fr;gap:24px}.grouped-case .detail-header h1{font-size:37px}.chapter{margin-bottom:40px}.chapter>h2{font-size:27px}.chapter>p{font-size:14px}.chapter-date{margin-top:20px}.metric-strip{margin:25px 0 35px}.metric-strip>div{padding:18px 11px}.metric-strip strong{font-size:21px}.metric-strip span{font-size:10px}.feature-grid{grid-template-columns:1fr}.feature-grid article{padding:22px}.chapter-links{gap:8px}.chapter-links .related-link{font-size:12px}.integration-route>div{flex-direction:column;gap:23px}.integration-route>div>span{padding:12px 15px}.integration-route strong{font-size:14px}.integration-route>div>span:not(:last-child):after{content:'↓';left:50%;top:calc(100% + 1px);transform:translateX(-50%);line-height:23px}.integration-route small{font-size:11px}.split-feature{grid-template-columns:1fr}.split-feature>div>h3{font-size:22px}.operation-line{grid-template-columns:1fr;gap:22px}.bench-cases>article{display:block}.bench-cases h3{margin-top:20px}.bench-cases .project-evidence img{height:250px}.rfid-demo{grid-template-columns:1fr;padding:20px}.demo-terminal{max-width:420px;width:100%;margin:auto}.demo-actions{grid-template-columns:1fr 1fr}.energy-calculator{padding:22px}.energy-results{grid-template-columns:1fr}.energy-results strong{font-size:28px}.energy-results>div{display:flex;justify-content:space-between;align-items:center;gap:16px}.energy-results>div>span{max-width:140px}.energy-results meter,.energy-results>p{grid-column:auto}.model-controls{padding:20px}#solar-model{height:335px}.solar-model-stage{min-height:335px}.map-filters button{font-size:11px;padding:10px 12px}.component-buttons button{font-size:11px;padding:10px 12px}}
@media(max-width:540px){.areas-grid{grid-template-columns:1fr;gap:20px}.area-card,.area-card:nth-child(-n+2),.area-card:last-child{grid-column:auto;display:flex}.area-media,.area-card:nth-child(-n+2) .area-media,.area-card:last-child .area-media{height:270px;min-height:0}.area-copy{padding:23px}.area-copy h3{font-size:25px}.area-copy p{font-size:14px}.rfid-spotlight{grid-template-columns:1fr}.spotlight-photo{height:410px}.spotlight-copy{padding:27px}.spotlight-copy h2{font-size:32px}.spotlight-metrics{justify-content:space-between;gap:10px}.spotlight-metrics strong{font-size:24px}.spotlight-copy .button{width:100%;text-align:left;justify-content:space-between}.calculator-fields{gap:12px}.calculator-fields label{font-size:11px}.calculator-fields input{font-size:18px;padding:11px}.wiring-map{min-width:710px}}
@media(prefers-reduced-motion:reduce){.area-card{transition:none}.area-card:hover{transform:none}}
@media print{.map-filters,.model-controls,.rfid-demo,.energy-calculator input{display:none}.integration-route[hidden]{display:block!important}.chapter,.feature-grid article,.area-card{break-inside:avoid}.grouped-case{background:white}.wiring-map{min-width:0}}
.metric-strip strong [data-lang-view]{font:inherit;color:inherit;margin:0}
