/* =========================================================
   효성CMS+ 랜딩페이지 퍼블리싱
   ========================================================= */

:root{
  --hscms-blue: #2E5AF7;
  --hscms-blue-dark: #1A46E0;
  --hscms-blue-badge-bg: #EEF4FE;
  --hscms-navy: #24272E;
  --hscms-navy-2: #34363C;
  --hscms-text: #1A1A1A;
  --hscms-text-sub: #6B7280;
  --hscms-text-mute: #9CA3AF;
  --hscms-border: #E7E9EE;
  --hscms-bg-soft: #F7F9FC;
  --hscms-white: #FFFFFF;
  --hscms-radius: 16px;
  --hscms-radius-sm: 10px;
  --hscms-shadow: 0 4px 24px rgba(20,30,60,.06);
  --hscms-shadow-md: 0 8px 30px rgba(20,30,60,.10);
  --hscms-container: 1360px;
  --hscms-side-w: 350px;
  --hscms-gap: 24px;
  --hscms-header-h: 90px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; background:var(--hscms-white);}
body{
  margin:0;
  font-family:"Noto Sans KR", "Malgun Gothic", sans-serif;
  color:var(--hscms-text);
  background:var(--hscms-white);
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; cursor:pointer; background:none; border:none; }
img{ max-width:100%; display:block; }
input,select{ font-family:inherit; }

.hscms-arrow{ display:inline-block; transition:transform .2s; }

/* ---------- Buttons ---------- */
.hscms-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  height:44px;
  padding:0 20px;
  border-radius:8px;
  font-size:14px;
  font-weight:700;
  white-space:nowrap;
  transition:background .18s, color .18s, transform .12s;
}
.hscms-btn--primary{ background:var(--hscms-blue); color:#fff; }
.hscms-btn--primary:hover{ background:var(--hscms-blue-dark); }
.hscms-btn--dark{ background:#24a0f6; color:#fff; }
.hscms-btn--dark:hover{ background:#111; }
.hscms-btn--white{ background:#fff; color:var(--hscms-navy); }
.hscms-btn--white:hover{ background:#e9e9e9; }
.hscms-btn--lg{ height:56px; padding:0 26px; font-size:18px; border-radius:8px; }
.hscms-btn:hover .hscms-arrow{ transform:translateX(3px); }

/* ---------- Header ---------- */
.hscms-header{
  position:sticky; top:0; z-index:200;
  background:#fff;
  border-bottom:1px solid var(--hscms-border);
  height:var(--hscms-header-h);
}
.hscms-header__inner{
  max-width:1820px;
  margin:0 auto;
  height:100%;
  padding:0 40px;
  display:flex;
  align-items:center;
  gap:40px;
}
.hscms-header__logo{
  display:flex; align-items:center; gap:8px;
  font-size:22px; font-weight:900; color:var(--hscms-text);
  flex-shrink:0;
}
.hscms-header__logo strong{ color:var(--hscms-blue); }
.hscms-header__logo-badge{
  font-size:10px; font-weight:700; line-height:1.25;
  color:var(--hscms-text-sub);
  border-left:1px solid var(--hscms-border);
  padding-left:8px;
}
.hscms-gnb{ flex:1; align-self:stretch; }
.hscms-gnb__list{ display:flex; gap:90px; height:100%; justify-content: center;}
.hscms-gnb__item{ position:relative; display:flex; align-items:center; }
.hscms-gnb__link{
  position:relative;
  display:flex; align-items:center; height:100%;
  font-size:16px; font-weight:500; color:#222;
  transition:color .15s;
}
/* 활성 메뉴 하단 파란 라인 */
.hscms-gnb__link::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px;
  height:2px; background:var(--hscms-blue);
  transform:scaleX(0); transition:transform .2s;
}
.hscms-gnb__item:hover .hscms-gnb__link,
.hscms-gnb__item:focus-within .hscms-gnb__link{ color:var(--hscms-blue); }
.hscms-gnb__item:hover .hscms-gnb__link::after,
.hscms-gnb__item:focus-within .hscms-gnb__link::after{ transform:scaleX(1); }

/* 서브메뉴 (hover 드롭다운) */
.hscms-gnb__sub{
  position:absolute; top:100%; left:50%;
  min-width:160px; padding:10px 0;
  background:#fff;
  border:1px solid var(--hscms-border);
  border-radius:0 0 var(--hscms-radius-sm) var(--hscms-radius-sm);
  box-shadow:var(--hscms-shadow-md);
  opacity:0; visibility:hidden;
  transform:translate(-50%, 6px);
  transition:opacity .2s, transform .2s, visibility .2s;
  z-index:210;
}
.hscms-gnb__item:hover .hscms-gnb__sub,
.hscms-gnb__item:focus-within .hscms-gnb__sub{
  opacity:1; visibility:visible;
  transform:translate(-50%, 0);
}
.hscms-gnb__sub a{
  display:block; padding:9px 20px;
  font-size:14px; font-weight:500; color:#444;
  white-space:nowrap; text-align:center;
  transition:color .15s, background .15s;
}
.hscms-gnb__sub a:hover{ color:var(--hscms-blue); background:var(--hscms-bg-soft); }
.hscms-header__utils{ display:flex; align-items:center; gap:10px; flex-shrink:0; margin-left:auto; }
.hscms-header__apply, .hscms-header__tel{ height:40px; padding:0 18px; font-size:13px; }
.hscms-icon-btn{
  width:36px; height:36px; display:flex; align-items:center; justify-content:center;
  border-radius:50%;
}
.hscms-icon-btn:hover{ background:var(--hscms-bg-soft); }

/* Mobile off canvas nav */
.hscms-mobile-nav{
  position:fixed; top:0; right:0; height:100%; width:280px;
  background:#fff; z-index:400; padding:20px;
  transform:translateX(100%); transition:transform .3s ease, visibility .3s;
  box-shadow:-8px 0 24px rgba(0,0,0,.08);
  visibility:hidden; overflow-y:auto;
}
.hscms-mobile-nav.is-open{ transform:translateX(0); visibility:visible; }
.hscms-mobile-nav__head{ display:flex; justify-content:space-between; align-items:center; font-weight:700; margin-bottom:20px; }
.hscms-mobile-nav__link{
  display:flex; justify-content:space-between; align-items:center;
  width:100%; padding:14px 4px; text-align:left;
  font-size:16px; font-weight:500; color:var(--hscms-text);
  border-bottom:1px solid var(--hscms-border);
}
.hscms-mobile-nav__link::after{
  content:""; width:7px; height:7px; margin-right:4px;
  border-right:1.6px solid #888; border-bottom:1.6px solid #888;
  transform:rotate(45deg) translateY(-2px); transition:transform .2s;
}
.hscms-mobile-nav__item.is-open .hscms-mobile-nav__link{ color:var(--hscms-blue); }
.hscms-mobile-nav__item.is-open .hscms-mobile-nav__link::after{ transform:rotate(-135deg) translateY(-2px); }
.hscms-mobile-nav__sub{
  max-height:0; overflow:hidden; background:var(--hscms-bg-soft);
  transition:max-height .3s ease;
}
.hscms-mobile-nav__sub a{ display:block; padding:11px 16px; font-size:14px; color:#555; }
.hscms-mobile-nav__sub a:hover{ color:var(--hscms-blue); }
.hscms-mobile-nav__cta{ width:100%; margin-top:20px; }
.hscms-dim{
  position:fixed; inset:0; background:rgba(10,12,20,.45); z-index:390;
  opacity:0; visibility:hidden; transition:opacity .25s;
}
.hscms-dim.is-open{ opacity:1; visibility:visible; }

/* ---------- Layout: main + sticky sidebar ---------- */
.hscms-layout{
  max-width:1820px;
  margin:0 auto;
  padding:0 40px;
  display:flex;
  align-items:stretch;
  gap:45px;
}
.hscms-layout__main{ flex:1; min-width:0; padding-top:24px; padding-right: 40px; border-right:1px solid #e7e9ee}
.hscms-layout__side{ width:var(--hscms-side-w); flex-shrink:0; padding-top:24px; align-self:stretch; }
.hscms-side{ position:sticky; top:calc(var(--hscms-header-h) + 24px); }

/* ---------- Generic slider engine ---------- */
.hscms-slider{ position:relative; }
.hscms-slider__viewport{ overflow:hidden; }
.hscms-slider__track{ display:flex; will-change:transform; }
.hscms-slider__item{ flex-shrink:0; }
.hscms-slider__dots{
  display:flex; align-items:center; justify-content:center; gap:8px;
  margin-top:28px;
}
.hscms-slider__dots button{
  width:8px; height:8px; border-radius:50%; background:#D8DEEA;
  transition:all .2s;
  padding:0;
}
.hscms-slider__dots button.is-active{ background:var(--hscms-blue); width:22px; border-radius:5px; }
.hscms-slider__arrow{
  position:absolute; top:38%; transform:translateY(-50%);
  width:32px; height:32px; border-radius:50%;
  background:#fff; border:1px solid var(--hscms-border);
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--hscms-shadow); z-index:5;
}
.hscms-slider__arrow--prev{ left:-16px; }
.hscms-slider__arrow--next{ right:-16px; }

/* ---------- Hero (fade in/out) ---------- */
.hscms-hero{ margin-bottom:56px; }
.hscms-hero__slider .hscms-slider__viewport{
  border-radius:var(--hscms-radius); overflow:hidden;
  position:relative;
}
.hscms-hero__slider .hscms-slider__track{
  display:block; position:relative;
  width:100% !important;
  min-height:655px;
}
.hscms-hero__slide{
  width:100% !important; flex-shrink:0;
  min-height:655px;
  display:flex; align-items:center;
  padding:0 64px;
  position:absolute; inset:0;
  background:#2b2e33 no-repeat center center;
  background-size:cover;
  opacity:0;
  visibility:hidden;
  transition:opacity .7s ease, visibility 0s linear .7s;
  z-index:1;
}
.hscms-hero__slide--1{ background-image:url("../images/hsmain01.png"); }
.hscms-hero__slide--2{ background-image:url("https://www.ucms.co.kr/theme/basic/genres/img/main/main_bg.jpg"); }
.hscms-hero__slide--3{ background-image:url("https://www.ucms.co.kr/theme/basic/genres/img/main/main_bg03.jpg"); }
.hscms-hero__slide.is-active{
  opacity:1;
  visibility:visible;
  transition:opacity .7s ease, visibility 0s linear 0s;
  z-index:2;
}
.hscms-hero__slide::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(10,12,16,.72) 0%, rgba(10,12,16,.4) 45%, rgba(10,12,16,.05) 75%);
}
.hscms-hero__slide--2::after{ background:linear-gradient(90deg, rgba(12,20,50,.72) 0%, rgba(12,20,50,.4) 45%, rgba(12,20,50,.05) 75%); }
.hscms-hero__slide--3::after{ background:linear-gradient(90deg, rgba(45,28,12,.72) 0%, rgba(45,28,12,.4) 45%, rgba(45,28,12,.05) 75%); }
.hscms-hero__content{ position:relative; z-index:2; max-width:780px; }
.hscms-hero__eyebrow{ color:#fff; font-size:70px; font-weight:800; margin:0px; opacity:0; transform:translateY(28px); }
.hscms-hero__title{ color:#fff; font-size:70px; font-weight:900; line-height:1.0; margin:0 0 20px; opacity:0; transform:translateY(28px); }
.hscms-hero__desc{ color:#E7E9EE; font-size:20px; line-height:1.7; margin:0 0 28px; opacity:0; transform:translateY(28px); }
.hscms-hero__cta{ opacity:0; transform:translateY(28px); }

@keyframes hscmsFadeUp{
  from{ opacity:0; transform:translateY(28px); }
  to{ opacity:1; transform:translateY(0); }
}
.hscms-hero__slide.is-active .hscms-hero__eyebrow{ animation:hscmsFadeUp .6s cubic-bezier(.22,.68,.36,1) .35s forwards; }
.hscms-hero__slide.is-active .hscms-hero__title{ animation:hscmsFadeUp .6s cubic-bezier(.22,.68,.36,1) .47s forwards; }
.hscms-hero__slide.is-active .hscms-hero__desc{ animation:hscmsFadeUp .6s cubic-bezier(.22,.68,.36,1) .59s forwards; }
.hscms-hero__slide.is-active .hscms-hero__cta{ animation:hscmsFadeUp .6s cubic-bezier(.22,.68,.36,1) .71s forwards; }

@media (prefers-reduced-motion: reduce){
  .hscms-hero__slide{ transition:none; }
  .hscms-hero__eyebrow, .hscms-hero__title, .hscms-hero__desc, .hscms-hero__cta{
    animation:none !important; opacity:1 !important; transform:none !important;
  }
}
.hscms-hero__slider .hscms-slider__dots{ position:absolute; left:64px; bottom:22px; margin:0; z-index:3; justify-content:flex-start; }
.hscms-hero__slider .hscms-slider__dots button{ background:rgba(255,255,255,.4); }
.hscms-hero__slider .hscms-slider__dots button.is-active{ background:#325df6; }

/* ---------- Section shells ---------- */
.hscms-section{ margin-bottom:72px; }
.hscms-section__head{ margin-bottom:32px; }
.hscms-eyebrow{ color:var(--hscms-blue); font-weight:700; font-size:18px; margin:0 0 10px; letter-spacing:.02em; }
.hscms-section__title{ font-size:42px; font-weight:700; margin:0 0 10px; letter-spacing:-.01em; }
.hscms-section__sub{ color:var(--hscms-text-sub); font-size:15px; margin:0; }

/* ---------- Payment cards ---------- */
.hscms-cardslider .hscms-slider__item{ padding:0 12px; }

/* 카드 슬라이더 (시안 기준 카드폭 314px → --u 로 비율 유지) */
.hscms-payslider .hscms-slider__viewport{ margin:0 -9px; padding:4px 0 14px; }
.hscms-payslider .hscms-slider__item{
  padding:0 9px;
  container-type:inline-size;
  display:flex;
}
.hscms-payslider.is-single .hscms-slider__arrow,
.hscms-payslider.is-single .hscms-slider__dots{ display:none !important; }
.hscms-payslider .hscms-slider__dots{ margin-top:14px; }

.hscms-pcard{
  --u: min(calc(100cqi / 314), 1.15px);
  --pc-main:#1146C6;     /* 포인트 컬러 */
  --pc-bg:#EFF5FE;       /* 카드 배경 */
  --pc-line:#E3EBFA;     /* 카드 테두리 */
  --pc-dot:rgba(46,90,247,.10);
  position:relative; overflow:hidden; isolation:isolate;
  width:100%;
  display:flex; flex-direction:column;
  padding:calc(var(--u)*35) calc(var(--u)*25) calc(var(--u)*42);
  background:var(--pc-bg);
  border:1px solid var(--pc-line);
  border-radius:calc(var(--u)*16);
  box-shadow:0 6px 18px rgba(30,50,90,.06);
}
.hscms-pcard--beige{
  --pc-main:#8A5520;
  --pc-bg:#FBF8F4;
  --pc-line:#F1EAE0;
  --pc-dot:rgba(160,120,70,.12);
}
/* 배경 장식: 옅은 곡선 + 도트 패턴 */
.hscms-pcard::before{
  content:""; position:absolute; z-index:-1;
  right:-35%; top:28%; width:110%; aspect-ratio:1;
  border-radius:50%;
  background:repeating-radial-gradient(circle, transparent 0 calc(var(--u)*14), rgba(255,255,255,.75) calc(var(--u)*14) calc(var(--u)*15));
  opacity:.9;
}
.hscms-pcard::after{
  content:""; position:absolute; z-index:-1;
  right:calc(var(--u)*6); bottom:calc(var(--u)*150);
  width:calc(var(--u)*70); height:calc(var(--u)*90);
  background-image:radial-gradient(var(--pc-dot) 1px, transparent 1.4px);
  background-size:calc(var(--u)*7) calc(var(--u)*7);
  -webkit-mask-image:radial-gradient(closest-side, #000 40%, transparent);
          mask-image:radial-gradient(closest-side, #000 40%, transparent);
}

.hscms-pcard__badge{
  align-self:flex-start;
  padding:calc(var(--u)*8) calc(var(--u)*14);
  background:#fff;
  border-radius:calc(var(--u)*7);
  box-shadow:0 2px 8px rgba(30,50,90,.06);
  color:var(--pc-main);
  font-size:max(10.5px, calc(var(--u)*17)); font-weight:500; line-height:1.4;
  letter-spacing:-.02em;
}
.hscms-pcard__title{
  margin:calc(var(--u)*22) 0 calc(var(--u)*20);
  font-size:max(20px, calc(var(--u)*35)); font-weight:700; line-height:1.2;
  color:#0B0B0F; letter-spacing:-.03em;
}
.hscms-pcard__desc{
  margin:0; padding-right:calc(var(--u)*10);
  font-size:max(11px, calc(var(--u)*16)); line-height:1.75;
  color:#2B2F36; letter-spacing:-.02em;
  word-break:keep-all;
  min-height:calc(1.75em * 5); /* 5줄 기준 높이 고정 → 카드끼리 정보박스 위치 정렬 */
}
.hscms-pcard__bar{
  display:block; width:calc(var(--u)*44); height:2px;
  margin:calc(var(--u)*24) 0 calc(var(--u)*23) calc(var(--u)*1);
  background:#D5DAE1;
}
.hscms-pcard__info{
  margin:0 calc(var(--u)*-7);
  padding:calc(var(--u)*4) calc(var(--u)*12) calc(var(--u)*4) calc(var(--u)*20);
  background:#fff;
  border-radius:calc(var(--u)*11);
  box-shadow:0 4px 16px rgba(30,50,90,.06);
}
.hscms-pcard__info li{
  display:flex; align-items:center;
  min-height:calc(var(--u)*65);
  padding:calc(var(--u)*10) 0;
  font-size:max(10.5px, calc(var(--u)*14.5)); line-height:1.45;
  letter-spacing:-.03em;
}
.hscms-pcard__info li + li{ border-top:1px solid #EDEFF3; }
.hscms-pcard__ic{
  flex-shrink:0;
  width:calc(var(--u)*25); height:calc(var(--u)*25);
  margin-right:calc(var(--u)*14);
  color:var(--pc-main);
}
.hscms-pcard__ic svg{ width:100%; height:100%; display:block; }
.hscms-pcard__info b{
  flex-shrink:0; width:calc(var(--u)*74); white-space:nowrap;
  font-weight:500; color:var(--pc-main);
}
.hscms-pcard__val{ color:#23262C; word-break:keep-all; }

/* 2줄형 (부가서비스) : 제목 / 내용 세로 배치 */
.hscms-pcard__info--stack li{ display:grid; grid-template-columns:auto 1fr; column-gap:0; align-items:center; }
.hscms-pcard__info--stack .hscms-pcard__ic{ grid-row:1 / span 2; margin-right:calc(var(--u)*18); }
.hscms-pcard__info--stack b{ width:auto; color:#15171C; font-weight:600; }
.hscms-pcard__info--stack .hscms-pcard__val{ color:#2B2F36; }

.hscms-pcard__visual{
  flex:1;
  display:flex; align-items:center; justify-content:center;
  min-height:calc(var(--u)*262);
  margin:calc(var(--u)*4) 0 calc(var(--u)*4);
}
.hscms-pcard__visual img{
  width:calc(var(--u)*205); max-width:78%; height:auto;
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
.hscms-pcard:hover .hscms-pcard__visual img{ transform:translateY(calc(var(--u)*-6)); }

.hscms-pcard__link{
  display:flex; align-items:center; justify-content:space-between;
  margin:0 calc(var(--u)*-4);
  height:calc(var(--u)*62);
  padding:0 calc(var(--u)*12) 0 calc(var(--u)*18);
  background:#fff;
  border-radius:calc(var(--u)*10);
  box-shadow:0 2px 10px rgba(30,50,90,.05);
  color:var(--pc-main);
  font-size:max(11px, calc(var(--u)*17)); font-weight:500; letter-spacing:-.03em;
  transition:box-shadow .2s;
}
.hscms-pcard__arrow{
  flex-shrink:0;
  width:calc(var(--u)*38); height:calc(var(--u)*38);
  display:flex; align-items:center; justify-content:center;
  border:1px solid #E4E7EE; border-radius:50%;
  background:#fff;
  transition:background .2s, color .2s, border-color .2s;
}
.hscms-pcard__arrow svg{ width:52%; height:52%; }
.hscms-pcard__link:hover{ box-shadow:0 6px 18px rgba(30,50,90,.10); }
.hscms-pcard__link:hover .hscms-pcard__arrow{ background:var(--pc-main); border-color:var(--pc-main); color:#fff; }

/* ---------- CTA dark banner ---------- */
.hscms-ctabanner{
  border-radius:var(--hscms-radius);
  background:#2b2d31 url("../images/cta-photo.png") no-repeat right center;
  background-size:auto 100%;
  min-height:200px;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 56px;
  position:relative;
  overflow:hidden;
}
.hscms-ctabanner::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(12,13,16,.88) 0%, rgba(12,13,16,.55) 40%, rgba(12,13,16,.15) 68%, rgba(46,90,247,.12) 100%);
}
.hscms-ctabanner__text{ position:relative; z-index:2; }
.hscms-ctabanner__text h3{ color:#fff; font-size:26px; font-weight:900; margin:0 0 10px; }
.hscms-ctabanner__text p{ color:#C7CBD3; font-size:14px; line-height:1.7; margin:0; }
.hscms-ctabanner .hscms-btn{ position:relative; z-index:2; flex-shrink:0; }

/* ---------- Service cards (업종별) : 시안 기준 카드 423 x 528 ---------- */
.hscms-svcslider .hscms-slider__viewport{ margin:0 -7px; }
.hscms-svcslider .hscms-slider__item{
  padding:0 7px;
  container-type:inline-size;
  display:flex;
}
.hscms-svcslider.is-single .hscms-slider__arrow,
.hscms-svcslider.is-single .hscms-slider__dots{ display:none !important; }
.hscms-svcslider .hscms-slider__dots{ margin-top:24px; }
.hscms-svcslider .hscms-slider__arrow{ top:50%; }

.hscms-scard{
  --u: min(calc(100cqi / 423), 1.15px);
  position:relative; isolation:isolate; overflow:hidden;
  width:100%;
  aspect-ratio:423 / 528;
  display:flex; flex-direction:column; justify-content:flex-end;
  border-radius:calc(var(--u)*11);
  background:#0B0B0D;
  color:#fff;
  box-shadow:0 8px 24px rgba(10,15,30,.10);
}
/* 배경 사진 (상단 약 75% 영역) */
.hscms-scard__img{
  position:absolute; left:0; top:0; z-index:-2;
  width:100%; height:76%;
  object-fit:cover; object-position:center top;
  transition:transform .6s cubic-bezier(.2,.8,.2,1);
}
/* 하단으로 갈수록 검정 그라데이션 */
.hscms-scard::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg,
    rgba(11,11,13,0) 28%,
    rgba(11,11,13,.45) 48%,
    rgba(11,11,13,.86) 64%,
    #0B0B0D 78%);
}
.hscms-scard:hover .hscms-scard__img{ transform:scale(1.05); }

.hscms-scard__body{
  padding:0 calc(var(--u)*29) calc(var(--u)*40);
}
.hscms-scard__tag{
  display:inline-flex; align-items:center; gap:calc(var(--u)*8);
  height:max(24px, calc(var(--u)*30));
  padding:0 calc(var(--u)*12) 0 calc(var(--u)*11);
  background:#fff; color:#1A1C22;
  border-radius:calc(var(--u)*8);
  font-size:max(11px, calc(var(--u)*13)); font-weight:500; letter-spacing:-.02em;
}
.hscms-scard__tag::before{
  content:""; flex-shrink:0;
  width:calc(var(--u)*9); height:calc(var(--u)*9); min-width:7px; min-height:7px;
  border-radius:50%; background:var(--hscms-blue);
}
.hscms-scard__title{
  margin:calc(var(--u)*20) 0 calc(var(--u)*14);
  font-size:max(19px, calc(var(--u)*27)); font-weight:700; line-height:1.25;
  letter-spacing:-.03em; color:#fff;
}
.hscms-scard__desc{
  margin:0;
  font-size:max(12px, calc(var(--u)*14.5)); line-height:1.75;
  color:rgba(255,255,255,.88); letter-spacing:-.03em;
  word-break:keep-all;
  min-height:calc(1.75em * 4); /* 4줄 기준 → 카드끼리 제목 위치 정렬 */
}
/* 카드가 좁아져 설명이 5줄로 늘어나는 폭에서는 5줄 기준으로 정렬 */
@container (max-width: 380px){
  .hscms-scard__desc{ min-height:calc(1.75em * 5); }
}

/* ---------- FAQ ---------- */
.hscms-faq__grid{ display:flex; gap:56px; align-items:flex-start; }
.hscms-faq__head{ width:500px; flex-shrink:0; }
.hscms-faq__head .hscms-btn{ margin-top:20px; }
.hscms-faq__list{ flex:1; }
.hscms-faq__item{ border-bottom:1px solid var(--hscms-border); }
.hscms-faq__item:first-child{ border-top:1px solid var(--hscms-border); }
.hscms-faq__q{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  padding:22px 6px; font-size:18px; font-weight:500; text-align:left;
}
.hscms-faq__q b{ color:var(--hscms-blue); margin-right:12px; font-weight:800; }
.hscms-faq__chev{ color:var(--hscms-text-mute); font-size:14px; }
.hscms-faq__a{
  display:none;
  background:var(--hscms-bg-soft); border-radius:10px;
}
.hscms-faq__a p{ margin:0; padding:0 20px; font-size:14.5px; color:var(--hscms-text-sub); line-height:1.8; }
.hscms-faq__item.is-open .hscms-faq__a{ display:block; padding:18px 0; margin-bottom:14px; }
.hscms-faq__item.is-open .hscms-faq__q{ font-weight:700; }
.hscms-faq__item.is-open .hscms-faq__chev{ color:var(--hscms-blue); }

/* ---------- Partners ---------- */
.hscms-partners{ text-align:center; }
.hscms-partners .hscms-eyebrow, .hscms-partners .hscms-section__title{ text-align:left; }
.hscms-partners__row{
  padding:18px 0; border-bottom:1px solid var(--hscms-border);
}
.hscms-partners__row:last-child{ border-bottom:none; }
.hscms-partners__img{ width:100%; height:auto; display:block; }

/* ---------- Sidebar consult box ---------- */
.hscms-consult{
  background:#fff;
  padding:26px 0;
}
.hscms-consult h3{ font-size:24px; font-weight:700; margin:0 0 6px; }
.hscms-consult > p{ font-size:15.5px; color:var(--hscms-text-sub); margin:0 0 18px; }
.hscms-consult__label{ display:block; font-size:12px; font-weight:700; margin:0 0 6px; }
.hscms-consult__input{
  width: 100%;
    height: 42px;
    border-bottom: 1px solid var(--hscms-border);
    padding: 0 12px;
    font-size: 14px;
    margin-bottom: 14px;
    border-right: 0;
    border-top: 0;
    border-left: 0;
}
.hscms-consult__input:focus{ outline:none; border-color:var(--hscms-blue); }
.hscms-consult__check{
  display:flex; align-items:center; gap:6px; font-size:11.5px; color:var(--hscms-text-sub);
  margin-bottom:16px;
}
.hscms-consult__check a{ color:var(--hscms-blue); }
.hscms-consult__view{
  margin-left:auto; padding:0; font-size:11.5px; font-weight:700;
  color:var(--hscms-blue); text-decoration:underline; text-underline-offset:2px;
}
.hscms-consult__view:hover{ color:var(--hscms-blue-dark); }
.hscms-consult__select{
  width:100%; height:42px; border:1px solid var(--hscms-border); border-radius:8px;
  padding:0 12px; font-size:13px; margin-bottom:30px; background:#fff;
}
.hscms-consult__submit{ width:100%; margin-bottom:30px; }
.hscms-consult__quick{
  display:flex; background:#e6ecfa;
  padding:16px 0; margin-bottom:20px;
  border-radius: 10px;
}
.hscms-consult__quick a{
  flex:1; display:flex; flex-direction:column; align-items:center; gap:6px;
  font-size:11.5px; font-weight:600; color:#444;
  border-left:1px solid var(--hscms-border);
}
.hscms-consult__quick a:first-child{ border-left:none; }
.hscms-consult__quick-ic{ font-size:18px; }
.hscms-consult__quick-ic svg{width:30px; height:30px}
.hscms-consult__phone{
  background:var(--hscms-bg-soft); border-radius:12px; padding:16px 38px; text-align:left;
}
.hscms-consult__phone p{font-size:20px; font-weight:700; margin:0}
.hscms-consult__phone strong{ display:block; color:var(--hscms-blue); font-size:34px; font-weight:900; }
.hscms-consult__phone span{ font-size:12px; color:var(--hscms-text-mute); }

/* ---------- Footer ---------- */
.hscms-footer{ background:#eaeaea; padding:40px 0;}
.hscms-footer__inner{ max-width:1820px; margin:0 auto; padding:0 40px; }
.hscms-footer__logo{ font-size:18px; font-weight:900; margin-bottom:16px; display:flex; align-items:center; gap:8px; }
.hscms-footer__logo strong{ color:var(--hscms-blue); }
.hscms-footer__logo span{ font-size:9px; font-weight:600; color:var(--hscms-text-mute); border-left:1px solid var(--hscms-border); padding-left:8px; line-height:1.2; }
.hscms-footer__info{ font-size:12.5px; color:#7D8291; line-height:1.9; margin:0 0 12px; }
.hscms-footer__copy{ font-size:11.5px; color:#A2A6B0; margin:0; }

/* ---------- Floating buttons ---------- */
.hscms-float{
  position:fixed; right:28px; bottom:32px; z-index:150;
  display:flex; flex-direction:column; align-items:center; gap:12px;
}
.hscms-float__chat{
  width:60px; height:60px; border-radius:50%; background:#fff;
  box-shadow:var(--hscms-shadow-md); display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:2px;
}
.hscms-float__chat span{ font-size:9px; font-weight:700; color:var(--hscms-blue); }
.hscms-float__top{
  width:40px; height:40px; border-radius:50%; background:#fff; border:1px solid var(--hscms-border);
  box-shadow:var(--hscms-shadow); display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:all .25s;
}
.hscms-float__top.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
/* 상담신청 버튼 (태블릿/모바일에서만 노출) */
.hscms-float__consult{
  display:none;
  width:60px; height:60px; border-radius:50%;
  background:var(--hscms-blue);
  box-shadow:0 8px 20px rgba(46,90,247,.35);
  flex-direction:column; align-items:center; justify-content:center; gap:2px;
}
.hscms-float__consult span{ font-size:9.5px; font-weight:700; color:#fff; letter-spacing:-.02em; }
.hscms-side__close{ display:none; }

/* ---------- Modal (개인정보 수집 및 이용동의) ---------- */
.hscms-modal{
  position:fixed; inset:0; z-index:500;
  display:flex; align-items:center; justify-content:center;
  padding:20px;
  visibility:hidden; opacity:0;
  transition:opacity .25s, visibility .25s;
}
.hscms-modal.is-open{ visibility:visible; opacity:1; }
.hscms-modal__dim{
  position:absolute; inset:0;
  background:rgba(10,12,20,.55);
  backdrop-filter:blur(2px);
}
.hscms-modal__box{
  position:relative;
  width:100%; max-width:520px; max-height:calc(100vh - 40px);
  display:flex; flex-direction:column;
  background:#fff; border-radius:var(--hscms-radius);
  box-shadow:0 20px 60px rgba(10,20,50,.25);
  transform:translateY(16px) scale(.98);
  transition:transform .3s cubic-bezier(.2,.8,.2,1);
  outline:none;
}
.hscms-modal.is-open .hscms-modal__box{ transform:translateY(0) scale(1); }
.hscms-modal__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 24px 18px;
  border-bottom:1px solid var(--hscms-border);
}
.hscms-modal__title{ margin:0; font-size:18px; font-weight:700; }
.hscms-modal__close{
  width:36px; height:36px; margin-right:-8px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  transition:background .15s;
}
.hscms-modal__close:hover{ background:var(--hscms-bg-soft); }
.hscms-modal__body{
  padding:22px 24px; overflow-y:auto;
  font-size:13.5px; line-height:1.7; color:#444; word-break:keep-all;
}
.hscms-modal__lead{ margin:0 0 18px; }
.hscms-modal__table{
  width:100%; border-collapse:collapse;
  border-top:2px solid var(--hscms-navy);
  margin-bottom:18px;
}
.hscms-modal__table th,
.hscms-modal__table td{
  padding:13px 14px; text-align:left; vertical-align:top;
  border-bottom:1px solid var(--hscms-border);
}
.hscms-modal__table th{
  width:120px; background:var(--hscms-bg-soft);
  font-weight:700; color:var(--hscms-text); white-space:nowrap;
}
.hscms-modal__table td strong{ color:var(--hscms-blue); }
.hscms-modal__table td span{ font-size:12px; color:var(--hscms-text-mute); }
.hscms-modal__notice{
  padding:16px 18px; border-radius:var(--hscms-radius-sm);
  background:var(--hscms-blue-badge-bg);
}
.hscms-modal__notice strong{ display:block; margin-bottom:4px; font-size:13.5px; color:var(--hscms-blue); }
.hscms-modal__notice p{ margin:0; font-size:12.5px; }
.hscms-modal__foot{
  display:flex; gap:8px;
  padding:16px 24px 22px;
}
.hscms-modal__btn{ flex:1; height:48px; font-size:15px; }
.hscms-modal__btn--line{ border:1px solid var(--hscms-border); color:var(--hscms-text); background:#fff; }
.hscms-modal__btn--line:hover{ background:var(--hscms-bg-soft); }
body.hscms-modal-open{ overflow:hidden; }

/* =========================================================
   RESPONSIVE
   ========================================================= */

/* Tablet */
@media (max-width: 1024px){
  .hscms-gnb{ display:none; }
  .hscms-header__apply{ display:none; }
  .hscms-header__inner{ padding:0 24px; gap:16px; }
  .hscms-layout{ padding:0 24px; flex-direction:column; }
  .hscms-layout__main{ padding-right:0; border-right:0; }
  /* 상담폼 → 상담신청 레이어로 전환 */
  .hscms-header__logo img{ height:46px; width:auto; }
  .hscms-layout__side{
    position:fixed; inset:0; z-index:400;
    width:auto; padding:20px;
    display:flex; align-items:center; justify-content:center;
    background:rgba(10,12,20,.55);
    visibility:hidden; opacity:0;
    transition:opacity .25s, visibility .25s;
  }
  .hscms-layout__side.is-open{ visibility:visible; opacity:1; }
  .hscms-side{
    position:relative; top:auto;
    width:100%; max-width:440px; max-height:calc(100vh - 40px);
    overflow-y:auto; -webkit-overflow-scrolling:touch;
    padding:6px 24px 8px;
    background:#fff; border-radius:20px;
    box-shadow:0 20px 60px rgba(10,20,50,.25);
    transform:translateY(16px) scale(.98);
    transition:transform .3s cubic-bezier(.2,.8,.2,1);
  }
  .hscms-layout__side.is-open .hscms-side{ transform:translateY(0) scale(1); }
  .hscms-side__close{
    display:flex; align-items:center; justify-content:center;
    position:absolute; right:12px; top:14px; z-index:2;
    width:36px; height:36px; border-radius:50%;
  }
  .hscms-side__close:hover{ background:var(--hscms-bg-soft); }
  .hscms-consult h3{ padding-right:40px; }
  .hscms-float__consult{ display:flex; }
  body.hscms-consult-open{ overflow:hidden; }
  .hscms-consult__phone{ display:none; }
  .hscms-hero__slide{ padding:0 40px; min-height:340px; }
  .hscms-hero__slider .hscms-slider__track{ min-height:340px; }
  .hscms-hero__title{ font-size:32px; }
  .hscms-ctabanner{ flex-direction:column; align-items:flex-start; gap:20px; padding:36px 40px; }
  .hscms-faq__grid{ flex-direction:column; gap:24px; }
  .hscms-faq__head{ width:100%; }
  .hscms-partners__row{ flex-wrap:wrap; gap:20px; justify-content:center; }
}

/* Mobile */
@media (max-width: 640px){
  :root{ --hscms-header-h:60px; }
  .hscms-header__inner{ padding:0 16px; }
  .hscms-header__logo{ font-size:17px; }
  .hscms-header__logo-badge{ display:none; }
  .hscms-header__tel{ display:none; }
  .hscms-layout{ padding:0 16px; }
  .hscms-section{ margin-bottom:48px; }
  .hscms-section__title{ font-size:21px; }
  .hscms-hero{ margin-bottom:36px; }
  .hscms-hero__slide{ padding:0 24px; min-height:400px; }
  .hscms-hero__slider .hscms-slider__track{ min-height:400px; }
  .hscms-hero__eyebrow{ font-size:16px; }
  .hscms-hero__title{ font-size:24px; }
  .hscms-hero__desc{ font-size:13px; }
  .hscms-hero__slider .hscms-slider__dots{ left:24px; }
  .hscms-slider__arrow{ display:none; }
  .hscms-ctabanner{ padding:28px 24px; }
  .hscms-ctabanner__text h3{ font-size:20px; }
  .hscms-ctabanner .hscms-btn{ width:100%; }
  .hscms-ctabanner{ align-items:stretch; }
  .hscms-footer__inner{ padding:0 16px; }
  .hscms-float{ right:16px; bottom:20px; }
  .hscms-float__chat{ width:52px; height:52px; }
  .hscms-float__consult{ width:52px; height:52px; }
  .hscms-float__consult svg{ width:18px; height:18px; }
  .hscms-header__logo img{ height:32px; }

  /* 상담신청 레이어 : 하단 시트 */
  .hscms-layout__side{ padding:0; align-items:flex-end; }
  .hscms-side{
    max-width:none; max-height:88vh;
    padding:4px 20px calc(8px + env(safe-area-inset-bottom, 0px));
    border-radius:20px 20px 0 0;
    transform:translateY(100%);
  }
  .hscms-layout__side.is-open .hscms-side{ transform:translateY(0); }

  /* 모달: 모바일에서는 하단 시트 형태 */
  .hscms-modal{ padding:0; align-items:flex-end; }
  .hscms-modal__box{
    max-width:none; max-height:88vh;
    border-radius:20px 20px 0 0;
    transform:translateY(100%);
  }
  .hscms-modal.is-open .hscms-modal__box{ transform:translateY(0); }
  .hscms-modal__head{ padding:18px 20px 14px; }
  .hscms-modal__body{ padding:18px 20px; }
  .hscms-modal__foot{ padding:12px 20px calc(16px + env(safe-area-inset-bottom, 0px)); }
  .hscms-modal__table th{ width:96px; padding:12px 10px; }
  .hscms-modal__table td{ padding:12px 10px; }
}
