:root{--navy:#1c2a44;--ink:#1b2430;--muted:#55606d;--bg:#f3f8f4;--accent:#3bbcab;--accent-dark:#1f8f80;--line:#d5dce5}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;font:400 1.05rem/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3{line-height:1.15;margin:0 0 .6em;color:var(--navy);letter-spacing:-.01em}
h1{font-size:clamp(2rem,6vw,3.4rem)}h2{font-size:clamp(1.6rem,4vw,2.3rem)}h3{font-size:1.2rem}
a{color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{max-width:1040px;margin:0 auto;padding:0 1.25rem}
header{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--line)}
.bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem 1.5rem;padding:.75rem 0}
.logo{display:inline-flex;align-items:center;gap:.6rem;font-weight:800;color:var(--navy);text-decoration:none;font-size:1.1rem}.logo span{color:var(--accent-dark)}
nav{display:flex;flex-wrap:wrap;gap:.25rem 1.2rem;font-size:.95rem;font-weight:600}nav a{text-decoration:none}nav a:hover{color:var(--accent)}
.hero{background:var(--navy);color:#fff;padding:4.5rem 0 4rem}
.hero h1{color:#fff;max-width:18ch;animation:in .8s ease-out both}.hero p{max-width:58ch;color:#d6deea;font-size:1.15rem}
@keyframes in{from{opacity:0;transform:translateY(14px)}}
@media (prefers-reduced-motion:reduce){.hero h1{animation:none}html{scroll-behavior:auto}}
.btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.btn{display:inline-block;padding:.8rem 1.4rem;border-radius:6px;font-weight:700;text-decoration:none;border:2px solid var(--accent);background:var(--accent);color:var(--navy);cursor:pointer;font-size:1rem}
.btn.ghost{background:transparent;color:inherit;border-color:currentColor}
section{padding:3.5rem 0}.alt{background:var(--bg)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.5rem}
.card svg{width:40px;height:40px;stroke:var(--accent);fill:none;stroke-width:2;margin-bottom:.5rem}
ul{padding-left:1.1rem}li{margin:.3rem 0}
.note{border-left:4px solid var(--accent);background:#fff;padding:.8rem 1rem;margin-top:1rem;font-size:.95rem;color:var(--muted)}
.lead{max-width:62ch;color:var(--muted)}
form{display:grid;gap:1rem;max-width:640px}
label{display:grid;gap:.3rem;font-weight:600;font-size:.95rem}
input,select,textarea{font:inherit;padding:.65rem;border:1px solid #9aa7b6;border-radius:6px;width:100%;background:#fff}
.check{display:flex;gap:.6rem;align-items:flex-start;font-weight:400}.check input{width:auto;margin-top:.45rem}
.hp{position:absolute;left:-9999px}
footer{background:var(--navy);color:#c3cedd;padding:2rem 0;font-size:.95rem}footer a{margin-right:1.2rem}
.legal{max-width:760px;padding:3rem 1.25rem}.legal h2{font-size:1.3rem;margin-top:2rem}
.qr{display:flex;align-items:center;gap:1rem;background:#fff;border:2px solid var(--accent);border-radius:12px;padding:1rem;max-width:420px;margin:0 0 2rem}
.qr img{width:130px;height:130px;flex:none}.qr p{margin:0;font-size:.95rem}
.foto{margin:0 0 1.5rem}.foto img{display:block;width:100%;height:auto;max-height:380px;object-fit:cover;border-radius:10px;background:var(--bg)}
