/* ================================================================
   DHI 홈페이지 스타일시트
   빠른 수정 가이드
   1) 대표 색상: 아래 :root의 --navy, --blue, --cyan 값을 변경
   2) 본문 폭: .container의 max-width 변경
   3) 메인 배경: .hero-bg의 background-image 변경
   4) 카드/간격/글자 크기는 각 섹션의 CSS 규칙에서 조정
   ================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{--navy:#071c35;--navy2:#0d3156;--blue:#087fe2;--cyan:#20c4df;--ink:#152b43;--muted:#63758a;--line:#dfe8f1;--pale:#f2f7fc;--white:#fff;--container:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:'Noto Sans KR',Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
/* HEADER + DROPDOWN NAV */
.site-header{height:82px;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid #e7edf3;box-shadow:0 3px 18px #0b2c4a0b}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{font-size:35px;font-weight:900;letter-spacing:-2px;color:var(--blue);line-height:1}.brand-sub{font-size:9px;line-height:1.35;letter-spacing:.4px;color:#4d6178}.brand-sub b{font-size:8px;color:#8a9bad}.main-nav{display:flex;align-items:center;gap:2px;height:100%}.nav-item{height:100%;position:relative;display:flex;align-items:center}.nav-item>a{font-size:13px;font-weight:750;padding:13px 12px;color:#263c54;white-space:nowrap}.nav-item>a:after{content:'⌄';font-size:11px;color:#8293a5;margin-left:5px}.nav-item:hover>a{color:var(--blue)}
/* 하위 메뉴: 메뉴 항목 추가 시 index.html의 .dropdown 안에 <a>를 추가하세요. */
.dropdown{display:none;position:absolute;top:70px;left:0;min-width:190px;padding:10px;background:white;border:1px solid var(--line);border-radius:9px;box-shadow:0 15px 35px #0a2b4b1c}.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{display:block}.dropdown a{display:block;padding:9px 11px;font-size:12px;color:#52657a;border-radius:5px}.dropdown a:hover{background:#eef7ff;color:var(--blue)}.nav-tools{display:flex;gap:5px;flex-shrink:0}.lang-btn{border:1px solid #cbd7e4;background:#fff;color:#53677d;border-radius:18px;padding:6px 10px;font-size:10px;font-weight:800;cursor:pointer}.lang-btn.active{background:var(--blue);border-color:var(--blue);color:#fff}.mobile-toggle{display:none;background:none;border:0;font-size:25px;color:var(--navy)}
/* HERO */
.hero{position:relative;color:white;background:var(--navy);min-height:620px;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,22,43,.96) 0%,rgba(5,33,61,.82) 43%,rgba(5,36,65,.24) 100%),url('hero-industrial.jpg') center 43%/cover no-repeat;opacity:1}.hero-content{position:relative;z-index:2;padding-top:112px;padding-bottom:115px;max-width:var(--container)}.eyebrow,.section-kicker{font-size:11px;font-weight:900;letter-spacing:2.2px;color:var(--cyan)}.hero h1{font-size:clamp(39px,5vw,65px);line-height:1.14;letter-spacing:-2px;margin:20px 0}.hero h1 em{font-style:normal;color:#36c9e4}.hero-content>p{max-width:610px;color:#d1dfed;font-size:16px;line-height:1.9;margin:0 0 28px}.hero-actions{display:flex;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 21px;border-radius:5px;font-size:12px;font-weight:800;cursor:pointer;border:0}.btn-primary{color:white;background:linear-gradient(100deg,#087fe2,#13b2d5);box-shadow:0 8px 22px #087fe233}.btn-ghost{color:white;border:1px solid #b4c9dc;background:#ffffff0b}.hero-caption{font-size:9px;letter-spacing:1.5px;color:#9ebbd4;margin-top:55px}.hero-caption span{color:#53dfae}.hero-stats{position:absolute;bottom:0;left:0;right:0;background:rgba(3,25,48,.76);border-top:1px solid #3c8bb366;backdrop-filter:blur(8px)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat-grid>div{display:flex;align-items:center;gap:16px;padding:20px 22px;border-right:1px solid #7392ac55}.stat-grid>div:last-child{border:0}.stat-grid>div>b{font-size:28px;color:#46cce4}.stat-grid strong,.stat-grid small{display:block}.stat-grid strong{font-size:13px}.stat-grid small{font-size:10px;color:#9db6cd;margin-top:3px}
/* SECTION COMMON */
.section{padding:88px 0}.section-soft{background:var(--pale)}.section-title{text-align:center;max-width:720px;margin:0 auto 42px}.section-title h2,.split-intro h2,.platform-copy h2,.case-layout h2,.contact-layout h2{font-size:clamp(28px,3.4vw,42px);line-height:1.3;letter-spacing:-1.3px;color:var(--navy);margin:12px 0 15px}.section-title>p,.split-intro p,.case-layout p{font-size:14px;color:var(--muted);margin:0}.section-kicker{color:var(--blue)}.split-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split-intro .lead{font-size:16px;line-height:1.95}.text-link{display:inline-block;color:var(--blue);font-size:12px;font-weight:800;margin-top:15px}.text-link:hover{text-decoration:underline}
/* SOLUTION CARDS */
.solution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.solution-card{padding:28px 23px;background:white;border:1px solid var(--line);border-radius:9px;min-height:265px;transition:.25s}.solution-card:hover{transform:translateY(-5px);box-shadow:0 18px 35px #092d4d12;border-color:#a8d6f3}.solution-icon{width:48px;height:48px;border-radius:13px;background:#eaf6ff;color:var(--blue);display:grid;place-items:center;font-size:25px;margin-bottom:20px}.card-no{font-size:9px;color:#93a5b8;letter-spacing:1.4px}.solution-card h3{font-size:17px;color:var(--navy);margin:8px 0}.solution-card p{font-size:12px;color:var(--muted);min-height:65px}
/* SYSTEM ARCHITECTURE */
.architecture{display:grid;grid-template-columns:1fr 35px 1fr 35px 1fr 35px 1fr;align-items:center;gap:10px}.arch-item{min-width:0;min-height:205px;border:1px solid var(--line);border-radius:10px;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px;text-align:center;box-shadow:0 8px 25px #102f4b08}.arch-item img{width:100%;height:100px;object-fit:contain;border-radius:6px;margin-bottom:10px}.arch-item b{font-size:14px;color:var(--navy)}.arch-item small{font-size:10px;color:var(--muted);margin-top:5px}.arch-arrow{font-size:26px;color:var(--blue);text-align:center}.server-art{height:100px;display:flex;align-items:center;justify-content:center;line-height:.8;font-size:33px;color:#1688d5;letter-spacing:-7px;margin-bottom:10px}.image-note{text-align:center;font-size:10px;color:#8798a9;margin:18px 0 0}
/* PLATFORM DASHBOARD */
.platform-section{background:linear-gradient(120deg,#071c35,#0d365c);color:white}.platform-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.platform-copy h2{color:white}.platform-copy>p{font-size:13px;color:#b8ccde;line-height:1.9}.check-list{list-style:none;padding:0;margin:23px 0 27px}.check-list li{font-size:12px;color:#d8e6f2;padding:6px 0}.check-list li:before{content:'✓';display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#0e83d9;color:white;margin-right:10px}.dashboard-card{background:#0d2947;border:1px solid #315879;border-radius:12px;padding:18px;box-shadow:0 25px 60px #0004}.dash-head{display:flex;justify-content:space-between;color:#e7f4ff;font-size:11px;padding:3px 2px 15px;border-bottom:1px solid #284a68}.dash-head span,.dash-foot span:last-child{color:#5ee0b0;font-size:9px}.dash-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:13px 0}.dash-metrics>div{background:#153656;padding:12px;border-radius:6px}.dash-metrics small,.dash-metrics strong,.dash-metrics em{display:block}.dash-metrics small{font-size:9px;color:#a9bfd2}.dash-metrics strong{font-size:23px;color:white;margin:3px 0}.dash-metrics sup{font-size:11px}.dash-metrics em{font-style:normal;font-size:9px;color:#5de0ae}.dashboard-card>img{width:100%;height:190px;object-fit:cover;border-radius:6px;opacity:.9}.dash-foot{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#9eb6cc;padding-top:12px}
/* PLATFORM FEATURES */
.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.feature-row article{padding:8px 20px 8px 0;border-right:1px solid var(--line)}.feature-row article:last-child{border:0}.feature-row article>span{font-size:11px;color:var(--blue);font-weight:900;letter-spacing:1px}.feature-row h3{font-size:17px;color:var(--navy);margin:10px 0}.feature-row p{font-size:12px;color:var(--muted)}
/* INDUSTRY CARDS */
.industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.industry-card{height:245px;border-radius:9px;overflow:hidden;position:relative;background-size:cover;background-position:center;display:flex;align-items:end}.industry-card:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,20,38,.92),rgba(3,20,38,.02) 80%)}.industry-card>div{position:relative;color:white;padding:20px}.industry-card small{font-size:9px;color:#7de3ef;letter-spacing:1px}.industry-card h3{font-size:17px;margin:6px 0}.industry-card p{font-size:10px;color:#d3e0eb;margin:0}.industrial{background-image:url('industry-concepts.jpg');background-position:15% center}.environment{background-image:linear-gradient(130deg,#164c68,#1c91a3)}.agriculture{background-image:linear-gradient(130deg,#235a45,#75a95e)}.building{background-image:linear-gradient(130deg,#28425f,#6a8aa5)}
/* CASE / SUPPORT */
.case-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.case-placeholder{position:relative;min-height:220px;background:#0b2b4c;border-radius:10px;overflow:hidden}.case-placeholder img{width:100%;height:250px;object-fit:cover;opacity:.7}.case-placeholder>div{position:absolute;bottom:20px;left:24px;color:white}.case-placeholder b,.case-placeholder small{display:block}.case-placeholder small{font-size:11px;color:#c3d7e8}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.process-grid>div{background:var(--pale);padding:22px;border-radius:8px;border-top:3px solid var(--blue)}.process-grid b{font-size:22px;color:var(--blue)}.process-grid h3{font-size:15px;margin:10px 0 5px}.process-grid p{font-size:11px;color:var(--muted);margin:0}.faq{max-width:850px;margin:55px auto 0}.faq h3{font-size:21px;color:var(--navy);margin-bottom:15px}.faq details{border-bottom:1px solid var(--line);padding:15px 3px}.faq summary{font-size:13px;font-weight:700;cursor:pointer}.faq details p{font-size:12px;color:var(--muted);margin:12px 0 0}.download-note{margin-top:35px;background:#eef6fd;border-radius:8px;padding:18px 22px;display:flex;gap:22px;font-size:12px}.download-note b{color:var(--blue);white-space:nowrap}.download-note span{color:var(--muted)}
/* CONTACT FORM */
.contact-section{background:#eef5fb;padding:85px 0}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:start}.contact-layout>div>p{font-size:13px;color:var(--muted);line-height:1.8}.contact-detail{display:flex;gap:14px;align-items:center;margin-top:20px}.contact-detail>span{width:38px;height:38px;border-radius:50%;background:#dceeff;color:var(--blue);display:grid;place-items:center}.contact-detail small,.contact-detail b{display:block}.contact-detail small{font-size:9px;color:#8194a7}.contact-detail b{font-size:13px;color:var(--navy)}.contact-form{background:white;padding:25px;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:1fr 1fr;gap:15px;box-shadow:0 15px 35px #153b5b0a}.contact-form label span{display:block;font-size:11px;font-weight:700;margin-bottom:6px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #d8e2ec;border-radius:5px;padding:11px;font-size:11px;outline:none;background:white}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--blue)}.contact-form .full{grid-column:1/-1}.contact-form button{width:100%}.form-help{font-size:9px;color:#8294a6}
/* FOOTER */
footer{background:#06172c;color:#9cb1c5;padding:35px 0 20px}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-brand .brand-mark{color:white}.footer-brand .brand-sub{color:#b8cadb}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a{font-size:10px}.footer-contact{font-size:10px;line-height:2;text-align:right}.footer-bottom{border-top:1px solid #1c344c;margin-top:28px;padding-top:17px;display:flex;justify-content:space-between;font-size:9px;color:#718aa2}.top-button{position:fixed;right:22px;bottom:22px;width:42px;height:42px;border:0;border-radius:50%;background:var(--blue);color:white;font-size:22px;box-shadow:0 8px 20px #06172c44;cursor:pointer;z-index:20}
/* RESPONSIVE: 태블릿/모바일 레이아웃 */
@media(max-width:1050px){.main-nav{gap:0}.nav-item>a{padding:10px 7px;font-size:11px}.brand-sub{display:none}.solution-grid,.industry-grid{grid-template-columns:repeat(2,1fr)}.platform-layout{gap:30px}.architecture{gap:5px}.arch-arrow{font-size:19px}}
@media(max-width:760px){.container{width:calc(100% - 34px)}.site-header{height:70px}.nav-wrap{gap:10px}.mobile-toggle{display:block;order:3}.nav-tools{margin-left:auto}.main-nav{display:none;position:absolute;top:70px;left:0;right:0;height:auto;background:white;padding:12px 18px 20px;box-shadow:0 18px 28px #092d4d20;align-items:stretch;flex-direction:column}.main-nav.mobile-open{display:flex}.nav-item{height:auto;display:block}.nav-item>a{display:block;padding:11px 8px;font-size:13px}.dropdown{display:block;position:static;box-shadow:none;border:0;border-radius:0;padding:0 0 5px 14px}.dropdown a{padding:7px 9px}.hero{min-height:720px}.hero-bg{background-position:58% center}.hero-content{padding-top:75px;padding-bottom:250px}.hero h1{font-size:42px}.hero-content>p{font-size:13px}.hero-caption{margin-top:32px}.hero-stats{position:absolute}.stat-grid{grid-template-columns:1fr 1fr}.stat-grid>div{padding:12px 8px;border-bottom:1px solid #7392ac55}.stat-grid strong{font-size:11px}.stat-grid small{font-size:9px}.section{padding:65px 0}.split-intro,.platform-layout,.case-layout,.contact-layout{grid-template-columns:1fr;gap:28px}.solution-grid,.industry-grid{grid-template-columns:1fr 1fr}.solution-card{padding:20px 16px}.architecture{grid-template-columns:1fr}.arch-item{min-height:175px}.arch-arrow{transform:rotate(90deg)}.arch-item img{height:85px}.platform-copy h2,.split-intro h2,.case-layout h2,.contact-layout h2{font-size:32px}.dashboard-card>img{height:140px}.feature-row{grid-template-columns:1fr;gap:20px}.feature-row article{border-right:0;border-bottom:1px solid var(--line);padding-bottom:18px}.process-grid{grid-template-columns:1fr 1fr}.contact-form{padding:18px}.footer-main{align-items:flex-start;flex-direction:column}.footer-contact{text-align:left}.footer-bottom{flex-direction:column;gap:8px}}
@media(max-width:430px){.solution-grid,.industry-grid{grid-template-columns:1fr}.industry-card{height:200px}.contact-form{grid-template-columns:1fr}.contact-form .full{grid-column:auto}.process-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:36px}.hero-actions{flex-direction:column;align-items:flex-start}}

/* PORTAL ACCESS BUTTONS */
.nav-tools{align-items:center}.portal-link{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border:1px solid #cbd9e7;border-radius:5px;color:#23415f;font-size:10px;font-weight:800;white-space:nowrap}.portal-link:hover{border-color:var(--blue);color:var(--blue);background:#f2f9ff}.portal-link.admin-link{background:var(--navy);border-color:var(--navy);color:#fff}.portal-link.admin-link:hover{background:var(--blue);border-color:var(--blue)}
@media(max-width:1250px){.nav-wrap{gap:10px}.nav-item>a{padding-left:7px;padding-right:7px}.portal-link{padding:6px 7px;font-size:9px}}
@media(max-width:760px){.nav-tools{gap:4px}.portal-link{font-size:9px;padding:6px 7px}.lang-btn{padding:5px 7px}}

/* 업데이트 39: 아래쪽 개인정보처리방침·이용약관 링크 */
.footer-legal a{color:inherit;text-decoration:none}.footer-legal a:hover{text-decoration:underline}
