:root{--color-bg: #f4f7fb;--color-surface: #ffffff;--color-primary: #0b1f3a;--color-accent: #1a6fd4;--color-accent-light: #e8f2fc;--color-text: #1e293b;--color-text-muted: #64748b;--color-border: #e2e8f0;--font-sans: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius: 12px;--shadow: 0 4px 24px rgba(11, 31, 58, .08);--max-width: 1200px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.site-header{position:sticky;top:0;z-index:100;background:#ffffffeb;backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border)}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:4rem}.logo-group{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.logo{font-size:1.25rem;font-weight:700;color:var(--color-primary);letter-spacing:-.02em;white-space:nowrap}.logo span{color:var(--color-accent)}.logo-tagline{font-size:.8rem;font-weight:500;color:var(--color-text-muted);padding-left:.75rem;border-left:1px solid var(--color-border);white-space:nowrap}.nav-list{display:flex;gap:2rem;list-style:none}.nav-list a{font-size:.9rem;font-weight:500;color:var(--color-text-muted);transition:color .2s}.nav-list a:hover,.nav-list a[aria-current=page]{color:var(--color-accent)}.hero{position:relative;overflow:hidden;padding:5rem 0 4rem;background:linear-gradient(160deg,var(--color-primary) 0%,#153a6b 100%);background-size:cover;background-position:center;color:#fff}.hero-content{position:relative;z-index:1}.hero-bg{position:absolute;inset:0;opacity:.1;pointer-events:none;overflow:hidden}.hero-bg__svg{width:100%;height:100%;min-height:100%}.hero-bg__cable{stroke-dasharray:12 18;animation:hero-cable-flow 6s linear infinite}.hero-bg__cable--2{animation-duration:8s;animation-direction:reverse}.hero-bg__cable--3{stroke-dasharray:8 14;animation-duration:10s}.hero-bg__wave{transform-origin:center;animation:hero-em-pulse 4s ease-out infinite}.hero-bg__wave--2{animation-delay:1.3s}.hero-bg__wave--3{animation-delay:.6s;animation-duration:5s}.hero-bg__wave--4{animation-delay:2s;animation-duration:3.5s}.hero-bg__node{animation:hero-node-blink 2.5s ease-in-out infinite}.hero-bg__node:nth-of-type(2){animation-delay:.8s}.hero-bg__node:nth-of-type(3){animation-delay:1.6s}.hero-bg__pulse{opacity:.9}.hero-bg__pulse--1{animation:hero-signal-1 5s linear infinite}.hero-bg__pulse--2{animation:hero-signal-2 7s linear infinite;animation-delay:1s}.hero-bg__pulse--3{animation:hero-signal-3 9s linear infinite;animation-delay:2.5s}.hero-bg__scan{animation:hero-scan 8s ease-in-out infinite}@keyframes hero-cable-flow{to{stroke-dashoffset:-60}}@keyframes hero-em-pulse{0%{transform:scale(.6);opacity:.9}70%{opacity:.3}to{transform:scale(2.2);opacity:0}}@keyframes hero-node-blink{0%,to{opacity:.4;filter:drop-shadow(0 0 2px #60a5fa)}50%{opacity:1;filter:drop-shadow(0 0 8px #38bdf8)}}@keyframes hero-signal-1{0%{offset-distance:0%;opacity:0}10%{opacity:1}90%{opacity:1}to{offset-distance:100%;opacity:0}}@keyframes hero-signal-2{0%{offset-distance:0%;opacity:0}10%{opacity:1}90%{opacity:1}to{offset-distance:100%;opacity:0}}@keyframes hero-signal-3{0%{offset-distance:0%;opacity:0}10%{opacity:.8}90%{opacity:.8}to{offset-distance:100%;opacity:0}}.hero-bg__pulse--1{offset-path:path("M-20,120 C200,40 400,220 620,140 S900,60 1220,180");offset-rotate:0deg}.hero-bg__pulse--2{offset-path:path("M-20,280 C180,360 420,120 700,260 S950,340 1220,240");offset-rotate:0deg}.hero-bg__pulse--3{offset-path:path("M100,400 C350,300 550,420 800,280 S1050,220 1220,360");offset-rotate:0deg}@keyframes hero-scan{0%,to{transform:translateY(80px);opacity:0}15%{opacity:.5}50%{transform:translateY(520px);opacity:.3}85%{opacity:0}}.hero-bg__road{animation:hero-road-flow 3s linear infinite}.hero-bg__building--a{animation:hero-building-glow 4s ease-in-out infinite}.hero-bg__building--b{animation:hero-building-glow 5s ease-in-out infinite 1.5s}.hero-bg__car-pass,.hero-bg__car-enter--a,.hero-bg__car-enter--b{transform-box:fill-box;transform-origin:center}.hero-bg__car-pass--1{transform:translate(-70px,378px);animation:hero-car-drive-1 12s linear infinite}.hero-bg__car-pass--2{transform:translate(-70px,388px);animation:hero-car-drive-2 16s linear infinite 3s}.hero-bg__car-pass--3{transform:translate(-70px,370px);animation:hero-car-drive-3 20s linear infinite 8s}.hero-bg__car-pass--4{transform:translate(1260px,384px) scaleX(-1);animation:hero-car-drive-4 18s linear infinite 1s}.hero-bg__car-enter--a{transform:translate(-60px,380px);animation:hero-car-enter-a 14s ease-in-out infinite}.hero-bg__car-enter--b{transform:translate(1260px,382px) scaleX(-1);animation:hero-car-enter-b 18s ease-in-out infinite 6s}@keyframes hero-road-flow{to{stroke-dashoffset:-36}}@keyframes hero-building-glow{0%,to{opacity:.85}50%{opacity:1}}@keyframes hero-car-drive-1{0%{transform:translate(-70px,378px);opacity:0}4%{opacity:1}96%{opacity:1}to{transform:translate(1260px,378px);opacity:0}}@keyframes hero-car-drive-2{0%{transform:translate(-70px,388px);opacity:0}4%{opacity:1}96%{opacity:1}to{transform:translate(1260px,388px);opacity:0}}@keyframes hero-car-drive-3{0%{transform:translate(-70px,370px);opacity:0}4%{opacity:1}96%{opacity:1}to{transform:translate(1260px,370px);opacity:0}}@keyframes hero-car-drive-4{0%{transform:translate(1260px,384px) scaleX(-1);opacity:0}4%{opacity:1}96%{opacity:1}to{transform:translate(-70px,384px) scaleX(-1);opacity:0}}@keyframes hero-car-enter-a{0%{transform:translate(-60px,380px) scale(1);opacity:0}5%{opacity:1}50%{transform:translate(860px,380px) scale(1);opacity:1}68%{transform:translate(930px,388px) scale(.72);opacity:.85}82%{transform:translate(960px,392px) scale(.42);opacity:.4}to{transform:translate(975px,395px) scale(.18);opacity:0}}@keyframes hero-car-enter-b{0%{transform:translate(1260px,382px) scaleX(-1) scale(1);opacity:0}5%{opacity:1}48%{transform:translate(220px,382px) scaleX(-1) scale(1);opacity:1}65%{transform:translate(148px,388px) scaleX(-1) scale(.72);opacity:.85}80%{transform:translate(128px,392px) scaleX(-1) scale(.4);opacity:.4}to{transform:translate(118px,395px) scaleX(-1) scale(.15);opacity:0}}@media(prefers-reduced-motion:reduce){.hero-bg__cable,.hero-bg__wave,.hero-bg__node,.hero-bg__pulse,.hero-bg__scan,.hero-bg__road,.hero-bg__building--a,.hero-bg__building--b,.hero-bg__car-pass--1,.hero-bg__car-pass--2,.hero-bg__car-pass--3,.hero-bg__car-pass--4,.hero-bg__car-enter--a,.hero-bg__car-enter--b{animation:none}}.hero-eyebrow{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#93c5fd;margin-bottom:1rem}.hero h1{font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.2;letter-spacing:-.03em;margin-bottom:1.25rem}.hero-desc{font-size:1.1rem;color:#cbd5e1;max-width:560px;margin-bottom:2rem}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;border:none;cursor:pointer;transition:background .2s,transform .15s}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:#1558a8}.btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}.btn-outline:hover{border-color:#fff}.section{padding:4rem 0}.section-header{text-align:center;margin-bottom:3rem}.section-eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.5rem}.section-header h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--color-primary);letter-spacing:-.02em}.section-header p{color:var(--color-text-muted);margin-top:.75rem;max-width:560px;margin-inline:auto}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.tech-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.tech-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0b1f3a1f}.tech-card-icon{width:3rem;height:3rem;background:var(--color-accent-light);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1.25rem}.tech-card h3{font-size:1.1rem;font-weight:700;color:var(--color-primary);margin-bottom:.5rem}.tech-card .tech-sub{font-size:.8rem;color:var(--color-accent);font-weight:600;margin-bottom:.75rem}.tech-card p{font-size:.9rem;color:var(--color-text-muted);line-height:1.7}.tech-card a{display:inline-block;margin-top:1.25rem;font-size:.85rem;font-weight:600;color:var(--color-accent)}.feature-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;list-style:none}.feature-item{background:var(--color-surface);border-radius:var(--radius);padding:1.5rem;border:1px solid var(--color-border)}.feature-item h4{font-size:.95rem;font-weight:700;color:var(--color-primary);margin-bottom:.5rem}.feature-item p{font-size:.875rem;color:var(--color-text-muted)}.page-hero{padding:3.5rem 0 2.5rem;background:var(--color-primary);color:#fff}.page-hero h1{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;letter-spacing:-.02em}.page-hero .subtitle{color:#94a3b8;margin-top:.75rem;font-size:1rem}.content-block{background:var(--color-surface);border-radius:var(--radius);padding:2rem;border:1px solid var(--color-border);margin-bottom:1.5rem}.content-block h2{font-size:1.2rem;font-weight:700;color:var(--color-primary);margin-bottom:1rem}.content-block p,.content-block li{font-size:.95rem;color:var(--color-text-muted);line-height:1.8}.content-block ul{padding-left:1.25rem}.placeholder-note{background:var(--color-accent-light);border:1px dashed var(--color-accent);border-radius:8px;padding:1rem 1.25rem;font-size:.85rem;color:var(--color-accent);margin-top:1rem}.cta-band{background:var(--color-primary);color:#fff;padding:3.5rem 0;text-align:center}.cta-band h2{font-size:1.5rem;font-weight:700;margin-bottom:.75rem}.cta-band p{color:#94a3b8;margin-bottom:1.5rem}.site-footer{background:var(--color-primary);color:#94a3b8;padding:3rem 0 2rem;font-size:.85rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;margin-bottom:2rem}.footer-brand{font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:.35rem}.footer-ceo{color:#cbd5e1;margin-bottom:.75rem;font-size:.9rem}.footer-address{font-style:normal;line-height:1.7;margin-bottom:.75rem}.footer-contact{list-style:none}.footer-contact li{margin-bottom:.35rem}.footer-contact a{color:#93c5fd}.footer-contact a:hover{color:#fff}.footer-col h4{color:#e2e8f0;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem}.footer-col ul{list-style:none}.footer-col li{margin-bottom:.5rem}.footer-col a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;text-align:center}@media(max-width:768px){.nav-list,.logo-tagline{display:none}.footer-grid{grid-template-columns:1fr}}.sns-links{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.sns-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:6px;background:#ffffff1a;color:#e2e8f0;font-size:.65rem;font-weight:700;transition:background .2s,color .2s}.sns-icon:hover{background:var(--color-accent);color:#fff}.sns-icon--disabled{opacity:.35;cursor:default;pointer-events:none}.sns-icon--disabled:hover{background:#ffffff1a;color:#e2e8f0}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;margin-top:1rem}.gallery-item{background:var(--color-surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-item figcaption{padding:.85rem 1rem;font-size:.9rem}.gallery-item figcaption p{color:var(--color-text-muted);margin-top:.25rem;font-size:.85rem}.gallery-empty{color:var(--color-text-muted);font-size:.95rem}.inquiry-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.inquiry-table-wrap{overflow-x:auto;background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow)}.inquiry-table{width:100%;border-collapse:collapse;font-size:.9rem}.inquiry-table th,.inquiry-table td{padding:.85rem 1rem;border-bottom:1px solid var(--color-border);text-align:left}.inquiry-table th{background:var(--color-bg);font-weight:600;font-size:.8rem;color:var(--color-text-muted)}.inquiry-table a:hover{color:var(--color-accent)}.inquiry-empty{text-align:center;color:var(--color-text-muted);padding:2rem!important}.inquiry-form label{display:block;margin-bottom:1rem;font-size:.9rem;font-weight:500}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{display:block;width:100%;margin-top:.35rem;padding:.65rem .85rem;border:1px solid var(--color-border);border-radius:8px;font:inherit}.inquiry-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.checkbox-label{display:flex!important;align-items:center;gap:.5rem;font-weight:400!important}.checkbox-label input{width:auto;margin:0}.inquiry-form-actions{display:flex;gap:.75rem;margin-top:.5rem}.inquiry-unlock{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;margin-top:1rem}.inquiry-unlock-form{display:flex;gap:.5rem;margin-top:1rem}.inquiry-unlock-form input{flex:1;padding:.65rem .85rem;border:1px solid var(--color-border);border-radius:8px;font:inherit}.inquiry-detail-public dt{font-weight:600;font-size:.85rem;color:var(--color-text-muted);margin-top:1rem}.inquiry-detail-public dd{margin-top:.25rem}.inquiry-message{white-space:pre-wrap;line-height:1.7}.form-error{color:#dc2626;font-size:.9rem;margin:.5rem 0}.form-success{color:#16a34a;font-size:.9rem;margin-bottom:.75rem}.admin-body{background:#eef2f7;min-height:100vh}.admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.admin-sidebar{background:var(--color-primary);color:#cbd5e1;padding:1.5rem 1rem;display:flex;flex-direction:column}.admin-brand{font-weight:700;color:#fff;font-size:1rem;line-height:1.4;margin-bottom:2rem}.admin-brand span{font-size:.8rem;font-weight:500;color:#93c5fd}.admin-nav{list-style:none;flex:1}.admin-nav a{display:block;padding:.55rem .75rem;border-radius:8px;font-size:.9rem;margin-bottom:.25rem}.admin-nav a:hover,.admin-nav a.active{background:#ffffff1a;color:#fff}.admin-sidebar-foot{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.admin-sidebar-foot button{background:none;border:none;color:#94a3b8;text-align:left;cursor:pointer;font:inherit;padding:0}.admin-sidebar-foot button:hover{color:#fff}.admin-main{display:flex;flex-direction:column}.admin-topbar{background:#fff;border-bottom:1px solid var(--color-border);padding:1.25rem 2rem}.admin-topbar h1{font-size:1.25rem;font-weight:700}.admin-content{padding:1.5rem 2rem 2rem;flex:1}.admin-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.admin-card{background:#fff;border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.admin-card-label{display:block;font-size:.8rem;color:var(--color-text-muted);margin-bottom:.35rem}.admin-card-value{font-size:1.75rem;color:var(--color-primary)}.admin-panel{background:#fff;border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);margin-bottom:1.25rem}.admin-panel h2{font-size:1rem;margin-bottom:1rem}.admin-form label{display:block;margin-bottom:.85rem;font-size:.85rem;font-weight:500}.admin-form input,.admin-form select,.admin-form textarea{display:block;width:100%;margin-top:.3rem;padding:.55rem .75rem;border:1px solid var(--color-border);border-radius:8px;font:inherit}.admin-form fieldset{border:1px solid var(--color-border);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.25rem}.admin-form legend{font-weight:600;padding:0 .35rem}.admin-form-wide{max-width:720px}.admin-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.admin-hint{font-size:.8rem;color:var(--color-text-muted);margin:-.5rem 0 .75rem}.btn-block{width:100%}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th,.admin-table td{padding:.65rem .85rem;border-bottom:1px solid var(--color-border);text-align:left}.admin-table th{background:var(--color-bg);font-weight:600}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge-new{background:#dbeafe;color:#1d4ed8}.badge-in_progress{background:#fef3c7;color:#b45309}.badge-closed{background:#dcfce7;color:#15803d}.admin-gallery-list{display:flex;flex-direction:column;gap:.75rem}.admin-gallery-row{display:grid;grid-template-columns:80px 1fr auto;gap:1rem;align-items:center;padding:.75rem;border:1px solid var(--color-border);border-radius:8px}.admin-gallery-actions{display:flex;gap:.5rem}.admin-gallery-actions button{padding:.35rem .65rem;border:1px solid var(--color-border);border-radius:6px;background:#fff;cursor:pointer;font-size:.8rem}.btn-danger{color:#dc2626!important;border-color:#fecaca!important}.admin-login-body{min-height:100vh;display:grid;place-items:center;background:var(--color-bg)}.admin-login-card{background:#fff;padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:380px}.admin-login-card h1{font-size:1.25rem;color:var(--color-primary)}.admin-login-card>p{color:var(--color-text-muted);margin:.25rem 0 1.5rem;font-size:.9rem}.admin-login-hint{margin-top:1.25rem;font-size:.85rem;text-align:center}.admin-login-hint a{color:var(--color-accent)}.inquiry-detail dt{font-weight:600;font-size:.85rem;color:var(--color-text-muted);margin-top:.75rem}@media(max-width:768px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{display:none}.inquiry-form-row{grid-template-columns:1fr}}
