:root{--blue:#2563eb;--hover:#1d4ed8;--ink:#111;--muted:#5e6470;--line:#e5e7eb;--surface:#f7f8fa;--heading:Manrope,Arial,sans-serif}
*{box-sizing:border-box}
::selection{background:var(--blue);color:white}
body{margin:0;font:16px/1.6 Inter,Arial,sans-serif;color:var(--ink);background:white;min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
header,footer{margin-inline:auto;width:min(calc(100% - 64px),1440px);display:flex;align-items:center;justify-content:space-between}
header{padding-block:20px;border-bottom:1px solid var(--line)}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
a:hover{color:var(--hover)}
.brand{font:800 32px/1.4 var(--heading);letter-spacing:-.065em}
nav{display:flex;gap:3px;background:var(--surface);border:1px solid #d9dee8;border-radius:12px;padding:3px}
nav a{display:grid;place-items:center;min-width:48px;min-height:44px;border-radius:8px;font:800 14px var(--heading);color:var(--blue)}
nav a:hover{background:#e5edff}
nav [aria-current]{background:var(--ink);color:white}
nav [aria-current]:hover{background:#333;color:white}
.intro{min-height:clamp(550px,75svh,800px);display:grid;place-items:center;text-align:center;padding:clamp(54px,9vh,130px) 20px}
.hero{width:min(100%,760px)}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font:700 12px/1.5 var(--heading);letter-spacing:.14em;margin:0 0 23px}
.eyebrow span{width:8px;height:8px;border-radius:50%;background:var(--blue)}
h1{font:800 clamp(38px,6vw,64px)/1.06 var(--heading);margin:0 auto;max-width:670px;text-wrap:balance;letter-spacing:-.057em}
.description{color:var(--muted);font-size:clamp(16px,1.7vw,18px);max-width:650px;margin:24px auto 0;text-wrap:pretty}
.actions{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap;margin:30px auto 0}
.cta,.language{display:inline-flex;align-items:center;justify-content:center;min-height:48px;font-size:15px;font-weight:600}
.cta{background:var(--blue);color:white;border-radius:12px;padding:12px 23px;gap:10px}
.cta:hover{background:var(--hover);color:white}
.language{color:var(--blue);text-decoration:underline;text-underline-offset:.3em;text-decoration-color:#aec4fc}
.hero ul{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;list-style:none;margin:38px 0 0;padding:0;color:var(--muted);font-size:13px}
.hero li+li::before{content:'·';margin-right:12px}
footer{border-top:1px solid var(--line);padding:16px 0;color:var(--muted);font-size:14px}
footer div{display:flex;flex-wrap:wrap;gap:0 24px}
footer a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:600px){header,footer{width:calc(100% - 36px)}header{padding-block:12px}.brand{font-size:28px}.actions{gap:4px;flex-direction:column}footer{display:block;padding:14px 0}footer div{gap:0 16px}.hero ul{gap:4px 8px}.hero li+li::before{margin-right:8px}}

.section-links { display: flex; align-items: center; gap: 26px; }
.section-links a, .cta-phone a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }
.section-links a { color: var(--muted); font-size: 14px; }
.section-links a:hover, .cta-phone a:hover { color: var(--blue); }
.section { padding: clamp(52px, 7vw, 100px) 0; border-top: 1px solid var(--line); scroll-margin-top: 16px; }
.container { width: min(calc(100% - 64px), 1120px); margin-inline: auto; }
h2, h3 { font-family: var(--heading); text-wrap: balance; margin: 0; }
h2 { font-size: clamp(31px, 4vw, 48px); line-height: 1.12; letter-spacing: -.05em; }
h3 { font-size: clamp(20px, 2vw, 25px); line-height: 1.25; letter-spacing: -.035em; }
.section-head { margin-bottom: 36px; }
.cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(22px,4vw,58px); }
.card { border-top: 2px solid var(--blue); padding-top: 22px; }
.card p, .step p, .faq-item p, .section-lead { color: var(--muted); margin: 13px 0 0; }
.checklist { padding-left: 1.1em; margin: 20px 0 0; font-size: 15px; }
.checklist li { padding: 3px 0; }
.checklist li::marker { color: var(--blue); }
#approach, .cta-band { background: var(--surface); }
#approach .container, .faq-layout { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.65fr); gap: clamp(26px,6vw,90px); }
.steps { list-style: none; margin: 0; padding: 0; }
.step { position: relative; padding: 22px 0 22px 49px; border-top: 1px solid var(--line); }
.step-num { position: absolute; left: 0; color: var(--blue); font: 700 15px/1.7 var(--heading); }
.step p { margin-top: 8px; }
.faq-item { border-top: 1px solid var(--line); }
.faq-item:last-child { border-bottom: 1px solid var(--line); }
.faq-item summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 66px; padding: 16px 2px; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
summary h3 { font-size: 19px; }
summary::after { content: '+'; color: var(--blue); font-size: 24px; font-weight: 400; }
details[open] summary::after { content: '−'; }
summary:hover, summary:focus-visible { color: var(--blue); }
summary:focus-visible { outline: 3px solid var(--blue); }
.faq-item p { margin: 0 24px 20px 2px; }
.cta-band { text-align: center; }
.cta-phone { color: var(--muted); font-size: 15px; }
.cta-phone a { color: var(--ink); white-space: nowrap; }
@media (max-width: 760px) {
  .container { width: calc(100% - 36px); }
  .cards, #approach .container, .faq-layout { grid-template-columns: 1fr; }
  .cards { gap: 32px; }
  #approach .section-head, .faq-layout .section-head { margin: 0; }
  header { flex-wrap: wrap; }
  .section-links { order: 1; width: 100%; justify-content: space-between; gap: 8px; margin-top: 6px; }
  .intro { min-height: auto; }
}
