@charset "UTF-8";
/* =========================================================
   청지청돈 공통 스타일 (모든 페이지)
   - 색상, 기본 요소, 헤더/GNB, 모바일 메뉴, 서브 비주얼,
     섹션 타이틀, 배너, 푸터, TOP 버튼, 등장 애니메이션
   ========================================================= */

/* ---------- COLOR / BASE ---------- */
:root{
  --teal:#003d4a;        /* 브랜드 메인 다크 그린 */
  --teal-2:#1f6e7a;      /* 보조 틸 */
  --red:#c8202f;         /* 포인트 레드 */
  --ink:#1d1d1f;
  --body:#555;
  --muted:#8a8f94;
  --line:#e3e5e8;
  --gray:#f4f5f6;
  --beige:#fcf2e8;
  --white:#fff;
  --wrap:1200px;
  --header-h:84px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{font-family:"Pretendard",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:var(--ink);background:#fff;line-height:1.7;word-break:keep-all;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font-family:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.sec{padding:120px 0}
.bg-gray{background:var(--gray)}
.bg-beige{background:var(--beige)}

/* ---------- 섹션 타이틀 (영문 라벨 + 한글 타이틀 + 설명) ---------- */
.sec-head{text-align:center;margin-bottom:64px}
.sec-head .label{display:block;font-size:17px;font-weight:500;letter-spacing:.08em;color:var(--teal-2);margin-bottom:10px}
.sec-head h2{font-size:38px;font-weight:800;line-height:1.35;letter-spacing:-.02em;color:var(--ink)}
.sec-head h2 em{font-style:normal;color:var(--red)}
.sec-head p{margin-top:22px;font-size:16px;color:var(--body);line-height:1.9}

/* ---------- HEADER / GNB ---------- */
.header{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--header-h);transition:background .3s,box-shadow .3s,height .3s}
.header .inner{max-width:var(--wrap);margin:0 auto;padding:0 24px;height:100%;display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:14px}
.logo img{height:46px;width:auto;transition:height .3s}
.logo .dark{display:none}
.gnb{display:flex;gap:48px;height:100%}
.gnb>li{position:relative;display:flex;align-items:center}
.gnb>li>a{color:#fff;font-size:16px;font-weight:600;letter-spacing:.01em;padding:8px 0;position:relative}
.gnb>li>a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--red);transform:scaleX(0);transition:transform .25s}
.gnb>li:hover>a::after,.gnb>li>a.on::after{transform:scaleX(1)}
.gnb .sub{position:absolute;top:100%;left:50%;transform:translate(-50%,8px);min-width:170px;background:#fff;border-top:3px solid var(--teal);box-shadow:0 12px 30px rgba(0,0,0,.12);padding:10px 0;opacity:0;visibility:hidden;transition:.25s}
.gnb>li:hover .sub,.gnb>li:focus-within .sub{opacity:1;visibility:visible;transform:translate(-50%,0)}
.gnb .sub a{display:block;padding:9px 22px;font-size:14px;color:#444;white-space:nowrap}
.gnb .sub a:hover{color:var(--teal);background:var(--gray)}
.btn-menu{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;position:relative}
.btn-menu span{position:absolute;left:10px;right:10px;height:2px;background:#fff;transition:.3s}
.btn-menu span:nth-child(1){top:14px}.btn-menu span:nth-child(2){top:21px}.btn-menu span:nth-child(3){top:28px}

/* 스크롤 시 흰 헤더 */
.header.scrolled{background:#fff;box-shadow:0 2px 16px rgba(0,0,0,.08);height:70px}
.header.scrolled .logo img{height:40px}
.header.scrolled .logo .white{display:none}
.header.scrolled .logo .dark{display:block}
.header.scrolled .gnb>li>a{color:var(--ink)}
.header.scrolled .btn-menu span{background:var(--ink)}

/* 모바일 메뉴 */
.m-nav{position:fixed;top:0;right:0;bottom:0;width:min(320px,85vw);background:#fff;z-index:200;transform:translateX(100%);transition:transform .35s;padding:80px 28px 40px;overflow-y:auto}
.m-nav.open{transform:none}
.m-nav .close{position:absolute;top:18px;right:18px;width:40px;height:40px;border:0;background:none;font-size:28px;cursor:pointer;color:var(--ink)}
.m-nav>ul>li{border-bottom:1px solid var(--line);padding:16px 0}
.m-nav>ul>li>a{font-size:18px;font-weight:700;color:var(--teal)}
.m-nav>ul>li>a.on{color:var(--red)}
.m-nav .sub{margin-top:8px}
.m-nav .sub a{display:block;padding:6px 0 6px 12px;font-size:15px;color:#555}
.dim{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:150;opacity:0;visibility:hidden;transition:.3s}
.dim.open{opacity:1;visibility:visible}

/* ---------- SUB VISUAL (서브페이지 상단 배너) ---------- */
.sub-visual{position:relative;height:460px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background:#0d2a30 center/cover no-repeat;overflow:hidden}
.sub-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,30,37,.6),rgba(0,30,37,.45) 50%,rgba(0,30,37,.7))}
.sub-visual .txt{position:relative;padding:60px 24px 0}
.sub-visual .en{font-size:18px;font-weight:300;letter-spacing:.12em;opacity:.9}
.sub-visual h1{font-size:clamp(32px,4.4vw,52px);font-weight:800;letter-spacing:-.02em;line-height:1.3;margin-top:8px}
.sub-visual p{margin-top:14px;font-size:clamp(15px,1.5vw,18px);opacity:.92}
.breadcrumb{position:absolute;bottom:22px;left:0;right:0;font-size:13px;color:rgba(255,255,255,.75);display:flex;justify-content:center;gap:10px}
.breadcrumb b{color:#fff;font-weight:600}

/* ---------- BAND (사진 배경 배너) ---------- */
.band{position:relative;padding:130px 0;text-align:center;color:#fff;background-size:cover;background-position:center;background-attachment:fixed}
.band::before{content:"";position:absolute;inset:0;background:rgba(0,40,48,.62)}
.band .wrap{position:relative}
.band .s{font-size:18px;font-weight:300;opacity:.9;letter-spacing:.04em}
.band h2{font-size:clamp(26px,3.6vw,42px);font-weight:300;line-height:1.45;margin-top:10px}
.band h2 b{font-weight:800}
.band p{margin-top:14px;font-size:16px;opacity:.85}
.btn-line{display:inline-block;margin-top:34px;padding:13px 34px;border:1px solid rgba(255,255,255,.8);color:#fff;font-size:15px;letter-spacing:.04em;transition:.25s}
.btn-line:hover{background:#fff;color:var(--teal)}
.btn-line.dark{border-color:var(--ink);color:var(--ink)}
.btn-line.dark:hover{background:var(--teal);border-color:var(--teal);color:#fff}

/* ---------- FOOTER ---------- */
.footer{background:#1e2326;color:#9aa0a6;font-size:14px}
.footer .top{border-bottom:1px solid #30363a}
.footer .top .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:22px;padding-bottom:22px;flex-wrap:wrap;gap:14px}
.footer .flinks{display:flex;gap:28px;flex-wrap:wrap}
.footer .flinks a:hover{color:#fff}
.footer .bottom .wrap{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding-top:36px;padding-bottom:44px;flex-wrap:wrap}
.footer .info{display:flex;flex-wrap:wrap;gap:6px 26px;margin-bottom:14px}
.footer .info li span{color:#c9cdd1;margin-right:6px}
.footer .info li .fill{color:#9aa0a6}
.footer .copy{font-size:13px;color:#6b7278}
/* 오른쪽: 브랜드 로고 + 패밀리 사이트 */
.footer .fside{display:flex;flex-direction:column;align-items:flex-end;gap:22px}
.footer .flogo{display:flex;gap:14px;align-items:center;opacity:.85}
.footer .flogo img{height:44px;width:auto}
.footer .family{display:flex;align-items:center;gap:18px;padding-top:18px;border-top:1px solid #30363a}
.footer .family .tit{font-size:11px;font-weight:600;letter-spacing:.14em;color:#6b7278;white-space:nowrap}
.footer .family a{display:block;opacity:.6;transition:opacity .2s}
.footer .family a:hover,.footer .family a:focus-visible{opacity:1}
.footer .family img{height:20px;width:auto}

/* ---------- TOP 버튼 / 등장 애니메이션 ---------- */
.top-btn{position:fixed;right:24px;bottom:24px;width:50px;height:50px;border-radius:50%;border:0;background:var(--teal);color:#fff;font-size:20px;cursor:pointer;z-index:90;opacity:0;visibility:hidden;transition:.3s;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.top-btn.show{opacity:1;visibility:visible}
.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.js .reveal.in{opacity:1;transform:none}

/* ---------- RESPONSIVE (공통) ---------- */
@media (max-width:900px){
  :root{--header-h:66px}
  .gnb{display:none}
  .btn-menu{display:block}
  .logo img{height:38px}
  .header.scrolled{height:60px}
  .header.scrolled .logo img{height:34px}
  .sec{padding:84px 0}
  .sec-head{margin-bottom:44px}
  .sec-head h2{font-size:28px}
  .sub-visual{height:360px}
  .band{background-attachment:scroll;padding:96px 0}
}
@media (max-width:600px){
  .sec{padding:70px 0}
  .sec-head h2{font-size:24px}
  .sec-head p{font-size:15px}
  .sec-head p br{display:none}
  .sub-visual{height:300px}
  .footer .bottom .wrap{flex-direction:column-reverse}
  .footer .fside{align-items:flex-start;gap:18px}
  .footer .family{gap:16px;flex-wrap:wrap}
  .footer .family img{height:18px}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
}
