/*! Aeronest Theme Refresh */
:root{
  --bg:#0b1220; --panel:#0f172a; --card:#0f172a; --text:#e8eefc; --muted:#9fb0d3;
  --brand:#5aa2ff; --brand-2:#7ce3ff; --ring:rgba(124,227,255,.25);
  --bd:#22304f; --shadow:0 20px 50px rgba(3,10,25,.35);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:radial-gradient(1200px 600px at 10% -10%, #14213a, transparent), radial-gradient(900px 500px at 90% -20%, #0e2b4f, transparent), var(--bg); color:var(--text)}
a{color:var(--brand);text-decoration:none} a:hover{color:var(--brand-2)}
.container{max-width:1200px;margin:0 auto;padding:0 18px}
.main{padding:28px 0 64px}
.site-header{position:sticky;top:0;z-index:40;background:rgba(11,18,32,.6);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06)}
.site-header .container{display:flex;align-items:center;gap:18px;height:68px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:#fff}
.brand img{height:30px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.nav{margin-left:auto;display:flex;gap:18px}
.nav a{padding:10px 8px;border-radius:10px;color:#dfe7ff}
.nav a.active{color:#fff;box-shadow:inset 0 -2px 0 var(--brand)}
.menu-toggle{display:none;margin-left:auto;width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff}
.drawer{position:fixed;inset:0 0 0 auto;width:300px;background:rgba(12,18,34,.96);backdrop-filter:blur(8px);border-left:1px solid rgba(255,255,255,.08);transform:translateX(100%);transition:.2s;padding:18px;display:flex;flex-direction:column;gap:12px}
.drawer a{color:#dfe7ff;padding:10px;border-radius:10px}
.drawer.open{transform:none}
.overlay{position:fixed;inset:0;background:rgba(10,14,24,.5);opacity:0;pointer-events:none;transition:.2s}
.overlay.show{opacity:1;pointer-events:auto}
@media(max-width:900px){ .nav{display:none} .menu-toggle{display:inline-flex;align-items:center;justify-content:center} }
.hero{margin-top:6px}
.hero .banner{min-height:320px;border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden;box-shadow:var(--shadow);background:#0b1220 center/cover no-repeat}
.hero .pad{padding:64px 28px;background:linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.55) 90%);min-height:320px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}
.hero h1{margin:0 0 8px;font-size:40px;letter-spacing:.2px}
.hero p{margin:0;color:#b6c6e9}
.grid{display:grid;gap:18px}
.cols-2{grid-template-columns:1fr} @media(min-width:980px){.cols-2{grid-template-columns:1fr 1fr}}
.card{background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08);border-radius:20px;box-shadow:var(--shadow);padding:18px}
h1,h2{color:#fff} .muted{color:var(--muted)}
input[type=text],input[type=email],input[type=tel],input[type=file],textarea,select{
  width:100%;background:rgba(255,255,255,.04);color:#fff;border:1px solid rgba(255,255,255,.12);
  border-radius:14px;padding:12px 14px;transition:.15s
}
textarea{min-height:140px;resize:vertical}
input::placeholder,textarea::placeholder{color:#9fb0d3}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--ring)}
.btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(180deg, #5aa2ff, #3b7ff2);border:1px solid #3b7ff2;color:#fff;
  padding:12px 16px;border-radius:14px;font-weight:800;letter-spacing:.2px;cursor:pointer;box-shadow:0 10px 24px rgba(58,127,242,.35)}
.btn:hover{filter:brightness(1.03)}
.notice{background:rgba(26,99,255,.12);border:1px solid rgba(124,227,255,.35);color:#bde2ff;border-radius:14px;padding:12px}
.footer{margin-top:36px;border-top:1px solid rgba(255,255,255,.08);padding:20px 0;color:#b6c6e9}
.social-widget{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:12px;z-index:50}
.social-widget a{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:10px 14px;color:#fff;backdrop-filter:blur(8px)}
.social-widget a .dot{width:10px;height:10px;border-radius:50%}
.no-hero .hero{display:none}
/* ===========================
   HERO & SECTION BOUNDARIES — Make edges match enlarged hero (1920x1080)
   Paste into assets/css/style.css (bottom)
   - Controls: --site-max-width, --card-radius, --hero-radius, --hero-padding
   =========================== */

:root{
  --site-max-width: 1920px;   /* 전체 컨테이너 최대 너비 */
  --hero-height: 1080px;      /* hero 높이 (이미지 높이) */
  --hero-radius: 20px;        /* 히어로 둥근 모서리 */
  --card-radius: 20px;        /* 카드/섹션 둥근 모서리 (히어로와 일치) */
  --hero-padding-top: 120px;  /* 히어로 내부 타이틀 여백(상단) */
  --hero-overlay-alpha: 0.20; /* 히어로 어두움 정도(0~1) */
}

/* Container 넓히기 (중앙 정렬 유지) */
.container {
  max-width: var(--site-max-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 1) 히어로 영역: 크기/모서리/이미지 cover/내부패딩 강제 */
@media (min-width: 1200px) {
  .hero, .banner, .hero-banner, .site-hero {
    height: var(--hero-height) !important;
    min-height: var(--hero-height) !important;
    overflow: hidden !important;
    position: relative !important;
    border-radius: var(--hero-radius) !important;
    margin-left: calc( (100% - var(--site-max-width)) / 2 ) !important; /* center when container limited */
    margin-right: calc( (100% - var(--site-max-width)) / 2 ) !important;
    box-shadow: 0 12px 36px rgba(2,6,23,0.25) !important;
  }

  /* 배경 이미지/inline image 강제 채움 */
  .hero .banner, .hero .banner > div, .banner {
    height: var(--hero-height) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }
  .hero img, .banner img, .hero picture img {
    width: 100% !important;
    height: var(--hero-height) !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
  }

  /* 내부 타이틀 위치 보정 (필요시 값 조절) */
  .hero .pad.container, .banner .pad.container {
    position: relative;
    z-index: 2;
    padding-top: var(--hero-padding-top) !important;
  }

  /* 히어로 위 어두운 오버레이 — 필요하면 alpha 값 조정 */
  .hero::before, .banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,var(--hero-overlay-alpha)) !important;
    z-index: 1;
    pointer-events: none;
    border-radius: var(--hero-radius) !important;
  }

  /* ensure inner content sits above overlay */
  .hero .pad.container > * { position: relative; z-index: 3; color: #fff; }

  /* 2) 아래 섹션(카드들)의 경계도 동일하게 확대 적용 */
  .card {
    border-radius: var(--card-radius) !important;
    box-shadow: 0 8px 28px rgba(5,10,20,0.12) !important;
    border: 1px solid rgba(10,20,30,0.06) !important;
  }

  /* 카드 안쪽 여백 조정 (필요시 값 변경) */
  .card { padding: 28px !important; }

  /* 카드들이 가로로 붙어있는 그리드에서 좌우 여백 맞추기 */
  .grid.cols-2 > .card:first-child { margin-right: 12px; }
  .grid.cols-2 > .card:last-child { margin-left: 12px; }

  /* 만약 특정 섹션(예: contact hero)만 별도 조정하고 싶다면 아래처럼 선택자 추가:
     .page-contact .hero { border-radius: 28px; } */
}

/* 3) 모바일: 둥근모서리 유지하되 높이는 자동으로 */
@media (max-width: 1199px) {
  .hero, .banner, .hero-banner { height: auto !important; min-height: 360px !important; border-radius: 16px !important; margin-left: 12px !important; margin-right: 12px !important; }
  .card { border-radius: 14px !important; padding: 18px !important; }
}
