/* ============================================ RESET & BASE */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Pretendard','Apple SD Gothic Neo','Noto Sans KR',sans-serif;font-weight:400;font-size:16px;color:#1a1a1a;background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}
section[id]{scroll-margin-top:72px;}

/* ============================================ HEADER */
#header{position:fixed;top:28px;left:0;right:0;z-index:200;background:transparent;transition:background 0.5s,top 0.4s ease;}
#header.scrolled{top:0;background:rgba(30,20,12,0.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,0.06);}
#header .inner{width:100%;padding:0 60px;height:72px;display:flex;align-items:center;justify-content:center;}
#header .gnb{display:flex;align-items:center;gap:48px;}
#header .gnb a{font-family:'Gowun Batang',serif;font-size:15px;font-weight:400;color:rgba(255,255,255,0.88);white-space:nowrap;letter-spacing:-0.01em;transition:color 0.2s;}
#header .gnb a:hover{color:#e8c99a;}
#header .gnb .logo{display:flex;align-items:center;}
#header .gnb .logo img{height:48px;width:auto;}

/* 모바일 바(로고+햄버거) — PC에서 숨김 */
#header .mobile-bar{display:none;width:100%;align-items:center;justify-content:space-between;}
#header .mobile-logo img{height:32px;width:auto;}

/* 햄버거 버튼 */
#header .hamburger{width:36px;height:36px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:0;}
#header .hamburger span{display:block;width:22px;height:2px;background:#fff;border-radius:1px;transition:transform 0.3s,opacity 0.3s;}

/* 모바일 풀스크린 메뉴 — 브랜드 톤(다크 브라운) */
#header .mobile-menu{
  position:fixed;inset:0;z-index:300;
  background:linear-gradient(160deg,#3a2a1a 0%,#241810 100%);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;
  transition:opacity 0.35s,visibility 0.35s;
}
#header .mobile-menu.open{opacity:1;visibility:visible;}
#header .mobile-menu nav{display:flex;flex-direction:column;align-items:center;gap:30px;}
#header .mobile-menu nav a{font-family:'Gowun Batang',serif;font-size:21px;font-weight:400;color:rgba(255,255,255,0.92);letter-spacing:-0.01em;padding:4px 0;}
#header .mobile-menu nav a:hover{color:#e8c99a;}
#header .mobile-menu-close{
  position:absolute;top:20px;right:20px;
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,0.08);border-radius:50%;border:none;
  font-size:24px;font-weight:300;color:#fff;cursor:pointer;line-height:1;
  transition:background 0.2s;
}
#header .mobile-menu-close:hover{background:rgba(255,255,255,0.16);}


/* ============================================ MAIN01 HERO */
#main01{position:relative;width:100%;height:100vh;min-height:640px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
#main01 .bg{position:absolute;inset:0;background-image:url('../image/bg_main01.jpg');background-size:cover;background-position:center top;background-repeat:no-repeat;will-change:filter;filter:brightness(0.55) saturate(0.7);}
#main01 .overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,12,5,0.0) 0%,rgba(20,12,5,0.15) 50%,rgba(20,12,5,0.55) 100%);z-index:1;}
#main01 .inner{position:relative;z-index:2;text-align:center;padding:0 20px;width:100%;}
#main01 .title .small{font-size:14px;font-weight:400;color:rgba(255,255,255,0.75);letter-spacing:0.05em;margin-bottom:20px;word-break:keep-all;}
#main01 .title .mid{font-family:'Gowun Batang',serif;font-size:clamp(24px,3.5vw,42px);font-weight:400;color:rgba(255,255,255,0.92);letter-spacing:0.08em;margin-bottom:12px;}
#main01 .title .brand{font-family:'Gowun Batang',serif;font-size:clamp(80px,15vw,160px);font-weight:700;color:#fff;letter-spacing:-0.01em;line-height:1.0;}
#main01 .scroll-guide{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;}
#main01 .scroll-guide span{font-size:10px;color:rgba(255,255,255,0.45);letter-spacing:0.2em;text-transform:uppercase;}
#main01 .scroll-guide .line{width:1px;height:40px;background:linear-gradient(to bottom,rgba(255,255,255,0.5),transparent);animation:scrollPulse 2s ease-in-out infinite;}
@keyframes scrollPulse{0%,100%{opacity:0.3;}50%{opacity:0.9;}}

/* ============================================ MAIN02 */
#main02{position:relative;width:100%;overflow:hidden;padding:140px 0;}
#main02 .bg{position:absolute;inset:-8%;background-image:url('../image/bg_main02.jpg');background-size:cover;background-position:center;background-repeat:no-repeat;will-change:transform;}
#main02 .inner{position:relative;z-index:1;width:100%;padding:0 60px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;align-items:start;}
#main02 .title{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;height:100%;padding-top:20px;}
#main02 .title .quote-top{font-family:'Gowun Batang',serif;font-size:60px;color:#c9a882;line-height:0.7;display:block;margin-bottom:24px;opacity:0.8;letter-spacing:-0.02em;}
#main02 .title h2{font-family:'Gowun Batang',serif;font-size:clamp(22px,2.4vw,34px);font-weight:400;color:#fff;line-height:1.65;word-break:keep-all;margin-bottom:20px;text-shadow:0 1px 8px rgba(0,0,0,0.5);letter-spacing:-0.02em;}
#main02 .title h2 strong{font-weight:700;color:#e8c99a;}
#main02 .title .quote-bot{font-family:'Gowun Batang',serif;font-size:60px;color:#c9a882;line-height:0.7;display:block;opacity:0.8;letter-spacing:-0.02em;}
#main02 .ctn-item{display:flex;flex-direction:column;}
#main02 .ctn-item .img-wrap{width:100%;aspect-ratio:1130/740;overflow:hidden;border-radius:8px;}
#main02 .ctn-item .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease;}
#main02 .ctn-item:hover .img-wrap img{transform:scale(1.04);}
#main02 .ctn-item .txt{padding:28px 0 0;}
#main02 .ctn-item .txt .heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;}
#main02 .ctn-item .txt .heading h3{font-family:'Gowun Batang',serif;font-size:clamp(20px,2vw,26px);font-weight:700;color:#fff;line-height:1.45;word-break:keep-all;text-shadow:0 1px 6px rgba(0,0,0,0.45);letter-spacing:-0.02em;}
#main02 .ctn-item .txt .heading h3 em{font-style:normal;color:#e8c99a;}
#main02 .ctn-item .txt .icon{width:42px;height:42px;object-fit:contain;flex-shrink:0;opacity:0.88;}
#main02 .ctn-item .txt p{font-size:15px;color:rgba(255,255,255,0.65);line-height:1.95;word-break:keep-all;text-shadow:0 1px 4px rgba(0,0,0,0.3);}

/* ============================================ MAIN03 */
#main03{position:relative;width:100%;min-height:100vh;overflow:hidden;display:flex;align-items:center;padding:120px 0;}
#main03 .bg{position:absolute;inset:-8%;background-image:url('../image/bg_main03.jpg');background-size:cover;background-position:center;background-repeat:no-repeat;will-change:transform;}
/* 모바일 가독성용 오버레이 — PC에서는 숨김 */
#main03 .overlay{position:absolute;inset:0;background:rgba(0,0,0,0.45);z-index:0;display:none;}
#main03 .inner{position:relative;z-index:1;width:100%;padding:0 120px;display:flex;align-items:center;justify-content:space-between;gap:100px;}
#main03 .title{flex:0 0 560px;text-align:center;}
#main03 .title .desc{font-size:17px;color:#cdbe8a;line-height:1.8;word-break:keep-all;margin-bottom:16px;text-shadow:0 1px 3px rgba(0,0,0,0.2);}
#main03 .title h2{font-family:'Gowun Batang',serif;font-size:clamp(32px,3.8vw,54px);font-weight:400;color:#fff;line-height:1.7;word-break:keep-all;white-space:pre-line;text-align:center;text-shadow:0 1px 4px rgba(0,0,0,0.2);letter-spacing:-0.02em;}
#main03 .ctn{flex:0 0 460px;display:flex;flex-direction:column;}
#main03 .ctn .item{display:flex;gap:24px;align-items:flex-start;padding:40px 0;border-bottom:1px solid rgba(255,255,255,0.25);}
#main03 .ctn .item:first-child{border-top:1px solid rgba(255,255,255,0.25);}
#main03 .ctn .item .icon{width:44px;height:44px;object-fit:contain;flex-shrink:0;margin-top:2px;}
#main03 .ctn .item h3{font-family:'Gowun Batang',serif;font-size:20px;font-weight:700;color:#fff;margin-bottom:12px;line-height:1.4;word-break:keep-all;text-shadow:0 1px 3px rgba(0,0,0,0.2);letter-spacing:-0.02em;}
#main03 .ctn .item p{font-size:15px;color:rgba(255,255,255,0.82);line-height:1.9;word-break:keep-all;}

/* ============================================ MAIN04 리뷰 */
#main04{position:relative;width:100%;overflow:hidden;}
#main04 .bg{position:absolute;inset:-8%;background-image:url('../image/bg_main04.jpg');background-size:cover;background-position:center;background-repeat:no-repeat;will-change:transform;}
/* 상단 텍스트+버튼 — 여백 넉넉히 */
#main04 .top-area{position:relative;z-index:4;width:100%;padding:140px 60px 56px;text-align:center;}
#main04 .top-area .desc{font-size:15px;color:rgba(255,255,255,0.72);line-height:1.9;word-break:keep-all;margin-bottom:20px;}
#main04 .top-area h2{font-family:'Gowun Batang',serif;font-size:clamp(28px,3.8vw,58px);font-weight:400;color:#fff;line-height:1.45;word-break:keep-all;text-shadow:0 2px 14px rgba(0,0,0,0.5);letter-spacing:-0.02em;}
#main04 .top-area h2 em{font-style:normal;color:#e8c99a;font-weight:700;}
.mobile-only{display:none;}
.desktop-only{display:inline;}
#main04 .top-area .btn-cta{display:inline-flex;align-items:center;gap:8px;margin-top:28px;padding:13px 32px;border:1px solid rgba(255,255,255,0.6);border-radius:40px;color:#fff;font-family:'Gowun Batang',serif;font-size:15px;letter-spacing:0.04em;transition:background 0.25s;}
#main04 .top-area .btn-cta:hover{background:rgba(255,255,255,0.14);}
/* 말풍선: 가운데로 모음, talk-area 위에 겹침 */
#main04 .bubble-area{position:absolute;top:0;left:0;right:0;z-index:6;height:120px;overflow:visible;pointer-events:none;}
#main04 .bubble-area .bubble{position:absolute;opacity:0;}
#main04 .bubble-area .bubble img{height:auto;max-width:260px;filter:drop-shadow(0 4px 20px rgba(0,0,0,0.3));}
/* 톡 누적 — 영역 축소 */
#main04 .talk-area{position:relative;z-index:2;width:100%;height:480px;overflow:visible;margin-top:72px;}
#main04 .talk-area .talk-img{position:absolute;border-radius:10px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.2);}
#main04 .talk-area .talk-img img{width:100%;height:auto;display:block;}

/* ============================================ MAIN05 상담신청 */
#main05{position:relative;width:100%;overflow:hidden;padding:120px 0;}
#main05 .bg{position:absolute;inset:-8%;background-image:url('../image/bg_main05.jpg');background-size:cover;background-position:center;background-repeat:no-repeat;will-change:transform;}
#main05 .inner{position:relative;z-index:1;width:100%;max-width:1200px;margin:0 auto;padding:0 60px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}

/* 좌: 타이틀 */
#main05 .title{text-align:center;}
#main05 .title .quote{font-family:'Gowun Batang',serif;font-size:40px;color:#9b846f;line-height:1;display:block;margin-bottom:12px;opacity:0.7;}
#main05 .title h2{font-family:'Gowun Batang',serif;font-size:clamp(28px,2.8vw,42px);font-weight:400;color:#2a1e14;line-height:1.7;word-break:keep-all;margin-bottom:32px;letter-spacing:-0.02em;}
#main05 .title h2 strong{font-weight:700;color:#2a1e14;}
#main05 .title .sub{font-size:15px;color:#6b5c4a;line-height:2;word-break:keep-all;text-align:center;}
#main05 .title .sub strong{font-weight:600;color:#2a1e14;}

/* 우: 폼 — 배경 없음 */
#main05 .form-wrap{padding:0;}
#main05 .form-wrap .form-title{font-family:'Gowun Batang',serif;font-size:18px;font-weight:700;color:#2a1e14;margin-bottom:4px;letter-spacing:-0.02em;}
#main05 .form-wrap .form-sub{font-size:12px;color:#7a6a58;margin-bottom:24px;line-height:1.6;}

/* 폼 행 */
#main05 .form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
#main05 .form-row.full{grid-template-columns:1fr;}
#main05 .form-group{display:flex;flex-direction:column;}
#main05 .form-group label{font-size:13px;font-weight:500;color:#4a3a2a;margin-bottom:5px;}

/* 인풋 공통 */
#main05 .form-group input,
#main05 .form-group select,
#main05 .form-group textarea{
  width:100%;padding:11px 13px;
  border:1px solid rgba(155,132,111,0.45);border-radius:0;
  font-size:14px;color:#2a1e14;background:rgba(255,255,255,0.7);
  font-family:inherit;outline:none;
  transition:border-color 0.2s,background 0.2s;
  appearance:none;-webkit-appearance:none;
}
#main05 .form-group input::placeholder,
#main05 .form-group textarea::placeholder{color:#b0a090;font-size:13px;}
#main05 .form-group input:focus,
#main05 .form-group select:focus,
#main05 .form-group textarea:focus{border-color:#9b846f;background:#fff;}
#main05 .form-group textarea{resize:none;height:80px;line-height:1.7;}

/* 성별 / 결혼경력 토글 */
#main05 .field-label{font-size:12px;font-weight:500;color:#4a3a2a;margin-bottom:5px;display:block;}
#main05 .toggle-group{display:grid;grid-template-columns:1fr 1fr;margin-bottom:10px;}
#main05 .toggle-group input[type=radio]{display:none;}
#main05 .toggle-group label{
  padding:10px 0;text-align:center;
  font-size:13px;font-weight:500;color:#6b5c4a;
  border:1px solid rgba(155,132,111,0.45);cursor:pointer;
  transition:background 0.18s,color 0.18s,border-color 0.18s;
  background:rgba(255,255,255,0.7);
}
#main05 .toggle-group label:first-of-type{border-right:none;}
#main05 .toggle-group input[type=radio]:checked + label{background:#9b846f;color:#fff;border-color:#9b846f;}

/* 개인정보 */
#main05 .privacy{display:flex;align-items:center;gap:8px;margin:12px 0 16px;}
#main05 .privacy input[type=checkbox]{width:14px;height:14px;accent-color:#9b846f;cursor:pointer;}
#main05 .privacy span{font-size:13px;color:#7a6a58;}
#main05 .privacy a{color:#9b846f;text-decoration:underline;cursor:pointer;}

/* 제출 버튼 */
#main05 .btn-submit{
  width:100%;padding:15px 0;
  background:#9b846f;color:#fff;
  font-family:'Gowun Batang',serif;font-size:16px;font-weight:400;
  letter-spacing:0.1em;border:none;cursor:pointer;
  transition:background 0.22s;
}
#main05 .btn-submit:hover{background:#7a6355;}

/* ============================================ 개인정보 레이어 팝업 */
#privacy-popup{
  display:none;
  position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,0.6);
  align-items:center;justify-content:center;
}
#privacy-popup.on{display:flex;}
#privacy-popup .popup-box{
  background:#fff;
  width:90%;max-width:640px;max-height:80vh;
  overflow-y:auto;
  padding:40px;
  position:relative;
}
#privacy-popup .popup-box h3{
  font-family:'Gowun Batang',serif;
  font-size:20px;font-weight:700;color:#2a1e14;
  margin-bottom:24px;padding-bottom:16px;
  border-bottom:1px solid #e0d0c0;
}
#privacy-popup .popup-box .popup-body{font-size:13px;color:#4a3a2a;line-height:1.95;}
#privacy-popup .popup-box .popup-body h4{font-size:14px;font-weight:600;color:#2a1e14;margin:20px 0 8px;}
#privacy-popup .popup-box .popup-body p{margin-bottom:12px;}
#privacy-popup .popup-close{
  position:absolute;top:16px;right:20px;
  background:none;border:none;font-size:24px;
  color:#6b5c4a;cursor:pointer;line-height:1;
}
#privacy-popup .popup-close:hover{color:#2a1e14;}

/* ============================================ FOOTER */
#footer{position:relative;width:100%;overflow:hidden;background:#2a1e14;}
#footer .bg{position:absolute;inset:0;background-image:url('../image/bg_footer.jpg');background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0.45;}
#footer .inner{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:40px 60px;display:flex;align-items:center;justify-content:space-between;gap:40px;}
#footer .ft-logo img{height:72px;width:auto;}
#footer .ft-info{flex:1;padding:0 40px;font-style:normal;}
#footer .ft-info p{font-family:'Gowun Batang',serif;font-size:13px;color:rgba(255,255,255,0.72);line-height:1.7;letter-spacing:-0.01em;}
#footer .ft-info .ft-row1{margin-bottom:6px;}
#footer .ft-info .ft-row1 span{margin-right:20px;}
#footer .ft-info .ft-row2,#footer .ft-info .ft-row3{margin-bottom:4px;}
#footer .ft-info strong{color:#fff;font-weight:700;}
#footer .ft-btns{display:flex;align-items:center;gap:14px;flex-shrink:0;}
#footer .ft-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:84px;height:84px;border-radius:50%;font-family:'Gowun Batang',serif;font-size:11px;font-weight:400;letter-spacing:-0.01em;cursor:pointer;text-decoration:none;transition:opacity 0.2s;line-height:1.45;text-align:center;}
#footer .ft-btn:hover{opacity:0.82;}
#footer .ft-btn svg{display:block;flex-shrink:0;}
#footer .ft-btn.tel{background:rgba(155,132,111,0.88);color:#fff;}
#footer .ft-btn.kakao{background:#FAE100;color:#391B1B;}

/* ============================================ RESPONSIVE 1280px */
@media (max-width:1280px){
  /* header */
  #header .inner{padding:0 40px;}
  #header .gnb{gap:32px;}

  /* main02 */
  #main02 .inner{padding:0 40px;gap:28px;}

  /* main03 */
  #main03 .inner{padding:0 60px;gap:48px;}
  #main03 .title{flex:0 0 460px;}
  #main03 .ctn{flex:0 0 360px;}

  /* main04 */
  #main04 .top-area{padding:120px 40px 48px;}
  #main04 .talk-area{height:460px;}

  /* main05 */
  #main05 .inner{padding:0 40px;gap:48px;}

  /* footer */
  #footer .inner{padding:36px 40px;}
}

/* ============================================ RESPONSIVE 1024px */
@media (max-width:1024px){
  /* header */
  #header .inner{padding:0 24px;height:60px;}
  #header .gnb{gap:20px;}
  #header .gnb a{font-size:13px;}
  #header .gnb .logo img{height:40px;}

  /* main01 */
  #main01 .bg{background-position:0% top;}
  #main01 .inner{transform:translateY(-6vh);}
  #main01 .title .small{font-size:13px;}
  #main01 .title .mid{font-size:clamp(20px,3vw,32px);}
  #main01 .title .brand{font-size:clamp(64px,12vw,120px);}

  /* main02 */
  #main02{padding:100px 0;}
  #main02 .inner{padding:0 32px;gap:20px;grid-template-columns:1fr 1fr 1fr;}
  #main02 .title h2{font-size:clamp(18px,2.2vw,26px);}
  #main02 .ctn-item .txt .heading h3{font-size:clamp(16px,1.8vw,20px);}

  /* main03 */
  #main03{padding:80px 0;}
  #main03 .inner{padding:0 40px;flex-direction:column;align-items:center;gap:48px;}
  #main03 .title{flex:none;width:100%;max-width:600px;}
  #main03 .title h2{font-size:clamp(32px,5vw,48px);}
  #main03 .ctn{flex:none;width:100%;max-width:520px;}

  /* main04 */
  #main04 .top-area{padding:100px 32px 40px;}
  #main04 .top-area h2{font-size:clamp(24px,4vw,44px);}
  #main04 .talk-area{height:420px;}

  /* main05 */
  #main05{padding:80px 0;}
  #main05 .inner{padding:0 32px;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
  #main05 .title h2{font-size:clamp(24px,2.8vw,36px);}

  /* footer */
  #footer .inner{padding:32px 32px;gap:24px;}
  #footer .ft-logo img{height:60px;}
  #footer .ft-info{padding:0 20px;}
  #footer .ft-info .ft-row1{font-size:13px;}
  #footer .ft-info .ft-row2,
  #footer .ft-info .ft-row3,
  #footer .ft-info .ft-row4{font-size:13px;}
  #footer .ft-btn{width:76px;height:76px;font-size:11px;}
}

/* ============================================ RESPONSIVE 768px */
@media (max-width:768px){
  /* header */
  #header{top:18px;}
  #header.scrolled{top:0;}
  #header .inner{padding:0 20px;height:58px;}
  #header:not(.scrolled){background:linear-gradient(to bottom, rgba(0,0,0,0.32), transparent);}
  #header .gnb{display:none;}
  #header .mobile-bar{display:flex;}

  /* main01 */
  #main01{height:100svh;min-height:560px;}
  #main01 .bg{background-position:0% top;}
  #main01 .inner{transform:translateY(-5vh);}
  #main01 .title .small{font-size:12px;}
  #main01 .title .mid{font-size:clamp(18px,5vw,28px);letter-spacing:0.04em;}
  #main01 .title .brand{font-size:clamp(56px,16vw,96px);}
  #main01 .scroll-guide{bottom:24px;}

  /* main02 */
  #main02{padding:80px 0;}
  #main02 .inner{padding:0 20px;grid-template-columns:1fr;gap:40px;}
  #main02 .title{height:auto;padding-top:0;}
  #main02 .title .quote-top{font-size:40px;margin-bottom:16px;}
  #main02 .title .quote-bot{font-size:40px;}
  #main02 .title h2{font-size:clamp(20px,5.5vw,28px);}
  #main02 .ctn-item .img-wrap{border-radius:6px;}
  #main02 .ctn-item .txt .heading h3{font-size:18px;}
  #main02 .ctn-item .txt p{font-size:14px;}

  /* main03 */
  #main03{padding:72px 0;min-height:auto;}
  #main03 .overlay{display:block;}
  #main03 .inner{padding:0 20px;flex-direction:column;align-items:center;gap:32px;}
  #main03 .title{flex:none;width:100%;}
  #main03 .title .desc{font-size:14px;margin-bottom:20px;}
  #main03 .title h2{font-size:clamp(26px,7vw,38px);white-space:normal;}
  #main03 .ctn{width:100%;max-width:100%;}
  #main03 .ctn .item{padding:24px 0;gap:16px;}
  #main03 .ctn .item .icon{width:36px;height:36px;}
  #main03 .ctn .item h3{font-size:17px;}
  #main03 .ctn .item p{font-size:14px;}

  /* main04 */
  #main04 .top-area{padding:90px 20px 36px;}
  #main04 .top-area .desc{font-size:13px;}
  #main04 .top-area h2{font-size:clamp(24px,7vw,34px);}
  .mobile-only{display:inline;}
  .desktop-only{display:none;}
  #main04 .top-area .btn-cta{font-size:13px;padding:11px 22px;margin-top:20px;}
  #main04 .talk-area{height:240px;margin-top:64px;}
  #main04 .talk-area .talk-img{border-radius:6px;}
  #main04 .bubble-area{height:90px;}
  #main04 .bubble-area .bubble img{max-width:130px;}

  /* main05 */
  #main05{padding:72px 0;}
  #main05 .inner{padding:0 20px;grid-template-columns:1fr;gap:40px;max-width:100%;}
  #main05 .title .quote{font-size:32px;}
  #main05 .title h2{font-size:clamp(24px,6.5vw,36px);}
  #main05 .title .sub{font-size:14px;}
  #main05 .form-row{grid-template-columns:1fr;}
  #main05 .form-group input,
  #main05 .form-group textarea{font-size:13px;}

  /* footer */
  #footer .inner{padding:28px 20px;flex-direction:column;align-items:flex-start;gap:20px;}
  #footer .ft-logo img{height:56px;}
  #footer .ft-info{padding:0;}
  #footer .ft-info p{font-size:12px;}
  #footer .ft-info .ft-row1 span{display:block;margin-right:0;}
  #footer .ft-btns{align-self:flex-end;}
  #footer .ft-btn{width:70px;height:70px;font-size:10px;gap:4px;}
  #footer .ft-btn svg{width:18px;height:18px;}
}

/* ============================================ RESPONSIVE 480px */
@media (max-width:480px){
  /* header */
  #header .inner{padding:0 16px;}
  #header .mobile-logo img{height:30px;}

  /* main01 */
  #main01 .title .brand{font-size:clamp(48px,14vw,80px);}
  #main01 .title .mid{font-size:clamp(16px,4.5vw,22px);}

  /* main02 */
  #main02{padding:64px 0;}
  #main02 .title h2{font-size:clamp(18px,5vw,24px);}
  #main02 .ctn-item .txt .heading h3{font-size:16px;}

  /* main03 */
  #main03{padding:60px 0;}
  #main03 .title h2{font-size:clamp(24px,7vw,32px);}

  /* main04 */
  #main04 .top-area{padding:80px 16px 32px;}
  #main04 .top-area h2{font-size:clamp(20px,6vw,28px);}
  #main04 .talk-area{height:240px;}
  #main04 .bubble-area{height:74px;}
  #main04 .bubble-area .bubble img{max-width:108px;}

  /* main05 */
  #main05 .title h2{font-size:clamp(22px,6vw,30px);}
  #main05 .form-wrap{padding:0;}

  /* footer */
  #footer .ft-btn{width:62px;height:62px;font-size:9px;}
  #footer .ft-btn svg{width:16px;height:16px;}
}