:root{--cream:#f1efe8;--paper:#fafaf7;--ink:#2c2c2a;--ink-soft:#5f5e5a;--emerald:#00ae8d;--em-mid:#008a71;--em-deep:#065;--forest:#0a4f3a;--mint:#a8ddd4;--tint:#e6f7f4;--line:#2c2c2a24;--page:1180px;--reading:720px;--gutter:clamp(20px, 4vw, 48px);--display:var(--font-poppins), system-ui, sans-serif;--body:var(--font-lato), system-ui, sans-serif;--ease-out:cubic-bezier(.23, 1, .32, 1)}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-padding-top:96px}body{background:var(--cream);color:var(--ink);font-family:var(--body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.7}img,svg,video{max-width:100%;display:block}a{color:inherit}button,input,textarea,select{font:inherit}::selection{background:var(--mint);color:var(--ink)}:focus-visible{outline:2.5px solid var(--em-deep);outline-offset:4px;border-radius:3px}[data-theme=dark] :focus-visible{outline-color:var(--mint)}.skip-link{z-index:100;background:var(--ink);color:var(--cream);font-family:var(--display);transition:transform .16s var(--ease-out);border-radius:999px;padding:10px 18px;font-size:.82rem;font-weight:600;text-decoration:none;position:fixed;top:14px;left:16px;transform:translateY(-80px)}.skip-link:focus-visible{transform:translateY(0)}.site-header{z-index:20;width:min(100%, var(--page));padding:24px var(--gutter);color:var(--cream);justify-content:space-between;align-items:center;gap:24px;margin-inline:auto;display:flex;position:absolute;inset:0 0 auto}.site-brand,.site-nav,.button,.text-link,.back-link,.post-meta,.article-kicker,.article-byline,.blog-footer,.article-toc,.callout-label,.principle-list strong{font-family:var(--display)}.site-brand{letter-spacing:-.01em;align-items:center;gap:11px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{background:var(--emerald);border-radius:3px;width:11px;height:11px;transform:rotate(45deg);box-shadow:0 0 20px #00ae8db3}.brand-muted{color:var(--ink-soft);font-weight:500}.site-nav{align-items:center;gap:clamp(18px,3vw,34px);font-size:.76rem;font-weight:600;display:flex}.site-nav a{text-decoration:none;transition:color .16s}.site-nav .nav-portfolio{border:1px solid #f1efe847;border-radius:999px;padding:9px 15px}.site-nav .nav-portfolio:active,.button:active,.text-link:active,.feature-visual:active{transform:scale(.97)}.eyebrow{color:var(--em-deep);font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:11px;margin:0 0 18px;font-size:.72rem;font-weight:700;line-height:1.4;display:flex}[data-theme=dark] .eyebrow{color:var(--emerald)}.eyebrow>span{background:currentColor;border-radius:2px;flex:none;width:8px;height:8px;transform:rotate(45deg)}.article-hero h1{font-family:var(--display);letter-spacing:-.055em;margin:0;font-size:clamp(3.35rem,7vw,6.8rem);font-weight:700;line-height:.96}.article-hero h1 em{font-family:var(--font-poppins-italic), var(--display);color:var(--mint);font-weight:600}.article-dek{color:#f1efe8c7;max-width:42rem;margin:28px 0 0;font-size:clamp(1.08rem,1.5vw,1.28rem);line-height:1.6}.button{letter-spacing:.01em;min-height:48px;transition:transform .14s var(--ease-out), background-color .18s ease, color .18s ease, box-shadow .18s ease;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:13px 24px;font-size:.82rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.button-primary{background:var(--emerald);color:var(--ink)}.text-link{width:fit-content;color:var(--em-deep);text-underline-offset:4px;transition:color .16s ease, transform .14s var(--ease-out);align-items:center;gap:8px;font-size:.82rem;font-weight:700;display:inline-flex}.article-next h2{font-family:var(--display);letter-spacing:-.045em;margin:0;font-size:clamp(2.25rem,4.4vw,4.4rem);font-weight:700;line-height:1.02}.feature-card{border:1px solid var(--line);background:var(--paper);border-radius:28px;grid-template-columns:minmax(0,1.16fr) minmax(300px,.84fr);display:grid;overflow:hidden;box-shadow:0 24px 70px #0a4f3a14}.feature-visual{background:var(--forest);transition:transform .18s var(--ease-out);place-items:center;display:grid;overflow:hidden}.feature-visual img{aspect-ratio:5/3;object-fit:contain;width:100%;height:auto;transition:transform .6s var(--ease-out);display:block}.feature-copy{flex-direction:column;justify-content:center;padding:clamp(32px,5vw,64px);display:flex}.post-meta{color:var(--em-deep);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:7px;font-size:.68rem;font-weight:700;display:flex}.feature-copy>p{color:var(--ink-soft);margin:0 0 28px;font-size:1.03rem}.blog-footer{padding:26px var(--gutter) 34px;background:linear-gradient(#2c2c2a40, #2c2c2a40), var(--forest);color:#f1efe894;flex-wrap:wrap;justify-content:space-between;gap:10px 28px;font-size:.72rem;font-weight:500;display:flex}.blog-footer p{margin:0}.blog-footer a{color:var(--emerald);text-decoration:none}.blog-index{width:min(100%, var(--page));min-height:70vh;padding:clamp(72px, 9vw, 120px) var(--gutter) clamp(84px, 11vw, 150px);margin-inline:auto}.blog-index-heading{max-width:940px;margin-bottom:clamp(58px,8vw,92px)}.blog-index-heading h1{max-width:13em;font-family:var(--display);letter-spacing:-.055em;margin:0;font-size:clamp(3rem,6.8vw,6.6rem);font-weight:700;line-height:.98}.blog-index-heading>p:last-child{max-width:660px;color:var(--ink-soft);margin:26px 0 0;font-size:clamp(1.06rem,1.7vw,1.22rem)}.index-section-label{color:var(--em-deep);font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;margin:0 0 16px;font-size:.68rem;font-weight:700}.feature-copy h2{font-family:var(--display);letter-spacing:-.035em;margin:18px 0 16px;font-size:clamp(1.75rem,3vw,2.7rem);line-height:1.08}.feature-copy h2 a{text-decoration:none}.other-posts{border-top:1px solid var(--line);margin-top:clamp(76px,10vw,124px);padding-top:clamp(54px,7vw,82px)}.other-posts-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px;display:flex}.other-posts-heading p{margin-bottom:6px}.other-posts-heading h2{font-family:var(--display);letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,3.6rem)}.post-list{border-top:1px solid var(--line)}.post-row{border-bottom:1px solid var(--line);grid-template-columns:250px minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,64px);padding:30px 0;display:grid}.post-row-visual{aspect-ratio:16/9;background:var(--forest);border-radius:16px;width:100%;display:block;overflow:hidden}.post-row-visual img{object-fit:cover;width:100%;height:100%;transition:transform .18s var(--ease-out);display:block}.post-row>div{min-width:0}.post-row h3{font-family:var(--display);letter-spacing:-.035em;margin:10px 0 8px;font-size:clamp(1.45rem,2.6vw,2.3rem);line-height:1.12}.post-row h3 a{text-decoration:none}.post-row p{max-width:620px;color:var(--ink-soft);margin:0}.article-page{background:linear-gradient(#2c2c2a07 1px, transparent 1px), var(--cream);background-size:100% 32px}.reading-progress{z-index:60;pointer-events:none;background:0 0;height:3px;position:fixed;inset:0 0 auto}.reading-progress span{background:var(--emerald);transform-origin:0;will-change:transform;width:100%;height:100%;display:block;transform:scaleX(0)}.article-header{width:100%;max-width:var(--page);color:var(--ink);position:relative}.article-header .nav-portfolio{border-color:var(--line)}.article-hero{width:min(100%,1060px);padding:clamp(78px, 10vw, 132px) var(--gutter) clamp(48px, 7vw, 80px);text-align:center;margin-inline:auto}.back-link{color:var(--em-deep);gap:8px;margin-bottom:54px;font-size:.76rem;font-weight:700;text-decoration:none;display:inline-flex}.article-kicker{color:var(--em-deep);letter-spacing:.17em;text-transform:uppercase;margin:0 0 18px;font-size:.7rem;font-weight:700}.article-hero h1{font-size:clamp(3.1rem,7.3vw,7rem)}.article-hero h1 em{color:var(--em-deep)}.article-hero .article-dek{max-width:780px;color:var(--ink-soft);margin-inline:auto}.article-byline{text-align:left;justify-content:center;align-items:center;gap:12px;margin-top:34px;display:flex}.author-mark{background:var(--forest);width:42px;height:42px;color:var(--mint);border-radius:50%;place-items:center;font-size:.68rem;font-weight:700;display:grid}.article-byline strong,.article-byline span{display:block}.article-byline strong{font-size:.78rem}.article-byline span{color:var(--ink-soft);font-size:.68rem}.article-cover{width:min(calc(100% - (var(--gutter) * 2)), var(--page));margin:0 auto clamp(72px,9vw,120px)}.article-cover img{border-radius:30px;width:100%;box-shadow:0 32px 90px #0a4f3a1f}.article-cover figcaption{color:var(--ink-soft);font-family:var(--display);text-align:center;margin-top:13px;font-size:.7rem}.article-diagram{margin:2.8em 0}.article-prose img{width:auto;max-width:100%;height:auto;box-shadow:none;background:0 0;border:0;border-radius:0;margin-inline:auto}.article-diagram figcaption{color:var(--ink-soft);font-family:var(--display);text-align:center;margin-top:11px;font-size:.7rem;line-height:1.5}.zoomable-article-image{cursor:zoom-in}.zoomable-article-image:focus-visible{outline:3px solid var(--em-deep);outline-offset:6px}.image-lightbox-open{overflow:hidden}.image-lightbox{width:auto;max-width:none;height:auto;max-height:none;color:var(--paper);background:0 0;border:0;padding:0;overflow:visible}.image-lightbox[open]{place-items:center;display:grid}.image-lightbox::backdrop{background:color-mix(in srgb, var(--ink) 92%, transparent);-webkit-backdrop-filter:blur(14px)saturate(80%);backdrop-filter:blur(14px)saturate(80%)}.image-lightbox-figure{max-width:94vw;animation:image-lightbox-enter .18s var(--ease-out) both;justify-items:center;gap:14px;margin:0;display:grid}.image-lightbox-image{object-fit:contain;width:auto;max-width:min(94vw,1900px);height:auto;max-height:84dvh;display:block;box-shadow:0 32px 100px #00000057}.image-lightbox-caption{max-width:min(760px,88vw);color:var(--paper);font-family:var(--display);text-align:center;font-size:.72rem;line-height:1.55}.image-lightbox-close{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));z-index:1;background:color-mix(in srgb, var(--ink) 72%, transparent);width:44px;height:44px;color:var(--paper);cursor:pointer;transition:background-color .16s ease, transform .12s var(--ease-out);border:1px solid #fafaf747;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed}.image-lightbox-close span{font-size:1.8rem;font-weight:300;line-height:1;transform:translateY(-1px)}.image-lightbox-close:active{transform:scale(.96)}@keyframes image-lightbox-enter{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.article-layout{grid-template-columns:190px minmax(0, var(--reading)) 190px;width:min(100%, var(--page));padding:0 var(--gutter) clamp(84px, 11vw, 150px);justify-content:center;gap:54px;margin-inline:auto;display:grid}.article-toc{color:var(--ink-soft);grid-column:1;align-self:start;font-size:.67rem;line-height:1.45;position:sticky;top:32px}.article-toc>p{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;font-weight:700}.article-toc ol{gap:12px;margin:0;padding-left:16px;display:grid}.article-toc a{text-underline-offset:3px;text-decoration-color:#0000}.article-prose{grid-column:2;min-width:0;font-size:clamp(1.05rem,1.6vw,1.17rem);line-height:1.82}.article-prose>:first-child{margin-top:0}.article-prose p,.article-prose ul,.article-prose ol{margin-block:0 1.5em}.article-prose .lead{color:var(--ink);font-family:var(--display);letter-spacing:-.02em;font-size:clamp(1.28rem,2.1vw,1.6rem);font-weight:500;line-height:1.55}.article-prose h2,.article-prose h3{font-family:var(--display);letter-spacing:-.035em;scroll-margin-top:32px;line-height:1.16}.article-prose h2{margin:3em 0 .78em;font-size:clamp(2rem,4vw,3rem)}.article-prose h3{margin:2.4em 0 .7em;font-size:1.55rem}.article-prose a{color:var(--em-deep);text-underline-offset:3px;text-decoration-thickness:1px}.article-prose ul:not(.principle-list),.article-prose ol:not(.principle-list){padding-left:1.25em}.article-prose li{padding-left:.35em}.article-prose li+li{margin-top:.7em}.article-prose blockquote{border-block:1px solid var(--line);color:var(--forest);font-family:var(--display);letter-spacing:-.025em;margin:2.4em 0;padding:1.7em 0 1.7em 2em;font-size:clamp(1.38rem,3vw,2rem);font-weight:600;line-height:1.42;position:relative}.article-prose blockquote:before{content:"";background:var(--emerald);border-radius:2px;width:9px;height:9px;position:absolute;top:1.95em;left:0;transform:rotate(45deg)}.article-prose blockquote p{margin:0}.principle-list{border-top:1px solid var(--line);gap:0;margin:2em 0 2.5em;padding:0;list-style:none;display:grid}.principle-list li{border-bottom:1px solid var(--line);grid-template-columns:46px 1fr;gap:14px;padding:22px 0;display:grid}.principle-list li+li{margin:0}.principle-list li>span{color:var(--emerald);font-family:var(--display);letter-spacing:.12em;padding-top:3px;font-size:.66rem;font-weight:700}.principle-list strong,.principle-list p{display:block}.principle-list strong{font-size:.92rem}.principle-list p{color:var(--ink-soft);margin:4px 0 0;font-size:.98rem;line-height:1.6}.callout{background:var(--tint);box-shadow:inset 4px 0 var(--emerald);border:1px solid #008a7138;border-radius:18px;margin:2.8em 0;padding:26px 28px}.callout-label{color:var(--em-deep);letter-spacing:.14em;text-transform:uppercase;margin:0 0 7px;font-size:.68rem;font-weight:700}.callout p:last-child{margin:0;font-size:1rem;line-height:1.65}.article-endmark{justify-content:center;gap:12px;margin-top:64px;display:flex}.article-endmark span{border:1px solid var(--emerald);border-radius:2px;width:8px;height:8px;transform:rotate(45deg)}.article-endmark span:nth-child(2){background:var(--emerald)}.article-share{width:min(calc(100% - (var(--gutter) * 2)), 920px);border-block:1px solid var(--line);grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);align-items:center;gap:28px;margin:0 auto clamp(32px,5vw,56px);padding:28px 0;display:grid}.article-share-kicker{color:var(--em-deep);font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;margin:0 0 4px;font-size:.66rem;font-weight:700}.article-share h2{font-family:var(--display);letter-spacing:-.035em;margin:0;font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.15}.article-share-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.article-share-actions a,.article-share-actions button{background:var(--paper);min-height:42px;color:var(--em-deep);font-family:var(--display);cursor:pointer;transition:transform .14s var(--ease-out), border-color .16s ease, background-color .16s ease, color .16s ease;border:1px solid #008a7140;border-radius:999px;justify-content:center;align-items:center;padding:9px 16px;font-size:.72rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.article-share-actions .article-share-native{border-color:var(--forest);background:var(--forest);color:var(--cream)}.article-share-actions a:active,.article-share-actions button:active{transform:scale(.97)}.article-share-status{min-height:1.4em;color:var(--ink-soft);font-family:var(--display);text-align:right;grid-column:1/-1;margin:-16px 0 0;font-size:.68rem}.article-next{background:radial-gradient(circle at 90% 15%, #00ae8d2e, transparent 35%), var(--forest);max-width:920px;color:var(--cream);text-align:center;border-radius:28px;margin:0 auto clamp(70px,9vw,120px);padding:clamp(42px,6vw,68px)}.article-next .eyebrow{justify-content:center}.article-next-meta{color:var(--tint2);letter-spacing:.04em;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:0 0 18px;font-size:.78rem;font-weight:700;display:flex}.article-next h2{font-size:clamp(2rem,4vw,3.5rem)}.article-next h2 a{color:inherit;text-decoration:none}.article-next>p:not(.eyebrow):not(.article-next-meta){color:#f1efe8b8;max-width:590px;margin:20px auto 28px}pre{background:var(--ink);color:var(--paper);tab-size:2;border:1px solid #fafaf724;border-radius:18px;margin:2.2em 0;padding:24px;font-size:.85rem;line-height:1.65;position:relative;overflow:auto}code,kbd,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}:not(pre)>code{background:var(--tint);color:var(--em-deep);border:1px solid #008a7124;border-radius:5px;padding:.15em .34em;font-size:.86em}@media (hover:hover) and (pointer:fine){.site-nav a:hover{color:var(--mint)}.article-header .site-nav a:hover{color:var(--em-deep)}.button-primary:hover{background:var(--mint);box-shadow:0 12px 34px #00ae8d3d}.text-link:hover{color:var(--emerald)}.article-toc a:hover{color:var(--em-deep);text-decoration-color:currentColor}.feature-card:hover .feature-visual img,.post-row:hover .post-row-visual img{transform:scale(1.025)}.image-lightbox-close:hover{background:color-mix(in srgb, var(--paper) 18%, transparent)}.article-share-actions a:hover,.article-share-actions button:hover{border-color:var(--emerald);background:var(--tint);color:var(--forest)}.article-share-actions .article-share-native:hover{border-color:var(--em-mid);background:var(--em-mid);color:var(--cream)}}@media (max-width:980px){.feature-card{grid-template-columns:1fr}.article-layout{grid-template-columns:minmax(0, var(--reading))}.article-toc{border:1px solid var(--line);background:#fafaf7b8;border-radius:14px;grid-column:1;padding:18px 20px;position:static}.article-toc ol{grid-template-columns:repeat(2,minmax(0,1fr))}.article-prose{grid-column:1}.article-next{margin-inline:var(--gutter)}.article-share{grid-template-columns:1fr}.article-share-actions{justify-content:flex-start}.article-share-status{text-align:left;margin-top:-14px}}@media (max-width:720px){.site-header{padding-top:18px}.site-nav a:not(.nav-portfolio){display:none}.article-hero h1{font-size:clamp(2.85rem,14vw,4.5rem)}.post-row{grid-template-columns:132px minmax(0,1fr);align-items:start;gap:18px}.post-row-visual{width:132px}.article-hero{padding-top:66px}.back-link{margin-bottom:42px}.article-cover img{border-radius:18px}.article-toc ol{grid-template-columns:1fr}.article-prose{line-height:1.76}.article-prose h2{margin-top:2.4em}.article-prose blockquote{padding-left:1.5em}.blog-footer{flex-direction:column}.article-share-actions a,.article-share-actions button{flex:auto}}@media (max-width:420px){.brand-muted{display:none}.article-header .site-nav{gap:0}.feature-copy,.callout{padding-inline:22px}.article-byline{align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.feature-card:hover .feature-visual img,.post-row:hover .post-row-visual img,.site-nav .nav-portfolio:active,.button:active,.text-link:active,.feature-visual:active{transform:none}.reading-progress span{will-change:auto}.image-lightbox-figure{animation:none}.article-share-actions a:active,.article-share-actions button:active{transform:none}}@media (prefers-reduced-transparency:reduce){.image-lightbox::backdrop{background:var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){:root{--ink-soft:#3c3c39;--line:#2c2c2a61}.site-header,.article-next{background-color:var(--forest)}.image-lightbox::backdrop{background:var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none}.image-lightbox-close{border-color:var(--paper)}}@media print{.site-header,.reading-progress,.article-toc,.article-next,.blog-footer,.skip-link,.image-lightbox{display:none}body,.article-page{background:#fff}.article-hero,.article-layout{width:100%;max-width:none;padding-inline:0}.article-cover{width:100%}.article-prose{font-size:11pt}}
