:root { --ink:#14202b; --muted:#5b6670; --line:#e3e7eb; --accent:#c8102e; --soft:#f4f6f8; }
* { box-sizing:border-box; }
body { margin:0; background:#fff; color:var(--ink); font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; }
a { color:var(--accent); }
header { border-bottom:1px solid var(--line); }
.bar { max-width:960px; margin:0 auto; padding:16px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.brand { font-weight:800; font-size:18px; color:var(--ink); text-decoration:none; letter-spacing:.2px; }
.brand span { color:var(--accent); }
nav a { color:var(--ink); text-decoration:none; margin-left:20px; font-size:15px; }
nav a:first-child { margin-left:0; }
main { max-width:960px; margin:0 auto; padding:40px 16px 56px; }
.hero { padding:32px 0 16px; }
.hero h1 { font-size:clamp(30px,5vw,46px); line-height:1.15; margin:0 0 12px; }
.hero p { font-size:19px; color:var(--muted); max-width:640px; margin:0 0 24px; }
.btn { display:inline-block; background:var(--accent); color:#fff; text-decoration:none; padding:12px 22px; border-radius:6px; font-weight:600; border:0; font-size:16px; cursor:pointer; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; margin:40px 0; }
.card { background:var(--soft); border-radius:8px; padding:20px; }
.card h3 { margin:0 0 6px; font-size:18px; }
.card p { margin:0; color:var(--muted); }
.doc { max-width:760px; }
.doc h1 { font-size:34px; margin:0 0 4px; }
.doc h2 { font-size:20px; margin:32px 0 8px; }
.muted { color:var(--muted); }
.callout { background:var(--soft); border-left:4px solid var(--accent); padding:12px 16px; font-weight:600; }
.contact-box { background:var(--soft); border-radius:8px; padding:24px; font-size:18px; }
.contact-box a { font-weight:700; font-size:22px; text-decoration:none; }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; margin-top:12px; }
.contact-form label { display:flex; flex-direction:column; gap:6px; font-size:14px; font-weight:600; }
.contact-form .full { grid-column:1 / -1; }
.contact-form input, .contact-form textarea { font:inherit; font-weight:400; padding:10px 12px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); }
.contact-form input:focus, .contact-form textarea:focus { outline:2px solid var(--accent); outline-offset:-1px; border-color:transparent; }
.contact-form button { justify-self:start; }
@media (max-width:600px) { .contact-form { grid-template-columns:1fr; } }
footer { border-top:1px solid var(--line); }
footer .bar { color:var(--muted); font-size:14px; }
footer a { color:var(--muted); margin-right:16px; }

/* nav dropdown */
nav { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
nav > a, .drop-toggle { margin-left:0; }
.dropdown { position:relative; }
.caret { font-size:11px; color:var(--muted); }
.drop-menu { display:none; position:absolute; top:100%; left:-12px; min-width:200px; background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 10px 30px -12px rgba(20,32,43,.3); padding:6px; z-index:20; }
.drop-menu::before { content:""; position:absolute; top:-10px; left:0; right:0; height:10px; }
.drop-menu a { display:block; margin:0; padding:9px 12px; border-radius:6px; }
.drop-menu a:hover { background:var(--soft); color:var(--accent); }
.dropdown:hover .drop-menu, .dropdown:focus-within .drop-menu { display:block; }
nav a:hover { color:var(--accent); }

/* clickable cards */
a.card { display:block; text-decoration:none; color:inherit; border:1px solid transparent; transition:border-color .15s, transform .15s; }
a.card:hover { border-color:var(--accent); transform:translateY(-2px); }
a.card h3::after { content:" \2192"; color:var(--accent); }

/* inner pages */
.doc.wide { max-width:none; }
.lead { font-size:19px; color:var(--muted); margin:8px 0 8px; }
.crumb { font-size:14px; color:var(--muted); margin:0 0 8px; }
.crumb a { color:var(--muted); }
.other { margin-top:24px; font-size:15px; color:var(--muted); }
.other a { margin-right:14px; }
.doc .contact-box { font-size:17px; }
.doc .contact-box a { font-size:inherit; }

/* contact page */
.contact-page { display:grid; grid-template-columns:1fr 1.25fr; gap:48px; align-items:start; margin-bottom:24px; }
.contact-info h1 { font-size:34px; margin:0 0 8px; }
.info-item { padding:18px 0; border-top:1px solid var(--line); }
.info-item:first-of-type { margin-top:20px; }
.info-label { display:block; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:4px; }
.info-value { font-size:22px; font-weight:700; text-decoration:none; color:var(--ink); }
.info-value:hover { color:var(--accent); }
.info-item p { margin:0; }
.form-card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:28px; box-shadow:0 18px 40px -24px rgba(20,32,43,.35); display:flex; flex-direction:column; gap:16px; }
.form-card h2 { margin:0 0 4px; font-size:22px; }
.form-card .row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-card label { display:flex; flex-direction:column; gap:6px; }
.form-card label span { font-size:14px; font-weight:600; }
.form-card em { color:var(--accent); font-style:normal; }
.form-card input, .form-card textarea, .form-card select { font:inherit; width:100%; padding:12px 14px; border:1px solid #d5dbe1; border-radius:8px; background:var(--soft); color:var(--ink); transition:border-color .15s, background .15s, box-shadow .15s; }
.form-card textarea { resize:vertical; min-height:130px; }
.form-card input::placeholder, .form-card textarea::placeholder { color:#9aa4ad; }
.form-card input:focus, .form-card textarea:focus, .form-card select:focus { outline:none; background:#fff; border-color:var(--accent); box-shadow:0 0 0 3px rgba(200,16,46,.12); }
.btn-block { width:100%; padding:14px; font-size:16px; margin-top:4px; }
.btn-block:hover { background:#a50d26; }
.form-note { margin:0; font-size:13px; color:var(--muted); text-align:center; }
.sms-note { margin-top:16px; }
@media (max-width:820px) { .contact-page { grid-template-columns:1fr; gap:28px; } }
@media (max-width:520px) { .form-card .row { grid-template-columns:1fr; } .form-card { padding:20px; } }
.form-error { margin:0; padding:10px 12px; border-radius:8px; background:#fdecef; color:#8f0a21; font-size:14px; text-align:center; }
.btn-block:disabled { opacity:.7; cursor:wait; }

/* one-line menu */
nav { flex-wrap:nowrap; white-space:nowrap; gap:28px; }
nav > a, .drop-toggle { color:var(--ink); text-decoration:none; font-size:15px; font-weight:500; margin:0; padding:6px 0; display:inline-flex; align-items:center; gap:4px; }
nav > a:hover, .drop-toggle:hover { color:var(--accent); }
.drop-menu { top:calc(100% + 6px); }
@media (max-width:640px) {
  .bar { flex-direction:column; align-items:flex-start; gap:8px; }
  nav { gap:18px; overflow-x:auto; max-width:100%; }
  nav > a, .drop-toggle { font-size:14px; }
}

/* contact: info on top, single-column form below */
.contact-page { grid-template-columns:1fr; gap:32px; max-width:680px; }
.contact-info .info-item:first-of-type { margin-top:16px; }
.form-card { padding:32px; gap:18px; }
.form-card input, .form-card select { height:50px; padding:0 14px; }
.form-card textarea { min-height:220px; padding:14px; line-height:1.5; }
.sms-note { max-width:680px; }
