/* Layout layer. Active visual source: shared V1.0.0, brand-tokens.css and brand-system.css. */
.ops-v3{--paper:var(--color-canvas);--ink:var(--color-text);--muted:var(--color-text-secondary);--line:var(--color-border);--soft:var(--color-surface-soft)}
.ops-v3 .site-header{border-bottom:1px solid var(--line)}
.ops-v3 .v3-section{padding:105px 0;border-top:1px solid var(--line)}
.v3-soft{background:var(--soft)}
.v3-heading{margin-bottom:48px}.v3-heading .seclabel{display:block;font-size:10px;letter-spacing:.15em;margin-bottom:25px}
.ops-v3 .v3-heading h2{font-size:clamp(30px,3.6vw,49px);font-weight:750;letter-spacing:-.055em;line-height:1.45;max-width:26em;margin:0}
.ops-v3 .v3-section p{font-size:16px;line-height:2;color:var(--muted);max-width:60em}
.ops-v3 .v3-section p+p{margin-top:18px}.ops-v3 .v3-section .tlink{display:inline-block;margin-top:25px}
.ops-v3 .v3-lead{font-size:20px;line-height:1.9;color:var(--ink);max-width:50em}
.v3-caption{font-size:12px!important;line-height:1.85!important;color:var(--muted);margin-top:22px}
.v3-home-hero{padding:50px 0 70px}.v3-home-hero>.wrap>.seclabel{font-size:10px;letter-spacing:.13em;margin-bottom:50px}
.v3-hero-copy{display:grid;grid-template-columns:1.25fr 1fr;gap:95px;align-items:end}
.ops-v3 .v3-hero-copy h1{font-size:clamp(56px,5.7vw,84px);font-weight:820;line-height:1.19;letter-spacing:-.06em;margin:0;max-width:none}
.v3-hero-copy h1 em{font-family:var(--font-display);font-style:normal;font-weight:750}
.ops-v3.lang-en .v3-hero-copy h1{font-size:clamp(45px,4.7vw,67px);line-height:1.17}
.v3-hero-copy>div>p:not(.v3-lead){font-size:14px;line-height:1.95;color:var(--muted);margin-top:20px}
.v3-hero-copy .btns{gap:12px;margin-top:30px}.v3-hero-copy .btn{padding:15px 18px;font-size:13px}
.v3-concept{margin:57px 0 0}.v3-concept img{display:block;width:100%;height:auto;aspect-ratio:2.08;object-fit:cover;object-position:center 56%;background:var(--soft)}
.v3-concept figcaption{font-size:10px;color:var(--muted);letter-spacing:.045em;padding:13px 0;border-bottom:1px solid var(--line)}
.v3-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.v3-cards:has(>article:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
.v3-cards article{padding:30px 28px 35px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.v3-number{font:450 12px/1.5 var(--la);letter-spacing:.1em;color:var(--muted);display:block;margin-bottom:35px}
.v3-cards h3{font-size:24px;line-height:1.5;font-weight:700;margin:0 0 16px;letter-spacing:-.025em}.v3-cards p{font-size:15px!important}
.v3-rows{border-top:1px solid var(--line)}.v3-rows article{display:grid;grid-template-columns:45px 1fr 1.8fr;gap:30px;padding:34px 0;border-bottom:1px solid var(--line)}
.v3-rows .v3-number{margin:7px 0 0}.v3-rows h3{font-size:25px;line-height:1.6;letter-spacing:-.035em;margin:0;font-weight:700}.v3-rows .v3-result{color:var(--ink);font-size:13px;margin-top:17px}
.v3-demo-feature{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;margin-bottom:30px}
.v3-demo-feature .btn{margin-top:30px}.v3-demo-feature p+p{margin-top:24px}
.v3-demo-cover{display:block;background:var(--color-text);color:var(--color-canvas);padding:40px;box-shadow:0 20px 45px #15171a0b;transition:transform .2s}
.v3-demo-cover:hover{transform:translateY(-3px)}.v3-demo-cover .seclabel{color:var(--color-border);margin-bottom:34px}
.v3-cover-title{font-family:var(--font-display);font-size:50px;line-height:1.35;font-weight:700;display:block;letter-spacing:-.04em}
.v3-cover-flow{font-size:12px;margin:28px 0 35px;color:var(--color-border)}.v3-cover-result{border-top:1px solid #42464d;padding-top:24px;display:flex;justify-content:space-between;gap:24px;align-items:center}.v3-cover-result>span{font-size:12px;color:var(--color-border)}
.v3-cover-result strong{font-size:36px;font-weight:600;white-space:nowrap}.v3-cover-result small{font-size:11px;font-weight:400}.v3-cover-note{font-size:12px;margin-top:25px;border-top:1px solid #42464d;padding-top:20px}
.v3-profile{display:grid;grid-template-columns:290px 1fr;gap:100px;align-items:center}.v3-profile figure{margin:0}.v3-profile img{width:100%;height:auto;max-height:440px;object-fit:contain;object-position:left bottom;background:var(--color-surface-soft)}
.v3-profile figcaption{font-size:10px;letter-spacing:.1em;color:var(--muted);padding:16px 0;border-bottom:1px solid var(--line)}
.ops-v3 .v3-statement{font-family:var(--font-display);font-weight:600;font-size:27px;line-height:1.8;color:var(--ink)}
.v3-dark{background:var(--ink);color:var(--paper)}.ops-v3 .v3-dark .v3-heading h2{font-family:var(--font-display);font-size:48px}.ops-v3 .v3-dark .seclabel,.ops-v3 .v3-dark p{color:var(--color-border)}.ops-v3 .v3-dark .btn.fill{background:var(--paper);color:var(--ink);border-color:var(--paper);margin-top:30px}
.v3-page-hero{padding:35px 0 68px}.v3-page-hero .back{display:block;font-size:12px;margin-bottom:50px}.v3-page-hero .seclabel{font-size:10px;letter-spacing:.14em;margin-bottom:28px}
.ops-v3 .v3-page-hero h1{font-family:var(--font-display);font-size:clamp(42px,4.8vw,68px);line-height:1.4;letter-spacing:-.045em;font-weight:700;margin-bottom:28px;max-width:21em}
.v3-page-hero .v3-lead{max-width:49em;font-size:18px;color:var(--muted)}
.v3-archive-links{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;margin-top:35px}.ops-v3 .v3-archive-links a{margin:0;padding:20px 0;border-top:1px solid var(--line);text-decoration:none;font-size:16px}
.v3-archive-banner{margin-top:28px!important;font-size:13px;color:var(--muted);line-height:1.9;border-left:2px solid var(--ink)}
/* Editorial galleries: preserve original frames; small source images stay small. */
.ops-v3 .v3-project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin:45px 0 35px;align-items:start}
.v3-project-image{margin:0;min-width:0}.v3-project-image:first-child{grid-column:1/-1;max-width:100%;justify-self:center;width:100%}
.v3-project-image button{padding:0;border:0;background:var(--color-surface-soft);display:block;width:100%;position:relative;cursor:zoom-in;overflow:hidden}
.v3-project-image img{width:100%;height:auto;display:block;object-fit:contain;max-height:690px;margin:auto}
.v3-project-image.portrait img{max-height:640px;width:auto;max-width:100%}.v3-project-image.low-resolution{max-width:760px;justify-self:center;width:100%}
.v3-project-image:first-child.low-resolution img{max-width:100%;width:auto}
.v3-project-image figcaption{display:flex;gap:20px;font-size:11px;color:var(--muted);line-height:1.75;padding-top:13px}.v3-project-image figcaption>span:first-child{font-variant-numeric:tabular-nums;color:var(--ink)}
.v3-photo-expand{position:absolute;right:15px;bottom:15px;width:34px;height:34px;background:#fcfcfbec;color:var(--ink);display:grid;place-items:center;font-size:16px}
.ops-v3.ops-legacy .page-lead{font-size:17px!important;line-height:1.95!important}.ops-v3.ops-legacy .prose p{font-size:17px!important;line-height:2!important}.ops-v3.ops-legacy .coord{font-size:10px;line-height:1.9;letter-spacing:.11em}
.v3-portfolio{display:grid;grid-template-columns:1fr 1fr;gap:55px 32px}.v3-project-card>div{height:360px;background:var(--color-surface-soft);overflow:hidden}.v3-project-card img{height:100%;width:100%;object-fit:cover;transition:transform .35s}.v3-project-card:hover img{transform:scale(1.025)}
.v3-project-card .seclabel{display:block;margin:20px 0 10px;font-size:10px}.v3-project-card h3{font-size:23px;line-height:1.6;font-weight:700}.ops-v3 .v3-project-card p{font-size:12px;margin-top:7px}
.portfolio-dialog{width:min(94vw,1500px);max-width:94vw;max-height:94vh;padding:0;border:0;margin:auto;background:var(--color-canvas);color:var(--color-text)}.portfolio-dialog::backdrop{background:#101215e6}
.portfolio-dialog .lightbox-top{display:flex;gap:22px}.portfolio-dialog .lightbox-top>span{line-height:1.8}.portfolio-dialog figure{margin:0;display:flex;justify-content:center;align-items:center;overflow:auto;background:var(--color-surface-soft);max-height:calc(94vh - 70px)}.portfolio-dialog img{max-width:100%;max-height:calc(94vh - 70px);width:auto;height:auto;object-fit:contain}
.v3-qr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin-bottom:42px}.v3-qr-card{padding:25px 20px;background:#fff;border:1px solid var(--line);text-align:center;display:flex;align-items:center;flex-direction:column;justify-content:flex-start}.v3-qr-card img{width:160px;height:160px;max-width:100%;object-fit:contain}.v3-qr-card .coord{margin-top:20px!important;font-size:11px!important;letter-spacing:.05em!important}
/* Readable, live residential scenario rather than a tiny screenshot. */
.v3-demo-label{font-size:12px;padding:15px 20px;border:1px solid var(--line);background:var(--paper);margin-bottom:30px;line-height:1.7}
.v3-scenario-controls{display:flex;gap:28px;align-items:end;margin-bottom:35px}.v3-scenario-controls>div{flex:1}.v3-scenario-controls label{display:block;font-size:13px;margin-bottom:10px;font-weight:600}.v3-scenario-controls select{width:100%;border:1px solid var(--color-control-border);background:var(--paper);padding:14px;font-size:16px;min-height:52px;color:var(--ink);border-radius:0}
.v3-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);margin:30px 0 52px;background:var(--paper)}.v3-metrics article{padding:28px;border-right:1px solid var(--line);min-width:0}.v3-metrics article:last-child{border-right:0}.v3-metrics article>span{font-size:12px;line-height:1.7;display:block}.v3-metrics strong{display:block;font-size:43px;font-weight:650;margin:14px 0 9px;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.v3-metrics small{font-size:11px;color:var(--muted);line-height:1.7;display:block}
.v3-chart-head{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:30px}.v3-chart-head h2{font-size:25px;font-weight:700}.v3-chart-head>div{font-size:11px;color:var(--muted)}
.v3-cash-chart{background:var(--paper);border:1px solid var(--line);padding:24px 16px}.v3-cash-chart svg{width:100%;height:auto;display:block;overflow:visible}.v3-cash-chart text{font-family:var(--la);fill:var(--color-text-secondary);font-size:12px}.v3-cash-chart .cash-line{stroke:var(--color-text);stroke-width:3;fill:none}.v3-cash-chart .base-line{stroke:var(--color-control-border);stroke-width:2;stroke-dasharray:7 6;fill:none}.v3-cash-chart .reserve-line{stroke:var(--color-text);stroke-width:1;stroke-dasharray:2 4}.v3-scenario-summary{color:var(--ink)!important;border-left:3px solid var(--ink);padding:15px 20px;background:var(--paper);margin:24px 0!important}
.v3-data-details{border-top:1px solid var(--line);margin-top:25px}.v3-data-details summary{font-size:14px;padding:20px 0;cursor:pointer}.v3-data-details p{font-size:13px!important;line-height:1.9!important;margin-bottom:15px}.v3-table-scroll{overflow:auto}.v3-table-scroll table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}.v3-table-scroll th,.v3-table-scroll td{padding:12px 18px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap}
.v3-operating-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line)}.v3-operating-tabs button{padding:20px 12px;background:var(--soft);border:0;font-size:14px;line-height:1.6;color:var(--muted)}.v3-operating-tabs button[aria-selected=true]{background:var(--ink);color:var(--paper)}
.v3-operating-panel{border:1px solid var(--line);border-top:0;padding:45px;min-height:400px}.v3-operating-panel h3{font-family:var(--font-display);font-weight:700;font-size:31px;line-height:1.6;margin:0 0 22px}.v3-operating-panel dl{display:grid;grid-template-columns:110px 1fr;margin-top:30px;font-size:15px;line-height:1.95}.v3-operating-panel dt,.v3-operating-panel dd{margin:0;border-top:1px solid var(--line);padding:15px 0}.v3-operating-panel dt{font-weight:650}.v3-operating-panel dd{color:var(--muted)}
@media(max-width:1050px){.v3-hero-copy{gap:40px}.v3-demo-feature,.v3-profile{gap:50px}.v3-cards:has(>article:nth-child(4)){grid-template-columns:1fr 1fr}.v3-rows article{grid-template-columns:30px 1fr 1.5fr;gap:22px}.v3-project-card>div{height:280px}.v3-metrics article{padding:20px}.v3-metrics strong{font-size:34px}.v3-qr-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.ops-v3 .v3-section{padding:65px 0}.v3-heading{margin-bottom:32px}.v3-heading .seclabel{font-size:8px;margin-bottom:20px;line-height:1.8}.ops-v3 .v3-heading h2{font-size:32px;line-height:1.5}.v3-home-hero{padding:30px 0 44px}.v3-home-hero>.wrap>.seclabel{font-size:8px;margin-bottom:35px;line-height:1.8}.v3-hero-copy{grid-template-columns:1fr;gap:28px}.ops-v3 .v3-hero-copy h1{font-size:clamp(44px,12vw,67px);line-height:1.28}.ops-v3.lang-en .v3-hero-copy h1{font-size:clamp(39px,10vw,55px)}.ops-v3 .v3-lead{font-size:17px;line-height:1.95}.v3-hero-copy>div>p:not(.v3-lead){font-size:13px;margin-top:14px}.v3-hero-copy .btns{gap:10px;margin-top:23px}.v3-hero-copy .btn{font-size:12px;padding:13px 15px}.v3-concept{margin-top:35px}.v3-concept img{aspect-ratio:1.15;object-position:60% center}.v3-concept figcaption{font-size:9px;line-height:1.8}.v3-cards,.v3-cards:has(>article:nth-child(4)){grid-template-columns:1fr}.v3-cards article{padding:27px 24px}.v3-number{margin-bottom:22px}.v3-cards h3{font-size:23px}.v3-cards p{font-size:15px!important}.v3-rows article{grid-template-columns:26px 1fr;gap:12px;padding:27px 0}.v3-rows article>div{grid-column:2}.v3-rows h3{font-size:23px}.ops-v3 .v3-section p{font-size:15px;line-height:1.95}.v3-rows .v3-result{font-size:12px!important}.v3-demo-feature{grid-template-columns:1fr;gap:32px}.v3-demo-cover{padding:28px}.v3-cover-title{font-size:41px}.v3-cover-flow{font-size:10px;line-height:1.9}.v3-cover-result{gap:12px}.v3-cover-result strong{font-size:30px}.v3-cover-result>span{font-size:10px}.v3-profile{grid-template-columns:1fr;gap:34px}.v3-profile figure{width:210px}.v3-profile img{max-height:330px}.ops-v3 .v3-statement{font-size:24px}.ops-v3 .v3-dark .v3-heading h2{font-size:35px}.v3-page-hero{padding:25px 0 45px}.v3-page-hero .back{margin-bottom:36px}.ops-v3 .v3-page-hero h1{font-size:37px;line-height:1.5}.v3-page-hero .v3-lead{font-size:16px}.v3-archive-links{grid-template-columns:1fr}.v3-archive-banner{font-size:12px}.ops-v3 .v3-project-gallery{grid-template-columns:1fr;gap:27px;margin-top:30px}.v3-project-image:first-child{grid-column:auto}.v3-project-image img,.v3-project-image.portrait img{max-height:540px}.v3-project-image figcaption{font-size:10px;gap:14px}.v3-project-image button{width:100%}.v3-portfolio{grid-template-columns:1fr;gap:35px}.v3-project-card>div{height:auto;aspect-ratio:1.38}.v3-project-card h3{font-size:21px}.v3-project-card .seclabel{margin-top:17px}.v3-qr-grid{grid-template-columns:1fr 1fr;gap:13px}.v3-qr-card{padding:20px 13px}.v3-qr-card img{width:135px;height:auto;aspect-ratio:1}.v3-qr-card .coord{font-size:9px!important;line-height:1.8}.v3-scenario-controls{display:grid;grid-template-columns:1fr;gap:20px}.v3-scenario-controls .btn{justify-self:start}.v3-demo-label{font-size:11px;padding:13px 16px}.v3-metrics{grid-template-columns:1fr 1fr;margin:25px 0 35px}.v3-metrics article{padding:20px 17px;border-bottom:1px solid var(--line)}.v3-metrics article:nth-child(even){border-right:0}.v3-metrics article:nth-child(n+3){border-bottom:0}.v3-metrics strong{font-size:32px;margin:12px 0}.v3-metrics article>span{font-size:11px}.v3-metrics small{font-size:10px}.v3-chart-head{display:block;margin-bottom:20px}.v3-chart-head h2{font-size:23px;line-height:1.6}.v3-chart-head>div{font-size:10px;line-height:1.8;margin-top:12px}.v3-cash-chart{padding:18px 6px}.v3-cash-chart text{font-size:16px}.ops-v3 .v3-scenario-summary{font-size:14px}.v3-operating-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.v3-operating-tabs button{font-size:11px;padding:15px 5px;word-break:normal}.v3-operating-panel{padding:28px 22px;min-height:480px}.v3-operating-panel h3{font-size:25px}.v3-operating-panel dl{grid-template-columns:1fr;font-size:14px}.v3-operating-panel dt{padding-bottom:0}.v3-operating-panel dd{border-top:0;padding-top:7px}.ops-v3.ops-legacy .page-lead,.ops-v3.ops-legacy .prose p{font-size:16px!important}.ops-v3 .btns .btn{max-width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.ops-v3 *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.v3-chart-hint{font-size:11px!important;margin-top:10px;color:var(--muted)}
@media(max-width:760px){.v3-cash-chart{overflow-x:auto}.v3-cash-chart svg{min-width:720px}}

.v3-project-card img[data-portrait="true"]{object-fit:contain}
