:root { --header-height:92px; --navy:#06182c; --navy-2:#0a2f57; --blue:#0d57a1; --blue-2:#2d7dc4; --sky:#72b7e8; --gold:#c79a52; --ink:#102033; --muted:#66778a; --line:#dce5ed; --surface:#f3f7fa; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif; color:var(--ink); background:#fff; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
img { max-width:100%; display:block; }
.wrap { width:min(1440px,calc(100% - 48px)); margin:auto; }
.site-header { position:fixed; z-index:100; inset:0 0 auto; height:var(--header-height); padding:0 clamp(22px,4.7vw,84px); display:grid; grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr); align-items:center; color:#fff; border-bottom:1px solid rgba(255,255,255,.16); background:linear-gradient(180deg,rgba(3,13,26,.58),rgba(3,13,26,.08)); transition:.25s ease; }
.site-header.scrolled,.inner-page .site-header { height:76px; background:rgba(6,24,44,.95); backdrop-filter:blur(14px); box-shadow:0 10px 35px rgba(0,0,0,.15); }
.brand { display:inline-flex; flex-direction:column; line-height:1; }
.brand strong { font-size:clamp(27px,2.2vw,42px); letter-spacing:.03em; display:none; }
.brand span { margin-top:7px; font-size:12px; letter-spacing:.28em; opacity:.86; display:none; }
a.brand { display:block; width:195px; height:50px; background:url(../images/logo_w.png) no-repeat 50% 50%; background-size:100%; }
.desktop-nav { display:flex; gap:clamp(20px,2.4vw,44px); font-size:15px; font-weight:700; }
.desktop-nav a { padding:12px 0; position:relative; }
.desktop-nav a:after { content:""; position:absolute; left:0; bottom:2px; width:100%; height:2px; background:#fff; transform:scaleX(0); transition:.2s; }
.desktop-nav a:hover:after { transform:scaleX(1); }
.header-actions { display:flex; justify-self:end; align-items:center; }
.header-cta { padding:14px 22px; border:1px solid rgba(255,255,255,.72); font-size:14px; font-weight:800; }
.menu-button { display:none; width:40px; height:40px; padding:7px; border:0; background:transparent; }
.menu-button span { display:block; height:2px; background:#fff; margin:6px 0; }
.mobile-menu { display:none; }
.hero { position:relative; min-height:100svh; overflow:hidden; color:#fff; background:#101b2a; }
.slides,.slide { position:absolute; inset:0; }
.slide { opacity:0; background:center/cover no-repeat; transform:scale(1.025); transition:opacity .95s; }
.slide.active { opacity:1; animation:kenburns 5s ease-out both; }
.slide:nth-child(1) { background-position:center 43%; }
.slide:nth-child(2) { background-position:center 38%; }
.slide:nth-child(3) { background-position:center 68%; background-size:92% auto; }
.slide:nth-child(4) { background-position:center 46%; }

@keyframes kenburns {from { transform:scale(1.07); }
to { transform:scale(1.025); }
}
/* .hero-overlay { position:absolute; inset:0; z-index:2; background: linear-gradient(90deg,rgba(3,13,27,.86),rgba(3,13,27,.58) 40%,rgba(3,13,27,.15) 72%), linear-gradient(0deg,rgba(2,12,24,.68),transparent 48%,rgba(4,13,27,.18)); }
*/

.hero-overlay { position:absolute; inset:0; z-index:2; background: linear-gradient( 90deg, rgba(3,13,27,.86), rgba(3,13,27,.58) 30%, rgba(3,13,27,.15) 58% ), linear-gradient( 0deg, rgba(2,12,24,.68), transparent 48%, rgba(4,13,27,.18) ); }
.hero-content { position:relative; z-index:4; width:min(770px,calc(100% - 44px)); padding-top:clamp(178px,24vh,270px); margin-left:clamp(24px,5vw,92px); }
.eyebrow { margin:0 0 24px; font-size:clamp(12px,1vw,15px); font-weight:800; letter-spacing:.18em; }
.hero h1 { margin:0; font-size:clamp(44px,4.9vw,72px); line-height:1.1; letter-spacing:-.055em; }
.hero-copy { margin:30px 0 0; font-size:clamp(18px,1.55vw,24px); line-height:1.68; }
.hero-buttons { display:flex; flex-wrap:wrap; gap:14px; margin-top:42px; }
.button { min-width:210px; padding:18px 24px; display:inline-flex; justify-content:space-between; align-items:center; border:1px solid rgba(255,255,255,.75); font-weight:800; }
.button-primary { background:var(--blue); }
.button-secondary { background:rgba(0,0,0,.14); backdrop-filter:blur(5px); }
.slide-arrow { position:absolute; z-index:6; top:50%; transform:translateY(-50%); width:54px; height:54px; border-radius:50%; border:1px solid rgba(255,255,255,.28); background:rgba(3,17,32,.36); color:#fff; font-size:30px; }
.slide-arrow.prev { left:22px; }
.slide-arrow.next { right:22px; }
.hero-meta { position:absolute; z-index:5; left:clamp(24px,5vw,92px); right:clamp(24px,5vw,92px); bottom:34px; display:flex; justify-content:space-between; align-items:flex-end; }
.meta-left { display:flex; align-items:center; gap:14px; }
.meta-number { font-size:23px; font-weight:800; }
.meta-total { opacity:.55; }
.meta-line { width:112px; height:2px; background:rgba(255,255,255,.23); overflow:hidden; }
.meta-line span { display:block; height:100%; background:#fff; }
.meta-line.run span { animation:progress 4s linear forwards; }

@keyframes progress {from { width:0; }
to { width:100%; }
}
.dots { display:flex; gap:8px; }
.dot { width:8px; height:8px; border:0; border-radius:50%; background:rgba(255,255,255,.4); }
.dot.active { background:#fff; }
.scroll-cue { display:flex; flex-direction:column; align-items:center; gap:7px; font-size:11px; letter-spacing:.16em; }
.section { padding:clamp(90px,9vw,150px) 0; }
.kicker { margin:0 0 15px; color:var(--blue); font-size:12px; font-weight:900; letter-spacing:.18em; }
.section-title { font-size:clamp(38px,5vw,72px); line-height:1.12; letter-spacing:-.055em; margin:0; }
.section-copy { font-size:18px; line-height:1.9; color:var(--muted); }
.about-intro { display:grid; grid-template-columns:.82fr 1.18fr; gap:90px; align-items:start; }
.about-message { font-size:clamp(24px,2.4vw,36px); line-height:1.55; font-weight:720; letter-spacing:-.035em; }
.value-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:65px; }
.value-card { padding:28px; border:1px solid var(--line); background:#fff; }
.value-card b { display:block; font-size:13px; color:var(--blue); letter-spacing:.14em; }
.value-card h3 { font-size:30px; margin:12px 0; }
.value-card p { color:var(--muted); line-height:1.75; word-break:keep-all; }
.dark-section { background:linear-gradient(135deg,#06182c,#0b3763); color:#fff; }
.tech-showcase { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:center; }
.tech-showcase .section-copy { color:rgba(255,255,255,.72); }
.tech-visual { position:relative; min-height:500px; border-radius:28px; background:linear-gradient(145deg,#0d3157,#07192d); overflow:hidden; border:1px solid rgba(255,255,255,.12); }
.layer-ribbon { position:absolute; left:12%; width:78%; height:100px; border-radius:50%; transform:rotate(-8deg) skewX(-12deg); box-shadow:0 20px 40px rgba(0,0,0,.22); }
.layer-ribbon:nth-child(1) { top:9%; background:linear-gradient(90deg,#dff3ff,#5ca8e3); }
.layer-ribbon:nth-child(2) { top:25%; background:linear-gradient(90deg,#fff,#9bcbee); }
.layer-ribbon:nth-child(3) { top:41%; background:linear-gradient(90deg,#bfeaff,#2277bd); }
.layer-ribbon:nth-child(4) { top:57%; background:linear-gradient(90deg,#eaf3fa,#7e9eb9); }
.layer-ribbon:nth-child(5) { top:73%; background:linear-gradient(90deg,#fff,#cddbe7); }
.tech-links { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:34px; }
.tech-links a { padding:15px; border:1px solid rgba(255,255,255,.2); font-size:13px; font-weight:700; text-align:center; }
.product-preview { background:var(--surface); }
.category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:55px; }
.category-card { position:relative; min-height:290px; padding:30px; background:#fff; border:1px solid var(--line); overflow:hidden; transition:.25s; }
.category-card:hover { transform:translateY(-6px); box-shadow:0 20px 45px rgba(15,45,75,.1); }
.category-card .num { font-size:12px; font-weight:900; color:var(--blue); }
.category-card h3 { font-size:28px; margin:24px 0 10px; }
.category-card p { color:var(--muted); line-height:1.7; }
.category-card .go { position:absolute; bottom:26px; right:28px; color:var(--blue); font-weight:900; }
.film-orb { position:absolute; width:160px; height:160px; border-radius:50%; right:-55px; top:-45px; background:radial-gradient(circle at 35% 35%,#fff,#73b4e5 42%,#0b4e91 75%,#06182c); opacity:.18; }
.next-stage { padding:90px 0; background:#fff; }
.stage-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.stage-card { padding:30px; border-top:3px solid var(--blue); background:#f6f9fb; }
.contact-section { background:#07192d; color:#fff; }
.contact-box { display:flex; justify-content:space-between; gap:40px; align-items:end; }
.contact-box p { color:rgba(255,255,255,.7); font-size:18px; line-height:1.8; }
.contact-actions { display:flex; gap:12px; flex-wrap:wrap; }
.contact-actions a { display:flex; align-items:center; justify-content:center; padding:10px 22px; border:1px solid rgba(255,255,255,.5); font-weight:800; }
.contact-actions .main { background:#fff; color:#0b3f82; }
.site-footer { padding:45px clamp(24px,7vw,120px); background:#04101e; color:#fff; display:flex; justify-content:space-between; flex-direction:column; gap:30px; }
.site-footer p { opacity:.65; }
.footer-info { display:flex; gap:22px; align-items:center; flex-wrap:wrap; font-size:13px; opacity:.7; }
/* inner pages */
.page-hero { padding:170px 0 100px; background:linear-gradient(135deg,#06182c,#0b3763); color:#fff; }
.page-hero h1 { font-size:clamp(44px,6vw,82px); letter-spacing:-.055em; margin:12px 0 24px; }
.page-hero p { max-width:760px; font-size:19px; line-height:1.8; color:rgba(255,255,255,.75); }
.tech-grid { display:grid; gap:28px; }
.tech-row { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:center; padding:58px; background:#fff; border:1px solid var(--line); }
.tech-row:nth-child(even) { grid-template-columns:1.2fr .8fr; }
.tech-row:nth-child(even) .tech-text { order:2; }
.tech-diagram { position:relative; min-height:330px; background:linear-gradient(145deg,#edf5fb,#dceaf5); border-radius:22px; overflow:hidden; }
.tech-diagram .sheet { position:absolute; left:12%; width:76%; height:70px; border-radius:50%; transform:rotate(-9deg) skewX(-12deg); box-shadow:0 12px 25px rgba(20,55,90,.18); }
.tech-diagram .sheet:nth-child(1) { top:12%; background:#edf5ff; }
.tech-diagram .sheet:nth-child(2) { top:28%; background:#80bee9; }
.tech-diagram .sheet:nth-child(3) { top:44%; background:#f9fbfd; }
.tech-diagram .sheet:nth-child(4) { top:60%; background:#8ca8bd; }
.tech-diagram .sheet:nth-child(5) { top:76%; background:#dfe9f0; }
.tech-text .type { font-size:12px; color:var(--blue); letter-spacing:.15em; font-weight:900; }
.tech-text h2 { font-size:clamp(34px,4vw,52px); margin:12px 0; }
.tech-text p { color:var(--muted); line-height:1.85; }
.tags { display:flex; gap:8px; flex-wrap:wrap; margin-top:22px; }
.tags span { padding:8px 11px; background:#eef4f8; color:#3e5366; font-size:12px; }
.finder-cta { margin-top:40px; padding:42px; background:#07192d; color:#fff; display:flex; justify-content:space-between; align-items:center; gap:25px; }
.finder-cta a { padding:16px 22px; background:#fff; color:#0b3f82; font-weight:900; }
.filters { display:flex; gap:10px; flex-wrap:wrap; margin:45px 0 28px; }
.filter-btn { padding:12px 18px; border:1px solid var(--line); background:#fff; font-weight:800; color:#43576a; }
.filter-btn.active { background:#0b4f94; color:#fff; border-color:#0b4f94; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.product-card { padding:30px; background:#fff; border:1px solid var(--line); position:relative; }
.product-card .family { font-size:12px; color:var(--blue); font-weight:900; letter-spacing:.14em; }
.product-card h3 { font-size:31px; margin:14px 0; }
.product-card p { color:var(--muted); line-height:1.7; }
.specs { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:25px; }
.spec { padding:12px; background:#f3f7fa; }
.spec b { display:block; font-size:19px; color:#0b4f94; }
.spec span { font-size:11px; color:#6e7f8f; }
.warranty { display:inline-block; margin-top:20px; padding:8px 11px; background:#07192d; color:#fff; font-size:12px; font-weight:800; }
.table-wrap { overflow:auto; margin-top:45px; border:1px solid var(--line); }
table { width:100%; border-collapse:collapse; min-width:900px; }
th,td { padding:15px 12px; border-bottom:1px solid var(--line); text-align:center; font-size:13px; }
thead th { background:#07192d; color:#fff; }
tbody th { text-align:left; background:#f3f7fa; }
.reveal { opacity:0; transform:translateY(24px); transition:.7s ease; }
.reveal.visible { opacity:1; transform:none; }

@media(max-width:1100px) {.site-header { grid-template-columns:1fr auto; }
.desktop-nav,.header-cta { display:none; }
.menu-button { display:block; }
.mobile-menu-backdrop { position:fixed; inset:0; z-index:95; background:rgba(2,10,20,.55); opacity:0; visibility:hidden; transition:opacity .3s ease,visibility .3s ease; }
.mobile-menu-backdrop.visible { opacity:1; visibility:visible; }
body.menu-open { overflow:hidden; }
.mobile-menu { position:fixed; z-index:96; top:0; right:0; bottom:0; width:min(360px,92vw); padding:86px 24px 30px; background:rgba(5,17,33,.98); color:#fff; display:flex; flex-direction:column; gap:22px; transform:translateX(105%); transition:transform .3s ease; box-shadow:-18px 0 40px rgba(0,0,0,.24); overflow-y:auto; }
.mobile-menu.open { transform:translateX(0); }
.mobile-menu .mobile-menu-close { position:absolute; top:18px; right:18px; width:40px; height:40px; border:1px solid rgba(255,255,255,.28); background:transparent; color:#fff; font-size:30px; line-height:1; cursor:pointer; }
.mobile-menu a { font-size:24px; font-weight:800; }
.mobile-menu .mobile-cta { font-size:16px; border:1px solid #fff; padding:16px; text-align:center; }
.about-intro,.tech-showcase { grid-template-columns:1fr; }
.category-grid { grid-template-columns:repeat(2,1fr); }
.tech-grid .tech-row,.tech-grid .tech-row:nth-child(even) { grid-template-columns:1fr; }
.tech-row:nth-child(even) .tech-text { order:0; }
.product-grid { grid-template-columns:repeat(2,1fr); }
.v12-products .v12-empty-wide { display:none; }

 }
@media(max-width:720px) {:root { --header-height:76px; }
.site-header { padding:0 20px; }
.brand strong { font-size:28px; }
.brand span { font-size:9px; }
.slide { background-size:cover; background-repeat:no-repeat; }
.slide:nth-child(1) { background-position:38% 52%; transform:scale(1.015); }
.slide:nth-child(2) { background-position:center 44%; }
.slide:nth-child(3) { background-position:center 62%; }
.slide:nth-child(4) { background-position:center 46%; transform:scale(0.92); }
.hero-content { margin-left:20px; width:calc(100% - 40px); padding-top:150px; }
.hero h1 { font-size:42px; }
.hero-copy { font-size:16px; }
.hero-buttons { display:grid; }
.button { width:min(100%,330px); }
.slide-arrow { display:none; }
.hero-meta { left:20px; right:20px; bottom:80px; }
.scroll-cue { display:none; }
.wrap { width:min(100% - 36px,1440px); }
.section { padding:78px 0; }
.value-grid,.category-grid,.stage-grid,.product-grid { grid-template-columns:1fr; }
.tech-links { grid-template-columns:repeat(2,1fr); }
.tech-visual { min-height:390px; }
.about-intro { gap:35px; }
.contact-box,.finder-cta { align-items:flex-start; flex-direction:column; }
.site-footer { flex-direction:column; }
.tech-row { padding:26px; }
.page-hero { padding:135px 0 75px; }
.page-hero h1 { font-size:46px; }
}
/* ===== v06 main project section ===== */
.project-preview { background:#f3f7fa; }
.project-heading { display:grid; grid-template-columns:.9fr 1.1fr; gap:75px; align-items:end; }
.project-grid { display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:repeat(2, minmax(260px, 1fr)); gap:18px; margin-top:58px; }
.project-card { position:relative; min-height:300px; overflow:hidden; background:#0a2038; color:#fff; border:1px solid rgba(255,255,255,.06); }
.project-card-large { grid-row:1 / span 2; min-height:620px; }
.project-visual { position:absolute; inset:0; background: linear-gradient(135deg,rgba(7,25,45,.12),rgba(7,25,45,.68)), linear-gradient(145deg,#9eb7ca,#d8e4ec 46%,#7d9bb2); transition:transform .6s ease; }
.project-visual.p2 { background: linear-gradient(135deg,rgba(7,25,45,.14),rgba(7,25,45,.70)), linear-gradient(145deg,#8aa7ba,#c7d7e1 50%,#6d8da4); }
.project-visual.p3 { background: linear-gradient(135deg,rgba(7,25,45,.14),rgba(7,25,45,.70)), linear-gradient(145deg,#b2c4d1,#e1e9ef 50%,#7795aa); }
.project-card:hover .project-visual { transform:scale(1.035); }
.project-info { position:absolute; left:0; right:0; bottom:0; padding:34px; background:linear-gradient(0deg,rgba(4,16,30,.88),rgba(4,16,30,0)); }
.project-info span { font-size:11px; letter-spacing:.17em; font-weight:900; color:#7dc0ef; }
.project-info h3 { margin:10px 0 7px; font-size:clamp(28px,3vw,46px); }
.project-info p { margin:0; color:rgba(255,255,255,.72); }
.project-category-bar { display:grid; grid-template-columns:repeat(5,1fr); margin-top:18px; background:#fff; border:1px solid var(--line); }
.project-category-bar span { padding:18px 12px; text-align:center; font-size:13px; font-weight:800; color:#53677a; border-right:1px solid var(--line); }
.project-category-bar span:last-child { border-right:0; }

@media(max-width:1000px) {.project-heading { grid-template-columns:1fr; }
.project-grid { grid-template-columns:1fr; grid-template-rows:auto; }
.project-card-large { grid-row:auto; min-height:470px; }
.project-card { min-height:300px; }
.project-category-bar { grid-template-columns:repeat(2,1fr); }
.project-category-bar span { border-bottom:1px solid var(--line); }

 }
@media(max-width:720px) {.project-category-bar { grid-template-columns:1fr; }
}
/* ===== v08 mega menu ===== */
.site-header { overflow:visible; }
.mega-menu { position:absolute; left:0; right:0; top:100%; background:#0b2342; color:#fff; border-top:1px solid rgba(255,255,255,.12); opacity:0; visibility:hidden; transform:translateY(-8px); transition:.22s ease; box-shadow:0 22px 50px rgba(0,0,0,.18); }
.site-header:has(.has-mega:hover) .mega-menu,
.mega-menu:hover { opacity:1; visibility:visible; transform:none; }
.mega-inner { width:min(1280px,calc(100% - 48px)); margin:auto; padding:34px 0 40px; display:grid; grid-template-columns:repeat(4,1fr); gap:44px; }
.mega-inner section { display:grid; gap:11px; align-content:start; }
.mega-inner b { font-size:17px; margin-bottom:7px; }
.mega-inner a { font-size:14px; color:rgba(255,255,255,.74); }
.mega-inner a:hover { color:#fff; }

@media(max-width:1100px) {.mega-menu { display:none; }
}
body { font-size:15px; }
.desktop-nav { font-size:14px; gap:30px; }
.section-title { font-size:clamp(34px,4.2vw,58px); }
.section-copy { font-size:16px; }
.mega-inner-simple { grid-template-columns:repeat(5,1fr); gap:16px; padding:24px 0 28px; }
.mega-category { display:block; padding:18px 16px; border-left:1px solid rgba(255,255,255,.12); }
.mega-category:first-child { border-left:0; }
.mega-category b { display:block; font-size:17px; margin-bottom:8px; }
.mega-category span { display:block; color:rgba(255,255,255,.58); font-size:12px; line-height:1.5; }

@media(max-width:1100px) {.mega-inner-simple { grid-template-columns:1fr; }
}
/* v10 simple design */
body { font-size:14px; }
.desktop-nav { font-size:13px; gap:26px; }
.section-title { font-size:clamp(32px,4vw,54px); }
.section-copy { font-size:15px; }
.simple-mega { grid-template-columns:repeat(5,1fr); gap:0; padding:22px 0; }
.simple-mega>a { padding:14px 18px; border-left:1px solid rgba(255,255,255,.12); }
.simple-mega>a:first-child { border-left:0; }
.simple-mega b { display:block; font-size:15px; margin-bottom:5px; }
.simple-mega span { display:block; font-size:11px; line-height:1.45; color:rgba(255,255,255,.56); }

@media(max-width:1100px) {.mega-menu { display:none; }
}
/* ===== Product pages: v12 structure on v10 overall design ===== */
.v12-products { padding-top:84px; background:#fff; }
.v12-product-heading { padding:76px 0 54px; text-align:center; background:#fff; }
.v12-product-heading h1 { font-size:clamp(42px,5.3vw,50px); letter-spacing:0; color:#0b2037; margin:12px 0 0;}
.v12-product-heading>div>p:last-child { color:var(--muted); font-size:15px; }
.v12-category-heading { padding-bottom:42px; }
.v12-category-bar { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.v12-category-bar .wrap { display:grid; grid-template-columns:repeat(5,1fr); }
.v12-category-bar a { padding:22px 10px; text-align:center; font-size:14px; font-weight:800; border-bottom:2px solid transparent; }
.v12-category-bar a:hover,.v12-category-bar a.active { color:var(--blue); border-bottom-color:var(--blue); }
.v12-product-guide { padding:68px 0 92px; background:#f6f8fa; }
.v12-product-guide .wrap { display:grid; gap:24px; }
.v12-product-visual-card { padding:24px; background:#fff; border:1px solid var(--line); border-radius:24px; box-shadow:0 16px 34px rgba(11,55,97,.06); }
.v12-product-guide>div>p { color:var(--muted); margin:0; text-align:center; line-height:1.8; }
.v12-empty-wide,.v12-empty-photo,.v12-empty-gallery>div { background:linear-gradient(135deg,#f8fafc,#e9eff4); border:1px dashed #b9c8d4; color:#8293a2; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.v12-empty-wide { height:clamp(240px, 34vw, 330px); border-radius:18px; }
.v12-empty-wide span,.v12-empty-photo span,.v12-empty-gallery span { font-size:12px; letter-spacing:.12em; text-align:center; }
.v12-products .v12-empty-wide { display:block; height:auto; background:none; border:0; overflow:hidden; }
.v12-products .v12-empty-wide img { width:100%; height:auto; object-fit:contain; object-position:center; display:block; }
.v12-product-cta-row { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:24px; }
.v12-product-cta-row .button { min-width:0; flex:1 1 180px; justify-content:center; padding:16px 20px; }
.v12-series-tabs { border-bottom:1px solid var(--line); background:#fff; }
.v12-series-tabs .wrap { display:flex; justify-content:center; overflow-x:auto; }
.v12-series-tabs button { min-width:225px; padding:23px 15px; border:0; border-bottom:2px solid transparent; background:#fff; color:#506273; font-size:15px; font-weight:800; white-space:nowrap; cursor:pointer; }
.v12-series-tabs button.active,.v12-series-tabs button:hover { color:var(--blue); border-bottom-color:var(--blue); }
.v12-product-content { padding:76px 0 96px; background:#fff; }
.v12-product-content [hidden] { display:none !important; }
.v12-product-lead { display:grid; grid-template-columns:1.05fr .95fr; gap:58px; align-items:center; }
.v12-products.indoor-heat-mode .v12-product-lead { display:none !important; }
.v12-indoor-heat-hero { width:100%; display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:#0a1b2f; }
.v12-indoor-heat-single { margin:0; width:100%; }
.v12-indoor-heat-single img { width:100%; max-width:100%; height:auto; display:block; object-fit:contain; margin:0 auto; touch-action:pan-x pan-y pinch-zoom; }
.v12-indoor-heat-hero.is-single { display:block; background:#fff; }
.v12-indoor-heat-hero.is-single .v12-indoor-heat-hero-part { display:none; }
.v12-image-slot { position:relative; }
.v12-image-slot-placeholder { display:none; align-items:center; justify-content:center; text-align:center; padding:16px; font-size:12px; font-weight:700; color:#5f7488; letter-spacing:.04em; }
.v12-image-slot.is-empty { background:linear-gradient(135deg,#f8fafc,#e9eff4); }
.v12-image-slot.is-empty .v12-image-slot-placeholder { display:flex; min-height:clamp(280px,31vw,420px); }
.v12-indoor-heat-hero-part { margin:0; min-height:clamp(280px,31vw,420px); overflow:hidden; }
.v12-indoor-heat-hero-part img { width:100%; height:100%; display:block; object-fit:cover; }
.v12-indoor-heat-hero-layer img { object-position:center center; }
.v12-indoor-heat-hero-main img { object-position:center center; }
.v12-empty-photo { height:410px; border-radius:10px; aspect-ratio:4 / 3; object-fit:cover; object-position:center; }
.v12-code { color:var(--blue); font-size:11px; font-weight:900; letter-spacing:.16em; }
.v12-product-copy h2 { font-size:clamp(34px,4vw,50px); margin:13px 0 17px; letter-spacing:-.05em; }
.v12-product-copy>p { font-size:15px; color:var(--muted); line-height:1.85; }
.v12-features { display:flex; gap:18px; flex-wrap:wrap; margin-top:25px; }
.v12-features span { padding-left:11px; border-left:2px solid var(--blue); font-size:13px; font-weight:900; }
.v12-empty-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:48px; }
.v12-empty-gallery>div { height:210px; border-radius:7px; aspect-ratio:4 / 3; object-fit:cover; object-position:center; }
.v12-products.functional-gallery-mode .v12-empty-gallery { width:100%; margin:48px auto 0; box-sizing:border-box; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.v12-products.functional-gallery-mode .v12-empty-gallery>div { display:block; width:100%; height:auto; aspect-ratio:4 / 3; border-radius:10px; border:1px solid var(--line); background:#eef3f7; overflow:hidden; box-sizing:border-box; margin:0 auto; }
.v12-products.functional-gallery-mode .v12-empty-gallery>div img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; margin:0 auto; }
.v12-products.blackout-media-mode .v12-indoor-heat-hero.is-single { background:#fff; }
.v12-products.blackout-media-mode .v12-indoor-heat-hero.is-single .v12-indoor-heat-single { border-radius:12px; overflow:hidden; }
.v12-products.blackout-media-mode .v12-indoor-heat-hero.is-single .v12-indoor-heat-single img { width:100%; max-width:100%; height:auto; object-fit:contain; display:block; margin:0 auto; }
.v12-products.blackout-media-mode .v12-empty-gallery { align-items:start; }
.v12-products.blackout-media-mode .v12-empty-gallery>div { aspect-ratio:auto; height:auto; border:0; background:transparent; overflow:visible; }
.v12-products.blackout-media-mode .v12-empty-gallery>div img { width:100%; max-width:100%; height:auto; object-fit:contain; object-position:center; display:block; margin:0 auto; }
.v12-products.privacy-media-mode .v12-empty-gallery>div img { object-fit:contain; object-position:center; }
.v12-products.multiflex-media-mode .v12-indoor-heat-hero.is-single { background:#fff; }
.v12-products.multiflex-media-mode .v12-indoor-heat-hero.is-single .v12-indoor-heat-single { width:100%; margin:0; }
.v12-products.multiflex-media-mode .v12-indoor-heat-hero.is-single .v12-indoor-heat-single img { display:block; width:100%; height:auto; object-fit:contain; }
.v12-products.multiflex-media-mode .v12-empty-gallery { width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:16px; }
.v12-products.multiflex-media-mode .v12-empty-gallery>div { width:100%; height:auto; aspect-ratio:4 / 3; border:0; background:transparent; overflow:hidden; }
.v12-products.multiflex-media-mode .v12-empty-gallery>div img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.v12-products.outdoor-media-mode .v12-indoor-heat-hero.is-single { background:#fff; }
.v12-products.outdoor-media-mode .v12-empty-gallery>div:nth-child(1) img,
.v12-products.outdoor-media-mode .v12-empty-gallery>div:nth-child(3) img { object-fit:cover; object-position:center; }
.v12-products.outdoor-media-mode .v12-empty-gallery>div:nth-child(2) img { object-fit:contain; object-position:center; }
.v12-products.reflection-media-mode .v12-empty-gallery>div { position:relative; overflow:hidden; }
.v12-products.reflection-media-mode .v12-empty-gallery>div img { width:100%; height:100%; display:block; object-fit:cover; }
.v12-products.reflection-media-mode .v12-empty-gallery>div:nth-child(1) img { object-position:50% 48%; }
.v12-products.reflection-media-mode .v12-empty-gallery>div:nth-child(2) img { object-position:50% 44%; }
.v12-products.reflection-media-mode .v12-empty-gallery>div:nth-child(3) img { object-position:50% 46%; }
.v12-products.reflection-media-mode .v12-reflection-before-label,
.v12-products.reflection-media-mode .v12-reflection-after-label {
	position:absolute;
	top:10px;
	z-index:2;
	padding:5px 10px;
	border-radius:5px;
	background:rgba(15,30,50,.85);
	color:#fff;
	font-weight:700;
	font-size:14px;
	line-height:1;
	white-space:nowrap;
	pointer-events:none;
}
.v12-products.reflection-media-mode .v12-reflection-before-label { left:10px; }
.v12-products.reflection-media-mode .v12-reflection-after-label { right:10px; }
.v12-products.reflection-media-mode .v12-spec-scroll-guide::before { content:'\2190  '; }
.v12-products.reflection-media-mode .v12-spec-scroll-guide::after { content:'  \2192'; }
.v12-products.safety-media-mode .v12-indoor-heat-hero.is-single { width:100%; overflow:hidden; background:#fff; }
.v12-products.safety-media-mode .v12-indoor-heat-hero.is-single .v12-indoor-heat-single img { display:block; width:100%; height:auto; object-fit:contain; }
.v12-products.safety-media-mode .v12-empty-gallery {
	width:100%;
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px;
	margin-top:24px;
}
.v12-products.safety-media-mode .v12-empty-gallery>div {
	width:100%;
	height:auto;
	aspect-ratio:4 / 3;
	overflow:hidden;
	border:0;
	border-radius:0;
	background:transparent;
	margin:0;
}
.v12-products.safety-media-mode .v12-empty-gallery>div img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}
.v12-products.safety-media-mode .v12-empty-gallery>div:nth-child(3) img { object-position:center 35%; }
.wide-detail-image { margin-top:48px; min-height:clamp(220px, 30vw, 300px); border-radius:12px; border:1px dashed #b9c8d4; background:linear-gradient(135deg,#f8fafc,#e9eff4); color:#8293a2; display:flex; align-items:center; justify-content:center; overflow:hidden; aspect-ratio:16 / 5; }
.wide-detail-image span { font-size:12px; letter-spacing:.12em; text-align:center; }
.v12-mx-bottom-image { margin:28px 0 0; width:100%; }
.v12-mx-bottom-image img { width:100%; max-width:100%; height:auto; display:block; object-fit:contain; margin:0 auto; touch-action:pan-x pan-y pinch-zoom; }
.v12-mx-bottom-image.is-empty { border:1px dashed #b9c8d4; border-radius:12px; overflow:hidden; }
.v12-mx-bottom-image:not([hidden]) + .v12-spec-area { margin-top:32px; }
.v12-spec-area { margin-top:64px; }
.v12-spec-head { display:flex; justify-content:space-between; align-items:end; margin-bottom:16px; }
.v12-spec-head h3 { font-size:27px; margin:0; }
.v12-spec-head p { font-size:12px; color:var(--muted); margin:0; }
.v12-spec-scroll-guide { display:none; margin:0 0 10px; text-align:center; font-size:13px; font-weight:800; color:#1b5f9a; letter-spacing:.01em; }
.v12-table-scroll { max-width:100%; overflow:auto; border:1px solid var(--line); -webkit-overflow-scrolling:touch; }
.v12-table-scroll table { width:max-content; min-width:100%; border-collapse:collapse; }
.v12-table-scroll th { padding:14px 11px; background:#0b2342; color:#fff; font-size:12px; white-space:nowrap; }
.v12-table-scroll td { padding:14px 11px; text-align:center; border-bottom:1px solid var(--line); font-size:13px; white-space:nowrap; }
.v12-table-scroll tbody tr:hover { background:#f4f8fb; }
.v12-long-copy { margin-top:30px; padding:28px; background:#f4f7f9; color:#566878; font-size:14px; line-height:1.85; }

@media(max-width:900px) {.v12-category-bar .wrap { grid-template-columns:1fr; }
.v12-product-lead { grid-template-columns:1fr; }
.v12-indoor-heat-hero { grid-template-columns:1fr; }
.v12-indoor-heat-hero-part { min-height:0; }
.v12-image-slot.is-empty .v12-image-slot-placeholder { min-height:260px; }
.v12-empty-photo { height:300px; }
.v12-empty-gallery { grid-template-columns:1fr; }
.v12-empty-gallery>div { height:230px; }
.v12-products.functional-gallery-mode .v12-empty-gallery { width:100%; margin:48px auto 0; padding:0; box-sizing:border-box; grid-template-columns:1fr; gap:18px; }
.v12-products.functional-gallery-mode .v12-empty-gallery>div { width:100%; height:auto; aspect-ratio:4 / 3; margin:0 auto; }
.v12-products.functional-gallery-mode .v12-empty-gallery>div img { width:100%; height:100%; object-fit:contain; object-position:center; }
.v12-products.blackout-media-mode .v12-empty-gallery>div { aspect-ratio:auto; height:auto; }
.v12-products.blackout-media-mode .v12-empty-gallery>div img { width:100%; height:auto; object-fit:contain; object-position:center; }
.v12-products.privacy-media-mode .v12-empty-gallery>div img { object-fit:contain; object-position:center; }
.v12-products.multiflex-media-mode .v12-indoor-heat-hero.is-single .v12-indoor-heat-single img { width:100%; height:auto; object-fit:contain; }
.v12-products.multiflex-media-mode .v12-empty-gallery { grid-template-columns:1fr; gap:12px; margin-top:12px; }
.v12-products.multiflex-media-mode .v12-empty-gallery>div { aspect-ratio:4 / 3; }
.v12-products.multiflex-media-mode .v12-empty-gallery>div img { width:100%; height:100%; object-fit:cover; object-position:center; }
.v12-products.outdoor-media-mode .v12-empty-gallery>div:nth-child(1) img,
.v12-products.outdoor-media-mode .v12-empty-gallery>div:nth-child(3) img { object-fit:cover; object-position:center; }
.v12-products.outdoor-media-mode .v12-empty-gallery>div:nth-child(2) img { object-fit:contain; object-position:center; }
.v12-products.reflection-media-mode .v12-empty-gallery>div img { width:100%; height:100%; object-fit:cover; }
.v12-products.reflection-media-mode .v12-empty-gallery>div:nth-child(1) img { object-position:50% 48%; }
.v12-products.reflection-media-mode .v12-empty-gallery>div:nth-child(2) img { object-position:50% 44%; }
.v12-products.reflection-media-mode .v12-empty-gallery>div:nth-child(3) img { object-position:50% 46%; }
.v12-products.reflection-media-mode .v12-reflection-before-label,
.v12-products.reflection-media-mode .v12-reflection-after-label {
	top:10px;
	padding:6px 10px;
	font-size:13px;
}
.v12-products.reflection-media-mode .v12-reflection-before-label { left:10px; }
.v12-products.reflection-media-mode .v12-reflection-after-label { right:10px; }
.v12-products.safety-media-mode .v12-empty-gallery {
	grid-template-columns:1fr;
	gap:14px;
	margin-top:16px;
}
.v12-products.safety-media-mode .v12-empty-gallery>div { aspect-ratio:4 / 3; }

 }
@media(max-width:768px) {.v12-series-tabs .wrap { justify-content:flex-start; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:14px 0; }
.v12-series-tabs button { min-width:0; width:100%; padding:12px 10px; border:1px solid var(--line); border-radius:999px; background:#f7f9fb; text-align:center; font-size:13px; line-height:1.4; }
.v12-series-tabs button.active,.v12-series-tabs button:hover { background:var(--blue); color:#fff; border-color:var(--blue); }
.v12-product-content .wrap { width:min(100% - 32px,1440px); }
.v12-spec-scroll-guide { display:block; }
.v12-empty-photo,.v12-empty-gallery,.wide-detail-image,.v12-indoor-heat-hero { width:100%; max-width:none; margin-left:auto; margin-right:auto; box-sizing:border-box; }
.v12-empty-photo img,.v12-empty-gallery img,.wide-detail-image img,.v12-indoor-heat-hero img,.v12-mx-bottom-image img { width:100%; max-width:100%; height:auto; display:block; object-fit:contain; margin:0 auto; }
.v12-indoor-heat-hero.is-single .v12-indoor-heat-single img { width:100%; max-width:100%; height:auto; object-fit:contain; display:block; margin:0 auto; }
.v12-product-copy h2 { min-height:2.6em; margin:0 0 10px; }
.v12-product-copy > p { margin:0 0 10px; }
.v12-features { margin-top:12px; }
.v12-features { flex-wrap:nowrap; align-items:stretch; }
.v12-features span { display:flex; align-items:center; min-height:20px; line-height:1; transform:none; position:static; top:auto; }
.v12-image-slot.is-empty .v12-image-slot-placeholder { min-height:200px; font-size:11px; }
.v12-empty-photo { height:240px; aspect-ratio:16 / 9; margin:0 auto; }
.wide-detail-image { min-height:180px; }
.v12-products.safety-media-mode .v12-empty-gallery>div img { object-fit:cover; object-position:center; }
.v12-products.safety-media-mode .v12-empty-gallery>div:nth-child(3) img { object-position:center 35%; }
}
@media(max-width:680px) {.v12-products { padding-top:78px; }
.v12-spec-head { align-items:flex-start; flex-direction:column; gap:7px; }
.v12-empty-wide { height:250px; }
.v12-product-cta-row { flex-direction:column; }
.v12-product-cta-row .button { width:100%; padding:16px 20px; min-height:48px; }
.v12-category-bar a { min-height:54px; display:flex; align-items:center; justify-content:center; }
.v12-table-scroll { max-width:100%; }
}
/* ===== v13 desktop vertical dropdown ===== */
.nav-product-dropdown { position:relative; }
.nav-product-trigger { display:block; }
.vertical-dropdown { position:absolute; top:calc(100% + 6px); left:50%; width:310px; padding:10px; background:#fff; color:#10243a; border:1px solid #dce5ec; box-shadow:0 22px 48px rgba(7,25,45,.18); opacity:0; visibility:hidden; transform:translate(-50%,-8px); transition:.2s ease; border-radius:4px; }
.nav-product-dropdown:hover .vertical-dropdown,
.nav-product-dropdown:focus-within .vertical-dropdown { opacity:1; visibility:visible; transform:translate(-50%,0); }
.vertical-dropdown a { display:block; padding:15px 17px; border-bottom:1px solid #edf1f4; transition:.18s ease; }
.vertical-dropdown a:last-child { border-bottom:0; }
.vertical-dropdown a:hover { background:#f3f7fa; padding-left:22px; }
.vertical-dropdown b { display:block; font-size:14px; margin-bottom:4px; }
.vertical-dropdown span { display:block; font-size:10px; color:#748596; line-height:1.45; }
/* ===== v13 mobile accordion ===== */
.mobile-menu.open { transform:translateX(0); visibility:visible; }
.mobile-accordion-trigger { width:100%; display:flex; justify-content:space-between; align-items:center; padding:17px 0; border:0; border-bottom:1px solid rgba(255,255,255,.13); background:transparent; color:#fff; text-align:left; font-size:24px; font-weight:800; line-height:1.2; }
.mobile-accordion-trigger .mobile-accordion-icon { display:flex; align-items:center; justify-content:center; line-height:1; }
.mobile-product-links { max-height:0; overflow:hidden; transition:max-height .28s ease; flex-shrink:0; }
.mobile-product-links.open { max-height:1000px; }
.products-main .mobile-product-links.open { max-height:none; }
.mobile-product-links a { display:block; padding:13px 14px; margin:0; color:rgba(255,255,255,.72); font-size:13px; border-bottom:1px solid rgba(255,255,255,.08); }
/* ===== v13 technology premium 3D system ===== */
.tech-v13 { padding-top:84px; background:#fff; }
.tech-hero-v13 { padding:104px 0 92px; background: radial-gradient(circle at 82% 18%,rgba(31,127,199,.14),transparent 32%), linear-gradient(135deg,#f8fbfd,#eef4f8); }
.tech-hero-inner { text-align:center; }
.tech-hero-v13 h1 { margin:15px auto 22px; max-width:1050px; font-size:clamp(44px,5.8vw,78px); line-height:1.1; letter-spacing:-.06em; color:#0b2037; }
.tech-hero-v13 p:last-child { max-width:820px; margin:auto; color:#627487; font-size:16px; line-height:1.85; }
.tech-tabbar { position:sticky; top:84px; z-index:20; background:rgba(255,255,255,.95); backdrop-filter:blur(12px); border-bottom:1px solid #dce5ec; }
.tech-tabbar .wrap { display:flex; justify-content:center; overflow-x:auto; }
.tech-tab { min-width:210px; padding:22px 18px; border:0; border-bottom:2px solid transparent; background:transparent; color:#536679; font-weight:900; cursor:pointer; white-space:nowrap; }
.tech-tab.active,.tech-tab:hover { color:#1267b2; border-bottom-color:#1267b2; }
.tech-stage-section { overflow:hidden; padding:105px 0 125px; background: radial-gradient(circle at 75% 48%,rgba(18,103,178,.12),transparent 28%), linear-gradient(180deg,#fff,#f5f8fa); }
.tech-stage-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:70px; align-items:center; }
.tech-code { font-size:11px; letter-spacing:.17em; font-weight:900; color:#1267b2; }
.tech-copy-panel h2 { font-size:clamp(38px,4.5vw,62px); line-height:1.13; letter-spacing:-.055em; margin:15px 0 20px; }
.tech-copy-panel>p { font-size:16px; line-height:1.85; color:#66798b; }
.tech-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:30px; }
.tech-metrics div { padding:17px 15px; background:rgba(255,255,255,.8); border:1px solid #dbe5ec; }
.tech-metrics strong { display:block; font-size:14px; color:#0c4f89; }
.tech-metrics span { display:block; margin-top:6px; font-size:10px; color:#7b8c9b; }
.tech-hint { margin-top:22px!important; font-size:12px!important; color:#8797a4!important; }
.layer-visual-wrap { min-height:620px; position:relative; display:flex; align-items:center; justify-content:center; perspective:1400px; }
.layer-orbit { position:absolute; width:520px; height:520px; border-radius:50%; border:1px solid rgba(18,103,178,.15); box-shadow:0 0 100px rgba(18,103,178,.12) inset; transform:rotateX(68deg) rotateZ(-18deg); }
.layer-orbit:before,.layer-orbit:after { content:""; position:absolute; inset:58px; border-radius:50%; border:1px solid rgba(18,103,178,.1); }
.layer-orbit:after { inset:120px; }
.layer-stack-3d { position:relative; width:580px; height:420px; transform-style:preserve-3d; transform:rotateX(58deg) rotateZ(-24deg) translateY(-18px); }
.film-layer { --gap:46px; position:absolute; left:40px; right:40px; top:145px; height:84px; border:0; border-radius:26px 56px 22px 48px; transform: translate3d(calc(var(--i) * 7px),calc(var(--i) * var(--gap) - 138px),calc(var(--i) * 4px)) skewX(-7deg); box-shadow: 0 26px 34px rgba(4,30,55,.18), inset 0 1px 0 rgba(255,255,255,.75), inset 0 -8px 18px rgba(27,84,126,.1); transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s,filter .3s; cursor:pointer; overflow:hidden; text-align:left; }
.film-layer:hover,.film-layer:focus { outline:none; transform: translate3d(calc(var(--i) * 7px + 22px),calc(var(--i) * var(--gap) - 148px),60px) skewX(-7deg) scale(1.035); }
.film-layer.dim { opacity:.28; filter:saturate(.4); }
.layer-glint { position:absolute; inset:-35% -20%; background:linear-gradient(112deg,transparent 30%,rgba(255,255,255,.72) 46%,transparent 63%); transform:translateX(-65%); transition:transform .7s ease; }
.film-layer:hover .layer-glint { transform:translateX(65%); }
.layer-name { position:absolute; right:28px; top:27px; font-size:12px; font-weight:900; letter-spacing:.06em; color:rgba(4,32,56,.72); }
.layer-hard { background:linear-gradient(135deg,rgba(241,249,255,.93),rgba(119,190,236,.7)); }
.layer-clear { background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(176,218,245,.66)); }
.layer-sputter { background:linear-gradient(135deg,#7fadd1,#1c679e 55%,#8cc9ee); }
.layer-ceramic { background:linear-gradient(135deg,#b9e7f2,#5db8d0 55%,#d7f8ff); }
.layer-mist { background:linear-gradient(135deg,#eef9fb,#accfda); }
.layer-carbon { background:linear-gradient(135deg,#83909b,#2c3f50 55%,#a8b4bd); }
.layer-hybrid { background:linear-gradient(135deg,#98b8d0,#517ea0 55%,#bdd8e8); }
.layer-metal { background:linear-gradient(135deg,#d7e0e6,#748997 50%,#ecf2f5); }
.layer-shield { background:linear-gradient(135deg,#e8f3f7,#9db5c2); }
.layer-adhesive { background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(216,228,237,.72)); }
.layer-pet { background:linear-gradient(135deg,#e5eef5,#a7bdd0); }
.layer-release { background:linear-gradient(135deg,#f8fbfd,#cbd7e0); }
.layer-caption { position:absolute; right:0; bottom:15px; width:310px; padding:18px 20px; background:rgba(255,255,255,.82); backdrop-filter:blur(14px); border:1px solid rgba(179,200,215,.7); box-shadow:0 20px 45px rgba(11,43,69,.12); }
.layer-caption strong { display:block; color:#0b4f89; font-size:15px; }
.layer-caption span { display:block; margin-top:6px; color:#6c7e8d; font-size:12px; }
.tech-principles { padding:100px 0; background:#07192d; color:#fff; }
.tech-section-head { text-align:center; }
.tech-section-head h2 { font-size:clamp(38px,4.8vw,62px); line-height:1.15; letter-spacing:-.055em; margin:14px 0 45px; }
.tech-principle-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.13); }
.tech-principle-grid article { padding:38px; background:#0c2744; }
.tech-principle-grid article>span { font-size:11px; color:#73b9ea; font-weight:900; letter-spacing:.14em; }
.tech-principle-grid h3 { font-size:23px; margin:16px 0 13px; }
.tech-principle-grid p { margin:0; color:rgba(255,255,255,.62); font-size:14px; line-height:1.8; }
.tech-cta { padding:100px 0; text-align:center; background:#fff; }
.tech-cta h2 { font-size:clamp(38px,4.8vw,62px); line-height:1.14; letter-spacing:-.055em; margin:15px 0 30px; }
.tech-cta a { display:inline-block; padding:16px 23px; background:#07192d; color:#fff; font-size:13px; font-weight:900; }

@media(max-width:1050px) {.tech-stage-grid { grid-template-columns:1fr; }
.layer-visual-wrap { min-height:560px; }
.tech-copy-panel { text-align:center; }
.tech-metrics { max-width:680px; margin:30px auto 0; }

 }
@media(max-width:760px) {.tech-v13 { padding-top:78px; }
.tech-hero-v13 { padding:72px 0 62px; }
.tech-tabbar { top:78px; }
.tech-tabbar .wrap { justify-content:flex-start; }
.tech-tab { min-width:175px; }
.tech-stage-section { padding:70px 0 85px; }
.tech-metrics { grid-template-columns:1fr; }
.layer-visual-wrap { min-height:450px; overflow:hidden; }
.layer-stack-3d { width:430px; height:350px; transform:rotateX(58deg) rotateZ(-24deg) scale(.76); }
.layer-orbit { width:390px; height:390px; }
.layer-caption { right:50%; transform:translateX(50%); bottom:4px; width:min(88%,310px); }
.tech-principle-grid { grid-template-columns:1fr; }
}
/* ===== v14 dropdown: previous navy palette, vertical layout ===== */
.vertical-dropdown { width:280px; padding:10px 0; background:#0b2342; color:#fff; border:1px solid rgba(255,255,255,.12); border-radius:0; box-shadow:0 22px 50px rgba(0,0,0,.22); }
.vertical-dropdown a { padding:10px 18px; border-bottom:1px solid rgba(255,255,255,.11); background:#0b2342; }
.vertical-dropdown a:last-child { border-bottom:0; }
.vertical-dropdown a:hover { background:#102d50; padding-left:20px; }
.vertical-dropdown b { color:rgba(255,255,255,.86); font-size:15px; font-weight:800; }
.vertical-dropdown span { color:rgba(255,255,255,.52); font-size:11px; margin-top:5px; }
/* Thin-layer graphics refinements */
.tech-detail .visual figure { background:linear-gradient(145deg,#ffffff,#f3f7fa); border-radius:18px; overflow:hidden; box-shadow:0 22px 48px rgba(9,43,77,.10); }
.tech-detail .visual img { display:block; width:100%; height:auto; }
.tech-detail .visual figcaption { padding:17px 20px; background:#0b2342; }
.tech-detail .layers span { background:#f4f8fb; border-color:#dde6ed; }

/* On mobile, product links remain accordion-driven. */
@media(max-width:1100px) {.nav-product-dropdown .vertical-dropdown { display:none; }
}
/* ===== V17 project system ===== */
.text-link { align-self:flex-end; font-size:13px; font-weight:900; color:#1267b2; }
.dangsan-main { background-image:url("../images/projects/dangsan/01.webp"); background-size:cover; background-position:center; }
.placeholder-visual { background:linear-gradient(135deg,#eef3f7,#d7e2ea); }
.placeholder-visual.second { background:linear-gradient(135deg,#e9f0f5,#cbd9e3); }
.project-placeholder { pointer-events:none; }
.projects-page,.case-detail { padding-top:0; }
.simple-page-head { padding:92px 0 55px; text-align:center; background:#f7f9fb; border-bottom:1px solid #e0e8ee; }
.simple-page-head h1 { margin:12px 0 0; font-size:clamp(42px,5vw,64px); letter-spacing:-.055em; }
.case-tabs { background:#fff; border-bottom:1px solid #dde5eb; position:sticky; top:84px; z-index:15; }
.case-tabs .wrap { display:flex; justify-content:center; overflow-x:auto; }
.case-tabs button { padding:20px 24px; border:0; border-bottom:2px solid transparent; background:#fff; color:#526476; font-weight:800; white-space:nowrap; cursor:pointer; }
.case-tabs button.active,.case-tabs button:hover { color:#1267b2; border-bottom-color:#1267b2; }
.case-list { padding:72px 0 100px; }
.case-list .wrap { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.case-card { display:block; background:#fff; border:1px solid #dde6ed; transition:.2s ease; }
.case-card:hover { transform:translateY(-5px); box-shadow:0 18px 44px rgba(11,41,67,.12); }
.case-thumb { aspect-ratio:4/3; background-size:cover; background-position:center; }
.case-card-body { padding:24px; }
.case-card-body span { font-size:11px; font-weight:900; color:#1267b2; }
.case-card-body h2 { margin:10px 0 9px; font-size:25px; }
.case-card-body p { margin:0; font-size:13px; color:#6d7d8c; }
.case-empty { min-height:330px; border:1px dashed #c7d3dc; background:#f8fafb; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:30px; color:#728492; }
.case-empty strong { font-size:20px; color:#344a5e; margin-bottom:9px; }
.case-hero { height:600px; position:relative; background-size:cover; background-position:center; }
.case-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,19,35,.78),rgba(4,19,35,.14)); }
.case-hero-copy { position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:flex-end; padding-bottom:70px; color:#fff; }
.case-hero-copy span { font-size:12px; font-weight:900; letter-spacing:.1em; color:#83c4ef; }
.case-hero-copy h1 { font-size:clamp(48px,6vw,82px); letter-spacing:-.06em; margin:12px 0 14px; }
.case-hero-copy p { margin:0; font-size:18px; color:rgba(255,255,255,.74); }
.case-summary { background:#07192d; color:#fff; }
.case-summary .wrap { display:grid; grid-template-columns:repeat(5,1fr); }
.case-summary .wrap>div { min-height:138px; padding:30px 20px; border-left:1px solid rgba(255,255,255,.12); }
.case-summary .wrap>div:last-child { border-right:1px solid rgba(255,255,255,.12); }
.case-summary span { display:block; font-size:11px; color:rgba(255,255,255,.48); margin-bottom:10px; }
.case-summary strong { display:block; font-size:16px; line-height:1.55; }
.case-gallery-section { padding:94px 0 110px; }
.case-intro { text-align:center; margin-bottom:48px; }
.case-intro h2 { font-size:clamp(36px,4vw,54px); margin:12px 0; }
.case-intro>p:last-child { color:#687b8b; }
.case-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.gallery-item { padding:0; border:0; background:#eef2f5; aspect-ratio:4/3; overflow:hidden; cursor:pointer; }
.gallery-item img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .35s; }
.gallery-item:hover img { transform:scale(1.035); }
.back-projects { display:inline-block; margin-top:42px; font-size:13px; font-weight:900; color:#1267b2; }
.lightbox { position:fixed; inset:0; z-index:500; background:rgba(0,0,0,.9); display:none; align-items:center; justify-content:center; padding:35px; }
.lightbox.open { display:flex; }
.lightbox img { max-width:min(1500px,95vw); max-height:90vh; object-fit:contain; }
.lightbox-close { position:absolute; right:24px; top:16px; border:0; background:none; color:#fff; font-size:40px; cursor:pointer; }

@media(max-width:960px) {.case-list .wrap { grid-template-columns:1fr 1fr; }
.case-summary .wrap { grid-template-columns:1fr 1fr; }
.case-summary .wrap>div { border-bottom:1px solid rgba(255,255,255,.12); }
.case-gallery { grid-template-columns:1fr 1fr; }

 }
@media(max-width:640px) {.projects-page,.case-detail { padding-top:78px; }
.simple-page-head { padding:64px 0 40px; }
.case-tabs { top:78px; }
.case-tabs .wrap { justify-content:flex-start; }
.case-tabs button { padding:17px 18px; }
.case-list { padding:42px 0 72px; }
.case-list .wrap { grid-template-columns:1fr; }
.case-hero { height:510px; }
.case-hero-copy { padding-bottom:45px; }
.case-summary .wrap { grid-template-columns:1fr; }
.case-summary .wrap>div { min-height:auto; padding:20px 10px; border-left:0; border-right:0; }
.case-gallery-section { padding:62px 0 78px; }
.case-gallery { grid-template-columns:1fr; }
.gallery-item { aspect-ratio:4/3; }
}
/* ===== v18 consolidated pages ===== */
.simple-page-head { padding:155px 0 72px; background:#f5f8fa; text-align:center; }
.simple-page-head h1 { font-size:clamp(42px,5.3vw,50px); letter-spacing:0; color:#0b2037; margin:12px 0 0;}
.simple-page-head>div>p:last-child { color:#6b7c8c; }
.case-list>.wrap { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.case-card { border:1px solid #dce5ec; background:#fff; overflow:hidden; transition:.25s; }
.case-card:hover { transform:translateY(-5px); box-shadow:0 20px 42px rgba(7,25,45,.12); }
.case-thumb { aspect-ratio:16/9; background:#eef3f6; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.case-thumb img { width:100%; height:100%; object-fit:cover; }
.case-card-body { padding:25px; }
.case-card-body span { font-size:11px; color:#1267b2; font-weight:900; }
.case-card-body h2 { font-size:27px; margin:10px 0; }
.case-card-body p { margin:0; color:#68798a; font-size:13px; line-height:1.6; }
.contain-hero { position:relative; height:min(68vh,680px); background:#07192d; overflow:hidden; }
.contain-hero>img { width:100%; height:100%; object-fit:cover; }
.contain-hero .case-hero-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,18,33,.72),rgba(4,18,33,.05) 65%); }
.scroll-gallery-section { padding:68px 0 95px; background:#f2f5f7; }
.narrow-wrap { width:min(1040px,calc(100% - 36px)); margin:auto; }
.scroll-photo { height:620px; margin:0 0 22px; background:#e8edf1; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.scroll-photo img { width:100%; height:100%; object-fit:contain; display:block; }
.back-projects { display:inline-block; margin-top:24px; font-weight:800; color:#0f5f9f; }
.company-hero { padding:180px 0 110px; background:linear-gradient(135deg,#07192d,#123b63); color:#fff; text-align:center; }
.company-hero h1 { font-size:clamp(48px,7vw,88px); margin:12px 0; }
.company-hero p:last-child { color:rgba(255,255,255,.68); }
.company-intro { padding:105px 0; }
.company-intro>.wrap { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:end; }
.company-intro h2 { font-size:clamp(38px,4.6vw,60px); line-height:1.15; margin:13px 0; }
.company-intro>div>p { color:#657789; line-height:1.9; font-size:16px; }
.clients-section { padding:95px 0; background:#f5f8fa; text-align:center; }
.clients-section h2,.cert-section h2 { font-size:38px; margin:12px 0 40px; }
.client-grid-two { display:grid; grid-template-columns:repeat(9,1fr); grid-template-rows:repeat(2,82px); grid-auto-flow:column; gap:10px; overflow:hidden; }
.client-wordmark { display:flex; align-items:center; justify-content:center; padding:12px; background:#fff; border:1px solid #e1e7ec; font-weight:900; font-size:13px; color:#586978; white-space:nowrap; }
.cert-section { padding:100px 0; text-align:center; }
.cert-stack { position:relative; height:520px; max-width:1050px; margin:auto; }
.cert-card { position:absolute; width:245px; aspect-ratio:1/1.414; background:#fff; box-shadow:0 18px 35px rgba(7,25,45,.16); overflow:hidden; }
.cert-card img { width:100%; height:100%; object-fit:cover; object-position:top; }
.cert-pos-1 { left:4%; top:85px; transform:rotate(-5deg); }
.cert-pos-2 { left:15%; top:32px; transform:rotate(2deg); }
.cert-pos-3 { left:27%; top:100px; transform:rotate(-2deg); }
.cert-pos-4 { left:39%; top:22px; transform:rotate(4deg); }
.cert-pos-5 { left:51%; top:92px; transform:rotate(-3deg); }
.cert-pos-6 { left:62%; top:28px; transform:rotate(2deg); }
.cert-pos-7 { left:72%; top:102px; transform:rotate(-4deg); }
.cert-pos-8 { left:80%; top:35px; transform:rotate(4deg); }
.cert-pos-9 { left:42%; top:150px; transform:rotate(0deg); }
.location-section { padding:95px 0; background:#f5f8fa; }
.location-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:center; }
.map-placeholder { height:430px; background:linear-gradient(135deg,#dfe9ef,#b9cedb); display:flex; flex-direction:column; align-items:center; justify-content:center; color:#17334c; }
.map-placeholder span { margin-top:8px; font-size:12px; }
.address-list h2 { font-size:38px; }
.address-list p { padding:13px 0; border-bottom:1px solid #d9e2e8; color:#5c6e7f; }
.address-list b { display:inline-block; width:92px; color:#10283f; }
.simple-cta { padding:85px 0; background:#07192d; color:#fff; text-align:center; display:none; }
.simple-cta h2 { margin:0 0 16px; }
.simple-cta a { font-size:42px; font-weight:900; }
.construction-grid-section,.support-grid-section { padding:85px 0; }
.construction-grid,.support-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.construction-grid article,.support-grid a { padding:30px; background:#f4f7f9; border:1px solid #e0e7ec; }
.construction-grid span,.support-grid span { font-size:11px; color:#1267b2; font-weight:900; }
.construction-grid h2,.support-grid h2 { font-size:20px; }
.construction-grid p,.support-grid p { color:#6d7e8e; font-size:13px; line-height:1.7; }
.admin-body { background:#edf2f5; }
.admin-shell { min-height:100vh; display:grid; grid-template-columns:250px 1fr; }
.admin-shell aside { background:#07192d; color:#fff; padding:34px 25px; }
.admin-shell aside strong { display:block; font-size:24px; margin-bottom:34px; }
.admin-shell aside a { display:block; padding:14px 0; color:rgba(255,255,255,.62); }
.admin-shell aside a.active { color:#fff; font-weight:900; }
.admin-shell>section { padding:45px; }
.admin-head { display:flex; justify-content:space-between; align-items:end; }
.admin-head h1 { font-size:36px; margin:5px 0; }
.admin-head p { font-size:11px; color:#1267b2; font-weight:900; }
.admin-head a { padding:12px 18px; background:#07192d; color:#fff; }
.admin-form { margin-top:28px; padding:32px; background:#fff; display:grid; gap:20px; }
.admin-form label { display:grid; gap:8px; font-weight:800; font-size:13px; }
.admin-form input[type=text] { padding:14px; border:1px solid #ccd7df; }
.admin-form fieldset { border:1px solid #ccd7df; padding:18px; display:flex; gap:22px; flex-wrap:wrap; }
.admin-row { display:grid; grid-template-columns:2fr 1fr 1fr; gap:14px; }
.upload-box { height:180px; border:1px dashed #9eb2c1; display:flex!important; align-items:center; justify-content:center; background:#f6f9fb; }
.upload-box input { display:none; }
.admin-actions { display:flex; justify-content:flex-end; gap:10px; }
.admin-actions button { padding:13px 24px; border:0; background:#dfe7ec; }
.admin-actions button:last-child { background:#1267b2; color:#fff; }
.admin-note { font-size:12px; color:#71818f; }

@media(max-width:1000px) {.case-list>.wrap { grid-template-columns:1fr; }
.scroll-photo { height:52vw; min-height:300px; }
.company-intro>.wrap,.location-grid { grid-template-columns:1fr; }
.client-grid-two { grid-template-columns:repeat(5,1fr); grid-template-rows:repeat(2,72px); overflow-x:auto; }
.cert-stack { height:420px; transform:scale(.8); transform-origin:top center; }
.construction-grid,.support-grid { grid-template-columns:repeat(2,1fr); }
.admin-shell { grid-template-columns:1fr; }
.admin-shell aside { display:none; }
.admin-row { grid-template-columns:1fr; }

 }
@media(max-width:640px) {.scroll-photo { height:72vw; min-height:280px; margin-bottom:12px; }
.case-summary>.wrap { grid-template-columns:1fr 1fr; }
.case-summary>.wrap>div:nth-child(5) { grid-column:1/-1; }
.client-grid-two { grid-template-columns:repeat(3,130px); grid-template-rows:repeat(2,68px); }
.cert-stack { height:310px; transform:scale(.56); }
.construction-grid,.support-grid { grid-template-columns:1fr; }
.company-intro,.clients-section,.cert-section,.location-section { padding:70px 0; }
.admin-shell>section { padding:24px; }
.admin-form { padding:20px; }
.simple-cta a { font-size:34px; }
}
/* ===== ESACO Homepage Master V1.0 : approved company page ===== */
.company-title-hero { padding:155px 0 72px; background:linear-gradient(180deg,#f6f9fb,#fff); text-align:center; border-bottom:1px solid #e4ebf0; }
.company-title-hero h1 { margin:12px 0 0; font-size:clamp(42px,5.3vw,50px); letter-spacing:0; color:#0b2037; }
.brand-identity-section { padding:105px 0 115px; background:#fff; }
.brand-identity-grid { display:grid; grid-template-columns:1.12fr .88fr; min-height:610px; border:1px solid #e3e9ee; background:linear-gradient(145deg,#fff,#fbfdfe); }
.brand-signature { display:flex; align-items:center; justify-content:center; padding:70px 45px; border-right:1px solid #e1e8ed; position:relative; overflow:hidden; }
.brand-signature:after { content:""; position:absolute; left:-10%; right:-10%; bottom:-40px; height:140px; background:repeating-radial-gradient(ellipse at center,transparent 0 9px,rgba(18,103,178,.035) 10px 11px); opacity:.7; }
.signature-center { text-align:center; position:relative; z-index:1; }
.signature-center .signature-esaco > img { width:60%; margin:0 auto; }
.signature-esaco { display:block; font-size:clamp(68px,8.2vw,122px); line-height:.95; letter-spacing:.06em; color:#092348; font-weight:900; }
.signature-full { display:block; margin-top:34px; font-size:clamp(20px,2.1vw,33px); letter-spacing:.18em; color:#102a4d; font-weight:400; white-space:nowrap; }
.signature-meaning { display:flex; align-items:center; justify-content:center; gap:20px; margin-top:38px; }
.meaning-token { width:92px; height:92px; position:relative; display:grid; place-items:center; color:#0a2b55; }
.meaning-token svg { position:absolute; inset:0; width:100%; height:100%; transform:rotate(-90deg); }
.meaning-token circle { fill:none; stroke:#0f4d8c; stroke-width:1.5; stroke-linecap:round; stroke-dasharray:264; stroke-dashoffset:264; animation:drawBrandRing 1.15s cubic-bezier(.45,0,.2,1) forwards; }
.meaning-token.delay-2 circle { animation-delay:.48s; }
.meaning-token.delay-3 circle { animation-delay:.96s; }
.meaning-token b { font-size:27px; letter-spacing:.08em; font-weight:700; }
.meaning-token:after { content:""; position:absolute; width:6px; height:6px; border-radius:50%; right:10px; bottom:15px; background:#cdeaff; box-shadow:0 0 12px 5px rgba(106,178,236,.55); opacity:0; animation:brandGlow .55s ease forwards 1.05s; }
.meaning-token.delay-2:after { animation-delay:1.53s; }
.meaning-token.delay-3:after { animation-delay:2.01s; }
.meaning-separator { width:1px; height:42px; background:#cbd7e0; }

@keyframes drawBrandRing {to { stroke-dashoffset:0; }

 }
@keyframes brandGlow {50% { opacity:1; }
100% { opacity:.35; }
}
.brand-story { padding:60px; display:flex; flex-direction:column; justify-content:center; }
.brand-story h2 { font-size:clamp(32px,3vw,36px); margin:0 0 16px; color:#0b2850; letter-spacing:-.04em; }
.brand-story>p { margin:0 0 28px; color:#435a70; font-size:17px; line-height:2; }
.brand-story>p strong { color:#0c315d; }
.brand-story ul { list-style:none; padding:0; margin:0; border-top:1px solid #dce5eb; }
.brand-story li { position:relative; padding:18px 10px 18px 42px; border-bottom:1px solid #dce5eb; color:#153450; font-weight:800; font-size:14px; }
.brand-story li:before { content:""; position:absolute; left:8px; top:50%; width:18px; height:18px; border:1px solid #3f6c98; border-radius:50%; transform:translateY(-50%); }
.brand-story li:after { content:""; position:absolute; left:14px; top:50%; width:6px; height:6px; background:#1267b2; border-radius:50%; transform:translateY(-50%); }
.clients-v1 { padding:92px 0 102px; }
.client-logo-grid { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); grid-template-rows:repeat(2,102px); gap:12px; margin-top:42px; }
.client-logo { display:flex; align-items:center; justify-content:center; padding:18px; background:#fff; border:1px solid #dfe7ed; overflow:hidden; }
.client-logo img { display:block; max-width:100%; max-height:56px; object-fit:contain; filter:saturate(.9); }
.client-logo span { display:none; font-size:13px; font-weight:900; color:#52677a; text-align:center; }
.logo-online-note { margin:18px 0 0; color:#8a99a7; font-size:11px; }
.cert-v1 { padding:100px 0 118px; }
.cert-v1 h2 { margin-bottom:54px; }
.location-v1 .location-grid { align-items:stretch; }
.map-embed-wrap { min-height:430px; background:#dce8ef; position:relative; overflow:hidden; }
.map-embed-wrap iframe { width:100%; height:100%; min-height:430px; border:0; display:block; background:#dce8ef; }
.map-embed-wrap>a { position:absolute; left:18px; bottom:18px; padding:12px 17px; background:#07192d; color:#fff; font-size:12px; font-weight:900; box-shadow:0 8px 20px rgba(7,25,45,.2); }
.cert-row { display:flex; justify-content:center; align-items:flex-end; perspective:1800px; padding:40px 0; overflow:visible; }
.cert-row figure { margin-left:-60px; /* 서로 겹치기 */ transition:.35s; transform-origin:center bottom; }
.cert-row figure:first-child { margin-left:0; }
.cert-row img { display:block; width:180px; border-radius:4px; box-shadow:0 10px 30px rgba(0,0,0,.18); }
.cert-row figure:nth-child(1) { transform:translateY(-24px) rotateY(28deg) scale(.88); z-index:1; }
.cert-row figure:nth-child(2) { transform:translateY(-20px) rotateY(20deg) scale(.93); z-index:2; }
.cert-row figure:nth-child(3) { transform:translateY(-16px) rotateY(10deg) scale(.98); z-index:3; }
.cert-row figure:nth-child(4) { transform:translateY(-8px) rotateY(5deg) scale(1.04); z-index:4; }
.cert-row figure:nth-child(5) { transform:translateY(0px) scale(1.12); z-index:10; }
.cert-row figure:nth-child(6) { transform:translateY(-8px) rotateY(-5deg) scale(1.04); z-index:4; }
.cert-row figure:nth-child(7) { transform:translateY(-16px) rotateY(-10deg) scale(.98); z-index:3; }
.cert-row figure:nth-child(8) { transform:translateY(-20px) rotateY(-20deg) scale(.93); z-index:2; }
.cert-row figure:nth-child(9) { transform:translateY(-24px) rotateY(-28deg) scale(.88); z-index:1; }

@media(max-width:1100px) {.brand-identity-grid { grid-template-columns:1fr; }
.brand-signature { border-right:0; border-bottom:1px solid #e1e8ed; }
.client-logo-grid { grid-template-columns:repeat(5,minmax(0,1fr)); grid-template-rows:repeat(2,92px); overflow-x:hidden; justify-content:stretch; padding-bottom:8px; }
.client-logo { min-width:0; }

 }
@media(max-width:640px) {.company-title-hero { padding:112px 0 55px; }
.brand-identity-section { padding:58px 0 70px; }
.brand-identity-grid { min-height:auto; }
.brand-signature { padding:55px 18px; }
.signature-esaco { font-size:58px; }
.signature-full { font-size:15px; letter-spacing:.12em; margin-top:25px; }
.signature-meaning { gap:10px; margin-top:22px; }
.meaning-token { width:66px; height:66px; }
.meaning-token b { font-size:19px; }
.meaning-separator { height:28px; }
.brand-story { padding:45px 20px; }
.brand-story>p { font-size:14px; line-height:1.9; }
.client-logo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(2,78px); }
.client-logo { padding:11px; min-width:0; }
.client-logo img { max-height:42px; }
.cert-v1 { padding:70px 0 88px; }
.cert-v1 h2 { margin-bottom:36px; }
.cert-row { padding:24px 0; }
.location-v1 .location-grid { gap:35px; }
.map-embed-wrap,.map-embed-wrap iframe { min-height:330px; }

 }
@media(prefers-reduced-motion:reduce) {.meaning-token circle,.meaning-token:after { animation:none; stroke-dashoffset:0; opacity:.35; }
}
/* ===== Master V1.1 review: Customer support ===== */
.nav-support-dropdown { position:relative; }
.nav-support-trigger { display:block; }
.support-dropdown { position:absolute; top:calc(100% - 8px); left:50%; width:230px; padding:9px 0; background:#0b2342; opacity:0; visibility:hidden; transform:translate(-50%,-8px); transition:.2s; box-shadow:0 22px 50px rgba(0,0,0,.22); }
.nav-support-dropdown:hover .support-dropdown,.nav-support-dropdown:focus-within .support-dropdown { opacity:1; visibility:visible; transform:translate(-50%,0); }
.support-dropdown a { display:block; padding:15px 20px; color:#fff; border-bottom:1px solid rgba(255,255,255,.1); }
.support-dropdown a:last-child { border:0; }
.support-dropdown a:hover { background:#102d50; padding-left:25px; }
.mobile-support-links { padding:4px 0 12px 14px; }
.mobile-support-links a { font-size:12px!important; color:rgba(255,255,255,.65)!important; padding:9px 0!important; border:0!important; }
.support-v11 { padding-top:0; }
.support-hero,.sub-support-head { padding:155px 0 72px; text-align:center; background:linear-gradient(180deg,#f4f8fb,#fff); border-bottom:1px solid #e0e8ee; }
.support-hero h1,.sub-support-head h1 { font-size:clamp(42px,5.3vw,50px); letter-spacing:0; color:#0b2037; margin:12px 0 0;}
.support-hero>div>p:last-child,.sub-support-head>div>p:last-child { color:#65788a; }
.support-menu-section { padding:76px 0 100px; }
.support-menu-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.support-menu-grid a { min-height:235px; padding:30px; background:#f5f8fa; border:1px solid #dfe7ed; display:flex; flex-direction:column; justify-content:flex-end; transition:.22s; }
.support-menu-grid a:hover { transform:translateY(-5px); box-shadow:0 18px 42px rgba(9,42,69,.11); }
.support-menu-grid a.accent { background:#0b2342; color:#fff; }
.support-menu-grid span { font-size:11px; color:#1267b2; font-weight:900; }
.support-menu-grid .accent span { color:#76b9e8; }
.support-menu-grid h2 { font-size:25px; margin:14px 0 8px; }
.support-menu-grid p { margin:0; color:#6c7e8d; font-size:13px; }
.support-menu-grid .accent p { color:rgba(255,255,255,.62); }
.contact-strip { padding:38px 0; background:#07192d; color:#fff; }
.contact-strip .wrap { display:flex; align-items:center; gap:70px; }
.contact-strip small { display:block; color:rgba(255,255,255,.48); margin-bottom:6px; }
.contact-strip strong { font-size:20px; }
.contact-strip a { margin-left:auto; padding:14px 20px; border:1px solid rgba(255,255,255,.45); font-weight:900; }
.board-section,.form-section,.warranty-section,.dealer-section { padding:72px 0 105px; }
.board-toolbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:25px; color:#637688; }
.board-toolbar div { display:flex; }
.board-toolbar input { padding:12px; border:1px solid #ccd7df; }
.board-toolbar button { border:0; background:#0b2342; color:#fff; padding:0 20px; }
.notice-table { border-top:2px solid #0b2342; }
.notice-row { display:grid; grid-template-columns:90px 1fr 130px; align-items:center; min-height:66px; border-bottom:1px solid #dfe7ed; padding:0 15px; }
.notice-row.head { background:#f4f7f9; font-weight:900; }
.notice-row.pinned span:first-child { color:#1267b2; font-weight:900; }
.notice-row strong { font-size:14px; }
.notice-row span:last-child { text-align:right; color:#7b8c9b; font-size:12px; }
.function-note { margin-top:22px; padding:17px 20px; background:#f4f7f9; color:#647788; font-size:12px; line-height:1.7; }
.form-layout { display:grid; grid-template-columns:1.3fr .7fr; gap:50px; }
.support-form { display:grid; gap:22px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.support-form label { display:grid; gap:9px; }
.support-form label>span { font-size:13px; font-weight:900; }
.support-form input,.support-form select,.support-form textarea { width:100%; padding:14px 15px; border:1px solid #cbd6de; background:#fff; font:inherit; }
.file-input { padding:20px; border:1px dashed #aebfcb; background:#f8fafb; }
.file-input small { color:#7a8b98; }
.agree { display:flex!important; grid-template-columns:auto 1fr!important; align-items:center!important; font-size:12px; color:#667988; }
.agree input { width:auto; }
.primary-submit { padding:17px; border:0; background:#0b2342; color:#fff; font-weight:900; cursor:pointer; }
.support-contact-panel { padding:45px; background:#0b2342; color:#fff; }
.support-contact-panel h2 { font-size:38px; margin:12px 0 30px; }
.support-contact-panel>a { display:flex; justify-content:space-between; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.13); }
.support-contact-panel>a span { font-size:12px; color:rgba(255,255,255,.58); }
.support-contact-panel>p:last-child { margin-top:28px; color:rgba(255,255,255,.48); font-size:12px; line-height:1.7; }
.warranty-search { max-width:700px; margin:0 auto 45px; text-align:center; }
.warranty-search label { display:block; font-weight:900; margin-bottom:15px; }
.warranty-search>div { display:flex; }
.warranty-search input { flex:1; padding:17px; border:1px solid #bdcad4; font:inherit; }
.warranty-search button { padding:0 30px; border:0; background:#0b2342; color:#fff; font-weight:900; }
.warranty-search small { display:block; margin-top:12px; color:#8796a3; }
.warranty-result { scroll-margin-top:110px; }
.verified-line { display:flex; align-items:center; gap:18px; padding:18px 20px; background:#eaf5ee; border:1px solid #c7e1ce; }
.verified-line span { padding:6px 9px; background:#2c8250; color:#fff; font-size:11px; }
.verified-line a { margin-left:auto; color:#0b4f89; font-weight:900; }
.warranty-result object { display:block; width:100%; height:900px; margin-top:20px; border:1px solid #dce5eb; }
.dealer-intro { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #dce5eb; border-bottom:1px solid #dce5eb; margin-bottom:70px; }
.dealer-intro div { padding:25px; border-right:1px solid #dce5eb; }
.dealer-intro div:last-child { border:0; }
.dealer-intro span { font-size:11px; color:#1267b2; font-weight:900; }
.dealer-intro h2 { font-size:18px; margin:8px 0 0; }
.dealer-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.dealer-copy h2 { font-size:clamp(36px,4vw,54px); margin:14px 0 20px; }
.dealer-copy>p { color:#657789; line-height:1.9; }
.dealer-copy ul { list-style:none; padding:0; border-top:1px solid #dce5eb; }
.dealer-copy li { padding:16px 0; border-bottom:1px solid #dce5eb; font-weight:800; }
.support-form.compact { padding:35px; background:#f5f8fa; }
.quick-contact { position:fixed; right:18px; bottom:18px; z-index:100; display:flex; flex-direction:column; box-shadow:0 10px 28px rgba(0,0,0,.17); }
.quick-contact a { width:62px; padding:11px 4px; background:#fff; border-bottom:1px solid #e1e7ec; text-align:center; font-size:11px; font-weight:900; }
.quick-contact a:first-child { background:#0b2342; color:#fff; }
.quick-contact a:last-child { border:0; }

@media(max-width:1000px) {.nav-support-dropdown .support-dropdown { display:none; }
.support-menu-grid { grid-template-columns:1fr 1fr; }
.form-layout,.dealer-layout { grid-template-columns:1fr; }
.support-contact-panel { padding:35px; }
.warranty-result object { height:650px; }

 }
@media(max-width:640px) {.support-v11 { padding-top:78px; }
.support-hero,.sub-support-head { padding:72px 0 52px; }
.support-menu-grid { grid-template-columns:1fr; }
.contact-strip .wrap { align-items:flex-start; flex-direction:column; gap:18px; }
.contact-strip a { margin-left:0; }
.board-toolbar { align-items:flex-start; flex-direction:column; gap:15px; }
.notice-row { grid-template-columns:55px 1fr; }
.notice-row span:last-child { display:none; }
.form-grid { grid-template-columns:1fr; }
.warranty-search>div { flex-direction:column; }
.warranty-search button { padding:15px; }
.warranty-result object { height:500px; }
.verified-line { align-items:flex-start; flex-direction:column; gap:8px; }
.verified-line a { margin:0; }
.dealer-intro { grid-template-columns:1fr 1fr; }
.quick-contact { left:0; right:0; bottom:0; flex-direction:row; }
.quick-contact a { width:25%; padding:13px 3px; }
.site-footer { padding-bottom:90px; }
}
/* V1.1 시공기술 검토 수정본 */
.approved-construction-visual { padding:38px 0 96px; background:#fff; }
.approved-construction-visual img { display:block; width:100%; height:auto; border:1px solid #e0e8ef; box-shadow:0 18px 55px rgba(10,35,65,.08); }

@media(max-width:640px) {.approved-construction-visual { padding:22px 0 68px; }
}
/* ===== V1.2 검토본: 공통 푸터 ===== */
.footer-v12 { background:#07192d; color:#dfe9f2; padding:0; border-top:1px solid rgba(255,255,255,.08); }
.footer-v12 .footer-main { display:grid; grid-template-columns:.85fr 1.05fr 1.5fr; gap:56px; padding-top:66px; padding-bottom:50px; }
.footer-brand { display:inline-flex; flex-direction:column; color:#fff; }
.footer-brand strong { font-size:38px; letter-spacing:-.04em; display:none; }
.footer-brand span { font-size:13px; letter-spacing:.08em; color:#9eb1c2; margin-top:5px; display:none; }
a.footer-brand { display:block; width:195px; height:50px; background:url(../images/logo_w.png) no-repeat 50% 50%; background-size:100%; }
.footer-brand-block>p { margin:15px 0 28px; color:#8196a9; font-size:14px; }
.footer-social { display:flex; gap:11px; }
.social-icon { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; color:#fff; border:1px solid rgba(255,255,255,.22); transition:.2s ease; background:rgba(255,255,255,.04); }
.social-icon:hover { transform:translateY(-2px); border-color:#68b5f1; background:#0d3153; }
.social-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; }
.social-icon.kakao svg { fill:currentColor; stroke:none; }
.footer-company h2,.footer-address h2 { font-size:16px; color:#fff; margin:0 0 21px; }
.footer-company dl { display:grid; gap:10px; margin:0; }
.footer-company dl div { display:grid; grid-template-columns:118px 1fr; gap:10px; font-size:13px; }
.footer-company dt { color:#7890a5; }
.footer-company dd { margin:0; color:#dce7f0; }
.footer-v12 a { color:inherit; }
.footer-address address { font-style:normal; display:grid; gap:13px; }
.footer-address p { margin:0; display:grid; grid-template-columns:90px 1fr; gap:10px; font-size:13px; line-height:1.6; }
.footer-address b { color:#8ca2b6; }
.footer-address span { color:#d8e4ed; }
.footer-bottom { min-height:65px; border-top:1px solid rgba(255,255,255,.09); display:flex; align-items:center; justify-content:space-between; color:#6f879c; font-size:11px; letter-spacing:.03em; }
/* 모바일 빠른 연락 */
.mobile-contact-bar { display:none; }

@media(max-width:760px) {body { padding-bottom:64px; }
.footer-v12 .footer-main { grid-template-columns:1fr; gap:38px; padding:48px 22px 38px; }
.footer-company dl div { grid-template-columns:112px 1fr; }
.footer-address p { grid-template-columns:78px 1fr; }
.footer-bottom { padding:18px 22px; display:grid; gap:6px; min-height:auto; }
.mobile-contact-bar { position:fixed; z-index:1200; left:0; right:0; bottom:0; height:64px; display:grid; grid-template-columns:repeat(5,1fr); background:rgba(5,20,38,.98); box-shadow:0 -5px 24px rgba(0,0,0,.2); padding-bottom:env(safe-area-inset-bottom); }
.mobile-contact-bar a { color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; font-size:10px; border-right:1px solid rgba(255,255,255,.08); }
.mobile-contact-bar a:last-child { border-right:0; }
.mobile-contact-bar svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.75; }
.mobile-contact-bar a:nth-child(4) svg { fill:currentColor; stroke:none; }
}
/* ===== 온라인 견적문의 + 게시판 ===== */
.estimate-form-v12 .full-field { display:block; }
.estimate-form-v12 label small,.visibility-field small { display:block; margin-top:7px; color:#7d8b98; font-size:11px; line-height:1.5; }
.visibility-field { border:1px solid #d7e1e9; border-radius:10px; padding:18px 20px; margin:22px 0; }
.visibility-field legend { padding:0 7px; font-size:13px; font-weight:800; color:#183957; }
.visibility-field>label { display:inline-flex; align-items:center; gap:7px; margin-right:24px; font-size:14px; }
.visibility-field>label input { flex:0 0 auto; width:18px; height:18px; margin:0; }
.visibility-options{display:flex!important;flex-direction:row!important;align-items:center!important;gap:32px!important;width:100%!important}
.support-form .visibility-options label{display:flex!important;grid-template-columns:none!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;width:auto!important;margin:0!important;white-space:nowrap!important}
.support-form .visibility-options label input[type="radio"]{display:block!important;flex:0 0 18px!important;width:18px!important;min-width:18px!important;height:18px!important;margin:0!important;padding:0!important}
.support-form .visibility-options label span{display:inline-block!important;width:auto!important;font-size:15px!important;line-height:1!important;white-space:nowrap!important;writing-mode:horizontal-tb!important;word-break:keep-all!important}
.visibility-options .visibility-choice{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;width:auto!important;margin:0!important;padding:0!important}
.support-form .visibility-options .visibility-choice>input[type="radio"]{position:static!important;display:block!important;flex:0 0 18px!important;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;margin:0!important;padding:0!important}
.support-form .visibility-options .visibility-choice>label{position:static!important;display:block!important;width:auto!important;margin:0!important;padding:0!important;font-size:15px!important;font-weight:700!important;line-height:18px!important;white-space:nowrap!important;writing-mode:horizontal-tb!important;word-break:keep-all!important;cursor:pointer!important}
.private-title { color:#667786; }
.empty-board { padding:30px; text-align:center; color:#7b8b98; }
@media(max-width:700px){.visibility-field{padding:16px}.visibility-options{gap:36px!important}.visibility-field small{margin-top:12px}}
.estimate-board-section { padding:80px 0 110px; background:#f5f8fb; }
.estimate-board-head { display:flex; justify-content:space-between; align-items:end; margin-bottom:25px; }
.estimate-board-head h2 { font-size:34px; margin:7px 0 0; letter-spacing:-.04em; }
.estimate-board-head>p { max-width:440px; text-align:right; color:#6e7e8c; font-size:13px; line-height:1.65; }
.estimate-board { background:#fff; border-top:2px solid #092b4d; box-shadow:0 15px 40px rgba(13,43,72,.06); }
.estimate-board-row { display:grid; grid-template-columns:90px 1fr 150px 130px; align-items:center; min-height:62px; border-bottom:1px solid #e1e8ee; font-size:13px; }
.estimate-board-row>span { padding:15px 17px; text-align:center; }
.estimate-board-row>span:nth-child(2) { text-align:left; }
.board-header { background:#f9fbfc; color:#314d66; font-weight:800; }
.board-status { font-style:normal; display:inline-flex; min-width:72px; justify-content:center; padding:7px 9px; border-radius:999px; font-size:11px; font-weight:800; }
.board-status.done { background:#e7f5ec; color:#18703a; }
.board-status.pending { background:#fff2df; color:#9b5e09; }
.board-demo-note { font-size:11px; color:#8795a1; margin-top:14px; }

@media(max-width:700px) {.estimate-board-head { display:block; }
.estimate-board-head>p { text-align:left; margin-top:12px; }
.estimate-board-row { grid-template-columns:48px 1fr 86px; }
.estimate-board-row>span { padding:13px 8px; }
.estimate-board-row>span:nth-child(3) { display:none; }
.estimate-board-row>span:nth-child(4) { font-size:10px; }
.board-status { min-width:58px; padding:6px 5px; }
}
/* ===== V1.3 REVIEW · 메인페이지 PDF 수정사항만 적용 ===== */
.home-v13 .hero { display:flex; align-items:flex-end; }
.home-v13 .desktop-nav { gap:clamp(28px,5.0vw,80px); font-size:16px; }
.home-v13 .header-cta { font-size:15px; }
.home-v13 .hero-content { width:min(690px,calc(100% - 44px)); padding-top:0; padding-bottom:5%; }
}
.home-v13 .hero h1 { font-size:clamp(38px,4.15vw,61px); }
.home-v13 .hero-copy { font-size:clamp(16px,1.28vw,20px); margin-top:22px; }
.home-v13 .eyebrow { font-size:clamp(11px,.88vw,13px); margin-bottom:18px; }
.home-v13 .hero-buttons { margin-top:31px; }
.home-v13 #company.section { padding:clamp(72px,7.2vw,120px) 0; }
.home-v13 .about-intro { gap:64px; }
.home-v13 .value-grid { margin-top:48px; }
.home-v13 .home-featured-projects { padding:62px 0 88px; }
.home-v13 .home-project-heading { display:flex; flex-direction:column; align-items:center; text-align:center; gap:0; }
.home-v13 .home-project-heading .kicker { margin-bottom:10px; }
.home-v13 .home-project-heading .section-title { font-size:clamp(31px,3.7vw,52px); white-space:nowrap; }
.home-v13 .home-project-heading .text-link { margin-top:14px; font-size:13px; }
.home-v13 .home-project-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:none; gap:16px; margin-top:34px; }
.home-v13 .home-project-card { min-height:410px; border-radius:3px; }
.home-v13 .home-project-card .project-visual { background-size:cover; background-position:center; }
.home-v13 .home-project-card .project-info { padding:24px 20px; }
.home-v13 .home-project-card .project-info h3 { font-size:clamp(21px,1.7vw,29px); }
.home-v13 .home-project-card .project-info p { font-size:12px; line-height:1.55; }
.home-v13 .home-contact-section { padding:72px 0; }
.home-v13 .home-contact-section .section-title { font-size:clamp(32px,4.2vw,61px); }
.home-v13 .home-contact-section .contact-box>div:first-child { max-width:790px; }
.home-v13 .home-footer-v13 .footer-main { grid-template-columns:1fr 1.12fr 1.62fr; gap:42px; padding-top:46px; padding-bottom:34px; }
.home-v13 .home-footer-v13 .footer-brand-block { padding-left:clamp(18px,3vw,58px); }
.home-v13 .home-footer-v13 .footer-brand strong { font-size:35px; }
.home-v13 .home-footer-v13 .footer-brand-block>p { margin:12px 0 21px; }
.home-v13 .home-footer-v13 .footer-company dl { gap:7px; }
.home-v13 .home-footer-v13 .footer-address address { gap:8px; }
.home-v13 .home-footer-v13 .footer-address p { display:flex; align-items:baseline; gap:10px; white-space:nowrap; font-size:12px; }
.home-v13 .home-footer-v13 .footer-address b { flex:0 0 auto; min-width:74px; }
.home-v13 .home-footer-v13 .footer-bottom { justify-content:center; text-align:center; min-height:54px; }

@media(max-width:1180px) {.home-v13 .desktop-nav { gap:22px; font-size:16px; }
.home-v13 .home-project-grid { grid-template-columns:repeat(2,1fr); }
.home-v13 .home-footer-v13 .footer-address p { white-space:normal; }

 }
@media(max-width:760px) {.home-v13 .hero-content { padding-top:0; width:calc(100% - 38px); margin-left:20px; padding-bottom:36%; }
.home-v13 .hero h1 { font-size:clamp(37px,11vw,52px); }
.home-v13 .hero-copy { font-size:16px; }
.home-v13 #company.section { padding:64px 0; }
.home-v13 .home-featured-projects { padding:52px 0 66px; }
.home-v13 .home-project-heading .section-title { white-space:nowrap; font-size:clamp(24px,7.2vw,31px); }
.home-v13 .home-project-grid { grid-template-columns:1fr; gap:12px; }
.home-v13 .home-project-card { min-height:390px; }
.home-v13 .home-contact-section { padding:58px 0; }
.home-v13 .home-contact-section .section-title { font-size:37px; }
.home-v13 .home-contact-section .contact-actions { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.home-v13 .home-contact-section .contact-actions a { width:100%; }
.home-v13 .home-footer-v13 .footer-main { grid-template-columns:1fr; gap:30px; padding:40px 22px 30px; }
.home-v13 .home-footer-v13 .footer-brand-block { padding-left:0; }
.home-v13 .home-footer-v13 .footer-address p { display:grid; grid-template-columns:76px 1fr; white-space:normal; }

 }


.solution { padding:120px 0; }
.solution .inner { width:min(1600px,calc(100% - 80px)); margin:0 auto; }
.solution-head { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:60px; }
.solution-head h2 { font-size:clamp(32px,2.2vw,48px); font-weight:800; }
.solution-head h2 span{display:inline}.solution-head h2 span+span::before{content:' '}
.solution-head p { font-size:15px; color:#7d8695; }
.solution-list { display:grid; grid-template-columns:repeat(4,1fr); gap:70px 34px; }
.solution-list .item figure { position:relative; overflow:hidden; margin:0;}
.solution-list .item figure:after {content:''; display:block; height:auto; padding-bottom:75%;}
.solution-list .item img {position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); width:100%; height:100%; object-fit:cover;}
.construction-page .solution-list .item:nth-child(6) img { object-position:50% 18%; }
.construction-page .solution-list .item:nth-child(7) img { object-position:50% 16%; }
.construction-page .solution-list .item img { cursor:zoom-in; }
.solution-list .item figure span { position:absolute; top:0; left:0; width:46px; height:46px; display:flex; justify-content:center; align-items:center; background:#14243b; color:#fff; font-size:13px; font-weight:700; }
.solution-list h3 { margin:16px 0 0; font-size:28px; font-weight:700; letter-spacing:-.04em; }
.solution-list p { color:#666; line-height:1.9; margin-top:8px; word-break:keep-all;}
.solution-banner { display:flex; align-items:center; margin-top:90px; padding:35px 45px; background:#12243a; color:#fff; }
.solution-banner strong { flex:0 0 240px; font-size:28px; font-weight:700; }
.solution-banner p { position:relative; padding-left:50px; color:rgba(255,255,255,.82); line-height:1.8; }
.solution-banner p::before { content:""; position:absolute; left:20px; top:50%; transform:translateY(-50%); width:1px; height:48px; background:rgba(255,255,255,.25); }

@media(min-width:781px) {
	.solution-banner strong {
		flex:0 0 300px;
		white-space:nowrap;
		flex-shrink:0;
	}
}

@media (max-width:1200px){
	.solution { padding:90px 0; }
	.solution-list { grid-template-columns:repeat(2,1fr); gap:50px 30px; }
	.solution-head { flex-direction:column; align-items:flex-start; }
	.solution-banner { flex-direction:column; align-items:flex-start; gap:20px; }
	.solution-banner strong { flex:none; }
	.solution-banner p { padding-left:0; }
	.solution-banner p::before { display:none; }
}

@media (max-width:767px){
	.solution .inner { width:calc(100% - 40px); }
	.solution-head { align-items:center; text-align:center; gap:22px; margin-bottom:44px; }
	.solution-head h2 { width:100%; margin:0; line-height:1.35; letter-spacing:-.045em; }
	.solution-head h2 span{display:block;white-space:nowrap}
	.solution-head h2 span+span::before{content:none}
	.solution-head p { width:min(100%,340px); margin:0 auto; line-height:1.75; text-align:center; }
	.solution { padding:70px 0; }
	.solution-list { grid-template-columns:1fr; gap:45px; }
	.solution-list h3 { font-size:24px; }
	.solution-banner { padding:28px; }
	.solution-banner strong { font-size:22px; }
	.solution-banner p { width:100%; letter-spacing:-.025em; }
}

.construction-lightbox {
	position:fixed;
	inset:0;
	z-index:1300;
	background:rgba(0,0,0,.85);
	display:none;
	align-items:center;
	justify-content:center;
	padding:24px;
}

.construction-lightbox.open { display:flex; }

.construction-lightbox img {
	display:block;
	max-width:90vw;
	max-height:90vh;
	width:auto;
	height:auto;
	object-fit:contain;
}

.construction-lightbox-close {
	position:absolute;
	top:18px;
	right:20px;
	border:0;
	background:none;
	color:#fff;
	font-size:36px;
	line-height:1;
	cursor:pointer;
}
/* ===== ESACO V2 · 모바일 히어로 이미지 최적화 ===== */
@media (max-width:760px) {
  .home-v13 .slide {
    background-size:cover;
    background-position:center center;
    transform:none;
  }
  .home-v13 .slide.active {
    animation:none;
  }
  .home-v13 .hero-overlay {
    background:
      linear-gradient(180deg,rgba(3,13,27,.34) 0%,rgba(3,13,27,.18) 30%,rgba(3,13,27,.76) 74%,rgba(2,12,24,.93) 100%),
      linear-gradient(90deg,rgba(3,13,27,.42),rgba(3,13,27,.08) 72%);
  }
}
/* Customer warranty lookup: desktop and mobile result card */
.warranty-section{background:#f4f7fa;padding:64px 20px 90px}
.warranty-section>.wrap{max-width:960px;margin:0 auto}
.warranty-search{max-width:760px;margin:0 auto;padding:34px 38px;background:#fff;border:1px solid #dce5ee;border-radius:16px;box-shadow:0 12px 32px rgba(8,35,63,.07)}
.warranty-search>label{display:block;margin-bottom:12px;font-size:18px;font-weight:700;text-align:left}
.warranty-search>div{display:flex}.warranty-search input{min-width:0;flex:1;height:58px;padding:0 18px;border:1px solid #b9cadb;font-size:17px}
.warranty-search button{width:110px;border:0;background:#0b284b;color:#fff;font-size:17px;font-weight:700;cursor:pointer}
.warranty-result{max-width:760px;margin:28px auto 0}.warranty-result .card{padding:36px 38px;background:#fff;border:1px solid #dce5ee;border-radius:16px;box-shadow:0 12px 32px rgba(8,35,63,.07)}
.warranty-result h2{margin:0 0 24px;padding-bottom:18px;border-bottom:2px solid #0b284b;font-size:27px;color:#0b284b}
.warranty-result dl{display:grid;grid-template-columns:150px 1fr;margin:0}.warranty-result dt,.warranty-result dd{margin:0;padding:13px 8px;border-bottom:1px solid #e5ebf1;font-size:16px;line-height:1.55}
.warranty-result dt{font-weight:700;color:#52677c}.warranty-result dd{color:#0b284b}.warranty-result dd[data-field="warranty_period"],.warranty-result dd[data-field="status"]{font-weight:700;color:#1265a8}
.warranty-section .notice{max-width:760px;margin:22px auto 0}
@media(max-width:640px){.warranty-section{padding:32px 18px 64px}.warranty-search{padding:24px 20px;border-radius:12px}.warranty-search>label{font-size:16px}.warranty-search>div{display:block}.warranty-search input,.warranty-search button{width:100%;height:52px}.warranty-search button{margin-top:10px}.warranty-result{margin-top:20px}.warranty-result .card{padding:25px 20px;border-radius:12px}.warranty-result h2{font-size:22px;margin-bottom:12px}.warranty-result dl{display:block}.warranty-result dt{padding:14px 4px 2px;border-bottom:0;font-size:13px}.warranty-result dd{padding:2px 4px 12px;font-size:16px}}
