/* One system family; blue is reserved for identity and interaction. */
:root { color-scheme: light dark; --bg:#f8fafc; --text:#202f40; --muted:#536477; --accent:#244f76; --surface:#edf2f7; --field:#ffffff; --line:#c9d4df; --focus:#1765a5; --error:#a32d38; --success:#256445; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
@media(prefers-color-scheme:dark) { :root { --bg:#101b29; --text:#e7edf5; --muted:#adbdcf; --accent:#9dc8ef; --surface:#19283a; --field:#101d2d; --line:#42566e; --focus:#b1d8ff; --error:#ffa9ad; --success:#9cd6b4; } }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:2rem; }
body { margin:0; background:var(--bg); color:var(--text); font-size:1rem; line-height:1.65; }
a { color:var(--accent); text-underline-offset:.23em; text-decoration-thickness:1px; }
a:hover { text-decoration-thickness:2px; }
:focus-visible { outline:3px solid var(--focus); outline-offset:5px; }
.wrap { width:min(1120px,calc(100% - 96px)); margin-inline:auto; }
.skip-link { position:absolute; top:-100px; left:20px; padding:12px; background:var(--field); z-index:10; }
.skip-link:focus { top:12px; }
.site-header { display:flex; align-items:center; justify-content:space-between; padding-block:32px; gap:24px; }
.brand { display:flex; align-items:center; font-size:1.2rem; font-weight:650; letter-spacing:-.04em; color:var(--text); text-decoration:none; }
.brand-mark { display:grid; place-items:center; width:32px; height:32px; margin-right:11px; border:1.5px solid var(--accent); border-radius:8px 8px 8px 0; color:var(--accent); font-size:1.5rem; line-height:1; font-weight:500; }
.legal-suffix { font-weight:400; color:var(--muted); }
nav { display:flex; gap:30px; font-size:.95rem; }
nav a { color:var(--text); text-decoration:none; }
nav a:hover { text-decoration:underline; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { line-height:1.15; }
.hero { padding-block:92px 104px; }
h1 { font-size:clamp(4.4rem,10vw,8.2rem); letter-spacing:-.075em; font-weight:650; line-height:1.05; margin-left:-.06em; }
.positioning { margin-top:25px; font-size:clamp(1.6rem,3.4vw,2.7rem); letter-spacing:-.035em; line-height:1.3; }
.hero-description { color:var(--muted); max-width:65ch; font-size:1.15rem; margin-top:21px; }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:34px; }
.button { display:inline-flex; align-items:center; justify-content:center; padding:12px 22px; border:1px solid var(--accent); border-radius:6px; background:var(--accent); color:var(--bg); font:inherit; font-weight:600; cursor:pointer; text-decoration:none; min-height:48px; }
.button:hover { filter:brightness(1.12); }
.button:disabled { cursor:wait; opacity:.7; }
.text-link { font-weight:550; }
.section { padding-block:64px 72px; border-top:1px solid var(--line); }
h2 { font-size:clamp(1.8rem,3vw,2.25rem); letter-spacing:-.04em; font-weight:600; }
.section-intro { display:grid; grid-template-columns:1fr 2fr; gap:56px; align-items:start; }
.section-intro>p { max-width:58ch; color:var(--muted); font-size:1.1rem; }
.specialties { display:grid; grid-template-columns:repeat(3,1fr); gap:48px; margin-top:48px; }
h3 { font-size:1.2rem; letter-spacing:-.02em; font-weight:650; }
.specialties p { margin-top:14px; color:var(--muted); max-width:32ch; }
.app-list { margin-top:40px; }
.app { display:grid; grid-template-columns:112px 1fr auto; gap:32px; align-items:center; padding-block:24px; }
.app+.app { border-top:1px solid var(--line); }
.app-icon { width:112px; height:112px; border-radius:24px; }
.app h3 { font-size:1.65rem; }
.app-description { color:var(--muted); max-width:48ch; margin-top:10px; }
.app-status { margin-top:14px; font-size:.88rem; color:var(--accent); font-weight:550; }
.app-links { display:flex; flex-direction:column; gap:12px; align-items:start; }
.app-links a { white-space:nowrap; font-weight:600; }
.contact-section { margin-top:12px; padding-block:76px 80px; background:var(--surface); }
.contact-layout { display:grid; grid-template-columns:1fr 1.6fr; gap:96px; }
.contact-intro h2 { font-size:2.8rem; }
.contact-intro p { color:var(--muted); margin-top:20px; max-width:29ch; font-size:1.1rem; }
.field-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.field { margin-bottom:20px; }
label { display:block; margin-bottom:7px; font-size:.94rem; font-weight:550; }
input,select,textarea { width:100%; min-width:0; border:1px solid var(--line); border-radius:5px; padding:12px; background:var(--field); color:var(--text); font:inherit; line-height:1.4; }
textarea { resize:vertical; min-height:142px; }
.honeypot { position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
#turnstile { min-height:65px; max-width:100%; }
.form-status:not(:empty) { padding-block:12px 18px; }
.form-status[data-state="error"] { color:var(--error); }
.form-status[data-state="success"] { color:var(--success); }
.privacy-note { margin-top:20px; font-size:.85rem; color:var(--muted); max-width:65ch; }
.email-fallback { margin-top:16px; font-size:.94rem; color:var(--muted); }
.site-footer { display:flex; justify-content:space-between; gap:16px; padding-block:30px; color:var(--muted); font-size:.85rem; }
@media(max-width:800px) { .wrap { width:calc(100% - 48px); } .hero { padding-block:65px 75px; } .section-intro { grid-template-columns:1fr; gap:20px; } .specialties { gap:25px; } .app { grid-template-columns:88px 1fr; gap:24px; } .app-icon { width:88px; height:88px; border-radius:19px; } .app-links { grid-column:2; } .contact-layout { grid-template-columns:1fr; gap:36px; } .contact-intro p { max-width:48ch; } }
@media(max-width:520px) { .wrap { width:calc(100% - 40px); } .site-header { padding-block:24px; gap:14px; } .brand { font-size:1.05rem; } .brand-mark { width:27px; height:29px; margin-right:7px; } .legal-suffix { display:none; } nav { gap:17px; font-size:.85rem; } .hero { padding-block:50px 66px; } h1 { font-size:4.4rem; } .positioning { font-size:1.6rem; margin-top:20px; } .hero-description { font-size:1rem; max-width:30ch; } .hero-actions { gap:22px; font-size:.94rem; } .section { padding-block:42px 48px; } .specialties { grid-template-columns:1fr; gap:28px; margin-top:32px; } .specialties p { max-width:45ch; margin-top:8px; } .app { grid-template-columns:64px 1fr; gap:20px; align-items:start; } .app-icon { width:64px; height:64px; border-radius:14px; } .app h3 { font-size:1.35rem; } .app-description { font-size:.95rem; } .app-status { font-size:.82rem; } .app-links { margin-top:-4px; } .field-pair { grid-template-columns:1fr; gap:0; } .contact-section { padding-block:48px; } .contact-intro h2 { font-size:2.25rem; } .site-footer { flex-direction:column; gap:4px; padding-block:24px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
