/* ===================================================================
   marin brand.css  —  마린어린이수영장 공통 디자인 토큰 & 컴포넌트
   -------------------------------------------------------------------
   기준: index.html (네이비 + 앤티크 골드, 각진 미니멀 럭셔리)
   모든 학부모/공개 페이지가 <link>로 이 파일을 공유한다.
   ※ 색·폰트·버튼·헤더·푸터를 여기서 한 번만 고치면 전 페이지에 반영된다.
   ※ 배포 시 변경 파일과 함께 brand.css 를 반드시 업로드할 것.
   =================================================================== */

*{margin:0;padding:0;box-sizing:border-box}

:root{
  /* ── 색 ── */
  --navy:#0B1B2E;          /* 깊고 차분한 네이비 (기본 강조) */
  --navy2:#13314C;
  --ocean:#33586B;         /* 채도 낮춘 딥틸 — 보조 포인트(아주 가끔) */
  --sky:#A98B52;           /* 인라인 포인트 — 앤티크 골드로 통일 */
  --coral:#A98B52;         /* (구) coral 자리 — 골드로 통일 */
  --gold:#A98B52;          /* 채도 낮춘 앤티크 골드 — 얇은 선·라벨·버튼 */
  --gold-l:#C2A971;        /* 밝은 골드 (어두운 배경 위 텍스트) */
  --gold-d:#8C7340;        /* 진한 골드 (호버·밝은 배경 위 텍스트) */
  --mint:#8AA597;          /* 채도 낮춘 세이지 */
  --warning:#C0702E;       /* 휴강·경고 — 골드와 어울리는 테라코타 */
  --kakao:#FEE500;         /* 카카오 버튼 노랑 (고정) */
  --kakao-d:#FFD600;

  /* ── 배경 / 표면 ── */
  --white:#fff;
  --offwhite:#FAF8F3;      /* 밝고 가벼운 아이보리 */
  --foam:#F2EEE5;          /* 크림 */
  --paper:#FBFAF6;         /* 카드/입력 표면 */
  --bg:#F5F1E9;            /* 페이지 옅은 배경(크림) */

  /* ── 텍스트 / 선 ── */
  --text:#1E2730;          /* 또렷한 잉크빛 */
  --muted:#8A8F96;
  --border:rgba(11,27,46,0.085);
  --line-gold:rgba(169,139,82,0.28);

  /* ── 폰트 ── */
  --fs:'Nanum Myeongjo',serif;                       /* 제목 세리프 */
  --fd:'Cormorant Garamond','Nanum Myeongjo',serif;  /* 영문 디스플레이 */
  --fp:'Noto Sans KR',-apple-system,BlinkMacSystemFont,sans-serif; /* 본문 */

  /* ── 모서리 (각진 미니멀) ── */
  --r16:3px;
  --r24:4px;
  --r-sm:3px;
  --r-md:4px;
  --r-pill:0;

  /* ── 그림자 ── */
  --shadow:0 4px 20px rgba(11,27,46,0.07);
  --shadow-lg:0 14px 28px rgba(11,27,46,0.10);
}

html{scroll-behavior:smooth}
body{
  font-family:var(--fp);color:var(--text);background:var(--white);
  overflow-x:hidden;line-height:1.72;font-weight:300;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;word-break:keep-all;
}

/* ── 타이포 헬퍼 ── */
.serif{font-family:var(--fs)}
.display{font-family:var(--fd)}

/* ===================================================================
   버튼
   =================================================================== */
.btn-p{
  background:var(--gold);color:#fff;border:1px solid var(--gold);
  padding:15px 38px;border-radius:0;
  font-size:13px;font-weight:500;cursor:pointer;letter-spacing:0.1em;
  font-family:var(--fp);transition:all 0.3s;
  text-decoration:none;display:inline-block;text-align:center;
}
.btn-p:hover{background:var(--gold-d);border-color:var(--gold-d)}

.btn-s{
  background:transparent;color:#fff;
  border:1px solid rgba(255,255,255,0.38);
  padding:15px 38px;border-radius:0;
  font-size:13px;font-weight:400;cursor:pointer;letter-spacing:0.1em;
  font-family:var(--fp);transition:all 0.3s;
  text-decoration:none;display:inline-block;text-align:center;
}
.btn-s:hover{border-color:#fff;background:rgba(255,255,255,0.06)}

/* 밝은 배경 위 보조 버튼(테두리 골드) */
.btn-ghost{
  background:transparent;color:var(--gold-d);border:1px solid var(--gold);
  padding:14px 34px;border-radius:0;
  font-size:13px;font-weight:500;cursor:pointer;letter-spacing:0.08em;
  font-family:var(--fp);transition:all 0.3s;
  text-decoration:none;display:inline-block;text-align:center;
}
.btn-ghost:hover{background:var(--gold);color:#fff}

/* 카카오 로그인 버튼 (전 페이지 공통) */
.btn-kakao{
  background:var(--kakao);color:#3C1E1E;border:none;
  padding:15px 30px;border-radius:0;
  font-size:14px;font-weight:600;cursor:pointer;
  font-family:var(--fp);transition:background 0.2s;
  text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;
}
.btn-kakao:hover{background:var(--kakao-d)}

/* ===================================================================
   카드 / 섹션 헤더 (밝은 배경 공통)
   =================================================================== */
.card{
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--r-md);box-shadow:var(--shadow);
}
.sec-tag{font-family:var(--fp);font-size:11.5px;font-weight:400;color:var(--gold);letter-spacing:0.34em;text-transform:uppercase;margin-bottom:1.5rem;display:block}
.sec-title{font-family:var(--fs);font-size:clamp(27px,3.6vw,40px);font-weight:400;color:var(--navy);letter-spacing:-0.01em;line-height:1.42}
.sec-sub{font-size:14.5px;color:var(--muted);margin-top:1.4rem;line-height:2;font-weight:300}

/* ===================================================================
   NAV  (공개 마케팅 페이지 공통 상단바)
   markup: <nav id="nav" class="top"> … </nav>  (index.html 참조)
   =================================================================== */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:84px;padding:0 6%;
  display:flex;align-items:center;justify-content:space-between;
  transition:background 0.5s ease,height 0.5s ease,box-shadow 0.5s ease;
}
nav.top{background:transparent}
nav.scrolled{background:rgba(255,255,255,0.96);backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--border);height:68px}
.logo{font-family:var(--fs);font-size:18px;font-weight:700;text-decoration:none;line-height:1.25;letter-spacing:0.02em}
nav.top .logo{color:white}
nav.scrolled .logo{color:var(--navy)}
.logo small{display:block;font-size:9.5px;font-weight:400;font-family:var(--fp);letter-spacing:0.42em;opacity:0.5;margin-top:4px}
.nav-menu{display:flex;gap:2.4rem;list-style:none}
.nav-menu a{font-size:13.5px;font-weight:400;text-decoration:none;transition:color 0.25s;letter-spacing:0.02em}
nav.top .nav-menu a{color:rgba(255,255,255,0.72)}
nav.scrolled .nav-menu a{color:var(--muted)}
nav.top .nav-menu a:hover{color:white}
nav.scrolled .nav-menu a:hover{color:var(--navy)}
.nav-cta{
  background:transparent;border:1px solid rgba(255,255,255,0.4);color:#fff;
  padding:11px 26px;border-radius:0;
  font-size:12px;font-weight:500;cursor:pointer;letter-spacing:0.12em;
  font-family:var(--fp);transition:all 0.3s;text-decoration:none;
}
.nav-cta:hover{background:#fff;border-color:#fff;color:var(--navy)}
nav.scrolled .nav-cta{border-color:var(--gold);color:var(--gold-d)}
nav.scrolled .nav-cta:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.hamburger span{display:block;width:22px;height:1px;transition:all 0.3s}
nav.top .hamburger span{background:white}
nav.scrolled .hamburger span{background:var(--navy)}

/* ===================================================================
   FOOTER  (전 페이지 공통 — 3컬럼)
   markup: <footer id="contact"> … </footer>  (index.html 참조)
   =================================================================== */
footer{background:var(--navy);border-top:1px solid rgba(255,255,255,0.07);padding:3rem 5% 2.5rem}
.ft-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,0.07)}
.ft-logo{font-family:var(--fs);font-size:18px;font-weight:800;color:white;margin-bottom:0.75rem}
.ft-logo small{display:block;font-size:10px;font-weight:400;font-family:var(--fp);letter-spacing:2px;color:rgba(255,255,255,0.35);margin-top:3px}
.ft-desc{font-size:13px;color:rgba(255,255,255,0.38);line-height:1.9;margin-bottom:1.5rem;letter-spacing:.01em}
.ft-sns{display:flex;gap:1.4rem;flex-wrap:wrap}
.ft-sns-btn{padding:0;border-radius:0;font-size:12.5px;font-weight:400;text-decoration:none;transition:color 0.25s;border:none;color:rgba(255,255,255,0.55);letter-spacing:0.04em}
.ft-sns-btn:hover{color:var(--gold-l)}
.ft-col-title{font-size:12px;font-weight:700;color:rgba(255,255,255,0.35);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:1.25rem}
.ft-links{list-style:none;display:flex;flex-direction:column;gap:10px}
.ft-links a{font-size:14px;color:rgba(255,255,255,0.5);text-decoration:none;transition:color 0.2s;letter-spacing:.01em}
.ft-links a:hover{color:white}
.ft-info{font-size:13px;color:rgba(255,255,255,0.38);line-height:2;letter-spacing:.01em}
.ft-bottom{max-width:1100px;margin:2rem auto 0;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:rgba(255,255,255,0.22);flex-wrap:wrap;gap:0.5rem}

/* ===================================================================
   반응형 (nav / footer 공통)
   =================================================================== */
@media(max-width:1000px){
  .ft-inner{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  nav{padding:0 6%}
  .nav-menu{display:none}
  .hamburger{display:flex}
  .ft-inner{grid-template-columns:1fr;gap:2.5rem}
  .ft-bottom{flex-direction:column;text-align:center}
  nav.menu-open{background:rgba(255,255,255,0.98);backdrop-filter:blur(20px)}
  nav.menu-open .logo{color:var(--navy)}
  nav.menu-open .hamburger span{background:var(--navy)}
  nav.menu-open .nav-menu{display:flex;flex-direction:column;gap:0;position:absolute;top:68px;left:0;right:0;background:rgba(255,255,255,0.98);backdrop-filter:blur(20px);padding:0.4rem 6% 1.1rem;box-shadow:0 14px 28px rgba(11,27,46,0.10);border-top:1px solid var(--border)}
  nav.menu-open .nav-menu a{color:var(--navy);padding:0.9rem 0.2rem;border-bottom:1px solid var(--border);font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto}
}
