.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),background var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),opacity var(--duration-fast);text-decoration:none}
.btn:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}
.btn-sm{font-size:var(--fs-body-sm);padding:8px 16px}
.btn-md{font-size:var(--fs-body);padding:12px 24px}
.btn-lg{font-size:var(--fs-body-lg);padding:16px 32px}
.btn-primary{background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-sm)}
.btn-primary:hover{box-shadow:var(--glow-cyan);transform:translateY(-1px)}
.btn-primary:active{transform:translateY(0);box-shadow:none;filter:brightness(0.92)}
.btn-primary:disabled{opacity:0.4;cursor:not-allowed;box-shadow:none;transform:none}
.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--surface-border)}
.btn-secondary:hover{border-color:var(--brand-cyan);color:var(--brand-cyan)}
.btn-secondary:active{background:var(--surface-card)}
.btn-secondary:disabled{opacity:0.4;cursor:not-allowed}
.btn-ghost{background:transparent;color:var(--text-secondary)}
.btn-ghost:hover{background:var(--surface-card);color:var(--text-primary)}
.btn-ghost:active{background:var(--surface-card-hover)}
.btn-ghost:disabled{opacity:0.4;cursor:not-allowed}

.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-full);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-base) var(--ease-standard)}
.icon-btn:hover{color:var(--brand-cyan);border-color:var(--brand-cyan);box-shadow:var(--glow-cyan)}
.icon-btn:active{transform:scale(0.94)}
.icon-btn:disabled{opacity:0.4;cursor:not-allowed}

.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:var(--fs-caption);font-weight:600;letter-spacing:0.02em;padding:4px 12px;border-radius:var(--radius-full);border:1px solid transparent}
.badge-brand{background:rgba(6,182,212,0.12);color:var(--cyan-300);border-color:rgba(6,182,212,0.3)}
.badge-success{background:var(--color-success-bg);color:var(--color-success-fg);border-color:rgba(16,185,129,0.35)}
.badge-warning{background:var(--color-warning-bg);color:var(--color-warning-fg);border-color:rgba(245,158,11,0.35)}
.badge-error{background:var(--color-error-bg);color:var(--color-error-fg);border-color:rgba(239,68,68,0.35)}
.badge-neutral{background:var(--surface-card);color:var(--text-secondary);border-color:var(--surface-border)}

.field{display:flex;flex-direction:column;gap:6px;font-family:var(--font-body)}
.field-label{font-size:var(--fs-body-sm);font-weight:600;color:var(--text-secondary)}
.field-input{font-family:var(--font-body);font-size:var(--fs-body);color:var(--text-primary);background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:12px 16px;transition:border-color var(--duration-base),box-shadow var(--duration-base)}
.field-input::placeholder{color:var(--text-muted)}
.field-input:hover{border-color:var(--navy-300)}
.field-input:focus{outline:none;border-color:var(--brand-cyan);box-shadow:0 0 0 3px rgba(6,182,212,0.2)}
.field-input:disabled{opacity:0.5;cursor:not-allowed}
.field-error .field-input{border-color:var(--color-error)}
.field-error .field-input:focus{box-shadow:0 0 0 3px rgba(239,68,68,0.2)}
.field-success .field-input{border-color:var(--color-success)}
.field-hint{font-size:var(--fs-caption);color:var(--text-muted)}
.field-hint.is-error{color:var(--color-error-fg)}
.field-hint.is-success{color:var(--color-success-fg)}

.service-card{background:var(--surface-card);border:1px solid var(--surface-border-subtle);border-radius:var(--radius-lg);padding:32px;display:flex;flex-direction:column;gap:16px;transition:transform var(--duration-base) var(--ease-standard),box-shadow var(--duration-base),border-color var(--duration-base)}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);border-color:rgba(6,182,212,0.4)}
.service-card-icon{width:52px;height:52px;border-radius:var(--radius-md);background:var(--gradient-brand);display:flex;align-items:center;justify-content:center;color:#fff}
.service-card h3{font-family:var(--font-display);font-size:var(--fs-h4);font-weight:var(--fw-h4);color:var(--text-primary);margin:0}
.service-card p{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--text-secondary);margin:0}

.navbar{display:flex;align-items:center;justify-content:space-between;padding:16px 48px;background:rgba(11,19,43,0.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--surface-border-subtle);position:sticky;top:0;z-index:10}
.navbar-logo{display:flex;align-items:center;gap:10px}
.navbar-logo img{height:28px;width:auto}
.navbar-links{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0}
.navbar-links a{color:var(--text-secondary);font-size:var(--fs-body-sm);font-weight:500}
.navbar-links a:hover{color:var(--text-primary);text-decoration:none}

.hero{position:relative;padding:120px 48px;text-align:left;overflow:hidden;background:var(--brand-navy)}
.hero-eyebrow{font-size:var(--fs-overline);font-weight:var(--fw-overline);letter-spacing:var(--ls-overline);color:var(--brand-cyan);text-transform:uppercase}
.hero h1{font-family:var(--font-display);font-size:var(--fs-display);font-weight:var(--fw-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);color:#fff;max-width:820px;margin:16px 0}
.hero h1 .accent{background:var(--gradient-brand-full);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{font-size:var(--fs-body-lg);color:var(--text-secondary);max-width:560px;line-height:var(--lh-body-lg)}
.hero-ctas{display:flex;gap:16px;margin-top:32px}

.footer{background:var(--navy-800);border-top:1px solid var(--surface-border-subtle);padding:64px 48px 32px}
.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:48px;max-width:1280px;margin:0 auto}
.footer h4{font-size:var(--fs-body-sm);color:var(--text-primary);margin:0 0 16px;font-weight:600}
.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.footer ul a{color:var(--text-muted);font-size:var(--fs-body-sm)}
.footer ul a:hover{color:var(--brand-cyan)}
.footer-bottom{max-width:1280px;margin:48px auto 0;padding-top:24px;border-top:1px solid var(--surface-border-subtle);display:flex;justify-content:space-between;align-items:center;color:var(--text-muted);font-size:var(--fs-caption)}
.footer-social{display:flex;gap:12px}
