@font-face{font-family:Epilogue Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/epilogue-vietnamese-wght-normal.0jcsbszh7sxpe.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Epilogue Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/epilogue-latin-ext-wght-normal.0399j14pzqbsf.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Epilogue Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/epilogue-latin-wght-normal.229-jqet5mboz.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(../media/ibm-plex-sans-cyrillic-ext-wght-normal.0w5-20wrij2y1.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(../media/ibm-plex-sans-cyrillic-wght-normal.1fjuga16p-_i_.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(../media/ibm-plex-sans-greek-wght-normal.1bpl7wsc6313m.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(../media/ibm-plex-sans-vietnamese-wght-normal.3t024er0ypawq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(../media/ibm-plex-sans-latin-ext-wght-normal.3t_7mbg42824f.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(../media/ibm-plex-sans-latin-wght-normal.15jby9eboz7vb.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-ext-400-normal.09jq5v9-1wf71.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-400-normal.2iaubq2jy0rx3.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-400-normal.0m1ahpdxrpokj.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-400-normal.2-z93d2j9-3s0.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-vietnamese-400-normal.3a7fs2yw914a9.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-400-normal.2kzc8ichkozg5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-ext-400-normal.1hjaitcyq2e2r.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-400-normal.0nrwft7nlo5oa.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-400-normal.3xdfs0-p_zi4c.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-400-normal.2lhng2ntocry9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}ul,ol{padding:0;list-style:none}img,svg{max-width:100%;display:block}button,input{font:inherit}}@layer tokens{:root{--ink-950:#0a1626;--navy-800:#12294c;--paper-50:#f5f7fa;--paper-0:#fff;--mark-reversed:#eef3f8;--mist-300:#9aa8ba;--slate-500:#56657a;--line-200:#dce2ea;--line-300:#a9b4c2;--teal-400:#1fd4c4;--teal-700:#0a7a70;--ink-975:#070f1b;--ink-925:#0c1b30;--ground:var(--ink-950);--ground-deep:var(--ink-975);--ground-soft:var(--ink-925);--ground-raised:var(--navy-800);--ground-light:var(--paper-50);--text:var(--mark-reversed);--text-muted:var(--mist-300);--text-on-light:var(--ink-950);--text-muted-on-light:var(--slate-500);--rule:#eef3f81f;--rule-strong:#eef3f847;--signal:var(--teal-400);--signal-text-on-light:var(--teal-700);--font-display:"Epilogue Variable", "Helvetica Neue", Arial, sans-serif;--font-body:"IBM Plex Sans Variable", "Helvetica Neue", Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--step-hero:clamp(2.9rem, 6.2vw, 6.25rem);--step-display:clamp(2.4rem, 5.2vw, 5.25rem);--step-statement:clamp(1.9rem, 4.4vw, 4.6rem);--step-title:clamp(1.6rem, 2.8vw, 2.75rem);--step-body:1.0625rem;--step-small:.875rem;--step-micro:.8125rem;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-6:3rem;--space-8:4rem;--space-12:6rem;--space-section:clamp(5rem, 10vw, 9rem);--gutter:clamp(1rem, 4vw, 3.5rem);--shell:90rem;--radius-control:.875rem;--radius-doc:1.125rem;--radius-code:.625rem;--header-h:4.5rem}}@layer base{html{background:var(--ground);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--text);font-family:var(--font-body);font-size:var(--step-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-weight:380;line-height:1.65;overflow-x:clip}.display{font-family:var(--font-display);letter-spacing:-.035em;font-kerning:normal;text-wrap:balance;font-weight:520;line-height:.98}p{text-wrap:pretty;hanging-punctuation:first}.link{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s cubic-bezier(.65,0,.35,1),color .3s}.link:hover{background-size:100% 1px}.is-locked{overflow:hidden}a{color:inherit;text-decoration:none}body:after{content:"";z-index:70;pointer-events:none;opacity:.045;background:url(/grain.svg);position:fixed;inset:0}:focus-visible{outline:2px solid var(--signal);outline-offset:4px;border-radius:4px}::selection{background:var(--signal);color:var(--ink-950)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--space-2);left:var(--space-2);z-index:100;padding:var(--space-1) var(--space-2);background:var(--paper-50);color:var(--ink-950);border-radius:var(--radius-control);position:fixed;transform:translateY(calc(-100% - 2rem))}.skip-link:focus{transform:none}}@layer layout{.shell{width:100%;max-width:var(--shell);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--space-section)}main,section[id],footer[id]{scroll-margin-top:var(--header-h)}}@layer components{.split-line-mask{margin-bottom:-.12em;padding-bottom:.12em;overflow:visible clip!important}.motion .hero-title{visibility:hidden}.button{min-height:3.25rem;padding-inline:var(--space-3);border-radius:var(--radius-control);letter-spacing:.005em;justify-content:center;align-items:center;font-size:.9375rem;font-weight:500;transition:background-color .3s,border-color .3s,color .3s,transform .3s;display:inline-flex}.button--signal{background:var(--signal);color:var(--ink-950)}.button--signal:hover{background:var(--paper-0)}.button--ghost{border:1px solid var(--rule-strong);color:var(--text)}.button--ghost:hover{border-color:var(--text)}.button--small{min-height:2.5rem;padding-inline:var(--space-2);font-size:var(--step-small)}.button--large{min-height:3.75rem;padding-inline:var(--space-4);font-size:1rem}.mark-ink-stroke{stroke:var(--mark-reversed)}.mark-ink-fill{fill:var(--mark-reversed)}.mark-core-fill{fill:var(--teal-400)}.logo-lockup{width:auto;height:28px}.site-header{inset:var(--space-2) 0 auto;z-index:50;transition:transform .6s cubic-bezier(.7,0,.2,1);position:fixed}.site-header.is-hidden{transform:translateY(calc(-100% - var(--space-3)))}.site-header__inner{align-items:center;gap:var(--space-3);height:3.75rem;margin-inline:calc(var(--space-2) * -1);padding-inline:var(--space-2) .5rem;border-radius:var(--radius-doc);border:1px solid #0000;transition:background-color .5s,border-color .5s,box-shadow .5s;display:flex}.site-header.is-scrolled .site-header__inner{border-color:var(--rule);-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);background:#0a1626b3;box-shadow:inset 0 1px #eef3f80a,0 18px 40px -24px #000000b3}.site-header__brand{border-radius:.5rem;padding:.25rem;display:inline-flex}.scroll-address{border-left:1px solid var(--rule);font-family:var(--font-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:.04em;margin-inline-end:auto;padding:.2rem .5rem;font-size:.75rem}.site-nav{font-size:var(--step-small);color:var(--text-muted);gap:.25rem;display:flex}.site-nav__link{border-radius:.625rem;padding:.5rem .875rem;transition:color .3s,background-color .3s;display:block;position:relative}.site-nav__link:hover{background:#eef3f80f}.site-nav__link:hover,.site-nav__link[aria-current=true]{color:var(--text)}.site-nav__link:after{content:"";background:var(--mark-reversed);border-radius:.08rem;width:.3rem;height:.3rem;transition:transform .5s cubic-bezier(.3,1.6,.5,1);position:absolute;bottom:.15rem;left:50%;transform:translate(-50%)scale(0)}.site-nav__link[aria-current=true]:after{transform:translate(-50%)scale(1)}.site-header.is-menu-open{transform:none}.site-header.is-menu-open .site-header__inner{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000}.menu-toggle{min-height:2.75rem;color:var(--text);font-size:var(--step-small);cursor:pointer;z-index:2;background:0 0;border:0;align-items:center;gap:.75rem;padding:0 .25rem;display:none;position:relative}.menu-toggle__icon{width:1.5rem;height:.6rem;position:relative}.menu-toggle__icon span{background:currentColor;height:1px;transition:transform .5s cubic-bezier(.65,0,.35,1),top .5s;position:absolute;left:0;right:0}.menu-toggle__icon span:first-child{top:0}.menu-toggle__icon span:last-child{top:100%}.menu-toggle[aria-expanded=true] .menu-toggle__icon span{top:50%}.menu-toggle[aria-expanded=true] .menu-toggle__icon span:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle__icon span:last-child{transform:rotate(-45deg)}.menu{z-index:45;visibility:hidden;clip-path:inset(0 0 100%);background:var(--ground);padding:calc(var(--header-h) + var(--space-6)) var(--gutter) var(--space-6);flex-direction:column;justify-content:space-between;display:flex;position:fixed;inset:0}.menu-list{gap:var(--space-1);display:grid}.menu-mask{overflow:hidden}.menu-item{padding-block:.1em;font-size:clamp(2.75rem,12vw,4.5rem);font-weight:300;display:block}.menu-item:active{font-weight:600}.menu-foot{gap:var(--space-3);color:var(--text-muted);font-size:var(--step-small);justify-items:start;display:grid}.hero{min-height:100svh;padding-block:calc(var(--header-h) + var(--space-6)) var(--space-8);background:linear-gradient(to bottom, transparent 65%, var(--ground)), radial-gradient(42rem 34rem at 78% 46%, #12294cbf, transparent 70%), var(--ground);align-items:center;display:flex;position:relative;overflow:clip}.hero-grid{gap:var(--space-6);grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:center;display:grid}.hero-copy{z-index:2;position:relative}.hero-title{font-size:var(--step-hero);margin-block:0 var(--space-4)}.hero-line{display:block}.hero-lead{max-width:34rem;color:var(--text-muted);font-size:1.125rem}.hero-actions{gap:var(--space-2);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.hero-figure{position:relative}.hero-mark{width:100%;overflow:visible}.hero-guide{stroke:var(--rule);stroke-width:1px;vector-effect:non-scaling-stroke}.hero-wall{fill:none;stroke:var(--mark-reversed)}.hero-core{fill:var(--teal-400)}.hero-scroll{left:50%;bottom:var(--space-3);justify-items:center;gap:var(--space-1);font-size:var(--step-micro);color:var(--text-muted);display:grid;position:absolute;transform:translate(-50%)}.hero-scroll__line{background:var(--rule);width:1px;height:3rem;position:relative;overflow:hidden}.hero-scroll__line:after{content:"";background:var(--mark-reversed);animation:2.4s cubic-bezier(.65,0,.35,1) infinite scroll-cue;position:absolute;inset:0;transform:translateY(-100%)}@keyframes scroll-cue{0%{transform:translateY(-100%)}60%,to{transform:translateY(100%)}}.statement-text{font-size:var(--step-statement);letter-spacing:-.03em;max-width:30ch;line-height:1.08}.practices{background:radial-gradient(70rem 26rem at 50% 0%, #12294c8c, transparent 70%), var(--ground-soft);box-shadow:0 0 0 1px var(--rule);border-radius:clamp(1.5rem,3vw,2.5rem)}.practices-head{gap:var(--space-6);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;display:grid}.practices-title{font-size:var(--step-display);max-width:13ch}.practices-lead{color:var(--text-muted);max-width:30rem;font-size:1.125rem}.composer{gap:var(--space-8);margin-top:var(--space-12);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;display:grid}.composer-hint{font-size:var(--step-small);color:var(--text-muted);margin-bottom:var(--space-2)}.composer-toggle{column-gap:var(--space-3);text-align:start;cursor:pointer;width:100%;padding:var(--space-4) var(--space-3) var(--space-4) 0;border:0;border-top:1px solid var(--rule);color:var(--text);background:0 0;border-radius:0;grid-template-columns:auto 1fr;grid-template-areas:"check name"".part"".short";transition:background-color .4s;display:grid;position:relative}.composer-toggle:last-of-type{border-bottom:1px solid var(--rule)}@media (hover:hover){.composer-toggle:hover{background:linear-gradient(90deg,#eef3f809,#0000 70%)}}.composer-toggle__check{border:1px solid var(--rule-strong);border-radius:.3rem;grid-area:check;align-self:center;width:1.125rem;height:1.125rem;transition:background-color .4s,border-color .4s,transform .4s cubic-bezier(.3,1.6,.5,1)}.composer-toggle[aria-pressed=true] .composer-toggle__check{background:var(--mark-reversed);border-color:var(--mark-reversed);transform:scale(.82)}.composer-toggle__name{color:var(--text-muted);grid-area:name;font-size:clamp(2.25rem,4.6vw,4.25rem);font-weight:130;line-height:1;transition:font-weight .7s cubic-bezier(.65,0,.35,1),color .5s}.composer-toggle[aria-pressed=true] .composer-toggle__name{color:var(--text);font-weight:520}.composer-toggle__part{margin-top:var(--space-2);font-size:var(--step-small);color:var(--text);opacity:.7;grid-area:part}.composer-toggle__short{margin-top:var(--space-1);max-width:34rem;color:var(--text-muted);grid-area:short}.composer-visual{top:calc(var(--header-h) + var(--space-4));gap:var(--space-4);display:grid;position:sticky}.composer-mark{justify-self:center;width:min(100%,22rem);overflow:visible}.composer-ghost{fill:none;stroke:var(--rule-strong);stroke-width:.4px;stroke-dasharray:.8 1.4}.composer-ghost--core{transition:opacity .4s}.composer-mark[data-core=true] .composer-ghost--core{opacity:0}.composer-wall{fill:none;stroke:var(--mark-reversed)}.composer-core{fill:var(--teal-400)}.composer-summary{border-top:1px solid var(--rule);padding-top:var(--space-3);min-height:11rem}.composer-summary__label{font-size:var(--step-small);color:var(--text-muted);margin-bottom:var(--space-1)}.composer-summary__title{font-size:var(--step-title);line-height:1.08}.composer-summary__body{margin-top:var(--space-2);color:var(--text-muted);max-width:32rem}.catalog{gap:var(--space-6);margin-top:var(--space-section);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.catalog-column{transition:opacity .6s}.catalog-column[data-active=false]{opacity:.38}.catalog-name{font-family:var(--font-display);letter-spacing:-.02em;padding-bottom:var(--space-2);border-bottom:1px solid var(--rule-strong);align-items:center;gap:.75rem;font-size:1.5rem;font-weight:400;display:flex}.part-glyph{flex:none;width:1.5rem;height:1.5rem}.part-glyph__on{stroke:var(--mark-reversed);fill:var(--mark-reversed)}path.part-glyph__on,path.part-glyph__off{fill:none}.part-glyph__off{stroke:#eef3f82e;fill:#eef3f82e}.catalog-row{padding-block:var(--space-3);border-bottom:1px solid var(--rule)}.catalog-row__title{margin-bottom:.25rem;font-size:1.0625rem;font-weight:500}.catalog-row__body{color:var(--text-muted);font-size:.9375rem}.lifecycle{--ground:var(--ground-light);--text:var(--text-on-light);--text-muted:var(--text-muted-on-light);--rule:#0a16261f;--hairline-plate:var(--paper-50);--hairline-hi:var(--ink-950);--hairline-edge:var(--slate-500);--hairline-mid:var(--line-300);--hairline-lo:var(--line-200);--hairline-stroke:1;background:var(--ground);color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;position:relative}.lifecycle :focus-visible{outline-color:var(--signal-text-on-light)}.lifecycle-stage{height:100svh;min-height:40rem;padding-block:calc(var(--header-h) + clamp(1.5rem, 5svh, 3.5rem)) clamp(1.25rem, 4svh, 2.5rem);grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-columns:minmax(0,1fr);display:grid;overflow:clip}.lifecycle-head{column-gap:var(--space-8);grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:end;display:grid}.lifecycle-title{max-width:14ch;font-size:clamp(2rem,3.6vw,3.5rem);line-height:1.02}.lifecycle-lead{color:var(--text-muted);max-width:32rem}.lifecycle-viewport{align-items:center;min-height:0;display:flex}.lifecycle-track{height:100%;padding-inline:max(var(--gutter), calc((100vw - var(--shell)) / 2 + var(--gutter)));will-change:transform;align-items:center;gap:clamp(2rem,6vw,6rem);display:flex}.lifecycle-panel{gap:var(--space-6);flex:none;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;width:min(68vw,64rem);height:100%;max-height:32rem;transition:opacity .6s;display:grid}.lifecycle-panel[data-active=false]{opacity:.35}.lifecycle-figure{aspect-ratio:5/4;justify-self:center;width:100%;max-height:100%}.lifecycle-figure svg{width:100%;height:100%}.lifecycle-meta{gap:var(--space-2);font-size:var(--step-small);color:var(--text-muted);align-items:baseline;display:flex}.lifecycle-index{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--text)}.lifecycle-name{letter-spacing:-.04em;margin-block:var(--space-2) var(--space-3);font-size:clamp(2.5rem,5vw,4.75rem);font-weight:300}.lifecycle-body{color:var(--text-muted);max-width:26rem}.lifecycle-progress{padding-top:var(--space-3);position:relative}.lifecycle-progress__bar{top:0;left:var(--gutter);right:var(--gutter);background:var(--rule);height:1px;position:absolute}.lifecycle-progress__bar:after{content:"";background:var(--text);transform-origin:0;transform:scaleX(var(--progress,0));position:absolute;inset:0}.lifecycle-progress ol{font-size:var(--step-small);grid-template-columns:repeat(4,1fr);display:grid}.lifecycle-progress li{color:var(--text-muted);transition:color .5s}.lifecycle-progress li[data-active=true]{color:var(--text)}.lifecycle-hint{margin-top:var(--space-1);font-size:var(--step-micro);color:var(--text-muted)}@media (hover:none){.lifecycle-hint{display:none}}.principles{padding-top:var(--space-8)}.principle{--rule:1;gap:var(--space-4);padding-block:var(--space-4) var(--space-6);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:baseline;display:grid;position:relative}.principle:before{content:"";background:var(--rule-strong);transform-origin:0;height:1px;transform:scaleX(var(--rule,1));position:absolute;inset:0 0 auto}.principle-title{font-size:var(--step-title);line-height:1.05}.principle-body{color:var(--text-muted);max-width:28rem}.contact{padding-block:var(--space-section) var(--space-6);background:radial-gradient(60rem 36rem at 85% 100%, #12294ce6, transparent 70%), linear-gradient(to bottom, var(--ground), var(--ground-deep));position:relative;overflow:clip}.contact-inner{position:relative}.contact-watermark{stroke:#eef3f80d;pointer-events:none;width:min(62vw,56rem);position:absolute;bottom:-14vw;right:-8vw}.contact-title{max-width:14ch;font-size:clamp(2.75rem,7.6vw,8.25rem)}.contact-row{gap:var(--space-6);margin-top:var(--space-8);grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:end;display:grid}.contact-lead{color:var(--text-muted);max-width:34rem;font-size:1.125rem}.contact-actions{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.contact-email{font-family:var(--font-mono);font-size:var(--step-small);color:var(--text-muted);border-bottom:1px solid var(--rule-strong)}.contact-email:hover{color:var(--text)}.site-footer{gap:var(--space-6);margin-top:var(--space-section);padding-top:var(--space-6);border-top:1px solid var(--rule);font-size:var(--step-small);color:var(--text-muted);grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,4fr);align-items:start;display:grid}.site-footer__brand{gap:var(--space-2);display:grid}.site-footer__nav ul{gap:var(--space-1);display:grid}.site-footer__nav a{color:var(--text)}.site-footer__meta{gap:var(--space-1);text-align:end;justify-items:end;display:grid}@media (max-width:960px){.site-nav-wrap,.site-header__cta{display:none}.menu-toggle{display:inline-flex}.hero-scroll{display:none}.practices-head,.composer,.catalog{grid-template-columns:minmax(0,1fr)}.composer{gap:var(--space-6);margin-top:var(--space-8)}.composer-visual{top:auto;bottom:var(--space-2);z-index:5;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--rule);border-radius:var(--radius-doc);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#12294ce0;grid-template-columns:3.5rem minmax(0,1fr);position:sticky}.composer-mark{width:3.5rem}.composer-summary{border-top:0;min-height:0;padding-top:0}.composer-summary__label{font-size:var(--step-micro);margin-bottom:0}.composer-summary__title{font-size:1.125rem;line-height:1.2}.composer-summary__body{display:none}.composer-toggle{border-radius:0;padding-right:0}.catalog{gap:var(--space-8);margin-top:var(--space-12)}.site-footer__meta{text-align:start;justify-items:start}.hero-grid{grid-template-columns:minmax(0,1fr)}.hero-figure{width:min(62vw,22rem);margin-bottom:calc(var(--space-6) * -1);order:-1;justify-self:end}.practices-grid{row-gap:var(--space-12);grid-template-columns:minmax(0,1fr)}.practice-wall{display:none}.lifecycle-stage{height:auto;min-height:0;padding-block:var(--space-section)}.lifecycle-head{row-gap:var(--space-2);grid-template-columns:minmax(0,1fr)}.lifecycle-track{padding-inline:var(--gutter);gap:var(--space-8);margin-top:var(--space-6);flex-direction:column}.lifecycle-panel{gap:var(--space-3);grid-template-columns:minmax(0,1fr);width:100%;height:auto;max-height:none}.lifecycle-panel[data-active=false]{opacity:1}.lifecycle-figure{width:min(100%,26rem)}.lifecycle-progress,.lifecycle-hint{display:none}.contact-row,.principle{grid-template-columns:minmax(0,1fr)}.site-footer{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.scroll-address{display:none}.site-header__brand{margin-inline-end:auto}.hero-actions .button{flex:100%}}}@layer motion{.motion .hero{visibility:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}}
