.blog-article,.blog-hub{--blog-ink:#183f35;--blog-muted:#60776c;--blog-line:#d9e1d5;--blog-paper:#faf9f2;--blog-blue:#edf4f8;color:var(--blog-ink);background:var(--blog-paper)}
.blog-hero{max-width:1320px;margin:0 auto;padding:80px 40px 65px;display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}.blog-back{display:block;color:var(--blog-muted);margin-bottom:35px;font-size:14px}.blog-hero h1{font-size:clamp(42px,4.6vw,68px);line-height:1.04;letter-spacing:-.045em;margin:20px 0 24px;font-weight:500}.blog-lead{font-size:21px;line-height:1.55;color:var(--blog-muted);max-width:540px}.blog-meta{display:flex;flex-wrap:wrap;gap:10px 17px;font-size:12px;color:var(--blog-muted);margin-top:28px}.blog-meta span+time:before,.blog-meta time+span:before{content:'·';margin-right:15px}.blog-hero figure{margin:0;position:relative;border:10px solid #e3e5d8;outline:1px solid #c6d7c8;border-radius:24px;overflow:hidden;transform:rotate(1.5deg);box-shadow:0 20px 60px #183f3514}.blog-hero figure>img{width:100%;height:450px;object-fit:cover;display:block}.blog-hero figcaption{position:absolute;left:16px;right:16px;bottom:16px;background:#faf9f2f5;border-radius:10px;padding:17px;display:grid;grid-template-columns:1fr auto;gap:6px}.blog-hero figcaption span:first-child{grid-column:1/-1;font:10px/1.4 monospace;letter-spacing:.15em;color:var(--blog-muted)}.blog-hero figcaption strong{font-weight:500;font-size:20px}.blog-hero figcaption span:last-child{font:12px monospace;align-self:center;color:var(--blog-muted)}
.blog-layout{max-width:1320px;margin:auto;display:grid;grid-template-columns:225px minmax(0,1fr);gap:64px;padding:45px 40px 100px;border-top:1px solid var(--blog-line)}.blog-toc{align-self:start;position:sticky;top:115px;font-size:12px;max-height:calc(100vh - 140px);overflow:auto;scrollbar-width:thin;padding-right:12px}.blog-toc summary{font:11px monospace;letter-spacing:.12em;margin-bottom:18px;list-style:none;display:flex;justify-content:space-between;cursor:pointer}.blog-toc nav{display:grid;gap:0}.blog-toc nav a{display:flex;gap:12px;padding:9px 0;color:#536e63;line-height:1.45;text-decoration:none;border-bottom:1px solid #d9e1d570}.blog-toc nav a span{font:10px monospace;opacity:.65;padding-top:3px}.blog-toc nav a:hover{color:#167d65}.blog-toc-next{display:block;font-size:12px;line-height:1.6;margin-top:22px;text-decoration:none;padding:15px;background:#eaf0e2;border-radius:8px}.blog-toc-next strong{font-weight:500}
.blog-prose{min-width:0;max-width:875px}.blog-prose section{scroll-margin-top:120px;margin-bottom:68px}.blog-prose h2{font-size:clamp(29px,3vw,42px);font-weight:500;line-height:1.15;letter-spacing:-.035em;margin:0 0 25px}.blog-prose h3{font-size:22px;font-weight:600;line-height:1.3;letter-spacing:-.02em;margin:30px 0 12px}.blog-prose p,.blog-prose li{font-size:17px;line-height:1.8;color:#496359}.blog-prose p{margin:0 0 20px}.blog-prose strong{color:var(--blog-ink);font-weight:600}.blog-prose a{color:#16795e;text-underline-offset:3px}.blog-prose a:hover{color:#0b4b39}.blog-prose ul,.blog-prose ol{padding-left:24px}.blog-prose li{padding-left:6px;margin:0 0 15px}.blog-note{background:#eaf0e2;border:1px solid #d8e2cd;border-radius:14px;padding:24px 28px;margin:30px 0}.blog-note>strong{display:block;font-size:19px;margin-bottom:8px}.blog-note p{font-size:15px;margin:0}.blog-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:30px 0}.blog-scope-grid article{background:white;border:1px solid var(--blog-line);border-radius:14px;padding:20px}.blog-scope-grid article>span{font:10px monospace;letter-spacing:.06em}.blog-scope-grid h3{font-size:20px;margin:18px 0 12px}.blog-scope-grid p{font-size:14px;line-height:1.65}.blog-scope-grid article>strong{font-size:13px}.blog-cost-ledger{border:1px solid var(--blog-line);border-radius:16px;overflow:hidden;background:#fff}.blog-cost-ledger article{display:flex;gap:22px;padding:26px;border-bottom:1px solid var(--blog-line)}.blog-cost-ledger article:last-child{border:0}.blog-ledger-number{font:12px monospace;color:#64897a;padding-top:7px}.blog-cost-ledger h3{font-size:20px;margin:0 0 12px}.blog-cost-ledger p{font-size:14px;line-height:1.7;margin:0 0 10px}.blog-sources-inline{font-size:11px;line-height:1.8}.blog-equation{background:#173e34;color:#f7f8e9;padding:28px;border-radius:16px;margin:30px 0}.blog-equation>span{font-size:12px;letter-spacing:.06em}.blog-equation>strong{display:block;font-size:clamp(22px,3vw,34px);line-height:1.3;color:#dcffa5;margin:15px 0}.blog-equation p,.blog-equation a{color:#c6d9c9;font-size:13px;margin:0}.blog-scenarios{display:grid;gap:24px;margin:30px 0}.blog-scenarios article{background:#fff;border:1px solid var(--blog-line);border-radius:18px;overflow:hidden}.blog-scenarios header{background:#edf2e8;padding:22px 26px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px}.blog-scenarios header>span{grid-column:1/-1;font:10px monospace;letter-spacing:.09em}.blog-scenarios h3{font-size:24px;margin:0}.blog-scenarios header>strong{font-size:30px}.blog-scenarios small{font-size:12px;font-weight:400;margin-left:4px}.blog-usage{display:flex;flex-wrap:wrap;gap:18px;padding:20px 26px;background:#f7f9f4;margin:0}.blog-usage dt{font-size:11px;color:var(--blog-muted)}.blog-usage dd{font-size:13px;margin:5px 0 0}.blog-receipt{padding:10px 26px;margin:0}.blog-receipt>div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px dashed var(--blog-line);font-size:13px;line-height:1.4}.blog-receipt dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}.blog-scenarios article>p{font-size:12px;line-height:1.7;padding:15px 26px;margin:0;color:var(--blog-muted)}.blog-assumptions{border:1px solid var(--blog-line);border-radius:12px;padding:20px;margin:25px 0}.blog-assumptions summary{cursor:pointer;font-size:15px;font-weight:600}.blog-assumptions p{font-size:14px;margin:18px 0 0}
.blog-packages{border:1px solid var(--blog-line);background:white;border-radius:15px;overflow:hidden}.blog-packages details{border-bottom:1px solid var(--blog-line)}.blog-packages details:last-child{border:0}.blog-packages summary{list-style:none;display:flex;align-items:center;gap:15px;padding:18px 22px;cursor:pointer}.blog-packages summary:hover{background:#f3f7ee}.blog-package-number{font:11px monospace;color:var(--blog-muted)}.blog-packages summary strong{font-size:15px;display:block}.blog-packages summary small{font-size:12px;color:var(--blog-muted);display:block;margin-top:5px}.blog-packages summary b{margin-left:auto;color:#518a6e;font-size:22px;font-weight:400}.blog-packages details[open] summary b{transform:rotate(45deg)}.blog-packages details>div{padding:0 22px 18px 50px}.blog-packages p,.blog-packages li{font-size:14px}.blog-packages ul{columns:2;column-gap:25px;margin-bottom:0}.blog-packages li{break-inside:avoid;margin-bottom:5px;line-height:1.5}.blog-checklist{list-style:none;padding:0!important}.blog-checklist li{border-left:3px solid #bed694;padding:2px 0 2px 20px;margin-bottom:24px}.blog-calculator{padding:26px;background:var(--blog-blue);border:1px solid #cbdde6;border-radius:18px;margin:25px 0}.blog-calculator-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.blog-calculator label{font-size:12px;line-height:1.5;color:#325c64}.blog-calculator input{width:100%;padding:12px;margin-top:6px;border:1px solid #bad0db;border-radius:8px;background:#fff;color:#254b55;font-family:inherit;font-size:18px}.blog-calculator-result{margin-top:24px;border-top:1px solid #cbdde6;padding-top:24px}.blog-calculator-result>span{font:10px monospace;letter-spacing:.12em}.blog-calculator output{display:block;font-size:clamp(34px,5vw,54px);font-weight:600;letter-spacing:-.03em;margin:8px 0}.blog-calculator-result p{font-size:13px;margin-bottom:10px}.blog-calculator-result small{display:block;font-size:11px;line-height:1.6;color:#547282}.blog-prose pre{background:#132d29;color:#e4f0df;padding:25px;border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.8;margin:25px 0;tab-size:2}.blog-prose code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.blog-architecture{margin:30px 0;padding:30px;background:#edf2e8;border:1px solid var(--blog-line);border-radius:18px}.blog-architecture figcaption{font:11px monospace;letter-spacing:.1em;text-align:center;margin-bottom:22px}.blog-architecture-clients{display:flex;gap:12px;justify-content:center}.blog-architecture-clients>span{flex:1;text-align:center;background:#fff;border:1px solid #cddccc;padding:15px 8px;border-radius:8px;font-size:13px}.blog-architecture small{display:block;font-size:10px;margin-top:6px;color:#658474;line-height:1.5}.blog-architecture-edge{border:1px solid #bed0be;border-radius:10px;background:#fff;text-align:center;padding:20px;margin:28px 0;position:relative}.blog-architecture-edge:before,.blog-architecture-edge:after{content:'↓';position:absolute;left:50%;font-size:18px;color:#6d987d}.blog-architecture-edge:before{top:-27px}.blog-architecture-edge:after{bottom:-27px}.blog-architecture-core{display:flex;align-items:center;justify-content:center;gap:15px;background:#173e34;color:#e8f3df;border-radius:10px;padding:23px 16px;margin-bottom:26px;font-size:16px}.blog-architecture-core small{color:#c0d4ba}.blog-architecture p{text-align:center;font-size:11px;margin:20px 0 0}.blog-source-note{border-top:1px solid var(--blog-line);padding-top:32px}.blog-source-note h2{font-size:22px}.blog-source-note p{font-size:13px}.blog-next{display:block;background:#eaf0e2;border-radius:14px;padding:26px;margin-top:25px;text-decoration:none}.blog-next span{font:10px monospace;letter-spacing:.1em;display:block;margin-bottom:12px}.blog-next strong{font-size:25px;line-height:1.3;font-weight:500;display:block}
.blog-hub{padding:85px 40px 100px}.blog-hub>h1,.blog-hub>p,.blog-hub>.ed-kicker,.blog-post-grid{max-width:1150px;margin-left:auto;margin-right:auto}.blog-hub>.ed-kicker{display:block}.blog-hub>h1{font-size:clamp(45px,6vw,80px);font-weight:500;line-height:1.05;letter-spacing:-.045em;margin-top:20px;margin-bottom:24px}.blog-hub>h1 em{font-family:Georgia,serif;font-weight:400;color:#668476}.blog-hub>p{font-size:20px;color:var(--blog-muted);line-height:1.6;margin-bottom:50px}.blog-post-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.blog-post-grid article{background:white;border:1px solid var(--blog-line);border-radius:20px;overflow:hidden;transition:transform .2s}.blog-post-grid article:hover{transform:translateY(-4px)}.blog-post-grid a{text-decoration:none;color:inherit}.blog-post-grid img{display:block;width:100%;height:auto;aspect-ratio:1.7;object-fit:cover}.blog-post-grid article div{padding:28px}.blog-post-grid h2{font-size:32px;line-height:1.2;font-weight:500;letter-spacing:-.03em;margin:15px 0}.blog-post-grid p{font-size:16px;line-height:1.6;color:var(--blog-muted)}.blog-read{display:block;margin-top:25px;font-weight:600;color:#22765c}
@media(max-width:1050px){.blog-hero{gap:30px;padding:50px 28px}.blog-hero figure>img{height:380px}.blog-layout{grid-template-columns:180px minmax(0,1fr);gap:30px;padding:35px 28px 70px}.blog-scope-grid{grid-template-columns:1fr}.blog-scope-grid article{padding:20px}.blog-scope-grid p{margin-bottom:12px}.blog-scope-grid h3{margin-top:10px}.blog-toc{top:95px}.blog-hero h1{font-size:46px}}
@media(max-width:760px){.blog-hero{display:flex;flex-direction:column;padding:32px 22px 38px;gap:30px;align-items:stretch}.blog-back{margin-bottom:25px}.blog-hero h1{font-size:42px;margin-top:15px}.blog-lead{font-size:18px}.blog-hero figure{transform:none;border-width:6px}.blog-hero figure>img{height:auto;aspect-ratio:1.7}.blog-hero figcaption{position:static;border-radius:0;display:flex;flex-wrap:wrap;gap:8px 15px;padding:13px}.blog-hero figcaption span:first-child{width:100%}.blog-hero figcaption strong{font-size:17px}.blog-layout{display:flex;flex-direction:column;gap:36px;padding:24px 22px 55px}.blog-toc{position:static;max-height:none;padding:0}.blog-toc details{padding:18px;border:1px solid var(--blog-line);border-radius:10px;background:#f0f3e9}.blog-toc nav{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.blog-toc nav a{font-size:11px}.blog-toc-next{display:none}.blog-prose p,.blog-prose li{font-size:16px;line-height:1.75}.blog-prose h2{font-size:30px}.blog-prose h3{font-size:21px}.blog-prose section{margin-bottom:45px;scroll-margin-top:90px}.blog-cost-ledger article{padding:20px 16px;gap:12px}.blog-cost-ledger h3{font-size:19px}.blog-cost-ledger p{font-size:14px}.blog-note{padding:20px}.blog-note p{font-size:14px}.blog-scenarios header{padding:20px;grid-template-columns:1fr}.blog-scenarios h3{font-size:23px}.blog-usage,.blog-receipt{padding-left:20px;padding-right:20px}.blog-scenarios article>p{padding:16px 20px}.blog-packages summary{padding:16px 14px;gap:10px}.blog-packages summary strong{font-size:14px}.blog-packages summary small{font-size:11px}.blog-packages details>div{padding:0 18px 15px}.blog-packages ul{columns:1}.blog-packages p,.blog-packages li{font-size:14px}.blog-calculator{padding:20px}.blog-calculator-fields{gap:14px}.blog-calculator label:last-child{grid-column:1/-1}.blog-prose pre{padding:18px;font-size:11px}.blog-architecture{padding:18px 12px}.blog-architecture-clients{gap:6px}.blog-architecture-clients>span{font-size:11px;padding:12px 5px}.blog-architecture-core{font-size:13px}.blog-architecture-core img{width:36px;height:36px}.blog-hub{padding:40px 22px 60px}.blog-post-grid{grid-template-columns:1fr}.blog-post-grid article div{padding:23px}.blog-post-grid h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){.blog-post-grid article{transition:none}}
