:root{--color-primary: #15324b;--color-primary-strong: #0b2438;--color-secondary: #0e7490;--color-secondary-soft: #dff3f6;--color-bg: #f4f7f8;--color-surface: #ffffff;--color-text: #13212b;--color-text-muted: #52616b;--color-border: #cad5da;--color-success: #1e6b4b;--color-error: #a32626;--font-heading: "IBM Plex Sans", sans-serif;--font-body: "IBM Plex Sans", sans-serif;--font-mono: "JetBrains Mono", monospace;--shadow-sm: 0 8px 24px rgba(21, 50, 75, .08);--shadow-lg: 0 24px 64px rgba(21, 50, 75, .14);--radius-sm: .55rem;--radius-md: 1rem;--radius-lg: 1.6rem;--content-width: 74rem}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:20rem;color:var(--color-text);background:radial-gradient(circle at 4% 4%,rgba(14,116,144,.08),transparent 25rem),var(--color-bg);font-family:var(--font-body);font-size:1rem;line-height:1.65;text-rendering:optimizeLegibility}[dir=rtl] body{text-align:right}body,button,input,textarea{font-family:var(--font-body)}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--color-primary);line-height:1.08;letter-spacing:-.035em}h1{max-width:16ch;margin-bottom:1.5rem;font-size:clamp(2.8rem,8vw,5.8rem);font-weight:300}h2{margin-bottom:1rem;font-size:clamp(2rem,5vw,3.4rem);font-weight:400}h3{margin-bottom:.65rem;font-size:1.3rem;font-weight:600;letter-spacing:-.02em}a{color:var(--color-secondary);text-underline-offset:.22em}a:hover{color:var(--color-primary)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ef9f2f;outline-offset:3px}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.9rem;padding:.7rem 1.15rem;border:2px solid transparent;border-radius:var(--radius-sm);color:#fff;background:var(--color-primary);font-size:.95rem;font-weight:600;text-decoration:none;cursor:pointer;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}button:hover,.button:hover{color:#fff;background:var(--color-primary-strong);box-shadow:var(--shadow-sm);transform:translateY(-2px)}button:disabled{cursor:not-allowed;opacity:.65;transform:none}.button--secondary{border-color:var(--color-border);color:var(--color-primary);background:var(--color-surface)}.button--secondary:hover{color:var(--color-primary-strong);background:var(--color-secondary-soft)}.site-shell{min-height:100vh}.container{width:min(calc(100% - 2rem),var(--content-width));margin-inline:auto}.page{animation:reveal .56s ease-out both}.page-header{padding:clamp(4rem,9vw,7rem) 0 3.5rem;background:linear-gradient(rgba(21,50,75,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(21,50,75,.05) 1px,transparent 1px),radial-gradient(circle at 80% 30%,rgba(14,116,144,.14),transparent 22rem);background-size:2rem 2rem,2rem 2rem,auto}.eyebrow{display:inline-block;margin-bottom:1rem;color:var(--color-secondary);font-family:var(--font-mono);font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.lead{max-width:42rem;color:var(--color-text-muted);font-size:clamp(1.08rem,2.4vw,1.35rem)}.section{padding:clamp(3.5rem,8vw,6.5rem) 0}.section--surface{background:var(--color-surface)}.section-heading{max-width:42rem;margin-bottom:2.5rem}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.card{height:100%;padding:1.5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.meta{color:var(--color-text-muted);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes reveal{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@media(max-width:52rem){.card-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
