@font-face{font-family:'Pretendard Variable';src:url('/site/fonts/PretendardVariable-web.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
/* 앱 확정 팔레트: plan-palette-2026-09.md. 장식용 색/그라데이션 없음. */
:root{--brand:#1E5EFF;--brand-soft:#E4EDFF;--brand-ink:#1244C2;--canvas:#F1F5F9;--surface:#fff;--ink:#0F172A;--muted:#5B6B80;--line:#DAE1EC;--input-border:#7D889D;--success:#197E61;--success-soft:#DBF4E9;--success-on:#fff;--warning:#FFB245;--warning-soft:#FFE9CC;--warning-ink:#915E07;--warning-on:#0F172A;--error:#DC2626;--error-soft:#FFE5E2;--error-on:#fff;--sky-ink:#236680;--sky-soft:#B2E5FD;--apricot-ink:#9C4D18;--apricot-soft:#FFDCC8;--mint-ink:#196465;--mint-soft:#A9E2E2;--rose-ink:#8C2D6A;--rose-soft:#FFD9EE;--lime-ink:#4E6F30;--lime-soft:#DAF3C8;--lavender-ink:#663E9E;--lavender-soft:#E6DAFF;color-scheme:light;font-family:'Pretendard Variable',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.65;-webkit-text-size-adjust:100%}body,input,select,button{font-family:inherit}h1,h2,h3,p,li,a,label{word-break:keep-all;overflow-wrap:anywhere}h1,h2,h3{text-wrap:balance;line-height:1.3;letter-spacing:-.035em}p,li{text-wrap:pretty}h1{font-size:clamp(28px,4vw,42px);margin:10px 0 18px}h2{font-size:20px;margin:30px 0 14px}h3{font-size:18px}p{margin:10px 0 16px}a{color:var(--brand-ink);text-underline-offset:4px}a:hover{text-decoration:underline}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button,input,select{font-size:16px}button:disabled{cursor:not-allowed;background:var(--line);color:var(--muted)}:focus-visible{outline:3px solid var(--brand);outline-offset:3px}[hidden]{display:none!important}.skip-link{position:absolute;left:16px;top:-100px;z-index:100;background:var(--surface);padding:12px}.skip-link:focus{top:8px}.site{background:var(--surface);border-bottom:1px solid var(--line)}.site-inner{max-width:1120px;margin:auto;min-height:76px;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{font-size:22px;font-weight:850;letter-spacing:-.06em;color:var(--ink);text-decoration:none;white-space:nowrap;min-height:44px;display:flex;align-items:center}.site nav,.site-footer nav{display:flex;flex-wrap:wrap;gap:4px 22px}.site nav a,.site-footer nav a{min-height:44px;display:inline-flex;align-items:center;font-size:14px;font-weight:650;text-decoration:none;color:var(--muted)}.site nav a:hover,.site-footer nav a:hover{color:var(--brand)}main{max-width:1060px;margin:0 auto;padding:44px 28px 76px}.sub,.hint,.note,.muted,.foot-note,.net-caption{color:var(--muted)}.sub{max-width:640px;font-size:17px;margin-bottom:28px}.hint,.note,.net-caption{font-size:14px;line-height:1.7}.hint--warn,.badge{background:var(--warning-soft);color:var(--warning-ink);padding:10px 12px}.badge{display:block;font-size:14px;margin:12px 0}.home-heading{margin-bottom:26px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.home-heading h1{margin-bottom:8px}.home-heading .sub{margin:0}.year-note{font-size:14px;color:var(--muted);white-space:nowrap;margin:0 0 6px}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tool-link{display:flex;flex-direction:column;min-height:180px;padding:24px;border-radius:16px;background:var(--surface);color:var(--ink);text-decoration:none;border:1px solid var(--line);transition:border-color .15s,background .15s}.tool-link:hover{border-color:var(--brand);text-decoration:none;background:var(--brand-soft)}.tool-link.primary{grid-column:1/-1;background:var(--brand);border-color:var(--brand);color:white}.tool-link h2{font-size:20px;margin:0 0 10px}.tool-link p{font-size:15px;line-height:1.6;color:var(--muted);margin:0}.tool-link.primary p{color:#fff}.tool-link .tool-go{margin-top:auto;padding-top:22px;font-size:14px;font-weight:750}.home-notes{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:42px;border-top:1px solid var(--line);padding-top:8px}.home-notes a{display:inline-flex;align-items:center;min-height:44px}.calc-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.calc-layout>.result-side{position:sticky;top:24px}.card,.input-panel{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:16px;margin:0 0 22px}.card-title{font-size:20px;margin:0 0 20px}.field{margin-bottom:20px}.field:last-child{margin-bottom:0}label,.field-label{display:block;font-size:15px;font-weight:700;margin-bottom:8px}input:not([type=checkbox]),select{display:block;width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--input-border);border-radius:8px;background:var(--surface);color:var(--ink)}input[type=checkbox]{width:22px;height:22px;accent-color:var(--brand);flex-shrink:0}button,.button{min-height:44px;padding:10px 16px;border:1px solid var(--brand);border-radius:8px;background:var(--brand);color:#fff;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.button.secondary,.de-btn--ghost{background:var(--surface);color:var(--brand-ink)}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.toggle-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:12px 0;min-height:44px}.t-label{font-size:15px;font-weight:650}.t-desc{font-size:13px;color:var(--muted)}.switch{display:flex;align-items:center;min-width:44px;min-height:44px;justify-content:center}.knob{display:none}.result-card{background:var(--brand-soft);border-color:transparent;border-radius:20px}.result-head{font-size:15px;font-weight:700;margin:0 0 4px}.result-total{font-size:clamp(30px,3.5vw,44px);font-weight:800;line-height:1.3;letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:10px 0 22px;overflow-wrap:anywhere}.won{font-size:20px;margin-left:6px;font-weight:650}.rows{border-top:1px solid #C6D0DE;padding-top:10px}.row,.net-row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;font-size:14px}.v,.net-row strong{font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0}.k{color:var(--muted)}.net-rows{border-top:1px solid #C6D0DE;padding:14px 0}.nr-label{font-size:14px;margin:0;color:var(--muted)}.net-range{font-size:22px;font-weight:750;font-variant-numeric:tabular-nums}.ded-detail{border-top:1px solid #C6D0DE;margin-top:12px;padding-top:8px}.ded-detail summary{min-height:44px;cursor:pointer;padding:10px 0;font-size:14px}.ded-title{font-weight:700;font-size:14px}.promo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:22px 0 36px;background:transparent}.promo .lead{font-size:17px;font-weight:700;color:var(--ink);margin:0 0 6px}.promo p{font-size:14px;color:var(--muted);margin:0}.store-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.store-badges a{min-height:44px;display:flex;align-items:center}.store-badges img{display:block;max-width:100%;object-fit:contain}.criteria{max-width:740px;margin:36px 0}.criteria h2{font-size:20px}.criteria p,.criteria li{font-size:15px}.criteria ul{padding-left:22px}.more-calcs{border-top:1px solid var(--line);padding-top:12px}.more-calcs a{display:inline-flex;align-items:center;min-height:44px;margin-right:20px}.site-footer{border-top:1px solid var(--line);background:var(--surface)}.foot-inner{max-width:1120px;margin:auto;padding:28px 32px 40px}.foot-brand{font-size:19px;font-weight:800}.foot-note{font-size:12px;margin:10px 0}.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.stamp-chip{background:var(--surface);color:var(--muted);border-color:var(--input-border);font-size:14px}.stamp-chip.active{background:var(--brand-soft);color:var(--brand-ink);border-color:var(--brand)}.preset-editor,.day-editor{border-top:1px solid var(--line);padding-top:16px}.clock-row{display:grid;grid-template-columns:1fr 16px 1fr;align-items:center;gap:8px}.clock-day{display:none}.clock-row select{grid-column:1/-1}.clock-tilde{text-align:center}.cal{margin-top:20px}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.cal-dow{text-align:center;font-size:13px;padding:8px 0;color:var(--muted)}.cal-day{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;min-height:50px;padding:4px 0;border:0;background:var(--brand-soft);color:var(--brand-ink);font-size:14px}.cal-day--off{background:var(--surface);color:var(--ink)}.cal-day--out{color:var(--muted)}.cal-hours{font-size:11px}.cal-week-cap{font-size:12px;margin:4px 0 10px;color:var(--muted)}.cal-cap--holiday{color:var(--success)}.cal-legend{font-size:12px;color:var(--muted)}.de-controls,.summary-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.de-btn{font-size:13px}.de-title{font-size:15px;font-weight:700}.weeks-table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.weeks-table th,.weeks-table td{padding:10px 3px;border-bottom:1px solid var(--line)}.weeks-table th{font-size:11px;font-weight:600;color:var(--muted)}.num{text-align:right}.ctr{text-align:center}.wk-range{font-size:11px;color:var(--muted)}.wk-no{font-weight:700}.wk-yes{color:var(--success)}.wk-next{color:var(--warning-ink)}.diff-line{font-weight:700;color:var(--brand-ink)}.post-body{max-width:740px}.post-body h2{font-size:20px;margin-top:42px}.post-body h3{margin-top:28px}.post-body img{max-width:100%;height:auto}.post-meta{font-size:13px;color:var(--muted)}.post-tags{display:none}.card-carousel{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory}.card-carousel figure{flex:0 0 80%;margin:0;scroll-snap-align:start}.carousel-hint{font-size:12px;color:var(--muted)}.post-card{display:block;padding:20px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.post-card:hover strong{color:var(--brand)}.post-card strong{display:block;font-size:18px}.post-card-body>span{display:block;font-size:14px;color:var(--muted);margin-top:6px}.post-thumb,.post-cover{display:none}.related-posts{margin:38px 0;max-width:740px}.blog-group{margin:34px 0 48px}.blog-group h2{margin-bottom:0}.ad-slot{margin:32px auto;max-width:100%;text-align:center}.ad-label{font-size:11px;color:var(--muted)}.ad-box{display:flex;justify-content:center;max-width:100%;overflow:hidden}.question{max-width:700px}.question h1{font-size:32px}.question .answer{font-size:19px;line-height:1.9;margin:28px 0}.question .review{font-size:13px;color:var(--muted)}.embedded-tool{margin:42px 0;padding-top:16px;border-top:2px solid var(--line);scroll-margin-top:24px}.form-error{color:var(--error);font-size:14px}.worker{border-bottom:1px solid var(--line);padding:20px 0}.worker:first-child{padding-top:0}.worker h3{margin:0 0 16px}.payslip-line{border-bottom:1px solid #C6D0DE;padding:16px 0}.payslip-line h3{margin:0 0 10px}.legal-table{border-collapse:collapse;width:100%;font-size:14px}.legal-table th,.legal-table td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left}.handoff{max-width:620px}.install-bar{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);padding:8px 16px;display:flex;align-items:center;justify-content:center;gap:20px;z-index:60;min-height:56px}.install-bar a{font-size:14px;min-height:44px;display:flex;align-items:center}.web-app-install{padding-bottom:76px}
@media(max-width:700px){.site-inner{padding:8px 16px;min-height:66px;gap:14px}.logo{font-size:19px}.site nav{gap:0 14px}.site nav a{font-size:13px}main{padding:28px 16px 48px}.home-heading{display:block}.year-note{margin-top:16px}.tool-grid{grid-template-columns:1fr 1fr;gap:10px}.tool-link{padding:18px 16px;min-height:172px}.tool-link h2{font-size:20px}.tool-link p{font-size:14px}.tool-link.primary{min-height:160px}.home-notes{display:block}.home-notes>div+div{margin-top:24px}.calc-layout{display:block}.calc-layout>.result-side{position:static}.card,.input-panel{padding:18px 16px}.result-total{font-size:36px}.field-pair{gap:12px}.foot-inner{padding:24px 16px}.site-footer nav{gap:0 18px}.promo{gap:14px}.question h1{font-size:28px}.question .answer{font-size:17px}.weeks-table{font-size:11px}.wk-range{font-size:11px}.card-carousel figure{flex-basis:86%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.guide-step{display:grid;grid-template-columns:1fr 240px;gap:36px;align-items:start;padding:28px 0;border-bottom:1px solid var(--line)}.guide-step img{max-width:100%;height:auto;border-radius:12px}.guide-content{max-width:850px}.guide-content>section{margin-top:40px}.guide-callout{margin:36px 0;padding:22px;background:var(--surface);border:1px solid var(--line)}.guide-callout h2{margin:0 0 12px}.home-install{margin-top:28px}.home-install>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--muted);font-size:14px}fieldset.worker{margin:0;border:0;border-bottom:1px solid var(--line);padding:20px 0}fieldset.worker legend{font-weight:700;font-size:18px;padding-top:16px}form button.secondary{background:var(--surface);color:var(--brand-ink)}form [data-calculator]{margin-top:22px}
@media(max-width:700px){.guide-step{grid-template-columns:1fr;gap:16px}.guide-step img{max-width:240px;margin:auto}}
.site nav a,.site-footer nav a{min-width:44px;justify-content:center}
@media(min-width:360px) and (max-width:700px){.cal-grid{margin-inline:-14px}}

/* 118: readable controls with native pickers, and flat grouped article navigation. */
main a:not(.tool-link):not(.post-card):not(.button){display:inline-flex;align-items:center;min-height:44px;padding-block:8px}a.store-link{min-width:44px}.blog-group{margin:12px 0;border-bottom:1px solid var(--line);padding-bottom:12px}.blog-group>summary{cursor:pointer;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--brand-ink)}.blog-group>summary::after{content:"+";font-size:22px}.blog-group[open]>summary::after{content:"−"}.blog-group h2{font-size:20px;margin:0}.group-count{font-size:14px;font-weight:400;color:var(--muted);margin-left:8px}.input-localized{font-size:13px;font-weight:400;color:var(--muted);margin-top:4px;display:block}.clock-row .input-localized{grid-column:1/-1}.home-install>summary{color:var(--brand-ink);font-weight:700}.home-install>summary::after{content:"›";margin-left:10px;font-size:22px}.criteria details>summary{min-height:44px;padding-block:10px;cursor:pointer;font-weight:700;word-break:keep-all;text-wrap:balance}.result-card .note{margin-bottom:0}

/* 127 cross review: figures are ink; empty results and CTAs have explicit states. */
.v.muted,.payslip-line .net-value{color:var(--ink)}.severance-result[data-result-ready="false"] .result-total{display:none}.severance-result[data-result-ready="true"] .empty-result{display:none}.empty-result{font-size:18px;line-height:1.7}.result-jump{margin-top:8px}.result-jump a{min-height:44px}.switch{margin:0;cursor:pointer}.static-page .operator-table th{white-space:nowrap;width:112px}.static-page .legal-scroll{overflow-x:auto;max-width:100%;margin-block:16px}.static-page .legal-scroll table{min-width:640px}.static-page .legal-scroll th,.static-page .legal-scroll td{overflow-wrap:normal;word-break:keep-all;padding:12px 10px}.static-page .legal-scroll td:first-child{min-width:130px}.static-page .legal-scroll td:nth-child(2){min-width:160px}

/* 120 B: brand expression — one sentence, one real app screen, living example figures. No gradients or illustrations. */
h1{font-size:clamp(30px,5vw,40px)}
.home-hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:40px;align-items:center;margin:0 0 44px;padding:8px 0 36px;border-bottom:1px solid var(--line)}
.home-hero h1{margin:0 0 14px}
.home-hero .sub{margin:0 0 24px}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.hero-actions .button{min-height:48px;padding-inline:20px;font-size:16px}
.hero-shot{margin:0;justify-self:center;width:100%;max-width:260px}
.hero-shot img{display:block;width:100%;height:auto;border-radius:28px;border:1px solid var(--line);background:var(--surface)}
.hero-shot figcaption{font-size:12px;color:var(--muted);text-align:center;margin-top:8px}
.grid-title{font-size:20px;margin:0 0 6px}
.tool-example{display:block;margin-top:14px;font-size:14px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.5}
.tool-link.primary .tool-example{color:#fff}
.tool-link .tool-example+.tool-go{padding-top:12px}
.example-note{font-size:13px;color:var(--muted);margin:12px 0 0}
@media(max-width:700px){
 .home-hero{grid-template-columns:1fr;gap:24px;padding-bottom:28px;margin-bottom:32px}
 .hero-shot{max-width:220px}
 .hero-shot img{aspect-ratio:360/520;object-fit:cover;object-position:top}
 .tool-example{font-size:13px}
}

/* 120 C: install awareness — header CTA, mobile dock, result card with real app screens. */
.site-inner{gap:16px}.site nav{margin-left:auto}
.header-install{flex-shrink:0;min-height:44px;padding:0 16px;display:inline-flex;align-items:center;border-radius:8px;background:var(--brand);color:#fff;font-size:14px;font-weight:750;text-decoration:none;white-space:nowrap}
.header-install:hover{background:var(--brand-ink);text-decoration:none}
.install-dock{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 8px calc(8px + env(safe-area-inset-bottom)) 12px;background:var(--surface);border-top:1px solid var(--line)}
.install-dock img{border-radius:10px;flex-shrink:0}
.install-dock p{margin:0;flex:1;min-width:0;line-height:1.35}
.install-dock strong{display:block;font-size:14px}.install-dock span{display:block;font-size:13px;color:var(--muted)}
.install-dock .dock-install{min-height:44px;padding:0 18px;display:inline-flex;align-items:center;border-radius:8px;background:var(--brand);color:#fff;font-weight:750;font-size:15px;text-decoration:none}
.install-dock .dock-close{min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--muted);font-size:22px}
body.has-install-dock{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
.result-install{margin:0 0 28px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:16px}
.result-install .lead{font-size:18px;font-weight:750;color:var(--ink);margin:0 0 6px}
.result-install p{font-size:14px;color:var(--muted);margin:0 0 14px}
.ri-shots{display:flex;gap:10px;margin:0 0 16px}
.ri-shots img{width:120px;height:auto;border-radius:14px;border:1px solid var(--line)}
.result-install .store-badges{flex-wrap:nowrap;gap:6px}
.result-install .store-badges a{flex:0 1 auto;min-width:0}
.result-install .store-badges img{max-width:100%;height:auto}
.result-install [data-install=android] img{width:147px}.result-install [data-install=ios] img{width:143px}
@media(max-width:700px){
 .site nav{gap:0 10px}.header-install{padding:0 12px;font-size:13px}
 .result-install{padding:18px 16px}
 .ri-shots{justify-content:center}
}
@media(max-width:400px){.nav-pricing{display:none!important}}

/* 121 A: hero app demo — one orchestrated loop (3s hold, 400ms opacity crossfade). Reduced motion = first frame only. */
.hero-frame{position:relative;aspect-ratio:360/800;border-radius:28px;border:1px solid var(--line);background:var(--surface);overflow:hidden}
.hero-frame .hero-slide{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;object-fit:cover;object-position:top;opacity:0;transition:opacity .4s ease}
.hero-frame .hero-slide.is-active{position:relative;opacity:1}
.hero-frame .hero-slide:not(.is-active){pointer-events:none}
@media(max-width:700px){.hero-frame{aspect-ratio:360/520}.hero-frame .hero-slide.is-active{position:absolute}}
@media(prefers-reduced-motion:reduce){.hero-frame .hero-slide{transition:none}}

/* 121 B: trust facts — sourced statements only, no invented counts. */
.hero-note{font-size:13px;color:var(--muted);margin:12px 0 0}
.section-title{font-size:20px;margin:0 0 16px}
.trust{margin:48px 0 0}
.trust-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.trust-grid>li{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px}
.trust-k{font-size:13px;font-weight:700;color:var(--muted);margin:0 0 6px}
.trust-v{font-size:18px;font-weight:750;color:var(--ink);margin:0 0 8px;font-variant-numeric:tabular-nums;line-height:1.4}
.trust-d{font-size:14px;color:var(--muted);margin:0 0 10px}
.trust-links{display:flex;flex-direction:column;align-items:flex-start;margin:0}
.trust-links a{font-size:14px}
.trust .store-badges{flex-wrap:nowrap;gap:6px}.trust .store-badges a{flex:0 1 auto;min-width:0}.trust .store-badges img{max-width:100%;height:auto}
.trust [data-install=android] img{width:130px}.trust [data-install=ios] img{width:127px}
@media(max-width:700px){.trust-grid{grid-template-columns:1fr;gap:10px}.trust-grid>li{padding:18px 16px}}

/* 121 C: feature tabs. The only scroll-entry motion on the site (cards rise once, 60ms stagger, ≤400ms). */
.features{margin:48px 0 0}
.feature-tabs{display:inline-flex;gap:4px;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:0 0 18px}
.feature-tabs [role=tab]{min-height:44px;padding:0 20px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-weight:700}
.feature-tabs [role=tab][aria-selected=true]{background:var(--brand);color:#fff}
.feature-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.feature-panel:not([hidden]){animation:panel-in .2s ease}
@keyframes panel-in{from{opacity:0}to{opacity:1}}
.feature-card{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.feature-shot{aspect-ratio:360/500;overflow:hidden;background:var(--canvas);border-bottom:1px solid var(--line)}
.feature-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.feature-card figcaption{padding:16px 18px 18px}
.feature-card strong{display:block;font-size:17px;margin:0 0 4px}
.feature-card span{display:block;font-size:14px;color:var(--muted);line-height:1.6}
.feature-more{grid-column:1/-1;margin:4px 0 0}
.js-reveal .features[data-reveal]:not(.is-revealed) .feature-card{opacity:0;transform:translateY(12px)}
.js-reveal .features[data-reveal] .feature-card{transition:opacity .4s ease,transform .4s ease;transition-delay:calc(var(--i,0)*60ms)}
.feature-card strong,.feature-card span{word-break:keep-all;overflow-wrap:anywhere;text-wrap:pretty}
@media(max-width:700px){.feature-panel{grid-template-columns:1fr;gap:10px}.feature-card{flex-direction:row;align-items:center}.feature-shot{width:118px;flex-shrink:0;border-bottom:0;border-right:1px solid var(--line)}.feature-card figcaption{padding:12px 14px}.feature-card strong{font-size:16px}.feature-card span{font-size:14px}.feature-tabs{display:flex}.feature-tabs [role=tab]{flex:1}}
@media(prefers-reduced-motion:reduce){.feature-panel:not([hidden]){animation:none}.js-reveal .features[data-reveal] .feature-card{transition:none;opacity:1;transform:none}}

/* 121 D: calculator answers — the result card enters once, inputs share one focus treatment. */
.result-card.is-entering{animation:result-in .2s ease}
@keyframes result-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
input:not([type=checkbox]),select{transition:border-color .15s ease,outline-color .15s ease}
input:not([type=checkbox]):focus,select:focus{border-color:var(--brand);outline:3px solid var(--brand-soft);outline-offset:0}
input:not([type=checkbox]):focus-visible,select:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
.result-total [data-counting],.result-total[data-counting]{font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){.result-card.is-entering{animation:none}input:not([type=checkbox]),select{transition:none}}

/* 121 E: one hover/focus vocabulary — color shifts only (no shadows, no scale). */
a,button,.button,.tool-link,.feature-tabs [role=tab]{transition:color .15s ease,background-color .15s ease,border-color .15s ease}
.button:hover{background:var(--brand-ink);border-color:var(--brand-ink);text-decoration:none}
.button.secondary:hover{background:var(--brand-soft);color:var(--brand-ink);border-color:var(--brand)}
.feature-tabs [role=tab]:not([aria-selected=true]):hover{color:var(--ink);background:var(--canvas)}
.tool-link:focus-visible,.feature-tabs [role=tab]:focus-visible,.button:focus-visible,.header-install:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.tool-link.primary:hover{background:var(--brand-ink);border-color:var(--brand-ink)}
.trust-links a:hover,.feature-more a:hover{color:var(--brand)}
@media(hover:none){.button:hover{background:var(--brand);border-color:var(--brand)}.button.secondary:hover{background:var(--surface);border-color:var(--brand)}.tool-link:hover{background:var(--surface);border-color:var(--line)}.tool-link.primary:hover{background:var(--brand);border-color:var(--brand)}}
@media(prefers-reduced-motion:reduce){a,button,.button,.tool-link,.feature-tabs [role=tab]{transition:none}}

/* 121 F: <picture> wrappers must not change layout. */
picture{display:contents}

/* 121 G: one link from each calculator result to the indexed article behind the rule. */
.result-guide{font-size:14px;color:var(--muted);margin:-8px 0 20px}

/* 121 G: pricing summary — prices copied verbatim from /pricing.html; "무료" is the largest word for part-timers. */
.plans{margin:48px 0 0}
.plan-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:14px}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px}
.plan-k{font-size:13px;font-weight:700;color:var(--muted);margin:0 0 6px}
.plan-big{font-size:36px;font-weight:800;letter-spacing:-.04em;color:var(--ink);margin:0 0 8px;line-height:1.2}
.plan-d{font-size:14px;color:var(--muted);margin:0 0 10px}
.plan-opt{font-size:14px;color:var(--ink);margin:0}
.plan-list{list-style:none;margin:0;padding:0}
.plan-list li{display:grid;grid-template-columns:64px auto 1fr;gap:4px 14px;align-items:baseline;padding:10px 0;border-top:1px solid var(--line)}
.plan-list li:first-child{border-top:0;padding-top:0}
.plan-name{font-size:14px;font-weight:700}
.plan-list strong{font-size:16px;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}
.plan-list em{font-style:normal;font-size:14px;color:var(--muted)}
.plan-note{font-size:13px;color:var(--muted);margin:12px 0 0}
.plan-links{display:flex;flex-wrap:wrap;gap:0 18px;margin:4px 0 0}
@media(max-width:700px){.plan-grid{grid-template-columns:1fr;gap:10px}.plan{padding:18px 16px}.plan-list li{grid-template-columns:56px 1fr}.plan-list em{grid-column:1/-1}}
