:root{--paper:#F4F5F3;--surface:#FFFFFF;--ink:#0E1726;--muted:#5A6472;--rule:#D9DDE1;--accent:#2340C8;--accent-ink:#FFFFFF;--signal:#C46A12;--band:#0E1726;--band-fg:#E9EDF2;--band-muted:#99A3B1;--band-rule:#26324A;--band-accent:#8FA6FF;--f-display:"Instrument Serif","Iowan Old Style","Times New Roman",serif;--f-body:"Geist","Helvetica Neue",Arial,sans-serif;--f-mono:"Geist Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--t-hero:clamp(2.9rem,7vw,5.6rem);--t-h2:clamp(2rem,4.2vw,3.2rem);--t-h3:1.18rem;--wrap:1180px;--radius:6px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0B1019;--surface:#121A26;--ink:#E8ECF1;--muted:#98A2B0;--rule:#222C3B;--accent:#8FA6FF;--accent-ink:#0B1019;--signal:#F0A050;--band:#121A26;--band-fg:#E8ECF1;--band-muted:#98A2B0;--band-rule:#26324A;--band-accent:#8FA6FF;color-scheme:dark}}:root[data-theme=dark]{--paper:#0B1019;--surface:#121A26;--ink:#E8ECF1;--muted:#98A2B0;--rule:#222C3B;--accent:#8FA6FF;--accent-ink:#0B1019;--signal:#F0A050;--band:#121A26;--band-fg:#E8ECF1;--band-muted:#98A2B0;--band-rule:#26324A;--band-accent:#8FA6FF;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}@media(min-width:760px){.wrap{padding-left:max(40px,env(safe-area-inset-left,0px));padding-right:max(40px,env(safe-area-inset-right,0px))}}h1,h2,h3{margin:0;text-wrap:balance}h1,h2{font-family:var(--f-display);font-weight:400;letter-spacing:-.015em;line-height:1.02}h1{font-size:var(--t-hero)}h2{font-size:var(--t-h2)}h1 em,h2 em{font-style:italic;color:var(--accent)}h3{font-family:var(--f-body);font-size:var(--t-h3);font-weight:600;line-height:1.3;letter-spacing:-.005em}p{margin:0}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.label{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--paper)}.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:6;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:saturate(1.2) blur(8px);-webkit-backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--rule)}.top .wrap{display:flex;align-items:center;gap:28px;padding-block:14px}.mark{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.mark svg{width:22px;height:22px;flex:none}.mark b{font-family:var(--f-body);font-weight:600;letter-spacing:.22em;font-size:.98rem}.nav{display:flex;gap:24px;margin-left:auto}.nav a{text-decoration:none;color:var(--muted);font-size:.93rem}.nav a:hover{color:var(--ink)}.btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:500;font-size:.95rem;padding:11px 18px;border-radius:var(--radius);border:1px solid var(--accent);transition:transform .15s ease,filter .15s ease}.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--rule)}.btn.ghost:hover{border-color:var(--ink)}.top .btn{padding:8px 14px;font-size:.88rem}@media(max-width:860px){.nav{display:none}.top .btn{margin-left:auto}}.hero{position:relative;isolation:isolate;overflow:hidden;--hero-fg:#F2F4F7;--hero-muted:rgba(242,244,247,.78);color:var(--hero-fg);background:#0b1019}.hero-media{position:absolute;inset:0;z-index:-1}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;display:block}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080c14eb,#080c14c7 42%,#080c1440)}.hero .wrap{padding-block:128px 112px}.hero-copy{display:grid;gap:28px;max-width:720px}.hero .label{color:var(--hero-muted)}.hero h1 em{color:#a9b9ff}.lead{font-size:1.18rem;color:var(--hero-muted);max-width:33em}.lead strong{color:var(--hero-fg);font-weight:500}.cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.hero .btn.ghost{color:var(--hero-fg);border-color:#f2f4f759}.hero .btn.ghost:hover{border-color:var(--hero-fg)}.assure{font-family:var(--f-mono);font-size:.78rem;color:var(--muted);letter-spacing:.04em}.hero .assure{color:var(--hero-muted)}@media(max-width:760px){.hero .wrap{padding-block:88px 72px}.hero-media:after{background:linear-gradient(180deg,#080c14b3,#080c14e6)}}.mosaic{display:grid;grid-template-columns:1.45fr 1fr;grid-template-rows:1fr 1fr;gap:16px;height:clamp(340px,46vw,560px);margin-top:72px}.mosaic figure{margin:0;overflow:hidden;border-radius:var(--radius);background:var(--rule)}.mosaic figure:first-child{grid-row:1 / span 2}.mosaic img,.wide img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)}@media(prefers-reduced-motion:no-preference){.mosaic figure:hover img,.wide:hover img{transform:scale(1.03)}}@media(max-width:700px){.mosaic{grid-template-columns:1fr;grid-template-rows:240px 180px 180px;height:auto}.mosaic figure:first-child{grid-row:auto}}.wide{margin:0 0 64px;border-radius:var(--radius);overflow:hidden;aspect-ratio:21/8;max-width:100%;background:var(--rule)}@media(max-width:700px){.wide{aspect-ratio:4/3}}.section{padding-block:96px;scroll-margin-top:64px}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 56px;align-items:end;margin-bottom:56px}.section-head p{color:var(--muted);max-width:34em}@media(max-width:860px){.section-head{grid-template-columns:1fr;margin-bottom:40px}.section{padding-block:72px}}.triggers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}.trigger{padding:24px 28px 28px 0;border-bottom:1px solid var(--rule);display:grid;gap:8px;align-content:start}.trigger:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid var(--rule)}.trigger p{color:var(--muted);font-size:.96rem}@media(max-width:900px){.triggers{grid-template-columns:1fr 1fr}.trigger:not(:nth-child(3n+1)){padding-left:0;border-left:0}.trigger:nth-child(2n){padding-left:24px;border-left:1px solid var(--rule)}}@media(max-width:560px){.triggers{grid-template-columns:1fr}.trigger:nth-child(2n){padding-left:0;border-left:0}}.ink{background:var(--band);color:var(--band-fg)}.ink .label,.ink .section-head p{color:var(--band-muted)}.ink h2 em{color:var(--band-accent)}.practices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--band-rule);border:1px solid var(--band-rule);border-radius:var(--radius);overflow:hidden}.practice{background:var(--band);padding:32px;display:grid;gap:28px;align-content:start;min-width:0}.practice-top{display:grid;gap:10px}.practice-top .tag{font-family:var(--f-mono);font-size:.78rem;color:var(--band-accent);letter-spacing:.06em}.practice-top p{color:var(--band-muted)}.practice dl{margin:0;display:grid;gap:0}.practice dt{font-weight:500;padding-top:16px;border-top:1px solid var(--band-rule)}.practice dd{margin:4px 0 16px;color:var(--band-muted);font-size:.95rem}@media(max-width:1000px){.practices{grid-template-columns:1fr}.practice{padding:28px 24px}}.models{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:64px}.model{border:1px solid var(--rule);border-radius:var(--radius);padding:30px;display:grid;gap:14px;align-content:start;background:var(--surface)}.model.primary{border-color:var(--ink)}.model ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}.model li{display:grid;grid-template-columns:18px 1fr;gap:8px;color:var(--muted);font-size:.96rem}.model li:before{content:"";width:8px;height:8px;border:1.5px solid var(--accent);border-radius:50%;margin-top:.55em}@media(max-width:760px){.models{grid-template-columns:1fr}}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));counter-reset:s}.steps li{position:relative;padding:28px 24px 0 0;border-top:1px solid var(--rule);display:grid;gap:8px;align-content:start}.steps li:before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:var(--f-mono);font-size:.8rem;color:var(--accent)}.steps li:after{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;background:var(--accent);border-radius:50%}.steps p{color:var(--muted);font-size:.95rem}@media(max-width:900px){.steps{grid-template-columns:1fr 1fr;row-gap:32px}}@media(max-width:520px){.steps{grid-template-columns:1fr}}.software{border-block:1px solid var(--rule);background:var(--surface)}.software .wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:32px;align-items:center;padding-block:44px}.software h3{font-family:var(--f-display);font-weight:400;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.15}.software p{color:var(--muted);margin-top:6px}.pill{font-family:var(--f-mono);font-size:.76rem;letter-spacing:.06em;color:var(--signal);border:1px solid currentColor;border-radius:999px;padding:5px 12px;white-space:nowrap}@media(max-width:760px){.software .wrap{grid-template-columns:1fr;gap:16px}}.faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:56px}.faq details{border-top:1px solid var(--rule)}.faq details:last-child{border-bottom:1px solid var(--rule)}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:20px 0;font-weight:500}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--f-mono);color:var(--accent);font-size:1.2rem;line-height:1}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--muted);padding-bottom:22px;max-width:40em}@media(max-width:860px){.faq{grid-template-columns:1fr;gap:32px}}.contact{background:linear-gradient(#080c14e0,#080c14e0),url(/img/bright.webp) center/cover no-repeat,var(--band);color:var(--band-fg)}.contact .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:56px;align-items:end;padding-block:96px}.contact h2 em{color:var(--band-accent)}.contact p{color:var(--band-muted);max-width:32em;margin-top:18px}.contact .label{color:var(--band-muted)}.channels{display:grid;gap:18px}.channel{display:grid;gap:6px;padding-top:16px;border-top:1px solid var(--band-rule)}.channel .value{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:1.15rem}.copy{font:inherit;font-size:.8rem;font-family:var(--f-mono);background:transparent;color:var(--band-fg);border:1px solid var(--band-rule);padding:4px 10px;border-radius:4px;cursor:pointer}.copy:hover{border-color:var(--band-accent)}.contact .assure{color:var(--band-muted)}@media(max-width:860px){.contact .wrap{grid-template-columns:1fr;padding-block:72px}}.nav a[aria-current=page]{color:var(--ink)}.menu{display:none;margin-left:auto;position:relative}.menu summary{list-style:none;cursor:pointer;font-family:var(--f-mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--rule);border-radius:var(--radius);padding:7px 12px}.menu summary::-webkit-details-marker{display:none}.menu[open] summary{border-color:var(--ink)}.menu nav{position:absolute;right:0;top:calc(100% + 10px);background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:8px;display:grid;min-width:230px;box-shadow:0 18px 40px #0e172624}.menu nav a{text-decoration:none;padding:10px 12px;border-radius:4px}.menu nav a:hover{background:var(--paper)}.menu nav a.sub{padding-left:24px;color:var(--muted);font-size:.93rem}@media(max-width:860px){.menu{display:block}.top .btn{margin-left:0}}@media(max-width:420px){.top .btn{display:none}}.page-head{background:var(--band);color:var(--band-fg);position:relative;isolation:isolate;overflow:hidden}.page-head .wrap{padding-block:96px 80px;display:grid;gap:22px;max-width:var(--wrap)}.page-head h1{font-size:clamp(2.5rem,5.6vw,4.4rem);max-width:15em}.page-head h1 em{color:var(--band-accent)}.page-head .label,.page-head .lead{color:var(--band-muted)}.page-head.has-img .bg{position:absolute;inset:0;z-index:-1}.page-head.has-img .bg img{width:100%;height:100%;object-fit:cover;display:block}.page-head.has-img .bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080c14ed,#080c14cc,#080c1473)}.crumbs{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--band-muted);display:flex;gap:8px;flex-wrap:wrap}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--band-fg)}@media(max-width:760px){.page-head .wrap{padding-block:64px 56px}}.practice .more{margin-top:auto;font-size:.93rem;color:var(--band-accent);text-decoration:none;font-weight:500}.practice .more:hover{text-decoration:underline}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{display:grid;gap:12px;align-content:start;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:28px;text-decoration:none;transition:border-color .2s ease,transform .2s ease}.card:hover{border-color:var(--ink);transform:translateY(-2px)}.card .tag{font-family:var(--f-mono);font-size:.76rem;letter-spacing:.06em;color:var(--accent)}.card p{color:var(--muted);font-size:.96rem}.card .go{margin-top:8px;font-size:.93rem;font-weight:500;color:var(--accent)}@media(max-width:900px){.cards{grid-template-columns:1fr}}.detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:56px}.detail aside{display:grid;gap:16px;align-content:start;position:sticky;top:96px}.detail aside p{color:var(--muted)}.items{border-top:1px solid var(--ink)}.item{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:24px;padding:22px 0;border-bottom:1px solid var(--rule)}.item p{color:var(--muted)}@media(max-width:860px){.detail{grid-template-columns:1fr;gap:32px}.detail aside{position:static}.item{grid-template-columns:1fr;gap:6px}}.fit{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fit>div{border:1px solid var(--rule);border-radius:var(--radius);padding:28px;background:var(--surface);display:grid;gap:12px;align-content:start}.fit ul{margin:0;padding-left:18px;color:var(--muted);display:grid;gap:6px}@media(max-width:760px){.fit{grid-template-columns:1fr}}.closer{background:var(--surface);border-top:1px solid var(--rule)}.closer .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-block:56px}.closer h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}.prose{max-width:46em;display:grid;gap:14px}.prose h2{font-family:var(--f-body);font-size:1.15rem;font-weight:600;letter-spacing:0;margin-top:22px}.prose p,.prose li{color:var(--muted)}.prose strong{color:var(--ink);font-weight:500}footer{border-top:1px solid var(--rule);padding-block:56px 48px;font-size:.92rem;color:var(--muted)}.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}.foot h4{margin:0 0 12px;font-family:var(--f-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:400}.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.foot a{text-decoration:none;color:var(--ink)}.foot a:hover{color:var(--accent)}.foot .brand p{margin-top:12px;max-width:22em}.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:40px;padding-top:20px;border-top:1px solid var(--rule);font-size:.84rem}@media(max-width:860px){.foot{grid-template-columns:1fr 1fr}}@media(max-width:480px){.foot{grid-template-columns:1fr}}body{margin:0}.page-head h1{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:anywhere}.practices.two{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:1000px){.practices.two{grid-template-columns:1fr}}.article{max-width:44em;font-size:1.05rem;line-height:1.75}.article .meta{font-family:var(--f-mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:28px}.article h2{font-family:var(--f-display);font-weight:400;font-size:clamp(1.6rem,3vw,2.1rem);line-height:1.15;margin:48px 0 14px}.article p{margin:0 0 18px;color:var(--ink)}.article ul,.article ol{margin:0 0 22px;padding-left:1.3em;display:grid;gap:8px}.article li{color:var(--ink)}.article strong{font-weight:600}.article a{color:var(--accent)}
