:root{--bg: #f4ede1;--bg-elev: #faf5ec;--surface: #ffffff;--surface-sunken: #f0e8d8;--ink: #1f1b14;--ink-soft: #4a4338;--ink-mute: #877e6f;--line: #e5dac6;--line-strong: #d4c5a8;--primary: oklch(.62 .1 160);--primary-soft: oklch(.92 .06 160);--primary-ink: oklch(.32 .08 160);--secondary: oklch(.7 .13 35);--secondary-soft: oklch(.93 .05 35);--secondary-ink: oklch(.38 .1 35);--r-xs: 8px;--r-sm: 12px;--r-md: 18px;--r-lg: 24px;--r-xl: 32px;--sh-1: 0 1px 0 rgba(31,27,20,.04), 0 1px 2px rgba(31,27,20,.04);--sh-2: 0 1px 0 rgba(31,27,20,.04), 0 8px 24px -12px rgba(31,27,20,.18);--sh-3: 0 30px 60px -28px rgba(31,27,20,.22), 0 8px 16px -10px rgba(31,27,20,.12);--ease-out: cubic-bezier(.2,.7,.2,1);--t-fast: .14s;--t-med: .28s;--max-w: 1200px;--gutter: 24px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background var(--t-med) var(--ease-out),color var(--t-med) var(--ease-out)}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer;border:none;background:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(60% 50% at 85% 0%,color-mix(in oklab,var(--primary) 14%,transparent),transparent 70%),radial-gradient(50% 40% at 0% 100%,color-mix(in oklab,var(--secondary) 12%,transparent),transparent 70%);z-index:0}.wrap{max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter)}.site-header{position:sticky;top:0;z-index:100;background:color-mix(in oklab,var(--bg) 82%,transparent);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border-bottom:1px solid var(--line);transition:background var(--t-med) var(--ease-out)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}.brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;letter-spacing:-.025em;color:var(--ink)}.brand-icon{width:28px;height:28px;flex-shrink:0}.hero{position:relative;z-index:1;padding:72px 0 64px}.hero-content{max-width:580px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary-ink);background:var(--primary-soft);border:1px solid color-mix(in oklab,var(--primary) 30%,transparent);padding:5px 12px;border-radius:999px;margin-bottom:24px;animation:fadeUp .5s var(--ease-out) both}.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--primary);flex-shrink:0}.hero-h1{font-size:clamp(32px,5vw,52px);font-weight:800;line-height:1.08;letter-spacing:-.035em;color:var(--ink);margin:0 0 20px;animation:fadeUp .5s var(--ease-out) .08s both}.hero-h1 em{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;color:var(--primary-ink);letter-spacing:-.01em}.hero-sub{font-size:17px;line-height:1.65;color:var(--ink-soft);margin:0;animation:fadeUp .5s var(--ease-out) .16s both}.main{position:relative;z-index:1;padding:0 0 96px}.section-label{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-mute);margin:0 0 14px;animation:fadeUp .4s var(--ease-out) .2s both}.filter-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px;animation:fadeUp .4s var(--ease-out) .24s both}.filter-pill{padding:7px 16px;border-radius:999px;font-size:13px;font-weight:600;color:var(--ink-soft);background:var(--surface);border:1.5px solid var(--line);box-shadow:var(--sh-1);transition:background var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}.filter-pill:hover{border-color:var(--line-strong);color:var(--ink);background:var(--bg-elev)}.filter-pill.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 10px color-mix(in oklab,var(--primary) 45%,transparent)}.calc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;animation:fadeUp .45s var(--ease-out) .3s both}.calc-section{--cat-color: oklch(.6 .11 var(--cat-hue));margin-bottom:44px}.calc-section:last-child{margin-bottom:0}.calc-section-head{display:flex;align-items:center;gap:10px;margin:0 0 18px;animation:fadeUp .4s var(--ease-out) .26s both}.calc-section-dot{width:10px;height:10px;border-radius:50%;background:var(--cat-color);flex:none}.calc-section-title{font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin:0}.calc-section-count{font-size:13px;font-weight:600;color:var(--ink-mute);background:color-mix(in oklab,var(--cat-color) 12%,var(--surface));border:1px solid color-mix(in oklab,var(--cat-color) 22%,transparent);border-radius:999px;min-width:22px;padding:1px 8px;text-align:center}.calc-card{--cat-color: oklch(.6 .11 var(--cat-hue));--cat-soft: oklch(.93 .05 var(--cat-hue));--cat-ink: oklch(.3 .09 var(--cat-hue))}.calc-card-link{display:flex;flex-direction:column;height:100%;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-2);transition:transform var(--t-med) var(--ease-out),box-shadow var(--t-med) var(--ease-out),border-color var(--t-med) var(--ease-out)}.calc-card-link:hover{transform:translateY(-4px);box-shadow:var(--sh-3);border-color:var(--cat-color)}.calc-card-head{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 18px;background:var(--cat-soft);border-bottom:1px solid color-mix(in oklab,var(--cat-color) 18%,transparent)}.cat-badge{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cat-ink);background:color-mix(in oklab,var(--cat-color) 12%,var(--surface));border:1px solid color-mix(in oklab,var(--cat-color) 28%,transparent);padding:3px 10px;border-radius:999px}.calc-icon{width:46px;height:46px;border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--sh-2);display:flex;align-items:center;justify-content:center;color:var(--cat-color);flex-shrink:0}.calc-icon svg{width:22px;height:22px}.calc-card-body{flex:1;padding:20px 20px 14px;display:flex;flex-direction:column;gap:10px}.calc-title{font-size:17px;font-weight:700;letter-spacing:-.025em;color:var(--ink);margin:0;line-height:1.3}.calc-desc{font-size:14px;line-height:1.65;color:var(--ink-soft);margin:0}.calc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.tag{font-size:11px;font-weight:600;color:var(--ink-mute);background:var(--surface-sunken);border:1px solid var(--line);padding:2px 8px;border-radius:var(--r-xs);letter-spacing:.01em}.calc-card-foot{padding:14px 20px 18px;border-top:1px solid var(--line)}.calc-cta{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--cat-color);letter-spacing:-.01em}.cta-arrow{display:inline-block;transition:transform var(--t-fast) var(--ease-out)}.calc-card-link:hover .cta-arrow{transform:translate(5px)}.calc-card.is-coming-soon .calc-card-link{opacity:.6;cursor:default;pointer-events:none}.coming-badge{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);background:var(--surface-sunken);border:1px solid var(--line);padding:3px 10px;border-radius:999px}.empty-state{text-align:center;padding:72px 24px;color:var(--ink-soft)}.empty-state p{margin:0 0 8px;font-size:15px}.empty-hint{font-size:13px!important;color:var(--ink-mute)!important}.site-footer{position:relative;z-index:1;border-top:1px solid var(--line);padding:28px 0}.site-footer p{font-size:13px;color:var(--ink-mute);margin:0;text-align:center}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.hero{padding:48px 0 44px}.hero-h1{letter-spacing:-.025em}.hero-sub{font-size:15px}.main{padding-bottom:64px}.filter-strip{position:sticky;top:60px;z-index:50;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;margin:0 calc(-1 * var(--gutter)) 24px;padding:10px var(--gutter);background:color-mix(in oklab,var(--bg) 88%,transparent);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--line)}.filter-strip::-webkit-scrollbar{display:none}.filter-pill{flex:none;font-size:12.5px;padding:6px 13px}.calc-grid{grid-template-columns:1fr;gap:14px}.calc-section{margin-bottom:32px}.calc-section-head{margin-bottom:14px}.calc-card-head{padding:14px 16px 12px}.calc-icon{width:40px;height:40px}.calc-icon svg{width:20px;height:20px}.calc-card-body{padding:14px 16px 12px;gap:7px}.calc-tags{display:none}.calc-card-foot{padding:12px 16px 14px}}.seo-section{position:relative;z-index:1;border-top:1px solid var(--line);margin-top:8px;padding:56px 32px 96px}.seo-inner{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:48px}.seo-block h2,.seo-related h2{font-size:1.4rem;margin:0 0 16px;color:var(--ink);letter-spacing:-.01em}.seo-block h3{font-size:1.05rem;margin:22px 0 8px;color:var(--ink)}.seo-block p,.seo-block li{color:var(--ink-soft);line-height:1.7;font-size:.975rem}.seo-block p{margin:0 0 14px}.seo-block ul{margin:0 0 14px;padding-left:1.25em}.seo-block li{margin:0 0 6px}.seo-block a,.faq-answer a{color:var(--primary-ink);text-decoration:underline;text-underline-offset:2px}.faq-item{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:0 20px;margin-bottom:12px;box-shadow:var(--sh-1)}.faq-item summary{list-style:none;cursor:pointer;padding:18px 0;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:1.4rem;line-height:1;color:var(--ink-mute);flex-shrink:0}.faq-item[open] summary:after{content:"–"}.faq-answer{padding:0 0 18px}.faq-answer p{margin:0 0 10px;color:var(--ink-soft);line-height:1.7;font-size:.975rem}.faq-answer p:last-child{margin:0}.seo-related ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.seo-related li{margin:0}.seo-related li a{display:block;padding:14px 18px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font-weight:600;font-size:.95rem;box-shadow:var(--sh-1);transition:border-color var(--t-fast, .14s) ease,transform var(--t-fast, .14s) ease}.seo-related li a:hover{border-color:var(--primary);transform:translateY(-2px)}@media (max-width: 640px){.seo-section{padding:40px 20px 64px}}.footer-directory{border-top:1px solid var(--line);background:var(--bg-elev)}.footer-directory .wrap{padding-top:40px;padding-bottom:40px}.footer-directory h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute);margin:0 0 16px}.footer-directory ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px 24px}.footer-directory a{color:var(--ink-soft);font-size:.95rem;font-weight:500}.footer-directory a:hover{color:var(--primary-ink);text-decoration:underline;text-underline-offset:2px}.calc-list-fallback{margin:24px 0 0;padding-left:1.25em;line-height:2}.calc-list-fallback a{color:var(--primary-ink);text-decoration:underline;text-underline-offset:2px}
