﻿/* ============================================================
   ?뚮쑑??4 쨌 ?좊텋??媛쒗넻 ??Redesign 2026
   ============================================================ */

/* ?? Fonts ????????????????????????????????????????????????? */
@font-face { font-family:'Pretendard'; src:url('../fonts/Pretendard-Regular.otf') format('opentype');   font-weight:400; font-display:swap; }
@font-face { font-family:'Pretendard'; src:url('../fonts/Pretendard-Medium.otf') format('opentype');    font-weight:500; font-display:swap; }
@font-face { font-family:'Pretendard'; src:url('../fonts/Pretendard-SemiBold.otf') format('opentype');  font-weight:600; font-display:swap; }
@font-face { font-family:'Pretendard'; src:url('../fonts/Pretendard-Bold.otf') format('opentype');      font-weight:700; font-display:swap; }
@font-face { font-family:'Pretendard'; src:url('../fonts/Pretendard-ExtraBold.otf') format('opentype'); font-weight:800; font-display:swap; }
@font-face { font-family:'Pretendard'; src:url('../fonts/Pretendard-Black.otf') format('opentype');     font-weight:900; font-display:swap; }
@font-face { font-family:'Paperlogy'; src:url('../fonts/Paperlogy-7Bold.ttf') format('truetype');       font-weight:700; font-display:swap; }
@font-face { font-family:'Paperlogy'; src:url('../fonts/Paperlogy-8ExtraBold.ttf') format('truetype');  font-weight:800; font-display:swap; }
@font-face { font-family:'Paperlogy'; src:url('../fonts/Paperlogy-9Black.ttf') format('truetype');      font-weight:900; font-display:swap; }

/* ?? Design Tokens ???????????????????????????????????????? */
:root {
  --pink-50:  #fff0f7;
  --pink-100: #ffd6ec;
  --pink-200: #ffadd9;
  --pink-300: #ff85c4;
  --pink-400: #ff62b0;
  --pink-500: #ff459f;
  --pink-600: #e8007f;
  --pink-700: #c4006c;
  --pink-800: #960052;
  --pink-900: #680039;

  --gray-0:   #ffffff;
  --gray-50:  #fafafa;
  --gray-100: #f4f4f5;
  --gray-200: #e4e4e7;
  --gray-300: #d1d1d6;
  --gray-400: #a0a0ab;
  --gray-500: #71717a;
  --gray-600: #52525b;
  --gray-700: #3f3f46;
  --gray-800: #27272a;
  --gray-900: #18181b;

  --green:    #10b981;
  --green-bg: #ecfdf5;
  --amber:    #f59e0b;
  --amber-bg: #fffbeb;
  --blue:     #3b82f6;
  --blue-bg:  #eff6ff;

  --text-primary:   #18181b;
  --text-secondary: #52525b;
  --text-tertiary:  #a0a0ab;
  --text-inverse:   #ffffff;
  --text-brand:     #e8007f;

  --bg-page:    #ffffff;
  --bg-subtle:  #fafafa;
  --bg-muted:   #f4f4f5;
  --bg-brand:   #ff459f;
  --bg-brand-soft: #fff0f7;

  --border:       #e4e4e7;
  --border-strong: #d1d1d6;
  --border-brand:  #ff459f;

  --r-xs:  6px;
  --r-sm:  10px;
  --r-md:  14px;
  --r-lg:  20px;
  --r-xl:  28px;
  --r-2xl: 40px;
  --r-pill: 999px;

  --shadow-xs: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  --shadow-sm: 0 2px 8px rgba(0,0,0,.06), 0 1px 3px rgba(0,0,0,.04);
  --shadow-md: 0 8px 24px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.04);
  --shadow-lg: 0 20px 48px rgba(0,0,0,.10), 0 4px 16px rgba(0,0,0,.06);
  --shadow-pink: 0 8px 32px rgba(255,69,159,.28);
  --shadow-pink-lg: 0 16px 48px rgba(255,69,159,.36);

  --font-sans:    'Pretendard','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --font-display: 'Paperlogy','Pretendard',sans-serif;
  --maxw: 1200px;
}

/* ?? Reset ???????????????????????????????????????????????? */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  font-family:var(--font-sans); color:var(--text-primary); background:var(--bg-page);
  font-size:16px; line-height:1.65; font-weight:400;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
::selection { background:var(--pink-200); color:var(--pink-900); }

/* ?? Layout ??????????????????????????????????????????????? */
.container { width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:28px; }
.section { padding:96px 0; }
.section--muted { background:var(--bg-subtle); }
.section--pink { background:var(--bg-brand-soft); }
.center { text-align:center; }

/* ?? Typography ??????????????????????????????????????????? */
.eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--text-brand);
  background:var(--bg-brand-soft); border:1px solid var(--pink-100);
  padding:5px 14px; border-radius:var(--r-pill); margin-bottom:16px;
}
.section-title {
  font-family:var(--font-display); font-size:clamp(26px,3.2vw,40px); font-weight:900;
  line-height:1.15; letter-spacing:-.025em; color:var(--text-primary);
}
.section-lead {
  font-size:clamp(15px,1.4vw,18px); color:var(--text-secondary);
  line-height:1.75; margin-top:14px;
}
.section-head { max-width:640px; }
.section-head.centered { margin-inline:auto; text-align:center; margin-bottom:52px; }
.h3 { font-family:var(--font-display); font-size:clamp(18px,2vw,24px); font-weight:800; line-height:1.2; letter-spacing:-.02em; }
.muted { color:var(--text-secondary); }
.tiny { font-size:13px; }

/* ?? Buttons ??????????????????????????????????????????????? */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--font-sans); font-weight:700; font-size:15px; line-height:1;
  padding:14px 26px; border-radius:var(--r-pill); border:1.5px solid transparent;
  cursor:pointer; transition:all .15s ease; white-space:nowrap; position:relative;
}
.btn:active { transform:scale(.97); }

.btn-primary {
  background:var(--pink-500); color:#fff; border-color:var(--pink-500);
  box-shadow:var(--shadow-pink);
}
.btn-primary:hover { background:var(--pink-600); border-color:var(--pink-600); box-shadow:var(--shadow-pink-lg); transform:translateY(-1px); }

.btn-outline {
  background:transparent; color:var(--text-primary); border-color:var(--border-strong);
}
.btn-outline:hover { border-color:var(--pink-400); color:var(--pink-600); background:var(--pink-50); }

.btn-ghost {
  background:var(--bg-brand-soft); color:var(--pink-700); border-color:var(--pink-100);
}
.btn-ghost:hover { background:var(--pink-100); }

.btn-white {
  background:#fff; color:var(--pink-700); border-color:#fff; box-shadow:0 8px 24px rgba(0,0,0,.14);
}
.btn-white:hover { background:var(--pink-50); transform:translateY(-1px); }

.btn-lg { font-size:17px; padding:18px 36px; }
.btn-sm { font-size:13px; padding:10px 18px; }
.btn-block { width:100%; }

/* ?? Topbar ??????????????????????????????????????????????? */
.topbar {
  background:var(--gray-900); color:#9ca3af; font-size:13px; font-weight:500;
}
.topbar .container { display:flex; align-items:center; justify-content:space-between; height:40px; }
.topbar a { color:#9ca3af; transition:color .15s; }
.topbar a:hover { color:#fff; }
.topbar .tb-left { display:flex; gap:20px; align-items:center; }
.topbar .tb-right { display:flex; gap:20px; align-items:center; }
.topbar strong { color:#fff; font-weight:700; }
.status-dot {
  width:7px; height:7px; border-radius:50%; background:var(--green);
  display:inline-block; margin-right:7px;
  box-shadow:0 0 0 3px rgba(16,185,129,.2);
  animation:pulse 2s infinite;
}
@keyframes pulse { 0%,100%{box-shadow:0 0 0 3px rgba(16,185,129,.2);} 50%{box-shadow:0 0 0 5px rgba(16,185,129,.08);} }

/* ?? Header ??????????????????????????????????????????????? */
.site-header {
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(16px);
  -webkit-backdrop-filter:saturate(180%) blur(16px);
  border-bottom:1px solid var(--border);
  transition:box-shadow .2s;
}
.site-header.scrolled { box-shadow:var(--shadow-sm); }

.nav { display:flex; align-items:center; justify-content:space-between; height:74px; gap:16px; }

/* Brand / Logo */
.brand { display:flex; align-items:center; flex-shrink:0; }
.brand-logo-only { height:64px; width:auto; display:block; }

/* Nav links */
.nav-links { display:flex; gap:2px; align-items:center; }
.nav-links a {
  font-weight:600; font-size:15px; color:var(--text-secondary);
  padding:9px 16px; border-radius:var(--r-pill); transition:.15s;
}
.nav-links a:hover { color:var(--text-primary); background:var(--bg-muted); }
.nav-links a.active { color:var(--pink-600); background:var(--bg-brand-soft); }

/* Nav CTA */
.nav-cta { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.nav-tel { display:flex; flex-direction:column; align-items:flex-end; line-height:1.2; }
.nav-tel .lbl { font-size:11px; font-weight:600; color:var(--text-tertiary); }
.nav-tel .num { font-family:var(--font-display); font-weight:800; font-size:17px; color:var(--text-primary); letter-spacing:-.01em; }
.nav-tel .num:hover { color:var(--pink-600); }

/* Hamburger */
.nav-toggle {
  display:none; width:44px; height:44px;
  border:1.5px solid var(--border); border-radius:var(--r-sm);
  background:#fff; cursor:pointer;
  align-items:center; justify-content:center; flex-direction:column; gap:5px;
}
.nav-toggle span { width:18px; height:1.5px; background:var(--text-primary); border-radius:2px; transition:.2s; }

/* ?? Hero ?????????????????????????????????????????????????? */
.hero {
  position:relative; overflow:hidden;
  background:linear-gradient(160deg, #fff 0%, var(--pink-50) 50%, #fff 100%);
  padding:88px 0 100px;
}
.hero::before {
  content:''; position:absolute; top:-120px; right:-180px;
  width:560px; height:560px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,69,159,.12) 0%, transparent 70%);
  pointer-events:none;
}
.hero::after {
  content:''; position:absolute; bottom:-80px; left:-100px;
  width:380px; height:380px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,69,159,.08) 0%, transparent 70%);
  pointer-events:none;
}

.hero-inner { display:block; position:relative; z-index:1; max-width:680px; }

.hero-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:700; color:var(--pink-600);
  background:var(--pink-50); border:1px solid var(--pink-200);
  padding:7px 16px; border-radius:var(--r-pill); margin-bottom:22px;
}
.hero-eyebrow .dot {
  width:7px; height:7px; border-radius:50%; background:var(--pink-500);
  box-shadow:0 0 0 3px rgba(255,69,159,.2); flex-shrink:0;
  animation:pulse-pink 2s infinite;
}
@keyframes pulse-pink { 0%,100%{box-shadow:0 0 0 3px rgba(255,69,159,.2);} 50%{box-shadow:0 0 0 5px rgba(255,69,159,.06);} }

.hero-title {
  font-family:var(--font-display); font-weight:900;
  font-size:clamp(38px,5.5vw,66px); line-height:1.06; letter-spacing:-.035em;
  color:var(--text-primary);
}
.hero-title .line-accent { color:var(--pink-500); }

.hero-desc {
  font-size:clamp(16px,1.6vw,19px); color:var(--text-secondary);
  line-height:1.7; margin-top:24px; max-width:520px;
}

.hero-btns { display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; }

.hero-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.hero-chip {
  display:inline-flex; align-items:center; gap:7px;
  font-size:13.5px; font-weight:600; color:var(--text-secondary);
  background:#fff; border:1px solid var(--border); padding:8px 14px;
  border-radius:var(--r-pill); box-shadow:var(--shadow-xs);
}
.hero-chip .check { color:var(--green); font-weight:900; font-size:15px; }

/* Hero visual */
.hero-visual { position:relative; }
.hero-img-wrap {
  border-radius:var(--r-2xl); overflow:hidden; box-shadow:var(--shadow-lg);
  aspect-ratio:4/3; background:var(--bg-muted);
  position:relative;
}
.hero-img-wrap img { width:100%; height:100%; object-fit:cover; }

.hero-float {
  position:absolute; background:#fff; border-radius:var(--r-lg);
  box-shadow:var(--shadow-md); padding:14px 18px;
  display:flex; align-items:center; gap:12px;
  animation:float 3s ease-in-out infinite;
}
@keyframes float { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-6px);} }
.hero-float.top { top:-18px; left:-24px; animation-delay:.4s; }
.hero-float.bot { bottom:-18px; right:-24px; animation-delay:1.2s; }
.hero-float-icon {
  width:44px; height:44px; border-radius:12px; background:var(--bg-brand-soft);
  display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0;
}
.hero-float-label { font-size:12px; color:var(--text-tertiary); font-weight:600; }
.hero-float-val { font-family:var(--font-display); font-weight:800; font-size:16px; margin-top:2px; }

/* ?? Stats bar ????????????????????????????????????????????? */
.stats-bar { background:#fff; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.stats-inner { display:grid; grid-template-columns:repeat(4,1fr); }
.stat-item {
  padding:28px 24px; text-align:center;
  border-right:1px solid var(--border); transition:.15s;
}
.stat-item:last-child { border-right:none; }
.stat-item:hover { background:var(--bg-brand-soft); }
.stat-num {
  font-family:var(--font-display); font-weight:900;
  font-size:clamp(28px,3vw,38px); letter-spacing:-.03em;
  color:var(--pink-500); line-height:1;
}
.stat-unit { font-size:16px; font-weight:700; color:var(--pink-400); }
.stat-label { font-size:13.5px; color:var(--text-secondary); font-weight:600; margin-top:6px; }

/* ?? Service cards ????????????????????????????????????????? */
.svc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.svc-card {
  background:#fff; border:1.5px solid var(--border); border-radius:var(--r-xl);
  padding:28px 22px; transition:all .2s ease; cursor:default;
  position:relative; overflow:hidden;
}
.svc-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--pink-400), var(--pink-600));
  opacity:0; transition:opacity .2s;
}
.svc-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--pink-200); }
.svc-card:hover::before { opacity:1; }
.svc-icon {
  width:54px; height:54px; border-radius:16px; background:var(--bg-brand-soft);
  display:flex; align-items:center; justify-content:center; font-size:26px;
  margin-bottom:18px;
}
.svc-card h3 { font-size:18px; font-weight:700; margin-bottom:8px; line-height:1.3; }
.svc-card p { font-size:14px; color:var(--text-secondary); line-height:1.6; }
.svc-tags { display:flex; flex-wrap:wrap; gap:5px; margin-top:14px; }
.tag {
  font-size:11.5px; font-weight:600; color:var(--pink-700);
  background:var(--bg-brand-soft); padding:4px 10px; border-radius:var(--r-pill);
}

/* ?? How-to steps ?????????????????????????????????????????? */
.steps-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; }
.steps-grid::before {
  content:''; position:absolute; top:38px; left:calc(12.5% + 22px); right:calc(12.5% + 22px);
  height:2px; background:linear-gradient(90deg, var(--pink-200), var(--pink-400), var(--pink-200));
  z-index:0;
}
.step-item { padding:0 16px; position:relative; z-index:1; text-align:center; }
.step-num {
  width:76px; height:76px; border-radius:50%; margin-inline:auto; margin-bottom:20px;
  background:linear-gradient(135deg, var(--pink-400), var(--pink-600));
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:900; font-size:26px; color:#fff;
  box-shadow:var(--shadow-pink); position:relative;
}
.step-num::after {
  content:''; position:absolute; inset:-4px; border-radius:50%;
  background:linear-gradient(135deg, var(--pink-400), var(--pink-600));
  opacity:.2; z-index:-1;
}
.step-item h4 { font-size:17px; font-weight:800; margin-bottom:8px; }
.step-item p { font-size:14px; color:var(--text-secondary); line-height:1.6; }

/* ?? Plan cards ???????????????????????????????????????????? */
.plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.plan-card {
  background:#fff; border:2px solid var(--border); border-radius:var(--r-xl);
  padding:30px 26px; display:flex; flex-direction:column; position:relative;
  transition:all .2s ease;
}
.plan-card:hover { border-color:var(--pink-300); box-shadow:var(--shadow-md); transform:translateY(-2px); }
.plan-card.featured {
  border-color:var(--pink-500); box-shadow:var(--shadow-pink);
  background:linear-gradient(180deg, #fff 0%, var(--pink-50) 100%);
}
.plan-badge {
  position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  background:linear-gradient(90deg, var(--pink-500), var(--pink-600));
  color:#fff; font-size:12px; font-weight:800; padding:5px 16px;
  border-radius:var(--r-pill); white-space:nowrap; box-shadow:var(--shadow-pink);
}
.plan-type { font-size:12.5px; font-weight:700; color:var(--pink-600); letter-spacing:.04em; text-transform:uppercase; }
.plan-name { font-family:var(--font-display); font-weight:900; font-size:22px; margin:6px 0 0; letter-spacing:-.02em; }
.plan-price {
  font-family:var(--font-display); font-weight:900; font-size:38px;
  letter-spacing:-.03em; margin:16px 0 0; line-height:1; color:var(--text-primary);
}
.plan-price span { font-size:14px; font-weight:600; color:var(--text-secondary); font-family:var(--font-sans); margin-left:2px; }
.plan-divider { height:1px; background:var(--border); margin:18px 0; border:none; }
.plan-specs { display:flex; flex-direction:column; gap:11px; margin-bottom:20px; flex:1; }
.plan-spec { display:flex; justify-content:space-between; font-size:14.5px; align-items:flex-start; min-height:42px; }
.plan-spec .k { color:var(--text-secondary); }
.plan-spec .v { font-weight:700; }
.plan-note {
  font-size:13px; color:var(--text-secondary); background:var(--bg-muted);
  border-radius:var(--r-sm); padding:10px 13px; margin-bottom:20px; line-height:1.55;
}
.plan-card .btn { margin-top:auto; }

/* ?? Trust / hours ????????????????????????????????????????? */
.trust-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.trust-card {
  background:#fff; border:1.5px solid var(--border); border-radius:var(--r-xl);
  padding:32px 30px; box-shadow:var(--shadow-xs);
}
.hours-table { margin-top:20px; }
.hours-row {
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 0; border-bottom:1px solid var(--border); gap:16px; font-size:15px;
}
.hours-row:last-child { border-bottom:none; padding-bottom:0; }
.hours-label { font-weight:700; }
.hours-val { color:var(--text-secondary); }
.badge {
  display:inline-flex; align-items:center; gap:6px;
  font-size:12.5px; font-weight:700; padding:5px 12px; border-radius:var(--r-pill);
}
.badge-green { color:var(--green); background:var(--green-bg); }
.badge-amber { color:#92400e; background:var(--amber-bg); }
.trust-cta { display:flex; gap:10px; flex-wrap:wrap; margin-top:22px; }

.partner-wrap { margin-top:20px; }
.partner-logos { display:flex; flex-wrap:wrap; align-items:center; gap:16px 32px; }
.partner-logo { height:36px; width:auto; object-fit:contain; opacity:.8; filter:grayscale(.1); }
.partner-pill {
  display:inline-flex; align-items:center; height:44px; padding:0 20px;
  border:1.5px solid var(--border); border-radius:var(--r-pill);
  font-family:var(--font-display); font-weight:800; font-size:16px;
  color:var(--text-secondary); background:#fff;
}
.trust-note { font-size:12.5px; color:var(--text-tertiary); line-height:1.65; margin-top:16px; }

/* ?? FAQ ??????????????????????????????????????????????????? */
.faq-list { max-width:800px; margin-inline:auto; display:flex; flex-direction:column; gap:10px; }
.faq-item {
  background:#fff; border:1.5px solid var(--border); border-radius:var(--r-lg);
  overflow:hidden; transition:border-color .2s, box-shadow .2s;
}
.faq-item[open] { border-color:var(--pink-200); box-shadow:var(--shadow-sm); }
.faq-item summary {
  list-style:none; cursor:pointer; padding:20px 24px;
  display:flex; align-items:center; gap:14px;
  font-weight:700; font-size:16px; user-select:none;
}
.faq-item summary::-webkit-details-marker { display:none; }
.faq-q {
  width:28px; height:28px; flex:none; border-radius:8px;
  background:var(--bg-brand-soft); color:var(--pink-600);
  font-family:var(--font-display); font-weight:900; font-size:14px;
  display:flex; align-items:center; justify-content:center;
}
.faq-arrow { margin-left:auto; transition:transform .2s; color:var(--text-tertiary); font-size:14px; }
.faq-item[open] .faq-arrow { transform:rotate(180deg); }
.faq-ans { padding:4px 24px 22px 66px; color:var(--text-secondary); font-size:15px; line-height:1.72; }

/* ?? CTA band ?????????????????????????????????????????????? */
.cta-section { padding:80px 0; }
.cta-band {
  background:linear-gradient(120deg, var(--pink-500) 0%, var(--pink-700) 100%);
  border-radius:var(--r-2xl); padding:60px 56px;
  display:flex; align-items:center; justify-content:space-between; gap:40px;
  box-shadow:var(--shadow-pink-lg); position:relative; overflow:hidden;
}
.cta-band::before {
  content:''; position:absolute; top:-80px; right:-80px;
  width:320px; height:320px; border-radius:50%;
  background:rgba(255,255,255,.08); pointer-events:none;
}
.cta-band::after {
  content:''; position:absolute; bottom:-60px; left:30%;
  width:200px; height:200px; border-radius:50%;
  background:rgba(255,255,255,.06); pointer-events:none;
}
.cta-copy { position:relative; z-index:1; }
.cta-band h2 {
  font-family:var(--font-display); font-weight:900;
  font-size:clamp(22px,2.8vw,34px); color:#fff; line-height:1.15; letter-spacing:-.025em;
}
.cta-band p { color:rgba(255,255,255,.88); margin-top:10px; font-size:16px; }
.cta-btns { display:flex; gap:12px; flex-shrink:0; position:relative; z-index:1; }

/* ?? Footer ??????????????????????????????????????????????? */
.site-footer { background:var(--gray-900); color:#9ca3af; font-size:14px; padding:64px 0 40px; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.3fr; gap:36px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.08); }
.footer-brand-row { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.footer-brand-row .brand-mark { width:38px; }
.footer-brand-row .brand-name { font-family:var(--font-display); font-weight:900; font-size:18px; color:#fff; letter-spacing:-.02em; }
.footer-brand-row .brand-name .accent { color:var(--pink-400); }
.site-footer p { line-height:1.7; }
.site-footer h5 { color:#fff; font-size:13.5px; font-weight:700; margin-bottom:16px; letter-spacing:.02em; text-transform:uppercase; }
.footer-links { display:flex; flex-direction:column; gap:11px; }
.footer-links a:hover { color:#fff; }
.footer-contact-row { margin-bottom:10px; display:flex; gap:6px; }
.footer-contact-row .k { color:var(--pink-400); font-weight:700; flex-shrink:0; }
.footer-bottom { padding-top:24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:12.5px; color:#6b7280; }
.footer-bottom p { line-height:1.7; }

/* ?? Mobile sticky CTA ????????????????????????????????????? */
.mobile-cta { display:none; }

/* ?? Reveal animation ?????????????????????????????????????? */
.reveal { opacity:0; transform:translateY(20px); transition:opacity .55s ease, transform .55s ease; }
.reveal.in { opacity:1; transform:none; }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }
@media (prefers-reduced-motion:reduce) { .reveal { opacity:1; transform:none; transition:none; } }

/* ?? Responsive ???????????????????????????????????????????? */
@media (max-width:1100px) {
  .svc-grid { grid-template-columns:repeat(2,1fr); }
  .steps-grid::before { display:none; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:900px) {
  .hero-inner { grid-template-columns:1fr; gap:48px; }
  .hero-visual { max-width:460px; margin-inline:auto; }
  .hero { padding:64px 0 76px; }
  .stats-inner { grid-template-columns:repeat(2,1fr); }
  .stat-item:nth-child(2) { border-right:none; }
  .steps-grid { grid-template-columns:repeat(2,1fr); gap:28px; }
  .plan-grid { grid-template-columns:1fr; max-width:440px; margin-inline:auto; }
  .trust-grid { grid-template-columns:1fr; }
  .cta-band { flex-direction:column; text-align:center; padding:44px 36px; }
  .cta-btns { flex-direction:column; width:100%; }
  .cta-btns .btn { width:100%; }
  .nav-links, .nav-tel { display:none; }
  .nav-toggle { display:flex; }
  .nav-links.open {
    display:flex; position:absolute; top:74px; left:0; right:0; flex-direction:column;
    background:#fff; border-bottom:1px solid var(--border);
    padding:12px 16px; gap:4px; box-shadow:var(--shadow-lg); z-index:99;
  }
  .nav-links.open a { padding:13px 18px; border-radius:var(--r-md); }
  .mobile-cta {
    display:flex; position:fixed; bottom:0; left:0; right:0; z-index:90;
    gap:10px; padding:12px 16px calc(12px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.96); backdrop-filter:blur(12px);
    border-top:1px solid var(--border);
  }
  .mobile-cta .btn { flex:1; }
  body { padding-bottom:80px; }
  .section { padding:68px 0; }
}

@media (max-width:640px) {
  .hero-title { font-size:36px; }
  .svc-grid { grid-template-columns:1fr; }
  .steps-grid { grid-template-columns:1fr; }
  .stats-inner { grid-template-columns:1fr 1fr; }
  .hero-float { display:none; }
  .container { padding-inline:18px; }
  .section { padding:52px 0; }
  .cta-band { padding:36px 22px; border-radius:var(--r-xl); }
  .footer-grid { grid-template-columns:1fr; gap:28px; }
}
