.site-shell{overflow:hidden}.site-header{background:var(--steel-50);z-index:10;justify-content:space-between;align-items:center;height:82px;padding:0 5vw;display:flex;position:relative}.brand{font-family:var(--font-display);letter-spacing:.04em;align-items:center;gap:11px;min-height:44px;font-size:14px;font-weight:700;display:flex}.brand img{object-fit:contain}.main-nav{align-items:center;gap:24px;margin-left:auto;margin-right:26px;display:flex}.main-nav a,.header-cta,.text-link{letter-spacing:.02em;font-size:12px;font-weight:600}.main-nav a{color:var(--steel-500);align-items:center;min-height:44px;transition:color .2s;display:inline-flex}.main-nav a:hover{color:var(--denki-navy)}.language-switch{border:1px solid var(--steel-100);color:var(--denki-navy);cursor:pointer;font:600 12px var(--font-body);background:0 0;justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:0 10px;display:inline-flex}.language-switch:hover{border-color:var(--steel-300)}.language-switch svg{width:14px}.header-cta,.button{justify-content:center;align-items:center;gap:12px;min-height:46px;padding:0 20px;display:inline-flex}.header-cta{background:var(--denki-navy);color:#fff}.header-cta svg,.button svg,.text-link svg,.footer-email svg{width:16px}.mobile-toggle{color:var(--denki-navy);background:0 0;border:0;min-width:44px;min-height:44px;padding:8px;display:none}.hero{background:var(--denki-navy);color:#fff;min-height:650px;padding:130px 10vw 80px;position:relative}.hero-grid{opacity:.75;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0 0 0 48%}.hero-grid:after{background:linear-gradient(90deg, var(--denki-navy), transparent);content:"";position:absolute;inset:0}.hero-content{z-index:1;max-width:760px;position:relative}.eyebrow,.section-label{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:700}.eyebrow{color:var(--steel-300);align-items:center;gap:13px;display:flex}.eyebrow span{background:var(--denki-amber);width:7px;height:7px}.hero h1{font-family:var(--font-display);letter-spacing:-.08em;margin:27px 0 28px;font-size:clamp(52px,7vw,110px);line-height:1.04}.hero h1 em,.intro h2 span,.projects h2 span,.tender h2 span{color:var(--denki-amber);font-style:normal}.intro h2 span,.projects h2 span{color:var(--denki-navy);box-shadow:inset 0 -.32em 0 var(--denki-amber)}.hero-copy{color:var(--steel-100);max-width:390px;font-size:16px;line-height:1.7}.hero-actions{align-items:center;gap:30px;margin-top:38px;display:flex}.button-amber{background:var(--denki-amber);color:var(--denki-navy);font-weight:700}.text-link{align-items:center;gap:10px;min-height:44px;display:inline-flex}.hero .text-link{color:#fff}.hero-aside{transform-origin:100%;align-items:center;gap:15px;display:flex;position:absolute;bottom:66px;right:10vw;transform:rotate(-90deg)}.hero-aside p{color:var(--steel-300);letter-spacing:.18em;margin:0;font-size:10px;line-height:1.6}.hero-aside strong{color:#fff}.hero-mark{border:1px solid var(--steel-700);border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.hero-mark svg{color:var(--denki-amber);fill:var(--denki-amber);width:17px}.scroll-cue{color:var(--steel-300);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:10px;font-size:10px;display:flex;position:absolute;bottom:32px;left:5vw}.scroll-cue span{border-bottom:1px solid var(--denki-amber);width:36px}.section-pad{padding:120px 10vw}.section-label{color:var(--steel-500)}.intro{background:#fff;grid-template-columns:1fr 1.6fr;gap:32px;display:grid}.intro-copy{grid-template-columns:1fr 110px;align-items:flex-end;display:grid}.intro h2,.projects h2,.tender h2,.page-title{font-family:var(--font-display);letter-spacing:-.07em;margin:0;font-size:clamp(28px,4vw,58px);line-height:1.15}.intro-copy p{color:var(--steel-500);grid-column:1/2;max-width:530px;margin:30px 0 0;font-size:15px;line-height:1.8}.circle-link{background:var(--denki-navy);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;display:flex}.circle-link svg{width:22px}.stats{border-top:1px solid var(--steel-100);grid-column:2;gap:clamp(35px,7vw,110px);margin-top:25px;padding-top:27px;display:flex}.stats strong{font-family:var(--font-display);letter-spacing:-.08em;font-size:36px;display:block}.stats strong span{color:var(--status-warn)}.stats small{color:var(--steel-500);margin-top:9px;font-size:11px;display:block}.services{background:var(--steel-50)}.section-top{justify-content:space-between;align-items:flex-end;margin-bottom:48px;display:flex}.section-top p{color:var(--steel-500);text-align:right;max-width:320px;font-size:14px;line-height:1.6}.service-grid{grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.service-card{background:#fff;min-height:280px;padding:27px;transition:background .2s,color .2s;position:relative}.service-card:hover{background:var(--denki-navy);color:#fff}.service-card:hover p,.service-card:hover .service-top span{color:var(--steel-300)}.service-top{justify-content:space-between;display:flex}.service-top span{color:var(--steel-500);font-family:var(--font-mono);font-size:12px}.service-top svg{color:var(--status-warn);width:22px}.service-card:hover .service-top svg{color:var(--denki-amber)}.service-card h3{font-family:var(--font-display);letter-spacing:-.05em;margin:76px 0 13px;font-size:17px;line-height:1.35}.service-card p{color:var(--steel-500);margin:0 0 40px;font-size:13px;line-height:1.6}.service-card>a{justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute;bottom:14px;right:14px}.service-card>a svg{width:18px}.projects{background:#fff}.projects .section-top .text-link{color:var(--denki-blue)}.project-grid{grid-template-columns:1.25fr 1fr 1fr;gap:18px;display:grid}.project-card{min-width:0}.project-visual{background:linear-gradient(135deg,#273a4a,#87919a 42%,#152432) 50%/cover;height:340px;position:relative;overflow:hidden}.project-card:nth-child(3n+2) .project-visual{background-image:linear-gradient(135deg,#111c30,#d48e25 45%,#101725)}.project-card:nth-child(3n+3) .project-visual{background-image:linear-gradient(135deg,#657878,#d5e0dd 44%,#32474d)}.project-visual img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.project-lines{background-image:linear-gradient(120deg,#0000 40%,#ffffff4d 40.3%,#0000 41%),linear-gradient(30deg,#0000 58%,#fff3 58.3%,#0000 59%);position:absolute;inset:0}.project-lines:after{content:"";border:1px solid #ffffff52;width:48%;height:150px;position:absolute;top:23%;left:24%;transform:skew(-20deg)}.project-year{color:#fff;font-family:var(--font-mono);background:#0e1b2cb3;padding:3px 6px;font-size:11px;position:absolute;bottom:20px;left:20px}.project-info{justify-content:space-between;align-items:flex-start;padding:19px 2px;display:flex}.project-info h3{margin:0 0 7px;font-size:15px}.project-info p{color:var(--steel-500);margin:0;font-size:12px}.project-info svg{color:var(--denki-blue);flex-shrink:0;width:18px}.tender{background:var(--denki-navy);color:#fff;grid-template-columns:150px 1fr 180px;align-items:center;gap:70px;display:grid}.tender .section-label{color:var(--steel-300)}.tender h2{margin:24px 0 21px}.tender p{color:var(--steel-300);max-width:520px;margin:0 0 28px;font-size:14px;line-height:1.7}.tender-symbol{border:1px solid var(--steel-700);border-radius:50%;justify-content:center;align-items:center;width:125px;height:125px;display:flex}.tender-symbol svg{color:var(--denki-amber);fill:var(--denki-amber);width:45px;height:45px}.tender-note{border-left:1px solid var(--steel-700);color:var(--steel-300);padding-left:22px;font-size:12px;line-height:1.6}.tender-note svg{color:var(--denki-amber);width:17px;margin-bottom:9px}.site-footer{color:#fff;background:#091421;padding:58px 5vw 25px}.footer-main{justify-content:space-between;align-items:flex-start;display:flex}.brand-light{color:#fff}.footer-main>p{color:var(--steel-300);margin:0 auto 0 14vw;font-size:13px;line-height:1.7}.footer-contact{justify-items:end;gap:8px;display:grid}.footer-contact span{color:var(--steel-300);font-size:13px}.footer-email{color:var(--denki-amber);font-family:var(--font-display);align-items:center;gap:10px;min-height:44px;font-size:16px;display:flex}.footer-bottom{border-top:1px solid var(--steel-700);color:var(--steel-300);justify-content:space-between;margin-top:66px;padding-top:19px;font-size:11px;display:flex}.footer-bottom a{color:#fff;align-items:center;gap:6px;min-height:44px;display:inline-flex}.footer-bottom a svg{width:14px}.page-hero{background:var(--denki-navy);color:#fff;padding:90px 10vw 70px}.page-hero .section-label{color:var(--steel-300)}.page-hero .page-title{margin:18px 0 16px}.page-hero p{color:var(--steel-300);max-width:620px;margin:0;font-size:15px;line-height:1.7}.form-section{background:#fff;padding:70px 10vw 110px}.tender-form{gap:34px;max-width:920px;display:grid}.form-group{border:0;grid-template-columns:1fr 1fr;gap:18px 22px;margin:0;padding:0;display:grid}.form-group legend{font-family:var(--font-display);letter-spacing:-.04em;margin-bottom:18px;padding:0;font-size:17px}.field{gap:7px;display:grid}.field-wide{grid-column:1/-1}.field label{font-size:13px;font-weight:600}.field label .required{color:var(--status-error);margin-left:3px}.field input,.field select,.field textarea{border:1px solid var(--steel-300);border-radius:var(--radius);color:var(--denki-navy);font:15px var(--font-body);background:#fff;width:100%;min-height:46px;padding:11px 13px}.field textarea{resize:vertical;min-height:130px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--denki-blue);outline:2px solid color-mix(in srgb, var(--denki-blue) 25%, transparent);outline-offset:0}.field [aria-invalid=true]{border-color:var(--status-error)}.field-hint{color:var(--steel-500);font-size:12px;line-height:1.5}.field-error{color:var(--status-error);font-size:12px;font-weight:600}.dropzone{background:var(--steel-50);border:1px dashed var(--steel-300);border-radius:var(--radius);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px 20px;display:flex}.dropzone:hover,.dropzone.is-dragging{border-color:var(--denki-blue);background:color-mix(in srgb, var(--denki-blue) 5%, white)}.dropzone svg{color:var(--denki-navy);width:26px}.dropzone strong{font-size:14px}.dropzone span{color:var(--steel-500);font-size:12px}.file-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.file-list li{border:1px solid var(--steel-100);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:6px 6px 6px 14px;display:flex}.file-list .file-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.file-list .file-size{color:var(--steel-500);font-family:var(--font-mono);flex-shrink:0;margin-left:auto;font-size:12px}.file-list button{color:var(--steel-500);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.file-list button:hover{color:var(--status-error)}.file-list button svg{width:16px}.consent{align-items:flex-start;gap:12px;font-size:13px;line-height:1.6;display:flex}.consent input{accent-color:var(--denki-navy);flex-shrink:0;width:20px;height:20px;margin-top:2px}.form-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.form-actions .button{cursor:pointer;border:0;font-size:14px}.form-actions .button:disabled{cursor:wait;opacity:.7}.form-alert{border-left:4px solid var(--status-error);background:color-mix(in srgb, var(--status-error) 7%, white);color:var(--status-error);padding:14px 16px;font-size:14px}.form-success{border:1px solid var(--steel-100);border-left:4px solid var(--status-ok);gap:12px;max-width:640px;padding:28px;display:grid}.form-success h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:22px}.form-success p{color:var(--steel-500);margin:0;line-height:1.6}.form-success code{color:var(--denki-navy);font-size:18px}.main-nav a[aria-current=page]{color:var(--denki-navy);box-shadow:inset 0 -2px 0 var(--denki-amber)}.prose{color:var(--steel-700);max-width:760px;font-size:16px;line-height:1.8}.prose p{white-space:pre-line;margin:0 0 18px}.about-body{background:#fff;grid-template-columns:1.4fr 1fr;gap:48px;display:grid}.about-body .stats{border-top:0;flex-direction:column;grid-column:auto;align-self:start;gap:28px;margin:0;padding:0}.values{background:var(--steel-50)}.value-grid{grid-template-columns:repeat(3,1fr);gap:1px;margin-top:32px;display:grid}.value-grid article{background:#fff;padding:32px 28px}.value-grid svg{color:var(--status-ok);width:26px}.value-grid h3{font-family:var(--font-display);letter-spacing:-.04em;margin:18px 0 10px;font-size:18px}.value-grid p{color:var(--steel-500);margin:0;font-size:14px;line-height:1.7}.compact-cta{display:block}.compact-cta h2{margin:0 0 16px}.service-card h2.service-title{font-family:var(--font-display);letter-spacing:-.05em;margin:76px 0 13px;font-size:17px;line-height:1.35}.project-link{color:inherit;display:block}.project-link:hover h3{color:var(--denki-blue)}.detail-hero .back-link{color:var(--steel-300);margin-bottom:18px}.back-link svg{width:16px}.detail-hero-icon{border:1px solid var(--steel-700);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:18px;display:flex}.detail-hero-icon svg{color:var(--denki-amber);width:26px}.detail-body{background:#fff;justify-items:start;gap:32px;display:grid}.detail-image{border-radius:var(--radius);object-fit:cover;width:100%;max-height:520px}.project-detail{background:#fff;grid-template-columns:minmax(0,1fr) 320px;gap:48px;display:grid}.project-main{gap:32px;display:grid}.project-cover,.gallery figure{margin:0}.project-cover-placeholder{border-radius:var(--radius);height:420px}.project-cover img{border-radius:var(--radius);object-fit:cover;width:100%;max-height:620px;display:block}figcaption{color:var(--steel-500);margin-top:8px;font-size:13px}.gallery{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.gallery img{aspect-ratio:3/2;border-radius:var(--radius);object-fit:cover;width:100%;display:block}.project-facts{background:var(--steel-50);border-radius:var(--radius);align-self:start;gap:14px;padding:24px;display:grid;position:sticky;top:24px}.project-facts dl{gap:14px;margin:0;display:grid}.project-facts dt{color:var(--steel-500);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:600}.project-facts dd{margin:4px 0 0;font-size:15px}.project-facts h2{color:var(--steel-500);letter-spacing:.06em;text-transform:uppercase;margin:8px 0 0;font-size:12px;font-weight:600}.project-facts ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.project-facts .text-link{color:var(--denki-blue);font-size:14px}.facts-cta{border-top:1px solid var(--steel-100);color:var(--steel-700);margin:8px 0 0;padding-top:16px;font-size:14px;line-height:1.6}.project-facts .button{justify-content:space-between}.contact-grid{background:#fff;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.contact-card{background:var(--steel-50);border-radius:var(--radius);color:var(--denki-navy);align-content:start;gap:8px;padding:28px;display:grid}a.contact-card:hover{background:var(--steel-100)}.contact-card>svg{color:var(--status-warn);width:24px}.contact-card>span{color:var(--steel-500);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:600}.contact-card strong{overflow-wrap:anywhere;font-size:17px}.contact-card .text-link{color:var(--denki-blue)}.social-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.social-list .text-link{color:var(--denki-blue)}.contact-cta{background:#fff;padding-top:0}@media (max-width:900px){.about-body,.project-detail{grid-template-columns:1fr}.about-body .stats{flex-direction:row}.value-grid{grid-template-columns:1fr}.project-facts{position:static}}@media (max-width:640px){.gallery{grid-template-columns:1fr}}@media (max-width:900px){.site-header{padding:0 6vw}.main-nav{gap:14px;margin-right:16px}.main-nav a{font-size:11px}.header-cta{display:none}.hero{padding:110px 8vw 90px}.hero-aside{display:none}.section-pad{padding:85px 8vw}.service-grid{grid-template-columns:repeat(2,1fr)}.intro{grid-template-columns:1fr}.stats{grid-column:auto}.tender{grid-template-columns:100px 1fr;gap:30px}.tender-note{grid-column:2}.project-grid{grid-template-columns:1fr 1fr}.project-card:first-child{grid-column:1/-1}.project-card:first-child .project-visual{height:300px}}@media (max-width:640px){.site-header{height:70px}.mobile-toggle{display:block}.main-nav{background:var(--steel-50);flex-direction:column;align-items:stretch;gap:0;margin:0;padding:12px 8vw 22px;display:none;position:absolute;top:70px;left:0;right:0;box-shadow:0 15px 25px #0e1b2c1a}.main-nav.is-open{display:flex}.main-nav a{width:100%;font-size:13px}.main-nav .language-switch{border-width:1px 0 0;justify-content:flex-start;padding:0}.hero{min-height:620px;padding:100px 8vw 85px}.hero h1{font-size:56px}.hero-actions{flex-direction:column;align-items:flex-start;gap:23px}.section-pad{padding:72px 7vw}.intro-copy{flex-direction:column;align-items:flex-start;gap:25px;display:flex}.circle-link{align-self:flex-end}.stats{justify-content:space-between;gap:20px}.stats strong{font-size:25px}.stats small{font-size:10px}.section-top{flex-direction:column;align-items:flex-start;gap:20px}.section-top p{text-align:left}.service-grid,.project-grid{grid-template-columns:1fr}.project-card:first-child{grid-column:auto}.project-card:first-child .project-visual,.project-visual{height:270px}.tender{flex-direction:column;align-items:flex-start;display:flex}.tender-symbol{width:90px;height:90px}.tender-symbol svg{width:30px;height:30px}.tender-note{border-left:0;border-top:1px solid var(--steel-700);padding:18px 0 0}.footer-main{flex-direction:column;gap:28px}.footer-main>p{margin:0}.footer-contact{justify-items:start}.footer-email{font-size:13px}.footer-bottom{flex-wrap:wrap;gap:14px;margin-top:48px}.page-hero{padding:64px 7vw 54px}.form-section{padding:48px 7vw 80px}.form-group{grid-template-columns:1fr}}
