
:root{
  --bg:#f5f2ea;
  --card:#fffdf8;
  --ink:#181816;
  --muted:#6e6b64;
  --line:#d9d4c9;
  --accent:#1f4f46;
  --accent-ink:#ffffff;
  --max:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Inter, Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
button{font:inherit}
.topbar{
  max-width:var(--max);
  margin:0 auto;
  padding:24px 22px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.brand{
  font-size:25px;
  font-weight:800;
  letter-spacing:-1px;
}
.actions{display:flex;gap:6px}
.lang{
  border:1px solid var(--line);
  background:transparent;
  color:var(--muted);
  border-radius:999px;
  padding:6px 10px;
  cursor:pointer;
}
.lang.active{background:var(--ink);color:#fff;border-color:var(--ink)}
main{max-width:var(--max);margin:0 auto;padding:0 22px 70px}
.hero{padding:92px 0 110px;max-width:860px}
.eyebrow{
  font-size:12px;
  font-weight:800;
  letter-spacing:1.8px;
  color:var(--accent);
  margin:0 0 18px;
}
h1{
  font-size:clamp(46px,8vw,92px);
  line-height:.98;
  letter-spacing:-4.5px;
  margin:0 0 28px;
}
.hero .lead,.guide-hero .lead{
  max-width:720px;
  font-size:clamp(18px,2.2vw,24px);
  color:var(--muted);
  margin:0 0 32px;
}
.primary{
  display:inline-block;
  background:var(--accent);
  color:var(--accent-ink);
  padding:15px 21px;
  border-radius:999px;
  font-weight:750;
}
.section{padding:0 0 95px}
.section-head span{font-size:12px;color:var(--muted);font-weight:800;letter-spacing:1px}
.section-head h2,.philosophy h2,.info-panel h2{
  font-size:clamp(30px,5vw,54px);
  line-height:1.08;
  letter-spacing:-2px;
  margin:10px 0 24px;
}
.guide-card{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  padding:30px 0;
}
.guide-card h3{font-size:clamp(23px,3vw,36px);line-height:1.15;margin:8px 0 12px;letter-spacing:-1.2px}
.guide-card p{color:var(--muted);margin:0}
.card-kicker{font-size:12px!important;font-weight:800;color:var(--accent)!important;letter-spacing:1px}
.arrow{font-size:36px}
.philosophy{
  background:var(--ink);
  color:#fff;
  border-radius:28px;
  padding:48px;
}
.philosophy .eyebrow{color:#b8d4ca}
.philosophy p:last-child{color:#c8c7c2;max-width:760px;font-size:18px}
footer{
  max-width:var(--max);
  margin:0 auto;
  padding:28px 22px 42px;
  border-top:1px solid var(--line);
  color:var(--muted);
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:13px;
}
.guide-hero{padding:35px 0 58px}
.guide-hero h1{font-size:clamp(42px,7vw,78px);max-width:900px}
.back{display:inline-block;margin-bottom:42px;color:var(--muted)}
.route-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding-bottom:34px;
}
.route-card{
  text-align:left;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--card);
  padding:22px;
  cursor:pointer;
  min-height:144px;
  transition:.18s ease;
  color:var(--ink);
}
.route-card:hover,.route-card.selected{transform:translateY(-2px);border-color:var(--accent)}
.route-card.selected{box-shadow:inset 0 0 0 1px var(--accent)}
.route-card .step{display:block;color:var(--accent);font-size:12px;font-weight:800;margin-bottom:26px}
.route-card strong{display:block;font-size:21px;letter-spacing:-.5px}
.route-card small{display:block;color:var(--muted);margin-top:5px}
.info-panel{
  border-top:1px solid var(--ink);
  padding:42px 0 30px;
}
.info-panel h2{max-width:780px}
.info-panel p:last-child{max-width:720px;color:var(--muted);font-size:18px}
@media(max-width:720px){
  .topbar{padding-top:18px}
  main{padding-left:18px;padding-right:18px}
  .hero{padding:66px 0 82px}
  h1{letter-spacing:-2.7px}
  .route-grid{grid-template-columns:1fr}
  .philosophy{padding:32px 24px;border-radius:22px}
  .guide-card{align-items:flex-start}
  footer{flex-direction:column}
}
