@layer reset,base,theme,components,utilities;@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:5rem;-webkit-text-size-adjust:100%;color-scheme:dark}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.6;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,picture{display:block;max-width:100%;height:auto}button,input,textarea,select{font:inherit;color:inherit;background:transparent;border:none}button{cursor:pointer}a{text-decoration:none;color:inherit}body{scrollbar-width:thin;scrollbar-color:var(--color-primary-dim) var(--color-bg)}}@layer base{:root{--primary-raw: 217 80% 56%;--success-raw: 150 55% 42%;--warning-raw: 38 85% 55%;--danger-raw: 4 75% 52%;--literal-dark-bg: 224 45% 5%;--literal-dark-surface: 223 35% 8%;--literal-light-bg: 210 20% 98%;--literal-light-surface: 0 0% 100%;--color-bg: hsl(var(--literal-dark-bg));--color-surface: rgba(13, 18, 30, .65);--color-surface-hover: rgba(22, 28, 45, .75);--color-text: #f8fafc;--color-text-muted: #94a3b8;--color-border: rgba(255, 255, 255, .05);--color-border-focus: hsl(var(--primary-raw) / .4);--color-primary: hsl(var(--primary-raw));--color-primary-dim: hsl(var(--primary-raw) / .12);--color-success: hsl(var(--success-raw));--color-warning: hsl(var(--warning-raw));--color-danger: hsl(var(--danger-raw));--font-size-xs: clamp(.75rem, .7rem + .25vw, .85rem);--font-size-sm: clamp(.875rem, .8rem + .3vw, 1rem);--font-size-base: clamp(1rem, .95rem + .25vw, 1.125rem);--font-size-lg: clamp(1.125rem, 1.05rem + .4vw, 1.35rem);--font-size-xl: clamp(1.25rem, 1.15rem + .6vw, 1.6rem);--font-size-2xl: clamp(1.5rem, 1.3rem + 1vw, 2.25rem);--font-size-3xl: clamp(2rem, 1.7rem + 1.5vw, 3.5rem);--font-size-4xl: clamp(2.5rem, 2rem + 2.5vw, 4.5rem);--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-heading: "Plus Jakarta Sans", var(--font-body);--font-mono: "JetBrains Mono", "Fira Code", monospace;--shadow-soft: 0 10px 30px -15px rgba(0, 0, 0, .7);--shadow-glow: 0 0 30px -5px hsl(var(--primary-raw) / .15);--shadow-card-glow: 0 4px 20px 0 rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .05);--transition-fast: .2s cubic-bezier(.16, 1, .3, 1);--transition-normal: .35s cubic-bezier(.16, 1, .3, 1);--transition-slow: .6s cubic-bezier(.16, 1, .3, 1)}@media (forced-colors: active){:root{--color-bg: Canvas;--color-surface: Canvas;--color-text: CanvasText;--color-border: ButtonBorder;--color-primary: Highlight;--shadow-soft: none;--shadow-glow: none;--shadow-card-glow: none}}}@layer theme{h1,h2,h3,h4{font-family:var(--font-heading);color:#fff;font-weight:700;line-height:1.25;text-wrap:balance}p{font-size:var(--font-size-base);color:var(--color-text-muted);text-wrap:pretty}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}}@layer components{.container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:1.5rem}.glass-card{background:var(--color-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border);border-radius:12px;padding:2rem;box-shadow:var(--shadow-card-glow);transition:transform var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}.glass-card:hover{transform:translateY(-4px);border-color:var(--color-border-focus);box-shadow:0 12px 30px -10px #000c,0 0 15px hsl(var(--primary-raw) / .08)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-family:var(--font-heading);font-weight:600;font-size:var(--font-size-sm);transition:all var(--transition-fast);position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg,var(--color-primary),#2a6df2);color:#fff;box-shadow:0 4px 15px -3px hsl(var(--primary-raw) / .25)}.btn-primary:hover{box-shadow:0 8px 25px -3px hsl(var(--primary-raw) / .35);transform:translateY(-1px)}.btn-secondary{background:#ffffff0d;color:#fff;border:1px solid var(--color-border)}.btn-secondary:hover{background:#ffffff1a;border-color:var(--color-text-muted);transform:translateY(-1px)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .75rem;border-radius:20px;font-size:var(--font-size-xs);font-family:var(--font-mono);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.badge-gcp{background:hsl(var(--primary-raw) / .08);color:#93c5fd;border:1px solid hsl(var(--primary-raw) / .2)}.badge-k8s{background:hsl(var(--success-raw) / .08);color:#86efac;border:1px solid hsl(var(--success-raw) / .2)}.badge-warn{background:hsl(var(--warning-raw) / .08);color:#fde047;border:1px solid hsl(var(--warning-raw) / .2)}.archi-network{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;opacity:.25;pointer-events:none}.node-connection{stroke-dasharray:8;animation:dash 30s linear infinite}.floating-node{animation:float 8s ease-in-out infinite}.floating-node-2{animation:float 12s ease-in-out infinite 2s}.section-reveal{opacity:0;transform:translateY(30px);transition:opacity var(--transition-slow),transform var(--transition-slow)}.section-reveal.active{opacity:1;transform:translateY(0)}}@layer utilities{.text-glow-primary{background:linear-gradient(to right,#fff,#a3c2f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.text-gcp-gradient{background:linear-gradient(135deg,#fff 30%,#94a3b8 70%,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.grid-2{display:grid;grid-template-columns:1fr;gap:2rem}.grid-3{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 768px){.grid-2,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid-3{grid-template-columns:repeat(3,1fr)}}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.section-pad{padding-block:clamp(4rem,6vh + 2rem,8rem)}.margin-bottom-sm{margin-bottom:.75rem}.margin-bottom-md{margin-bottom:1.5rem}.margin-bottom-lg{margin-bottom:3rem}}@keyframes dash{to{stroke-dashoffset:-1000}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(2deg)}}@media (prefers-reduced-motion: reduce){*{animation-delay:0s!important;animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}.section-reveal{opacity:1!important;transform:none!important}.glass-card:hover{transform:none!important}}
