@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2) format("woff2-variations");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}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-vietnamese-wght-normal.qRpaaN48.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-latin-ext-wght-normal.DmpS2jIq.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-latin-wght-normal.eXO_dkmS.woff2) format("woff2-variations");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}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");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{color-scheme:light dark;--canvas: light-dark(#f5f2ec, #121213);--tray: light-dark(#ebe5da, #19191b);--tile: light-dark(#fffdf9, #1f1f22);--tile-hover: light-dark(#ffffff, #26262a);--sand: light-dark(#efe9df, #2a2a2e);--rose: light-dark(#fbe7ea, #2f1a21);--rose-2: light-dark(#f7d5db, #45212d);--ink: light-dark(#1c1a17, #0b0b0c);--ink-2: light-dark(#2a2723, #1b1b1e);--text: light-dark(#1c1a17, #f2f2f3);--muted: light-dark(#5a534b, #b5b5ba);--dim: light-dark(#6b645b, #9e9ea4);--on-ink: light-dark(#f3eee7, #f2f2f3);--on-ink-muted: light-dark(#b9b0a5, #ababb1);--brand: #db2d54;--brand-press: light-dark(#c12148, #e8476b);--brand-text: light-dark(#bf1f45, #ff8199);--brand-on-ink: #ff8199;--ink-edge: light-dark(rgb(255 255 255 / 0), rgb(255 255 255 / .07));--hairline: light-dark(rgb(28 26 23 / .09), rgb(255 255 255 / .08));--focus: light-dark(#bf1f45, #ff8199);--shadow-c: light-dark(rgb(62 44 26 / .2), rgb(0 0 0 / .72));--shadow-c2: light-dark(rgb(62 44 26 / .04), rgb(0 0 0 / .3));--hi: light-dark(rgb(255 255 255 / 0), rgb(255 255 255 / .045));--shadow-tile: inset 0 1px 0 var(--hi), 0 1px 2px var(--shadow-c2), 0 14px 34px -22px var(--shadow-c);--shadow-lift: inset 0 1px 0 var(--hi), 0 2px 4px var(--shadow-c2), 0 28px 50px -24px var(--shadow-c);--shadow-pop: inset 0 1px 0 var(--hi), 0 2px 6px var(--shadow-c2), 0 30px 60px -18px var(--shadow-c);--font-display: "Plus Jakarta Sans Variable", "Inter Variable", ui-sans-serif, system-ui, sans-serif;--font-sans: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--fs-display: clamp(2.6rem, 1.4rem + 4.4vw, 4.75rem);--fs-display-xl: clamp(2.6rem, 1.2rem + 4.8vw, 5.5rem);--fs-h2: clamp(1.95rem, 1.35rem + 2.1vw, 3rem);--fs-h2-feature: clamp(1.7rem, 1.3rem + 1.4vw, 2.4rem);--fs-h3: clamp(1.2rem, 1.1rem + .4vw, 1.4rem);--fs-lead: clamp(1.075rem, 1rem + .3vw, 1.225rem);--fs-body: 1.0625rem;--fs-sm: .9375rem;--fs-xs: .8125rem;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--s-9: 96px;--s-10: 128px;--gap: clamp(12px, 1.4vw, 18px);--pad: clamp(24px, 3.2vw, 44px);--section: clamp(72px, 9vw, 128px);--wrap: 1264px;--gutter: clamp(16px, 3vw, 32px);--r-sm: 10px;--r-md: 16px;--r-lg: 22px;--r-xl: 30px;--r-tray: 40px;--r-pill: 999px;--ease: cubic-bezier(.2, .7, .2, 1);--t: .22s}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wrap{width:100%;max-width:calc(var(--wrap) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.section{margin-top:var(--section)}.section-head{display:grid;gap:16px;max-width:760px;margin-bottom:clamp(28px,3.4vw,44px)}.section-head .section-body{max-width:64ch}.display{font-family:var(--font-display);font-size:var(--fs-display);line-height:1.02;letter-spacing:-.038em;font-weight:750}.h2{font-family:var(--font-display);font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.03em;font-weight:720}.h2--feature{font-size:var(--fs-h2-feature);line-height:1.1;letter-spacing:-.026em}.h3{font-family:var(--font-display);font-size:var(--fs-h3);line-height:1.25;letter-spacing:-.015em;font-weight:680}.lead{font-size:var(--fs-lead);line-height:1.6;color:var(--muted);max-width:40em}.hl,.display strong,.h2 strong{font-style:normal;font-weight:inherit;color:var(--brand-text)}.section-body{color:var(--muted)}.section-body p+p{margin-top:1em}.section-body strong,.prose-body strong{color:var(--text);font-weight:650;background:var(--rose);padding:.05em .4em;border-radius:.4em;-webkit-box-decoration-break:clone;box-decoration-break:clone}.tile--rose .section-body strong,.tile--rose .prose-body strong{background:var(--rose-2)}.section-body a,.prose-body a{color:var(--brand-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.pill{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:6px 13px 6px 11px;border-radius:var(--r-pill);background:var(--rose);color:var(--brand-text);font-family:var(--font-display);font-size:var(--fs-xs);font-weight:650;letter-spacing:.005em;line-height:1.3}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand);flex:none}.tile--rose .pill{background:var(--tile)}.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--brand-text);font-family:var(--font-display);font-weight:650}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.text-link .i{transition:transform var(--t) var(--ease)}.text-link:hover .i{transform:translate(3px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 24px;border-radius:var(--r-pill);border:0;font-family:var(--font-display);font-weight:650;font-size:1rem;letter-spacing:-.005em;white-space:nowrap;cursor:pointer;transition:background-color var(--t) var(--ease),transform var(--t) var(--ease),box-shadow var(--t) var(--ease),color var(--t) var(--ease)}.btn .i{transition:transform var(--t) var(--ease)}.btn:hover .i{transform:translate(2px)}.btn:focus-visible{outline-offset:4px}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 8px 20px -10px #db2d54b3}.btn-primary:hover{background:var(--brand-press)}.btn-primary:active{transform:translateY(1px)}.btn-soft{background:var(--sand);color:var(--text)}.btn-soft:hover{background:var(--rose)}.tile--rose .btn-soft,.tile--sand .btn-soft{background:var(--tile)}.btn-on-ink{background:#ffffff1a;color:var(--on-ink)}.btn-on-ink:hover{background:#ffffff29}.btn-sm{height:40px;padding:0 18px;font-size:var(--fs-sm)}.actions{display:flex;flex-wrap:wrap;gap:10px}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--r-pill);color:var(--muted);transition:background-color var(--t) var(--ease),color var(--t) var(--ease)}.icon-btn:hover{background:var(--sand);color:var(--text)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips li{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--r-pill);background:var(--sand);color:var(--text);font-size:var(--fs-sm);font-weight:560}.chips--meta{gap:6px 22px}.chips--meta li{background:transparent;padding:0;color:var(--muted)}.chips--meta .i{color:var(--brand-text)}.mini-chips{display:flex;flex-wrap:wrap;gap:6px}.mini-chips li,.mini-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--r-pill);background:var(--sand);color:var(--muted);font-family:var(--font-mono);font-size:.75rem;font-weight:500;line-height:1.5}.mini-chip.is-brand,.is-brand .mini-chips li{background:var(--rose);color:var(--brand-text)}.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}.tile{position:relative;background:var(--tile);border-radius:var(--r-xl);padding:var(--pad);box-shadow:var(--shadow-tile);overflow:hidden}.tile--sand{background:var(--sand);box-shadow:none}.tile--rose{background:var(--rose);box-shadow:none}.tile--ink{background:var(--ink);color:var(--on-ink);box-shadow:inset 0 0 0 1px var(--ink-edge),var(--shadow-tile)}.tile--link{color:inherit;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),background-color var(--t) var(--ease)}.tile--link:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}.tile--link:focus-visible{outline-offset:4px}.tile--link .go{position:absolute;top:calc(var(--pad) - 4px);right:calc(var(--pad) - 4px);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--sand);color:var(--text);transition:background-color var(--t) var(--ease),color var(--t) var(--ease),transform var(--t) var(--ease)}.tile--sand.tile--link .go{background:var(--tile)}.tile--link:hover .go{background:var(--brand);color:#fff;transform:rotate(45deg)}.badge{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:15px;background:var(--rose);color:var(--brand-text)}.tile--sand .badge,.tile--rose .badge{background:var(--tile)}.tray{background:var(--tray);border-radius:var(--r-tray);padding:var(--gap)}.tray .tile--sand{background:var(--tile);box-shadow:var(--shadow-tile)}.tray-head{padding:clamp(20px,3vw,40px) clamp(12px,2.4vw,32px) clamp(20px,2.6vw,36px)}.shot{display:block;margin:0;padding:0;min-height:460px;background:#0a0a0b;--vis: .66;--cx: .212;--cy: .072}.shot-frame{position:absolute;inset:0;container-type:size;overflow:hidden}.shot-frame img{--w: max(calc(100cqw / var(--vis)), calc(100cqh / (.625 * (1 - var(--cy)))));position:absolute;max-width:none;height:auto;width:var(--w);left:calc(var(--w) * var(--cx) * -1 + 8px);top:calc(var(--w) * .625 * var(--cy) * -1 + 8px)}.shot--full .shot-frame img{width:100%;left:0;top:0}.shot-url{position:absolute;z-index:1;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;max-width:calc(100% - 28px);padding:7px 12px;border-radius:var(--r-pill);background:#141416c7;color:#d6d6db;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 0 0 1px #ffffff14;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.01em;white-space:nowrap;overflow:hidden}.shot-url span{overflow:hidden;text-overflow:ellipsis}.code{display:flex;flex-direction:column;min-height:100%;margin:0;padding:0}.code-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px 0}.code-file{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--r-pill);background:#ffffff12;font-family:var(--font-mono);font-size:.75rem;color:var(--on-ink)}.code-lang{font-family:var(--font-mono);font-size:.75rem;color:var(--on-ink-muted);text-transform:lowercase}.code pre{flex:1;margin:16px;padding:22px 24px;overflow:auto;border-radius:var(--r-lg);background:var(--ink-2);font-family:var(--font-mono);font-size:.8125rem;line-height:1.75;color:light-dark(#e6e0d8,#e4e4e7);tab-size:2}.visual-dg{display:flex;flex-direction:column;justify-content:center;padding:clamp(22px,3vw,40px)}.tray .tile--sand.visual-dg{background-color:var(--sand);box-shadow:none}.dg-caption{display:block;font-family:var(--font-display);font-size:var(--fs-xs);font-weight:650;color:var(--dim);letter-spacing:.01em}.checks{display:grid;gap:12px}.checks--cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 40px}.checks li{display:flex;gap:12px;align-items:flex-start;font-size:var(--fs-sm);line-height:1.55}.tick{display:grid;place-items:center;width:22px;height:22px;flex:none;margin-top:1px;border-radius:50%;background:var(--rose);color:var(--brand-text)}.tick .i{stroke-width:3}.tile--rose .tick{background:var(--tile)}.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.js .reveal.is-visible{opacity:1;transform:none}.js .tile--link.reveal.is-visible{transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),opacity .6s var(--ease)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:1ms!important;animation-duration:1ms!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}.tile--link:hover{transform:none}}@media(max-width:1023px){.checks--cols{gap:12px 28px}}@media(max-width:760px){:root{--r-xl: 24px;--r-tray: 30px;--r-lg: 18px}.checks--cols{grid-template-columns:1fr}.shot{min-height:360px;--vis: .34}.actions .btn{flex:1 1 auto}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{text-size-adjust:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--canvas);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.62;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}img,picture,video,canvas,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}a{color:inherit;text-decoration:none}ul,ol{list-style:none;padding:0}address{font-style:normal}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.2;text-wrap:balance}::selection{background:var(--rose-2);color:var(--text)}:not(pre)>code{font-family:var(--font-mono);font-size:.86em;padding:.1em .4em;border-radius:6px;background:var(--sand);color:var(--text)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:8px}.site-footer:where(.astro-sz7xmlte){margin-top:var(--section);padding-bottom:var(--gutter)}.site-footer:where(.astro-sz7xmlte) ul:where(.astro-sz7xmlte){list-style:none;margin:0;padding:0}.site-footer:where(.astro-sz7xmlte) a:where(.astro-sz7xmlte):not(.btn,.cta-go){color:inherit;text-decoration:none}.site-footer:where(.astro-sz7xmlte) .wrap:where(.astro-sz7xmlte){display:grid;gap:var(--gap)}.cta:where(.astro-sz7xmlte){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;padding:clamp(32px,5.4vw,76px);isolation:isolate}.cta:where(.astro-sz7xmlte):before{content:"";position:absolute;inset:-40% -10% auto auto;width:70%;height:140%;z-index:-1;background:radial-gradient(closest-side,rgb(219 45 84 / .24),transparent)}.cta-copy:where(.astro-sz7xmlte){display:grid;gap:16px;max-width:640px}.h-cta:where(.astro-sz7xmlte){font-size:var(--fs-h2);line-height:1.06;letter-spacing:-.032em;font-weight:740;color:var(--on-ink)}.cta-sub:where(.astro-sz7xmlte){color:var(--on-ink-muted);font-size:var(--fs-lead)}.cta:where(.astro-sz7xmlte) .actions:where(.astro-sz7xmlte){margin-top:10px}.cta-go:where(.astro-sz7xmlte){display:flex;flex-direction:column;justify-content:space-between;gap:40px;width:clamp(220px,22vw,290px);aspect-ratio:1;padding:28px;border-radius:var(--r-xl);background:var(--brand);color:#fff;box-shadow:0 24px 50px -20px #db2d54bf;transition:background-color var(--t) var(--ease),transform var(--t) var(--ease),box-shadow var(--t) var(--ease)}.cta-go:where(.astro-sz7xmlte):hover{background:var(--brand-press);transform:translateY(-3px);box-shadow:0 30px 60px -20px #db2d54d9}.cta-go-ic:where(.astro-sz7xmlte){display:grid;place-items:center;width:56px;height:56px;border-radius:50%;align-self:flex-end;background:#ffffff2e;transition:transform var(--t) var(--ease)}.cta-go:where(.astro-sz7xmlte):hover .cta-go-ic:where(.astro-sz7xmlte){transform:rotate(45deg)}.cta-go-label:where(.astro-sz7xmlte){font-family:var(--font-display);font-size:clamp(1.6rem,1.2rem + 1.2vw,2.25rem);font-weight:750;letter-spacing:-.03em;line-height:1.05}.foot:where(.astro-sz7xmlte){display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:32px clamp(24px,4vw,64px);padding:clamp(28px,4vw,52px)}.foot-brand:where(.astro-sz7xmlte){display:grid;gap:14px;align-content:start;justify-items:start;color:var(--muted);font-size:var(--fs-sm)}.socials:where(.astro-sz7xmlte){display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.socials:where(.astro-sz7xmlte) a:where(.astro-sz7xmlte){display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--tile);color:var(--muted);transition:color var(--t) var(--ease),background-color var(--t) var(--ease)}.socials:where(.astro-sz7xmlte) a:where(.astro-sz7xmlte):hover{color:#fff;background:var(--brand)}.foot-cols:where(.astro-sz7xmlte){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.foot-title:where(.astro-sz7xmlte){margin-bottom:12px;font-size:var(--fs-xs);font-weight:650;color:var(--dim);letter-spacing:.01em}.foot-cols:where(.astro-sz7xmlte) ul:where(.astro-sz7xmlte){display:grid;gap:8px}.foot-cols:where(.astro-sz7xmlte) a:where(.astro-sz7xmlte){color:var(--text);font-size:var(--fs-sm);font-weight:520}.foot-cols:where(.astro-sz7xmlte) a:where(.astro-sz7xmlte):hover{color:var(--brand-text)}.foot-bottom:where(.astro-sz7xmlte){grid-column:1 / -1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:24px;margin-top:8px;box-shadow:inset 0 1px 0 var(--hairline);color:var(--dim);font-size:var(--fs-xs)}.foot-bottom:where(.astro-sz7xmlte) a:where(.astro-sz7xmlte):hover{color:var(--text)}@media(pointer:coarse){.foot-cols:where(.astro-sz7xmlte) ul:where(.astro-sz7xmlte){gap:0}.foot-cols:where(.astro-sz7xmlte) a:where(.astro-sz7xmlte),.foot-brand:where(.astro-sz7xmlte)>a,.foot-bottom:where(.astro-sz7xmlte) a:where(.astro-sz7xmlte){display:inline-flex;align-items:center;min-height:40px}}@media(max-width:1023px){.foot:where(.astro-sz7xmlte){grid-template-columns:1fr}}@media(max-width:760px){.cta:where(.astro-sz7xmlte){grid-template-columns:1fr;gap:16px}.cta-copy:where(.astro-sz7xmlte){display:contents}.cta-go:where(.astro-sz7xmlte){order:2;width:100%;aspect-ratio:auto;flex-direction:row-reverse;align-items:center;gap:16px;margin-top:12px;padding:18px 18px 18px 26px}.cta-go-ic:where(.astro-sz7xmlte){width:48px;height:48px;flex:none}.cta-go-label:where(.astro-sz7xmlte){font-size:1.375rem}.cta:where(.astro-sz7xmlte) .actions:where(.astro-sz7xmlte){order:3;margin-top:0}.foot-cols:where(.astro-sz7xmlte){grid-template-columns:1fr 1fr}}.skip-link{position:absolute;top:-60px;left:16px;z-index:1000;padding:10px 16px;border-radius:var(--r-pill);background:var(--ink);color:var(--on-ink);font-weight:600;transition:top var(--t) var(--ease)}.skip-link:focus{top:12px}
