:root{
  --navy:#071224;
  --navy-2:#0b1730;
  --navy-3:#0d1d37;
  --white:#fff;
  --text:#0f1d33;
  --muted:#5d6a7d;
  --line:#dde3ec;
  --card:#f7f9fc;
  --blue:#2451d5;
  --blue-2:#2a5fe6;
  --red:#ef4747;
  --shadow:0 18px 46px rgba(7,18,36,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter","Noto Sans KR",system-ui,sans-serif;
  color:var(--text);
  background:#f2f4f8;
  line-height:1.6;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,textarea{font:inherit}
.container{width:min(1240px, calc(100% - 40px)); margin:0 auto}

.floating-contact{
  position:fixed; right:18px; bottom:18px; z-index:1000; display:grid; gap:8px;
}
.floating-contact a{
  padding:11px 16px; border-radius:999px; background:rgba(7,18,36,.9); color:#fff; font-size:.92rem;
  box-shadow:0 10px 24px rgba(7,18,36,.2); backdrop-filter:blur(10px)
}

.site-header{
  position:sticky; top:0; z-index:999; background:rgba(7,18,36,.88); backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08)
}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:88px}
.brand{display:flex; align-items:center; gap:15px; color:#fff}
.brand img{width:136px}
.brand-text{display:flex; flex-direction:column; gap:3px}
.brand-text span{font-size:.9rem; color:#cad4e6}
.brand-text strong{font-size:1.02rem; letter-spacing:.06em}
.site-nav{display:flex; align-items:center; gap:24px; color:#edf2fb; font-weight:600}
.site-nav > a,.nav-dropdown>button{opacity:.93}
.site-nav > a:hover,.nav-dropdown>button:hover{opacity:1}
.nav-dropdown{position:relative}
.nav-dropdown>button{background:none;border:0;color:inherit;cursor:pointer;padding:0;font-weight:600}
.dropdown-panel{
  position:absolute; top:calc(100% + 16px); left:0; min-width:280px; padding:12px; display:grid; gap:6px;
  border-radius:16px; background:#0c1628; border:1px solid rgba(255,255,255,.08); box-shadow:var(--shadow);
  opacity:0; visibility:hidden; transform:translateY(8px); transition:.22s ease
}
.dropdown-panel a{padding:12px 14px; border-radius:10px; color:#e7edf7}
.dropdown-panel a:hover{background:rgba(255,255,255,.06)}
.nav-dropdown:hover .dropdown-panel{opacity:1; visibility:visible; transform:none}
.since-badge{padding:10px 16px; border:1px solid rgba(255,255,255,.16); border-radius:999px; background:rgba(255,255,255,.06)}
.menu-toggle{display:none}

.hero{position:relative; min-height:820px; overflow:hidden; color:#fff; background:#030b18}
.hero-slider,.hero-slide,.hero-overlay{position:absolute; inset:0}
.hero-slide{opacity:0; background-size:cover; background-position:center; transition:opacity 1.2s ease; transform:scale(1.03)}
.hero-slide.active{opacity:1}
.hero-overlay{background:linear-gradient(90deg, rgba(4,10,21,.82) 0%, rgba(4,10,21,.58) 48%, rgba(4,10,21,.7) 100%)}
.hero-content{position:relative; z-index:2; padding:118px 0 120px}
.eyebrow{margin:0 0 18px; font-size:1rem; font-weight:800; letter-spacing:.18em; color:#d2daea}
.hero h1{margin:0; max-width:1180px; font-size:clamp(2.8rem,5.9vw,5.35rem); line-height:.95; letter-spacing:-.05em; font-weight:900}
.hero-copy{margin:54px 0 0; max-width:1100px; font-size:1.12rem; color:#ebeff6}
.hero-actions{display:flex; gap:20px; flex-wrap:wrap; margin-top:42px}
.btn{display:inline-flex; align-items:center; justify-content:center; min-height:64px; padding:0 34px; border-radius:999px; font-weight:800; transition:.22s ease; border:1px solid transparent}
.btn-primary{background:var(--blue-2); color:#fff; box-shadow:0 20px 40px rgba(42,95,230,.28)}
.btn-primary:hover{transform:translateY(-2px)}
.btn-secondary{background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.18)}
.btn-secondary:hover{background:rgba(255,255,255,.14)}

.section{padding:92px 0}
.section-label,.mini-label{margin:0 0 14px; color:var(--blue); font-weight:800; letter-spacing:.14em; text-transform:uppercase; font-size:.78rem}
.section h2{margin:0; line-height:1.02; letter-spacing:-.045em}

.intro-reworked{padding-top:54px; padding-bottom:48px}
.about-dual-panel{display:grid; grid-template-columns:1fr 1fr; gap:0; background:#f2f3f6; border-radius:8px; overflow:hidden; border:1px solid #eceff4}
.about-card{padding:34px 30px 34px 30px; min-height:332px; background:#f2f3f6}
.about-card h2{font-size:clamp(2rem,3.1vw,3.3rem); max-width:480px}
.about-card p{margin:22px 0 0; font-size:.95rem; color:#5a6678; max-width:510px}
.patec-word{font-weight:900}
.p-blue{color:#1d3f86}.p-red{color:#d03939}
.about-copy-ko,.about-copy-en{line-height:1.55}

.products-landing{padding-top:44px; padding-bottom:44px}
.products-landing-wrap{background:#fff; border-radius:16px; padding:28px 26px 20px; box-shadow:var(--shadow)}
.products-kicker{margin:0 0 6px; color:var(--red); font-size:.84rem; font-weight:800}
.products-landing-head{display:grid; grid-template-columns:1.1fr .9fr; gap:30px; align-items:end}
.products-landing-head h2{font-size:clamp(1.9rem,3.4vw,3.1rem)}
.products-summary{margin:0; color:#667388; font-size:.92rem; max-width:480px}
.products-tiles{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:24px}
.product-tile{padding:16px 18px; background:#fbfcfe; border:1px solid #e3e8f1; border-radius:10px; box-shadow:0 10px 18px rgba(7,18,36,.04)}
.product-tile strong{display:block; font-size:.95rem; margin-bottom:6px}
.product-tile span{display:block; font-size:.75rem; line-height:1.4; color:#667388}
.product-tile:hover{border-color:#c8d5fb; transform:translateY(-1px)}
.products-footnote{margin:14px 0 0; text-align:center; color:var(--red); font-size:.78rem; font-weight:700}

.cold-reworked{padding-top:50px; padding-bottom:52px}
.cold-topline{color:var(--blue); font-size:.7rem; font-weight:800; letter-spacing:.16em; margin-bottom:8px}
.cold-header-row{display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px}
.cold-header-row h2{font-size:clamp(2.1rem,3.8vw,3.7rem)}
.inline-tags{list-style:none; margin:0; padding:0; display:flex; gap:8px; flex-wrap:wrap}
.inline-tags li{padding:7px 11px; border-radius:999px; background:#eef3ff; color:#3460e7; font-size:.75rem; font-weight:800; border:1px solid #d3dfff}
.cold-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:10px}
.cold-grid figure{margin:0; border-radius:14px; overflow:hidden; background:#dbe2ee; box-shadow:0 10px 20px rgba(7,18,36,.08); aspect-ratio:1.22/1}
.cold-grid img{width:100%; height:100%; object-fit:cover}

.product-section.alt,.control-section,.press-section,.site-footer{background:linear-gradient(180deg, #071224, #0b1627)}
.product-section.alt h2,.product-section.alt p,.product-section.alt .section-label,.control-section h2,.control-section p,.control-section .section-label,.press-section h2,.press-section p,.press-section .section-label{color:#fff}

.hot-reworked{padding-top:60px; padding-bottom:60px}
.hot-stage{display:grid; grid-template-columns:1.15fr .72fr; gap:22px; align-items:start}
.hot-collage{padding:12px 0 0; position:relative}
.hot-section-label{color:#5e86ff; font-size:.72rem; font-weight:800; letter-spacing:.18em; margin-bottom:10px}
.hot-collage h2{max-width:640px; font-size:clamp(1.95rem,3.2vw,2.95rem); margin-bottom:16px}
.hot-collage-grid{display:grid; grid-template-columns:1.15fr .85fr .85fr; gap:10px; align-items:stretch}
.hot-collage-grid figure{margin:0; border-radius:12px; overflow:hidden; background:#123; min-height:132px}
.hot-collage-grid .hot-main{grid-row:span 2; min-height:274px}
.hot-collage-grid img{width:100%; height:100%; object-fit:cover}
.hot-panel{margin-top:78px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.09); border-radius:16px; padding:22px; box-shadow:0 16px 32px rgba(0,0,0,.18)}
.hot-panel p{margin:0 0 18px; color:#d3d9e6}
.hot-info-box{display:grid; gap:6px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); border-radius:14px; padding:14px 16px; margin-top:12px}
.hot-info-box strong{color:#fff}.hot-info-box span{color:#c9d2e4; font-size:.95rem}

.lab-reworked{padding-top:60px; padding-bottom:60px; background:#f4f6fa}
.lab-stage{display:grid; grid-template-columns:.95fr 1.05fr; gap:22px; align-items:center}
.lab-copy-panel h2{font-size:clamp(1.95rem,3.2vw,2.95rem); max-width:690px}
.lab-copy-panel p{margin:18px 0 0; color:#536174; max-width:560px}
.lab-info-cards{display:grid; gap:12px; margin-top:18px; max-width:470px}
.lab-info-cards article{background:#fff; border:1px solid #e1e7f0; border-radius:16px; padding:16px 18px; box-shadow:0 12px 24px rgba(7,18,36,.05)}
.lab-info-cards strong{display:block; margin-bottom:6px}
.lab-info-cards span{font-size:.92rem; color:#657286}
.lab-visuals{display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
.lab-visuals figure{margin:0; border-radius:16px; overflow:hidden; box-shadow:0 14px 26px rgba(7,18,36,.08); aspect-ratio:1/1.08}
.lab-visuals img{width:100%; height:100%; object-fit:cover}

.warm-reworked{padding-top:62px; padding-bottom:64px}
.warm-stage{display:grid; grid-template-columns:420px 1fr; gap:34px; align-items:start}
.warm-visual{order:1}
.warm-copy{order:2; padding-top:8px}
.warm-copy h2{font-size:clamp(1.95rem,3.2vw,2.95rem); max-width:620px}
.warm-copy p{max-width:480px; color:#d2d9e7}
.warm-visual figure{margin:0; border-radius:12px; overflow:hidden; max-width:360px; box-shadow:0 18px 36px rgba(0,0,0,.22)}
.warm-visual img{width:100%; height:auto; aspect-ratio:0.68/1; object-fit:cover}
.warm-note{display:inline-block; margin-top:20px; background:#f6f7fa; color:#db4242; padding:14px 16px; border-radius:4px; font-size:.84rem; font-weight:700; max-width:270px}

.materials-reworked{padding:18px 0 40px}
.materials-shell{background:linear-gradient(180deg, #081631, #0c2040); border-radius:18px; padding:18px 20px 16px; border:1px solid rgba(255,255,255,.08); box-shadow:var(--shadow)}
.materials-shell > p{margin:0 0 14px; color:#fff; font-size:.8rem; font-weight:800; letter-spacing:.15em; opacity:.92}
.materials-grid-dark{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
.materials-grid-dark figure{margin:0; background:rgba(255,255,255,.06); border-radius:14px; padding:10px; border:1px solid rgba(255,255,255,.08)}
.materials-grid-dark img{width:100%; aspect-ratio:1.45/1; object-fit:cover; border-radius:10px}
.materials-grid-dark figcaption{margin-top:8px; text-align:center; color:#fff; font-weight:700; font-size:.8rem}
.materials-note{margin:12px auto 0; width:max-content; max-width:100%; background:#fff; color:#ef4747; font-size:.7rem; font-weight:700; padding:3px 10px; border-radius:2px}

.section-head{display:flex; justify-content:space-between; align-items:end; gap:26px; margin-bottom:28px}
.section-note{max-width:520px; color:#aab7cb}
.control-stack{display:grid; gap:18px}
.control-card{display:grid; grid-template-columns:320px 1fr; gap:18px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:24px; padding:22px}
.control-copy h3{margin:0 0 12px; color:#fff; font-size:1.35rem}
.control-copy p{margin:0; color:#d2d9e7}
.control-gallery{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
.control-card:nth-child(2) .control-gallery,.control-card:nth-child(3) .control-gallery,.control-card:nth-child(5) .control-gallery,.control-card:nth-child(6) .control-gallery{grid-template-columns:repeat(3,1fr)}
.control-gallery img{width:100%; aspect-ratio:1.26/1; object-fit:cover; border-radius:16px; background:#132741}

.revamping-section .service-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; align-items:start}
.service-box{background:#fff; border:1px solid #dde3ec; border-radius:24px; overflow:hidden; box-shadow:0 16px 40px rgba(8,24,48,.06)}
.service-box h3{margin:0; padding:18px 18px 0; font-size:1.06rem}
.service-box p{margin:8px 18px 14px; color:#56657b; font-size:.94rem; line-height:1.55}
.service-box img{width:100%; height:210px; object-fit:cover}
.gallery{display:grid; grid-template-columns:repeat(2,1fr); gap:16px}
.gallery-compact{margin-top:16px}
.gallery figure{margin:0; overflow:hidden; border-radius:22px; background:#cbd5e3; min-height:220px; box-shadow:0 16px 34px rgba(8,24,48,.08)}
.gallery img{width:100%; height:100%; object-fit:cover}

.press-panel{display:flex; justify-content:space-between; align-items:end; gap:28px}
.reference-section{background:#f5f7fb}
.reference-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:14px}
.reference-grid span{padding:16px 14px; text-align:center; background:#fff; border-radius:16px; border:1px solid #e0e6ef; font-weight:700; box-shadow:0 10px 20px rgba(7,18,36,.04)}
.contact-grid.single-contact{grid-template-columns:1fr}
.contact-copy{max-width:900px}
.contact-list{display:grid; grid-template-columns:repeat(2,1fr); gap:18px 24px; margin:26px 0 0}
.contact-list div{padding:18px 20px; background:#fff; border:1px solid #e2e8f1; border-radius:18px}
.contact-list dt{font-weight:800; margin-bottom:8px; font-size:1.08rem}
.contact-list dd{margin:0; color:#5d6a7d; font-size:1.06rem; line-height:1.55}
.contact-list a{color:#2451d5}
.site-footer{padding:28px 0; color:#fff}
.footer-inner{display:flex; justify-content:space-between; align-items:center; gap:24px}
.footer-inner p{margin:0; color:#d2d9e7}
.footer-inner strong{font-size:1.2rem}

@media (max-width: 1080px){
  .site-nav{position:absolute; top:100%; left:0; right:0; background:#0c1628; padding:18px 20px; display:none; flex-direction:column; align-items:flex-start}
  .site-nav.open{display:flex}
  .menu-toggle{display:inline-flex; padding:10px 14px; border-radius:10px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.06); color:#fff}
  .site-nav .since-badge{display:none}
  .nav-dropdown{width:100%}
  .dropdown-panel{position:static; opacity:1; visibility:visible; transform:none; margin-top:12px}
  .about-dual-panel,.products-landing-head,.lab-stage,.hot-stage,.warm-stage,.control-card,.press-panel{grid-template-columns:1fr; display:grid}
  .hot-panel{margin-top:0}
  .warm-visual{order:0}
  .warm-copy{order:0}
  .products-tiles,.cold-grid,.materials-grid-dark,.reference-grid,.revamping-section .service-grid,.contact-list{grid-template-columns:repeat(2,1fr)}
  .control-gallery{grid-template-columns:repeat(2,1fr)!important}
}
@media (max-width: 780px){
  .container{width:min(100% - 26px, 100%)}
  .floating-contact{display:none}
  .hero{min-height:680px}
  .hero-content{padding-top:98px; padding-bottom:78px}
  .eyebrow{font-size:.82rem; letter-spacing:.12em}
  .hero-copy{font-size:1rem; margin-top:28px}
  .btn{min-height:54px; padding:0 24px}
  .about-card{padding:24px 18px}
  .products-landing-wrap{padding:22px 16px 18px}
  .products-tiles,.cold-grid,.materials-grid-dark,.reference-grid,.revamping-section .service-grid,.contact-list{grid-template-columns:1fr}
  .hot-collage-grid{grid-template-columns:1fr 1fr}
  .hot-collage-grid .hot-main{grid-column:span 2}
  .lab-visuals{grid-template-columns:1fr}
  .section{padding:66px 0}
  .contact-list{gap:14px}
  .reference-grid span{padding:14px}
}


.ko-heading{word-break:keep-all}
.control-subtitle{display:block;margin:-2px 0 10px;color:#8ea2c4;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.revamping-subtitle{margin:10px 0 0;color:#60708a;font-size:1rem;max-width:780px;}
.materials-extra{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:14px auto 0;}
.materials-extra span{padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;font-size:.78rem;font-weight:700;}
.materials-note strong{color:#fff; font-weight:800;}

.control-copy p{margin-top:8px}
.control-card:nth-child(3) .control-copy,.control-card:nth-child(4) .control-copy,.control-card:nth-child(6) .control-copy{align-self:start;}
.gallery-revamping{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:1280px;width:100%;margin:16px auto 0;align-items:stretch;}
.gallery-revamping figure{aspect-ratio:1.24/0.8;min-height:0;max-height:260px;}
.gallery-revamping img{width:100%;height:100%;}
.gallery-revamping figure:first-child img,.gallery-revamping figure:nth-child(3) img{object-fit:contain;background:#fff;padding:24px;}
.gallery-revamping figure:nth-child(2) img,.gallery-revamping figure:nth-child(4) img{object-fit:cover;transform:scale(.96);}
.control-section .section-head{align-items:start;}
.control-section .section-note{max-width:620px;}
.contact-list div{min-height:118px;}
.contact-list div:nth-child(5),.contact-list div:nth-child(6){min-height:180px;}
@media (max-width: 1080px){.gallery-revamping{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;gap:14px}.gallery-revamping figure{max-height:220px}.service-box img{height:190px}}
@media (max-width: 780px){.materials-extra{justify-content:flex-start}.contact-list dt{font-size:1rem}.contact-list dd{font-size:1rem}.gallery-revamping{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-revamping figure{max-height:none}.service-box img{height:200px}}
