:root { --ink:#171a17; --muted:#686f68; --paper:#f4f3ee; --card:#fffefa; --line:#deddd5; --lime:#c9ff57; --coral:#ff6b52; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Pretendard,"Apple SD Gothic Neo",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; word-break:keep-all; }
a { color:inherit; }
.nav { min-height:68px; padding:0 max(20px,4vw); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.logo { display:flex; align-items:center; gap:9px; font-weight:900; text-decoration:none; }
.mark { width:30px; height:30px; display:grid; place-items:center; background:var(--lime); border:2px solid var(--ink); border-radius:8px 8px 8px 2px; }
.nav-actions { display:flex; align-items:center; gap:9px; }
.nav-links { display:flex; gap:24px; margin-left:auto; margin-right:28px; }
.nav-links a { color:var(--muted); text-decoration:none; font-size:12px; font-weight:800; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 18px; border:1.5px solid var(--ink); border-radius:11px; background:var(--card); color:var(--ink); text-decoration:none; font:inherit; font-size:13px; font-weight:900; cursor:pointer; }
.button.primary { background:var(--lime); box-shadow:3px 3px 0 var(--ink); }
.button.dark { background:var(--ink); color:white; }
.button.wide { width:100%; min-height:52px; }
.landing { width:min(1120px,calc(100% - 40px)); margin:0 auto; }
.hero { min-height:600px; display:grid; grid-template-columns:1.25fr .75fr; align-items:center; gap:60px; padding:70px 0; }
.hero-product { grid-template-columns:1fr .9fr; min-height:690px; }
.trial-pill { display:inline-flex; padding:7px 11px; margin-bottom:12px; border:1px solid #a9ce58; border-radius:99px; background:#efffd0; color:#425d12; font-size:11px; font-weight:900; }
.eyebrow { color:#5c7922; font-size:11px; font-weight:900; letter-spacing:2px; }
.hero h1 { margin:14px 0 22px; font-size:clamp(45px,6.5vw,82px); line-height:1.02; letter-spacing:-4px; }
.hero h1 span { background:linear-gradient(transparent 66%,var(--lime) 0); }
.lead { max-width:620px; color:var(--muted); font-size:17px; line-height:1.8; }
.hero-actions { display:flex; gap:10px; margin-top:28px; }
.micro-trust { margin-top:16px; color:var(--muted); font-size:10px; }
.product-demo { padding:24px; border:2px solid var(--ink); border-radius:24px; background:var(--card); box-shadow:10px 10px 0 var(--ink); transform:rotate(1deg); }
.demo-top { display:flex; justify-content:space-between; align-items:center; padding-bottom:14px; border-bottom:1px solid var(--line); font-size:9px; font-weight:900; letter-spacing:1px; }
.demo-top b { padding:5px 8px; border-radius:99px; background:#eafbc7; color:#4f6e17; }
.demo-product { padding:22px 3px 16px; }
.demo-product i { display:block; color:var(--muted); font-size:10px; font-style:normal; }
.demo-product strong { display:block; margin-top:8px; font-size:26px; line-height:1.25; letter-spacing:-1px; }
.demo-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.demo-grid div { min-height:96px; padding:13px; border:1px solid var(--line); border-radius:12px; background:#faf9f5; }
.demo-grid small,.demo-output span { display:block; margin-bottom:7px; color:#688529; font-size:9px; font-weight:900; letter-spacing:.8px; }
.demo-grid b { font-size:12px; line-height:1.5; }
.demo-output { margin-top:9px; padding:15px; border-radius:12px; background:var(--ink); color:white; }
.demo-output span { color:var(--lime); }
.demo-output p { margin:0; font-size:15px; font-weight:800; line-height:1.5; }
.signal-strip { display:flex; justify-content:center; align-items:center; gap:18px; padding:19px 24px; border:1px solid var(--line); border-radius:15px; background:var(--card); font-size:12px; font-weight:900; }
.signal-strip b { color:#86ad39; }
.section-block { padding:100px 0; }
.section-heading { max-width:680px; margin-bottom:38px; }
.section-heading.center { margin-left:auto; margin-right:auto; text-align:center; }
.section-heading h2,.extension-copy h2,.final-cta h2 { margin:9px 0 12px; font-size:clamp(34px,4.5vw,54px); line-height:1.12; letter-spacing:-2px; }
.section-heading > p:last-child,.extension-copy > p { color:var(--muted); line-height:1.7; }
.flow-rail { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.flow-rail article { position:relative; min-height:230px; padding:20px; border:1px solid var(--line); border-radius:17px; background:var(--card); }
.flow-rail article > b { color:#7b9d35; font-size:11px; }
.flow-icon { width:45px; height:45px; display:grid; place-items:center; margin:24px 0 18px; border:2px solid var(--ink); border-radius:13px; background:var(--lime); font-weight:950; }
.flow-rail h3 { margin:0 0 8px; font-size:16px; }
.flow-rail p { margin:0; color:var(--muted); font-size:11px; line-height:1.6; }
.fallback-callout { display:grid; grid-template-columns:.35fr 1fr; gap:20px; margin-top:14px; padding:22px; border-radius:15px; background:#fff0ed; font-size:12px; line-height:1.7; }
.difference { border-top:1px solid var(--line); }
.compare { display:grid; grid-template-columns:1fr 60px 1fr; align-items:stretch; }
.compare article { padding:28px; border-radius:20px; }
.compare article > p { margin-top:0; font-size:12px; font-weight:900; letter-spacing:1px; }
.compare ul { margin:20px 0 0; padding:0; list-style:none; }
.compare li { padding:12px 0; border-bottom:1px solid rgba(0,0,0,.09); font-size:13px; }
.compare li::before { margin-right:9px; font-weight:900; }
.manual { background:#e7e6df; color:#676b66; }
.manual li::before { content:"×"; }
.with-product { background:var(--ink); color:white; }
.with-product li::before { content:"✓"; color:var(--lime); }
.compare-arrow { display:grid; place-items:center; font-size:30px; }
.byok-banner { display:grid; grid-template-columns:1.2fr .8fr; gap:30px; align-items:center; margin-top:20px; padding:25px; border:2px solid var(--ink); border-radius:17px; background:var(--lime); }
.byok-banner span { display:block; margin-bottom:5px; font-size:10px; font-weight:900; }
.byok-banner strong { font-size:17px; line-height:1.45; }
.byok-banner p { margin:0; font-size:11px; line-height:1.6; }
.extension-section { display:grid; grid-template-columns:.75fr 1.25fr; gap:70px; align-items:center; padding-left:45px; padding-right:45px; border-radius:28px; background:#e8e6de; }
.extension-copy .button { margin:16px 0 10px; }
.extension-copy small { display:block; color:var(--muted); font-size:10px; }
.install-steps { display:grid; gap:9px; }
.install-steps article { display:grid; grid-template-columns:44px 1fr; gap:15px; padding:17px; border:1px solid #d1d0c8; border-radius:14px; background:var(--card); }
.install-steps article > b { width:36px; height:36px; display:grid; place-items:center; border-radius:11px; background:var(--lime); }
.install-steps strong { font-size:13px; }
.install-steps p { margin:5px 0 0; color:var(--muted); font-size:11px; line-height:1.55; }
.install-steps code { padding:2px 5px; border-radius:4px; background:#ecebe5; font-size:10px; }
.pricing-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; align-items:stretch; }
.pricing-cards article { position:relative; padding:27px; border:1px solid var(--line); border-radius:20px; background:var(--card); }
.pricing-cards article > span { font-size:12px; font-weight:900; }
.pricing-cards article > small { color:var(--muted); font-size:10px; }
.plan-price { margin:14px 0 3px; font-size:35px; font-weight:950; letter-spacing:-1.5px; }
.pricing-cards ul { min-height:158px; padding:18px 0 0; list-style:none; }
.pricing-cards li { padding:8px 0; border-bottom:1px solid var(--line); font-size:11px; }
.pricing-cards li::before { content:"✓"; color:#668826; margin-right:7px; font-weight:900; }
.pricing-cards .annual-card { border:2px solid var(--ink); box-shadow:7px 7px 0 var(--ink); background:#fbfff2; }
.annual-card em { position:absolute; right:16px; top:-12px; padding:6px 10px; border-radius:99px; background:var(--coral); color:white; font-size:9px; font-style:normal; font-weight:900; }
.final-cta { margin:30px 0 100px; padding:65px 30px; text-align:center; border-radius:28px; background:var(--ink); color:white; }
.final-cta .eyebrow { color:var(--lime); }
.final-cta p { color:#b9beb9; }
.price-card { padding:32px; background:var(--card); border:2px solid var(--ink); border-radius:24px; box-shadow:9px 9px 0 var(--ink); }
.price-card .price { margin:14px 0; font-size:47px; font-weight:950; letter-spacing:-2px; }
.price-card .price small { font-size:13px; color:var(--muted); letter-spacing:0; }
.mini-prices { display:grid; grid-template-columns:1fr 1.35fr; gap:8px; margin:16px 0; }
.mini-prices > div { position:relative; display:grid; gap:5px; padding:14px; border:1px solid var(--line); border-radius:13px; }
.mini-prices .featured { border:2px solid var(--ink); background:#f7ffe7; }
.mini-prices b { font-size:13px; }
.mini-prices strong { font-size:22px; letter-spacing:-1px; }
.mini-prices small { color:var(--muted); font-size:10px; }
.mini-prices span { position:absolute; right:7px; top:-10px; padding:3px 7px; border-radius:20px; background:var(--coral); color:white; font-size:9px; font-weight:900; }
.price-card ul { padding:0; margin:23px 0; list-style:none; }
.price-card li { padding:9px 0; border-bottom:1px solid var(--line); font-size:13px; }
.price-card li::before { content:"✓"; color:#5d8710; font-weight:900; margin-right:8px; }
.note { color:var(--muted); font-size:11px; line-height:1.65; }
.how { padding:70px 0 90px; }
.how h2 { font-size:36px; letter-spacing:-1.5px; }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.step { min-height:155px; padding:22px; border:1px solid var(--line); border-radius:17px; background:var(--card); }
.step b { display:block; color:#6a8c28; margin-bottom:25px; }
.step strong { display:block; font-size:17px; margin-bottom:7px; }
.step span { color:var(--muted); font-size:12px; line-height:1.6; }
.auth-shell { min-height:calc(100vh - 68px); display:grid; place-items:center; padding:35px 20px; }
.auth-card { width:min(440px,100%); padding:30px; background:var(--card); border:1px solid var(--line); border-radius:22px; box-shadow:0 24px 60px rgba(0,0,0,.08); }
.auth-card h1 { margin:0 0 7px; font-size:27px; }
.auth-card > p { margin:0 0 24px; color:var(--muted); font-size:13px; }
label { display:block; margin:14px 0 7px; font-size:12px; font-weight:850; }
input { width:100%; min-height:46px; padding:0 13px; border:1px solid var(--line); border-radius:10px; background:white; font:inherit; }
.error { padding:11px; border-radius:9px; background:#fff0ed; color:#a63928; font-size:12px; }
.switch { margin-top:18px !important; text-align:center; }
.billing-wrap { width:min(820px,calc(100% - 40px)); margin:45px auto 90px; }
.billing-head { text-align:center; margin-bottom:25px; }
.billing-head h1 { margin:8px 0; font-size:35px; }
.billing-grid { display:grid; grid-template-columns:1fr .8fr; gap:18px; }
.billing-card,.summary-card,.legal-card { padding:28px; background:var(--card); border:1px solid var(--line); border-radius:20px; }
.billing-card { border:2px solid var(--ink); box-shadow:7px 7px 0 var(--ink); }
.billing-card .price { font-size:43px; font-weight:950; }
.plan-options { display:grid; gap:10px; }
.plan-option { width:100%; min-height:77px; padding:14px; display:flex; align-items:center; justify-content:space-between; text-align:left; border:1px solid var(--line); border-radius:14px; background:white; color:var(--ink); cursor:pointer; }
.plan-option.selected { border:2px solid var(--ink); box-shadow:3px 3px 0 var(--ink); background:#faffef; }
.plan-option span { display:grid; gap:3px; }
.plan-option b { font-size:15px; }
.plan-option small { color:var(--muted); font-size:10px; }
.plan-option strong { font-size:20px; }
.plan-option em { width:max-content; padding:3px 7px; border-radius:20px; background:var(--coral); color:white; font-size:9px; font-style:normal; font-weight:900; }
.billing-card ul { padding-left:20px; color:#394039; font-size:13px; line-height:2; }
.agreement { display:flex; gap:8px; align-items:flex-start; margin:18px 0; font-size:11px; line-height:1.5; color:var(--muted); }
.agreement input { width:16px; min-height:16px; margin-top:1px; }
.result-card { width:min(500px,calc(100% - 40px)); margin:90px auto; text-align:center; padding:38px; background:var(--card); border-radius:22px; border:1px solid var(--line); }
.result-card .icon { font-size:50px; }
.legal { width:min(800px,calc(100% - 40px)); margin:45px auto 90px; }
.legal-card h2 { margin-top:30px; }
.legal-card p,.legal-card li { color:#4d554d; font-size:13px; line-height:1.8; }
.footer { padding:28px 4vw; border-top:1px solid var(--line); color:var(--muted); font-size:10px; line-height:1.8; text-align:center; }
@media(max-width:900px){ .flow-rail{grid-template-columns:1fr 1fr}.pricing-cards{grid-template-columns:1fr}.extension-section{grid-template-columns:1fr;gap:35px}.pricing-cards ul{min-height:0} }
@media(max-width:800px){ .hero,.billing-grid{grid-template-columns:1fr}.hero{padding:45px 0}.hero-product{gap:35px}.product-demo{transform:none}.steps{grid-template-columns:1fr 1fr}.hero h1{letter-spacing:-2.5px}.nav-actions .hide-mobile,.nav-links{display:none}.signal-strip{overflow-x:auto;justify-content:flex-start}.signal-strip span{white-space:nowrap}.compare{grid-template-columns:1fr}.compare-arrow{height:60px;transform:rotate(90deg)}.byok-banner{grid-template-columns:1fr}.extension-section{padding:55px 25px}.fallback-callout{grid-template-columns:1fr} }
@media(max-width:520px){ .steps,.flow-rail{grid-template-columns:1fr}.hero-actions{display:grid}.price-card{box-shadow:5px 5px 0 var(--ink)}.demo-grid{grid-template-columns:1fr 1fr}.section-block{padding:70px 0}.extension-section{margin-left:-8px;margin-right:-8px}.product-demo{box-shadow:5px 5px 0 var(--ink)} }
