/* Main page only. Copy, prices, URLs and regional page styles are preserved. */
.home-page { --home-blue:#1a4fa0; --home-navy:#123669; background:#f5f7fb; color:#20334e; }
.home-page .site-header { padding:62px 32px 82px; text-align:left; background:radial-gradient(ellipse at 80% 30%,#326ab5 0%,transparent 50%),linear-gradient(115deg,#102e5b,#1a4fa0); }
.home-page .site-header::before { background-size:64px 64px; opacity:.65; }
.home-hero-layout { position:relative; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr); align-items:center; gap:72px; max-width:1072px; margin:auto; }
.home-hero-copy { min-width:0; }
.home-hero-copy::before { content:''; display:block; width:48px; height:4px; margin-bottom:28px; border-radius:4px; background:#a9ceff; }
.home-page .site-header h1 { max-width:620px; margin:0 0 20px; font-size:clamp(2rem,3.8vw,3.25rem); line-height:1.32; font-weight:800; letter-spacing:-.055em; text-wrap:balance; }
.home-page .site-header p { max-width:none; margin:0; font-size:1rem; font-weight:400; color:#d9e8fc; opacity:1; line-height:1.95; }
.home-hero-visual { position:relative; justify-self:end; width:100%; max-width:280px; padding:10px; border:1px solid #ffffff55; border-radius:30px; background:#ffffff14; box-shadow:0 24px 60px #061e483d; transform:rotate(3deg); }
.home-hero-visual::before { content:''; position:absolute; inset:-20px; z-index:-1; border:1px solid #ffffff14; border-radius:44px; }
.home-hero-visual img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:22px; }
.home-page .wrap { position:relative; max-width:1120px; padding:0 24px 88px; }
.home-page .wrap > .intro-box:first-child { position:relative; margin-top:-28px; padding:27px 32px; border:1px solid #e0e8f3; border-left:4px solid var(--home-blue); border-radius:18px; background:#fff; box-shadow:0 12px 36px #152e550c; font-size:.94rem; line-height:1.95; }
.home-page .banner-wrap { margin:32px 0; border:0; border-radius:18px; box-shadow:0 10px 28px #1934530d; }
.home-page .seo-q-box { position:relative; padding:28px 32px; margin-bottom:20px; border:1px solid #dae5f5; border-radius:18px; background:#edf3fc; }
.home-page .seo-q-box h2 { font-size:1.17rem; font-weight:800; color:#163c71; line-height:1.6; margin-bottom:10px; }
.home-page .seo-q-box p { font-size:.92rem; color:#526580; line-height:1.95; }
.home-page .seo-q-box[style] { border-color:#f0e2c6; }
.home-page .seo-q-box a { display:inline-block; padding:5px 0; text-decoration:none; text-underline-offset:5px; }
.home-page .seo-q-box a:hover { text-decoration:underline; }
.home-page .section-title { position:relative; margin:64px 0 26px; padding:0 0 18px; border-bottom:1px solid #dce4ef; font-size:1.55rem; font-weight:800; letter-spacing:-.04em; color:#172f50; }
.home-page .section-title::after { content:''; position:absolute; bottom:-1px; left:0; width:48px; height:3px; background:var(--home-blue); border-radius:3px; }
.home-page .price-section { margin-top:40px; padding:38px 28px 26px; border:1px solid #e0e7f1; border-radius:22px; background:#fff; box-shadow:0 8px 30px #19345306; }
.home-page .price-section__title { font-size:1.65rem; font-weight:800; color:#172f50; }
.home-page .price-section__sub { margin:10px 0 30px; font-size:.94rem; }
.home-page .price-table-wrap { border-radius:16px; border-color:#e2e9f3; }
.home-page .price-table thead tr { background:#eaf0fa; color:#234775; }
.home-page .price-table thead th { padding:18px 14px; font-size:.81rem; letter-spacing:.02em; }
.home-page .price-table tbody td { padding:24px 14px; }
.home-page .price-table tbody tr { border-color:#edf0f6; transition:background .18s; }
.home-page .price-table tbody tr:hover { background:#f8faff; }
.home-page .pt-img { background:#f3f6fb; border:1px solid #edf1f7; }
.home-page .price-table td.pt-price { font-size:1.04rem; }
.home-page .process-section { position:relative; margin-top:32px; padding:38px 30px 30px; border:1px solid #234f8c; border-radius:22px; background:linear-gradient(120deg,#153968,#1a4fa0); overflow:hidden; }
.home-page .process-section__title { font-size:1.6rem; }
.home-page .process-steps { position:relative; gap:8px; }
.home-page .process-step { padding:22px 12px; border-radius:14px; border-color:#ffffff26; background:#ffffff08; }
.home-page .step-num { width:38px; height:38px; line-height:38px; border-radius:12px; background:#ffffff1a; color:#fff; font-weight:800; }
.home-page .step-title { font-size:.96rem; }
.home-page .step-desc { font-size:.8rem; line-height:1.85; color:#dbe7f8; }
.home-page .card-grid { gap:22px; }
.home-page .card-grid .card { display:grid; grid-template-columns:120px minmax(0,1fr); gap:22px; margin:0; padding:24px; border:1px solid #e0e7f1; border-radius:20px; background:#fff; box-shadow:0 4px 18px #19345304; transition:transform .2s,border-color .2s,box-shadow .2s; }
.home-page .card-grid .card:hover { transform:translateY(-3px); border-color:#a9c3e5; box-shadow:0 14px 34px #183c7010; }
.home-page .card-grid .card-thumb { width:120px; min-width:0; height:144px; border-radius:14px; background:#edf2f9; }
.home-page .card-grid .card-thumb img { height:100%; border-radius:14px; }
.home-page .card-name { font-size:1.17rem; line-height:1.5; margin-bottom:10px; letter-spacing:-.04em; }
.home-page .card-badge { font-size:.66rem; font-weight:600; padding:3px 9px; margin-bottom:12px; background:#edf3fc; color:#38649c; }
.home-page .card-info { font-size:.8rem; line-height:1.9; color:#536781; }
.home-page .card-info span { display:block; color:#8a98ab; font-size:.73rem; margin-bottom:3px; }
.home-page .card-grid .card-links { gap:8px; padding-top:18px; }
.home-page .map-btn { min-height:40px; padding:9px 10px; border-radius:8px; font-size:.76rem; font-weight:700; text-decoration:none; }
.home-page .map-btn.naver { background:#edf8f2; color:#137744; border:1px solid #d8ecdf; }
.home-page .map-btn.google { background:#f2f5fa; color:#4a6381; border:1px solid #e4eaf3; }
.home-page .map-btn.consult { background:#e9f0fc; color:#1a4fa0; border:1px solid #d9e5f8; }
.home-page .map-btn.phone { background:#1a4fa0; color:#fff; border:1px solid #1a4fa0; box-shadow:0 4px 8px #1a4fa00d; }
.home-page .map-btn:hover { filter:brightness(.97); }
.home-page .list a { min-height:78px; padding:22px 26px; border-radius:16px; border-color:#dce6f4; box-shadow:none; font-size:.94rem; color:#234b80; text-decoration:none; }
.home-page .faq-wrap { margin-top:56px; }
.home-page .faq-item { border-color:#e1e7f0; border-radius:14px; margin-bottom:10px; }
.home-page .faq-q { padding:22px 26px; font-size:.96rem; font-weight:700; }
.home-page .faq-q::after { display:flex; align-items:center; justify-content:center; width:30px; height:30px; flex:0 0 30px; border-radius:50%; background:#f0f4fb; font-size:1.2rem; }
.home-page .faq-item.open .faq-q { background:#edf3fc; }
.home-page .faq-a { padding:26px; font-size:.93rem; line-height:2; }
.home-page .pagination { margin-top:40px; gap:8px; }
.home-page .pagination a { min-width:42px; border-color:#dce5f2; font-size:.8rem; }
.home-page .site-footer { padding:36px 24px; border-top:1px solid #203d62; background:#122b4b; color:#a9bbd2; font-size:.77rem; }
@media (max-width:1000px) {
  .home-hero-layout { gap:40px; }
  .home-page .card-grid .card { grid-template-columns:96px minmax(0,1fr); gap:16px; padding:20px; }
  .home-page .card-grid .card-thumb { width:96px; height:128px; }
}
@media (min-width:601px) and (max-width:850px) {
  .home-page .card-grid .card { grid-template-columns:minmax(0,1fr); }
  .home-page .card-grid .card-thumb { width:100%; height:180px; }
}
@media (max-width:700px) {
  .home-page .site-header { padding:40px 24px 60px; }
  .home-hero-layout { grid-template-columns:minmax(0,1fr) 160px; gap:24px; }
  .home-page .site-header h1 { font-size:1.95rem; }
  .home-page .site-header p { font-size:.86rem; line-height:1.85; }
  .home-hero-copy::before { margin-bottom:20px; }
  .home-hero-visual { padding:7px; border-radius:22px; }
  .home-hero-visual img { border-radius:16px; }
  .home-hero-visual::before { inset:-10px; border-radius:30px; }
}
@media (max-width:600px) {
  .home-page .site-header { padding:36px 24px 58px; }
  .home-hero-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
  .home-page .site-header h1 { max-width:360px; font-size:2.1rem; }
  .home-hero-visual { width:150px; justify-self:end; margin-top:-8px; }
  .home-page .wrap { padding:0 16px 60px; }
  .home-page .wrap > .intro-box:first-child { padding:23px 22px; font-size:.85rem; border-radius:16px; }
  .home-page .banner-wrap { margin:26px 0; border-radius:12px; }
  .home-page .seo-q-box { padding:23px 22px; }
  .home-page .seo-q-box h2 { font-size:1.05rem; }
  .home-page .seo-q-box p { font-size:.86rem; }
  .home-page .section-title { font-size:1.28rem; margin:42px 0 22px; }
  .home-page .price-section { padding:27px 16px 22px; border-radius:18px; }
  .home-page .price-section__title,.home-page .process-section__title { font-size:1.28rem; }
  .home-page .price-section__sub { font-size:.85rem; margin-bottom:22px; }
  .home-page .process-section { padding:28px 18px 22px; border-radius:18px; }
  .home-page .card-grid { gap:14px; }
  .home-page .card-grid .card { padding:20px 18px; border-radius:16px; }
  .home-page .card-name { font-size:1.08rem; }
  .home-page .card-badge { font-size:.6rem; padding:3px 7px; }
  .home-page .card-info { font-size:.77rem; }
  .home-page .map-btn { padding:9px 6px; font-size:.72rem; }
  .home-page .faq-q { padding:19px 20px; font-size:.91rem; gap:12px; }
  .home-page .faq-a { padding:20px; font-size:.87rem; }
}
@media (max-width:360px) {
  .home-page .card-grid .card { grid-template-columns:minmax(0,1fr); }
  .home-page .card-grid .card-thumb { width:100%; height:160px; }
}
@media (prefers-reduced-motion:reduce) { .home-page .card-grid .card { transition:none; } }
