:root { --contact-max:1180px; }
.contact-page { background:#020910; }
.contact-shell { background-image:none; }
.contact-container { width:min(var(--contact-max), calc(100% - 48px)); margin:0 auto; }
.contact-header { max-width:var(--contact-max); padding-left:0; padding-right:0; grid-template-columns:auto 1fr auto auto; }
.contact-nav { gap:34px; }
.contact-nav .is-active { color:#28ccff; position:relative; }
.contact-nav .is-active::after { content:""; position:absolute; left:0; right:0; bottom:-17px; height:3px; background:#18c7ff; box-shadow:0 0 12px rgba(24,199,255,.35); }
.contact-header .header-cta.is-current { background:rgba(25,174,255,.08); }
.contact-menu-toggle { display:none; }

.contact-main { min-height:calc(100vh - 88px); background:radial-gradient(circle at 76% 32%,rgba(0,151,255,.08),transparent 30%),linear-gradient(135deg,#06131d 0%,#030b12 58%,#020810 100%); }
.contact-section { border-top:1px solid rgba(42,193,255,.16); border-bottom:1px solid rgba(42,193,255,.2); }
.contact-layout { min-height:760px; display:grid; grid-template-columns:minmax(0,.9fr) minmax(430px,.78fr); gap:76px; align-items:center; padding-top:68px; padding-bottom:72px; }
.contact-copy { align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding:22px 0; }
.contact-kicker { margin:0 0 20px; color:#23cfff; font-size:.92rem; font-weight:700; letter-spacing:.42em; }
.contact-copy h1 { margin:0; font-family:"Noto Sans KR",sans-serif; font-size:clamp(2.2rem,3.5vw,3.25rem); line-height:1.2; letter-spacing:-.045em; font-weight:700; }
.contact-copy h1 span { display:block; white-space:nowrap; }
.contact-lead { margin:32px 0 0; color:rgba(232,243,250,.8); font-size:1.28rem; line-height:1.7; font-weight:500; letter-spacing:-.025em; }
.contact-info-list { margin-top:48px; display:grid; gap:26px; }
.contact-info { display:grid; grid-template-columns:64px 1fr; gap:22px; align-items:center; color:inherit; }
.contact-info-icon { width:58px; height:58px; display:grid; place-items:center; color:#23bfff; filter:drop-shadow(0 0 8px rgba(24,183,255,.14)); }
.contact-info-icon svg { width:100%; height:100%; }
.contact-info > span:last-child { min-width:0; display:flex; flex-direction:column; gap:5px; }
.contact-info strong { font-size:1.04rem; font-weight:700; }
.contact-info em { color:rgba(228,240,247,.83); font-style:normal; font-size:1.02rem; line-height:1.45; word-break:keep-all; }
a.contact-info:hover em { color:#54d7ff; }
.contact-slogan { margin:auto 0 0; padding:26px 0 0 34px; border-left:2px solid rgba(71,196,255,.32); color:rgba(92,193,244,.62); font-size:.84rem; line-height:1.8; letter-spacing:.26em; font-weight:700; }

.contact-form { width:100%; padding:34px 32px 30px; background:rgba(2,10,17,.64); border:1px solid rgba(76,151,190,.3); box-shadow:0 22px 70px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.015); }
.field-group { margin-bottom:24px; }
.field-group label { display:block; margin-bottom:10px; color:#f5fbff; font-size:1rem; font-weight:600; }
.field-group label span { color:#5bd9ff; }
.field-group input,.field-group select,.field-group textarea { width:100%; border:1px solid rgba(76,151,190,.35); border-radius:3px; background:#0a1823; color:#f7fbff; font:inherit; font-size:1rem; outline:none; transition:border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.field-group input,.field-group select { height:58px; padding:0 18px; }
.field-group textarea { min-height:176px; resize:vertical; padding:16px 18px; line-height:1.65; }
.field-group input:focus,.field-group select:focus,.field-group textarea:focus { border-color:#20c9ff; background:#0b1c29; box-shadow:0 0 0 3px rgba(31,197,255,.08); }
.field-group textarea::placeholder { color:rgba(218,235,244,.45); }
.select-wrap { position:relative; }
.select-wrap::after { content:"⌄"; position:absolute; right:18px; top:50%; transform:translateY(-55%); color:#d7effa; pointer-events:none; font-size:1.3rem; }
.field-group select { appearance:none; padding-right:48px; cursor:pointer; }
.contact-form-note { margin:-4px 0 18px; color:rgba(191,216,229,.58); font-size:.78rem; line-height:1.55; }
.contact-submit { width:100%; min-height:66px; border:1px solid #23bfff; border-radius:4px; background:linear-gradient(90deg,#156dff,#0d8fff); color:#fff; font:inherit; font-size:1.12rem; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:18px; box-shadow:0 8px 28px rgba(18,113,255,.18); transition:transform .18s ease,filter .18s ease,box-shadow .18s ease; }
.contact-submit:hover { transform:translateY(-2px); filter:brightness(1.05); box-shadow:0 13px 32px rgba(18,113,255,.24); }

.contact-footer { background:#030b12; }
.contact-footer-inner { min-height:140px; display:grid; grid-template-columns:250px 1fr auto; grid-template-rows:auto auto; align-items:center; gap:10px 34px; padding:18px 0 16px; }
.contact-footer .footer-logo { width:220px; }
.contact-footer-nav { justify-self:center; gap:44px; }
.contact-footer-nav a { font-size:.78rem; font-weight:600; }
.contact-footer-nav .is-active { color:#24cfff; }
.contact-social { justify-self:end; }
.contact-copyright { grid-column:1/3; color:rgba(211,229,239,.72); font-size:.6rem; }
.contact-footer-slogan { grid-column:3; margin:0; text-align:right; color:rgba(229,242,248,.8); font-size:.61rem; }

@media (max-width:1050px){
  .contact-header { width:calc(100% - 40px); }
  .contact-nav { gap:20px; }
  .contact-layout { grid-template-columns:.84fr 1fr; gap:42px; }
  .contact-copy h1 { font-size:clamp(2.15rem,4.25vw,2.95rem); }
  .contact-info em { font-size:.93rem; }
}
@media (max-width:900px){
  .contact-container { width:min(100% - 36px,var(--contact-max)); }
  .contact-header { width:auto; padding:0 20px; grid-template-columns:auto 1fr auto; }
  .contact-nav { display:none; }
  .contact-nav.open { display:flex; }
  .contact-menu-toggle { display:block; }
  .contact-layout { min-height:auto; grid-template-columns:1fr; gap:42px; padding-top:52px; padding-bottom:58px; }
  .contact-copy { padding:0; }
  .contact-copy h1 { font-size:clamp(2.2rem,6.8vw,3.15rem); }
  .contact-lead { font-size:1.15rem; }
  .contact-info-list { margin-top:38px; grid-template-columns:repeat(3,1fr); gap:18px; }
  .contact-info { grid-template-columns:1fr; align-items:start; gap:10px; padding:22px 18px; border:1px solid rgba(50,160,214,.18); background:rgba(5,16,26,.34); }
  .contact-info-icon { width:48px; height:48px; }
  .contact-slogan { margin-top:34px; }
  .contact-form { padding:30px 26px; }
  .contact-footer-inner { grid-template-columns:1fr auto; grid-template-rows:auto auto auto; }
  .contact-footer-nav { grid-column:1/-1; justify-self:start; gap:24px; }
  .contact-copyright { grid-column:1; }
  .contact-footer-slogan { grid-column:2; }
}
@media (max-width:620px){
  .contact-container { width:calc(100% - 32px); }
  .contact-header .brand-logo { width:160px; }
  .contact-layout { padding-top:36px; gap:32px; }
  .contact-kicker { font-size:.78rem; letter-spacing:.34em; }
  .contact-copy h1 { font-size:clamp(2rem,9vw,2.45rem); line-height:1.22; letter-spacing:-.04em; }
  .contact-lead { margin-top:24px; font-size:1rem; }
  .contact-info-list { grid-template-columns:1fr; margin-top:30px; gap:12px; }
  .contact-info { grid-template-columns:48px 1fr; padding:16px; align-items:center; }
  .contact-info-icon { width:42px; height:42px; }
  .contact-info strong { font-size:.92rem; }
  .contact-info em { font-size:.88rem; }
  .contact-slogan { display:none; }
  .contact-form { padding:24px 18px; }
  .field-group { margin-bottom:20px; }
  .field-group input,.field-group select { height:54px; }
  .contact-submit { min-height:60px; font-size:1rem; }
  .contact-footer-inner { grid-template-columns:1fr; gap:16px; }
  .contact-footer .footer-logo { width:200px; }
  .contact-footer-nav { flex-wrap:wrap; gap:14px 22px; }
  .contact-social { justify-self:start; }
  .contact-copyright,.contact-footer-slogan { grid-column:1; text-align:left; }
}
