:root { --navy:#10243f; --paper:#f4f1ea; --card:#efece4; --ink:#10243f; --muted:#5c6570; --orange:#f15a22; --line:#e6e1d8; }
* { box-sizing: border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Source Sans 3","Segoe UI",sans-serif; line-height:1.5; padding-bottom:calc(5.5rem + env(safe-area-inset-bottom)); }
button, input { font: inherit; }
button { cursor: pointer; }
input:focus { outline:2px solid var(--orange); outline-offset:2px; }
.hero { background:var(--navy); color:#fff; padding:16px 20px 32px; }
.top { max-width:48rem; margin:0 auto; display:flex; justify-content:flex-end; }
.logo { display:block; width:340px; max-width:100%; height:auto; margin:0 auto; }
@media (min-width: 761px) { .logo { width:450px; } }
.brand { margin-top:4px; text-align:center; }
.brand-name { margin:8px 0 0; font-size:1.05rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#fff; }
.lang { min-height:44px; border:0; background:transparent; color:rgba(255,255,255,.8); font-weight:600; font-size:1rem; }
.hero-in { max-width:48rem; margin:0 auto; text-align:center; }
h1 { margin:22px auto 0; font-size:2.2rem; line-height:1.15; letter-spacing:-0.02em; white-space:normal; text-wrap:balance; }
@media (max-width: 760px) {
  h1 { white-space:normal; font-size:2rem; max-width:12em; }
}
.sub { margin:14px auto 0; max-width:34rem; color:rgba(255,255,255,.75); font-size:1.05rem; }
.lic { margin:18px 0 0; color:rgba(255,255,255,.8); }
.lic b { color:#fff; }
.phone a { color:#fff; font-size:1.3rem; font-weight:700; text-decoration:none; }
.phone { margin:10px 0 0; }
.jump { margin-top:12px; min-height:44px; border:0; background:transparent; padding:0; color:var(--orange); font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.wrap { max-width:48rem; margin:0 auto; padding:0 20px 8px; }
h2 { margin:32px 0 0; font-size:1.5rem; }
.services { list-style:none; margin:14px 0 0; padding:0; display:grid; gap:12px; }
.services li { display:flex; gap:12px; align-items:flex-start; background:#fff; border-radius:16px; padding:16px; box-shadow:0 1px 2px rgba(16,36,63,.06); }
.ico { width:44px; height:44px; flex:0 0 44px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:var(--paper); }
.ico svg { width:20px; height:20px; }
.services strong { display:block; font-size:1.1rem; }
.services p { margin:4px 0 0; color:var(--muted); }
.formbox { margin-top:28px; background:var(--card); border-radius:24px; padding:22px 18px; }
label { display:block; margin-top:14px; font-size:.9rem; font-weight:600; }
input[type="text"], input[type="tel"] { display:block; width:100%; min-height:48px; margin-top:4px; border:1px solid var(--line); border-radius:12px; background:#fff; padding:0 12px; }
.send { width:100%; min-height:48px; margin-top:16px; border:0; border-radius:999px; background:var(--navy); color:#fff; font-weight:600; }
.lead { margin:8px 0 0; color:var(--muted); }
.cities { margin:14px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px; font-size:1rem; font-weight:600; line-height:1.3; }
.cities span { display:none; }
.cities b { font-weight:600; white-space:nowrap; background:#fff; border-radius:999px; padding:6px 12px; box-shadow:0 1px 2px rgba(16,36,63,.06); }
.err { color:var(--orange); font-weight:600; }
.thanks { margin-top:16px; background:#fff; border-radius:16px; padding:16px; font-weight:600; }
footer { margin-top:32px; border-top:1px solid var(--line); padding:28px 0; color:var(--muted); font-size:.9rem; }
footer strong { color:var(--ink); }
.dock { position:fixed; left:0; right:0; bottom:0; z-index:10; padding:0 12px calc(12px + env(safe-area-inset-bottom)); }
.dock-row { max-width:48rem; margin:0 auto; display:flex; gap:12px; }
.call, .wa { flex:1; min-height:56px; border-radius:12px; display:flex; align-items:center; justify-content:center; gap:8px; font-weight:600; }
.call { border:0; background:var(--orange); color:#fff; }
.wa { border:2px solid var(--orange); background:#fff; color:var(--orange); }
.call svg, .wa svg { width:20px; height:20px; }
[hidden] { display:none !important; }

/* ===== Additions (same colors, font and components as the original homepage) ===== */
a.lang, .navlink { display:inline-flex; align-items:center; min-height:44px; padding:0 6px; color:rgba(255,255,255,.8); font-weight:600; font-size:1rem; text-decoration:none; }
a.lang:hover, .navlink:hover, .navlink[aria-current="page"] { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.top { flex-wrap:wrap; align-items:center; gap:0 4px; }
.nav { display:flex; flex-wrap:wrap; gap:0 4px; margin-right:auto; }
.logo-link { display:block; }
.open { margin:12px 0 0; color:var(--orange); font-weight:700; font-size:1.05rem; }
a.jump { display:inline-block; line-height:44px; }
a.call, a.wa { text-decoration:none; }
.services strong a { color:inherit; text-decoration:none; }
.services strong a:hover { color:var(--orange); }
.services li .more { display:inline-block; margin-top:6px; color:var(--orange); font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.text { margin:12px 0 0; color:var(--ink); font-size:1.05rem; }
.text a, .lead a { color:var(--ink); font-weight:600; text-underline-offset:3px; }
.steps { margin:14px 0 0; padding-left:1.4rem; }
.steps li { margin-top:8px; }
.steps strong { color:var(--ink); }
.note { margin-top:16px; background:#fff; border-radius:16px; padding:16px; color:var(--muted); }
.cities a { color:inherit; text-decoration:none; }
select.input, textarea.input { display:block; width:100%; margin-top:4px; border:1px solid var(--line); border-radius:12px; background:#fff; padding:10px 12px; font:inherit; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
footer p { margin:6px 0 0; }
footer a { color:var(--ink); }
.foot-links { display:flex; flex-wrap:wrap; gap:4px 16px; margin:14px 0 0; padding:0; list-style:none; }
.foot-links a { display:inline-block; min-height:32px; line-height:32px; }
.faq h3 { margin:18px 0 0; font-size:1.1rem; line-height:1.3; color:var(--ink); }
.faq h3 + .text { margin-top:6px; }
.social { display:flex; gap:10px; margin:14px 0 0; padding:0; list-style:none; }
.social a { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--line); border-radius:50%; color:var(--ink); }
.social a:hover, .social a:focus-visible { background:var(--ink); color:#fff; }
.social svg { width:22px; height:22px; }

/* 2026-10-18b audit: accessibility + form */
.skip { position:absolute; left:8px; top:-60px; z-index:20; background:#fff; color:var(--ink); padding:10px 14px; border-radius:8px; font-weight:700; }
.skip:focus { top:8px; }
a:focus-visible, button:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline:3px solid var(--orange); outline-offset:2px; }
select.input { min-height:48px; }
textarea.input { min-height:96px; resize:vertical; }
.foot-links a { min-height:44px; line-height:44px; }
