@font-face{font-family:TG Bonum;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/texgyrebonum-regular.woff2) format("woff2")}@font-face{font-family:TG Bonum;font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/texgyrebonum-bold.woff2) format("woff2")}@font-face{font-family:TG Bonum;font-style:italic;font-weight:400;font-display:optional;src:url(/fonts/texgyrebonum-italic.woff2) format("woff2")}@font-face{font-family:TG Bonum;font-style:italic;font-weight:700;font-display:optional;src:url(/fonts/texgyrebonum-bolditalic.woff2) format("woff2")}@font-face{font-family:TG Schola;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/texgyreschola-regular.woff2) format("woff2")}@font-face{font-family:TG Schola;font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/texgyreschola-bold.woff2) format("woff2")}@font-face{font-family:TG Schola;font-style:italic;font-weight:400;font-display:optional;src:url(/fonts/texgyreschola-italic.woff2) format("woff2")}@font-face{font-family:TG Schola;font-style:italic;font-weight:700;font-display:optional;src:url(/fonts/texgyreschola-bolditalic.woff2) format("woff2")}@font-face{font-family:Inter Variable;font-style:normal;font-weight:100 900;font-display:optional;src:url(/fonts/inter-latin-wght-normal.woff2) format("woff2-variations"),url(/fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--scroll-pad-extra: 1rem;color-scheme:light;--bg: #f4f1ea;--bg-elev: #ede9e0;--surface: #faf8f3;--ink: #26302f;--text: #26302f;--muted: #55605e;--faint: #7d8a88;--border: rgba(38, 48, 47, .14);--border-strong: rgba(38, 48, 47, .28);--accent: #2e6f7e;--accent-strong: #245a67;--accent-contrast: #f2fbfd;--accent-soft: rgba(46, 111, 126, .12);--peach: #9cc3d5;--ochre: #3a7d8f;--shout: #55496b;--sing: #6fae9d;--chant: #2e6f7e;--whisper: #55496b;--glow: rgba(156, 195, 213, .5);--accent-gradient: linear-gradient(100deg, #245a67 0%, #2e6f7e 45%, #4f9fb2 100%);--shadow: 0 1px 2px rgba(38, 48, 47, .08), 0 12px 32px -16px rgba(38, 48, 47, .35);--code-bg: rgba(38, 48, 47, .06);--font-ui: "Inter Variable", "Inter Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif: var(--font-ui);--font-display: "Inter Variable", "Inter Fallback", ui-sans-serif, system-ui, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-xs: .8125rem;--fs-sm: .875rem;--fs-md: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.375rem;--fs-2xl: 1.75rem;--fs-3xl: 2.25rem;--fs-4xl: 3.25rem;--r-sm: 8px;--r-md: 14px;--r-pill: 999px;--container: 1680px;--header-h: 64px}html[data-theme=dark]{color-scheme:dark;--bg: #101514;--bg-elev: #161c1b;--surface: #1b2221;--ink: #e8ecea;--text: #e8ecea;--muted: #a4b1ae;--faint: #7d8a88;--border: rgba(232, 236, 234, .12);--border-strong: rgba(232, 236, 234, .26);--accent: #4f9fb2;--accent-strong: #6fb7c8;--accent-contrast: #0d1414;--accent-soft: rgba(79, 159, 178, .14);--peach: #7fb3c8;--ochre: #4f9fb2;--shout: #8f80ad;--sing: #6fae9d;--chant: #4f9fb2;--whisper: #8f80ad;--glow: rgba(79, 159, 178, .26);--accent-gradient: linear-gradient(100deg, #4f9fb2 0%, #6fb7c8 50%, #9cd3e2 100%);--shadow: 0 1px 2px rgba(0,0,0,.4), 0 16px 40px -16px rgba(0,0,0,.7);--code-bg: rgba(232, 236, 234, .08)}@font-face{font-family:Inter Fallback;src:local("Helvetica Neue"),local("Arial");size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%}@font-face{font-family:Schola Fallback;src:local("Georgia");size-adjust:101%;ascent-override:98%;descent-override:29%;line-gap-override:0%}@view-transition{navigation:auto}.page-wash{view-transition-name:none}@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--scroll-pad-extra, 0rem))}body{margin:0;font-family:var(--font-ui);font-size:var(--fs-md);line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg,video{max-width:100%;height:auto;display:block}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-strong);text-decoration:underline;text-underline-offset:.15em}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em;color:var(--ink)}h1{font-size:var(--fs-3xl)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-xl)}h4{font-size:var(--fs-lg)}p{margin:0 0 1em}code,kbd,pre{font-family:var(--font-mono);font-size:.9em}code{background:var(--code-bg);padding:.1em .35em;border-radius:4px}pre{background:var(--code-bg);padding:1rem;border-radius:var(--r-sm);overflow-x:auto}pre code{background:none;padding:0}hr{border:0;border-top:1px solid var(--border);margin:2rem 0}.prose hr{width:6rem;margin:2.6rem auto;border-top:2px solid var(--border-strong);border-radius:2px}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.light-text{color:var(--muted);font-weight:500}.prose{font-family:var(--font-serif);font-size:var(--fs-lg);line-height:1.65;max-width:90ch}.prose>*+*{margin-top:1em}.prose h2{margin-top:2.2em;padding-top:.2em}.prose h3{margin-top:1.6em}.prose h2+h3{margin-top:.8em}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.3em}.prose strong{color:var(--ink)}.prose blockquote{margin:1.2em 0;padding:.9em 1.1em;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--text)}.prose blockquote>:first-child{margin-top:0}.prose blockquote>:last-child{margin-bottom:0}.prose img{border-radius:var(--r-sm)}.prose .table-wrap{overflow-x:auto;margin:1.2em 0;-webkit-overflow-scrolling:touch}.prose table{border-collapse:collapse;width:100%;font-family:var(--font-ui);font-size:var(--fs-sm);line-height:1.45}.prose th,.prose td{padding:.5em .7em;border-bottom:1px solid var(--border);vertical-align:top;text-align:left}.prose th{font-weight:600;color:var(--ink);border-bottom:2px solid var(--border-strong);background:var(--bg-elev)}.prose tbody tr:nth-child(2n) td{background:#7f7f7f0d}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(1.25rem,5vw,4rem)}.site{min-height:100dvh;display:flex;flex-direction:column}.site>main{flex:1}.site-header{position:sticky;top:0;z-index:40;height:var(--header-h);background:color-mix(in srgb,var(--bg) 96%,transparent);border-bottom:1px solid var(--border)}.site-header .container{height:100%;display:flex;align-items:center;gap:1rem}@media(min-width:821px){.site-header .container{display:grid;grid-template-columns:1fr auto 1fr}.site-header .nav{margin-left:0;justify-self:center}.site-header .header-tools{justify-self:end}}.brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--ink);font-weight:600;font-size:1.25rem;letter-spacing:-.01em}.brand:hover{text-decoration:none;color:var(--ink)}.brand img{width:46px;height:46px}.nav{display:flex;align-items:center;gap:.25rem;margin-left:auto}.nav a{padding:.45rem .8rem;border-radius:var(--r-pill);color:var(--text);font-weight:500;font-size:var(--fs-sm)}.nav a:hover{background:var(--accent-soft);text-decoration:none;color:var(--ink)}.nav a[aria-current=page]{color:var(--accent-strong);background:var(--accent-soft)}.header-tools{display:flex;align-items:center;gap:.5rem}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:36px;min-width:36px;padding:0 .6rem;border-radius:var(--r-pill);background:var(--bg-elev);border:1px solid var(--border);cursor:pointer;color:var(--text)}.icon-btn:hover{border-color:var(--border-strong)}.icon-btn svg{width:18px;height:18px}.search-open{color:var(--muted)}.search-open .search-label{display:none}.header-cta{white-space:nowrap;min-width:6.25rem;justify-content:center}@media(max-width:1100px){.search-open .search-kbd{display:none}}@media(max-width:600px){.header-cta{display:none}}.nav-toggle,.nav-toggle-label{display:none}@media(max-width:820px){.nav-toggle-label{display:inline-flex;order:3}.nav{display:none;position:absolute;left:0;right:0;top:var(--header-h);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1rem 1rem;background:var(--bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}.nav a{padding:.8rem .6rem;font-size:var(--fs-md);border-radius:var(--r-sm)}.nav-toggle:checked~.nav{display:flex}.header-tools{margin-left:auto}}.site-footer{border-top:1px solid var(--border);margin-top:4rem;padding:3rem 0 2rem;background:var(--bg-elev);font-size:var(--fs-sm)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}.footer-grid h4{font-family:var(--font-ui);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.8rem}.footer-grid ul{list-style:none;margin:0;padding:0}.footer-grid li+li{margin-top:.45rem}.footer-grid a{color:var(--text)}.footer-grid a:hover{color:var(--accent-strong)}.footer-bottom{margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;color:var(--muted)}.footer-bottom .copyright{margin-left:auto}.footer-fineprint{display:inline-flex;flex-wrap:wrap;gap:.5rem;align-items:baseline}.footer-fineprint a{color:var(--muted)}.footer-fineprint a:hover{color:var(--accent-strong)}.footer-fineprint .dot{color:var(--faint)}.footer-socials{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem}.footer-socials .pill:hover{border-color:var(--accent);color:var(--accent-strong);text-decoration:none}.social-ic{width:14px;height:14px}.group-note{color:var(--faint);font-size:var(--fs-xs)}.group-current{color:var(--muted)}@media(max-width:700px){.footer-grid{grid-template-columns:1fr}}.page-title{margin:2.5rem 0 1.5rem}.page-title h1{margin-bottom:.3rem}.page-title p{color:var(--muted);font-size:var(--fs-lg);margin:0}.stack>*+*{margin-top:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.3rem;border-radius:var(--r-pill);font-weight:600;font-size:var(--fs-sm);border:1px solid transparent;cursor:pointer;transition:transform .12s ease,background .12s ease}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-primary{background:var(--accent-gradient);color:var(--accent-contrast);box-shadow:inset 0 0 0 1px #00000026,0 6px 18px -8px var(--accent);border:0;padding:calc(.7rem + 1px) calc(1.3rem + 1px)}.btn-primary:hover{filter:brightness(1.06);color:var(--accent-contrast)}.btn-primary.btn-lg{padding:calc(.9rem + 1px) calc(1.6rem + 1px)}.btn-outline{border-color:var(--border-strong);color:var(--ink);background:transparent}.btn-outline:hover{color:var(--ink);border-color:transparent;background:linear-gradient(var(--bg),var(--bg)) padding-box,var(--accent-gradient) border-box}.btn-lg{padding:.9rem 1.6rem;font-size:var(--fs-md)}.hero{position:relative;padding:clamp(5rem,13vw,10rem) 0 clamp(4rem,8vw,7rem);text-align:center}.hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(50% 45% at 50% 0%,var(--glow) 0%,color-mix(in srgb,var(--glow) 72%,transparent) 22%,color-mix(in srgb,var(--glow) 45%,transparent) 40%,color-mix(in srgb,var(--glow) 22%,transparent) 55%,color-mix(in srgb,var(--glow) 8%,transparent) 66%,transparent 78%)}.hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.45;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.2 0 0 0 0 0.16 0 0 0 0 0.12 0 0 0 0.22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");-webkit-mask-image:radial-gradient(50% 45% at 50% 0%,#000 0%,rgba(0,0,0,.5) 45%,transparent 78%);mask-image:radial-gradient(50% 45% at 50% 0%,#000 0%,rgba(0,0,0,.5) 45%,transparent 78%)}html[data-theme=dark] .hero:after{opacity:.1;filter:invert(1)}.hero h1{font-size:clamp(3rem,8.5vw,6.25rem);line-height:1;margin:0 auto 1.4rem;max-width:14ch;letter-spacing:-.025em}.hero h1 .light-text{display:block;font-weight:500}.hero h1 .accent-text{display:block}.hero .lede{font-size:clamp(1.15rem,2.2vw,1.5rem);color:var(--muted);max-width:52ch;margin:0 auto 2.4rem}@media(min-width:600px){.hero .lede-line{display:block}}.hero .actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.section{padding:clamp(2.5rem,6vw,4.5rem) 0}.section-head{text-align:center;max-width:60ch;margin:0 auto 2.2rem}.section-head h2{font-size:clamp(2.2rem,4.5vw,3.4rem);line-height:1.05;letter-spacing:-.02em;margin-bottom:.7rem}.section-head h2 .accent-text,.section-head h2 .light-text{display:block}.section-head p{color:var(--muted);font-size:var(--fs-xl);margin:0}.section-head.left{text-align:left;margin-left:0}.grid{display:grid;gap:1.25rem;grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr))}@media(max-width:960px){.grid{--cols: 2 !important}}@media(max-width:600px){.grid{--cols: 1 !important}}.card{position:relative;display:flex;flex-direction:column;gap:.6rem;padding:1.4rem;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);transition:transform .15s ease,border-color .15s ease}a.card:hover{text-decoration:none;transform:translateY(-2px);color:var(--text);border-color:transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--accent-gradient) border-box}.card-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.card-icon svg{width:22px;height:22px}.card h3{margin:.2rem 0 0;font-size:var(--fs-xl)}.card-icon{background:color-mix(in srgb,var(--peach) 40%,var(--surface));color:var(--accent-strong)}.card p{margin:0;color:var(--muted);font-size:var(--fs-sm);line-height:1.55}.card .card-meta{font-size:var(--fs-xs);color:var(--faint)}.book-card{display:grid;grid-template-columns:160px 1fr;gap:1.6rem;align-items:center;padding:1.6rem}.book-card img{border-radius:var(--r-sm);box-shadow:var(--shadow)}.book-card h3{font-size:var(--fs-2xl);margin:0}.book-card .subtitle{color:var(--muted);font-family:var(--font-serif);font-size:var(--fs-lg);font-style:italic}.book-card p{color:var(--text);font-size:var(--fs-md)}@media(max-width:600px){.book-card{grid-template-columns:1fr}.book-card img{max-width:200px}}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .7rem;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--bg-elev);font-size:var(--fs-xs);color:var(--muted)}.pill svg{width:12px;height:12px}.pill.accent{border-color:transparent;background:var(--accent-soft);color:var(--accent-strong)}.cta{margin:3rem 0 0;padding:3.5rem 2rem;border-radius:var(--r-md);text-align:center;position:relative;overflow:hidden;background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border))}.cta:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 45% at 50% 100%,var(--glow),transparent 70%),radial-gradient(75% 90% at 50% 100%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 75%)}.cta>*{position:relative}.cta-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.cta h2{font-size:clamp(2rem,3.8vw,2.9rem);margin-bottom:.6rem}.cta h2{margin-bottom:.5rem}.cta p{color:var(--muted);max-width:50ch;margin:0 auto 1.5rem}.search-dialog{border:0;padding:0;background:transparent;width:min(720px,92vw);max-height:80vh;margin-top:8vh}.search-dialog,.search-dialog:focus,.search-dialog:focus-visible{outline:none}.search-panel .pagefind-ui input:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-radius:10px}.search-dialog::backdrop{background:#00000073;backdrop-filter:blur(3px)}.search-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow);padding:1rem;max-height:80vh;overflow:auto}.search-panel .pagefind-ui{--pagefind-ui-scale: .9;--pagefind-ui-primary: var(--accent);--pagefind-ui-text: var(--text);--pagefind-ui-background: var(--surface);--pagefind-ui-border: var(--border);--pagefind-ui-tag: var(--bg-elev);--pagefind-ui-border-width: 1px;--pagefind-ui-border-radius: 10px;--pagefind-ui-font: var(--font-ui)}.search-panel mark{background:var(--accent-soft);color:inherit}.kbd{font-family:var(--font-mono);font-size:.7rem;padding:.1rem .35rem;border-radius:4px;border:1px solid var(--border-strong);color:var(--muted)}.page-wash{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;contain:strict;transform:translateZ(0);opacity:0;transition:opacity 1.2s cubic-bezier(.55,0,.25,1) .15s}.page-wash.ready{opacity:1}@media(prefers-reduced-motion:reduce){.page-wash{transition:none}}.site{position:relative;z-index:1}.page-wash>div{position:absolute;inset:0}.wash-lowres{inset:0 auto auto 0;width:25%;height:25%;transform:scale(4);transform-origin:0 0}.wash-lowres>div{position:absolute;inset:0}.wash-sweep{background:linear-gradient(165deg,color-mix(in srgb,var(--peach) 30%,var(--bg)) 0%,var(--bg) 40%,var(--bg) 60%,color-mix(in srgb,var(--ochre) 20%,var(--bg)) 100%)}.wash-blots-a{--hi: .58;--lo: .18;opacity:var(--hi);background:radial-gradient(80% 70% at 0% 0%,color-mix(in srgb,var(--shout) 30%,transparent) 0%,color-mix(in srgb,var(--shout) 12%,transparent) 35%,transparent 100%),radial-gradient(85% 75% at 100% 100%,color-mix(in srgb,var(--ochre) 40%,transparent) 0%,color-mix(in srgb,var(--ochre) 16%,transparent) 35%,transparent 100%),radial-gradient(55% 90% at 0% 55%,color-mix(in srgb,var(--accent) 22%,transparent) 0%,color-mix(in srgb,var(--accent) 8%,transparent) 40%,transparent 100%),radial-gradient(70% 45% at 30% 25%,color-mix(in srgb,var(--peach) 24%,transparent) 0%,transparent 100%);animation:wash-fade-a 70s ease-in-out infinite alternate}.wash-blots-b{--hi: .55;--lo: .16;opacity:var(--lo);background:radial-gradient(85% 75% at 100% 0%,color-mix(in srgb,var(--shout) 26%,transparent) 0%,color-mix(in srgb,var(--shout) 10%,transparent) 35%,transparent 100%),radial-gradient(80% 70% at 0% 100%,color-mix(in srgb,var(--whisper) 24%,transparent) 0%,color-mix(in srgb,var(--whisper) 9%,transparent) 35%,transparent 100%),radial-gradient(55% 90% at 100% 50%,color-mix(in srgb,var(--peach) 46%,transparent) 0%,color-mix(in srgb,var(--peach) 18%,transparent) 40%,transparent 100%),radial-gradient(70% 45% at 70% 75%,color-mix(in srgb,var(--sing) 22%,transparent) 0%,transparent 100%);animation:wash-fade-b 97s ease-in-out infinite alternate}.wash-grain{opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.2 0 0 0 0 0.16 0 0 0 0 0.12 0 0 0 0.22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes wash-fade-a{0%{opacity:var(--hi)}to{opacity:var(--lo)}}@keyframes wash-fade-b{0%{opacity:var(--lo)}to{opacity:var(--hi)}}@media(prefers-reduced-motion:reduce){.wash-blots{animation:none}}.page-wash.subtle .wash-sweep{opacity:.55}.page-wash.subtle .wash-blots-a{--hi: .3;--lo: .08}.page-wash.subtle .wash-blots-b{--hi: .28;--lo: .08}html[data-theme=dark] .wash-sweep{background:linear-gradient(165deg,color-mix(in srgb,var(--shout) 11%,var(--bg)) 0%,var(--bg) 40%,var(--bg) 60%,color-mix(in srgb,var(--ochre) 10%,var(--bg)) 100%)}html[data-theme=dark] .wash-blots-a{--hi: .22;--lo: .06}html[data-theme=dark] .wash-blots-b{--hi: .2;--lo: .05}html[data-theme=dark] .page-wash.subtle .wash-blots-a{--hi: .11;--lo: .03}html[data-theme=dark] .page-wash.subtle .wash-blots-b{--hi: .1;--lo: .03}html[data-theme=dark] .wash-grain{opacity:.1;filter:invert(1)}.accent-text{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-bottom:.25em;margin-bottom:-.25em}.studio-blurb{max-width:62ch;margin:0 auto;text-align:center;font-size:var(--fs-xl);line-height:1.6}.studio-blurb p+p{margin-top:1.2em}.footer-grid a.fbrand-group:hover{color:#bc002d}.footer-grid a.fbrand-apps:hover{color:#2e6f7e}.footer-grid a.fbrand-games:hover{color:#c05621}.footer-grid a.fbrand-media:hover{color:#8e2444}html[data-theme=dark] .footer-grid a.fbrand-group:hover{color:#e0405e}html[data-theme=dark] .footer-grid a.fbrand-apps:hover{color:#6fb7c8}html[data-theme=dark] .footer-grid a.fbrand-games:hover{color:#f08f4e}html[data-theme=dark] .footer-grid a.fbrand-media:hover{color:#d1607e}.product-hero{text-align:center;padding:clamp(4rem,10vw,7rem) 0 clamp(2.5rem,5vw,4rem);position:relative}.product-hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(50% 45% at 50% 0%,var(--glow),transparent 78%)}.product-hero .kicker{font-size:var(--fs-sm);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.product-hero h1{font-size:clamp(2.6rem,6.5vw,5rem);letter-spacing:-.03em;line-height:1.02;margin:.4rem auto 1rem;max-width:18ch}.product-hero h1 .accent-text{display:block}.product-hero .lede{font-size:clamp(1.05rem,2vw,1.3rem);color:var(--muted);max-width:56ch;margin:0 auto 2rem}.product-hero .actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;align-items:center}.store-badge img{height:52px;width:auto}.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;padding:clamp(2rem,5vw,3.5rem) 0}.feature-row .art.wide img{max-height:none;width:100%;border-radius:var(--r-md);border:1px solid var(--border)}.feature-row .copy h2{font-size:clamp(1.9rem,3.6vw,2.8rem);letter-spacing:-.02em;line-height:1.06;margin-bottom:.8rem}.feature-row .copy h2 .light-text{display:block}.feature-row .copy p{color:var(--muted);font-size:var(--fs-lg);max-width:46ch}.feature-row.flip .copy{order:2}.feature-row.flip .art{order:1}.feature-row .art{display:flex;justify-content:center;gap:1rem}.feature-row .art img{max-height:560px;width:auto;border-radius:18px;box-shadow:var(--shadow)}.feature-row .art.bare img{box-shadow:none;border-radius:0}.feature-row .art.duo img{max-height:480px}@media(max-width:820px){.feature-row{grid-template-columns:1fr;text-align:center}.feature-row.flip .copy,.feature-row .copy{order:1}.feature-row.flip .art,.feature-row .art{order:2}.feature-row .copy p{margin-inline:auto}.feature-row .art img{max-height:420px}}.feature-wide{padding:clamp(2rem,5vw,3.5rem) 0;text-align:center}.feature-wide h2{font-size:clamp(1.9rem,3.6vw,2.8rem);letter-spacing:-.02em}.feature-wide h2 .light-text{display:block}.feature-wide p{color:var(--muted);font-size:var(--fs-lg);max-width:58ch;margin:0 auto 1.8rem}.feature-wide img{border-radius:var(--r-md);box-shadow:var(--shadow);border:1px solid var(--border)}.product-card{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;padding:clamp(1.8rem,4vw,3rem)}.product-card .art{display:flex;justify-content:center}.product-card .art img{max-height:380px;width:auto}.product-card h3{font-size:clamp(1.7rem,3vw,2.3rem);margin:.2rem 0 .4rem}.product-card .tag{font-size:var(--fs-sm);color:var(--faint);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.product-card p{color:var(--muted)}.product-card .actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}@media(max-width:820px){.product-card{grid-template-columns:1fr;text-align:center}.product-card .actions{justify-content:center}}.subpage{max-width:820px;margin:0 auto;padding:2.5rem 0 2rem}.subpage .page-title h1{font-size:clamp(2rem,4vw,2.8rem)}.subpage-nav{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.2rem 0 0}.footnote{color:var(--faint);font-size:var(--fs-xs);max-width:70ch;margin:2rem auto 0;text-align:center}.app-icon{margin:0 auto 1.2rem;border-radius:26px;box-shadow:var(--shadow);width:120px;height:120px}.product-hero .hero-shot{margin:2.5rem auto clamp(2rem,4vw,3.5rem);max-width:min(1100px,92%);border-radius:var(--r-md);border:1px solid var(--border);box-shadow:var(--shadow)}.feature-head{text-align:center;padding:clamp(2rem,5vw,3rem) 0 0}.feature-head h2{font-size:clamp(1.9rem,3.4vw,2.6rem);letter-spacing:-.02em}.feature-head h2 .light-text{display:inline}.feature-head p{color:var(--muted);font-size:var(--fs-lg);max-width:60ch;margin:0 auto}.quad{display:grid;grid-template-columns:1fr 1.15fr 1.15fr 1fr;gap:clamp(1.2rem,3vw,2.5rem);align-items:center;padding:clamp(2rem,5vw,3.5rem) 0}.quad.trio{grid-template-columns:1fr 1.4fr 1fr;max-width:1100px;margin:0 auto}.quad .cell.shot img{max-height:460px;width:auto;margin:0 auto;display:block}.quad .cell.copy h3{font-size:clamp(1.3rem,2vw,1.7rem);letter-spacing:-.015em;margin-bottom:.6rem}.quad .cell.copy h3 .light-text{display:block}.quad .cell.copy p{color:var(--muted);font-size:var(--fs-md)}@media(max-width:980px){.quad,.quad.trio{grid-template-columns:1fr 1fr}.quad .cell.copy{text-align:center}}@media(max-width:600px){.quad,.quad.trio{grid-template-columns:1fr}.quad .cell.shot img{max-height:380px}}.product-card{position:relative}.product-card .cell-link{position:absolute;inset:0;z-index:1;border-radius:inherit}.product-card .actions,.product-card .actions a{position:relative;z-index:2}.product-card .actions{align-items:center}.product-card .actions .store-badge img{height:44px}.subpage details{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);margin:.5rem 0;padding:0}.subpage summary{cursor:pointer;font-weight:600;padding:.85rem 1.1rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}.subpage summary::-webkit-details-marker{display:none}.subpage summary:after{content:"+";color:var(--faint);font-weight:400}.subpage details[open] summary:after{content:"–"}.subpage details>*:not(summary){margin-left:1.1rem;margin-right:1.1rem}.subpage details>*:last-child{padding-bottom:.9rem}.subpage .prose img{max-height:420px;width:auto;border-radius:var(--r-sm)}.brand-faces{--accent: #2f9e57;--accent-strong: #248246;--accent-soft: rgba(84, 207, 115, .13);--accent-gradient: linear-gradient(100deg, #248246 0%, #2f9e57 45%, #54cf73 100%);--glow: rgba(84, 207, 115, .3)}html[data-theme=dark] .brand-faces{--accent: #54cf73;--accent-strong: #79dd92;--accent-contrast: #0c1c10;--accent-gradient: linear-gradient(100deg, #2f9e57 0%, #54cf73 55%, #9beab0 100%);--glow: rgba(84, 207, 115, .22)}.brand-dmeter{--accent: #1c6fd1;--accent-strong: #1558aa;--accent-soft: rgba(29, 134, 239, .12);--accent-gradient: linear-gradient(100deg, #1558aa 0%, #1c6fd1 45%, #1d86ef 100%);--glow: rgba(29, 134, 239, .25)}html[data-theme=dark] .brand-dmeter{--accent: #4e9df0;--accent-strong: #77b6f5;--accent-contrast: #0a131f;--accent-gradient: linear-gradient(100deg, #1d86ef 0%, #4e9df0 55%, #8ec5f8 100%);--glow: rgba(29, 134, 239, .22)}.subpage.brand-faces,.subpage.brand-dmeter{display:block}.accent-text-solid{color:var(--accent)}.product-hero .kicker.accent-text-solid{text-transform:none;letter-spacing:0;font-weight:700;font-size:var(--fs-lg)}.learn-more{margin-top:1.2rem}.learn-more a{color:var(--muted);font-size:var(--fs-sm)}.learn-more a:hover{color:var(--accent)}.faces-features .face-head{max-width:760px;margin:0 auto 3rem;text-align:left}.faces-features .face-head h2{font-size:clamp(2.2rem,3.8vw,3.1rem);letter-spacing:-.02em;margin-bottom:.9rem}.faces-features .face-head p{color:var(--muted);font-size:1.3rem}.phones-row{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:start;padding:clamp(2.5rem,6vw,5rem) 0}.phones-row .cell h3{font-size:clamp(1.45rem,2.1vw,1.85rem);letter-spacing:-.015em;margin-bottom:.6rem}.phones-row .cell p{color:var(--muted);font-size:1.25rem;line-height:1.55;margin-bottom:1.4rem}.phones-row .shot,.shots-slideshow img{width:100%;height:auto;display:block}.shots-slideshow{position:relative}.shots-slideshow img{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease}.shots-slideshow img.active{position:relative;opacity:1}.phones-row.stagger{grid-template-columns:repeat(4,1fr);align-items:center;padding:0}.phones-row.stagger .push-1{grid-column:2}.phones-row.stagger .cell:not(.push-1){grid-column:3}.phones-row.stagger+.phones-row.stagger{margin-top:clamp(-8rem,-8vw,-3rem)}@media(max-width:900px){.phones-row{grid-template-columns:1fr 1fr}.phones-row.stagger .push-1{grid-column:1}.phones-row.stagger .cell:not(.push-1){grid-column:2}}@media(max-width:560px){.phones-row,.phones-row.stagger{grid-template-columns:1fr}.phones-row.stagger .push-1,.phones-row.stagger .cell:not(.push-1){grid-column:1}}.dm-title{font-size:clamp(3rem,6vw,4.4rem);letter-spacing:-.02em;margin-bottom:.2rem}.dm-sub{font-size:clamp(2rem,3.8vw,3rem);font-weight:700;line-height:1.12;margin-bottom:2rem}.dm-rule{width:min(420px,60%);margin:clamp(2.5rem,6vw,4rem) auto 1.4rem;border:0;border-top:2px solid var(--accent);opacity:.7}.dm-center{text-align:center;max-width:980px;margin:0 auto}.dm-center h2{font-size:clamp(2.2rem,3.8vw,3.1rem);letter-spacing:-.02em}.dm-center p{color:var(--muted);font-size:1.25rem;max-width:52ch;margin:0 auto 2rem}.dm-center img{border-radius:var(--r-sm);border:1px solid var(--border);box-shadow:var(--shadow)}.dm-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);padding:clamp(2.5rem,6vw,4rem) 0 0}.dm-cell h3{font-size:clamp(1.6rem,2.4vw,2.1rem);letter-spacing:-.015em;border-top:2px solid var(--accent);padding-top:1rem;margin-bottom:.7rem}.dm-cell p{color:var(--muted);font-size:1.25rem;line-height:1.55;margin-bottom:1.4rem;min-height:4.2em}.dm-cell img{border-radius:var(--r-sm);border:1px solid var(--border);box-shadow:var(--shadow)}@media(max-width:820px){.dm-grid{grid-template-columns:1fr}.dm-cell p{min-height:0}}.brand-faces .cta,.brand-dmeter .cta{margin-top:clamp(4rem,8vw,6.5rem)}.phones-row .cell h3.below{margin-top:1.4rem}.product-card .one-liner{font-size:1.25rem;color:var(--muted);font-weight:500}.product-card .art .app-badge{width:clamp(140px,16vw,220px);height:auto;border-radius:22%;box-shadow:var(--shadow)}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:stretch}.product-grid .product-card{grid-template-columns:1fr;text-align:center;gap:1rem}.product-grid .product-card .art{order:-1}.product-grid .product-card .actions{justify-content:center}@media(max-width:820px){.product-grid{grid-template-columns:1fr}}.phones-row .cell.drop{margin-top:clamp(5rem,10vw,11rem)}@media(max-width:900px){.phones-row .cell.drop{margin-top:0}}@media(max-width:900px){.phones-row.stagger+.phones-row.stagger{margin-top:0}.phones-row.stagger{padding:2rem 0}}.brand-dmeter .product-hero .lede{max-width:min(1100px,92%)}.brand-dmeter .app-icon,.product-card .art .app-badge.bare{border-radius:0;box-shadow:none}.card:has(.cell-link:hover),.card:has(.cell-link):hover{transform:translateY(-2px);border-color:transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--accent-gradient) border-box}.page-intro{text-align:center;padding:clamp(3.5rem,8vw,5.5rem) 0 clamp(1.5rem,3vw,2.5rem);position:relative}.page-intro:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(50% 45% at 50% 0%,var(--glow),transparent 78%)}.page-intro h1{font-size:clamp(2.6rem,6vw,4.5rem);letter-spacing:-.025em;line-height:1.02;margin-bottom:1.4rem}.page-intro .prose{max-width:74ch;margin:0 auto;text-align:left}.page-intro .prose p{color:var(--muted);font-size:var(--fs-lg);line-height:1.7;margin-bottom:1.1em}.arch-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding-bottom:2rem}.arch-card{padding:0;overflow:hidden;gap:0;scroll-margin-top:var(--header-h)}.arch-card .shots-slideshow{position:relative;aspect-ratio:16 / 9;overflow:hidden}.arch-card .shots-slideshow img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}.arch-card .shots-slideshow img.active{position:absolute;opacity:1}.arch-card .copy{padding:1.3rem 1.5rem 1.5rem}.arch-card .tag{font-size:var(--fs-xs);color:var(--faint);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.arch-card h3{font-size:var(--fs-2xl);text-transform:uppercase;letter-spacing:.02em;margin:.25rem 0 .7rem}.arch-card .copy>p{color:var(--muted);font-size:var(--fs-md);line-height:1.6;margin-bottom:.8em}@media(max-width:900px){.arch-grid{grid-template-columns:1fr}}.disclosure{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);margin:.5rem 0}.disclosure summary{cursor:pointer;font-weight:600;font-size:var(--fs-sm);padding:.7rem 1rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}.disclosure summary::-webkit-details-marker{display:none}.disclosure summary:after{content:"+";color:var(--faint);font-weight:400}.disclosure[open] summary:after{content:"–"}.disclosure-body{padding:0 1rem .9rem}.disclosure p{color:var(--muted);font-size:var(--fs-md);line-height:1.6}.disclosure p+p{margin-top:.7em}html[data-theme=dark] .icon-sun[data-astro-cid-s4oj4lak]{display:none}html:not([data-theme=dark]) .icon-moon[data-astro-cid-s4oj4lak]{display:none}
