/* 소개 페이지(/intro/**) 전용 스타일. site/layout.html·shop/layout.html과 같은 색 토큰(app_colors.dart). */
:root{
  --primary-dark:#00768F; --primary:#00A3CC; --primary-light:#33C4E3;
  --primary-pale:#7FDCF0; --primary-tint:#D9F5FA;
  --ink:#191F28; --ink-soft:#8B95A1; --paper:#F2F4F6; --card:#FFFFFF;
  --line:#E5E8EB; --line-soft:#F0F2F5; --tag-bg:#F0F2F5; --tag-text:#6B7280;
  --danger:#E0533D; --pink:#D6336C; --pink-tint:#FFE8EE;
  --font:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Pretendard",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font);background:var(--card);color:var(--ink);font-size:16px;line-height:1.6;word-break:keep-all}
a{color:inherit;text-decoration:none}
img{max-width:100%}
h1,h2,h3{margin:0;letter-spacing:-.02em;line-height:1.25}
p{margin:0}

/* 상단 바 */
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.topbar .in{max-width:1080px;margin:0 auto;padding:0 20px;height:60px;display:flex;align-items:center;gap:14px}
/* 워드마크는 아웃라인 SVG라 폰트 설치가 필요 없다. 높이만 주고 너비는 비율대로 둔다(규격: 최소 가로 80px) */
.logo{display:flex;align-items:center}
.logo img{height:22px;width:auto;display:block}
.gnav{display:flex;gap:2px;margin-left:8px}
.gnav a{padding:7px 11px;border-radius:9px;font-size:14px;font-weight:700;color:var(--tag-text)}
.gnav a:hover{background:var(--line-soft)}
.gnav a.active{background:var(--primary-tint);color:var(--primary-dark);font-weight:800}
.spacer{flex:1}
.topbar .cta{background:var(--primary);color:#fff;border-radius:10px;padding:8px 14px;font-size:13.5px;font-weight:800;white-space:nowrap}
.topbar .cta:hover{background:var(--primary-dark)}

/* 공통 섹션 */
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
section{padding:72px 0}
section.alt{background:var(--paper)}
.eyebrow{display:inline-block;font-size:13px;font-weight:800;color:var(--primary-dark);background:var(--primary-tint);border-radius:999px;padding:4px 12px;margin-bottom:14px}
h2{font-size:30px;font-weight:900;margin-bottom:10px}
.lead{font-size:17px;color:var(--tag-text);max-width:640px}

/* 히어로 */
.hero{padding:96px 0 80px;background:linear-gradient(180deg,var(--primary-tint) 0%,#fff 70%)}
.hero h1{font-size:46px;font-weight:900;max-width:760px}
.hero h1 em{font-style:normal;color:var(--primary)}
.hero .sub{margin-top:18px;font-size:19px;color:var(--ink);max-width:640px}
.hero .sub small{display:block;margin-top:6px;font-size:16px;color:var(--tag-text)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:14px 22px;border-radius:12px;font-size:16px;font-weight:800;border:1px solid transparent}
.btn.primary{background:var(--primary);color:#fff}
.btn.primary:hover{background:var(--primary-dark)}
.btn.ghost{background:#fff;color:var(--primary-dark);border-color:var(--primary-pale)}
.btn.ghost:hover{background:var(--primary-tint)}
.btn.dark{background:var(--ink);color:#fff}
.btn.dark:hover{background:#000}
.hero .link{margin-top:16px;font-size:14px;color:var(--tag-text)}
.hero .link a{color:var(--primary-dark);font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* 카드 그리드 */
.grid{display:grid;gap:18px;margin-top:32px}
.grid.c3{grid-template-columns:repeat(3,1fr)}
.grid.c2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px 24px}
section.alt .card{border-color:transparent}
.card h3{font-size:19px;font-weight:900;margin-bottom:10px}
.card h3.q{color:var(--primary-dark)}
.card h3.q::before{content:"“";color:var(--primary-pale);margin-right:2px}
.card h3.q::after{content:"”";color:var(--primary-pale);margin-left:2px}
.card p{color:#3B4350;font-size:15.5px}
.card .num{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--primary-tint);color:var(--primary-dark);font-weight:900;font-size:14px;margin-bottom:14px}

/* 강조 블록(굵은 제목 + 본문 두 줄) */
.points{display:grid;gap:8px;margin-top:28px}
.point{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:22px 20px;border-radius:14px;background:var(--card);border:1px solid var(--line)}
section.alt .point{border-color:transparent}
.point .ico{width:44px;height:44px;border-radius:12px;background:var(--primary-tint);display:grid;place-items:center}
.point .ico svg{width:22px;height:22px;stroke:var(--primary-dark);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.point h3{font-size:18px;font-weight:900;margin-bottom:6px}
.point p{color:#3B4350;font-size:15.5px}

/* 비교표 */
.compare{width:100%;border-collapse:separate;border-spacing:0;margin-top:28px;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;font-size:15px}
.compare th,.compare td{padding:15px 18px;text-align:left;vertical-align:top;border-top:1px solid var(--line)}
.compare thead th{border-top:0;background:var(--line-soft);font-size:13.5px;color:var(--tag-text);font-weight:800}
.compare thead th.us{background:var(--primary-tint);color:var(--primary-dark)}
.compare th[scope=row]{width:22%;font-weight:800;color:var(--ink)}
.compare td.old{color:var(--tag-text)}
.compare td.us{font-weight:700;background:#F7FDFE}
.compare td.us b{color:var(--primary-dark)}
.table-scroll{overflow-x:auto}

/* 마무리 */
.closing{text-align:center;padding:88px 0;background:var(--ink);color:#fff}
.closing h2{color:#fff;font-size:34px}
.closing p{color:#C9CED6;margin-top:10px;font-size:17px}
.closing .actions{justify-content:center}
.closing .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.closing .btn.ghost:hover{background:rgba(255,255,255,.1)}
.closing .note{margin-top:14px;font-size:13.5px;color:#9AA1AC}

/* 푸터 */
footer{padding:36px 0;border-top:1px solid var(--line);font-size:13.5px;color:var(--tag-text)}
footer .in{max-width:1080px;margin:0 auto;padding:0 20px;display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center}
footer .brand{font-weight:900;color:var(--primary-dark)}
footer a:hover{text-decoration:underline}

@media (max-width:860px){
  .hero{padding:64px 0 56px}
  .hero h1{font-size:34px}
  .hero .sub{font-size:17px}
  h2{font-size:25px}
  section{padding:56px 0}
  .grid.c3,.grid.c2{grid-template-columns:1fr}
  .gnav{display:none}
  .closing h2{font-size:27px}
}
