:root{--ink:#0b0d0c;--ink2:#151816;--paper:#f4f3ed;--sand:#ddd8cb;--lime:#c6ff4a;--line:rgba(11,13,12,.16);--muted:#676b66;--white:#fff;--pad:clamp(22px,4vw,64px);--max:1480px;--radius:2px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.wrap{width:min(calc(100% - 2*var(--pad)),var(--max));margin-inline:auto}.narrow{width:min(calc(100% - 2*var(--pad)),900px);margin-inline:auto}.site-shell{overflow:clip}.dark-section{background:var(--ink);color:var(--white)}.light-section{background:var(--paper)}.sand-section{background:var(--sand)}.lime-section{background:var(--lime)}.kicker{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800}.kicker:before{content:"";width:24px;height:1px;background:currentColor}.kicker.light{color:#c9cbc8}.light-copy{color:#aeb2ad}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;color:white;transition:transform .35s ease,background .3s ease,border .3s ease}.site-header.scrolled{background:rgba(11,13,12,.93);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.1)}.site-header.header-hidden{transform:translateY(-100%)}.header-inner{height:92px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.16)}.brand{display:inline-flex;align-items:center;gap:12px;width:max-content}.brand-mark{width:35px;height:35px;display:flex;gap:3px;align-items:flex-end}.brand-mark i{display:block;background:var(--lime);width:8px;transform:skew(-12deg)}.brand-mark i:nth-child(1){height:15px}.brand-mark i:nth-child(2){height:27px}.brand-mark i:nth-child(3){height:35px}.brand-text{font-family:"Space Grotesk",sans-serif;font-size:14px;font-weight:700;letter-spacing:.03em}.brand-text small{display:block;font-family:Manrope,sans-serif;font-size:7px;letter-spacing:.23em;color:#aeb2ad;margin-top:2px}.desktop-nav{display:flex;gap:clamp(20px,2.6vw,42px);font-size:13px;font-weight:600}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--lime);transition:.3s}.desktop-nav a:hover:after{width:100%}.header-call{justify-self:end;border:1px solid rgba(255,255,255,.25);height:46px;padding:0 10px 0 18px;display:flex;align-items:center;gap:22px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.header-call b{display:grid;place-items:center;background:var(--lime);color:var(--ink);width:28px;height:28px}.menu-toggle{display:none;background:none;border:0;width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;gap:7px}.menu-toggle span{height:1px;width:24px;background:white}.mobile-panel{position:fixed;inset:0;background:var(--ink);padding-top:92px;transform:translateY(-100%);opacity:0;pointer-events:none;transition:.4s ease}.menu-open .mobile-panel{transform:none;opacity:1;pointer-events:auto}.mobile-panel-inner{padding-top:28px}.mobile-panel-inner>a{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12);font-family:"Space Grotesk";font-size:clamp(26px,7vw,44px)}.mobile-panel-inner>a i{font:700 10px Manrope;color:#818681}.mobile-meta{margin-top:28px;display:grid;gap:8px}.mobile-meta span{font-size:11px;color:#858985}.mobile-meta a{color:var(--lime);font-size:18px}.hero-home{min-height:100svh;padding-top:92px;position:relative}.hero-grid{min-height:calc(100svh - 132px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:6vw}.hero-copy{padding:8vh 0}.hero-copy h1,.inner-hero h1,.detail-hero h1,.project-detail-hero h1,.contact-hero h1,.not-found h1{font-family:"Space Grotesk",sans-serif;font-size:clamp(58px,7.4vw,126px);line-height:.88;letter-spacing:-.065em;margin:28px 0 34px;font-weight:600}.hero-copy h1 em,.inner-hero h1 em,.detail-hero h1 em,.project-detail-hero h1 em,.contact-hero h1 em,.not-found h1 em{font-style:normal;color:var(--lime)}.hero-copy>p{font-size:clamp(17px,1.4vw,22px);line-height:1.55;color:#b7bbb7;max-width:720px}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:38px}.btn{display:inline-flex;align-items:center;justify-content:space-between;min-width:220px;height:58px;padding:0 14px 0 22px;border:1px solid transparent;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em;transition:.25s}.btn i{font-style:normal;font-size:18px}.btn-accent{background:var(--lime);color:var(--ink)}.btn-accent i{display:grid;place-items:center;background:var(--ink);color:var(--lime);width:34px;height:34px}.btn-primary{background:var(--ink);color:white}.btn-primary i{display:grid;place-items:center;background:var(--lime);color:var(--ink);width:34px;height:34px}.btn-dark{background:var(--ink);color:white}.btn-dark i{color:var(--lime)}.btn-outline-light{border-color:rgba(255,255,255,.35);color:white}.btn:hover{transform:translateY(-2px)}.btn-wide{width:100%}.ghost-link{font-size:13px;color:#d1d3d0}.ghost-link span{margin-left:10px;color:var(--lime)}.hero-visual{height:min(74vh,820px);position:relative;align-self:end}.hero-visual img{width:100%;height:100%;object-fit:cover}.hero-badge{position:absolute;left:-42px;bottom:8%;background:var(--lime);color:var(--ink);width:150px;height:150px;padding:22px;display:flex;justify-content:space-between;align-items:flex-end}.hero-badge strong{font-size:42px;line-height:1}.hero-badge span{font-size:9px;line-height:1.6;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.hero-ticker{height:40px;border-top:1px solid rgba(255,255,255,.13);overflow:hidden;display:flex;align-items:center;white-space:nowrap}.hero-ticker div{font-family:"Space Grotesk";font-size:10px;letter-spacing:.18em;color:#7e837e;animation:ticker 22s linear infinite}@keyframes ticker{to{transform:translateX(-40%)}}h2{font-family:"Space Grotesk";font-size:clamp(42px,5vw,84px);line-height:.98;letter-spacing:-.05em;margin:22px 0;font-weight:600}h2 em{font-style:normal;color:#777b75}.dark-section h2 em{color:var(--lime)}.intro-section,.systems-section,.industry-section,.projects-section,.faq-section,.selection-section,.cta-band,.tech-principles,.maintenance-section,.about-story,.values-section,.contact-info,.challenge-section,.recommended-section,.case-section,.case-phases,.portfolio-note{padding:clamp(88px,10vw,160px) 0}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:9vw;align-items:start}.intro-copy{padding-top:55px}.lead{font-size:clamp(19px,1.65vw,28px);line-height:1.45;margin-top:0}.intro-copy p:not(.lead),.case-grid p:not(.lead),.technical-grid p:not(.lead){color:var(--muted);line-height:1.75}.text-link{display:inline-flex;gap:34px;border-bottom:1px solid currentColor;padding-bottom:8px;margin-top:18px;font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.text-link span{font-size:16px}.text-link.light{color:white}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:90px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metric-strip div{padding:24px 18px;display:flex;align-items:center;gap:18px;border-right:1px solid var(--line)}.metric-strip div:last-child{border:0}.metric-strip b{font-size:10px;color:#777}.metric-strip span{font-size:12px;font-weight:700}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:56px}.section-side-copy{max-width:430px;line-height:1.7;color:var(--muted)}.systems-stack{border-top:1px solid rgba(11,13,12,.22)}.system-row{position:relative;display:grid;grid-template-columns:60px 1.1fr 1.2fr 180px 52px;gap:28px;align-items:center;min-height:165px;border-bottom:1px solid rgba(11,13,12,.22);transition:.3s}.system-row:hover{padding-left:12px;background:rgba(255,255,255,.22)}.system-no{font-size:10px;color:#777}.system-title small,.system-card small{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#6d706d;font-weight:800}.system-title h3{font-family:"Space Grotesk";font-size:clamp(24px,2.4vw,42px);letter-spacing:-.04em;margin:7px 0}.system-row>p{font-size:13px;line-height:1.65;color:#5e625e}.system-thumb{height:112px;overflow:hidden}.system-thumb img{width:100%;height:100%;object-fit:cover;transition:.45s}.system-row:hover .system-thumb img{transform:scale(1.05)}.round-arrow{width:44px;height:44px;border:1px solid rgba(11,13,12,.25);border-radius:50%;display:grid;place-items:center;font-style:normal;transition:.25s}.system-row:hover .round-arrow{background:var(--ink);color:var(--lime)}.feature-split{display:grid;grid-template-columns:1.1fr .9fr;min-height:850px}.feature-image img{width:100%;height:100%;object-fit:cover}.feature-content{padding:clamp(70px,8vw,130px);display:flex;flex-direction:column;justify-content:center}.feature-content>p{color:#adb1ac;line-height:1.75;max-width:580px}.spec-list{list-style:none;padding:0;margin:32px 0 42px;border-top:1px solid rgba(255,255,255,.16)}.spec-list li{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.16);font-size:13px}.spec-list li span{display:inline-block;width:54px;font-size:9px;color:#7f857f}.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.industry-card{height:460px;position:relative;overflow:hidden;color:white;padding:24px;display:flex;flex-direction:column;justify-content:flex-end}.industry-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.55s}.industry-card:hover img{transform:scale(1.045)}.industry-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8),rgba(0,0,0,.05) 62%)}.industry-card>span,.industry-card h3,.industry-card i{position:relative;z-index:2}.industry-card>span{position:absolute;top:22px;left:22px;font-size:10px}.industry-card h3{font-family:"Space Grotesk";font-size:29px;line-height:1.05;max-width:80%;margin:0}.industry-card i{position:absolute;right:20px;bottom:20px;width:42px;height:42px;display:grid;place-items:center;background:var(--lime);color:var(--ink);font-style:normal}.process-section{padding:clamp(90px,12vw,180px) 0}.process-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw}.process-sticky{align-self:start;position:sticky;top:130px}.process-sticky p{max-width:470px;line-height:1.7}.process-steps article{display:grid;grid-template-columns:70px 1fr;gap:25px;padding:32px 0;border-top:1px solid rgba(11,13,12,.25)}.process-steps article:last-child{border-bottom:1px solid rgba(11,13,12,.25)}.process-steps b{font-size:11px}.process-steps h3{font-family:"Space Grotesk";font-size:30px;letter-spacing:-.03em;margin:0 0 10px}.process-steps p{margin:0;line-height:1.7;font-size:13px}.project-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.project-card{position:relative;min-height:620px;overflow:hidden}.project-card img{width:100%;height:100%;object-fit:cover;position:absolute;transition:.5s}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.75),transparent 55%)}.project-card div{position:absolute;z-index:2;bottom:28px;left:28px;right:28px}.project-card span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#d4d6d3}.project-card h3{font-family:"Space Grotesk";font-size:clamp(23px,2vw,36px);max-width:720px;margin:10px 0 0;line-height:1.1}.project-card:hover img{transform:scale(1.04)}.center-link{text-align:center;margin-top:42px}.cta-band-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:9vw;align-items:end}.cta-band-grid p{max-width:500px;line-height:1.7;margin-bottom:28px}.inner-hero{padding:200px 0 100px}.inner-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}.inner-hero h1{font-size:clamp(52px,6vw,98px)}.inner-hero-grid>p{font-size:18px;color:#b2b6b1;line-height:1.7;padding-bottom:16px}.system-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:70px 18px;padding:110px 0}.system-card-media{height:420px;position:relative;overflow:hidden;margin-bottom:22px}.system-card-media img{width:100%;height:100%;object-fit:cover;transition:.5s}.system-card-media span{position:absolute;top:15px;left:15px;background:var(--lime);padding:9px 12px;font-size:10px;font-weight:800}.system-card:hover img{transform:scale(1.035)}.system-card h2{font-size:clamp(31px,3vw,50px);margin:8px 0 12px}.system-card p{color:var(--muted);line-height:1.7;max-width:620px}.system-card>b{display:inline-block;margin-top:12px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid;padding-bottom:5px}.selection-grid,.technical-grid,.use-grid,.recommended-grid,.tech-visual-grid,.case-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw}.criteria-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.criteria-grid article{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:210px}.criteria-grid b{font-size:10px;color:#777}.criteria-grid h3{font-family:"Space Grotesk";font-size:23px;margin:42px 0 10px}.criteria-grid p{font-size:13px;line-height:1.65;color:var(--muted)}.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:10vw}.accordion details{border-top:1px solid var(--line);padding:24px 0}.accordion details:last-child{border-bottom:1px solid var(--line)}.accordion summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-family:"Space Grotesk";font-size:22px}.accordion summary::-webkit-details-marker{display:none}.accordion details p{max-width:680px;color:var(--muted);line-height:1.7}.detail-hero{padding:170px 0 80px}.detail-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}.detail-hero h1{font-size:clamp(56px,6.3vw,104px);margin-bottom:24px}.detail-hero p{font-size:17px;color:#aeb2ae;line-height:1.7;max-width:650px}.detail-visual{height:650px}.detail-visual img{width:100%;height:100%;object-fit:cover}.back-link{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#aeb2ae;margin-bottom:44px}.detail-intro{padding:110px 0}.detail-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw}.benefit-list{border-top:1px solid var(--line)}.benefit-list>div{display:grid;grid-template-columns:50px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.benefit-list b{font-size:10px}.benefit-list p{margin:0;font-size:17px}.layer-section{padding:110px 0}.layer-diagram{margin-top:70px}.layer-diagram>div{display:grid;grid-template-columns:60px 1fr 1.2fr;gap:26px;padding:28px 30px;border-top:1px solid rgba(11,13,12,.25);align-items:center}.layer-diagram>div:nth-child(1){background:#111;color:white}.layer-diagram>div:nth-child(2){background:#2a2d29;color:white}.layer-diagram>div:nth-child(3){background:#7a7f75;color:white}.layer-diagram>div:nth-child(4){background:#b4afa3}.layer-diagram span{font-size:10px}.layer-diagram strong{font-family:"Space Grotesk";font-size:21px}.layer-diagram p{font-size:12px;line-height:1.5;margin:0}.use-section{padding:120px 0}.use-list{border-top:1px solid rgba(255,255,255,.2)}.use-list>div{display:grid;grid-template-columns:60px 1fr;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.2);align-items:center}.use-list span{font-size:9px;color:#777}.use-list h3{font-family:"Space Grotesk";font-size:29px;margin:0}.technical-section{padding:110px 0}.check-list{list-style:none;padding:0;margin:30px 0}.check-list li{padding:14px 0 14px 28px;border-bottom:1px solid var(--line);position:relative}.check-list li:before{content:"✓";position:absolute;left:0;font-weight:800}.industry-list{padding:90px 0}.industry-index-row{display:grid;grid-template-columns:60px 1fr 260px 50px;gap:28px;align-items:center;padding:22px 0;border-top:1px solid var(--line)}.industry-index-row:last-child{border-bottom:1px solid var(--line)}.industry-index-row>span{font-size:10px}.industry-index-row h2{font-size:36px;margin:0 0 6px}.industry-index-row p{margin:0;color:var(--muted);max-width:700px}.industry-index-row img{width:100%;height:120px;object-fit:cover}.industry-index-row i{font-style:normal;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.recommended-links{border-top:1px solid var(--line)}.recommended-links a{display:flex;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line);font-family:"Space Grotesk";font-size:26px}.recommended-links i{font-style:normal}.project-index{padding:100px 0}.project-index-grid{display:grid;gap:80px}.portfolio-item{display:grid;grid-template-columns:1.15fr .75fr 40px;gap:50px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:50px}.portfolio-item img{width:100%;height:520px;object-fit:cover}.portfolio-item span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#777}.portfolio-item h2{font-size:clamp(32px,3.4vw,56px);margin:12px 0}.portfolio-item p{color:var(--muted);line-height:1.65}.portfolio-item i{font-style:normal;font-size:30px}.project-detail-hero{padding:170px 0 90px}.project-detail-hero h1{font-size:clamp(52px,6.5vw,104px);max-width:1200px}.project-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);margin:60px 0 24px}.project-meta>div{padding:18px;background:var(--ink2)}.project-meta small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#858985}.project-meta b{font-size:13px}.project-hero-img{width:100%;height:min(70vh,760px);object-fit:cover}.tech-visual{padding:110px 0}.tech-visual-grid{align-items:center}.tech-visual-grid>div:first-child{height:650px}.tech-visual-grid img{height:100%;width:100%;object-fit:cover}.tech-visual-grid p{color:#aeb2ae;line-height:1.7}.contact-hero{padding:170px 0 100px}.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:8vw;align-items:start}.contact-hero h1{font-size:clamp(52px,6.2vw,100px)}.contact-hero>div>div>p{color:#aeb2ae;line-height:1.7;max-width:650px}.contact-direct{margin-top:55px;border-top:1px solid rgba(255,255,255,.18)}.contact-direct a{display:grid;grid-template-columns:110px 1fr 30px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.18);align-items:center}.contact-direct small{font-size:9px;color:#858985;text-transform:uppercase;letter-spacing:.1em}.contact-direct strong{font-size:17px}.contact-direct i{font-style:normal}.contact-card{background:var(--paper);color:var(--ink);padding:38px}.contact-form{display:grid;gap:20px}.contact-form label{display:grid;gap:7px}.contact-form label span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.contact-form input,.contact-form textarea{width:100%;border:1px solid #cac8bf;background:#fff;padding:15px 16px;outline:none;border-radius:0}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-note{font-size:9px;line-height:1.6;color:#777}.form-status{padding:12px 14px;margin-bottom:18px;font-size:12px}.form-status.success{background:#dff1d2}.form-status.error{background:#f3d9d4}.legal-page{padding:170px 0 110px;min-height:70vh}.legal-page h1{font-family:"Space Grotesk";font-size:clamp(48px,6vw,86px);letter-spacing:-.05em;margin:24px 0 50px}.legal-page h2{font-size:30px;margin-top:46px}.legal-page p,.prose{line-height:1.8;color:var(--muted)}.not-found{min-height:100vh;display:flex;align-items:center;padding-top:100px}.not-found p{color:#aeb2ae;margin-bottom:30px}.site-footer{background:#090b0a;color:white;padding-top:100px}.footer-cta{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end;padding-bottom:75px}.footer-cta h2{font-size:clamp(46px,5.8vw,92px)}.footer-contact p{color:#a6aaa5;line-height:1.7}.footer-rule{height:1px;background:rgba(255,255,255,.14)}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:60px;padding:60px 0}.footer-brand p{max-width:360px;color:#858a85;font-size:12px;line-height:1.7;margin-top:25px}.footer-grid h3{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#777;margin:0 0 22px}.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;gap:10px}.footer-grid a,.footer-grid span{font-size:12px;color:#c8cbc7}.footer-grid a:hover{color:var(--lime)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;display:grid;grid-template-columns:1fr auto 1fr;gap:25px;font-size:9px;color:#6f746f;text-transform:uppercase;letter-spacing:.08em}.footer-bottom div{display:flex;gap:22px}.footer-bottom>span:last-child{text-align:right}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.js .reveal.delay-1{transition-delay:.12s}.js .reveal.is-visible{opacity:1;transform:none}@media(max-width:1100px){.desktop-nav{display:none}.header-inner{grid-template-columns:1fr auto auto;gap:15px}.menu-toggle{display:flex}.header-call{justify-self:auto}.hero-grid{grid-template-columns:1fr 1fr}.hero-badge{left:-25px}.system-row{grid-template-columns:48px 1fr 1fr 135px 44px}.feature-content{padding:70px 50px}.industry-card{height:380px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}.contact-grid{grid-template-columns:1fr}.contact-card{max-width:800px}.detail-hero-grid{grid-template-columns:1fr}.detail-visual{height:520px}.portfolio-item{grid-template-columns:1fr}.portfolio-item i{display:none}}@media(max-width:760px){:root{--pad:20px}.header-inner{height:76px}.header-call{display:none}.mobile-panel{padding-top:76px}.brand-mark{width:30px;height:30px}.brand-mark i{width:7px}.hero-home{padding-top:76px}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:100px 0 35px}.hero-copy h1,.inner-hero h1,.detail-hero h1,.contact-hero h1,.project-detail-hero h1,.not-found h1{font-size:clamp(49px,15vw,76px)}.hero-copy p{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-visual{height:64vh;min-height:470px}.hero-badge{left:auto;right:0;bottom:0;width:125px;height:125px}.hero-ticker{height:34px}.intro-grid,.process-grid,.selection-grid,.technical-grid,.use-grid,.recommended-grid,.tech-visual-grid,.case-grid,.faq-grid,.cta-band-grid,.footer-cta{grid-template-columns:1fr}.intro-copy{padding-top:0}.metric-strip{grid-template-columns:1fr 1fr;margin-top:55px}.metric-strip div:nth-child(2){border-right:0}.metric-strip div:nth-child(-n+2){border-bottom:1px solid var(--line)}.section-head{display:block}.section-head .text-link{margin-top:20px}.system-row{grid-template-columns:38px 1fr 42px;min-height:125px;gap:15px}.system-row>p,.system-thumb{display:none}.system-title h3{font-size:28px}.feature-split{grid-template-columns:1fr;min-height:auto}.feature-image{height:58vh}.feature-content{padding:75px 20px}.industry-grid{grid-template-columns:1fr}.industry-card{height:420px}.process-sticky{position:static}.project-grid{grid-template-columns:1fr}.project-card{min-height:520px}.project-card:not(.large){min-height:520px}.system-card-grid{grid-template-columns:1fr;padding:75px 0}.system-card-media{height:350px}.criteria-grid{grid-template-columns:1fr}.criteria-grid article{min-height:auto}.inner-hero{padding:150px 0 70px}.inner-hero-grid{grid-template-columns:1fr}.inner-hero-grid>p{font-size:16px}.detail-hero{padding-top:130px}.detail-visual{height:420px}.detail-intro-grid{grid-template-columns:1fr}.layer-diagram>div{grid-template-columns:42px 1fr}.layer-diagram p{grid-column:2}.industry-index-row{grid-template-columns:38px 1fr 35px}.industry-index-row img{grid-column:2;height:160px}.industry-index-row i{grid-column:3;grid-row:1}.portfolio-item img{height:370px}.project-meta{grid-template-columns:1fr}.tech-visual-grid>div:first-child{height:430px}.field-grid{grid-template-columns:1fr}.contact-card{padding:25px 18px}.contact-direct a{grid-template-columns:75px 1fr 24px}.footer-grid{grid-template-columns:1fr 1fr;gap:42px 25px}.footer-brand{grid-column:1/3}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{grid-template-columns:1fr;gap:12px}.footer-bottom>span:last-child{text-align:left}.footer-bottom div{flex-wrap:wrap}h2{font-size:clamp(38px,12vw,59px)}.intro-section,.systems-section,.industry-section,.projects-section,.faq-section,.selection-section,.cta-band,.tech-principles,.maintenance-section,.about-story,.values-section,.contact-info,.challenge-section,.recommended-section,.case-section,.case-phases,.portfolio-note{padding:78px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}}

/* v2 visual system ------------------------------------------------------ */
:root{--visual-grid:rgba(255,255,255,.055)}
.dark-section{position:relative;overflow:hidden}
.dark-section:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--visual-grid) 1px,transparent 1px),linear-gradient(90deg,var(--visual-grid) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.45),transparent);opacity:.38}
.dark-section>*{position:relative;z-index:1}
.hero-visual,.feature-image,.detail-visual,.system-card-media,.portfolio-item img,.project-card{position:relative;overflow:hidden}
.hero-visual:after,.feature-image:after,.detail-visual:after,.system-card-media:after{content:"";position:absolute;left:-35%;top:-20%;width:18%;height:145%;background:linear-gradient(90deg,transparent,rgba(198,255,74,.16),transparent);transform:skewX(-14deg);animation:scanBeam 8s ease-in-out infinite;pointer-events:none}
@keyframes scanBeam{0%,25%{left:-35%}60%,100%{left:130%}}
.system-row{transition:transform .35s ease,background .35s ease,padding .35s ease}
.system-row:hover{transform:translateX(10px);background:rgba(255,255,255,.52);padding-left:18px;padding-right:18px}
.system-row .system-thumb{overflow:hidden;position:relative}.system-row .system-thumb img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.system-row:hover .system-thumb img{transform:scale(1.08) rotate(.6deg)}
.industry-card:before,.project-card:before{content:"";position:absolute;z-index:2;inset:16px;border:1px solid rgba(255,255,255,.18);transform:scale(.96);opacity:0;transition:.4s ease;pointer-events:none}.industry-card:hover:before,.project-card:hover:before{transform:scale(1);opacity:1}
.industry-card img,.project-card img,.portfolio-item img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s ease}.industry-card:hover img,.project-card:hover img,.portfolio-item:hover img{transform:scale(1.045);filter:contrast(1.06)}

.system-lab{padding:125px 0 0;background:#0b0d0c;color:#fff}
.lab-head{display:grid;grid-template-columns:1.2fr .7fr;gap:9vw;align-items:end;margin-bottom:70px}.lab-head h2{margin:12px 0 0}.lab-head p{color:#aeb2ae;line-height:1.75;margin:0 0 10px}
.lab-stage{display:grid;grid-template-columns:.82fr 1.18fr;gap:8vw;align-items:center;padding-bottom:100px}
.lab-orbit{height:520px;position:relative;display:grid;place-items:center;isolation:isolate}.lab-orbit:before{content:"";position:absolute;width:66%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(198,255,74,.14),transparent 67%);filter:blur(3px)}
.orbit-ring{position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%;animation:orbitSpin 18s linear infinite}.ring-a{width:78%;aspect-ratio:1}.ring-b{width:58%;aspect-ratio:1;border-style:dashed;animation-direction:reverse;animation-duration:13s}.ring-c{width:38%;aspect-ratio:1;border-color:rgba(198,255,74,.5);animation-duration:10s}
.orbit-ring:before,.orbit-ring:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 18px rgba(198,255,74,.55)}.orbit-ring:before{top:-4px;left:50%}.orbit-ring:after{bottom:-4px;left:24%}
.orbit-dot{position:absolute;width:8px;height:8px;background:#fff;border-radius:50%;opacity:.65}.dot-a{left:14%;top:35%;animation:floatDot 4s ease-in-out infinite}.dot-b{right:12%;bottom:28%;animation:floatDot 5s ease-in-out infinite reverse}.dot-c{right:28%;top:16%;animation:floatDot 3.5s ease-in-out infinite}
.lab-core{width:158px;height:158px;border:1px solid rgba(198,255,74,.7);background:#111512;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:inset 0 0 35px rgba(198,255,74,.05),0 0 80px rgba(198,255,74,.06)}.lab-core b{font-family:"Space Grotesk";font-size:34px;line-height:1}.lab-core small{font-size:9px;letter-spacing:.16em;margin:9px 0;color:#aaa}.lab-core em{font-style:normal;color:var(--lime);font-weight:800}
@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes floatDot{50%{transform:translateY(-16px);opacity:1}}
.lab-layers{display:flex;flex-direction:column;gap:10px;perspective:900px}.lab-layer{display:grid;grid-template-columns:50px 1fr 70px;gap:18px;align-items:center;min-height:105px;padding:17px 22px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.035);backdrop-filter:blur(7px);transform:translateX(calc(var(--layer-offset,0) * 1px));transition:transform .4s ease,border-color .4s ease,background .4s ease}.lab-layer:nth-child(1){--layer-offset:0}.lab-layer:nth-child(2){--layer-offset:18}.lab-layer:nth-child(3){--layer-offset:36}.lab-layer:nth-child(4){--layer-offset:54}.lab-layer:hover{transform:translateX(calc((var(--layer-offset) + 12) * 1px));border-color:rgba(198,255,74,.55);background:rgba(198,255,74,.055)}.lab-layer>span{font-size:10px;color:#777}.lab-layer small{display:block;color:#858985;font-size:9px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}.lab-layer strong{font-family:"Space Grotesk";font-size:20px}.lab-layer i{display:block;height:2px;background:linear-gradient(90deg,var(--lime),transparent);position:relative}.lab-layer i:after{content:"";position:absolute;right:0;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--lime)}
.lab-marquee{border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);overflow:hidden;white-space:nowrap;padding:17px 0;color:rgba(255,255,255,.35);font-family:"Space Grotesk";font-size:13px;letter-spacing:.14em}.lab-marquee div{display:inline-block;min-width:max-content;animation:labMarquee 26s linear infinite;padding-left:100%}@keyframes labMarquee{to{transform:translateX(-100%)}}
.hero-badge{animation:badgeFloat 4.5s ease-in-out infinite}@keyframes badgeFloat{50%{transform:translateY(-9px)}}
.round-arrow{transition:transform .35s ease,background .35s ease,color .35s ease}.system-row:hover .round-arrow{transform:rotate(45deg);background:var(--ink);color:#fff}
.process-steps article{position:relative;overflow:hidden}.process-steps article:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--ink);transition:width .6s ease}.process-steps article:hover:after{width:100%}
.contact-card{position:relative;overflow:hidden}.contact-card:before{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-80px;top:-80px;border:1px solid rgba(0,0,0,.1);box-shadow:0 0 0 26px rgba(0,0,0,.025),0 0 0 55px rgba(0,0,0,.015);pointer-events:none}
@media(max-width:760px){.lab-head,.lab-stage{grid-template-columns:1fr}.system-lab{padding-top:78px}.lab-head{gap:28px;margin-bottom:25px}.lab-stage{gap:20px;padding-bottom:65px}.lab-orbit{height:340px}.lab-layer{grid-template-columns:38px 1fr 40px;min-height:90px;padding:14px}.lab-layer:nth-child(n){--layer-offset:0}.lab-layer strong{font-size:16px}.lab-marquee{font-size:11px}.dark-section:after{background-size:48px 48px}.hero-badge{animation:none}}
@media(prefers-reduced-motion:reduce){.hero-visual:after,.feature-image:after,.detail-visual:after,.system-card-media:after,.orbit-ring,.orbit-dot,.lab-marquee div,.hero-badge{animation:none!important}}

/* ==========================================================
   v3 — photographic layer (content, routes and JS preserved)
   ========================================================== */
.media-composite{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#181b19;
}
.media-composite .media-photo{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s ease;
}
.media-composite:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(9,11,10,.08),rgba(9,11,10,.48));
}

/* Home hero: real installation photo + retained technical artwork. */
.hero-visual .hero-photo{filter:saturate(.82) contrast(1.06)}
.hero-tech-overlay{
  position:absolute!important;
  z-index:2!important;
  right:-10%!important;
  bottom:-7%!important;
  left:auto!important;
  top:auto!important;
  width:78%!important;
  height:auto!important;
  max-height:72%!important;
  object-fit:contain!important;
  opacity:.48;
  mix-blend-mode:screen;
  filter:saturate(.72) contrast(1.12);
  pointer-events:none;
  transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .45s ease;
}
.hero-visual:hover .hero-photo{transform:scale(1.035)}
.hero-visual:hover .hero-tech-overlay{transform:translate3d(-2%,-2%,0) scale(1.025);opacity:.62}
.hero-visual .hero-badge{z-index:4}

/* Shared technical inset used over photographs. */
.media-diagram,
.feature-diagram,
.detail-diagram,
.project-hero-diagram,
.tech-diagram{
  position:absolute!important;
  z-index:3!important;
  display:block;
  object-fit:cover!important;
  background:rgba(10,13,11,.78);
  border:1px solid rgba(198,255,74,.38);
  box-shadow:0 18px 48px rgba(0,0,0,.28);
  opacity:.72;
  mix-blend-mode:normal;
  pointer-events:none;
  transition:transform .65s cubic-bezier(.2,.7,.2,1),opacity .4s ease;
}
.system-thumb .media-diagram{
  right:7%!important;
  bottom:8%!important;
  left:auto!important;
  top:auto!important;
  width:42%!important;
  height:68%!important;
}
.system-row:hover .system-thumb .media-photo{transform:scale(1.08) rotate(.35deg)}
.system-row:hover .system-thumb .media-diagram{transform:translateY(-4px) scale(1.025);opacity:.88}

.system-card-media .media-diagram{
  right:18px!important;
  bottom:18px!important;
  left:auto!important;
  top:auto!important;
  width:39%!important;
  height:36%!important;
}
.system-card-media span{z-index:5}
.system-card:hover .system-card-media .media-photo{transform:scale(1.045)}
.system-card:hover .system-card-media .media-diagram{transform:translateY(-6px);opacity:.9}

.feature-image:before{
  background:linear-gradient(90deg,rgba(8,10,9,.08),rgba(8,10,9,.42));
}
.feature-diagram{
  right:5%!important;
  bottom:5%!important;
  left:auto!important;
  top:auto!important;
  width:46%!important;
  height:34%!important;
}
.feature-image:hover .media-photo{transform:scale(1.035)}
.feature-image:hover .feature-diagram{transform:translateY(-8px);opacity:.9}

.detail-diagram{
  right:5%!important;
  bottom:5%!important;
  left:auto!important;
  top:auto!important;
  width:48%!important;
  height:34%!important;
}
.detail-visual:hover .media-photo{transform:scale(1.035)}
.detail-visual:hover .detail-diagram{transform:translateY(-7px);opacity:.9}

.tech-media{height:100%}
.tech-diagram{
  right:5%!important;
  bottom:5%!important;
  left:auto!important;
  top:auto!important;
  width:53%!important;
  height:48%!important;
}
.tech-media:hover .media-photo{transform:scale(1.035)}
.tech-media:hover .tech-diagram{transform:translateY(-7px);opacity:.9}

/* Full-width photographic rhythm on the home page. */
.photo-ribbon{
  padding:8px 0 96px;
  overflow:hidden;
}
.photo-ribbon-track{
  display:grid;
  grid-template-columns:1.18fr .82fr 1fr .9fr;
  gap:8px;
  padding:0 8px;
}
.photo-ribbon figure,
.visual-band-grid figure,
.systems-photo-wall-grid figure,
.detail-photo-break-grid figure,
.industry-context-grid figure,
.technology-photo-grid figure,
.about-visual-grid figure,
.concept-gallery-grid figure{
  position:relative;
  margin:0;
  overflow:hidden;
  background:#d4d2c8;
}
.photo-ribbon figure{height:clamp(240px,24vw,390px)}
.photo-ribbon figure:nth-child(even){transform:translateY(28px)}
.photo-ribbon img,
.visual-band-grid img,
.systems-photo-wall-grid img,
.detail-photo-break-grid img,
.industry-context-grid img,
.technology-photo-grid img,
.about-visual-grid img,
.concept-gallery-grid img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .85s cubic-bezier(.2,.7,.2,1),filter .55s ease;
}
.photo-ribbon figure:hover img,
.visual-band-grid figure:hover img,
.systems-photo-wall-grid figure:hover img,
.detail-photo-break-grid figure:hover img,
.industry-context-grid figure:hover img,
.technology-photo-grid figure:hover img,
.about-visual-grid figure:hover img,
.concept-gallery-grid figure:hover img{
  transform:scale(1.045);
  filter:contrast(1.04);
}
.photo-ribbon figure:after,
.visual-band-grid figure:after,
.systems-photo-wall-grid figure:after,
.detail-photo-break-grid figure:after,
.industry-context-grid figure:after,
.technology-photo-grid figure:after,
.about-visual-grid figure:after,
.concept-gallery-grid figure:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:inset 0 0 0 1px rgba(11,13,12,.08);
}

.visual-band{padding:18px 0 112px}
.visual-band-grid{
  display:grid;
  grid-template-columns:1.16fr .84fr .84fr;
  grid-template-rows:270px 270px;
  gap:12px;
}
.visual-band-tall{grid-row:1/3}
.visual-band-grid figure:nth-child(2){grid-column:2/4}

/* Industry cards use photography, while the original technical graphics remain as symbols. */
.industry-card .media-photo{z-index:0;filter:saturate(.86) contrast(1.04)}
.industry-card:hover .media-photo{transform:scale(1.055);filter:saturate(.95) contrast(1.08)}
.industry-symbol{
  position:absolute;
  z-index:4;
  top:18px;
  right:18px;
  width:102px;
  height:102px;
  overflow:hidden;
  background:rgba(9,12,10,.76);
  border:1px solid rgba(198,255,74,.36);
  box-shadow:0 16px 42px rgba(0,0,0,.25);
  backdrop-filter:blur(8px);
  transition:transform .45s ease,border-color .45s ease;
}
.industry-symbol img{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transform:none!important;
  filter:none!important;
  opacity:.8;
}
.industry-card:hover .industry-symbol{transform:translate(-4px,4px);border-color:rgba(198,255,74,.75)}
.industry-card:hover .industry-symbol img{transform:none!important;filter:none!important}

/* Home project cards. */
.project-card .media-photo{z-index:0;filter:saturate(.8) contrast(1.05)}
.project-card:after{z-index:1}
.project-card>div{z-index:4}
.project-diagram{
  position:absolute!important;
  z-index:4!important;
  top:20px!important;
  right:20px!important;
  left:auto!important;
  bottom:auto!important;
  width:clamp(112px,12vw,170px)!important;
  height:clamp(88px,9vw,126px)!important;
  overflow:hidden;
  background:rgba(9,12,10,.78);
  border:1px solid rgba(198,255,74,.38);
  box-shadow:0 16px 42px rgba(0,0,0,.28);
  backdrop-filter:blur(8px);
  transition:transform .5s ease,border-color .5s ease;
}
.project-diagram img{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transform:none!important;
  filter:none!important;
  opacity:.82;
}
.project-card:hover .media-photo{transform:scale(1.05);filter:saturate(.9) contrast(1.08)}
.project-card:hover .project-diagram{transform:translate(-5px,5px);border-color:rgba(198,255,74,.75)}
.project-card:hover .project-diagram img{transform:none!important;filter:none!important}

/* Systems overview gallery. */
.systems-photo-wall{padding:0 0 110px}
.systems-photo-wall-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  grid-template-rows:260px 260px;
  gap:12px;
}
.systems-photo-wall-grid figure:first-child{grid-row:1/3}
.systems-photo-wall-grid figure:nth-child(2){grid-column:2/4}

/* Detail-page visual interruptions. */
.detail-photo-break{padding:18px 0 110px}
.detail-photo-break-grid{
  display:grid;
  grid-template-columns:1.36fr .64fr;
  gap:14px;
  height:clamp(470px,48vw,680px);
}
.detail-photo-main img{object-position:center}
.detail-photo-side img{object-position:center}

.industry-context-band{padding:18px 0 110px}
.industry-context-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  grid-template-rows:275px 275px;
  gap:12px;
}
.industry-context-main{grid-row:1/3}

/* Industry overview rows. */
.industry-index-media{
  position:relative;
  width:100%;
  height:120px;
  overflow:hidden;
  isolation:isolate;
  background:#191c1a;
}
.industry-index-media:after,
.portfolio-media:after,
.project-hero-media:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(135deg,transparent,rgba(8,10,9,.36));
}
.industry-index-media .media-photo{
  position:absolute!important;
  inset:0!important;
  z-index:0;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transition:transform .7s cubic-bezier(.2,.7,.2,1);
}
.industry-index-media .media-diagram{
  right:8px!important;
  bottom:8px!important;
  left:auto!important;
  top:auto!important;
  width:39%!important;
  height:58%!important;
}
.industry-index-row:hover .industry-index-media .media-photo{transform:scale(1.06)}
.industry-index-row:hover .industry-index-media .media-diagram{transform:translateY(-3px);opacity:.9}

/* Project index: photo first, technical diagram retained as an inset. */
.portfolio-media{
  position:relative;
  height:520px;
  overflow:hidden;
  isolation:isolate;
  background:#181b19;
}
.portfolio-media .media-photo{
  position:absolute!important;
  inset:0!important;
  z-index:0;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.portfolio-media .media-diagram{
  right:24px!important;
  bottom:24px!important;
  left:auto!important;
  top:auto!important;
  width:32%!important;
  height:27%!important;
}
.portfolio-item:hover .portfolio-media .media-photo{transform:scale(1.045);filter:contrast(1.06)}
.portfolio-item:hover .portfolio-media .media-diagram{transform:translateY(-6px);opacity:.9;filter:none}

/* Project detail hero and galleries. */
.project-hero-media{
  position:relative;
  height:min(70vh,760px);
  overflow:hidden;
  isolation:isolate;
  background:#181b19;
}
.project-hero-media .project-hero-img{
  position:absolute!important;
  inset:0!important;
  z-index:0;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  object-fit:cover!important;
  transition:transform .85s cubic-bezier(.2,.7,.2,1);
}
.project-hero-diagram{
  right:4%!important;
  bottom:5%!important;
  left:auto!important;
  top:auto!important;
  width:36%!important;
  height:31%!important;
}
.project-hero-media:hover .project-hero-img{transform:scale(1.035)}
.project-hero-media:hover .project-hero-diagram{transform:translateY(-7px);opacity:.9}

.concept-gallery{padding:18px 0 110px}
.concept-gallery-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  grid-template-rows:280px 280px;
  gap:12px;
}
.concept-gallery-main{grid-row:1/3}

/* Technology and About page photography. */
.technology-photo-band{padding:18px 0 110px}
.technology-photo-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  grid-template-rows:270px 270px;
  gap:12px;
}
.technology-photo-wide{grid-row:1/3}

.about-visual-section{padding:0 0 110px}
.about-visual-grid{
  display:grid;
  grid-template-columns:1.22fr .78fr;
  grid-template-rows:265px 265px;
  gap:12px;
}
.about-visual-main{grid-row:1/3}

/* Photo-backed dark sections retain the existing grid and reveal effects. */
.photo-backed{
  position:relative;
  isolation:isolate;
}
.photo-backed:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(11,13,12,.97) 0%,rgba(11,13,12,.91) 54%,rgba(11,13,12,.78) 100%),
    var(--section-photo) center/cover no-repeat;
}
.photo-backed>*{position:relative;z-index:1}
.contact-photo-backed:before{
  background:
    linear-gradient(90deg,rgba(11,13,12,.97) 0%,rgba(11,13,12,.91) 50%,rgba(11,13,12,.72) 100%),
    var(--section-photo) center/cover no-repeat;
}
.contact-photo-backed .contact-card{box-shadow:0 30px 80px rgba(0,0,0,.27)}

@media(max-width:1100px){
  .photo-ribbon-track{grid-template-columns:1fr 1fr}
  .photo-ribbon figure{height:300px}
  .photo-ribbon figure:nth-child(even){transform:none}
  .portfolio-media{height:480px}
  .project-hero-media{height:620px}
  .industry-symbol{width:88px;height:88px}
  .systems-photo-wall-grid{grid-template-rows:230px 230px}
  .visual-band-grid,.industry-context-grid,.technology-photo-grid,.about-visual-grid,.concept-gallery-grid{grid-template-rows:240px 240px}
}

@media(max-width:760px){
  .hero-tech-overlay{
    right:-15%!important;
    bottom:-4%!important;
    width:92%!important;
    max-height:64%!important;
    opacity:.42;
  }
  .media-diagram,.feature-diagram,.detail-diagram,.project-hero-diagram,.tech-diagram{opacity:.62}
  .system-card-media .media-diagram{width:43%!important;height:33%!important;right:12px!important;bottom:12px!important}
  .feature-diagram{width:54%!important;height:30%!important}
  .detail-diagram{width:53%!important;height:29%!important}
  .tech-diagram{width:58%!important;height:43%!important}
  .industry-symbol{width:76px;height:76px;top:14px;right:14px}
  .project-diagram{width:112px!important;height:88px!important;top:14px!important;right:14px!important}

  .photo-ribbon{padding-bottom:72px}
  .photo-ribbon-track{grid-template-columns:1fr 1fr;gap:6px;padding:0 6px}
  .photo-ribbon figure{height:220px}

  .visual-band,.detail-photo-break,.industry-context-band,.technology-photo-band,.concept-gallery{padding:10px 0 78px}
  .systems-photo-wall,.about-visual-section{padding-bottom:78px}
  .visual-band-grid,
  .systems-photo-wall-grid,
  .industry-context-grid,
  .technology-photo-grid,
  .about-visual-grid,
  .concept-gallery-grid,
  .detail-photo-break-grid{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:none;
    height:auto;
    gap:8px;
  }
  .visual-band-grid figure,
  .systems-photo-wall-grid figure,
  .industry-context-grid figure,
  .technology-photo-grid figure,
  .about-visual-grid figure,
  .concept-gallery-grid figure,
  .detail-photo-break-grid figure{
    grid-column:auto!important;
    grid-row:auto!important;
    height:270px;
  }
  .visual-band-grid .visual-band-tall,
  .systems-photo-wall-grid figure:first-child,
  .industry-context-grid .industry-context-main,
  .technology-photo-grid .technology-photo-wide,
  .about-visual-grid .about-visual-main,
  .concept-gallery-grid .concept-gallery-main,
  .detail-photo-break-grid .detail-photo-main{height:390px}

  .industry-index-row{grid-template-columns:38px 1fr 35px}
  .industry-index-media{grid-column:2;height:190px;margin-top:8px}
  .industry-index-media img{height:100%!important;grid-column:auto!important}
  .industry-index-media .media-diagram{width:42%!important;height:48%!important}
  .industry-index-row i{grid-column:3;grid-row:1}

  .portfolio-media{height:370px}
  .portfolio-media .media-diagram{right:14px!important;bottom:14px!important;width:42%!important;height:26%!important}
  .portfolio-item img{height:100%!important}
  .project-hero-media{height:430px}
  .project-hero-diagram{width:48%!important;height:27%!important;right:4%!important;bottom:4%!important}

  .photo-backed:before,
  .contact-photo-backed:before{
    background:
      linear-gradient(180deg,rgba(11,13,12,.95) 0%,rgba(11,13,12,.92) 62%,rgba(11,13,12,.82) 100%),
      var(--section-photo) center/cover no-repeat;
  }
}

@media(pointer:coarse){
  .photo-ribbon figure:nth-child(even){transform:none}
}

@media(prefers-reduced-motion:reduce){
  .media-composite .media-photo,
  .hero-tech-overlay,
  .media-diagram,
  .feature-diagram,
  .detail-diagram,
  .project-hero-diagram,
  .tech-diagram,
  .photo-ribbon img,
  .visual-band-grid img,
  .systems-photo-wall-grid img,
  .detail-photo-break-grid img,
  .industry-context-grid img,
  .technology-photo-grid img,
  .about-visual-grid img,
  .concept-gallery-grid img{transition:none!important;transform:none!important}
}
