:root{--navy:#061421;--navy2:#0a1b29;--navy3:#102638;--ink:#0c1721;--muted:#68737e;--line:#d8dde2;--paper:#f3f5f6;--white:#fff;--orange:#ff5a1f;--max:1560px;--header:72px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,Pretendard,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input,textarea{font:inherit}.v12-wide,.shell{width:min(calc(100% - 84px),var(--max));margin:0 auto}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(18px);transition:.65s ease}.js .reveal.is-visible{opacity:1;transform:none}.v12-kicker{font-size:11px;font-weight:900;letter-spacing:.18em;color:#fff;margin:0 0 18px}.v12-kicker.dark{color:var(--orange)}
/* header */.v12-header{height:var(--header);position:fixed;left:0;right:0;top:0;z-index:1000;background:rgba(4,15,24,.97);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px)}.v12-header-inner{height:100%;width:min(calc(100% - 84px),var(--max));margin:auto;display:flex;align-items:center}.v12-brand{width:215px}.v12-brand img{height:42px;object-fit:contain;object-position:left center}.v12-nav{margin-left:auto;display:flex;align-items:center;gap:34px}.v12-nav>a{color:#eef2f4;font-size:14px;font-weight:800;position:relative;padding:26px 0 24px}.v12-nav>a:not(.v12-contact-link):after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--orange);transition:.25s}.v12-nav>a:hover:after,.v12-nav>a.active:after{width:100%}.v12-contact-link{border:1px solid rgba(255,255,255,.45);padding:11px 18px!important;margin-left:2px}.v12-contact-link:hover,.v12-contact-link.active{background:#fff;color:var(--navy)}.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;width:44px;height:44px;position:relative}.menu-toggle span{position:absolute;left:9px;right:9px;height:2px;background:#fff}.menu-toggle span:first-child{top:16px}.menu-toggle span:last-child{top:25px}.mobile-menu{display:none;position:fixed;top:var(--header);left:0;right:0;bottom:0;background:var(--navy);padding:40px 26px;overflow:auto}.mobile-menu.is-open{display:block}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{color:#fff;font-size:28px;font-weight:900;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.12)}.mobile-menu nav span{display:inline-block;width:52px;color:var(--orange);font-size:10px}.mobile-menu-foot{margin-top:30px;display:flex;flex-direction:column;gap:8px;color:#9cabb7}
/* home hero */.theme-dark-home{background:var(--navy)}.v12-home-hero{position:relative;min-height:820px;padding-top:var(--header);background:var(--navy);color:#fff;overflow:hidden}.v12-home-bg{position:absolute;inset:var(--header) 0 0;background:url('/images/premium-hero.jpg') center center/cover no-repeat;transform:scale(1.015)}.v12-home-overlay{position:absolute;inset:var(--header) 0 0;background:linear-gradient(90deg,rgba(3,13,21,.91) 0%,rgba(3,13,21,.62) 45%,rgba(3,13,21,.1) 77%,rgba(3,13,21,.28) 100%),linear-gradient(0deg,rgba(3,13,21,.84) 0%,transparent 42%)}.v12-home-shell{position:relative;z-index:2;min-height:650px;width:min(calc(100% - 84px),var(--max));margin:0 auto;display:grid;grid-template-columns:1fr 330px;gap:70px;align-items:center}.v12-home-copy{padding-top:30px}.v12-home-copy h1{font-size:78px;line-height:.94;letter-spacing:-.055em;margin:0;font-weight:950}.v12-home-copy h1 em{font-style:normal;color:var(--orange)}.v12-home-lead{font-size:21px;line-height:1.55;font-weight:800;margin:28px 0 0}.v12-circle-link{display:inline-grid;place-items:center;width:54px;height:54px;border:1px solid rgba(255,255,255,.7);border-radius:50%;margin-top:48px;font-size:22px}.v12-circle-link:hover{background:#fff;color:var(--navy)}.v12-scroll-label{font-size:9px;letter-spacing:.16em;margin-left:12px;color:#d9e0e5}.v12-home-pillars{border-left:1px solid rgba(255,255,255,.25)}.v12-home-pillars article{padding:25px 0 25px 28px;border-bottom:1px solid rgba(255,255,255,.18)}.v12-home-pillars span{display:block;color:#fff;font-size:10px;font-weight:900;letter-spacing:.13em}.v12-home-pillars p{margin:8px 0 0;color:#d3dbe1;font-size:13px}.v12-hero-metrics{position:absolute;z-index:3;left:0;right:0;bottom:0;min-height:135px;background:rgba(4,17,27,.96);border-top:1px solid rgba(255,255,255,.14);display:grid;grid-template-columns:repeat(4,1fr);padding:0 max(42px,calc((100% - var(--max))/2))}.v12-hero-metrics>div{padding:28px 28px 24px;border-right:1px solid rgba(255,255,255,.13)}.v12-hero-metrics>div:first-child{border-left:1px solid rgba(255,255,255,.13)}.v12-hero-metrics span{display:block;font-size:9px;letter-spacing:.13em;color:#8899a7}.v12-hero-metrics strong{display:block;font-size:30px;line-height:1;margin-top:7px}.v12-hero-metrics small{display:block;color:#8f9da8;font-size:11px;margin-top:8px}
/* home sections */.v12-home-intro{background:#fff;padding:94px 0}.v12-home-intro .v12-wide{display:grid;grid-template-columns:180px 1fr 1fr;gap:70px;align-items:start}.v12-intro-label{font-size:10px;letter-spacing:.16em;color:var(--orange);font-weight:900;padding-top:11px}.v12-intro-title h2{font-size:45px;line-height:1.08;margin:0;letter-spacing:-.04em}.v12-intro-copy p{font-size:16px;line-height:1.85;color:#56636e;margin:0 0 28px}.v12-intro-copy a,.v12-section-heading a,.v12-home-tech a{font-weight:900;font-size:13px}.v12-intro-copy a span,.v12-section-heading a span,.v12-home-tech a span{color:var(--orange);margin-left:12px}.v12-home-solutions{background:var(--navy);padding:100px 0 110px;color:#fff}.v12-section-heading{display:flex;align-items:flex-end;gap:50px;margin-bottom:38px}.v12-section-heading>p{align-self:flex-start;margin:7px 0 0;color:var(--orange);font-size:10px;font-weight:900;letter-spacing:.16em}.v12-section-heading h2{font-size:42px;line-height:1.08;margin:0;letter-spacing:-.04em}.v12-section-heading>a{margin-left:auto}.v12-section-heading.light h2,.v12-section-heading.light a{color:#fff}.v12-solution-strip{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}.v12-solution-card{position:relative;height:440px;overflow:hidden;border-right:1px solid rgba(255,255,255,.18)}.v12-solution-card:first-child{border-left:1px solid rgba(255,255,255,.18)}.v12-solution-card img{height:100%;object-fit:cover;filter:saturate(.78) brightness(.85);transition:.45s}.v12-solution-card .shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,13,21,.95),rgba(3,13,21,.15) 70%)}.v12-solution-card .copy{position:absolute;left:20px;right:20px;bottom:22px}.v12-solution-card .copy span{font-size:9px;color:#c8d1d8}.v12-solution-card h3{font-size:19px;line-height:1.2;margin:6px 0 16px}.v12-solution-card i{display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);width:34px;height:34px;border-radius:50%;font-style:normal}.v12-solution-card:hover img{transform:scale(1.045);filter:saturate(1) brightness(1)}.v12-home-projects{background:#fff;padding:100px 0 115px}.v12-project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.v12-project-card{border:1px solid var(--line);background:#fff}.v12-project-card>img{height:230px;object-fit:cover}.v12-project-card>div{position:relative;padding:20px 22px 24px;min-height:190px}.v12-project-card span{font-size:10px;color:var(--orange);font-weight:900;letter-spacing:.08em}.v12-project-card small{float:right;color:#9ca6ae;font-size:9px}.v12-project-card h3{font-size:19px;line-height:1.4;margin:10px 38px 10px 0}.v12-project-card p{font-size:11px;color:#77828c;margin:0}.v12-project-card i{position:absolute;right:20px;bottom:20px;font-style:normal}.v12-home-tech{padding:110px 0;background:#f4f6f7}.v12-tech-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.v12-tech-layout h2{font-size:48px;line-height:1.05;margin:0 0 22px}.v12-tech-layout>div:first-child>p:not(.v12-kicker){color:#5e6b76;line-height:1.85;margin-bottom:30px}.v12-tech-image img{height:510px;object-fit:cover}.v12-home-cta{background:var(--orange);color:#fff;padding:46px 0}.v12-home-cta .v12-wide{display:flex;align-items:center;justify-content:space-between;gap:50px}.v12-home-cta p{font-size:9px;letter-spacing:.16em;margin:0 0 8px;font-weight:900}.v12-home-cta h2{font-size:32px;margin:0}.v12-home-cta a{border:1px solid rgba(255,255,255,.7);padding:14px 20px;font-weight:900}.v12-home-cta a:hover{background:#fff;color:var(--orange)}
/* company */.v12-company-hero{position:relative;height:500px;margin-top:var(--header);color:#fff;overflow:hidden}.v12-company-hero .bg{position:absolute;inset:0;background:url('/images/field/site-inspection.jpg') center 60%/cover no-repeat;filter:saturate(.75) brightness(.75)}.v12-company-hero .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,16,25,.9),rgba(4,16,25,.38) 66%,rgba(4,16,25,.65))}.v12-company-hero .v12-wide{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center}.v12-company-hero p{font-size:10px;letter-spacing:.16em;color:var(--orange);font-weight:900;margin:0 0 18px}.v12-company-hero h1{font-size:56px;line-height:1.06;margin:0;letter-spacing:-.04em}.v12-company-hero span{margin-top:18px;color:#c5d0d8}.v12-company-about{padding:92px 0}.v12-company-about-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:100px}.v12-company-about h2{font-size:43px;line-height:1.08;margin:0 0 26px}.v12-company-about .lead{font-size:19px;font-weight:800;line-height:1.7}.v12-company-about p{color:#596772;line-height:1.85}.v12-company-about aside{border-left:1px solid var(--line);padding-left:60px;align-self:start}.v12-company-about aside>span{font-size:12px;font-weight:900}.v12-company-about aside>strong{display:block;font-size:76px;line-height:.95;margin:8px 0 18px}.v12-company-about aside>p{font-size:13px}.company-mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:34px;padding-top:22px}.company-mini-metrics div{border-right:1px solid var(--line);padding-right:12px;margin-right:12px}.company-mini-metrics div:last-child{border:0}.company-mini-metrics b{display:block;font-size:23px}.company-mini-metrics small{color:#7d8993;font-size:9px}.v12-values{background:var(--navy);color:#fff}.v12-values .v12-wide{display:grid;grid-template-columns:repeat(3,1fr)}.v12-values article{padding:46px 48px;border-right:1px solid rgba(255,255,255,.14)}.v12-values article:first-child{border-left:1px solid rgba(255,255,255,.14)}.v12-values span{color:var(--orange);font-size:10px;font-weight:900}.v12-values h3{font-size:24px;margin:10px 0}.v12-values p{color:#9fb0bc;font-size:13px;margin:0}.v12-history{padding:100px 0}.v12-history-line{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #aeb7be;margin-top:52px}.v12-history-line article{position:relative;padding:24px 18px 0 0}.v12-history-line article i{position:absolute;top:-5px;left:0;width:9px;height:9px;background:var(--orange);border-radius:50%}.v12-history-line b{font-size:20px}.v12-history-line h3{font-size:14px;line-height:1.4;margin:13px 0 6px}.v12-history-line p{color:#78848e;font-size:11px;margin:0}.v12-company-profile{background:#eef1f3;padding:80px 0}.v12-company-profile .v12-wide{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.v12-company-profile>div>div>p{font-size:10px;letter-spacing:.12em;color:var(--orange);font-weight:900}.v12-company-profile h2{font-size:38px;margin:8px 0}.v12-company-profile dl{margin:0;border-top:1px solid #9fa9b1}.v12-company-profile dl>div{display:grid;grid-template-columns:130px 1fr;padding:15px 0;border-bottom:1px solid #cbd1d6}.v12-company-profile dt{font-size:10px;color:#6d7982;font-weight:900}.v12-company-profile dd{margin:0;font-size:13px;font-weight:700}
/* dark solutions */.v12-dark-page{background:var(--navy);color:#fff}.v12-dark-head{padding:150px 0 58px;background:linear-gradient(180deg,#081927,#061421)}.v12-dark-head .v12-wide{display:flex;align-items:flex-end;justify-content:space-between;gap:80px}.v12-dark-head p,.v12-project-head p,.v12-tech-head p{color:var(--orange);font-size:10px;font-weight:900;letter-spacing:.16em;margin:0 0 12px}.v12-dark-head h1,.v12-project-head h1,.v12-tech-head h1{font-size:58px;line-height:1.03;margin:0;letter-spacing:-.045em}.v12-dark-head span{max-width:500px;color:#a7b5c0;font-size:14px;line-height:1.8}.v12-solution-grid-wrap{padding:22px 0 90px}.v12-solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.v12-solution-box{height:390px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.15)}.v12-solution-box img{height:100%;object-fit:cover;filter:saturate(.7) brightness(.7);transition:.45s}.v12-solution-box .shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,13,21,.97),rgba(3,13,21,.15) 72%)}.v12-solution-box .copy{position:absolute;left:28px;right:28px;bottom:26px}.v12-solution-box .copy>span{color:var(--orange);font-size:10px;font-weight:900}.v12-solution-box h2{font-size:25px;margin:8px 0 2px}.v12-solution-box p{margin:0;color:#aeb9c2;font-size:11px}.v12-solution-box i{position:absolute;right:0;bottom:0;border:1px solid rgba(255,255,255,.45);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-style:normal}.v12-solution-box:hover img{transform:scale(1.04);filter:saturate(1) brightness(.9)}.v12-all-link{text-align:center;padding-top:42px}.v12-all-link a{border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:7px;font-weight:900;font-size:13px}.v12-all-link span{color:var(--orange);margin-left:12px}
/* solution detail */.v12-solution-detail-page{background:#fff}.v12-detail-shell{padding-top:var(--header);display:grid;grid-template-columns:240px 1fr;min-height:100vh}.v12-detail-sidebar{background:#071827;color:#fff;padding:42px 22px;position:sticky;top:var(--header);height:calc(100vh - var(--header))}.v12-detail-sidebar>p{font-size:11px;letter-spacing:.16em;color:#8fa0ad;margin:0 0 28px}.v12-detail-sidebar nav{display:flex;flex-direction:column}.v12-detail-sidebar a{padding:15px 8px;border-bottom:1px solid rgba(255,255,255,.11);font-size:12px;font-weight:800;color:#c2ccd3}.v12-detail-sidebar a.active{color:#fff;border-left:3px solid var(--orange);padding-left:14px;background:rgba(255,255,255,.04)}.v12-detail-main{min-width:0}.v12-detail-hero{height:430px;position:relative;color:#fff;overflow:hidden}.v12-detail-hero .bg{position:absolute;inset:0;background-position:center;background-size:cover;filter:saturate(.75) brightness(.78)}.v12-detail-hero .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,23,.88),rgba(3,14,23,.38) 64%,rgba(3,14,23,.65))}.v12-detail-hero .copy{position:absolute;z-index:2;left:55px;top:70px;max-width:620px}.v12-detail-hero .copy>p{font-size:10px;letter-spacing:.15em;color:#fff}.v12-detail-hero h1{font-size:48px;line-height:1;margin:8px 0 14px}.v12-detail-hero h2{font-size:22px;line-height:1.45;font-weight:700;margin:0 0 25px;max-width:520px}.v12-detail-hero .copy a{display:inline-block;border:1px solid rgba(255,255,255,.6);padding:11px 16px;font-size:12px;font-weight:900}.v12-detail-hero .copy a span{color:var(--orange);margin-left:10px}.v12-detail-hero>ol{position:absolute;z-index:2;right:42px;top:70px;list-style:none;margin:0;padding:0;width:210px}.v12-detail-hero>ol li{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:11px;color:#d5dee4}.v12-detail-hero>ol span{color:var(--orange);margin-right:12px}.v12-detail-tabs{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:var(--header);z-index:50;display:flex;gap:0;padding-left:42px}.v12-detail-tabs a{padding:17px 23px;font-size:10px;font-weight:900;color:#7a8791}.v12-detail-tabs a.active{color:var(--orange);border-bottom:2px solid var(--orange)}.v12-detail-overview{padding:68px 52px;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.v12-detail-overview>div>p,.v12-detail-specs article>p,.v12-tech-story>div>div>p{color:var(--orange);font-size:10px;font-weight:900;letter-spacing:.14em}.v12-detail-overview h2{font-size:38px;line-height:1.05;margin:8px 0 20px}.v12-detail-overview>div>span{display:block;color:#5e6b76;line-height:1.85}.v12-detail-overview figure{margin:0;position:relative}.v12-detail-overview figure img{height:350px;object-fit:cover}.v12-detail-overview figcaption{position:absolute;right:0;bottom:0;background:rgba(6,20,33,.9);color:#fff;padding:16px 18px;font-size:11px}.v12-detail-specs{background:#f3f5f6;display:grid;grid-template-columns:repeat(3,1fr);padding:58px 52px;gap:44px}.v12-detail-specs article{border-top:1px solid #aeb8bf;padding-top:18px}.v12-detail-specs ul{list-style:none;padding:0;margin:18px 0 0}.v12-detail-specs ul li{padding:10px 0;border-bottom:1px solid #d2d7db;font-size:13px}.v12-detail-specs ol{list-style:none;margin:18px 0 0;padding:0}.v12-detail-specs ol li{display:grid;grid-template-columns:35px 1fr;gap:10px;padding:9px 0}.v12-detail-specs ol span{font-size:10px;color:var(--orange)}.v12-detail-specs ol b{font-size:12px}.v12-related-projects{padding:70px 52px}.v12-related-projects>div:last-child{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.v12-related-projects>div:last-child a{padding:18px;border-right:1px solid var(--line);min-height:150px;position:relative}.v12-related-projects span{font-size:10px;color:var(--orange)}.v12-related-projects h3{font-size:15px;line-height:1.4}.v12-related-projects p{font-size:10px;color:#7a8791}.v12-related-projects i{position:absolute;right:14px;bottom:14px;font-style:normal}
/* projects */.v12-project-head{padding:150px 0 48px;background:var(--navy)}.v12-project-head .v12-wide{display:flex;align-items:flex-end;justify-content:space-between;gap:60px}.v12-project-head span{max-width:520px;color:#9cabb6;font-size:13px;line-height:1.75}.v12-project-browser{padding:20px 0 100px;background:var(--navy)}.v12-project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:28px}.v12-project-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.v12-project-toolbar button{border:1px solid rgba(255,255,255,.18);background:transparent;color:#aeb9c2;border-radius:99px;padding:8px 13px;font-size:10px;cursor:pointer}.v12-project-toolbar button.is-active{background:#fff;color:var(--navy)}.v12-project-toolbar input{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.3);color:#fff;padding:9px 3px;outline:0;width:220px}.v12-project-dark-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.v12-project-dark-grid>a{border:1px solid rgba(255,255,255,.14);background:#0b1e2d;color:#fff}.v12-project-dark-grid .image{position:relative;height:210px;overflow:hidden}.v12-project-dark-grid img{height:100%;object-fit:cover;filter:saturate(.72) brightness(.8)}.v12-project-dark-grid .image small{position:absolute;left:10px;bottom:9px;background:rgba(4,15,24,.76);padding:4px 7px;color:#a8b5bf;font-size:8px}.v12-project-dark-grid .body{padding:17px 18px 20px;min-height:155px;position:relative}.v12-project-dark-grid .body span{font-size:9px;color:var(--orange)}.v12-project-dark-grid h2{font-size:15px;line-height:1.45;margin:8px 28px 8px 0}.v12-project-dark-grid p{font-size:9px;color:#8ea0ad}.v12-project-dark-grid i{position:absolute;right:16px;bottom:16px;font-style:normal}.v12-project-dark-grid a[hidden]{display:none!important}.project-empty{color:#aeb9c2;padding:35px 0}
/* technology */.v12-tech-head{padding:150px 0 55px;background:#fff}.v12-tech-head .v12-wide{display:flex;align-items:flex-end;justify-content:space-between;gap:80px}.v12-tech-head h1{color:var(--ink)}.v12-tech-head>div>span{max-width:510px;color:#697680;font-size:13px;line-height:1.8}.v12-tech-tabs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:sticky;top:var(--header);z-index:60;background:#fff}.v12-tech-tabs .v12-wide{display:flex}.v12-tech-tabs a{padding:16px 28px;font-size:10px;font-weight:900;color:#6d7982}.v12-tech-tabs a.active{background:var(--navy);color:#fff}.v12-tech-story{padding:75px 0}.v12-tech-story .v12-wide{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.v12-tech-story h2{font-size:42px;line-height:1.05;margin:8px 0 20px}.v12-tech-story p:not(:first-child){color:#60707b;line-height:1.8}.v12-tech-story ul{padding-left:20px;color:#394954}.v12-tech-story figure{margin:0}.v12-tech-story img{height:440px;object-fit:cover}.v12-tech-story figcaption{font-size:9px;letter-spacing:.13em;color:#86939d;margin-top:8px}.v12-proof{background:#f1f3f4;padding:85px 0}.v12-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.v12-proof-grid article{background:#fff;border:1px solid var(--line)}.v12-proof-grid button{display:block;width:100%;height:390px;border:0;background:#e9edef;position:relative;padding:16px;cursor:pointer}.v12-proof-grid button img{height:100%;object-fit:contain}.v12-proof-grid button span{position:absolute;right:15px;bottom:15px;background:var(--navy);color:#fff;padding:8px 10px;font-size:8px}.v12-proof-grid article>div{padding:18px 20px 22px}.v12-proof-grid small{font-size:9px;color:var(--orange)}.v12-proof-grid h3{font-size:19px;margin:6px 0}.v12-proof-grid p{font-size:11px;color:#687680}.doc-dialog{width:min(900px,92vw);border:0;padding:20px;background:#fff}.doc-dialog::backdrop{background:rgba(0,0,0,.75)}.doc-dialog img{max-height:82vh;object-fit:contain}.dialog-close{position:absolute;right:12px;top:8px;border:0;background:var(--navy);color:#fff;width:36px;height:36px;font-size:22px;cursor:pointer}.doc-dialog p{font-weight:900}
/* contact */.v12-contact-page{padding-top:var(--header);background:#fff}.v12-contact-wrap{min-height:calc(100vh - var(--header));display:grid;grid-template-columns:1.25fr .75fr}.v12-contact-form-side{padding:65px max(50px,calc((100vw - var(--max))/2)) 80px max(42px,calc((100vw - var(--max))/2))}.v12-contact-form-side>h1{font-size:44px;margin:0 0 10px}.v12-contact-form-side>span{display:block;color:#6c7882;max-width:600px;line-height:1.8;margin-bottom:34px}.v12-contact-form{display:flex;flex-direction:column;gap:20px}.v12-contact-form .two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.v12-contact-form label{display:flex;flex-direction:column;gap:7px}.v12-contact-form label>span{font-size:10px;font-weight:900;color:#58646d}.v12-contact-form input,.v12-contact-form textarea{border:1px solid #d4dade;padding:12px 13px;outline:0;background:#fff}.v12-contact-form input:focus,.v12-contact-form textarea:focus{border-color:var(--orange)}.v12-contact-form small{color:#bd4937}.v12-contact-form button{margin-top:2px;border:0;background:var(--orange);color:#fff;padding:14px 18px;font-weight:900;cursor:pointer}.v12-contact-info-side{position:relative;color:#fff;min-height:760px}.v12-contact-info-side .bg{position:absolute;inset:0;background:url('/images/premium-hero.jpg') center/cover no-repeat}.v12-contact-info-side .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,18,29,.78),rgba(5,18,29,.96))}.v12-contact-info-side .content{position:relative;z-index:2;padding:72px 55px}.v12-contact-info-side .content>p{font-size:10px;letter-spacing:.16em;color:#aebbc4}.v12-contact-info-side h2{font-size:46px;line-height:1.05;margin:12px 0 18px}.v12-contact-info-side h2 em{font-style:normal;color:var(--orange)}.v12-contact-info-side .content>span{color:#b3c0c9;line-height:1.8}.v12-contact-info-side dl{margin-top:90px}.v12-contact-info-side dl>div{border-top:1px solid rgba(255,255,255,.15);padding:18px 0}.v12-contact-info-side dt{font-size:8px;letter-spacing:.14em;color:#80919e}.v12-contact-info-side dd{margin:6px 0 0;font-size:12px}.form-success,.form-error{padding:14px 16px;margin:18px 0;background:#e7f4ed;border-left:3px solid #32835d}.form-error{background:#faece9;border-left-color:#c64c37}
/* engineering */.v12-process-page{background:var(--navy);padding:30px 0 100px}.v12-process-track{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.14)}.v12-process-track article{padding:34px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);min-height:230px}.v12-process-track span{color:var(--orange);font-size:10px}.v12-process-track h2{font-size:25px}.v12-process-track p{color:#9fb0bc;font-size:13px}
/* project detail + errors */.project-detail-head{padding:145px 0 65px;background:var(--navy);color:#fff}.project-detail-head .back-link{font-size:10px;color:#9fb0bc}.project-detail-head .eyebrow{font-size:10px;color:var(--orange);letter-spacing:.13em;margin:35px 0 5px}.project-detail-head>div>span{font-size:12px;color:#92a2ad}.project-detail-head h1{font-size:48px;max-width:900px;line-height:1.15;margin:12px 0 0}.section-lg{padding:80px 0}.project-detail-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.project-detail-grid .eyebrow{font-size:10px;color:var(--orange);letter-spacing:.13em}.project-detail-grid h2{font-size:34px;line-height:1.1}.project-detail-grid p{color:#687680}.project-detail-grid dl{margin:0;border-top:1px solid #aab4bb}.project-detail-grid dl>div{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid #d5dadd;padding:14px 0}.project-detail-grid dt{font-size:10px;color:#7a8791}.project-detail-grid dd{margin:0;font-size:13px;font-weight:700}.source-note-panel{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:30px}.source-note-panel p{font-size:11px;color:#78848e}.outline-dark-btn{border:1px solid var(--ink);padding:11px 15px;font-size:11px;font-weight:900}.error-page{background:#f3f5f6}.error-shell{min-height:100vh;display:grid;place-items:center;padding:40px}.error-shell>div{width:min(760px,100%);border-top:1px solid var(--ink);padding-top:40px}.error-code{display:block;color:var(--orange);font-weight:900}.error-shell h1{font-size:48px}
/* footer */.v12-footer{background:#040d14;color:#fff}.v12-footer-top{padding:50px 0 36px;display:grid;grid-template-columns:1fr 1fr .8fr;gap:70px}.v12-footer-top>div:first-child img{width:220px}.v12-footer-top>div:first-child p{font-size:11px;color:#81929f;max-width:340px}.v12-footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 32px;align-content:start}.v12-footer-top nav a{color:#c6d0d7;font-size:12px}.v12-footer-top>div:last-child{display:flex;flex-direction:column}.v12-footer-top>div:last-child span{font-size:8px;color:#6f8290;letter-spacing:.15em}.v12-footer-top>div:last-child strong{font-size:21px;margin:8px 0}.v12-footer-top>div:last-child a{font-size:12px;color:#c6d0d7}.v12-footer-bottom{padding:18px 0 24px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:30px;color:#6f8190;font-size:9px}.v12-footer-bottom p{margin:0}
@media(max-width:1250px){.v12-wide,.shell,.v12-header-inner,.v12-home-shell{width:calc(100% - 52px)}.v12-home-copy h1{font-size:66px}.v12-solution-strip{grid-template-columns:repeat(3,1fr)}.v12-solution-card{height:360px}.v12-project-grid,.v12-project-dark-grid{grid-template-columns:repeat(2,1fr)}.v12-history-line{grid-template-columns:repeat(3,1fr);row-gap:30px}.v12-history-line article:nth-child(n+4){border-top:1px solid #aeb7be;padding-top:28px}.v12-proof-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){:root{--header:68px}.v12-nav{display:none}.menu-toggle{display:block}.v12-home-shell{grid-template-columns:1fr}.v12-home-pillars{display:none}.v12-home-copy h1{font-size:58px}.v12-hero-metrics{grid-template-columns:repeat(2,1fr);position:relative;margin-top:560px;padding:0 26px}.v12-home-hero{min-height:auto}.v12-home-shell{position:absolute;top:var(--header);left:26px;right:26px;width:auto;min-height:560px}.v12-home-intro .v12-wide{grid-template-columns:1fr}.v12-intro-label{padding-top:0}.v12-solution-strip{grid-template-columns:repeat(2,1fr)}.v12-project-grid{grid-template-columns:1fr 1fr}.v12-tech-layout,.v12-company-about-grid,.v12-company-profile .v12-wide,.v12-tech-story .v12-wide,.v12-contact-wrap{grid-template-columns:1fr}.v12-values .v12-wide{grid-template-columns:1fr}.v12-values article,.v12-values article:first-child{border-left:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.v12-solution-grid{grid-template-columns:repeat(2,1fr)}.v12-dark-head .v12-wide,.v12-project-head .v12-wide,.v12-tech-head .v12-wide{align-items:flex-start;flex-direction:column}.v12-detail-shell{grid-template-columns:1fr}.v12-detail-sidebar{display:none}.v12-detail-hero>ol{display:none}.v12-detail-overview,.v12-detail-specs{grid-template-columns:1fr}.v12-related-projects>div:last-child{grid-template-columns:1fr 1fr}.v12-contact-info-side{min-height:560px}.v12-proof-grid{grid-template-columns:1fr}.v12-process-track{grid-template-columns:1fr 1fr}.project-detail-grid{grid-template-columns:1fr}.v12-footer-top{grid-template-columns:1fr 1fr}.v12-footer-top>div:first-child{grid-column:1/3}}
@media(max-width:620px){.v12-wide,.shell,.v12-header-inner{width:calc(100% - 28px)}.v12-brand{width:175px}.v12-home-shell{left:14px;right:14px}.v12-home-copy h1{font-size:44px}.v12-home-lead{font-size:17px}.v12-hero-metrics{grid-template-columns:1fr 1fr;padding:0 14px}.v12-hero-metrics>div{padding:20px 15px}.v12-hero-metrics strong{font-size:24px}.v12-home-intro,.v12-home-solutions,.v12-home-projects,.v12-home-tech{padding:70px 0}.v12-intro-title h2,.v12-section-heading h2,.v12-tech-layout h2{font-size:34px}.v12-section-heading{align-items:flex-start;flex-direction:column;gap:12px}.v12-section-heading>a{margin-left:0}.v12-solution-strip{grid-template-columns:1fr 1fr}.v12-solution-card{height:320px}.v12-project-grid,.v12-project-dark-grid{grid-template-columns:1fr}.v12-tech-image img{height:350px}.v12-home-cta .v12-wide{align-items:flex-start;flex-direction:column}.v12-company-hero{height:430px}.v12-company-hero h1,.v12-dark-head h1,.v12-project-head h1,.v12-tech-head h1{font-size:40px}.v12-company-about{padding:66px 0}.v12-company-about h2{font-size:34px}.v12-company-about aside{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}.v12-history-line{grid-template-columns:1fr 1fr}.v12-solution-grid{grid-template-columns:1fr}.v12-solution-box{height:330px}.v12-detail-hero{height:440px}.v12-detail-hero .copy{left:22px;top:55px;right:20px}.v12-detail-hero h1{font-size:38px}.v12-detail-hero h2{font-size:18px}.v12-detail-tabs{overflow:auto;padding-left:0}.v12-detail-overview,.v12-detail-specs,.v12-related-projects{padding:50px 20px}.v12-detail-overview{grid-template-columns:1fr}.v12-detail-overview figure img{height:280px}.v12-related-projects>div:last-child{grid-template-columns:1fr}.v12-project-toolbar{align-items:flex-start;flex-direction:column}.v12-project-toolbar input{width:100%}.v12-tech-tabs .v12-wide{overflow:auto}.v12-tech-tabs a{white-space:nowrap;padding:14px 16px}.v12-contact-form-side{padding:45px 20px 60px}.v12-contact-form .two{grid-template-columns:1fr}.v12-contact-info-side .content{padding:50px 28px}.v12-contact-info-side h2{font-size:40px}.v12-process-track{grid-template-columns:1fr}.v12-footer-top{grid-template-columns:1fr}.v12-footer-top>div:first-child{grid-column:auto}.v12-footer-bottom{flex-direction:column}.project-detail-head h1{font-size:36px}.source-note-panel{flex-direction:column}}

/* V13 projects — 실제 시공사례 이미지와 전체 이력 아카이브를 분리해 중복 사진을 제거 */
.v13-project-hero{padding:150px 0 72px;background:linear-gradient(180deg,#071826 0%,#061421 100%);color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}
.v13-project-hero .v12-wide{display:flex;align-items:flex-end;justify-content:space-between;gap:80px}
.v13-project-hero p,.v13-project-section-head p{margin:0 0 12px;color:var(--orange);font-size:10px;font-weight:900;letter-spacing:.18em}
.v13-project-hero h1{font-size:62px;line-height:1.02;letter-spacing:-.05em;margin:0}
.v13-project-hero-copy{max-width:560px;padding-bottom:5px}
.v13-project-hero-copy strong{display:block;font-size:11px;letter-spacing:.14em;margin-bottom:12px;color:#dbe3e8}
.v13-project-hero-copy span{display:block;color:#95a6b2;font-size:13px;line-height:1.8}
.v13-selected-work{padding:78px 0 90px;background:#071826;color:#fff}
.v13-project-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:30px}
.v13-project-section-head h2{font-size:36px;line-height:1.1;margin:0;letter-spacing:-.035em}
.v13-project-section-head>span{max-width:520px;color:#91a2ae;font-size:12px;line-height:1.75}
.v13-field-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.v13-field-card{position:relative;min-height:360px;overflow:hidden;border:1px solid rgba(255,255,255,.13);background:#0b1e2d;color:#fff}
.v13-field-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.75) brightness(.78);transition:transform .5s ease,filter .5s ease}
.v13-field-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,13,21,.96) 0%,rgba(3,13,21,.45) 43%,rgba(3,13,21,.08) 76%)}
.v13-field-card>div{position:absolute;z-index:2;left:20px;right:20px;bottom:20px}
.v13-field-card span{display:block;color:#b7c4cd;font-size:8px;font-weight:900;letter-spacing:.12em}
.v13-field-card h3{font-size:18px;line-height:1.35;margin:7px 42px 0 0}
.v13-field-card i{position:absolute;right:0;bottom:0;width:34px;height:34px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;font-style:normal}
.v13-field-card:hover img{transform:scale(1.045);filter:saturate(.95) brightness(.9)}
.v13-project-archive{padding:88px 0 110px;background:#f4f6f7;color:var(--ink)}
.v13-project-archive .v13-project-section-head>span{color:#6f7c86}
.v13-archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:20px 0 24px;border-top:1px solid #aeb8bf;border-bottom:1px solid #d0d6da}
.v13-archive-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}
.v13-archive-toolbar button{border:1px solid #c9d0d5;background:#fff;color:#55626d;border-radius:99px;padding:8px 13px;font-size:10px;cursor:pointer}
.v13-archive-toolbar button.is-active{background:var(--navy);border-color:var(--navy);color:#fff}
.v13-archive-toolbar input{width:260px;border:0;border-bottom:1px solid #9aa6af;background:transparent;padding:9px 2px;outline:0;color:var(--ink)}
.v13-archive-list{border-top:1px solid #bdc6cc}
.v13-archive-row{display:grid;grid-template-columns:125px minmax(0,1fr) 160px 32px;align-items:center;gap:24px;padding:18px 8px;border-bottom:1px solid #d5dbdf;transition:background .2s,padding .2s}
.v13-archive-row time{font-size:11px;color:var(--orange);font-weight:900}
.v13-archive-row strong{font-size:15px;line-height:1.45}
.v13-archive-row span{font-size:10px;color:#6d7a84}
.v13-archive-row i{font-style:normal;font-size:15px;text-align:right}
.v13-archive-row:hover{background:#fff;padding-left:16px;padding-right:16px}
.v13-archive-row[hidden]{display:none!important}

@media(max-width:1250px){.v13-field-grid{grid-template-columns:repeat(2,1fr)}.v13-field-card{min-height:330px}}
@media(max-width:900px){.v13-project-hero .v12-wide,.v13-project-section-head{align-items:flex-start;flex-direction:column}.v13-project-hero h1{font-size:48px}.v13-archive-toolbar{align-items:flex-start;flex-direction:column}.v13-archive-toolbar input{width:100%}.v13-archive-row{grid-template-columns:105px minmax(0,1fr) 28px}.v13-archive-row span{display:none}}
@media(max-width:620px){.v13-project-hero{padding:120px 0 52px}.v13-project-hero h1{font-size:40px}.v13-selected-work,.v13-project-archive{padding:60px 0}.v13-field-grid{grid-template-columns:1fr}.v13-field-card{min-height:310px}.v13-project-section-head h2{font-size:30px}.v13-archive-row{grid-template-columns:82px minmax(0,1fr) 22px;gap:12px;padding:14px 4px}.v13-archive-row strong{font-size:13px}.v13-archive-row time{font-size:9px}}


/* =========================================================
   V14 GLOBAL DESIGN MASTER
   디자인 보드 기준: 컴팩트한 글로벌 B2B 산업기업 레이아웃
   ========================================================= */
:root{--max:1260px;--header:62px;--orange:#ff5b22;--navy:#061522;--navy2:#091d2d;--paper:#f5f6f7;--ink:#0b1721}
.v14-site{background:#fff}.v14-frame{width:min(calc(100% - 56px),var(--max));margin:0 auto}
.v12-header{height:var(--header);background:#06131f}.v12-header-inner{width:min(calc(100% - 56px),var(--max))}.v12-brand{width:160px}.v12-brand img{height:30px}.v12-nav{gap:27px}.v12-nav>a{font-size:12px;padding:21px 0 19px}.v12-contact-link{padding:9px 15px!important}

/* homepage hero: worker close-up 제거, 산업 플랜트 중심 */
.v14-home-hero{position:relative;height:640px;padding-top:var(--header);overflow:hidden;background:var(--navy);color:#fff}
.v14-home-bg{position:absolute;inset:var(--header) 0 0;background:url('/images/field/plant-overview.jpg') center 58%/cover no-repeat;filter:saturate(.76) contrast(1.04) brightness(.78)}
.v14-home-shade{position:absolute;inset:var(--header) 0 0;background:linear-gradient(90deg,rgba(2,13,22,.94) 0%,rgba(2,13,22,.78) 31%,rgba(2,13,22,.30) 63%,rgba(2,13,22,.18) 100%),linear-gradient(0deg,rgba(4,16,25,.65),transparent 42%)}
.v14-home-inner{position:relative;z-index:2;width:min(calc(100% - 56px),var(--max));height:100%;margin:0 auto;display:grid;grid-template-columns:1fr 290px;align-items:center;gap:70px}
.v14-home-copy{align-self:center;margin-top:-18px}.v14-eyebrow{font-size:9px;font-weight:900;letter-spacing:.19em;line-height:1.55;margin:0 0 18px}.v14-home-copy h1{font-size:68px;line-height:.92;letter-spacing:-.055em;margin:0;font-weight:950}.v14-home-copy h1 em{font-style:normal;color:var(--orange)}.v14-hero-ko{font-size:18px;line-height:1.55;font-weight:800;margin:23px 0 0}.v14-hero-actions{display:flex;align-items:center;gap:12px;margin-top:34px}.v14-round-arrow{width:44px;height:44px;border:1px solid rgba(255,255,255,.76);border-radius:50%;display:grid;place-items:center;font-size:18px}.v14-hero-actions span{font-size:8px;letter-spacing:.13em;color:#c7d1d8}
.v14-pillar-panel{border-left:1px solid rgba(255,255,255,.28);align-self:center}.v14-pillar-panel article{padding:18px 0 18px 24px;border-bottom:1px solid rgba(255,255,255,.18)}.v14-pillar-panel b{font-size:9px;letter-spacing:.13em}.v14-pillar-panel p{margin:7px 0 0;color:#c7d1d8;font-size:11px;line-height:1.6}.v14-hero-foot{position:absolute;left:0;bottom:28px;display:flex;align-items:center;gap:14px}.v14-hero-foot span{font-weight:900;font-size:11px}.v14-hero-foot i{display:block;width:56px;height:2px;background:var(--orange)}.v14-hero-foot p{margin:0;color:#b8c4cc;font-size:9px;line-height:1.5}

/* about teaser */
.v14-home-about{background:#fff;padding:54px 0}.v14-home-about .v14-frame{display:grid;grid-template-columns:1.05fr 1.05fr .55fr;min-height:240px;border-top:1px solid #dde2e6;border-bottom:1px solid #dde2e6}.v14-about-image{position:relative;overflow:hidden;min-height:240px}.v14-about-image img{height:100%;object-fit:cover;filter:saturate(.72) brightness(.7)}.v14-about-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,16,25,.75),rgba(4,16,25,.18))}.v14-about-image>div{position:absolute;z-index:2;left:28px;bottom:28px;color:#fff}.v14-about-image span{font-size:8px;letter-spacing:.14em}.v14-about-image strong{display:block;font-size:25px;line-height:1.12;margin-top:7px}.v14-about-copy{padding:34px 36px}.v14-label{margin:0 0 10px;color:var(--orange);font-size:8px;font-weight:900;letter-spacing:.16em}.v14-about-copy h2{font-size:30px;line-height:1.08;margin:0 0 15px;letter-spacing:-.04em}.v14-about-copy>p:not(.v14-label){color:#65717b;font-size:12px;line-height:1.8;margin:0 0 20px}.v14-about-copy a,.v14-home-proof a{font-size:10px;font-weight:900}.v14-about-copy a span,.v14-home-proof a span{color:var(--orange);margin-left:8px}.v14-about-since{padding:34px;border-left:1px solid #dde2e6}.v14-about-since span{font-size:9px;font-weight:900}.v14-about-since strong{display:block;font-size:56px;line-height:.95;margin:5px 0 13px}.v14-about-since p{font-size:10px;color:#76828c;line-height:1.65}

/* sections */
.v14-home-links{padding:64px 0 72px;background:#fff}.v14-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:22px}.v14-section-head p{margin:0 0 7px;color:var(--orange);font-size:8px;font-weight:900;letter-spacing:.16em}.v14-section-head h2{margin:0;font-size:30px;letter-spacing:-.035em}.v14-section-head>a{font-size:10px;font-weight:900}.v14-section-head.light{color:#fff}.v14-section-head.light>a{color:#d8e1e7}.v14-solution-row{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.v14-solution-tile{height:265px;position:relative;overflow:hidden;background:#0a1b29;color:#fff}.v14-solution-tile img{height:100%;object-fit:cover;filter:saturate(.74) brightness(.70);transition:.4s}.v14-tile-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,16,25,.97),rgba(4,16,25,.02) 70%)}.v14-solution-tile>div:last-child{position:absolute;left:15px;right:15px;bottom:16px}.v14-solution-tile small{display:block;font-size:8px;color:#c0ccd4}.v14-solution-tile h3{font-size:14px;line-height:1.25;margin:5px 24px 0 0}.v14-solution-tile i{position:absolute;right:0;bottom:0;width:27px;height:27px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:11px}.v14-solution-tile:hover img{transform:scale(1.045);filter:saturate(.95) brightness(.85)}
.v14-home-projects{background:#071826;padding:64px 0 72px}.v14-project-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.v14-project-preview>a{background:#0b1e2d;border:1px solid rgba(255,255,255,.13);color:#fff}.v14-project-preview img{height:170px;object-fit:cover;filter:saturate(.78) brightness(.8)}.v14-project-preview>a>div{position:relative;padding:14px 15px 18px;min-height:125px}.v14-project-preview span{color:var(--orange);font-size:8px}.v14-project-preview h3{font-size:13px;line-height:1.45;margin:7px 22px 7px 0}.v14-project-preview p{font-size:8px;color:#8fa1ad;margin:0}.v14-project-preview i{position:absolute;right:14px;bottom:14px;font-style:normal}
.v14-home-proof{background:#f3f5f6;padding:65px 0}.v14-home-proof .v14-frame{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.v14-home-proof h2{font-size:34px;line-height:1.06;margin:0 0 17px}.v14-home-proof>div>div:first-child>p:not(.v14-label){font-size:12px;line-height:1.8;color:#66737d}.v14-proof-docs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v14-proof-docs img{height:245px;object-fit:contain;background:#fff;border:1px solid #d6dde1;padding:10px}.v14-home-cta{background:#061421;color:#fff;padding:36px 0}.v14-home-cta .v14-frame{display:flex;justify-content:space-between;align-items:center;gap:30px}.v14-home-cta p{margin:0;color:var(--orange);font-size:8px;font-weight:900;letter-spacing:.16em}.v14-home-cta h2{margin:5px 0 0;font-size:24px}.v14-home-cta a{border:1px solid rgba(255,255,255,.4);padding:11px 16px;font-size:10px;font-weight:900}

/* global subpage compaction to match master board */
.v12-company-hero{height:360px}.v12-company-hero h1{font-size:44px}.v12-company-about{padding:62px 0}.v12-company-about h2{font-size:34px}.v12-company-about-grid{gap:60px}.v12-company-about aside>strong{font-size:58px}.v12-values article{padding:34px 36px}.v12-history{padding:70px 0}.v12-company-profile{padding:60px 0}.v12-dark-head{padding:118px 0 40px}.v12-dark-head h1,.v12-project-head h1,.v12-tech-head h1{font-size:46px}.v12-solution-grid-wrap{padding:16px 0 70px}.v12-solution-box{height:310px}.v12-solution-box h2{font-size:20px}.v12-detail-hero{height:430px}.v12-detail-hero h1{font-size:48px}.v12-detail-overview,.v12-detail-specs,.v12-related-projects{padding-top:58px;padding-bottom:58px}.v12-tech-head{padding:118px 0 40px}.v12-tech-story{padding:58px 0}.v12-tech-story img{height:350px}.v12-proof{padding:62px 0}.v12-proof-grid button{height:330px}.v12-contact-form-side{padding-top:48px}.v12-contact-info-side{min-height:690px}.v12-contact-info-side .bg{background-image:url('/images/field/plant-overview.jpg')}.v12-footer-top{padding-top:34px;padding-bottom:27px}.v12-footer-top>div:first-child img{width:170px}
/* project V13 layout remains unique-image based, but tighter */
.v13-project-hero{padding:118px 0 52px}.v13-project-hero h1{font-size:48px}.v13-selected-work{padding:52px 0 62px}.v13-field-grid{gap:10px}.v13-field-card{min-height:285px}.v13-project-archive{padding:62px 0 78px}.v13-archive-row{padding-top:14px;padding-bottom:14px}

@media(max-width:1100px){.v14-home-inner{grid-template-columns:1fr 250px}.v14-home-copy h1{font-size:58px}.v14-home-about .v14-frame{grid-template-columns:1fr 1fr}.v14-about-since{grid-column:1/3;border-left:0;border-top:1px solid #dde2e6;display:flex;align-items:center;gap:20px}.v14-about-since strong{font-size:38px}.v14-solution-row{grid-template-columns:repeat(3,1fr)}.v14-solution-tile{height:240px}.v14-project-preview{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.v14-frame,.v12-header-inner{width:calc(100% - 28px)}.v14-home-hero{height:570px}.v14-home-inner{width:calc(100% - 28px);grid-template-columns:1fr}.v14-home-copy h1{font-size:44px}.v14-pillar-panel{display:none}.v14-hero-foot{bottom:18px}.v14-home-about .v14-frame{grid-template-columns:1fr}.v14-about-since{grid-column:auto}.v14-solution-row{grid-template-columns:repeat(2,1fr)}.v14-solution-tile{height:220px}.v14-project-preview{grid-template-columns:1fr}.v14-home-proof .v14-frame{grid-template-columns:1fr}.v14-proof-docs img{height:190px}.v14-home-cta .v14-frame,.v14-section-head{align-items:flex-start;flex-direction:column}.v14-about-image{min-height:260px}}

/* ======================================================================
   V15 — PAGE-SEPARATED GLOBAL LAYOUT
   User-approved principle: Home is concise. Company / Solutions / Projects /
   Technology / Contact are independent destinations, not one long homepage.
   ====================================================================== */
:root{--v15-max:1360px;--v15-header:68px;--v15-orange:#ff5a1f;--v15-navy:#061421;--v15-paper:#f5f6f7}
.v15-shell{width:min(calc(100% - 64px),var(--v15-max));margin-inline:auto}

/* Logo ratio fix: never force both width and height. */
.v12-header{height:var(--v15-header)}
.v12-header-inner{width:min(calc(100% - 64px),var(--v15-max))}
.v12-brand{width:auto;min-width:0;display:flex;align-items:center}
.v12-brand img{display:block!important;width:auto!important;height:34px!important;max-width:220px!important;object-fit:contain!important;object-position:left center!important}
.v12-nav{gap:30px}.v12-nav>a{font-size:13px;padding:24px 0 22px}.v12-contact-link{padding:9px 16px!important}
.mobile-menu{top:var(--v15-header)}

/* HOME: deliberately short, calm and portal-oriented. */
.v15-home-hero{height:620px;min-height:620px;position:relative;padding-top:var(--v15-header);overflow:hidden;background:var(--v15-navy);color:#fff}
.v15-hero-bg{position:absolute;inset:var(--v15-header) 0 0;background:url('/images/premium-hero.jpg') center 52%/cover no-repeat;transform:scale(1.01)}
.v15-hero-shade{position:absolute;inset:var(--v15-header) 0 0;background:linear-gradient(90deg,rgba(3,13,21,.90) 0%,rgba(3,13,21,.66) 41%,rgba(3,13,21,.20) 72%,rgba(3,13,21,.38) 100%),linear-gradient(0deg,rgba(3,13,21,.68) 0%,transparent 44%)}
.v15-hero-layout{height:calc(100% - var(--v15-header));position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:68px;align-items:center;padding-bottom:54px}
.v15-eyebrow{margin:0 0 17px;font-size:10px;font-weight:900;letter-spacing:.18em;color:#d2dce3}
.v15-hero-copy h1{font-size:64px;line-height:.92;letter-spacing:-.055em;margin:0;font-weight:950}.v15-hero-copy h1 em{font-style:normal;color:var(--v15-orange)}
.v15-hero-lead{margin:23px 0 0;font-size:20px;font-weight:800;letter-spacing:-.02em}.v15-hero-sub{max-width:610px;margin:8px 0 0;color:#becad2;font-size:12px;line-height:1.7}
.v15-hero-actions{display:flex;align-items:center;gap:24px;margin-top:29px}.v15-primary-btn{display:inline-flex;align-items:center;gap:22px;padding:11px 15px;border:1px solid rgba(255,255,255,.56);font-size:11px;font-weight:900}.v15-primary-btn span{color:var(--v15-orange)}.v15-primary-btn:hover{background:#fff;color:var(--v15-navy)}.v15-text-link{font-size:10px;font-weight:800;color:#d6e0e6;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:3px}
.v15-hero-rail{border-left:1px solid rgba(255,255,255,.26)}.v15-hero-rail>a{min-height:82px;display:grid;grid-template-columns:34px 1fr 18px;gap:10px;align-items:center;padding:17px 0 17px 20px;border-bottom:1px solid rgba(255,255,255,.16);transition:.25s}.v15-hero-rail>a:first-child{border-top:1px solid rgba(255,255,255,.16)}.v15-hero-rail>a:hover{padding-left:26px;background:rgba(255,255,255,.04)}.v15-hero-rail span{font-size:9px;color:var(--v15-orange);font-weight:900}.v15-hero-rail b{display:block;font-size:10px;letter-spacing:.09em}.v15-hero-rail small{display:block;margin-top:5px;font-size:10px;color:#b9c6cf}.v15-hero-rail i{font-style:normal;font-size:13px;color:#aab8c2}
.v15-hero-bottom{position:absolute;z-index:3;left:0;right:0;bottom:0;height:54px;border-top:1px solid rgba(255,255,255,.14);background:rgba(3,14,23,.75)}.v15-hero-bottom .v15-shell{height:100%;display:flex;align-items:center;gap:18px;color:#9eafb9;font-size:8px;letter-spacing:.13em}.v15-hero-bottom i{display:block;width:46px;height:1px;background:var(--v15-orange)}

.v15-portals{background:#fff;padding:58px 0 64px}.v15-simple-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:22px}.v15-simple-head p{margin:0 0 6px;color:var(--v15-orange);font-size:8px;font-weight:900;letter-spacing:.16em}.v15-simple-head h2{margin:0;font-size:27px;letter-spacing:-.035em}.v15-simple-head>span{max-width:360px;text-align:right;font-size:10px;color:#78848e}
.v15-portal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.v15-portal{position:relative;height:235px;overflow:hidden;background:#0a1b29;color:#fff}.v15-portal img{height:100%;object-fit:cover;filter:saturate(.72) brightness(.73);transition:.4s}.v15-portal .shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,15,24,.96),rgba(3,15,24,.06) 70%)}.v15-portal .copy{position:absolute;left:18px;right:18px;bottom:17px}.v15-portal small{font-size:8px;color:#c4d0d7;letter-spacing:.08em}.v15-portal h3{font-size:17px;margin:4px 0 2px;letter-spacing:-.02em}.v15-portal p{margin:0;font-size:9px;color:#aebbc4}.v15-portal i{position:absolute;right:0;bottom:0;width:29px;height:29px;border:1px solid rgba(255,255,255,.52);border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:11px}.v15-portal:hover img{transform:scale(1.035);filter:saturate(.9) brightness(.83)}
.v15-contact-strip{background:#0a1b29;color:#fff;padding:31px 0}.v15-contact-strip .v15-shell{display:flex;justify-content:space-between;align-items:center;gap:40px}.v15-contact-strip p{margin:0;color:var(--v15-orange);font-size:8px;font-weight:900;letter-spacing:.16em}.v15-contact-strip h2{margin:5px 0 0;font-size:22px}.v15-contact-strip-copy{display:flex;align-items:center;gap:28px}.v15-contact-strip-copy>span{font-size:9px;color:#97a8b3}.v15-contact-strip-copy a{font-size:10px;font-weight:900;border:1px solid rgba(255,255,255,.34);padding:9px 13px}.v15-contact-strip-copy b{color:var(--v15-orange);margin-left:12px}

/* SUBPAGES: comfortable scale — no oversized titles / no excessive vertical space. */
.v12-wide,.shell{width:min(calc(100% - 64px),var(--v15-max))}
.v12-company-hero{height:320px}.v12-company-hero .v12-wide{padding-top:var(--v15-header)}.v12-company-hero h1{font-size:39px;line-height:1.08}.v12-company-hero span{font-size:11px}
.v12-company-about{padding:52px 0}.v12-company-about-grid{gap:52px}.v12-company-about h2{font-size:31px}.v12-company-about .lead{font-size:15px}.v12-company-about p{font-size:12px}.v12-company-about aside>strong{font-size:52px}
.v12-values article{padding:27px 30px}.v12-values h3{font-size:17px}.v12-values p{font-size:11px}
.v12-history{padding:56px 0}.v12-section-heading h2{font-size:29px}.v12-history-line article{padding-right:24px}.v12-history-line h3{font-size:13px}.v12-history-line p{font-size:10px}
.v12-company-profile{padding:48px 0}

.v12-dark-head{padding:102px 0 32px}.v12-dark-head h1,.v12-project-head h1,.v12-tech-head h1{font-size:40px}.v12-dark-head span{font-size:11px}.v12-solution-grid-wrap{padding:14px 0 58px}.v12-solution-grid{gap:8px}.v12-solution-box{height:270px}.v12-solution-box h2{font-size:18px}.v12-solution-box p{font-size:9px}
.v12-detail-sidebar{width:205px}.v12-detail-main{margin-left:205px}.v12-detail-hero{height:380px}.v12-detail-hero h1{font-size:42px}.v12-detail-hero h2{font-size:16px}.v12-detail-hero ol{width:245px}.v12-detail-overview,.v12-detail-specs,.v12-related-projects{padding-top:48px;padding-bottom:48px}.v12-detail-overview h2{font-size:29px}.v12-detail-overview figure img{height:300px}

.v13-project-hero{padding:102px 0 44px}.v13-project-hero h1{font-size:41px}.v13-project-hero-copy{font-size:10px}.v13-selected-work{padding:44px 0 54px}.v13-project-section-head h2{font-size:27px}.v13-field-grid{grid-template-columns:repeat(4,1fr);gap:8px}.v13-field-card{min-height:250px}.v13-field-card h3{font-size:13px}.v13-project-archive{padding:52px 0 64px}.v13-archive-row{padding-top:12px;padding-bottom:12px}.v13-archive-row strong{font-size:11px}

.v12-tech-head{padding:102px 0 34px}.v12-tech-head h1{font-size:40px}.v12-tech-head span{font-size:11px}.v12-tech-tabs a{font-size:9px}.v12-tech-story{padding:48px 0}.v12-tech-story h2{font-size:31px}.v12-tech-story img{height:310px}.v12-proof{padding:52px 0}.v12-proof-grid button{height:290px}.v12-proof-grid h3{font-size:16px}.v12-proof-grid p{font-size:10px}

.v12-contact-form-side{padding-top:42px;padding-bottom:44px}.v12-contact-form-side h1{font-size:39px}.v12-contact-form-side>span{font-size:11px}.v12-contact-form input,.v12-contact-form textarea{padding:10px 0}.v12-contact-info-side{min-height:610px}.v12-contact-info-side h2{font-size:47px}.v12-contact-info-side .content{padding:56px 48px}

/* Footer compactness */
.v12-footer-top{padding-top:30px;padding-bottom:24px}.v12-footer-top>div:first-child img{width:auto!important;height:28px!important;max-width:190px!important;object-fit:contain!important}.v12-footer-bottom{padding-top:16px;padding-bottom:16px}

@media(max-width:1100px){
  .v15-hero-layout{grid-template-columns:1fr 250px;gap:42px}.v15-hero-copy h1{font-size:55px}.v15-portal-grid{grid-template-columns:repeat(2,1fr)}
  .v13-field-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  :root{--v15-header:62px}.v15-shell,.v12-wide,.shell,.v12-header-inner{width:calc(100% - 28px)}
  .v12-brand img{height:28px!important;max-width:180px!important}.v15-home-hero{height:570px;min-height:570px}.v15-hero-layout{grid-template-columns:1fr;align-items:end;padding-bottom:80px}.v15-hero-rail{display:none}.v15-hero-copy h1{font-size:43px}.v15-hero-lead{font-size:17px}.v15-hero-sub{font-size:10px}.v15-hero-actions{margin-top:23px}.v15-hero-bottom .v15-shell span:last-child{display:none}
  .v15-portals{padding:42px 0}.v15-simple-head{align-items:flex-start;flex-direction:column;gap:10px}.v15-simple-head h2{font-size:23px}.v15-simple-head>span{text-align:left}.v15-portal-grid{grid-template-columns:1fr 1fr}.v15-portal{height:205px}.v15-contact-strip .v15-shell,.v15-contact-strip-copy{align-items:flex-start;flex-direction:column;gap:16px}
  .v12-company-hero{height:280px}.v12-company-hero h1,.v12-dark-head h1,.v13-project-hero h1,.v12-tech-head h1{font-size:33px}.v13-field-grid{grid-template-columns:1fr 1fr}.v13-field-card{min-height:220px}
  .v12-detail-sidebar{display:none}.v12-detail-main{margin-left:0}.v12-detail-hero{height:360px}.v12-detail-hero ol{display:none}.v12-contact-info-side{min-height:430px}
}
@media(max-width:480px){.v15-portal-grid,.v13-field-grid{grid-template-columns:1fr}.v15-portal{height:215px}.v15-hero-copy h1{font-size:39px}}

/* =========================================================
   V16 — Premium readability + high-quality media pass
   ========================================================= */
:root{--v16-text:#dfe8ee;--v16-muted:#aebbc5}

/* Header / global readability */
.v12-nav{gap:32px}.v12-nav>a{font-size:14px;letter-spacing:-.01em}.v12-contact-link{font-size:13px!important}
.v12-brand img{width:auto!important;height:34px!important;max-width:220px!important;object-fit:contain!important}

/* Home */
.v15-eyebrow{font-size:11px}.v15-hero-copy h1{font-size:66px}.v15-hero-lead{font-size:22px;line-height:1.45}.v15-hero-sub{font-size:14px;line-height:1.72;color:#d4dee5}
.v15-primary-btn{font-size:13px;padding:12px 17px}.v15-text-link{font-size:12px}.v15-hero-rail b{font-size:12px}.v15-hero-rail small{font-size:11px;line-height:1.45;color:#d2dbe2}.v15-hero-rail span{font-size:10px}
.v15-simple-head p{font-size:10px}.v15-simple-head h2{font-size:31px}.v15-simple-head>span{font-size:12px;line-height:1.65;color:#697782}
.v15-portal{height:250px}.v15-portal small{font-size:9px}.v15-portal h3{font-size:20px}.v15-portal p{font-size:11px;color:#d1dbe2}.v15-portal img{filter:saturate(.92) contrast(1.04) brightness(.76)}
.v15-contact-strip p{font-size:9px}.v15-contact-strip h2{font-size:24px}.v15-contact-strip-copy>span{font-size:11px}.v15-contact-strip-copy a{font-size:12px}

/* Solutions */
.v12-dark-head p{font-size:11px}.v12-dark-head h1{font-size:44px}.v12-dark-head span{font-size:14px;line-height:1.75;color:#c4d0d8}
.v12-solution-grid{gap:12px}.v12-solution-box{height:305px}.v12-solution-box img{filter:saturate(.95) contrast(1.04) brightness(.78)}
.v12-solution-box .shade{background:linear-gradient(0deg,rgba(2,12,20,.94) 0%,rgba(2,12,20,.24) 58%,rgba(2,12,20,.05) 100%)}
.v12-solution-box .copy{left:24px;right:24px;bottom:22px}.v12-solution-box .copy>span{font-size:11px}.v12-solution-box h2{font-size:23px;line-height:1.2;margin:7px 0 3px}.v12-solution-box p{font-size:11.5px;color:#d2dce3}.v12-all-link a{font-size:14px}

/* Company */
.v12-company-hero h1{font-size:43px}.v12-company-hero span{font-size:14px;line-height:1.6;color:#e0e7ec}
.v12-company-about h2{font-size:38px}.v12-company-about .lead{font-size:20px}.v12-company-about p{font-size:15px;line-height:1.9}.v12-company-about aside>p{font-size:14px}
.v12-values article h3{font-size:18px}.v12-values article p{font-size:13px;line-height:1.7}.v12-history h2{font-size:31px}.v12-history-item strong{font-size:17px}.v12-history-item p{font-size:13px;line-height:1.6}

/* Projects */
.v13-project-hero p,.v13-project-section-head p{font-size:11px}.v13-project-hero h1{font-size:46px}.v13-project-hero-copy{font-size:13px;line-height:1.7;color:#bac8d1}
.v13-project-section-head h2{font-size:31px}.v13-project-section-head>span{font-size:12px;line-height:1.6;color:#b9c6ce}
.v13-field-grid{gap:12px}.v13-field-card{min-height:285px}.v13-field-card img{filter:saturate(.94) contrast(1.04) brightness(.82)}
.v13-field-card>div{padding:0 18px 18px}.v13-field-card span{font-size:9px}.v13-field-card h3{font-size:16px;line-height:1.35}.v13-field-card i{width:34px;height:34px;font-size:14px}
.v13-archive-toolbar button{font-size:12px;padding:8px 13px}.v13-archive-toolbar input{font-size:13px}.v13-archive-row time{font-size:12px}.v13-archive-row strong{font-size:13px;line-height:1.45}.v13-archive-row span{font-size:12px}.v13-archive-row i{font-size:15px}

/* Technology */
.v12-tech-head p{font-size:11px}.v12-tech-head h1{font-size:44px}.v12-tech-head>div>span{font-size:14px;line-height:1.75}.v12-tech-tabs a{font-size:11px}
.v12-tech-story h2{font-size:35px}.v12-tech-story p:not(:first-child),.v12-tech-story ul{font-size:15px;line-height:1.8}.v12-proof-grid small{font-size:10px}.v12-proof-grid h3{font-size:19px}.v12-proof-grid p{font-size:13px;line-height:1.65}.v12-proof-grid button span{font-size:10px}

/* Contact */
.v12-contact-form-side>h1{font-size:43px}.v12-contact-form-side>span{font-size:14px;line-height:1.7}.v12-contact-form label>span{font-size:12px}.v12-contact-form input,.v12-contact-form textarea{font-size:15px;padding:13px 14px}.v12-contact-form button{font-size:15px;padding:15px 18px}
.v12-contact-info-side .content>p{font-size:11px}.v12-contact-info-side h2{font-size:49px}.v12-contact-info-side .content>span{font-size:15px}.v12-contact-info-side dt{font-size:10px}.v12-contact-info-side dd{font-size:14px}

/* Footer */
.v12-footer-top,.v12-footer-bottom{font-size:12px}.v12-footer-top a{font-size:12px}.v12-footer-top p{font-size:11px}

@media(max-width:760px){
  .v15-hero-copy h1{font-size:45px}.v15-hero-lead{font-size:18px}.v15-hero-sub{font-size:13px}
  .v12-dark-head h1,.v13-project-hero h1,.v12-tech-head h1{font-size:36px}.v12-dark-head span,.v13-project-hero-copy,.v12-tech-head>div>span{font-size:13px}
  .v12-solution-box h2{font-size:20px}.v13-field-card h3{font-size:15px}
  .v12-company-about p,.v12-tech-story p:not(:first-child),.v12-tech-story ul{font-size:14px}
}

/* =========================================================
   V17 PREMIUM MEDIA + DISTINCT FIELD WORK
   - logo scale reduced in header/footer
   - premium non-overlapping visuals
   - each selected field-work card has its own detail page
   - company/contact/hero backgrounds replaced
   ========================================================= */
:root{--max:1380px;--v15-max:1320px}

/* Logo: keep original aspect ratio, reduce visual weight. */
.v12-brand{width:145px!important;display:flex;align-items:center}
.v12-brand img{width:auto!important;height:25px!important;max-width:145px!important;object-fit:contain!important;object-position:left center!important}
.v12-footer-top>div:first-child img{width:auto!important;height:22px!important;max-width:145px!important;object-fit:contain!important}

/* Premium hero / company / contact media. */
.v15-hero-bg{background-image:url('/images/v18/home-hero-poster-desktop.jpg')!important;background-position:center 38%!important;transform:scale(1.005)}
.v15-hero-shade{background:linear-gradient(90deg,rgba(3,13,21,.92) 0%,rgba(3,13,21,.72) 37%,rgba(3,13,21,.25) 70%,rgba(3,13,21,.35) 100%),linear-gradient(0deg,rgba(3,13,21,.74) 0%,transparent 48%)!important}
.v12-company-hero .bg{background-image:url('/images/v17/site/company-hero.jpg')!important;background-position:center 44%!important;filter:saturate(.88) contrast(1.03) brightness(.72)!important}
.v12-company-hero .shade{background:linear-gradient(90deg,rgba(3,14,23,.92) 0%,rgba(3,14,23,.58) 45%,rgba(3,14,23,.28) 73%,rgba(3,14,23,.46) 100%)!important}
.v12-contact-info-side .bg{background-image:url('/images/v17/site/contact-bg.jpg')!important;background-position:center center!important;filter:saturate(.9) contrast(1.08) brightness(.58)!important}

/* Keep layouts refined rather than oversized. */
.v12-solution-grid{gap:10px!important}
.v12-solution-box{height:255px!important}
.v12-solution-box img{filter:saturate(.95) contrast(1.05) brightness(.80)!important}
.v12-solution-box:hover img{filter:saturate(1.05) contrast(1.05) brightness(.88)!important}
.v13-field-grid{gap:10px!important}
.v13-field-card{min-height:225px!important}
.v13-field-card>img{filter:saturate(.94) contrast(1.04) brightness(.80)!important}
.v13-field-card:after{background:linear-gradient(0deg,rgba(3,14,23,.94) 0%,rgba(3,14,23,.42) 43%,rgba(3,14,23,.05) 76%)!important}
.v13-field-card h3{font-size:16px!important;line-height:1.32!important}
.v13-field-card span{font-size:9px!important;letter-spacing:.11em!important}

/* Field-work detail pages: each project-category card now opens unique content. */
.v17-field-detail-page{background:#fff}
.v17-field-hero{position:relative;height:430px;margin-top:var(--v15-header);overflow:hidden;color:#fff;background:#061421}
.v17-field-hero .bg{position:absolute;inset:0;background-position:center;background-size:cover;filter:saturate(.96) contrast(1.04)}
.v17-field-hero .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,13,21,.94),rgba(3,13,21,.58) 52%,rgba(3,13,21,.18) 100%),linear-gradient(0deg,rgba(3,13,21,.70),transparent 55%)}
.v17-field-hero .copy{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.v17-back-link{font-size:11px;letter-spacing:.11em;color:#c6d1d8;margin-bottom:24px;font-weight:800}
.v17-field-hero .copy>p{margin:0 0 10px;color:#ff5a1f;font-size:11px;font-weight:900;letter-spacing:.15em}
.v17-field-hero .copy>span{font-size:12px;color:#ff5a1f;font-weight:900;margin-bottom:6px}
.v17-field-hero h1{font-size:48px;line-height:1.06;letter-spacing:-.045em;margin:0;max-width:820px}
.v17-field-hero h2{font-size:18px;line-height:1.65;margin:18px 0 0;max-width:780px;color:#e2e9ed;font-weight:700}
.v17-field-overview{padding:66px 0;background:#fff}
.v17-field-overview-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}
.v17-field-overview h2{font-size:34px;line-height:1.12;margin:0;letter-spacing:-.035em}
.v17-field-overview-grid>p{margin:5px 0 0;color:#55646f;font-size:15px;line-height:1.9}
.v17-field-specs{background:#f2f4f5;padding:56px 0}
.v17-field-spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.v17-field-spec-grid article{background:#fff;border:1px solid #d8dde2;padding:30px 30px 32px}
.v17-field-spec-grid article>p{margin:0 0 20px;color:#ff5a1f;font-size:10px;font-weight:900;letter-spacing:.13em}
.v17-field-spec-grid ul,.v17-field-spec-grid ol{margin:0;padding:0;list-style:none}
.v17-field-spec-grid li{padding:11px 0;border-bottom:1px solid #e5e8ea;font-size:14px;color:#263642;line-height:1.55}
.v17-field-spec-grid ol li{display:grid;grid-template-columns:34px 1fr;gap:10px}.v17-field-spec-grid ol span{color:#ff5a1f;font-size:10px;font-weight:900;padding-top:3px}
.v17-field-related{padding:64px 0 76px;background:#fff}
.v17-related-list{border-top:1px solid #cfd6db}
.v17-related-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:22px;align-items:center;padding:15px 0;border-bottom:1px solid #dde2e6}
.v17-related-list time{font-size:12px;color:#ff5a1f;font-weight:900}.v17-related-list strong{font-size:14px;line-height:1.55}
.v17-inquiry-link{display:inline-flex;margin-top:28px;padding:12px 18px;border:1px solid #0b1b29;font-size:13px;font-weight:900}.v17-inquiry-link span{color:#ff5a1f;margin-left:14px}

@media(max-width:900px){
  .v12-brand{width:125px!important}.v12-brand img{height:23px!important;max-width:125px!important}
  .v17-field-hero{height:350px}.v17-field-hero h1{font-size:36px}.v17-field-hero h2{font-size:15px}
  .v17-field-overview-grid{grid-template-columns:1fr;gap:24px}.v17-field-spec-grid{grid-template-columns:1fr}.v17-related-row{grid-template-columns:90px minmax(0,1fr)}
  .v12-solution-box{height:230px!important}.v13-field-card{min-height:215px!important}
}

/* V18 — project cleanup & pagination */
.project-detail-grid-clean{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);align-items:start}
.project-detail-summary h2{font-size:32px;line-height:1.3;margin:10px 0 26px}
.project-pagination{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:30px;flex-wrap:wrap}
.project-pagination button{min-width:38px;height:38px;padding:0 11px;border:1px solid #c9d0d5;background:#fff;color:#25333d;font-size:12px;font-weight:700;cursor:pointer}
.project-pagination button:hover:not(:disabled),.project-pagination button.is-active{background:var(--navy);border-color:var(--navy);color:#fff}
.project-pagination button:disabled{opacity:.35;cursor:default}
.project-page-status{text-align:center;margin:12px 0 0;color:#74818b;font-size:12px}
@media(max-width:700px){.project-detail-grid-clean{grid-template-columns:1fr}.project-pagination button:not(:first-child):not(:last-child):not(.is-active){display:none}}

/* V18.1 — approved header logo replacement
   Use the supplied logo artwork unchanged; only size it for the header. */
.v12-brand{width:320px!important;flex:0 0 320px!important}
.v12-brand img{width:320px!important;height:auto!important;max-width:320px!important;object-fit:contain!important;object-position:left center!important}
@media(max-width:1100px){
  .v12-brand{width:260px!important;flex-basis:260px!important}
  .v12-brand img{width:260px!important;max-width:260px!important;height:auto!important}
}
@media(max-width:760px){
  .v12-brand{width:220px!important;flex-basis:220px!important}
  .v12-brand img{width:220px!important;max-width:220px!important;height:auto!important}
}


/* V18.2 — footer logo uses the same approved artwork as the header. */
.v12-footer-top>div:first-child img{
  width:280px!important;
  height:auto!important;
  max-width:280px!important;
  object-fit:contain!important;
  object-position:left center!important;
  display:block!important;
  margin-bottom:10px;
}
@media(max-width:900px){
  .v12-footer-top>div:first-child img{width:240px!important;max-width:240px!important;height:auto!important}
}
@media(max-width:620px){
  .v12-footer-top>div:first-child img{width:210px!important;max-width:210px!important;height:auto!important}
}


/* V18.4 — approved visual refinements (2026-09-11)
   - portal heading simplified and lowered
   - second desktop history row gets breathing room
   - footer company info block
   - header/footer use a tightly cropped approved composite logo */
.v18-portal-head{
  justify-content:flex-start!important;
  align-items:flex-start!important;
  padding-top:28px;
  margin-bottom:22px!important;
}
.v18-portal-head>div>p{margin-bottom:0!important}

@media(min-width:1251px){
  .v12-history-line article:nth-child(n+7){margin-top:24px}
}

.v12-footer-top{grid-template-columns:1fr .8fr 1.05fr;gap:64px}
.v18-company-info{display:flex;flex-direction:column;align-items:flex-start}
.v18-company-info>span{font-size:8px!important;color:#6f8290!important;letter-spacing:.15em}
.v18-company-info>strong{font-size:15px!important;margin:7px 0 9px!important;color:#fff}
.v18-company-info ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;width:100%}
.v18-company-info li{display:grid;grid-template-columns:92px 1fr;gap:8px;align-items:start;font-size:10px;line-height:1.45;color:#c6d0d7}
.v18-company-info li b{font-weight:700;color:#8295a3}
.v18-company-info li em{font-style:normal;color:#d7e0e6}
.v18-company-info li a{font-size:10px!important;color:#d7e0e6!important;word-break:break-word}

/* Tight logo sizing: the bitmap has no excess transparent canvas. */
.v12-brand{width:320px!important;flex:0 0 320px!important}
.v12-brand img{width:320px!important;height:auto!important;max-width:320px!important}
.v12-footer-top>div:first-child img{width:280px!important;height:auto!important;max-width:280px!important}

@media(max-width:1100px){
  .v12-brand{width:260px!important;flex-basis:260px!important}
  .v12-brand img{width:260px!important;max-width:260px!important}
}
@media(max-width:900px){
  .v12-footer-top{grid-template-columns:1fr 1fr}
  .v12-footer-top>div:first-child{grid-column:1/3}
  .v18-company-info{grid-column:auto}
  .v12-footer-top>div:first-child img{width:240px!important;max-width:240px!important}
}
@media(max-width:760px){
  .v12-brand{width:220px!important;flex-basis:220px!important}
  .v12-brand img{width:220px!important;max-width:220px!important}
}
@media(max-width:620px){
  .v18-portal-head{padding-top:18px}
  .v12-footer-top{grid-template-columns:1fr}
  .v12-footer-top>div:first-child{grid-column:auto}
  .v18-company-info li{grid-template-columns:88px 1fr}
  .v12-footer-top>div:first-child img{width:210px!important;max-width:210px!important}
}


/* V18.5 — logo proportional fix + footer company-info alignment
   - keep "득일로공업(주)" the same size
   - shrink DIF + English block to 50% and place it close on the right
   - move COMPANY INFO farther right in the footer */
.v12-footer-top{
  grid-template-columns:minmax(300px,1fr) minmax(180px,.7fr) 390px!important;
  gap:48px!important;
  align-items:start;
}
.v18-company-info{
  justify-self:end!important;
  width:390px;
  max-width:100%;
  margin-left:auto;
}
.v18-company-info ul{width:100%}

@media(max-width:1100px){
  .v12-footer-top{grid-template-columns:1fr .85fr 330px!important;gap:36px!important}
  .v18-company-info{width:330px}
}
@media(max-width:900px){
  .v12-footer-top{grid-template-columns:1fr 1fr!important}
  .v18-company-info{width:100%;justify-self:stretch!important;margin-left:0}
}
@media(max-width:620px){
  .v12-footer-top{grid-template-columns:1fr!important}
  .v18-company-info{width:100%}
}


/* V18.6 — footer nav slight right shift
   Move the footer link group a little farther right while keeping the overall balance. */
.v12-footer-top nav{
  justify-self:center!important;
  margin-left:22px!important;
}
@media(max-width:1100px){
  .v12-footer-top nav{margin-left:14px!important}
}
@media(max-width:900px){
  .v12-footer-top nav{justify-self:start!important;margin-left:0!important}
}


/* V18.7 — final spacing/content refinements
   - footer company info moved further right
   - company profile values shifted right
   - about sentence punctuation simplified
   - certification cards no longer show the original-view button */

/* Technology proof cards: show static document image only. */
.v12-proof-doc{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:390px;
  background:#e9edef;
  padding:16px;
}
.v12-proof-doc img{
  height:100%;
  object-fit:contain;
}

/* Footer adjustments on desktop. */
.v12-footer-top nav{
  justify-self:center!important;
  margin-left:28px!important;
}
.v18-company-info{
  width:320px!important;
  max-width:100%;
  justify-self:end!important;
  margin-left:auto!important;
  transform:translateX(34px);
}

/* Company Profile: keep label column, push value column further right. */
.v12-company-profile dl>div{
  grid-template-columns:150px 1fr!important;
}
.v12-company-profile dd{
  padding-left:78px;
}

@media(max-width:1100px){
  .v12-footer-top nav{margin-left:18px!important}
  .v18-company-info{width:300px!important;transform:translateX(16px)}
  .v12-company-profile dd{padding-left:36px}
}
@media(max-width:900px){
  .v12-proof-doc{height:330px}
  .v12-footer-top nav{justify-self:start!important;margin-left:0!important}
  .v18-company-info{width:100%!important;transform:none}
  .v12-company-profile dl>div{grid-template-columns:130px 1fr!important}
  .v12-company-profile dd{padding-left:0}
}
@media(max-width:620px){
  .v12-proof-doc{height:290px}
}


/* V18.8 — remove company name line from footer company info */
.v18-company-info>strong{display:none!important}


/* V18.10 — footer logo size tuning for the new banner logo */
.v12-footer-top>div:first-child img{
  width:170px!important;
  max-width:170px!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
  object-position:left center!important;
  margin-bottom:12px!important;
}
@media(max-width:900px){
  .v12-footer-top>div:first-child img{
    width:150px!important;
    max-width:150px!important;
    height:auto!important;
  }
}
@media(max-width:620px){
  .v12-footer-top>div:first-child img{
    width:135px!important;
    max-width:135px!important;
    height:auto!important;
  }
}


/* V18.11 — approved header/footer cleanup
   - slightly smaller header logo without cropping
   - slightly smaller footer logo
   - remove COMPANY INFO block
   - place business registration number and email on the bottom line
   - keep footer navigation visually balanced */
.v12-brand{width:275px!important;flex:0 0 275px!important;overflow:visible!important}
.v12-brand img{width:275px!important;max-width:275px!important;height:auto!important;object-fit:contain!important;object-position:left center!important;display:block!important}
.v12-footer-top.v18-footer-clean{grid-template-columns:minmax(280px,1fr) minmax(420px,1fr)!important;gap:72px!important;align-items:start!important}
.v18-footer-brand img{width:150px!important;max-width:150px!important;height:auto!important;object-fit:contain!important;object-position:left center!important;display:block!important}
.v18-footer-nav{display:grid!important;grid-template-columns:repeat(5,max-content)!important;gap:0!important;justify-self:end!important;align-self:start!important;margin-left:0!important;padding-top:8px!important}
.v18-footer-nav a{padding:0 22px!important;border-left:1px solid rgba(255,255,255,.14);white-space:nowrap}
.v18-footer-nav a:first-child{border-left:0}
.v18-footer-bottom{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important;gap:30px!important}
.v18-footer-extra{display:flex!important;gap:24px!important;align-items:center!important;white-space:nowrap}
.v18-footer-extra span+span{padding-left:24px;border-left:1px solid rgba(255,255,255,.18)}
.v18-footer-extra a{color:inherit!important;text-decoration:none!important}
.v18-footer-copy{white-space:nowrap}
@media(max-width:1100px){
  .v12-brand{width:240px!important;flex-basis:240px!important}
  .v12-brand img{width:240px!important;max-width:240px!important}
  .v12-footer-top.v18-footer-clean{grid-template-columns:1fr 1fr!important;gap:40px!important}
  .v18-footer-nav{grid-template-columns:repeat(3,max-content)!important;row-gap:14px!important}
  .v18-footer-nav a{padding:0 14px!important}
  .v18-footer-bottom{grid-template-columns:1fr auto!important}
  .v18-footer-extra{grid-column:1/-1;grid-row:2}
}
@media(max-width:760px){
  .v12-brand{width:205px!important;flex-basis:205px!important}
  .v12-brand img{width:205px!important;max-width:205px!important}
}
@media(max-width:700px){
  .v12-footer-top.v18-footer-clean{grid-template-columns:1fr!important;gap:28px!important}
  .v18-footer-nav{justify-self:start!important;grid-template-columns:repeat(2,max-content)!important}
  .v18-footer-nav a{padding:0 16px 0 0!important;border-left:0!important}
  .v18-footer-bottom{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important}
  .v18-footer-extra{flex-wrap:wrap!important;gap:8px 16px!important;white-space:normal}
  .v18-footer-extra span+span{padding-left:0!important;border-left:0!important}
}

/* V18.13 — approved compact wide header logo
   - uses the user-approved horizontal logo artwork
   - keeps the entire logo visible inside the 62px header
   - leaves visible top/bottom breathing room
   - footer sizing/layout from V18.11 remains unchanged */
.v12-header{
  background:#06131e!important;
}
.v12-brand{
  width:158px!important;
  flex:0 0 158px!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  overflow:visible!important;
}
.v12-brand img{
  width:auto!important;
  height:46px!important;
  max-width:158px!important;
  max-height:46px!important;
  object-fit:contain!important;
  object-position:left center!important;
  display:block!important;
}
@media(max-width:1100px){
  .v12-brand{width:148px!important;flex-basis:148px!important}
  .v12-brand img{height:43px!important;max-width:148px!important;max-height:43px!important}
}
@media(max-width:760px){
  .v12-brand{width:132px!important;flex-basis:132px!important}
  .v12-brand img{height:39px!important;max-width:132px!important;max-height:39px!important}
}


/* V18.14 — header/footer logo clarity tune
   - replace header wide logo with clearer high-resolution version
   - use the same wide logo in footer for visual consistency
   - keep header size the same
   - move footer navigation slightly downward for a more natural balance */
.v12-brand img{
  image-rendering:auto;
}
.v18-footer-brand img{
  width:220px!important;
  max-width:220px!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:left center!important;
  display:block!important;
}
.v18-footer-nav{
  padding-top:20px!important;
}
@media(max-width:1100px){
  .v18-footer-brand img{width:205px!important;max-width:205px!important}
  .v18-footer-nav{padding-top:16px!important}
}
@media(max-width:700px){
  .v18-footer-brand img{width:180px!important;max-width:180px!important}
  .v18-footer-nav{padding-top:8px!important}
}


/* V18.15 — approved final logo applied to header/footer */
.v12-brand img{width:190px!important;max-width:190px!important;height:70px!important;max-height:70px!important;object-fit:contain!important;object-position:center center!important}
.v18-footer-brand img{width:190px!important;max-width:190px!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:left center!important}
@media(max-width:1100px){.v12-brand img{width:175px!important;max-width:175px!important;height:66px!important}.v18-footer-brand img{width:180px!important;max-width:180px!important}}
@media(max-width:760px){.v12-brand img{width:155px!important;max-width:155px!important;height:58px!important}.v18-footer-brand img{width:165px!important;max-width:165px!important}}


/* V18.17 — mobile navigation reliability fix */
@media(max-width:900px){
  .menu-toggle{z-index:1003;cursor:pointer;touch-action:manipulation}
  .mobile-menu{z-index:1002;display:none!important;visibility:hidden;opacity:0;pointer-events:none}
  .mobile-menu.is-open{display:block!important;visibility:visible;opacity:1;pointer-events:auto}
  body.menu-open{overflow:hidden}
  .menu-toggle.is-open span:first-child{top:21px;transform:rotate(45deg)}
  .menu-toggle.is-open span:last-child{top:21px;transform:rotate(-45deg)}
  .menu-toggle span{transition:transform .2s ease,top .2s ease}
}

/* =========================================================
   V18.18 — solution detail: refractory engineering story
   - keeps the approved DEUK IL site language and dark/navy palette
   - adds a factual engineering flow without fixing one material to one facility
   - keeps the inquiry area focused and separates project history from solution content
   ========================================================= */
.v1818-solution-page{background:#fff}
.v1818-detail-shell{grid-template-columns:220px minmax(0,1fr)}
.v1818-detail-sidebar{padding:38px 18px;background:#071723}
.v1818-detail-sidebar>p{color:#fff;font-size:12px;font-weight:900;letter-spacing:-.01em;margin:0 8px 24px}
.v1818-detail-sidebar a{font-size:11px;padding:13px 9px}
.v1818-detail-sidebar a.v1858-engineering-link{margin-top:0;padding-top:13px;color:#d9e1e6}
.v1818-detail-main{margin-left:0!important;min-width:0}
.v1818-detail-hero{height:470px}
.v1818-detail-hero .bg{filter:saturate(.84) contrast(1.02) brightness(.76);transform:scale(1.01)}
.v1818-detail-hero .shade{background:linear-gradient(90deg,rgba(3,14,23,.93) 0%,rgba(3,14,23,.58) 52%,rgba(3,14,23,.18) 78%,rgba(3,14,23,.55) 100%),linear-gradient(0deg,rgba(3,14,23,.58),transparent 55%)}
.v1818-detail-hero .copy{left:52px;top:72px;max-width:680px}
.v1818-detail-hero .copy>p{color:#ff875c;font-size:10px;font-weight:900;letter-spacing:.18em}
.v1818-detail-hero h1{font-size:52px;letter-spacing:-.045em;margin-top:10px;margin-bottom:8px}
.v1818-english-title{display:block;color:#e2e9ed;font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;margin-bottom:17px}
.v1818-detail-hero h2{font-size:17px;line-height:1.68;font-weight:700;max-width:630px;color:#eef2f4;margin-bottom:24px}
.v1818-detail-hero .copy a{padding:11px 15px;background:rgba(5,20,31,.24);backdrop-filter:blur(4px)}
.v1818-hero-message{position:absolute;z-index:2;right:40px;bottom:43px;text-align:right;color:#fff;border-right:1px solid rgba(255,255,255,.5);padding-right:18px}
.v1818-hero-message span,.v1818-hero-message small{display:block;font-size:8px;letter-spacing:.18em;color:#c2ced6}
.v1818-hero-message b{display:block;font-size:14px;letter-spacing:.15em;margin:3px 0}
.v1818-detail-tabs{padding-left:36px;box-shadow:0 3px 10px rgba(0,0,0,.03)}
.v1818-detail-tabs a{padding:16px 20px;font-size:9px;letter-spacing:.07em}

.v1818-overview{position:relative;padding:64px 52px;background:#fff;display:grid;grid-template-columns:42px minmax(280px,.8fr) minmax(380px,1.2fr);gap:28px 42px;align-items:center}
.v1818-section-number{align-self:start;color:#b48158;font-size:13px;font-weight:900;padding-top:6px}
.v1818-overview-copy>p,.v1818-scope-head>p,.v1818-engineering-head>div>p,.v1818-inquiry-inner p{color:#b48158;font-size:9px;font-weight:900;letter-spacing:.16em;margin:0 0 8px}
.v1818-overview-copy h2{font-size:31px;letter-spacing:-.035em;margin:0 0 18px}
.v1818-overview-copy>span{display:block;color:#596772;font-size:14px;line-height:1.9;max-width:580px}
.v1818-overview figure{margin:0;position:relative;overflow:hidden;min-height:285px;background:#0b1b28}
.v1818-overview figure img{height:285px;object-fit:cover;filter:saturate(.82) contrast(1.03)}
.v1818-overview figcaption{position:absolute;right:0;bottom:0;background:rgba(6,20,33,.9);padding:13px 16px;color:#fff;font-size:9px;letter-spacing:.06em}

.v1818-scope{background:#0a1823;color:#fff;padding:52px}
.v1818-scope-head{display:grid;grid-template-columns:42px auto 1fr;column-gap:42px;align-items:end;margin-bottom:26px}
.v1818-scope-head>span{color:#c28a5b;font-size:13px;font-weight:900}
.v1818-scope-head>p{grid-column:2/4;grid-row:1;margin:0 0 6px}
.v1818-scope-head h2{grid-column:2/4;grid-row:2;font-size:27px;line-height:1.15;margin:0;letter-spacing:-.035em}
.v1818-scope-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.15)}
.v1818-scope-grid article{padding:25px 28px 12px;border-right:1px solid rgba(255,255,255,.12)}
.v1818-scope-grid article:first-child{border-left:1px solid rgba(255,255,255,.12)}
.v1818-scope-grid article>p{margin:0 0 15px;color:#bfcbd3;font-size:9px;letter-spacing:.13em;font-weight:900}
.v1818-scope-grid ul,.v1818-scope-grid ol{list-style:none;margin:0;padding:0}
.v1818-scope-grid li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:12px;color:#eef2f4;line-height:1.5}
.v1818-scope-grid ol li{display:grid;grid-template-columns:30px 1fr;gap:8px}.v1818-scope-grid ol span{color:#c28a5b;font-size:9px}.v1818-scope-grid ol b{font-size:11px;font-weight:700}

.v1818-engineering{position:relative;overflow:hidden;background:#f3f4f4}
.v1818-engineering-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(.08) saturate(.55);opacity:.14}
.v1818-engineering-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.92) 55%,rgba(245,246,246,.78) 100%)}
.v1818-engineering-inner{position:relative;z-index:2;padding:62px 52px 54px}
.v1818-engineering-head{display:grid;grid-template-columns:1fr .85fr;gap:70px;align-items:end;margin-bottom:34px}
.v1818-engineering-head>div>span{display:block;color:#b48158;font-size:13px;font-weight:900;margin-bottom:5px}
.v1818-engineering-head h2{font-size:35px;line-height:1.15;letter-spacing:-.045em;margin:0;color:#101b23}
.v1818-engineering-head>p{margin:0 0 3px;color:#55636d;font-size:13px;line-height:1.85;max-width:560px}
.v1818-engineering-flow{display:grid;grid-template-columns:1fr 28px 1fr 28px 1.08fr 28px 1fr 28px 1fr;align-items:stretch;border:1px solid #d8dde1;background:rgba(255,255,255,.72);backdrop-filter:blur(6px)}
.v1818-engineering-flow article{position:relative;padding:24px 17px 22px;min-height:295px;background:rgba(255,255,255,.72)}
.v1818-engineering-flow article+article{border-left:1px solid #e0e4e7}
.v1818-flow-core{background:#0a1a27!important;color:#fff!important;box-shadow:0 8px 22px rgba(7,23,35,.12)}
.v1818-flow-no{display:block;color:#b48158;font-size:18px;font-weight:900;line-height:1;margin-bottom:18px}
.v1818-flow-icon{height:43px;margin-bottom:13px;color:#5d6870}
.v1818-flow-icon svg{width:43px;height:43px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.v1818-flow-core .v1818-flow-icon{color:#c9d4db}.v1818-flow-core .v1818-flow-no{color:#ff7c4b}
.v1818-engineering-flow h3{font-size:13px;line-height:1.35;margin:0 0 14px;letter-spacing:-.015em}
.v1818-flow-core strong{display:block;font-size:12px;margin:0 0 10px;color:#fff}
.v1818-engineering-flow ul{list-style:none;padding:0;margin:0}
.v1818-engineering-flow li{font-size:10.5px;line-height:1.5;color:#5c6871;padding:3px 0}
.v1818-engineering-flow li:before{content:"·";margin-right:6px;color:#b48158}
.v1818-flow-core li{color:#cbd5db}.v1818-flow-arrow{font-style:normal;display:grid;place-items:center;color:#b48158;font-size:19px;background:#f8f8f7}
.v1818-engineering-note{margin:0;border:1px solid #d8dde1;border-top:0;background:rgba(250,250,249,.88);padding:13px 18px;text-align:center;color:#596772;font-size:10.5px}
.v1818-engineering-note b{color:#b48158;margin-right:8px}


.v1818-inquiry{position:relative;min-height:185px;color:#fff;overflow:hidden}
.v1818-inquiry-bg{position:absolute;inset:0;background-size:cover;background-position:center 55%;filter:saturate(.8) brightness(.72)}
.v1818-inquiry-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,23,.96),rgba(3,14,23,.7) 55%,rgba(3,14,23,.42))}
.v1818-inquiry-inner{position:relative;z-index:2;min-height:185px;padding:36px 52px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.v1818-inquiry-inner h2{font-size:25px;margin:0 0 6px;letter-spacing:-.035em}.v1818-inquiry-inner span{font-size:11px;color:#c9d3da}.v1818-inquiry-inner>a{min-width:128px;text-align:center;background:#b48158;color:#fff;padding:13px 18px;font-size:11px;font-weight:900}.v1818-inquiry-inner>a b{margin-left:10px}

@media(max-width:1180px){
  .v1818-detail-shell{grid-template-columns:200px minmax(0,1fr)}
  .v1818-detail-hero .copy{left:40px}.v1818-overview,.v1818-scope,.v1818-engineering-inner{padding-left:40px;padding-right:40px}
  .v1818-engineering-flow{grid-template-columns:repeat(5,1fr)}.v1818-flow-arrow{display:none}.v1818-engineering-flow article{min-height:310px;border-left:1px solid #e0e4e7}.v1818-engineering-flow article:first-child{border-left:0}
}
@media(max-width:900px){
  .v1818-detail-shell{display:block}.v1818-detail-sidebar{display:none}.v1818-detail-hero{height:410px}.v1818-detail-hero .copy{left:28px;right:28px;top:64px}.v1818-detail-hero h1{font-size:42px}.v1818-hero-message{display:none}
  .v1818-detail-tabs{padding-left:12px;overflow-x:auto;white-space:nowrap}.v1818-detail-tabs a{padding-left:14px;padding-right:14px}
  .v1818-overview{grid-template-columns:34px 1fr;padding:48px 28px}.v1818-overview figure{grid-column:1/-1;margin-top:8px}.v1818-overview figure img{height:250px}
  .v1818-scope{padding:44px 28px}.v1818-scope-head{grid-template-columns:34px 1fr;column-gap:20px}.v1818-scope-head>p,.v1818-scope-head h2{grid-column:2}.v1818-scope-grid{grid-template-columns:1fr}.v1818-scope-grid article,.v1818-scope-grid article:first-child{border-left:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);padding:22px}
  .v1818-engineering-inner{padding:48px 28px}.v1818-engineering-head{grid-template-columns:1fr;gap:18px}.v1818-engineering-head h2{font-size:30px}.v1818-engineering-flow{grid-template-columns:1fr 1fr}.v1818-engineering-flow article{min-height:260px}.v1818-flow-core{grid-column:1/-1}.v1818-engineering-note{text-align:left;line-height:1.6}
  .v1818-inquiry-inner{padding:34px 28px}
}
@media(max-width:620px){
  .v1818-detail-hero{height:370px}.v1818-detail-hero .copy{left:20px;right:20px;top:54px}.v1818-detail-hero h1{font-size:34px}.v1818-detail-hero h2{font-size:14px;line-height:1.6}.v1818-english-title{font-size:10px}
  .v1818-overview{grid-template-columns:1fr;padding:40px 20px;gap:14px}.v1818-section-number{padding:0}.v1818-overview-copy h2{font-size:27px}.v1818-overview figure{grid-column:1}.v1818-overview figure img{height:210px}
  .v1818-scope{padding:38px 20px}.v1818-scope-head{grid-template-columns:1fr}.v1818-scope-head>span,.v1818-scope-head>p,.v1818-scope-head h2{grid-column:1;grid-row:auto}.v1818-scope-head h2{font-size:24px}.v1818-scope-grid article,.v1818-scope-grid article:first-child{padding:18px}
  .v1818-engineering-inner{padding:40px 20px}.v1818-engineering-head h2{font-size:27px}.v1818-engineering-flow{grid-template-columns:1fr}.v1818-flow-core{grid-column:auto}.v1818-engineering-flow article{min-height:auto;padding:20px}.v1818-flow-icon{float:right;margin:-2px 0 0 12px}
  .v1818-inquiry-inner{padding:32px 20px;align-items:flex-start;flex-direction:column;gap:20px}.v1818-inquiry-inner h2{font-size:23px}.v1818-inquiry-inner>a{min-width:118px}
}

/* V18.19 — solution detail anchors */
#overview,#engineering,#inquiry{scroll-margin-top:118px}


/* V18.20 — Solutions hero aligned with Company / Projects / Technology */
.v18-solutions-hero{padding:150px 0 72px;background:linear-gradient(180deg,#071826 0%,#061421 100%);color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}
.v18-solutions-hero .v12-wide{display:flex;align-items:flex-end;justify-content:space-between;gap:80px}
.v18-solutions-hero p{margin:0 0 12px;color:var(--orange);font-size:11px;font-weight:900;letter-spacing:.18em}
.v18-solutions-hero h1{font-size:62px;line-height:1.02;letter-spacing:-.05em;margin:0}
.v18-solutions-hero-copy{max-width:560px;padding-bottom:5px}
.v18-solutions-hero-copy strong{display:block;font-size:11px;letter-spacing:.14em;margin-bottom:12px;color:#dbe3e8}
.v18-solutions-hero-copy span{display:block;color:#95a6b2;font-size:13px;line-height:1.8}
@media(max-width:1200px){.v18-solutions-hero{padding:118px 0 52px}.v18-solutions-hero h1{font-size:48px}}
@media(max-width:900px){.v18-solutions-hero .v12-wide{align-items:flex-start;flex-direction:column;gap:28px}.v18-solutions-hero h1{font-size:42px}.v18-solutions-hero-copy{padding-bottom:0}}
@media(max-width:620px){.v18-solutions-hero{padding:120px 0 52px}.v18-solutions-hero h1{font-size:36px}.v18-solutions-hero-copy span{font-size:12px}}


/* V18.21 — construction history compact paging */
.project-pagination{margin-top:28px;gap:8px}
.project-pagination button{border-radius:50%;min-width:40px;width:40px;height:40px;padding:0;background:transparent;font-size:13px}
.project-pagination button:first-child,.project-pagination button:last-child{font-size:24px;font-weight:400}
.project-page-status{margin:16px 0 0;font-size:13px;color:#697984}
.v13-archive-row[hidden]{display:none!important}
@media(max-width:700px){
  .project-pagination{gap:6px;margin-top:22px}
  .project-pagination button{min-width:36px;width:36px;height:36px}
  .project-page-status{font-size:12px}
}


/* V18.22 — visual balance + project history pagination hardening */
.v18-solutions-hero h1{font-size:52px;line-height:1.06}
.project-pagination[hidden]{display:none!important}
.project-page-status{margin-top:18px;text-align:left}
@media(max-width:1200px){.v18-solutions-hero h1{font-size:44px}}
@media(max-width:900px){.v18-solutions-hero h1{font-size:39px}}
@media(max-width:620px){.v18-solutions-hero h1{font-size:33px}}

/* V18.24 — compact homepage company brochure download banner */
.v1824-brochure{background:#fff;padding:26px 0 30px}
.v1824-brochure-card{position:relative;min-height:194px;overflow:hidden;border:1px solid rgba(141,160,174,.28);border-radius:12px;background:linear-gradient(110deg,#0a1b29 0%,#0b2031 48%,#10293a 100%);color:#fff;display:grid;grid-template-columns:minmax(360px,1.35fr) auto minmax(210px,.72fr) 150px;align-items:center;gap:34px;padding:30px 34px;box-shadow:0 12px 30px rgba(4,21,34,.08)}
.v1824-brochure-card:before{content:"";position:absolute;inset:0;background:linear-gradient(118deg,transparent 0 45%,rgba(255,255,255,.025) 45% 60%,transparent 60%),radial-gradient(circle at 78% 45%,rgba(108,142,163,.12),transparent 35%);pointer-events:none}
.v1824-brochure-copy,.v1824-brochure-download,.v1824-brochure-message,.v1824-brochure-cover{position:relative;z-index:2}
.v1824-brochure-copy{padding-right:24px;border-right:1px solid rgba(255,255,255,.16)}
.v1824-brochure-copy p{margin:0 0 10px;color:#ff6b32;font-size:11px;font-weight:900;letter-spacing:.18em}
.v1824-brochure-copy h2{margin:0 0 10px;font-size:34px;line-height:1.08;letter-spacing:-.04em;color:#fff}
.v1824-brochure-copy span{font-size:13px;color:#c7d1d8;line-height:1.6}
.v1824-brochure-download{height:58px;min-width:205px;border:1px solid rgba(255,255,255,.65);border-radius:7px;display:flex;align-items:center;justify-content:center;gap:26px;color:#fff;background:rgba(4,16,26,.26);transition:.2s ease}
.v1824-brochure-download:before{content:"PDF";display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(255,255,255,.45);border-radius:4px;font-size:8px;font-weight:900;letter-spacing:.02em}
.v1824-brochure-download b{font-size:13px;letter-spacing:-.01em}.v1824-brochure-download i{font-style:normal;color:#ff6b32;font-size:18px}
.v1824-brochure-download:hover{transform:translateY(-2px);border-color:#ff6b32;background:rgba(255,107,50,.08)}
.v1824-brochure-message{color:#dbe3e8;line-height:1.55}.v1824-brochure-message span{display:block;font-size:14px;margin-bottom:12px}.v1824-brochure-message small{display:block;font-size:9px;line-height:1.6;letter-spacing:.16em;color:#8fa2b0}
.v1824-brochure-cover{justify-self:end;width:126px;height:auto;max-height:172px;object-fit:cover;object-position:top;border-radius:2px;box-shadow:0 13px 28px rgba(0,0,0,.25);transform:rotate(1.2deg)}
@media(max-width:1100px){
  .v1824-brochure-card{grid-template-columns:minmax(320px,1fr) auto 118px;gap:24px}
  .v1824-brochure-message{display:none}.v1824-brochure-copy h2{font-size:30px}
}
@media(max-width:760px){
  .v1824-brochure{padding:18px 0 22px}
  .v1824-brochure-card{min-height:0;grid-template-columns:1fr 82px;gap:18px;padding:24px 20px}
  .v1824-brochure-copy{padding:0;border:0}.v1824-brochure-copy h2{font-size:24px}.v1824-brochure-copy span{font-size:11px}
  .v1824-brochure-download{grid-column:1/2;height:50px;min-width:0;width:190px;gap:16px}.v1824-brochure-cover{grid-column:2;grid-row:1/3;width:82px;max-height:116px}
}
@media(max-width:460px){
  .v1824-brochure-card{grid-template-columns:1fr 70px;padding:22px 16px;gap:12px}.v1824-brochure-copy h2{font-size:21px}.v1824-brochure-copy span{font-size:10.5px}
  .v1824-brochure-download{width:170px;height:46px}.v1824-brochure-download b{font-size:12px}.v1824-brochure-cover{width:70px;max-height:100px}
}


/* V18.25 — brochure banner spacing refinement
   - collapse overly spread columns into a more natural compact layout
   - align button/message/cover more tightly
   - reduce unused empty space and keep a premium dense look */
.v1824-brochure{padding:18px 0 24px}
.v1824-brochure-card{
  min-height:0;
  grid-template-columns:minmax(340px,1.25fr) minmax(340px,.95fr) 112px;
  gap:20px;
  padding:26px 30px;
  align-items:center;
}
.v1824-brochure-copy{padding-right:20px}
.v1824-brochure-copy p{margin:0 0 8px}
.v1824-brochure-copy h2{margin:0 0 8px;font-size:31px;line-height:1.12}
.v1824-brochure-copy span{display:block;font-size:12.5px;line-height:1.55}
.v1825-brochure-side{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:18px;
  min-width:0;
}
.v1824-brochure-download{
  height:54px;
  min-width:190px;
  gap:18px;
  padding:0 18px;
  flex:0 0 auto;
}
.v1824-brochure-download b{font-size:12.5px}
.v1824-brochure-download i{font-size:17px}
.v1824-brochure-message{
  min-width:0;
  max-width:240px;
  color:#d7e1e7;
  line-height:1.45;
}
.v1824-brochure-message span{
  display:block;
  font-size:12px;
  margin-bottom:6px;
  white-space:normal;
}
.v1824-brochure-message small{
  display:block;
  font-size:8.5px;
  line-height:1.55;
  letter-spacing:.15em;
}
.v1824-brochure-cover{
  width:100px;
  max-height:142px;
  justify-self:end;
}
@media(max-width:1180px){
  .v1824-brochure-card{grid-template-columns:minmax(300px,1fr) minmax(280px,.95fr) 96px;gap:16px;padding:24px 24px}
  .v1824-brochure-copy h2{font-size:28px}
  .v1824-brochure-download{min-width:176px}
  .v1824-brochure-message{max-width:205px}
  .v1824-brochure-cover{width:92px;max-height:130px}
}
@media(max-width:920px){
  .v1824-brochure-card{grid-template-columns:1fr 84px;gap:16px;padding:22px 20px}
  .v1824-brochure-copy{grid-column:1/2;padding-right:0;border-right:0}
  .v1825-brochure-side{grid-column:1/2;align-items:flex-start;gap:14px;flex-wrap:wrap}
  .v1824-brochure-download{height:48px;min-width:168px;padding:0 16px}
  .v1824-brochure-message{max-width:none}
  .v1824-brochure-message span{font-size:11px;margin-bottom:4px}
  .v1824-brochure-message small{font-size:8px}
  .v1824-brochure-cover{grid-column:2;grid-row:1/3;width:84px;max-height:118px}
}
@media(max-width:700px){
  .v1824-brochure{padding:14px 0 18px}
  .v1824-brochure-card{grid-template-columns:1fr 68px;gap:12px;padding:18px 16px;border-radius:10px}
  .v1824-brochure-copy h2{font-size:22px;line-height:1.14}
  .v1824-brochure-copy span{font-size:10.5px}
  .v1825-brochure-side{gap:8px}
  .v1824-brochure-download{height:44px;min-width:156px;width:auto;gap:12px;padding:0 14px}
  .v1824-brochure-download:before{width:28px;height:28px;font-size:7px}
  .v1824-brochure-download b{font-size:11.5px}
  .v1824-brochure-message{display:none}
  .v1824-brochure-cover{width:68px;max-height:96px}
}


/* =========================================================
   V18.26 — width refinement + compact solution/project layout
   ========================================================= */
:root{--v1826-max:1420px;--v1826-sub-max:1340px;--v1826-detail-main:1260px}
@media(min-width:1180px){
  .v12-wide,.shell,.v12-header-inner{width:min(calc(100% - 72px),var(--v1826-max))}
  .v12-header-inner{max-width:var(--v1826-max)}
  .v12-nav{gap:28px}
  .v12-nav>a{font-size:13px;padding:25px 0 23px}
  .v12-contact-link{padding:10px 17px!important}

  .v18-solutions-hero{padding:136px 0 52px}
  .v18-solutions-hero .v12-wide,.v13-project-hero .v12-wide{width:min(calc(100% - 88px),var(--v1826-sub-max))}
  .v18-solutions-hero .v12-wide{gap:56px}
  .v18-solutions-hero h1{font-size:48px;line-height:1.05;max-width:560px}
  .v18-solutions-hero-copy{max-width:450px}
  .v18-solutions-hero-copy span{font-size:12px;line-height:1.75}
  .v12-solution-grid-wrap{padding:18px 0 64px}
  .v12-solution-grid-wrap .v12-wide{width:min(calc(100% - 88px),var(--v1826-sub-max))}
  .v12-solution-grid{gap:10px}
  .v12-solution-box{height:248px}
  .v12-solution-box .copy{left:22px;right:22px;bottom:20px}
  .v12-solution-box h2{font-size:21px;line-height:1.12}
  .v12-solution-box p{font-size:10px}
  .v12-solution-box i{width:34px;height:34px}

  .v13-project-hero{padding:136px 0 52px}
  .v13-project-hero .v12-wide{gap:56px}
  .v13-project-hero h1{font-size:48px;line-height:1.05;max-width:520px}
  .v13-project-hero-copy{max-width:440px}
  .v13-project-hero-copy span{font-size:12px;line-height:1.75}
  .v13-selected-work{padding:38px 0 42px}
  .v13-selected-work .v12-wide,.v13-project-archive .v12-wide{width:min(calc(100% - 88px),var(--v1826-sub-max))}
  .v13-field-grid{gap:10px}
  .v13-field-card{min-height:218px}
  .v13-field-card div{padding:18px 18px 18px}
  .v13-field-card h3{font-size:15px;line-height:1.3;margin:6px 38px 0 0}
  .v13-field-card span{font-size:10px}
  .v13-field-card i{width:34px;height:34px}
  .v13-project-archive{padding:48px 0 62px}

  .v12-detail-shell{grid-template-columns:210px minmax(0,var(--v1826-detail-main));justify-content:start}
  .v1818-detail-main{max-width:var(--v1826-detail-main)}
  .v1818-detail-hero{height:400px}
  .v1818-detail-hero .copy{left:42px;top:62px;max-width:520px}
  .v1818-detail-hero h1{font-size:44px}
  .v1818-detail-hero h2{font-size:18px;line-height:1.55;max-width:480px}
  .v1818-detail-tabs{padding-left:28px}
  .v1818-overview{grid-template-columns:38px .86fr 1.14fr;padding:52px 42px;gap:34px}
  .v1818-overview-copy h2{font-size:33px}
  .v1818-overview-copy span{font-size:13px;line-height:1.82}
  .v1818-overview figure img{height:260px}
  .v1818-scope{padding:46px 42px}
  .v1818-scope-head{column-gap:26px;margin-bottom:24px}
  .v1818-scope-head h2{font-size:25px}
  .v1818-scope-grid article{padding:22px 24px 12px}
  .v1818-scope-grid li{font-size:11.5px;padding:7px 0}
  .v1818-engineering-inner{padding:52px 42px 48px}
  .v1818-engineering-head{gap:48px;margin-bottom:28px}
  .v1818-engineering-head h2{font-size:31px;line-height:1.18}
  .v1818-engineering-head>p{font-size:12px;line-height:1.8}
  .v1818-engineering-flow article{min-height:268px;padding:22px 15px 18px}
  .v1818-engineering-flow h3{font-size:12px}
  .v1818-flow-core strong{font-size:11.5px}
  .v1818-engineering-flow li{font-size:10px}
  .v1818-inquiry{min-height:172px}
  .v1818-inquiry-inner{min-height:172px;padding:32px 42px}
}

@media(min-width:1180px) and (max-width:1380px){
  .v12-wide,.shell,.v12-header-inner{width:min(calc(100% - 52px),var(--v1826-max))}
  .v18-solutions-hero .v12-wide,.v12-solution-grid-wrap .v12-wide,.v13-project-hero .v12-wide,.v13-selected-work .v12-wide,.v13-project-archive .v12-wide{width:min(calc(100% - 56px),var(--v1826-sub-max))}
}

@media(max-width:1179px){
  .v1826-detail-main{max-width:none}
}


/* =========================================================
   V18.27 — project history becomes a non-clickable archive
   ========================================================= */
.v1827-archive-head{
  display:grid;
  grid-template-columns:140px minmax(0,1fr) 190px;
  gap:24px;
  align-items:center;
  padding:12px 10px;
  border-top:1px solid #cfd6db;
  border-bottom:1px solid #cfd6db;
  background:#f3f5f6;
  color:#6c7882;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
}
.v13-archive-row{
  grid-template-columns:140px minmax(0,1fr) 190px;
  gap:24px;
  padding:16px 10px;
  cursor:default;
  transition:background .18s ease;
}
.v13-archive-row:hover{
  background:#f8fafb;
  padding-left:10px;
  padding-right:10px;
}
.v13-archive-row i{display:none!important}
.v13-archive-row strong{font-weight:800}
@media(max-width:900px){
  .v1827-archive-head,.v13-archive-row{grid-template-columns:105px minmax(0,1fr) 125px;gap:14px}
}
@media(max-width:620px){
  .v1827-archive-head{grid-template-columns:76px minmax(0,1fr);gap:10px;padding:10px 4px}
  .v1827-archive-head span:last-child{display:none}
  .v13-archive-row{grid-template-columns:76px minmax(0,1fr);gap:10px;padding:13px 4px}
  .v13-archive-row:hover{padding-left:4px;padding-right:4px}
  .v13-archive-row span{display:none}
}


/* =========================================================
   V18.28 — refined motion system (layout/content unchanged)
   ========================================================= */
:root{
  --v1828-ease:cubic-bezier(.22,.72,.22,1);
  --v1828-ease-soft:cubic-bezier(.16,1,.3,1);
}

/* Header: fixed height is preserved to avoid layout jump; only the visual density changes. */
.v12-header,.v12-brand img,.v12-nav>a,.v12-contact-link{
  transition:background-color .35s ease,border-color .35s ease,opacity .35s ease,transform .35s var(--v1828-ease),height .35s var(--v1828-ease),padding .35s var(--v1828-ease);
}
.v12-header.is-scrolled{background:rgba(4,15,24,.995);border-bottom-color:rgba(255,255,255,.15);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.v12-header.is-scrolled .v12-brand img{transform:scale(.94);transform-origin:left center}
.v12-header.is-scrolled .v12-nav>a:not(.v12-contact-link){transform:translateY(-1px)}
.v12-header.is-scrolled .v12-contact-link{transform:scale(.97)}

/* Existing reveal motion: calmer and slightly more premium. */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .78s var(--v1828-ease),transform .78s var(--v1828-ease)}
.js .reveal.is-visible{opacity:1;transform:none}

/* Hero sequence: the container still keeps its original layout. */
.js .v1828-hero-sequence>*{opacity:0;transform:translateY(18px);clip-path:inset(0 0 18% 0);transition:opacity .72s var(--v1828-ease-soft),transform .78s var(--v1828-ease-soft),clip-path .78s var(--v1828-ease-soft)}
.js .v1828-hero-sequence.is-visible>*{opacity:1;transform:none;clip-path:inset(0 0 0 0)}
.js .v1828-hero-sequence.is-visible>*:nth-child(1){transition-delay:.03s}
.js .v1828-hero-sequence.is-visible>*:nth-child(2){transition-delay:.12s}
.js .v1828-hero-sequence.is-visible>*:nth-child(3){transition-delay:.21s}
.js .v1828-hero-sequence.is-visible>*:nth-child(4){transition-delay:.30s}
.js .v1828-hero-sequence.is-visible>*:nth-child(5){transition-delay:.39s}

/* Very slow cinematic zoom; no layout or crop changes. */
.v1828-cinematic-bg{will-change:transform;animation:v1828CinematicZoom 13s var(--v1828-ease-soft) both}
@keyframes v1828CinematicZoom{from{transform:scale(1)}to{transform:scale(1.035)}}

/* Stagger groups: cards/columns appear in order after the section enters the viewport. */
.js .v1828-stagger-group>*{opacity:0;transform:translateY(16px);transition:opacity .62s var(--v1828-ease-soft),transform .68s var(--v1828-ease-soft)}
.js .v1828-stagger-group.is-visible>*{opacity:1;transform:none}
.js .v1828-stagger-group.is-visible>*:nth-child(1){transition-delay:.03s}
.js .v1828-stagger-group.is-visible>*:nth-child(2){transition-delay:.10s}
.js .v1828-stagger-group.is-visible>*:nth-child(3){transition-delay:.17s}
.js .v1828-stagger-group.is-visible>*:nth-child(4){transition-delay:.24s}
.js .v1828-stagger-group.is-visible>*:nth-child(5){transition-delay:.31s}
.js .v1828-stagger-group.is-visible>*:nth-child(6){transition-delay:.38s}
.js .v1828-stagger-group.is-visible>*:nth-child(7){transition-delay:.45s}
.js .v1828-stagger-group.is-visible>*:nth-child(8){transition-delay:.52s}

/* Clip-mask style image reveal. */
.v1828-media-reveal img{clip-path:inset(0 100% 0 0);transform:scale(1.045);transform-origin:center;transition:clip-path .92s var(--v1828-ease-soft),transform 1.05s var(--v1828-ease-soft),filter .42s ease}
.v1828-media-reveal.is-visible img,.reveal.is-visible .v1828-media-reveal img{clip-path:inset(0 0 0 0);transform:scale(1)}

/* Card hover: image only, overlay and arrow move subtly; cards themselves do not jump. */
.v15-portal,.v12-solution-box,.v13-field-card{transition:border-color .28s ease,box-shadow .32s ease,background-color .32s ease}
.v15-portal:hover img,.v12-solution-box:hover img,.v13-field-card:hover img{transform:scale(1.03)}
.v15-portal .copy,.v12-solution-box .copy,.v13-field-card>div{transition:transform .34s var(--v1828-ease)}
.v15-portal:hover .copy,.v12-solution-box:hover .copy,.v13-field-card:hover>div{transform:translateY(-2px)}
.v15-portal i,.v12-solution-box i,.v13-field-card i,.v1824-brochure-download i,.v15-primary-btn span,.v15-contact-strip-copy a b{transition:transform .3s var(--v1828-ease),border-color .3s ease,background-color .3s ease}
.v15-portal:hover i,.v12-solution-box:hover i,.v13-field-card:hover i,.v15-primary-btn:hover span,.v15-contact-strip-copy a:hover b{transform:translateX(5px)}
.v15-portal:hover,.v12-solution-box:hover,.v13-field-card:hover{border-color:rgba(255,110,54,.55)}

/* Company timeline: line draws first, then milestones settle in. */
.js .v12-history-line{position:relative;border-top-color:transparent}
.js .v12-history-line:before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:#aeb7be;transform:scaleX(0);transform-origin:left;transition:transform .95s var(--v1828-ease-soft)}
.js .v12-history-line.is-visible:before{transform:scaleX(1)}

/* Solution detail overview / technology images retain hover-free editorial motion. */
.v1818-overview figure,.v12-tech-story figure{overflow:hidden}

/* Sidebar active marker expands softly on load and hover remains restrained. */
.v1828-sidebar-motion a{position:relative;transition:background-color .3s ease,color .3s ease,padding-left .34s var(--v1828-ease)}
.v1828-sidebar-motion a.active{border-left:0!important}
.v1828-sidebar-motion a:before{content:"";position:absolute;left:0;top:50%;width:3px;height:0;background:var(--orange);transform:translateY(-50%);transition:height .42s var(--v1828-ease-soft)}
.v1828-sidebar-motion a.active:before{height:58%}
.v1828-sidebar-motion a:hover{background:rgba(255,255,255,.055);padding-left:14px}

/* Engineering: scroll-linked progress line + progressive card/arrow emphasis. */

/* Brochure sequence + tactile download motion. */
.js .v1824-brochure-card.is-visible .v1824-brochure-copy{animation:v1828BrochureText .68s var(--v1828-ease-soft) both}
.js .v1824-brochure-card.is-visible .v1825-brochure-side{animation:v1828BrochureText .68s .12s var(--v1828-ease-soft) both}
.js .v1824-brochure-card.is-visible .v1824-brochure-cover{animation:v1828BrochureCover .76s .20s var(--v1828-ease-soft) both}
@keyframes v1828BrochureText{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
@keyframes v1828BrochureCover{from{opacity:0;transform:translateY(16px) rotate(.6deg)}to{opacity:1;transform:none}}
.v1824-brochure-download{transition:background-color .3s ease,border-color .3s ease,transform .3s var(--v1828-ease),box-shadow .3s ease}
.v1824-brochure-download:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.v1824-brochure-download:hover i{transform:translateX(5px)}

/* Project archive transitions without turning rows back into links. */
.v13-archive-list{transition:opacity .18s ease,transform .18s ease}
.v13-archive-list.is-updating{opacity:.35;transform:translateY(3px)}
.v13-archive-row.v1828-row-in{animation:v1828ArchiveRow .46s var(--v1828-ease-soft) both;animation-delay:var(--v1828-row-delay,0ms)}
@keyframes v1828ArchiveRow{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Subtle line-draw treatment on section headings and archive header. */
.v13-project-section-head,.v12-section-heading,.v15-simple-head{position:relative}
.js .v13-project-section-head.reveal:after,.js .v12-section-heading.reveal:after,.js .v15-simple-head.reveal:after{content:"";position:absolute;left:0;bottom:-12px;width:64px;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .7s .25s var(--v1828-ease-soft)}
.js .v13-project-section-head.reveal.is-visible:after,.js .v12-section-heading.reveal.is-visible:after,.js .v15-simple-head.reveal.is-visible:after{transform:scaleX(1)}

/* Respect OS motion settings. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js .reveal,.js .v1828-stagger-group>*,.js .v1828-hero-sequence>*{opacity:1!important;transform:none!important;clip-path:none!important}
  .v1828-media-reveal img{clip-path:none!important;transform:none!important}
}

@media(max-width:900px){
  .v1828-cinematic-bg{animation-duration:16s}
}


/* =========================================================
   V18.29 — homepage hero: From Condition to Operation
   - 기존 우측 링크 3개를 회사 업무 흐름을 보여주는 비클릭 프로세스로 교체
   - 메인 레이아웃/배경/CTA는 유지
   ========================================================= */
@media(min-width:901px){
  .v15-hero-layout{grid-template-columns:minmax(0,1fr) 390px;gap:58px}
}

.v1829-hero-process{
  align-self:center;
  width:100%;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.24);
  border-bottom:1px solid rgba(255,255,255,.20);
  background:linear-gradient(90deg,rgba(3,14,23,.14),rgba(3,14,23,.34));
  padding:18px 0 12px;
  position:relative;
}
.v1829-process-head{padding:0 0 16px 22px;border-bottom:1px solid rgba(255,255,255,.14)}
.v1829-process-head p{margin:0 0 5px;font-size:11px;font-weight:900;letter-spacing:.11em;color:#f1f5f7}
.v1829-process-head span{display:block;font-size:10.5px;line-height:1.55;color:#c2ced6}
.v1829-process-list{list-style:none;margin:0;padding:0 0 0 22px;position:relative}
.v1829-process-list:before{
  content:"";
  position:absolute;
  left:28px;
  top:16px;
  bottom:18px;
  width:1px;
  background:rgba(255,255,255,.18);
}
.v1829-process-list:after{
  content:"";
  position:absolute;
  left:28px;
  top:16px;
  bottom:18px;
  width:2px;
  background:linear-gradient(180deg,var(--orange),#ff7e4f);
  transform:scaleY(1);
  transform-origin:top;
}
.v1829-process-list li{
  min-height:76px;
  display:grid;
  grid-template-columns:38px 42px minmax(0,1fr);
  gap:11px;
  align-items:center;
  position:relative;
  padding:11px 12px 11px 0;
  border-bottom:1px solid rgba(255,255,255,.11);
}
.v1829-process-list li:last-child{border-bottom:0}
.v1829-process-no{
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  color:var(--orange);
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
}
.v1829-process-no:before{
  content:"";
  width:9px;
  height:9px;
  margin-right:7px;
  border-radius:50%;
  background:var(--orange);
  box-shadow:0 0 0 4px rgba(255,90,31,.10);
}
.v1829-process-icon{width:35px;height:35px;display:grid;place-items:center;color:#f3f6f8}
.v1829-process-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.v1829-process-list div{min-width:0}
.v1829-process-list b{display:block;margin:0 0 2px;font-size:11px;letter-spacing:.1em;color:#fff}
.v1829-process-list strong{display:block;font-size:11px;line-height:1.35;color:#e8eef2}
.v1829-process-list small{display:block;margin-top:4px;font-size:9.5px;line-height:1.45;color:#9fafba;font-weight:500}

/* Load motion: the orange process line is drawn first, then each stage settles in. */
.js .v1829-hero-process.reveal .v1829-process-list:after{transform:scaleY(0);transition:transform .9s .34s var(--v1828-ease-soft)}
.js .v1829-hero-process.reveal.is-visible .v1829-process-list:after{transform:scaleY(1)}
.js .v1829-hero-process.reveal .v1829-process-head,
.js .v1829-hero-process.reveal .v1829-process-list li{opacity:0;transform:translateX(12px);transition:opacity .58s var(--v1828-ease-soft),transform .64s var(--v1828-ease-soft)}
.js .v1829-hero-process.reveal.is-visible .v1829-process-head{opacity:1;transform:none;transition-delay:.08s}
.js .v1829-hero-process.reveal.is-visible .v1829-process-list li{opacity:1;transform:none}
.js .v1829-hero-process.reveal.is-visible .v1829-process-list li:nth-child(1){transition-delay:.28s}
.js .v1829-hero-process.reveal.is-visible .v1829-process-list li:nth-child(2){transition-delay:.40s}
.js .v1829-hero-process.reveal.is-visible .v1829-process-list li:nth-child(3){transition-delay:.52s}
.js .v1829-hero-process.reveal.is-visible .v1829-process-list li:nth-child(4){transition-delay:.64s}

@media(max-width:1180px) and (min-width:901px){
  .v15-hero-layout{grid-template-columns:minmax(0,1fr) 330px;gap:34px}
  .v1829-process-head{padding-left:17px}
  .v1829-process-head span{font-size:9.5px}
  .v1829-process-list{padding-left:17px}
  .v1829-process-list:before,.v1829-process-list:after{left:23px}
  .v1829-process-list li{grid-template-columns:36px 36px minmax(0,1fr);gap:8px;min-height:72px}
  .v1829-process-icon{width:31px;height:31px}.v1829-process-icon svg{width:29px;height:29px}
  .v1829-process-list small{font-size:8.7px}
}

@media(max-width:900px){
  .v15-hero-layout{grid-template-columns:1fr}
  .v1829-hero-process{display:none}
}

@media(prefers-reduced-motion:reduce){
  .js .v1829-hero-process.reveal .v1829-process-head,
  .js .v1829-hero-process.reveal .v1829-process-list li{opacity:1!important;transform:none!important}
  .js .v1829-hero-process.reveal .v1829-process-list:after{transform:scaleY(1)!important}
}

/* =========================================================
   V18.30 — compact technical solution detail
   Sidebar is preserved. Right page uses full available width,
   while content stays in a centered technical container.
   ========================================================= */
:root{--v1830-inner:1180px}
#overview,#engineering,#inquiry{scroll-margin-top:132px}

@media(min-width:901px){
  .v1818-detail-shell{grid-template-columns:210px minmax(0,1fr)!important;justify-content:stretch!important}
  .v1818-detail-main,.v1826-detail-main{width:100%!important;max-width:none!important;min-width:0}
  .v1818-detail-hero{width:100%;height:390px}
  .v1818-detail-tabs{width:100%;padding-left:max(28px,calc((100% - var(--v1830-inner))/2))}
}

.v1830-inner{width:min(calc(100% - 72px),var(--v1830-inner));margin:0 auto}
.v1830-section-number{color:#cf8650;font-size:16px;font-weight:900;line-height:1}
.v1830-microcopy{margin-top:28px;padding-top:18px;border-top:2px solid #ef6d3c;width:max-content;max-width:100%;color:#7f8a93;font-size:8.5px;font-weight:800;letter-spacing:.19em;line-height:1.55}
.v1830-microcopy.light{color:#b9c5cc;border-color:#ff6c37}

/* 01 Overview */
.v1830-overview{padding:0!important;background:#fff}
.v1830-overview-grid{display:grid;grid-template-columns:34px minmax(300px,.72fr) minmax(470px,1.28fr);gap:32px;align-items:center;padding:40px 0}
.v1830-overview-copy>p{margin:0 0 9px;color:#c57c4a;font-size:9px;font-weight:900;letter-spacing:.18em}
.v1830-overview-copy h2{font-size:31px;line-height:1.08;margin:0 0 17px;letter-spacing:-.045em}
.v1830-overview-copy>span{display:block;max-width:460px;color:#5d6973;font-size:12.5px;line-height:1.82}
.v1830-overview-media{margin:0;position:relative;overflow:hidden;min-height:260px;background:#0b1b28}
.v1830-overview-media img{height:260px;object-fit:cover;filter:saturate(.88) contrast(1.03)}
.v1830-overview-media figcaption{position:absolute;right:0;bottom:0;background:rgba(6,20,33,.94);color:#fff;padding:11px 15px;font-size:8.5px;letter-spacing:.04em}

/* 02 Equipment & Service */
.v1830-scope{padding:0!important;background:#091a27;color:#fff;position:relative;overflow:hidden}
.v1830-scope:after{content:"";position:absolute;inset:0 0 0 62%;background:linear-gradient(90deg,rgba(9,26,39,1),rgba(9,26,39,.80)),url('/images/v17/site/technology-field.jpg') center/cover no-repeat;opacity:.24;pointer-events:none}
.v1830-scope-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.58fr);gap:48px;padding:38px 0}
.v1830-scope-intro{padding-right:20px;align-self:center}
.v1830-scope-intro>p{margin:8px 0 6px;color:#bfccd4;font-size:8.5px;font-weight:900;letter-spacing:.18em}
.v1830-scope-intro h2{font-size:27px;line-height:1.2;letter-spacing:-.045em;margin:0 0 15px}
.v1830-scope-intro>span:not(.v1830-section-number){display:block;max-width:310px;color:#afbdc6;font-size:11.5px;line-height:1.72}
.v1830-scope-rows{border-top:1px solid rgba(255,255,255,.18)}
.v1830-scope-row{display:grid;grid-template-columns:44px 54px 150px minmax(0,1fr);gap:18px;align-items:center;min-height:93px;border-bottom:1px solid rgba(255,255,255,.18)}
.v1830-row-no{color:#ff6c37;font-size:18px;font-weight:900}
.v1830-row-icon{width:38px;height:38px;display:grid;place-items:center;color:#e8eef2}
.v1830-row-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v1830-row-label{border-left:1px solid rgba(255,255,255,.25);padding-left:20px;min-height:54px;display:flex;flex-direction:column;justify-content:center}
.v1830-row-label b{font-size:10.5px;letter-spacing:.09em}
.v1830-row-label small{margin-top:5px;color:#b6c2ca;font-size:9px}
.v1830-scope-row ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:3px 0;align-content:center}
.v1830-scope-row li{color:#eef2f4;font-size:10.5px;line-height:1.48;margin-right:0}
.v1830-scope-row li:not(:last-child):after{content:" · ";color:#758793;margin:0 7px}

/* 03 Engineering */
.v1830-engineering{background:#fff!important;overflow:visible}
.v1830-engineering .v1818-engineering-inner{padding:38px 0 34px!important;background:none;position:relative}
.v1830-engineering-head{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:34px 56px;align-items:end;margin-bottom:24px}
.v1830-engineering-head>div:first-child{display:grid;grid-template-columns:34px 1fr;column-gap:18px}
.v1830-engineering-head>div:first-child .v1830-section-number{grid-row:1/4}
.v1830-engineering-head>div:first-child>p{margin:1px 0 7px;color:#c57c4a;font-size:8.5px;font-weight:900;letter-spacing:.18em}
.v1830-engineering-head h2{white-space:pre-line;font-size:29px;line-height:1.16;letter-spacing:-.045em;margin:0;color:#101b23}
.v1830-engineering-head>p{grid-column:1/2;margin:0 0 0 52px;color:#5f6b74;font-size:11.5px;line-height:1.72;max-width:430px}
.v1830-engineering-meta{grid-column:2;grid-row:1/3;align-self:center;border-top:1px solid #b8c0c6;padding-top:16px;display:flex;align-items:center;gap:16px;color:#7a8791;white-space:nowrap}
.v1830-engineering-meta span,.v1830-engineering-meta small{font-size:8px;font-weight:800;letter-spacing:.15em}
.v1830-engineering-meta i{display:block;width:34px;height:2px;background:#ff6c37}

.v1830-engineering-flow{display:grid!important;grid-template-columns:1fr 24px 1fr 24px 1fr 24px 1fr 24px 1fr!important;align-items:stretch;border-top:1px solid #d6dce0!important;border-bottom:1px solid #d6dce0!important;border-left:0!important;border-right:0!important;background:#fff!important;backdrop-filter:none!important}
.v1830-engineering-flow article{min-height:196px!important;padding:17px 10px 16px!important;background:#fff!important;border-left:1px solid #e0e4e7!important;box-shadow:none!important;color:#101b23!important}
.v1830-engineering-flow article:first-child{border-left:0!important}
.v1830-engineering-flow .v1818-flow-no{font-size:15px;margin-bottom:11px;color:#e26536!important}
.v1830-engineering-flow .v1818-flow-icon{height:31px;margin-bottom:10px;color:#26343f!important}
.v1830-engineering-flow .v1818-flow-icon svg{width:30px;height:30px}
.v1830-engineering-flow h3{font-size:11.5px;line-height:1.38;margin:0 0 7px;min-height:32px;color:#15212b}
.v1830-engineering-flow strong{display:block!important;font-size:9.5px!important;line-height:1.45;margin:0 0 5px!important;color:#53616a!important;font-weight:800}
.v1830-engineering-flow ul{margin:0;padding:0;list-style:none}
.v1830-engineering-flow li{font-size:9.1px!important;line-height:1.45;color:#6a7680!important;padding:2px 0!important}
.v1830-engineering-flow li:before{content:"·";margin-right:5px;color:#c57c4a}
.v1830-engineering-flow .v1818-flow-arrow{display:grid!important;place-items:center;background:#fff!important;color:#df7747!important;font-size:16px}
.v1830-engineering .v1818-engineering-note{border:0!important;background:#fff!important;padding:10px 0 0!important;text-align:center;font-size:9px;color:#7b8790}

/* compact inquiry bar */
.v1830-inquiry{background:#fff!important;color:#15212b!important;min-height:0!important;padding-bottom:36px;overflow:visible}
.v1830-inquiry .v1818-inquiry-inner{min-height:74px!important;padding:12px 16px!important;border:1px solid #d9dfe3;background:#fafbfb;display:grid;grid-template-columns:52px 1fr auto;gap:18px;align-items:center}
.v1830-inquiry-icon{width:38px;height:38px;border:1px solid #bcc5cb;border-radius:50%;display:grid;place-items:center;font-weight:900;letter-spacing:2px;color:#283742}
.v1830-inquiry .v1818-inquiry-inner h2{font-size:13px!important;letter-spacing:-.02em;margin:0 0 2px!important;color:#17232c}
.v1830-inquiry .v1818-inquiry-inner span{font-size:9.5px!important;color:#7a8791}
.v1830-inquiry .v1818-inquiry-inner>a{min-width:158px!important;background:#ff5a1f!important;color:#fff!important;padding:13px 18px!important;font-size:10px!important}

@media(max-width:1180px) and (min-width:901px){
  .v1830-inner{width:calc(100% - 52px)}
  .v1830-overview-grid{grid-template-columns:30px minmax(260px,.8fr) minmax(380px,1.2fr);gap:24px}
  .v1830-scope-layout{grid-template-columns:250px 1fr;gap:32px}
  .v1830-scope-row{grid-template-columns:38px 48px 135px minmax(0,1fr);gap:14px}
  .v1830-engineering-head{grid-template-columns:.85fr 1.15fr;gap:28px 36px}
}

@media(max-width:900px){
  .v1830-inner{width:calc(100% - 40px)}
  .v1830-overview-grid{grid-template-columns:1fr;gap:14px;padding:34px 0}
  .v1830-overview-copy>span{max-width:none}
  .v1830-overview-media{min-height:230px}.v1830-overview-media img{height:230px}
  .v1830-scope-layout{grid-template-columns:1fr;gap:24px;padding:34px 0}
  .v1830-scope-intro{padding-right:0}
  .v1830-scope-intro>span:not(.v1830-section-number){max-width:none}
  .v1830-scope-row{grid-template-columns:36px 44px 130px 1fr;gap:10px;min-height:90px}
  .v1830-engineering .v1818-engineering-inner{padding:34px 0 28px!important}
  .v1830-engineering-head{grid-template-columns:1fr;gap:14px;margin-bottom:18px}
  .v1830-engineering-head>p{grid-column:1;margin-left:52px}
  .v1830-engineering-meta{grid-column:1;grid-row:auto;margin-left:52px;white-space:normal}
  .v1830-engineering-flow{grid-template-columns:1fr 1fr!important}
  .v1830-engineering-flow .v1818-flow-arrow{display:none!important}
  .v1830-engineering-flow article{min-height:180px!important;border-bottom:1px solid #e0e4e7!important}
  .v1830-engineering-flow article:nth-of-type(odd){border-left:0!important}
  .v1830-inquiry .v1818-inquiry-inner{grid-template-columns:44px 1fr}.v1830-inquiry .v1818-inquiry-inner>a{grid-column:2;justify-self:start}
}

@media(max-width:620px){
  .v1830-inner{width:calc(100% - 32px)}
  .v1830-overview-grid{padding:28px 0}.v1830-overview-copy h2{font-size:27px}.v1830-overview-media img{height:205px}.v1830-overview-media{min-height:205px}
  .v1830-scope-layout{padding:30px 0}.v1830-scope-intro h2{font-size:24px}
  .v1830-scope-row{grid-template-columns:32px 38px 1fr;gap:10px;padding:13px 0;min-height:0}
  .v1830-row-label{padding-left:12px;min-height:44px}
  .v1830-scope-row ul{grid-column:1/-1;padding-left:80px;display:block}.v1830-scope-row li{font-size:10px}.v1830-scope-row li:not(:last-child):after{content:"";margin:0}
  .v1830-engineering-head>div:first-child{grid-template-columns:28px 1fr;column-gap:12px}.v1830-engineering-head h2{font-size:25px}.v1830-engineering-head>p,.v1830-engineering-meta{margin-left:40px}
  .v1830-engineering-flow{grid-template-columns:1fr!important}.v1830-engineering-flow article{border-left:0!important;min-height:0!important;padding:16px 6px!important}.v1830-engineering-flow h3{min-height:0}
  .v1830-inquiry .v1818-inquiry-inner{grid-template-columns:1fr;padding:16px!important}.v1830-inquiry-icon{display:none}.v1830-inquiry .v1818-inquiry-inner>a{grid-column:1}
}


/* =========================================================
   V18.31 — solution detail alignment bug fix
   V18.30 overview inherited the old grid from .v1818-overview,
   which trapped the new centered container in the first grid track.
   Keep the sidebar, let the right page fill its column, and center
   every 01/02/03 section on the same technical content axis.
   ========================================================= */
:root{--v1830-inner:1240px}

/* Critical fix: the V18.30 wrapper is a block section, not the old 3-column grid. */
.v1818-overview.v1830-overview{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
  align-items:initial!important;
}

/* Keep all right-side section backgrounds full width while content stays centered. */
.v1830-overview,.v1830-scope,.v1830-engineering,.v1830-inquiry{width:100%;max-width:none}
.v1830-inner{box-sizing:border-box}

@media(min-width:1180px){
  .v1818-detail-shell{grid-template-columns:210px minmax(0,1fr)!important;width:100%;justify-content:stretch!important}
  .v1818-detail-main,.v1826-detail-main{width:100%!important;max-width:none!important;min-width:0!important;margin-left:0!important}
  .v1818-detail-hero,.v1818-detail-tabs{width:100%!important;max-width:none!important}
  .v1830-inner{width:min(calc(100% - 80px),var(--v1830-inner));margin-left:auto!important;margin-right:auto!important}
  .v1818-detail-tabs{padding-left:max(40px,calc((100% - var(--v1830-inner))/2 + 18px))}

  /* 01 — balanced 35/65 layout, aligned to the same inner width as 02/03. */
  .v1830-overview-grid{
    grid-template-columns:36px minmax(320px,.78fr) minmax(0,1.42fr);
    gap:34px;
    padding:42px 0;
    align-items:center;
  }
  .v1830-overview-copy>span{max-width:440px}
  .v1830-overview-media{min-width:0;min-height:286px}
  .v1830-overview-media img{height:286px;object-fit:cover;object-position:center 42%}

  /* 02/03 use exactly the same centered axis as the overview. */
  .v1830-scope-layout{width:100%;grid-template-columns:minmax(270px,.70fr) minmax(0,1.55fr);gap:54px;padding:38px 0}
  .v1830-engineering .v1818-engineering-inner{width:100%;padding:38px 0 34px!important}
}

@media(min-width:1180px) and (max-width:1450px){
  .v1830-inner{width:calc(100% - 56px)}
  .v1818-detail-tabs{padding-left:28px}
  .v1830-overview-grid{grid-template-columns:34px minmax(290px,.82fr) minmax(0,1.25fr);gap:28px}
  .v1830-overview-media,.v1830-overview-media img{min-height:268px;height:268px}
}


/* =========================================================
   V18.32 — solution detail shared-axis regression fix
   V18.31 accidentally re-expanded the 02/03 inner wrappers to 100%
   because width:100% on the layout selectors overrode .v1830-inner.
   Keep section backgrounds full-width, but keep every content wrapper
   on the same centered 1240px axis.
   ========================================================= */
@media(min-width:1180px){
  .v1830-scope > .v1830-inner.v1830-scope-layout,
  .v1830-engineering > .v1830-inner.v1818-engineering-inner,
  .v1830-inquiry > .v1830-inner.v1818-inquiry-inner{
    width:min(calc(100% - 80px),var(--v1830-inner))!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .v1830-scope > .v1830-inner.v1830-scope-layout{
    grid-template-columns:minmax(270px,.70fr) minmax(0,1.55fr);
    gap:54px;
    padding:38px 0;
  }

  .v1830-engineering > .v1830-inner.v1818-engineering-inner{
    padding:38px 0 34px!important;
  }
}

@media(min-width:1180px) and (max-width:1450px){
  .v1830-scope > .v1830-inner.v1830-scope-layout,
  .v1830-engineering > .v1830-inner.v1818-engineering-inner,
  .v1830-inquiry > .v1830-inner.v1818-inquiry-inner{
    width:calc(100% - 56px)!important;
  }
}


/* =========================================================
   V18.33 — remove obsolete Engineering progress band
   ========================================================= */
/* V18.28의 스크롤 진행선을 완전히 제거하고 번호/아이콘/제목을 한 줄에 묶습니다. */
.v1830-engineering-flow{
  border-top:0!important;
}
.v1830-engineering-flow:before,
.v1830-engineering-flow:after{
  content:none!important;
  display:none!important;
}
.v1830-engineering-flow article{
  display:grid!important;
  grid-template-columns:26px 34px minmax(0,1fr);
  grid-template-rows:auto auto 1fr;
  column-gap:8px;
  align-content:start;
  padding:18px 12px 17px!important;
}
.v1830-engineering-flow .v1818-flow-no{
  grid-column:1;
  grid-row:1;
  align-self:center;
  margin:0!important;
  font-size:14px!important;
  line-height:1;
}
.v1830-engineering-flow .v1818-flow-icon{
  grid-column:2;
  grid-row:1;
  align-self:center;
  height:28px!important;
  margin:0!important;
}
.v1830-engineering-flow .v1818-flow-icon svg{
  width:27px!important;
  height:27px!important;
}
.v1830-engineering-flow h3{
  grid-column:3;
  grid-row:1;
  align-self:center;
  min-height:0!important;
  margin:0!important;
  font-size:11.2px;
  line-height:1.35;
}
.v1830-engineering-flow strong{
  grid-column:1 / -1;
  grid-row:2;
  margin:12px 0 5px!important;
}
.v1830-engineering-flow ul{
  grid-column:1 / -1;
  grid-row:3;
}
@media(max-width:900px){
  .v1830-engineering-flow article{
    grid-template-columns:24px 32px minmax(0,1fr);
    padding:16px 10px!important;
  }
}
@media(max-width:620px){
  .v1830-engineering-flow article{
    grid-template-columns:24px 30px minmax(0,1fr)!important;
  }
}


/* =========================================================
   V18.34 — homepage Explore ↔ brochure spacing cleanup
   ========================================================= */
/* EXPLORE 카드 다음에 바로 회사소개서가 이어지도록 과도한 이중 여백을 제거합니다. */
.v15-portals{padding-bottom:20px}
.v1824-brochure{padding-top:0}

@media(max-width:760px){
  .v15-portals{padding-bottom:18px}
  .v1824-brochure{padding-top:0}
}

/* =========================================================
   V18.35 — Certification & Registration 6-document slider
   기존 문서 카드 폼은 유지하고, 번호 없이 화살표/도트만 사용합니다.
   ========================================================= */
.v1835-cert-section{padding:56px 0 62px;overflow:hidden}
.v1835-cert-heading{margin-bottom:30px;align-items:flex-end}
.v1835-cert-heading>p{color:var(--orange)}
.v1835-cert-heading h2{font-size:33px}
.v1835-cert-slider{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr) 50px;gap:16px;align-items:center}
.v1835-cert-viewport{overflow:hidden;min-width:0;scrollbar-width:none}
.v1835-cert-viewport::-webkit-scrollbar{display:none}
.v1835-cert-track{display:flex;gap:18px;will-change:transform}
.v1835-cert-card{flex:0 0 calc((100% - 36px)/3);min-width:0;background:#fff;border:1px solid #d7dde2;display:flex;flex-direction:column}
.v1835-cert-doc{height:330px!important;background:#edf0f2!important;padding:18px!important;overflow:hidden;cursor:zoom-in}
.v1835-cert-doc img{height:100%!important;width:100%!important;object-fit:contain!important;transition:transform .35s ease}
.v1835-cert-doc span{position:absolute;right:14px;bottom:14px;background:rgba(7,24,39,.88);color:#fff;padding:7px 9px;font-size:8px;letter-spacing:.08em;opacity:0;transform:translateY(5px);transition:.25s}
.v1835-cert-doc:hover img{transform:scale(1.018)}
.v1835-cert-doc:hover span{opacity:1;transform:none}
.v1835-cert-copy{padding:18px 20px 20px;display:flex;flex-direction:column;min-height:190px}
.v1835-cert-copy small{font-size:9px;color:var(--orange);letter-spacing:.02em}
.v1835-cert-copy h3{font-size:19px;line-height:1.35;margin:7px 0 9px;color:#111d27}
.v1835-cert-copy p{font-size:11px;line-height:1.7;color:#697680;margin:0 0 16px}
.v1835-cert-detail{margin-top:auto;align-self:flex-start;border:0;background:transparent;padding:0;color:#1a2934;font-size:11px;font-weight:900;cursor:pointer}
.v1835-cert-detail span{color:var(--orange);margin-left:8px;transition:transform .2s;display:inline-block}
.v1835-cert-detail:hover span{transform:translateX(4px)}
.v1835-cert-arrow{width:46px;height:46px;border:1px solid #aeb9c1;border-radius:50%;background:#fff;color:#14232e;display:grid;place-items:center;font-size:21px;cursor:pointer;transition:.2s}
.v1835-cert-arrow:hover:not(:disabled){border-color:#ff5a1f;color:#ff5a1f}
.v1835-cert-arrow:disabled{opacity:.28;cursor:default}
.v1835-cert-dots{display:flex;justify-content:center;gap:9px;margin-top:22px}
.v1835-cert-dots button{width:7px;height:7px;border:0;border-radius:50%;background:#bbc4ca;padding:0;cursor:pointer;transition:.2s}
.v1835-cert-dots button.is-active{width:22px;border-radius:99px;background:var(--orange)}

/* 원본 확대 모달: 새 페이지 이동 없이 현재 화면 위에서 확인 */
.doc-dialog{width:min(920px,92vw);max-height:92vh;border:0;padding:0;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.28)}
.doc-dialog::backdrop{background:rgba(3,13,21,.78);backdrop-filter:blur(3px)}
.doc-dialog>div{padding:20px 22px 24px;display:flex;flex-direction:column;align-items:center}
.doc-dialog p{width:100%;margin:0 48px 16px 0;font-size:17px;color:#14212b}
.doc-dialog img{max-width:100%;width:auto;max-height:78vh;object-fit:contain;background:#f2f4f5}
.dialog-close{z-index:2;right:10px;top:10px;border-radius:50%;background:#0a1b29;width:38px;height:38px}

@media(max-width:900px){
  .v1835-cert-slider{grid-template-columns:42px minmax(0,1fr) 42px;gap:10px}
  .v1835-cert-arrow{width:40px;height:40px}
  .v1835-cert-card{flex-basis:calc((100% - 18px)/2)}
  .v1835-cert-doc{height:300px!important}
}
@media(max-width:620px){
  .v1835-cert-section{padding:42px 0 48px}
  .v1835-cert-heading{margin-bottom:22px}.v1835-cert-heading h2{font-size:27px}
  .v1835-cert-slider{grid-template-columns:34px minmax(0,1fr) 34px;gap:7px}
  .v1835-cert-arrow{width:34px;height:34px;font-size:17px}
  .v1835-cert-card{flex-basis:100%}
  .v1835-cert-doc{height:330px!important}
  .v1835-cert-copy{min-height:178px;padding:17px}
  .doc-dialog{width:94vw}.doc-dialog>div{padding:17px}.doc-dialog img{max-height:80vh}
}


/* =========================================================
   V18.37 — compact global header/footer + homepage CTA cleanup (base for V18.38)
   - Header: smaller logo / lower height / calmer spacing
   - Footer: duplicated navigation removed, compact two-row structure
   - Home: header inquiry remains; duplicate hero/bottom inquiry CTAs removed
   ========================================================= */
:root{--v15-header:64px;--header:64px}

/* Header */
.v12-header{height:64px!important;background:rgba(4,15,24,.985)!important;box-shadow:none!important}
.v12-header-inner{height:64px!important;width:min(calc(100% - 64px),1360px)!important;max-width:1360px!important}
.v12-brand{width:164px!important;flex:0 0 164px!important;height:64px!important;overflow:visible!important}
.v12-brand img{width:164px!important;max-width:164px!important;height:54px!important;max-height:54px!important;object-fit:contain!important;object-position:left center!important;transform:none!important}
.v12-nav{gap:38px!important;margin-left:auto!important}
.v12-nav>a{font-size:12.5px!important;line-height:1!important;padding:25px 0 23px!important;letter-spacing:-.015em!important}
.v12-nav>a:not(.v12-contact-link):after{height:2px!important}
.v12-contact-link{padding:9px 15px!important;margin-left:2px!important;border-color:rgba(255,255,255,.38)!important}
.v12-header.is-scrolled{height:60px!important}
.v12-header.is-scrolled .v12-header-inner{height:60px!important}
.v12-header.is-scrolled .v12-brand{height:60px!important}
.v12-header.is-scrolled .v12-brand img{transform:scale(.96)!important;transform-origin:left center!important}
.mobile-menu{top:64px!important}

/* Home hero: one clear primary action only */
.v15-hero-actions{gap:0!important}
.v15-hero-actions .v15-primary-btn{margin-right:0!important}

/* Compact footer */
.v1837-footer{background:#040d14!important;color:#fff!important}
.v1837-footer-main{min-height:112px;padding:25px 0 23px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:36px!important}
.v1837-footer-brandline{display:flex;align-items:center;min-width:0;gap:24px}
.v1837-footer-brandline>img{width:150px!important;max-width:150px!important;height:auto!important;object-fit:contain!important;flex:0 0 auto}
.v1837-footer-divider{width:1px;height:48px;background:rgba(255,255,255,.18);flex:0 0 1px}
.v1837-footer-brandline p{margin:0;color:#afbbc4;font-size:10.5px;line-height:1.45}
.v1837-footer-brandline p b{display:block;color:#dce4e9;font-size:11.5px;line-height:1.45;font-weight:700;margin-bottom:5px}
.v1837-footer-brandline p small{display:block;color:#778b99;font-size:9px;letter-spacing:.01em}
.v1837-footer-contact{display:inline-flex;align-items:center;gap:16px;color:#eef3f6;font-size:11px;font-weight:900;white-space:nowrap;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.22)}
.v1837-footer-contact span{color:var(--orange);font-size:16px;transition:transform .25s ease}
.v1837-footer-contact:hover span{transform:translateX(4px)}
.v1837-footer-meta{border-top:1px solid rgba(255,255,255,.12);padding:14px 0 16px!important;display:flex!important;align-items:center!important;gap:0!important;color:#728491!important;font-size:8.5px!important;line-height:1.45!important;white-space:nowrap}
.v1837-footer-meta>span{display:inline-flex;align-items:center}
.v1837-footer-meta>span+span:before{content:"";width:1px;height:12px;background:rgba(255,255,255,.15);margin:0 16px}
.v1837-footer-meta b{color:#92a2ad;font-weight:800}
.v1837-footer-meta a{color:inherit!important}
.v1837-footer-copy{margin-left:auto!important}
.v1837-footer-copy:before{display:none!important}

@media(max-width:1100px){
  .v12-header-inner{width:calc(100% - 44px)!important}
  .v12-brand{width:150px!important;flex-basis:150px!important}
  .v12-brand img{width:150px!important;max-width:150px!important;height:50px!important}
  .v12-nav{gap:26px!important}
  .v12-nav>a{font-size:12px!important}
  .v1837-footer-main{padding:22px 0!important}
  .v1837-footer-meta{flex-wrap:wrap!important;row-gap:6px!important;white-space:normal!important}
  .v1837-footer-copy{width:100%;margin-left:0!important;margin-top:2px!important}
  .v1837-footer-copy:before{display:none!important}
}

@media(max-width:900px){
  :root{--v15-header:60px;--header:60px}
  .v12-header,.v12-header-inner{height:60px!important}
  .v12-brand{height:60px!important;width:146px!important;flex-basis:146px!important}
  .v12-brand img{width:146px!important;max-width:146px!important;height:49px!important}
  .mobile-menu{top:60px!important}
  .v1837-footer-main{min-height:0;align-items:flex-start!important}
}

@media(max-width:700px){
  .v12-header-inner{width:calc(100% - 28px)!important}
  .v12-brand{width:136px!important;flex-basis:136px!important}
  .v12-brand img{width:136px!important;max-width:136px!important;height:46px!important}
  .v1837-footer-main{flex-direction:column!important;gap:18px!important;padding:24px 0 18px!important}
  .v1837-footer-brandline{gap:16px}
  .v1837-footer-brandline>img{width:140px!important;max-width:140px!important}
  .v1837-footer-divider{height:42px}
  .v1837-footer-contact{align-self:flex-start}
  .v1837-footer-meta{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important;padding:14px 0 20px!important}
  .v1837-footer-meta>span+span:before{display:none!important}
  .v1837-footer-copy{margin-top:6px!important}
}

/* ============================================================
   V18.38 — inquiry navigation cleanup
   - Header contact is now the same text-navigation language as other items.
   - Footer duplicate inquiry CTA is removed; brand block remains compact.
   ============================================================ */
.v12-nav .v1838-nav-arrow{
  display:inline-block;
  margin-left:6px;
  color:var(--orange);
  font-size:13px;
  line-height:1;
  transform:translateY(-1px);
  transition:transform .22s ease;
}
.v12-nav>a:hover .v1838-nav-arrow,
.v12-nav>a.active .v1838-nav-arrow{transform:translate(3px,-1px)}

/* No button on the right anymore: keep the footer intentionally compact. */
.v1837-footer-main{
  min-height:96px!important;
  justify-content:flex-start!important;
  padding:21px 0 20px!important;
}

@media(max-width:1100px){
  .v1837-footer-main{padding:20px 0!important}
}
@media(max-width:760px){
  .v1837-footer-main{padding:22px 0 17px!important}
}


/* V18.45 — PC Hero native-quality display optimization.
   IMPORTANT: Hero dimensions/layout are NOT changed.
   Desktop uses the original 1920x1080 H.264 file without re-encoding and without CSS video filtering.
   Mobile keeps the existing flipped high-quality file/treatment. */
.v15-home-hero{background:#09131b}
.v15-hero-bg{z-index:0}
.v1845-hero-video{
  position:absolute;
  inset:var(--v15-header) 0 0;
  width:100%;
  height:calc(100% - var(--v15-header));
  object-fit:cover;
  z-index:1;
  pointer-events:none;
}
/* PC: render source pixels as cleanly as possible; avoid CSS filter resampling/softening. */
.v1845-hero-video--desktop{
  display:block;
  object-position:center 38%;
  filter:none;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.v1845-hero-video--mobile{display:none}
/* Desktop only: keep strong text contrast on the left while revealing substantially more source detail on the right. */
.v15-hero-shade{
  z-index:2;
  background:
    linear-gradient(90deg,rgba(3,13,21,.84) 0%,rgba(3,13,21,.56) 41%,rgba(3,13,21,.08) 72%,rgba(3,13,21,.22) 100%),
    linear-gradient(0deg,rgba(3,13,21,.50) 0%,transparent 44%);
}
.v15-hero-layout,.v15-hero-bottom{position:relative;z-index:3}
@media (max-width:900px){
  .v1845-hero-video--desktop{display:none}
  .v1845-hero-video--mobile{
    display:block;
    object-position:center 44%;
    filter:saturate(1.02) contrast(1.01) brightness(.96);
  }
  /* Preserve the existing mobile shade exactly so only PC appearance changes in V18.45. */
  .v15-hero-shade{
    background:
      linear-gradient(90deg,rgba(3,13,21,.88) 0%,rgba(3,13,21,.64) 41%,rgba(3,13,21,.18) 72%,rgba(3,13,21,.34) 100%),
      linear-gradient(0deg,rgba(3,13,21,.62) 0%,transparent 44%);
  }
}
@media (prefers-reduced-motion: reduce){.v1845-hero-video{display:none!important}}
/* V18.59 — use the actual first frame of each hero video as the fallback image.
   This prevents the retired static hero image from flashing before video playback. */
@media (max-width:900px){
  .v15-hero-bg{background-image:url('/images/v18/home-hero-poster-mobile.jpg')!important;background-position:center 44%!important}
}


/* =========================================================
   V18.46 — homepage process timeline center alignment
   - Hero/video/layout dimensions remain unchanged.
   - The vertical guide lines now pass through the exact center
     of the 01–04 orange dots on desktop widths.
   ========================================================= */
.v1829-process-list:before{left:26px}
.v1829-process-list:after{left:25.5px}

@media(max-width:1180px) and (min-width:901px){
  /* V18.46 compact desktop alignment */
  .v1829-process-list:before{left:21px}
  .v1829-process-list:after{left:20.5px}
}


/* =========================================================
   V18.51 — static header
   - Disable scroll-triggered header shrinking / logo scaling.
   - Keep navigation hover/active feedback unchanged.
   ========================================================= */
.v12-header,.v12-header-inner,.v12-brand,.v12-brand img,.v12-nav>a,.v12-contact-link{
  transition:none!important;
}
.v12-header.is-scrolled{height:64px!important;background:rgba(4,15,24,.985)!important;box-shadow:none!important}
.v12-header.is-scrolled .v12-header-inner{height:64px!important}
.v12-header.is-scrolled .v12-brand{height:64px!important}
.v12-header.is-scrolled .v12-brand img{transform:none!important}
.v12-header.is-scrolled .v12-nav>a:not(.v12-contact-link){transform:none!important}
.v12-header.is-scrolled .v12-contact-link{transform:none!important}

/* =========================================================
   V18.52 — mobile menu viewport fix
   - On mobile, backdrop-filter on the fixed header can make the
     fixed menu use the 60px header as its containing block.
   - Remove that containing-block effect and pin the opened menu
     to the viewport below the header so links are never hidden.
   ========================================================= */
@media(max-width:900px){
  .v12-header{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .mobile-menu{
    position:fixed!important;
    top:60px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    height:calc(100dvh - 60px)!important;
    min-height:calc(100vh - 60px)!important;
    z-index:1002!important;
    background:#061421!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
  .menu-toggle{
    position:relative!important;
    z-index:1003!important;
    flex:0 0 44px!important;
  }
}

/* V18.53 — footer lower info readability + label/value spacing */
.v1837-footer-meta{font-size:9.5px!important;}
.v1837-footer-label{display:inline-block;margin-right:9px;color:#728491;}

/* V18.54 — certification document viewer readability
   Keep the existing simple lightbox, but give the title its own header row
   and fit the complete document inside the available viewport. */
.doc-dialog{width:min(980px,94vw);max-height:94vh;border:0;padding:0;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.34)}
.doc-dialog::backdrop{background:rgba(3,13,21,.78);backdrop-filter:blur(3px)}
.doc-dialog>div{height:min(900px,92vh);box-sizing:border-box;padding:0;display:grid;grid-template-rows:auto minmax(0,1fr);align-items:stretch;background:#fff}
.doc-dialog p{box-sizing:border-box;width:100%;min-height:58px;margin:0;padding:17px 70px 14px 22px;border-bottom:1px solid #e3e7ea;font-size:18px;line-height:1.45;font-weight:900;color:#14212b;background:#fff}
.doc-dialog img{display:block;width:100%;height:100%;min-height:0;max-width:none;max-height:none;object-fit:contain;object-position:center;background:#f5f6f7;padding:12px;box-sizing:border-box}
.dialog-close{position:absolute;z-index:3;right:12px;top:10px;width:38px;height:38px;border:0;border-radius:50%;display:grid;place-items:center;background:#0a1b29;color:#fff;font-size:25px;line-height:1;cursor:pointer}
@media(max-width:640px){
  .doc-dialog{width:96vw;max-height:94vh;border-radius:8px}
  .doc-dialog>div{height:91vh}
  .doc-dialog p{min-height:54px;padding:15px 58px 12px 15px;font-size:15px}
  .doc-dialog img{padding:8px}
  .dialog-close{right:9px;top:8px;width:36px;height:36px;font-size:23px}
}


/* =========================================================
   V18.64 — engineering flow visual balance refinement
   - shorten overly long labels via data copy updates
   - tighten number/icon columns to give titles more width
   - rebalance hierarchy: title > subtitle > bullets
   - soften arrows and pull note closer to the cards
   ========================================================= */
.v1830-engineering-flow{
  grid-template-columns:1fr 18px 1fr 18px 1fr 18px 1fr 18px 1fr!important;
}
.v1830-engineering-flow article{
  padding:19px 14px 18px!important;
  grid-template-columns:22px 30px minmax(0,1fr)!important;
  column-gap:6px!important;
}
.v1830-engineering-flow .v1818-flow-no{
  font-size:13px!important;
}
.v1830-engineering-flow .v1818-flow-icon{
  height:26px!important;
}
.v1830-engineering-flow .v1818-flow-icon svg{
  width:25px!important;
  height:25px!important;
}
.v1830-engineering-flow h3{
  min-height:31px!important;
  font-size:11.2px!important;
  line-height:1.34!important;
  letter-spacing:-.016em!important;
  color:#13202b!important;
}
.v1830-engineering-flow strong{
  min-height:28px!important;
  font-size:9.3px!important;
  line-height:1.52!important;
  margin:14px 0 9px!important;
  color:#4f5c66!important;
  font-weight:800!important;
}
.v1830-engineering-flow ul{
  margin-top:1px!important;
}
.v1830-engineering-flow li{
  font-size:9.5px!important;
  line-height:1.72!important;
  color:#5d6973!important;
  padding:1px 0!important;
}
.v1830-engineering-flow .v1818-flow-arrow{
  font-size:13px!important;
  color:#e06d3d!important;
  opacity:.85;
}
.v1830-engineering .v1818-engineering-note{
  padding:8px 0 0!important;
  font-size:9.2px!important;
  color:#8a949c!important;
}
@media(max-width:900px){
  .v1830-engineering-flow{
    grid-template-columns:1fr 1fr!important;
  }
  .v1830-engineering-flow article{
    padding:17px 12px!important;
    grid-template-columns:22px 30px minmax(0,1fr)!important;
  }
  .v1830-engineering-flow h3{
    min-height:30px!important;
    font-size:11.1px!important;
  }
  .v1830-engineering-flow strong{
    min-height:26px!important;
  }
}
@media(max-width:620px){
  .v1830-engineering-flow article{
    padding:16px 10px!important;
    grid-template-columns:22px 28px minmax(0,1fr)!important;
  }
  .v1830-engineering-flow h3,
  .v1830-engineering-flow strong{
    min-height:0!important;
  }
}

/* =========================================================
   V18.65 — engineering step body alignment
   - Keep step number/icon/title positions unchanged.
   - Move every lower description block to the title column so
     all five cards share one clean text start line.
   ========================================================= */
@media(min-width:901px){
  .v1830-engineering-flow article > strong{
    grid-column:3!important;
    grid-row:2!important;
    width:100%;
  }
  .v1830-engineering-flow article > ul{
    grid-column:3!important;
    grid-row:3!important;
    width:100%;
  }
}
