:root{--navy:#0c2340;--blue:#1565c0;--accent:#f5a623;--bg:#fff;--soft:#f3f6fa;--text:#1c2733;--muted:#5b6875;--line:#dde3ea;--radius:12px;color:var(--text);background:var(--bg);font-family:Plus Jakarta Sans,system-ui,sans-serif;line-height:1.6}*{box-sizing:border-box}body{margin:0}img{max-width:100%;display:block}a{color:var(--blue)}h1,h2,h3{color:var(--navy);line-height:1.2}h1{margin:0 0 1rem;font-size:clamp(2rem,5vw,3.2rem);font-weight:800}h2{font-size:clamp(1.5rem,3vw,2rem)}.wrap{width:min(1120px,100% - 32px);margin-inline:auto}.section{padding-block:4rem}.alt{background:var(--soft)}.lead{color:var(--muted);max-width:640px;font-size:1.15rem}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin:0 0 .5rem;font-weight:600}.btn{background:var(--accent);color:var(--navy);cursor:pointer;font-weight:700;font:inherit;border:0;border-radius:999px;padding:.85rem 1.5rem;font-weight:700;text-decoration:none;display:inline-block}.btn:hover{filter:brightness(.95)}.btn-sm{padding:.55rem 1.1rem;font-size:.95rem}.btn-ghost{color:#fff;background:0 0;box-shadow:inset 0 0 0 2px #fff}.btn-danger{color:#fff;background:#c62828}.actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.site-header{z-index:10;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0}.bar{justify-content:space-between;align-items:center;min-height:68px;display:flex}.brand{color:var(--navy);align-items:center;gap:.6rem;font-size:1.1rem;font-weight:800;text-decoration:none;display:flex}.site-header nav{align-items:center;gap:1.5rem;display:flex}.site-header nav a:not(.btn){color:var(--text);font-weight:600;text-decoration:none}.site-header nav a[aria-current]{color:var(--blue)}.menu-toggle,.menu-btn{display:none}@media (width<=760px){.menu-btn{cursor:pointer;padding:.25rem .5rem;font-size:1.6rem;display:block}.site-header nav{border-bottom:1px solid var(--line);background:#fff;flex-direction:column;align-items:stretch;gap:1rem;padding:1rem 16px 1.5rem;display:none;position:absolute;inset:68px 0 auto}.menu-toggle:checked~nav{display:flex}.site-header nav .btn{text-align:center}}.hero{color:#fff;background:linear-gradient(110deg, #0c2340f2 30%, #0c234099), var(--hero,linear-gradient(135deg, #0c2340, #1565c0)) center / cover;padding-block:clamp(4rem,12vw,8rem)}.hero h1{color:#fff;max-width:760px}.hero .lead{color:#d6e2f0}.page-head{background:var(--navy);padding-block:3rem}.page-head h1{color:#fff;margin:0}.page-head .lead{color:#c3d2e3;margin:.5rem 0 0}.grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-block:1.5rem;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.card img{aspect-ratio:4/3;object-fit:cover;width:100%}.card-body{padding:1.25rem}.card h3{margin:0 0 .5rem}.clamp{-webkit-line-clamp:4;color:var(--muted);-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.checks{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;padding:0;list-style:none;display:grid}.checks li{border-radius:var(--radius);background:#fff;padding:1rem 1rem 1rem 3rem;font-weight:600;position:relative}.checks li:before{content:"✓";color:#fff;background:var(--blue);border-radius:50%;place-items:center;width:1.4rem;height:1.4rem;font-size:.8rem;display:grid;position:absolute;top:1rem;left:1rem}.cta{text-align:center}.cta p{color:var(--muted)}.service{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:center;gap:2.5rem;padding-block:2rem;display:grid}.service:not(:has(img)){grid-template-columns:1fr}.service img{border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover;width:100%}.service.flip img{order:2}.about{grid-template-columns:3fr 2fr;align-items:start;gap:3rem;display:grid}.about img{border-radius:var(--radius)}.prose p{font-size:1.05rem}.contact{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.map{border:0;width:100%;height:380px;display:block}@media (width<=760px){.service,.about,.contact{grid-template-columns:1fr}.service.flip img{order:0}}.form{gap:1rem;max-width:520px;display:grid}.form.wide{max-width:760px}.form label{gap:.35rem;font-weight:600;display:grid}.form input:not([type=checkbox]):not([type=file]),.form textarea{font:inherit;border:1px solid var(--line);border-radius:8px;width:100%;padding:.7rem .8rem;font-weight:400}.form small{color:var(--muted);font-weight:400}.hp{position:absolute;left:-9999px}.alert{border-radius:8px;padding:.8rem 1rem}.alert.ok{color:#1e6b34;background:#e6f4ea}.alert.err{color:#a12622;background:#fdecea}.site-footer{background:var(--navy);color:#c3d2e3;padding-top:3rem}.site-footer strong{color:#fff}.site-footer a{color:#c3d2e3}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;display:grid}.footer-grid p{margin:.4rem 0}.copy{border-top:1px solid #ffffff1f;margin-top:2rem;padding-block:1.25rem;font-size:.9rem}.wa-float{color:#fff;z-index:20;background:#25d366;border-radius:50%;place-items:center;width:56px;height:56px;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 6px 18px #0003}.admin{background:var(--soft)}.admin-bar{background:var(--navy)}.admin-bar nav{flex-wrap:wrap;align-items:center;gap:1.25rem;min-height:56px;display:flex}.admin-bar a{color:#fff;font-weight:600;text-decoration:none}.admin-bar a[aria-current]{color:var(--accent)}.admin-bar form{margin-left:auto}.link{color:#fff;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link.danger{color:#c62828}.card-pad{border-radius:var(--radius);border:1px solid var(--line);background:#fff;margin-bottom:1.25rem;padding:1.5rem}fieldset{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:1rem;padding:1.25rem 1.5rem;display:grid}legend{color:var(--navy);padding-inline:.4rem;font-weight:800}.img-field{gap:.5rem;font-weight:400;display:grid}.img-field img{border:1px solid var(--line);border-radius:8px;width:auto;max-height:140px}.inline{align-items:center;gap:.4rem;display:flex}.sticky-save{justify-self:start;position:sticky;bottom:1rem;box-shadow:0 4px 14px #00000026}.msg header{margin-bottom:.5rem}.msg p{white-space:pre-wrap;margin:0 0 .5rem}.login{place-items:center;min-height:100vh;display:grid}.login .form{width:min(380px,100% - 32px)}
