:root{
  --navy:#041D2C; --ink:#0C141A; --turq:#4CADB6; --aqua:#88D5DB;
  --mist:#E8F4F5; --offwhite:#F7F8F7; --muted:#6A7D86; --line:#D5E2E4;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'IBM Plex Sans',system-ui,sans-serif;background:var(--offwhite);color:var(--ink);line-height:1.55}
.hero{background:var(--navy);color:#fff;padding:56px 20px 48px;text-align:center}
.hero .brand{font-size:13px;letter-spacing:.18em;color:var(--aqua);font-weight:600;text-transform:uppercase;margin-bottom:18px}
.hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(30px,5vw,46px);line-height:1.1;max-width:720px;margin:0 auto 16px}
.hero p{color:#D7E6E8;max-width:620px;margin:0 auto;font-size:17px}
.hero .meta{margin-top:22px;font-size:14px;color:var(--aqua)}
.wrap{max-width:760px;margin:0 auto;padding:36px 20px 80px}
.sekcia{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px 26px;margin-bottom:22px}
.sekcia h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;color:var(--navy);font-size:24px;margin-bottom:4px}
.sekcia .pod{color:var(--muted);font-size:14px;margin-bottom:18px}
.ot{margin-bottom:26px}
.ot:last-child{margin-bottom:4px}
.ot label.q{display:block;font-weight:600;margin-bottom:10px;font-size:15.5px}
.ot .pozn{font-weight:400;color:var(--muted);font-size:13.5px}
.moznosti label{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px;cursor:pointer;font-size:15px;background:#fff;transition:border-color .15s, background .15s}
.moznosti label:hover{border-color:var(--turq)}
.moznosti input{margin-top:3px;accent-color:var(--turq);flex:none}
.moznosti label:has(input:checked){border-color:var(--turq);background:var(--mist)}
input[type=text],input[type=email],textarea,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:15px;background:#fff;color:var(--ink)}
textarea{min-height:80px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:2px solid var(--aqua);border-color:var(--turq)}
.matica{display:flex;flex-direction:column;gap:10px}
.matica .riadok{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}
.matica .riadok span{font-size:14.5px;flex:1}
.matica select{width:130px;flex:none}
.chyba{color:#B4232A;font-size:13.5px;margin-top:6px;display:none}
.ot.invalid .chyba{display:block}
.ot.invalid > label.q{color:#B4232A}
.odoslat{display:block;width:100%;background:var(--turq);color:#fff;border:none;border-radius:10px;padding:16px;font:600 17px 'IBM Plex Sans',sans-serif;cursor:pointer;transition:background .15s}
.odoslat:hover{background:#3d99a2}
.odoslat:disabled{background:var(--muted);cursor:wait}
.gdpr{font-size:12.5px;color:var(--muted);margin-top:10px}
.dakujeme{display:none;text-align:center;padding:70px 20px}
.dakujeme h2{font-family:'Cormorant Garamond',Georgia,serif;color:var(--navy);font-size:34px;margin-bottom:12px}
.dakujeme p{color:var(--muted);max-width:480px;margin:0 auto}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
footer{text-align:center;color:var(--muted);font-size:12.5px;padding:0 20px 40px}
