:root{--accent:#0081c8;--accent-hover:#006fae;--ink:#0b132b;--body:#334155;--muted:#64748b;--border:#e3e8f0;--surface:#ffffff;--canvas:#f5f6f8;--soft:#eef6ff}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--body);background:var(--canvas);line-height:1.6}a{color:var(--accent)}.page{max-width:920px;margin:0 auto;padding:2rem 1.25rem 3rem}.footer,.header,.section{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 1px 2px rgba(16,24,40,.04)}.header--hero{padding:0;overflow:hidden}.hero-media{position:relative;width:100%;aspect-ratio:16/9;max-height:320px;background:var(--soft)}.hero-media__img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}.hero-media__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,19,43,.08),rgba(11,19,43,.35));pointer-events:none}.header__body{padding:1.5rem}.eyebrow{margin:0 0 .5rem;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}h1,h2,h3{color:var(--ink);line-height:1.2}h1{font-size:clamp(1.75rem,4vw,2.35rem)}h1,h2{margin:0 0 .75rem}h2{font-size:1.25rem}h3{margin:0 0 .5rem;font-size:1rem}.lead,.section-intro{margin:0 0 1rem;font-size:1.05rem}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;text-decoration:none;border:1px solid transparent}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);color:#fff}.btn-secondary{background:#fff;border-color:var(--border);color:var(--ink)}.service-grid{list-style:none;margin:0;padding:0;display:grid;grid-gap:.75rem;gap:.75rem}.service-card{border:1px solid var(--border);border-radius:12px;padding:1rem;background:#fff}.service-card--primary{border-color:#b8daf0;background:var(--soft)}.service-card p{margin:0 0 .75rem}.text-link{font-weight:600}.section--estimate{border-color:#b8daf0;background:linear-gradient(180deg,#fff 0,var(--soft) 100%)}.estimate-alt{margin:1rem 0 0;font-size:.9rem;color:var(--muted)}.quote-form{margin-top:.75rem}.quote-form__title{margin:0 0 .35rem;font-weight:700;color:var(--ink)}.quote-form__sub{margin:0 0 1rem;font-size:.9rem;color:var(--muted)}.quote-form__grid{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:1fr 1fr}@media (max-width:640px){.quote-form__grid{grid-template-columns:1fr}}.quote-field{display:flex;flex-direction:column;gap:.35rem}.quote-field--full{grid-column:1/-1}.quote-field span{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.quote-field input,.quote-field select{width:100%;min-height:44px;padding:.55rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.95rem;color:var(--ink);background:#fff}.quote-field input:focus,.quote-field select:focus{outline:2px solid rgba(0,129,200,.25);border-color:var(--accent)}.quote-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.quote-form__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.quote-form__error{margin:.75rem 0 0;color:#b42318;font-size:.9rem}.quote-form--success .quote-form__title{font-size:1.05rem}.faq-list{margin:0}.faq-item{padding:.85rem 0;border-top:1px solid var(--border)}.faq-item:first-child{border-top:0;padding-top:0}.faq-item dt{font-weight:700;color:var(--ink);margin-bottom:.35rem}.faq-item dd{margin:0}.footer{font-size:.9rem;color:var(--muted)}.footer strong{color:var(--ink)}.dev-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.75rem;gap:.75rem}.dev-list li{display:grid;grid-gap:.25rem;gap:.25rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:12px}.dev-list span,code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem}