/* First detail pass: typography, hierarchy and spacing. */
:root { --ink:#20242c; --muted:#69717d; --line:#e6e8eb; }
body { font-family:'Pretendard',sans-serif; font-weight:400; letter-spacing:-.025em; -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font-family:inherit; }
h1,h2,h3,h4,p { word-break:keep-all; overflow-wrap:anywhere; }
.container { width:min(1200px,calc(100% - 64px)); }
.header { height:80px; gap:32px; }
.logo { width:166px; }
.nav { --nav-gap:28px; font-size:16px; font-weight:600; }
.nav a { padding:28px 0 26px; }
.nav a + a::before { display:none; }
.nav-game-label { position:relative; }
.nav-game-badge { position:absolute; top:-15px; right:-8px; padding:0 6px; border-radius:8px; background:#ff570d; color:#fff; font-size:10px; font-weight:700; line-height:16px; letter-spacing:0; white-space:nowrap; pointer-events:none; }
.nav-game-badge[hidden] { display:none; }
@media(prefers-reduced-motion:no-preference) {
  .nav-game-badge { animation:nav-badge-enter .45s ease-out both; }
  @keyframes nav-badge-enter { from { opacity:0; transform:translateY(3px); } to { opacity:1; transform:translateY(0); } }
}
@media(max-width:760px) {
  .nav-game-badge { top:-14px; right:-2px; padding:0 5px; font-size:9px; line-height:14px; }
}
.contact-top { gap:7px; padding:12px 18px; border-radius:8px; font-size:15px; font-weight:600; }
.notice-inner { min-height:42px; gap:14px; font-size:14px; font-weight:500; }
.notice-label { padding:3px 10px; border-radius:4px; font-size:12px; font-weight:650; }
.notice-icon { display:none; }
.notice-arrow { font-size:23px; }
.hero { min-height:428px; }
.hero-inner { padding:64px 0; }
.eyebrow { font-size:14px; font-weight:650; letter-spacing:.015em; }
.hero h1 { font-size:56px; font-weight:750; letter-spacing:-.045em; }
.hero-topic { font-size:32px; font-weight:500; line-height:1.4; letter-spacing:-.035em; margin-bottom:10px; }
.hero-brand { font-weight:750; letter-spacing:-.04em; -webkit-text-stroke:0; text-shadow:none; }
.hero-brand-mark { width:.88em; height:.88em; }
.hero-description { max-width:440px; margin:24px 0 0; font-size:17px; line-height:1.75; color:#e2e5e9; }
h2 { font-size:32px; font-weight:700; line-height:1.4; letter-spacing:-.035em; }
.worlds { padding:48px 0 0; }
.worlds h2 { text-align:left; margin-bottom:24px; font-size:28px; }
.world-grid { gap:20px; }
.world-card { min-height:214px; border-color:#f0e7df; border-radius:12px; box-shadow:none; }
.planet-card-copy { padding:24px; }
#maple-planet h3,#alpang-server h3 { font-size:24px; font-weight:700; letter-spacing:-.035em; line-height:1.35; }
#maple-planet p,#alpang-server p { font-size:15px; line-height:1.6; margin:8px 0 24px; color:#6c737d; }
#maple-planet .card-button,#alpang-server .card-button { min-height:44px; padding:11px 14px; font-size:14px; font-weight:600; border-radius:7px; letter-spacing:-.02em; }
.world-card.disabled .card-button { background:#e8e5e2; border-color:#e8e5e2; color:#73716f; cursor:default; }
.guide { margin-top:20px; padding:20px 24px; border-color:#e9eaec; background:#fafafa; gap:24px; }
.guide-title { font-size:17px; font-weight:650; padding-right:24px; border-color:#dedfe2; gap:10px; }
.book { font-size:20px; }
.guide-steps { font-size:14px; font-weight:450; gap:12px; color:#68717d; }
.guide-button { min-height:40px; min-width:142px; padding:9px 14px; font-size:13px; font-weight:600; border-color:#dfe2e6; border-radius:7px; background:white; }
.prices { margin-top:48px; padding:64px 0; background:#f6f7f8; border-top:1px solid #eceef0; }
.prices h2 { text-align:left; margin:0 0 10px; }
.prices-description { text-align:left; font-size:16px; line-height:1.7; margin:0 0 30px; color:#69717d; }
.price-book { max-width:none; }
.price-tabs { gap:4px; padding:0; border-bottom:1px solid #dedfe3; margin-bottom:24px; }
.price-tab,.price-tab[aria-selected='true'] { min-height:48px; margin-bottom:-1px; padding:12px 22px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; box-shadow:none; font-size:16px; font-weight:600; color:#7a818c; }
.price-tab[aria-selected='true'] { color:#e74f0d; border-bottom-color:var(--orange); }
.price-tab small { font-size:11px; margin-left:7px; padding:3px 6px; background:#e8eaed; color:#7a818c; border-radius:4px; font-weight:500; }
.price-servers::before { display:none; }
.price-server { padding:32px; border:1px solid #e3e6ea; border-radius:14px; box-shadow:0 3px 12px #14233303; }
.price-server-heading { margin-bottom:28px; }
.price-server h3 { font-size:23px; font-weight:700; letter-spacing:-.03em; }
.server-title { gap:10px; }
.price-items { gap:24px; }
.price-item { padding:24px; background:#fff; border-color:#e6e8eb; border-radius:10px; }
.price-item-heading { gap:12px; margin-bottom:22px; }
.price-item-image { width:44px; height:44px; }
.price-item h4 { font-size:20px; font-weight:650; color:#242933; }
.price-item dt { font-size:14px; color:#626b78; line-height:1.6; }
.price-item dd { margin-top:6px; font-size:36px; line-height:1.25; font-weight:700; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.price-fee { font-size:13px; color:#6b7380; margin-top:10px; line-height:1.6; }
.price-fee-icon { display:none; }
.price-delivery { border-top:1px solid #eceef1; margin-top:20px; padding-top:20px; }
.price-delivery dd { font-size:28px; font-weight:650; }
.price-details { margin-bottom:24px; }
.cube-quantity-reference { margin-top:10px; font-size:14px; }
.price-chart { padding-top:20px; border-color:#eceef1; }
.price-chart figcaption { font-size:14px; font-weight:600; margin-bottom:5px; }
.chart-axis { font-size:12px; color:#7a828f; }
.chart-axis--date { display:none; }
.chart-svg { height:220px; margin-top:8px; }
.chart-tick { font-size:12px; font-family:'Pretendard',sans-serif; font-variant-numeric:tabular-nums; }
.chart-line { stroke-width:2.5; }
.trade-estimator { margin-top:28px; padding:28px; background:#fafbfc; border-color:#e6e8eb; border-radius:10px; }
.estimate-heading { margin-bottom:9px; }
.estimate-heading h4 { font-size:21px; font-weight:650; letter-spacing:-.03em; }
.estimate-description { font-size:14px; color:#69717d; line-height:1.7; margin-bottom:24px; }
.estimate-fields { grid-template-columns:1.2fr 1fr 1fr; gap:24px; }
.estimate-field { gap:9px; font-size:13px; font-weight:600; color:#343b46; }
.estimate-field select,.estimate-field input { min-height:50px; padding:13px 14px; font-size:15px; border-color:#d9dee5; border-radius:7px; color:#252c37; }
.estimate-field small,.estimate-result small { font-size:12px; line-height:1.6; color:#78808d; }
.estimate-result { border-color:#e1e5ea; padding-left:24px; }
.estimate-result>span { font-size:13px; font-weight:600; }
.estimate-result output { font-size:34px; font-weight:700; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.estimate-receipt { gap:24px; margin-top:24px; padding:20px; background:#fff; border:1px solid #e6e8eb; border-radius:8px; }
.estimate-receipt span { font-size:13px; color:#69717d; }
.estimate-receipt strong { font-size:20px; font-weight:650; font-variant-numeric:tabular-nums; }
.estimate-receipt small { font-size:12px; color:#78808d; line-height:1.6; }
.estimate-receipt .estimate-net { border-color:#e6e8eb; padding-left:24px; }
.estimate-net strong { font-size:24px; color:#e95012; }
.estimate-error:empty { display:none; }
.estimate-disclaimer { margin-top:20px; padding-top:16px; border-color:#e6e8eb; color:#727b88; font-size:12px; }
.price-contact { border-color:#eceef1; padding-top:24px; }
.price-contact-button { font-size:16px; font-weight:600; padding:14px 26px; min-height:48px; border-radius:8px; }
.price-contact-note { font-size:13px; color:#727b88; }
.balloons h2,.gift-cards h2,.faq-heading h2 { font-size:32px; font-weight:700; letter-spacing:-.035em; }
.price-server--soon { background:#f8f9fa; }
.price-server--soon .price-item { background:#f0f2f4; }
.price-server--soon .price-item h4 { color:#737c89; }
@media(min-width:761px) and (max-width:1050px) {
  .header { height:auto; min-height:72px; flex-wrap:wrap; gap:4px 20px; padding-top:16px; }
  .contact-top { margin-left:auto; }
  .nav { order:3; width:100%; justify-content:space-between; }
  .nav a { padding:16px 0; }
  .planet-card-copy { padding:20px 16px; }
  #maple-planet h3,#alpang-server h3 { font-size:20px; }
  #maple-planet .card-button,#alpang-server .card-button { font-size:13px; padding:10px; }
  .guide { flex-wrap:wrap; gap:16px; }
  .guide-steps { font-size:13px; }
  .price-server { padding:24px; }
  .price-items { gap:16px; }
  .price-item { padding:20px; }
  .estimate-fields { grid-template-columns:1fr 1fr; gap:20px; }
  .estimate-result { grid-column:1/-1; padding:20px 0 0; border-left:0; border-top:1px solid #e1e5ea; }
}
@media(max-width:760px) {
  .container { width:calc(100% - 40px); }
  .header { min-height:64px; height:auto; gap:0; padding-top:14px; }
  .logo { width:142px; }
  .contact-top { font-size:13px; padding:10px 12px; margin-left:auto; }
  .nav { --nav-gap:0px; font-size:14px; font-weight:550; gap:8px; }
  .nav a { padding:17px 0 14px; }
  .notice-inner { min-height:39px; font-size:13px; gap:10px; }
  .notice-label { font-size:11px; padding:3px 7px; }
  .hero { min-height:340px; }
  .hero-inner { padding:16px 0 80px; }
  .hero .eyebrow { font-size:12px; margin-bottom:12px; }
  .hero h1 { font-size:42px; }
  .hero-topic { font-size:23px; margin-bottom:8px; }
  .hero-description { max-width:265px; font-size:14px; line-height:1.75; margin-top:20px; }
  .worlds { padding-top:32px; }
  .worlds h2 { font-size:24px; margin-bottom:20px; }
  .world-grid { gap:12px; }
  .world-card { min-height:172px; border-radius:10px; }
  .planet-card-copy { padding:20px; }
  #maple-planet h3,#alpang-server h3 { font-size:21px; }
  #maple-planet p,#alpang-server p { font-size:13px; margin:6px 0 18px; }
  #maple-planet .card-button,#alpang-server .card-button { min-height:42px; font-size:13px; padding:10px 12px; }
  .guide { margin-top:16px; padding:18px; gap:13px; }
  .guide-title { font-size:16px; border:0; padding:0; }
  .guide-steps { font-size:12px; gap:7px; line-height:1.7; }
  .guide-button { font-size:13px; }
  .prices { margin-top:32px; padding:40px 0; }
  .prices h2 { font-size:26px; }
  .prices-description { font-size:14px; margin-bottom:22px; }
  .price-tabs { margin-bottom:20px; }
  .price-tab,.price-tab[aria-selected='true'] { padding:11px 14px; min-height:46px; font-size:15px; }
  .price-server { padding:20px 16px; border-radius:12px; }
  .price-server-heading { margin-bottom:22px; }
  .price-server h3 { font-size:21px; }
  .price-items { grid-template-columns:1fr; gap:16px; }
  .price-item { padding:20px; }
  .price-item h4 { font-size:19px; }
  .price-item-image { width:40px; height:40px; }
  .price-item-heading { margin-bottom:18px; }
  .price-item dt { font-size:13px; }
  .price-item dd { font-size:32px; }
  .price-delivery dd { font-size:26px; }
  .chart-svg { height:auto; max-height:205px; }
  .chart-tick { font-size:14px; }
  .trade-estimator { margin-top:20px; padding:20px 16px; }
  .estimate-heading h4 { font-size:20px; }
  .estimate-description { font-size:13px; }
  .estimate-fields { grid-template-columns:1fr; gap:20px; }
  .estimate-field select,.estimate-field input { font-size:16px; }
  .estimate-result { padding:20px 0 0; border-left:0; border-top:1px solid #e1e5ea; }
  .estimate-result output { font-size:32px; }
  .estimate-receipt { grid-template-columns:1fr; padding:16px; gap:18px; }
  .estimate-receipt .estimate-net { border-left:0; border-top:1px solid #e6e8eb; padding:18px 0 0; }
  .price-contact-button { width:100%; min-width:0; font-size:15px; }
  .price-contact-note { font-size:12px; }
  .balloons h2,.gift-cards h2,.faq-heading h2 { font-size:26px; }
}
@media(prefers-reduced-motion:no-preference) {
  a,button,input,select { transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s; }
  .card-button:not(:disabled):hover,.price-contact-button:hover { box-shadow:0 3px 10px #e9531720; }
}
