.logo[data-astro-cid-f7espo7c]{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--fg);align-items:center;gap:.475em;font-size:.95rem;font-weight:500;display:inline-flex}.logo[data-astro-cid-f7espo7c]:hover{color:var(--fg);text-decoration:none}.logo-mark[data-astro-cid-f7espo7c]{flex:none;width:1.9em;height:1.9em}.tld[data-astro-cid-f7espo7c]{color:var(--accent)}.logo-mark-dark[data-astro-cid-f7espo7c],:root[data-theme=dark] .logo-mark-light[data-astro-cid-f7espo7c]{display:none}:root[data-theme=dark] .logo-mark-dark[data-astro-cid-f7espo7c]{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .logo-mark-light[data-astro-cid-f7espo7c]{display:none}:root:not([data-theme=light]) .logo-mark-dark[data-astro-cid-f7espo7c]{display:block}}.chat{--chat-gutter:16px;--chat-launcher:56px;--chat-right:max(var(--chat-gutter), env(safe-area-inset-right));--chat-bottom:calc(max(var(--chat-gutter), env(safe-area-inset-bottom)) + var(--chat-lift,0px));display:none}:root.js .chat{display:block}.chat-launcher{right:var(--chat-right);bottom:var(--chat-bottom);z-index:15;inline-size:var(--chat-launcher);block-size:var(--chat-launcher);border-radius:var(--radius-pill);background:var(--action-bg);color:var(--action-fg);box-shadow:var(--shadow-raised);cursor:pointer;border:0;place-items:center;padding:0;display:grid;position:fixed}.chat-launcher:hover{background:var(--action-bg-hover)}.chat-launcher[aria-disabled=true]{opacity:.5;cursor:not-allowed}.chat-unread{border:2px solid var(--bg);border-radius:var(--radius-pill);background:var(--danger);block-size:14px;inline-size:14px;position:absolute;top:2px;right:2px}.chat-unread[hidden]{display:none}.chat-cue{right:var(--chat-right);bottom:calc(var(--chat-bottom) + var(--chat-launcher) + 12px);z-index:15;max-inline-size:min(300px, 100vw - 2 * var(--chat-gutter));border:1px solid var(--border);border-radius:var(--radius-window);background:var(--card-bg);color:var(--fg);box-shadow:var(--shadow-raised);align-items:flex-start;gap:4px;padding:12px 4px 12px 16px;font-size:.92rem;line-height:1.45;display:flex;position:fixed}.chat-cue[hidden]{display:none}.chat-cue-text{padding-block:2px}.chat-cue-dismiss{block-size:44px;inline-size:44px;color:var(--fg-subtle);cursor:pointer;background:0 0;border:0;flex:none;margin-block:-10px;padding:0;font-size:1.25rem}.chat-cue-dismiss:hover{color:var(--fg)}.chat-panel{inset:auto var(--chat-right) calc(var(--chat-bottom) + var(--chat-launcher) + 12px) auto;inline-size:380px;max-inline-size:calc(100vw - 2 * var(--chat-gutter));block-size:min(600px, 100dvh - 2 * var(--chat-gutter) - var(--chat-launcher) - 12px);border:1px solid var(--border);border-radius:var(--radius-window);background:var(--card-bg);color:var(--fg);box-shadow:var(--shadow-raised);margin:0;padding:0;position:fixed;overflow:hidden}.chat-panel[open]{flex-direction:column;display:flex}.chat-panel::backdrop{background:0 0}@media (width<=639.98px){.chat-panel{border:0;border-radius:0;block-size:100dvh;max-block-size:none;inline-size:100dvw;max-inline-size:none;inset:0}}.chat-header{border-bottom:1px solid var(--border);align-items:center;gap:4px;padding:8px 8px 8px 16px;display:flex}.chat-heading{flex:1;min-inline-size:0}.chat-heading h2{font-size:1.05rem}.chat-role{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-subtle);font-size:.7rem}.chat-tool{border-radius:var(--radius-sm);min-block-size:44px;min-inline-size:44px;color:var(--fg-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 10px;font-size:.85rem}.chat-tool:hover{color:var(--fg);background:var(--bg-alt)}.chat-close{font-size:1.4rem;line-height:1}.chat-disclosure{border-bottom:1px solid var(--border);color:var(--fg-subtle);padding:8px 16px;font-size:.78rem;line-height:1.4}.chat-log{overscroll-behavior:contain;flex-direction:column;flex:1;gap:12px;min-block-size:0;margin:0;padding:16px;list-style:none;display:flex;overflow-y:auto}.chat-msg{flex-direction:column;gap:6px;max-inline-size:88%;display:flex}.chat-msg.is-visitor{align-self:flex-end;align-items:flex-end}.chat-msg.is-assistant{align-self:flex-start}.chat-bubble{border-radius:var(--radius-window);overflow-wrap:anywhere;padding:10px 14px;font-size:.92rem;line-height:1.5}.is-visitor .chat-bubble{background:var(--accent-soft);color:var(--fg);white-space:pre-wrap}.is-assistant .chat-bubble{background:var(--card-bg);border:1px solid var(--border)}.chat-msg.is-failed .chat-bubble{opacity:.6}.chat-bubble p+p,.chat-bubble p+ul,.chat-bubble p+ol,.chat-bubble ul+p,.chat-bubble ol+p{margin-top:.6em}.chat-bubble ul,.chat-bubble ol{margin:0;padding-inline-start:1.25em}.chat-bubble li+li{margin-top:.25em}.chat-bubble code{font-family:var(--font-mono);border-radius:var(--radius-sm);background:var(--bg-alt);padding:0 .25em;font-size:.85em}.chat-notice{color:var(--fg-muted);font-size:.8rem;line-height:1.4}.chat-notice.is-error{color:var(--danger)}.chat-notice a{margin-inline-start:.3em}.chat-notice .chat-tool{min-block-size:32px;color:var(--accent);margin-inline-start:.3em;padding:0 8px;text-decoration:underline}.chat-typing-dots{display:none}.chat-typing-text{color:var(--fg-subtle)}.chat-turnstile{padding-inline:16px}.chat-turnstile:empty{display:none}.chat-form{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--card-bg);grid-template-columns:1fr auto;align-items:end;gap:4px 8px;display:grid;position:sticky;bottom:0}.chat-form[hidden]{display:none}.chat-form textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);min-block-size:44px;color:var(--fg);font:inherit;resize:none;padding:10px 12px;font-size:1rem;line-height:1.4;overflow-y:auto}.chat-form textarea::placeholder{color:var(--fg-faint)}.chat-send{border-radius:var(--radius-sm);background:var(--action-bg);min-block-size:44px;color:var(--action-fg);font:inherit;cursor:pointer;border:0;padding:0 18px;font-size:.9rem;font-weight:500}.chat-send:hover:not(:disabled){background:var(--action-bg-hover)}.chat-send:disabled{opacity:.5;cursor:not-allowed}.chat-count{color:var(--fg-subtle);grid-column:1/-1;font-size:.78rem}.chat-count.is-over{color:var(--danger);font-weight:600}.chat-limit{border-top:1px solid var(--border);padding:16px;font-size:.9rem;line-height:1.45}.chat-limit[hidden]{display:none}.chat-limit-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:8px;display:flex}.chat-limit-actions .chat-tool{border:1px solid var(--border)}@media (prefers-reduced-motion:no-preference){@keyframes chat-rise{0%{opacity:0;transform:translateY(var(--motion-rise))}}@keyframes chat-dot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-launcher{transition:background-color var(--motion-fast) var(--ease-out)}.chat-cue:not([hidden]),.chat-panel[open]{animation:chat-rise var(--motion-base) var(--ease-out)}.chat-typing-dots{gap:4px;padding-block:6px;display:inline-flex}.chat-typing-dots i{border-radius:var(--radius-pill);background:var(--fg-subtle);block-size:6px;inline-size:6px;animation:chat-dot var(--motion-pulse) var(--ease-out) 25}.chat-typing-dots i:nth-child(2){animation-delay:var(--motion-fast)}.chat-typing-dots i:nth-child(3){animation-delay:var(--motion-slow)}.chat-typing-text{clip:rect(0 0 0 0);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}}:root{color-scheme:light;--bg:#f7f7f5;--bg-alt:#fff;--fg:#101012;--fg-muted:#44444c;--fg-subtle:#6c6c74;--fg-faint:#70707a;--border:#e2e2de;--border-strong:#101012;--accent:#1d4ed8;--accent-hover:#15329b;--inverse-bg:#101012;--inverse-fg:#f7f7f5;--inverse-muted:#c4c4cc;--inverse-subtle:#a5a5ad;--inverse-border:#33333b;--card-bg:#fff;--tag-border:#dcdcd6;--cloud-aws:#e8912b;--cloud-azure:#3b8eda;--cloud-gcp:#d8483a;--logo-aws:#f90;--logo-azure:#0078d4;--logo-azure-deep:#114a8b;--logo-azure-dark:#0669bc;--logo-azure-light:#3ccbf4;--logo-azure-bright:#2892df;--logo-gcp-top:#ea4535;--logo-gcp-right:#557ebf;--logo-gcp-bottom:#36a852;--logo-gcp-left:#f9bc15;--danger:#b42318;--success:#1b7a3d;--accent-soft:#eef1fc;--inverse-accent:#93aaff;--action-bg:#1d4ed8;--action-bg-hover:#101012;--action-fg:#fff;--shadow-raised:0 28px 56px -30px #10101240;--radius-sm:2px;--radius-window:16px;--radius-card:20px;--radius-panel:24px;--radius-pill:999px;--font-display:var(--font-space-grotesk);--font-body:var(--font-plex-sans);--font-mono:var(--font-plex-mono);--motion-fast:.16s;--motion-base:.24s;--motion-slow:.36s;--motion-stagger:70ms;--motion-rise:12px;--motion-slide:40px;--motion-pulse:2.4s;--motion-type-char:.135s;--motion-blink:.8s;--motion-type-failsafe:6s;--ease-out:cubic-bezier(.22, 1, .36, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0d0d0f;--bg-alt:#131316;--fg:#f4f4f2;--fg-muted:#c4c4cc;--fg-subtle:#a0a0aa;--fg-faint:#8f8f99;--border:#26262b;--border-strong:#f4f4f2;--accent:#93aaff;--accent-hover:#b8c6ff;--inverse-bg:#f4f4f2;--inverse-fg:#101012;--inverse-muted:#44444c;--inverse-subtle:#6c6c74;--inverse-border:#d5d5cf;--card-bg:#141417;--tag-border:#33333b;--cloud-aws:#e8912b;--cloud-azure:#4b9be8;--cloud-gcp:#e2584a;--danger:#ff8a80;--success:#6fd49a;--accent-soft:#1d2440;--inverse-accent:#1d4ed8;--action-bg:#3f5ee6;--action-bg-hover:#2f4fd6;--action-fg:#fff;--shadow-raised:0 28px 56px -30px #0009}}:root[data-theme=dark]{color-scheme:dark;--bg:#0d0d0f;--bg-alt:#131316;--fg:#f4f4f2;--fg-muted:#c4c4cc;--fg-subtle:#a0a0aa;--fg-faint:#8f8f99;--border:#26262b;--border-strong:#f4f4f2;--accent:#93aaff;--accent-hover:#b8c6ff;--inverse-bg:#f4f4f2;--inverse-fg:#101012;--inverse-muted:#44444c;--inverse-subtle:#6c6c74;--inverse-border:#d5d5cf;--card-bg:#141417;--tag-border:#33333b;--cloud-aws:#e8912b;--cloud-azure:#4b9be8;--cloud-gcp:#e2584a;--danger:#ff8a80;--success:#6fd49a;--accent-soft:#1d2440;--inverse-accent:#1d4ed8;--action-bg:#3f5ee6;--action-bg-hover:#2f4fd6;--action-fg:#fff;--shadow-raised:0 28px 56px -30px #0009}:root{--header-h:72px}*{box-sizing:border-box}html{scroll-padding-top:var(--header-h)}body{min-height:100svh;font-family:var(--font-body);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex}main{flex:1}a{color:var(--accent);transition:color var(--motion-fast) var(--ease-out);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0}p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.container{max-width:1440px;margin:0 auto;padding-left:clamp(24px,4vw,56px);padding-right:clamp(24px,4vw,56px)}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-subtle);font-size:.75rem}.btn{height:52px;transition:opacity var(--motion-fast) var(--ease-out), background-color var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);border-radius:2px;justify-content:center;align-items:center;padding:0 30px;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}@media (prefers-reduced-motion:no-preference){.btn{transition-property:opacity,background-color,border-color,color,transform}.btn:active{transform:scale(.98)}}.btn-primary{background:var(--fg);color:var(--bg)}.btn-primary:hover{color:var(--bg);opacity:.88;text-decoration:none}.btn-secondary{color:var(--fg);border:1px solid var(--border);background:0 0}.btn-secondary:hover{color:var(--fg);background:var(--bg-alt);text-decoration:none}.btn-compact{height:44px;padding:0 22px;font-size:.88rem}section{padding:6.5vw 0}.section-alt{background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:3.2vw;display:flex}.section-head :is(h1,h2){margin-top:18px;font-size:clamp(1.75rem,3vw,2.75rem);font-weight:600;line-height:1.14}.section-head p{max-width:380px;color:var(--fg-subtle);font-size:1rem;line-height:1.65}@media (width<=860px){.container{padding-left:20px;padding-right:20px}section{padding:44px 0}.section-head{flex-direction:column;align-items:flex-start;gap:16px}}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--motion-base);animation-timing-function:var(--ease-out)}@media (prefers-reduced-motion:no-preference){::view-transition-group(site-footer){animation:none}@keyframes motion-slide-out-left{to{opacity:0;transform:translateX(calc(-1 * var(--motion-slide)))}}@keyframes motion-slide-in-right{0%{opacity:0;transform:translateX(var(--motion-slide))}}@keyframes motion-slide-out-right{to{opacity:0;transform:translateX(var(--motion-slide))}}@keyframes motion-slide-in-left{0%{opacity:0;transform:translateX(calc(-1 * var(--motion-slide)))}}:root:active-view-transition-type(forward)::view-transition-old(root){animation:motion-slide-out-left var(--motion-base) var(--ease-out) both}:root:active-view-transition-type(forward)::view-transition-new(root){animation:motion-slide-in-right var(--motion-slow) var(--ease-out) both}:root:active-view-transition-type(backward)::view-transition-old(root){animation:motion-slide-out-right var(--motion-base) var(--ease-out) both}:root:active-view-transition-type(backward)::view-transition-new(root){animation:motion-slide-in-left var(--motion-slow) var(--ease-out) both}}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}[data-reveal].reveal-pending{opacity:0}@media (prefers-reduced-motion:no-preference){@keyframes motion-rise{0%{opacity:0;transform:translateY(var(--motion-rise))}}:root.intro [data-intro],:root.intro [data-reveal]:not(.reveal-pending):not(.revealed){animation:motion-rise var(--motion-slow) var(--ease-out) both;animation-delay:calc(var(--intro-i,2) * var(--motion-stagger))}[data-reveal].revealed{animation:motion-rise var(--motion-slow) var(--ease-out) both;animation-delay:calc(var(--reveal-i,0) * var(--motion-stagger))}[data-reveal].reveal-pending{animation:none}}.edge-hint{z-index:10;background:var(--bg);border:1px solid var(--border);inline-size:max-content;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-faint);opacity:0;pointer-events:none;border-radius:2px;flex-direction:column;gap:6px;margin-inline:auto;padding:8px 12px;font-size:.72rem;display:flex;position:fixed;inset-inline:0}.edge-hint[data-edge=next]{bottom:84px}.edge-hint[data-edge=prev]{top:calc(var(--header-h) + 12px)}.edge-hint.visible{opacity:1}.edge-hint-bar{block-size:1px;inline-size:calc(var(--push,0) * 100%);background:var(--accent);display:block}@media (prefers-reduced-motion:no-preference){.edge-hint{transition:opacity var(--motion-fast) var(--ease-out)}}.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}[data-typed] .tw-ch{position:relative}@media (prefers-reduced-motion:no-preference){@keyframes tw-failsafe{to{visibility:visible}}@keyframes tw-blink{50%{opacity:0}}@keyframes tw-caret-out{to{opacity:0}}:root.typing [data-typed] .tw-ch:not(.on):not(.tw-lead){visibility:hidden;animation:tw-failsafe 0s linear var(--motion-type-failsafe) forwards}:root.typing [data-typed] .tw-ch.caret:after{content:"";background:var(--accent);block-size:.78em;inline-size:.42em;margin-inline-start:.06em;position:absolute;inset-block-start:.16em;inset-inline-start:100%}[data-typed].done .caret:after{animation:tw-blink var(--motion-blink) steps(1) 3, tw-caret-out var(--motion-base) var(--ease-out) calc(3 * var(--motion-blink)) forwards}}
