/* A-only semantic type scale. Copy, layout geometry and motion stay in source modules. */
@font-face {
  font-family: "Wagle Pretendard";
  src: url("assets/aimhigh/PretendardVariable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
body[data-view="frontend"] {
  --wt-family: "Wagle Pretendard", Pretendard, sans-serif;
  --wt-hero: 64px;
  --wt-section: 44px;
  --wt-card: 28px;
  --wt-lead: 20px;
  --wt-body: 16px;
  --wt-meta: 13px;
  --wt-question: 20px;
  --wt-price: 40px;
  --wt-metric: 64px;
  --wt-control: 16px;
}
/* Responsive changes are token overrides only; desktop remains independently defined. */
@media (min-width:900px) and (max-width:1319.98px) {
  body[data-view="frontend"] {--wt-hero:56px;--wt-section:36px;--wt-card:24px;--wt-lead:18px;--wt-price:36px;--wt-metric:56px;}
}
@media (max-width:899.98px) {
  body[data-view="frontend"] {--wt-hero:36px;--wt-section:28px;--wt-card:22px;--wt-lead:18px;--wt-meta:12px;--wt-question:18px;--wt-price:32px;--wt-metric:44px;}
}
body[data-view="frontend"] [data-wagle-type] {
  font-family:var(--wt-family) !important;
  font-style:normal !important;
}
/* Framer rich text and SplitType children inherit their assigned copy role.
   Nested roles (price amount vs VAT, for example) override this zero-specificity reset. */
body[data-view="frontend"] :where([data-wagle-type] *) {
  font-family:inherit !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
}
body[data-view="frontend"] [data-wagle-type="hero"] {
  font-size:calc(var(--wt-hero) * var(--gh-hfit,1)) !important;
  font-weight:700 !important;line-height:1.25 !important;letter-spacing:-.04em !important;
}
body[data-view="frontend"] [data-wagle-type="section"] {
  font-size:var(--wt-section) !important;font-weight:700 !important;
  line-height:1.35 !important;letter-spacing:-.03em !important;
}
body[data-view="frontend"] [data-wagle-type="card"] {
  font-size:var(--wt-card) !important;font-weight:600 !important;
  line-height:1.4 !important;letter-spacing:-.025em !important;
}
body[data-view="frontend"] [data-wagle-type="lead"]:not(.gh-pain) {
  font-size:var(--wt-lead) !important;
}
body[data-view="frontend"] [data-wagle-type="lead"] {
  font-weight:400 !important;
  line-height:1.6 !important;letter-spacing:-.02em !important;
}
body[data-view="frontend"] [data-wagle-type="body"] {
  font-size:var(--wt-body) !important;font-weight:400 !important;
  line-height:1.75 !important;letter-spacing:-.01em !important;
}
body[data-view="frontend"] [data-wagle-type="label"] {
  font-size:var(--wt-meta) !important;font-weight:600 !important;
  line-height:1.5 !important;letter-spacing:.01em !important;
}
body[data-view="frontend"] [data-wagle-type="caption"] {
  font-size:var(--wt-meta) !important;font-weight:400 !important;
  line-height:1.6 !important;letter-spacing:0 !important;
}
body[data-view="frontend"] [data-wagle-type="question"] {
  font-size:var(--wt-question) !important;font-weight:600 !important;
  line-height:1.5 !important;letter-spacing:-.02em !important;
}
body[data-view="frontend"] [data-wagle-type="price"] {
  font-size:var(--wt-price) !important;font-weight:700 !important;
  line-height:1.2 !important;letter-spacing:-.03em !important;font-variant-numeric:tabular-nums;
}
body[data-view="frontend"] [data-wagle-type="metric"] {
  font-size:var(--wt-metric) !important;font-weight:700 !important;
  line-height:1.1 !important;letter-spacing:-.03em !important;font-variant-numeric:tabular-nums;
}
body[data-view="frontend"] [data-wagle-type="control"] {
  font-size:var(--wt-control) !important;font-weight:600 !important;
  line-height:1.5 !important;letter-spacing:-.01em !important;
}
/* A counter viewport is exactly one digit line at each type breakpoint.
   Keep the source's list, keyframes and final digit unchanged. */
body[data-view="frontend"] #section-5 .count_num_item_wrap {height:calc(var(--wt-metric) * 1.1);}
/* The CTA's two lines express one claim, including its original intro span. */
body[data-view="frontend"] #request-access-title .RequestAccess_intro__6p3dA {font-weight:inherit;}
/* Keep Korean words together when the shared sizes cause natural wrapping.
   Explicit <br> elements and all source widths remain intact. */
body[data-view="frontend"] [data-wagle-type]:is([data-wagle-type="section"],[data-wagle-type="card"],[data-wagle-type="lead"],[data-wagle-type="body"],[data-wagle-type="question"]) {
  word-break:keep-all !important;
  overflow-wrap:break-word !important;
}
body[data-view="frontend"] :where([data-wagle-type] *) {
  word-break:inherit !important;
  overflow-wrap:inherit !important;
}

/* User-requested size exceptions. Keep the shared face, weight and other roles.
   Hero pain copy uses its original inline responsive size and --gh-pfit calculation. */
body[data-view="frontend"] #section-6 .processCard [data-wagle-type="card"] {font-size:24px !important;}
body[data-view="frontend"] #section-6 .processCard [data-wagle-type="body"] {font-size:15px !important;}
@media (min-width:768px) {
  body[data-view="frontend"] #section-6 .processCard [data-wagle-type="card"] {font-size:clamp(24px,2.92vw,56px) !important;}
  body[data-view="frontend"] #section-6 .processCard [data-wagle-type="body"] {font-size:clamp(15px,1.25vw,24px) !important;}
}

/* The hero pain statement uses our bold face at its original responsive size. */
body[data-view="frontend"] .gh-pain[data-wagle-type="lead"] {
  font-family:var(--wt-family) !important;
  font-weight:700 !important;
}
