/* Homepage owns its styles; legacy article styles are deliberately not loaded. */
:root { color-scheme: light; scroll-behavior: smooth; }
.kg-home { --ink:#080b0a; --muted:#56615c; --mint:#9befcd; --green:#236d50; --line:#dce2df; margin:0; background:#fff; color:var(--ink); font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif; font-size:17px; font-weight:400; line-height:1.65; letter-spacing:0; -webkit-font-smoothing:antialiased; }
.kg-home *, .kg-home *::before, .kg-home *::after { box-sizing:border-box; }
.kg-home :is(h1,h2,h3,p,figure,dl,dd) { margin:0; }
.kg-home :is(h1,h2,h3) { font-weight:600; line-height:1.2; word-break:keep-all; overflow-wrap:anywhere; }
.kg-home h1 { font-size:64px; }
.kg-home h2 { font-size:42px; }
.kg-home h3 { font-size:25px; }
.kg-home strong { font-weight:600; }
.kg-home img { display:block; max-width:100%; height:auto; }
.kg-home a { color:inherit; text-decoration:none; }
.kg-home button, .kg-home input { font:inherit; }
.kg-home button { cursor:pointer; }
.kg-home :is(a,button,input,summary,[tabindex]):focus-visible { outline:3px solid #278b67; outline-offset:5px; }
.kg-home [hidden] { display:none !important; }
.kg-home section[id] { scroll-margin-top:24px; }
.kg-wrap { width:min(100% - 80px,1280px); margin-inline:auto; }
.kg-section { padding-block:100px; }
.kg-skip { position:absolute; top:8px; left:16px; padding:12px 24px; background:white; color:black; transform:translateY(-150%); z-index:200; }
.kg-skip:focus { transform:none; }
.kg-section-top { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:40px; }
.kg-section-top > p { max-width:410px; color:var(--muted); }
.kg-eyebrow { display:block; margin-bottom:14px !important; font-size:14px; font-weight:600; line-height:1.5; color:var(--green); }
.kg-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:15px; font-weight:600; color:var(--green) !important; text-decoration-thickness:1px; text-underline-offset:5px; }
.kg-link:hover { text-decoration:underline; }
.kg-arrow { display:inline-block; flex:none; font-weight:400; line-height:1; }
.kg-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:28px; }
.kg-button { display:inline-flex; justify-content:center; align-items:center; gap:18px; min-height:52px; padding:12px 24px; border:1px solid transparent; border-radius:6px; font-size:16px; font-weight:600; transition:background-color .18s,transform .18s; }
.kg-button:hover { transform:translateY(-2px); }
.kg-button-primary { background:var(--mint); color:var(--ink) !important; }
.kg-button-primary:hover { background:#b9f5dd; }
.kg-button-outline { border-color:#59645e; color:#fff !important; background:transparent; }
.kg-button-outline:hover { background:#232b27; }
.kg-button-dark { background:var(--ink); color:#fff !important; }
.kg-button-dark:hover { background:#25322b; }
.kg-referral-code { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 12px; margin-top:14px !important; font-size:12px; line-height:1.5; color:#c7d1cb; }
.kg-referral-code > span:first-child { color:var(--mint); font-weight:600; }
.kg-referral-code code { color:#fff; font:600 13px/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; letter-spacing:0; }
.kg-referral-code > span:last-child { color:#9faca5; }
.kg-affiliate { max-width:560px; margin-top:16px !important; font-size:12px; line-height:1.7; color:#b9c3be; }
.kg-fineprint { margin-top:20px !important; color:var(--muted); font-size:13px; line-height:1.7; }
.kg-fineprint a { text-decoration:underline; text-underline-offset:3px; }
.kg-caption { text-align:center; color:#b9c3be; font-size:12px; line-height:1.6; }
.kg-centered { max-width:800px; margin-inline:auto; text-align:center; }
.kg-centered > p:last-child { margin-top:18px; color:#b9c3be; }

.kg-hero { background:var(--ink); color:#fff; overflow:hidden; }
.kg-hero-inner { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:36px; padding-block:48px 68px; }
.kg-hero-copy { position:relative; z-index:2; }
.kg-hero .kg-eyebrow { color:var(--mint); font-size:16px; }
.kg-hero h1 span { color:var(--mint); }
.kg-lead { margin-top:24px !important; color:#c6cec9; font-size:18px; line-height:1.65; }
.kg-hero-product { position:relative; display:grid; place-items:center; height:550px; padding-bottom:44px; }
.kg-hero-phone { width:auto; height:500px !important; transform:rotate(7deg) translateX(48px); filter:drop-shadow(0 22px 24px #0008); }
.kg-hero-card { position:absolute; width:340px; bottom:72px; left:0; transform:rotate(-9deg); filter:drop-shadow(0 14px 24px #0007); }
.kg-hero-product figcaption { position:absolute; bottom:0; left:0; right:0; text-align:center; font-size:11px; color:#b9c3be; }
.kg-benefits { background:#f3f6f4; padding-block:48px 40px; }
.kg-benefits .kg-section-top { margin-bottom:32px; }
.kg-benefits h2 { font-size:28px; }
.kg-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.kg-metrics > div { padding:0 28px; border-left:1px solid #cdd7d1; }
.kg-metrics > div:first-child { padding-left:0; border:0; }
.kg-metrics dt { font-size:14px; color:var(--muted); }
.kg-metrics dd { display:flex; flex-direction:column; gap:3px; }
.kg-metrics dd > strong { font-size:56px; line-height:1.4; font-weight:500; }
.kg-metrics dd > strong > span { font-size:34px; }
.kg-metrics dd > span { font-size:14px; }
.kg-metrics .kg-visa { font-style:italic; font-weight:600; }
.kg-benefits .kg-fineprint { max-width:1150px; }

.kg-usecase-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.kg-usecase-grid article { min-width:0; }
.kg-usecase-grid img { width:100%; aspect-ratio:1.24; object-fit:cover; border-radius:8px; }
.kg-usecase-grid article > div { padding-top:24px; }
.kg-usecase-grid .kg-eyebrow { font-size:13px; margin-bottom:8px !important; }
.kg-usecase-grid h3 { font-size:24px; }
.kg-usecase-grid p { color:var(--muted); margin-top:12px; font-size:16px; }
.kg-usecase-grid .kg-link { margin-top:12px; }

.kg-cards { background:var(--ink); color:white; }
.kg-cards :is(.kg-eyebrow,.kg-link) { color:var(--mint) !important; }
.kg-card-controls { display:flex; width:fit-content; margin:28px auto 36px; padding:4px; border:1px solid #47554d; border-radius:6px; }
.kg-card-controls button { min-width:116px; min-height:44px; padding:9px 20px; background:transparent; border:0; border-radius:3px; color:white; font-size:15px; }
.kg-card-controls button[aria-pressed="true"] { color:var(--ink); background:var(--mint); }
.kg-card-panel { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:72px; max-width:1040px; margin-inline:auto; }
.kg-card-panel + .kg-card-panel:not([hidden]) { margin-top:48px; }
.kg-card-panel:not([hidden]) > *, .kg-fit-results article:not([hidden]) { animation:kg-content-arrival .28s ease-out; }
@keyframes kg-content-arrival { from { translate:0 8px; } to { translate:0 0; } }
.kg-card-panel figure { display:grid; place-items:center; height:430px; }
.kg-card-panel img { max-height:430px; max-width:100%; width:auto; object-fit:contain; }
.kg-card-panel[data-card-panel="physical"] img { width:100%; }
.kg-card-panel h3 { font-size:30px; margin-bottom:18px; }
.kg-card-panel p { color:#c2ccc6; font-size:16px; }
.kg-card-panel ul { list-style:none; padding:0; margin:24px 0 12px; }
.kg-card-panel li { position:relative; padding-left:22px; margin:8px 0; font-size:15px; }
.kg-card-panel li::before { position:absolute; left:0; content:"✓"; color:var(--mint); }
.kg-card-panel .kg-fineprint { font-size:12px; color:#aebcb4; }
.kg-card-lineup { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; max-width:940px; margin:60px auto 20px; padding-top:36px; border-top:1px solid #303a35; }
.kg-card-lineup img { width:100%; aspect-ratio:420 / 265; object-fit:contain; }

.kg-fit-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; }
.kg-fit-layout > div:first-child > p:last-child { color:var(--muted); max-width:450px; margin-top:24px; }
.kg-fit-choice { display:flex; flex-wrap:wrap; gap:10px 20px; margin:0; padding:0 0 22px; border:0; border-bottom:1px solid var(--line); }
.kg-fit-choice legend { margin-bottom:10px; font-size:13px; color:var(--muted); }
.kg-fit-choice label { display:flex; align-items:center; gap:8px; min-height:44px; cursor:pointer; font-size:15px; }
.kg-fit-choice input { accent-color:var(--green); width:18px; height:18px; margin:0; }
.kg-fit-choice input:checked + span { font-weight:600; }
.kg-fit-results { padding-top:30px; }
.kg-fit-results article + article:not([hidden]) { margin-top:32px; }
.kg-fit-results h3 { font-size:27px; margin-bottom:18px; }
.kg-fit-results p { color:var(--muted); font-size:16px; }
.kg-fit-caution { border-left:2px solid #81b99e; padding-left:16px; margin-top:22px !important; font-size:14px !important; }
.kg-fit-results .kg-link { margin-top:20px; }

.kg-fees { background:#f5f6f5; }
.kg-table-scroll { overflow-x:auto; scrollbar-width:thin; }
.kg-fees table { border-collapse:collapse; width:100%; min-width:660px; text-align:left; font-variant-numeric:tabular-nums; }
.kg-fees caption { text-align:left; font-size:12px; color:var(--muted); margin-bottom:12px; }
.kg-fees :is(th,td) { padding:20px 24px; border-bottom:1px solid #d5ded8; font-size:16px; }
.kg-fees th { font-weight:500; }
.kg-fees thead th { font-size:20px; padding-block:26px; }
.kg-fees thead th:first-child { font-size:14px; color:var(--muted); }
.kg-fees tbody th { color:var(--muted); }
.kg-fees .kg-standard { background:#e2f1e9; }
.kg-fees td strong { font-size:28px; font-weight:500; }
.kg-cost-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:40px; }
.kg-cost-summary > div { display:flex; flex-direction:column; gap:8px; padding-block:16px; border-top:1px solid #cdd7d1; }
.kg-cost-summary span { font-size:14px; color:var(--muted); }
.kg-cost-summary strong { font-size:30px; font-weight:500; }

.kg-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; padding:0; margin:0; list-style:none; counter-reset:step; }
.kg-step-number { display:block; color:var(--green); font-size:42px; font-weight:400; line-height:1; margin-bottom:24px; }
.kg-steps li { border-top:1px solid var(--line); padding-top:28px; }
.kg-steps h3 { font-size:24px; }
.kg-steps p { margin-top:16px; font-size:16px; color:var(--muted); }
.kg-steps .kg-link { margin-top:12px; }
.kg-guides { padding-top:0; }
.kg-guide-links { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.kg-guide-links article { border-top:1px solid var(--line); padding-top:28px; }
.kg-guide-links article > span { display:block; color:var(--muted); font-size:14px; margin-bottom:12px; }
.kg-guide-links p { color:var(--muted); font-size:16px; margin:16px 0 8px; }
.kg-guide-links h3 a:hover { text-decoration:underline; text-underline-offset:5px; }
.kg-faq { background:#f5f6f5; }
.kg-faq-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:80px; }
.kg-faq-layout > div:first-child .kg-link { margin-top:20px; }
.kg-faq details { border-bottom:1px solid #cdd7d1; }
.kg-faq details:first-child { border-top:1px solid #cdd7d1; }
.kg-faq summary { display:flex; justify-content:space-between; align-items:center; gap:24px; list-style:none; padding:23px 0; font-size:18px; font-weight:500; cursor:pointer; word-break:keep-all; }
.kg-faq summary::-webkit-details-marker { display:none; }
.kg-faq summary span { font-size:25px; color:var(--green); flex:none; transition:transform .2s; }
.kg-faq details[open] summary span { transform:rotate(45deg); }
.kg-faq details > div { padding:0 36px 24px 0; color:var(--muted); font-size:16px; }
.kg-faq details .kg-link { margin-top:12px; }
.kg-final { background:var(--ink); color:white; }
.kg-final .kg-eyebrow { color:var(--mint); }
.kg-final-layout { display:grid; grid-template-columns:1fr 260px; align-items:center; gap:80px; }
.kg-final-layout > div:first-child > p:not(.kg-eyebrow) { margin-top:18px; color:#b9c3be; }
.kg-qr { text-align:center; }
.kg-qr img { width:168px; height:168px; margin:0 auto; border:8px solid white; border-radius:4px; }
.kg-qr p { font-size:13px; margin-top:16px; }
.kg-qr span { font-size:12px; color:#b9c3be; }
.kg-sources { background:#eef2ef; color:var(--muted); font-size:12px; }
.kg-sources .kg-wrap { display:flex; flex-wrap:wrap; gap:4px 24px; padding-block:16px; align-items:center; }
.kg-sources a { display:inline-flex; align-items:center; min-height:36px; text-decoration:underline; text-underline-offset:4px; }

@media (min-width:1920px) {
  .kg-wrap { width:min(100% - 128px,1400px); }
  .kg-hero-inner { padding-block:60px 72px; }
  .kg-hero-product { height:570px; }
  .kg-hero-phone { height:520px !important; }
  .kg-hero-card { width:380px; left:20px; }
}
@media (min-width:761px) and (max-height:820px) {
  .kg-hero-inner { padding-block:24px 40px; }
  .kg-hero-product { height:440px; }
  .kg-hero-phone { height:400px !important; }
  .kg-hero-card { bottom:60px; width:290px; }
}
@media (max-width:1100px) {
  .kg-wrap { width:calc(100% - 56px); }
  .kg-home h1 { font-size:50px; }
  .kg-home h2 { font-size:36px; }
  .kg-section { padding-block:76px; }
  .kg-hero-inner { gap:24px; padding-block:36px 52px; }
  .kg-hero-product { height:490px; }
  .kg-hero-phone { height:440px !important; transform:rotate(7deg) translateX(24px); }
  .kg-hero-card { width:290px; left:-12px; }
  .kg-lead { font-size:17px; }
  .kg-metrics > div { padding-inline:20px; }
  .kg-metrics dd > strong { font-size:46px; }
  .kg-usecase-grid { gap:20px; }
  .kg-usecase-grid h3 { font-size:21px; }
  .kg-card-panel { gap:44px; }
  .kg-fit-layout, .kg-faq-layout { gap:44px; }
  .kg-fit-layout { grid-template-columns:1fr 1.1fr; }
  .kg-fit-choice { gap:2px 16px; }
  .kg-guides { padding-top:0; }
}
@media (min-width:761px) and (max-width:900px) {
  .kg-home .kg-hero h1 { font-size:42px; }
  .kg-hero .kg-lead { font-size:16px; }
}
@media (max-width:760px) {
  .kg-home { font-size:16px; }
  .kg-home .kg-header .kg-header-inner > .kg-start-link { display:none; }
  .kg-home .kg-header .kg-disclosure { display:none; }
  .kg-wrap { width:calc(100% - 40px); }
  .kg-home h1 { font-size:42px; }
  .kg-home h2 { font-size:32px; }
  .kg-home h3 { font-size:23px; }
  .kg-section { padding-block:64px; }
  .kg-section-top { display:block; margin-bottom:28px; }
  .kg-section-top > .kg-link { margin-top:14px; }
  .kg-section-top > p { margin-top:20px; }
  .kg-eyebrow { font-size:13px; }
  .kg-hero-inner { display:flex; flex-direction:column; gap:24px; padding-block:28px 24px; }
  .kg-hero-copy { width:100%; }
  .kg-hero .kg-eyebrow { font-size:14px; margin-bottom:14px !important; }
  .kg-hero h1 { line-height:1.13; }
  .kg-lead { font-size:16px; line-height:1.55; margin-top:18px !important; max-width:480px; }
  .kg-desktop-break { display:none; }
  .kg-actions { margin-top:22px; gap:10px; }
  .kg-button { min-height:50px; padding:12px 18px; font-size:15px; gap:12px; }
  .kg-hero .kg-referral-code { margin-top:12px !important; gap:3px 9px; }
  .kg-hero .kg-referral-code > span:last-child { flex-basis:100%; }
  .kg-hero .kg-affiliate { font-size:11px; line-height:1.6; max-width:450px; }
  .kg-hero-product { width:100%; max-width:410px; height:270px; }
  .kg-hero-phone { height:240px !important; transform:rotate(7deg) translateX(38px); }
  .kg-hero-card { width:224px; left:20px; bottom:40px; }
  .kg-hero-product figcaption { font-size:10px; }
  .kg-benefits { padding-block:32px; }
  .kg-benefits .kg-section-top { margin-bottom:22px; }
  .kg-benefits h2 { font-size:26px; }
  .kg-benefits .kg-section-top .kg-link { margin-top:4px; font-size:13px; }
  .kg-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 0; }
  .kg-metrics > div { padding-inline:18px 0; }
  .kg-metrics > div:nth-child(odd) { padding-left:0; border-left:0; }
  .kg-metrics dt, .kg-metrics dd > span { font-size:12px; }
  .kg-metrics dd > strong { font-size:42px; }
  .kg-metrics dd > strong > span { font-size:26px; }
  .kg-fineprint { font-size:12px; margin-top:20px !important; }
  .kg-usecase-grid { grid-template-columns:1fr; gap:36px; }
  .kg-usecase-grid img { aspect-ratio:1.5; max-height:380px; }
  .kg-usecase-grid article > div { padding-top:18px; }
  .kg-usecase-grid h3 { font-size:25px; }
  .kg-usecase-grid .kg-link { margin-top:8px; }
  .kg-card-controls { margin-block:24px; }
  .kg-card-panel { grid-template-columns:1fr; gap:26px; }
  .kg-card-panel figure { height:290px; }
  .kg-card-panel img { max-height:290px; }
  .kg-card-panel[data-card-panel="physical"] img { max-width:370px; }
  .kg-card-panel h3 { font-size:25px; }
  .kg-card-panel ul { margin-block:18px 10px; }
  .kg-card-lineup { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:32px; padding-top:28px; }
  .kg-fit-layout, .kg-faq-layout { grid-template-columns:1fr; gap:30px; }
  .kg-fit-layout > div:first-child > p:last-child { margin-top:18px; }
  .kg-fit-choice { gap:4px 16px; }
  .kg-fit-choice label { font-size:14px; }
  .kg-fit-results { padding-top:24px; }
  .kg-fit-results h3 { font-size:25px; }
  .kg-fees table { min-width:580px; }
  .kg-fees :is(th,td) { padding:16px; font-size:14px; }
  .kg-fees thead th { font-size:17px; padding-block:18px; }
  .kg-fees th:first-child { width:170px; }
  .kg-cost-summary { grid-template-columns:1fr; gap:0; margin-top:28px; }
  .kg-cost-summary > div { flex-direction:row; align-items:center; justify-content:space-between; gap:16px; }
  .kg-cost-summary strong { font-size:23px; white-space:nowrap; }
  .kg-cost-summary span { font-size:13px; }
  .kg-fees .kg-actions { align-items:flex-start; flex-direction:column; }
  .kg-steps { grid-template-columns:1fr; gap:24px; }
  .kg-steps li { display:grid; grid-template-columns:44px minmax(0,1fr); column-gap:16px; padding-top:24px; }
  .kg-step-number { grid-column:1; grid-row:1 / 4; font-size:28px; margin:0; line-height:1.2; }
  .kg-steps :is(h3,p,a) { grid-column:2; }
  .kg-steps h3 { font-size:22px; }
  .kg-steps p { margin-top:12px; }
  .kg-steps .kg-link { margin-top:8px; }
  .kg-guides { padding-top:0; }
  .kg-guide-links { grid-template-columns:1fr; gap:28px; }
  .kg-guide-links article { padding-top:22px; }
  .kg-guide-links h3 { font-size:23px; }
  .kg-faq summary { font-size:17px; gap:18px; padding-block:20px; }
  .kg-faq details > div { padding-right:0; font-size:15px; }
  .kg-final-layout { grid-template-columns:1fr; gap:32px; }
  .kg-final h2 { font-size:30px; }
  .kg-final .kg-qr { display:none; }
  .kg-sources .kg-wrap { gap:0 20px; padding-block:12px; }
  .kg-sources span { flex-basis:100%; }
  .kg-sources a { min-height:44px; }
}
@media (max-width:359px) {
  .kg-home h1 { font-size:34px; }
  .kg-home h2 { font-size:28px; }
  .kg-wrap { width:calc(100% - 32px); }
  .kg-hero-product { height:190px; }
  .kg-hero-phone { height:155px !important; }
  .kg-hero-card { width:165px; left:16px; bottom:34px; }
  .kg-hero .kg-button { padding-inline:13px; font-size:14px; gap:9px; }
  .kg-fit-choice { gap:0 10px; }
}
@media (max-width:760px) and (max-height:740px) {
  .kg-hero-inner { padding-top:20px; padding-bottom:16px; gap:18px; }
  .kg-hero-product { height:185px; }
  .kg-hero-phone { height:150px !important; }
  .kg-hero-card { width:170px; left:30px; bottom:32px; }
}
@media (prefers-reduced-motion:reduce) {
  :root { scroll-behavior:auto; }
  .kg-home *, .kg-home *::before, .kg-home *::after { transition:none !important; animation:none !important; }
}
