:root {
      --forest:#0b3734; --forest-2:#15514d; --green:#176c5c; --mint:#59ceaf;
      --mint-bright:#72dfc2; --mint-soft:#dff4ec; --coral:#e76e5a;
      --paper:#fff9ef; --white:#fffefb; --ink:#10201d; --muted:#60726e;
      --line:#cadbd4; --shadow:0 22px 70px rgba(11,55,52,.11);
    }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; color:var(--ink); background:var(--paper); font-family:Arial,"Malgun Gothic","Apple SD Gothic Neo",sans-serif; line-height:1.55; }
    a { color:inherit; }
    button,a { font:inherit; }
    img { display:block; max-width:100%; }
    ::selection { color:var(--forest); background:var(--mint-bright); }
    .site-head { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:76px; padding:0 clamp(20px,5vw,76px); border-bottom:1px solid rgba(202,219,212,.78); background:rgba(255,249,239,.88); backdrop-filter:blur(16px); }
    .site-head img { width:150px; }
    .head-actions { display:flex; align-items:center; gap:9px; }
    .head-actions a { min-height:42px; display:inline-flex; align-items:center; justify-content:center; padding:0 16px; border:1px solid var(--line); border-radius:12px; text-decoration:none; font-size:13px; font-weight:800; }
    .head-actions .filled { border-color:var(--forest); color:white; background:var(--forest); }
    main { overflow:hidden; }
    .hero { position:relative; display:grid; justify-items:center; padding:72px 24px 40px; text-align:center; }
    .hero:before { content:""; position:absolute; width:560px; height:560px; right:-250px; top:-290px; border:70px solid rgba(89,206,175,.1); border-radius:50%; box-shadow:0 0 0 70px rgba(89,206,175,.06),0 0 0 140px rgba(89,206,175,.035); }
    .eyebrow { position:relative; display:flex; align-items:center; gap:9px; margin:0 0 20px; color:var(--green); font-size:12px; font-weight:900; letter-spacing:.17em; }
    .eyebrow:before { content:""; width:8px; height:8px; border-radius:50%; background:var(--mint); box-shadow:0 0 0 5px var(--mint-soft); }
    h1 { position:relative; max-width:850px; margin:0; font-size:clamp(38px,5vw,64px); line-height:1.16; letter-spacing:-.06em; word-break:keep-all; }
    h1 em { color:var(--green); font-family:Georgia,"Noto Serif KR",serif; font-weight:500; }
    .hero-copy { position:relative; max-width:650px; margin:20px 0 0; color:var(--muted); font-size:clamp(14px,1.4vw,17px); line-height:1.72; word-break:keep-all; }
    .billing-switch { position:relative; display:inline-flex; gap:4px; margin-top:26px; padding:5px; border:1px solid var(--line); border-radius:14px; background:var(--white); box-shadow:0 8px 25px rgba(11,55,52,.06); }
    .billing-switch button { min-width:118px; min-height:42px; border:0; border-radius:10px; color:var(--muted); background:transparent; font-size:13px; font-weight:800; cursor:pointer; }
    .billing-switch button.active { color:white; background:var(--forest); }
    .billing-switch small { margin-left:5px; color:var(--green); }
    .billing-switch button.active small { color:var(--mint-bright); }
    .billing-note { margin:12px 0 0; color:var(--muted); font-size:12px; }
    .pricing-wrap { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:16px 0 88px; }
    .plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:16px; }
    .plan { position:relative; display:flex; flex-direction:column; min-width:0; padding:30px; border:1px solid var(--line); border-radius:24px; background:var(--white); box-shadow:0 12px 38px rgba(11,55,52,.055); }
    .plan.featured { color:white; border-color:var(--forest); background:var(--forest); box-shadow:0 26px 70px rgba(11,55,52,.22); transform:translateY(-8px); }
    .popular { position:absolute; top:17px; right:17px; padding:6px 9px; border-radius:999px; color:var(--forest); background:var(--mint-bright); font-size:10px; font-weight:900; letter-spacing:.05em; }
    .plan-label { color:var(--green); font-size:11px; font-weight:900; letter-spacing:.15em; }
    .featured .plan-label { color:var(--mint-bright); }
    .plan h2 { margin:8px 0 6px; font-size:29px; line-height:1.3; letter-spacing:-.04em; }
    .plan-for { min-height:45px; margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
    .featured .plan-for { color:#b8d2cd; }
    .price { display:flex; align-items:baseline; gap:5px; margin:27px 0 2px; }
    .price strong { font-size:42px; line-height:1; letter-spacing:-.055em; }
    .price span { color:var(--muted); font-size:13px; }
    .featured .price span { color:#aac7c1; }
    .bill-copy { min-height:39px; margin:5px 0 22px; color:var(--muted); font-size:11px; }
    .featured .bill-copy { color:#a9c9c2; }
    .plan-cta { min-height:50px; display:flex; align-items:center; justify-content:center; border:1px solid var(--forest); border-radius:12px; color:white; background:var(--forest); text-decoration:none; font-size:14px; font-weight:900; transition:transform .22s cubic-bezier(.2,.8,.2,1); }
    .plan-cta:hover { transform:translateY(-2px); }
    .featured .plan-cta { color:var(--forest); border-color:var(--mint-bright); background:var(--mint-bright); }
    .plan-limit { margin:21px 0 0; padding:15px; border-radius:13px; color:var(--forest); background:var(--mint-soft); }
    .featured .plan-limit { color:white; background:rgba(114,223,194,.12); }
    .plan-limit b { display:block; font-size:15px; }
    .plan-limit small { display:block; margin-top:3px; color:#4d5f5b; font-size:10px; }
    .featured .plan-limit small { color:#a9c9c2; }
    .features { display:grid; gap:11px; margin:22px 0 0; padding:22px 0 0; border-top:1px solid var(--line); list-style:none; }
    .featured .features { border-color:rgba(255,255,255,.14); }
    .features li { position:relative; padding-left:23px; font-size:13px; }
    .features li:before { content:"✓"; position:absolute; left:0; color:var(--green); font-weight:900; }
    .featured .features li:before { color:var(--mint-bright); }
    .section { width:min(1080px,calc(100% - 40px)); margin:0 auto; padding:80px 0; }
    .section-head { display:grid; grid-template-columns:.8fr 1.2fr; gap:50px; align-items:end; margin-bottom:30px; }
    .section-head h2 { margin:0; font-size:clamp(30px,4vw,48px); line-height:1.2; letter-spacing:-.055em; word-break:keep-all; }
    .section-head p { margin:0; color:var(--muted); font-size:15px; line-height:1.75; }
    .policy-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
    .policy-card { padding:24px; border:1px solid var(--line); border-radius:18px; background:var(--white); }
    .policy-card span { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; color:var(--forest); background:var(--mint-soft); font-weight:900; }
    .policy-card h3 { margin:18px 0 7px; font-size:17px; }
    .policy-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.65; }
    .topup { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:18px; margin-top:14px; padding:24px 28px; border-radius:20px; color:white; background:var(--forest-2); }
    .topup h3 { margin:0 0 4px; font-size:18px; }.topup p { margin:0; color:#b9d1cc; font-size:12px; }
    .topup div:not(:first-child) { min-width:142px; padding:13px 16px; border:1px solid rgba(255,255,255,.16); border-radius:12px; text-align:center; }
    .topup b { display:block; color:var(--mint-bright); font-size:15px; }.topup small { color:#b9d1cc; font-size:10px; }
    .faq { display:grid; gap:8px; }
    details { padding:0 22px; border:1px solid var(--line); border-radius:15px; background:var(--white); }
    summary { padding:19px 28px 19px 0; font-size:14px; font-weight:850; cursor:pointer; }
    details p { margin:0 0 20px; color:var(--muted); font-size:13px; line-height:1.7; }
    .closing { margin-top:50px; padding:76px 24px; color:white; background:var(--forest); text-align:center; }
    .closing img { width:172px; margin:0 auto 28px; }
    .closing h2 { max-width:720px; margin:0 auto; font-size:clamp(32px,5vw,60px); line-height:1.22; letter-spacing:-.055em; word-break:keep-all; }
    .closing p { margin:18px 0 28px; color:#aac8c2; }
    .closing a { min-height:52px; display:inline-flex; align-items:center; padding:0 22px; border-radius:12px; color:var(--forest); background:var(--mint-bright); text-decoration:none; font-weight:900; }
    footer { display:flex; justify-content:space-between; gap:20px; padding:25px clamp(20px,5vw,76px); color:#b8d2cd; background:var(--forest); border-top:1px solid rgba(255,255,255,.1); font-size:11px; }
    :where(button,a,summary):focus-visible { outline:3px solid var(--mint-bright); outline-offset:3px; }
    [hidden] { display:none!important; }
    @media (max-width:900px) { .plans { grid-template-columns:1fr; }.plan.featured { transform:none; }.plan-for { min-height:0; }.section-head { grid-template-columns:1fr; gap:14px; }.policy-grid { grid-template-columns:1fr; }.topup { grid-template-columns:1fr 1fr; }.topup > div:first-child { grid-column:1/-1; } }
    @media (max-width:600px) { .site-head { min-height:66px; padding:0 16px; }.site-head img { width:126px; }.head-actions a:first-child { display:none; }.hero { padding:48px 18px 30px; }.hero h1 { font-size:clamp(34px,9.5vw,40px); line-height:1.18; }.hero-copy { margin-top:16px; font-size:14px; line-height:1.65; }.billing-switch { width:100%; margin-top:22px; }.billing-switch button { flex:1; min-width:0; }.pricing-wrap,.section { width:min(100% - 28px,1080px); }.pricing-wrap { padding-top:8px; }.plan { padding:24px 21px; }.price strong { font-size:38px; }.section { padding:58px 0; }.topup { grid-template-columns:1fr; padding:22px; }.topup > div:first-child { grid-column:auto; }.topup div:not(:first-child) { min-width:0; }.closing { padding:60px 20px; } footer { flex-direction:column; } }
    @media (prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; transition:none!important; } }
