:root{--paper:#fff;--soft:#d9edf1;--ink:#093c5d;--muted:#4d6370;--line:#c9e4e8;--accent:#3b7597;--accent-strong:#093c5d;--accent-mid:#3b7597;--accent-soft:#5df8d8;--accent-pale:#f2fcfb;--heading:Georgia, "Times New Roman", serif;--sans:Inter, "Segoe UI", Arial, sans-serif;color:var(--ink);background:var(--paper);font:16px/1.5 var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;margin:0}button,input,textarea,select{font:inherit}h1,h2,h3{font-family:var(--heading);letter-spacing:0;font-weight:500}img{max-width:100%}.site-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;justify-content:space-between;align-items:center;gap:32px;min-height:86px;padding:16px clamp(20px,5vw,72px);display:flex;position:sticky;top:0}.brand img{width:min(230px,50vw);height:auto;display:block}.site-header nav{text-transform:uppercase;align-items:center;gap:clamp(14px,2vw,28px);font-size:18px;font-weight:700;display:flex}.site-header a{color:var(--ink);text-decoration:none}.site-header nav a{color:var(--accent-strong);white-space:nowrap;position:relative}.site-header nav a:after{background:var(--accent);content:"";opacity:0;height:2px;transition:all .18s;position:absolute;bottom:-8px;left:0;right:0;transform:scaleX(.4)}.site-header nav a:hover:after{opacity:1;transform:scaleX(1)}.hero-section{min-height:calc(100svh - 86px);color:var(--paper);background:linear-gradient(90deg, #093c5dfa, #3b7597e0 55%, #3b75977a), url(/hana-mikulecka.jpg) right center / min(48vw, 620px) auto no-repeat, var(--accent);grid-template-columns:minmax(0,1fr);align-items:end;padding:clamp(58px,8vw,108px) clamp(20px,5vw,72px) clamp(36px,6vw,76px);display:grid}.hero-copy{max-width:850px}.hero-section h1{max-width:820px;color:var(--paper);margin:0;font-size:clamp(48px,7vw,92px);line-height:.96}.hero-text{color:#ffffffeb;max-width:700px;margin:28px 0 0;font-size:clamp(18px,2vw,22px);line-height:1.55}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:36px;display:flex}.button{border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;min-height:48px;padding:0 22px;font-size:15px;font-weight:800;text-decoration:none;transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button.primary{color:var(--accent-strong);background:var(--paper);border-color:var(--paper);box-shadow:0 14px 34px #093c5d3d}.button.primary:hover{color:var(--paper);background:var(--accent-strong);border-color:var(--accent-strong)}.button.secondary{color:var(--paper);background:#093c5d3d;border-color:#ffffffb8}.button.secondary:hover{border-color:var(--paper);background:#ffffff24}.hero-panel{background:var(--paper);border-top:4px solid var(--accent-mid);gap:18px;padding:26px;display:grid;box-shadow:0 24px 60px #093c5d38}.hero-panel div{border-bottom:1px solid var(--line);gap:4px;padding-bottom:16px;display:grid}.hero-panel div:last-child{border-bottom:0;padding-bottom:0}.hero-panel span{color:var(--accent-strong);letter-spacing:0;text-transform:uppercase;font-size:13px;font-weight:800}.hero-panel strong{color:var(--ink);font-family:var(--sans);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:21px;font-weight:800;line-height:1.2}.section{padding:clamp(58px,8vw,108px) clamp(20px,5vw,72px)}.section-heading{gap:12px;max-width:820px;margin-bottom:38px;display:grid}.section h2{color:var(--ink);margin:0;font-size:clamp(34px,4vw,56px);line-height:1.05}.service-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.service-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);min-height:320px;padding:28px}.service-card:nth-last-child(-n+3){min-height:220px}.service-card h3{color:var(--ink);font-family:var(--heading);margin:0 0 14px;font-size:24px;line-height:1.15}.service-card p,.about-copy p,.pricing-copy p{color:var(--muted);margin:0;line-height:1.65}.service-card ul{color:var(--muted);gap:10px;margin:0;padding-left:18px;line-height:1.55;display:grid}.service-card li::marker{color:var(--accent)}.about-section{background:var(--soft);grid-template-columns:minmax(260px,420px) minmax(0,1fr);align-items:center;gap:clamp(32px,7vw,96px);display:grid}.portrait-wrap{position:relative}.portrait-wrap:before{background:var(--accent-strong);content:"";position:absolute;inset:24px -18px -18px 24px}.portrait-wrap img{aspect-ratio:4/5;object-fit:cover;width:100%;display:block;position:relative}.about-copy{gap:18px;display:grid}.pricing-section{grid-template-columns:minmax(0,.95fr) minmax(280px,.8fr);align-items:start;gap:clamp(32px,7vw,96px);display:grid}.pricing-copy p{margin-top:22px}.pricing-list{border-top:1px solid var(--line);display:grid}.pricing-list article{border-bottom:1px solid var(--line);padding:20px 0 22px}.pricing-list h3{color:var(--accent-strong);font-family:var(--heading);margin:0 0 8px;font-size:22px}.pricing-list p{color:var(--muted);margin:0;line-height:1.6}.contact-section{background:var(--accent-strong)}.contact-section h2{color:var(--paper)}.contact-heading{max-width:none}.contact-details{background:#ffffff38;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:28px 0 0;display:grid}.contact-details div{background:#ffffff14;gap:8px;min-height:128px;padding:24px;display:grid}.contact-details dt,.contact-details dd{margin:0}.contact-details dt{color:#ffffffb3;text-transform:uppercase;font-size:13px;font-weight:800}.contact-details dd,.contact-details a{color:var(--paper);font-size:clamp(19px,2vw,24px);font-weight:800;line-height:1.25;text-decoration:none}.contact-add{min-height:48px;color:var(--accent-strong);background:var(--paper);border:1px solid var(--paper);border-radius:4px;justify-content:center;align-items:center;margin-top:22px;padding:0 22px;font-size:15px;font-weight:800;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.contact-add:hover{color:var(--paper);background:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.appointment-form{background:var(--paper);border-top:4px solid var(--accent);gap:22px;margin:38px 0;padding:clamp(24px,4vw,38px);display:grid}.form-heading h3{color:var(--ink);font-family:var(--heading);margin:0;font-size:clamp(28px,3vw,38px);line-height:1.1}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.appointment-form label{gap:8px;display:grid}.appointment-form span{color:var(--accent-strong);text-transform:uppercase;font-size:13px;font-weight:800}.appointment-form input,.appointment-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);font:inherit;border-radius:4px}.appointment-form input{min-height:48px;padding:0 14px}.appointment-form textarea{resize:vertical;min-height:136px;padding:12px 14px}.appointment-form input:focus,.appointment-form textarea:focus{border-color:var(--accent);outline-offset:0;outline:2px solid #3b75972e}.form-message{grid-column:1/-1}.form-trap{width:1px;height:1px;position:absolute;left:-100vw;overflow:hidden}.appointment-form button{min-height:48px;color:var(--paper);background:var(--accent-strong);border:1px solid var(--accent-strong);cursor:pointer;border-radius:4px;justify-self:start;padding:0 24px;font-size:15px;font-weight:800;transition:background-color .18s,border-color .18s,transform .18s}.appointment-form button:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.appointment-form button:disabled{cursor:wait;opacity:.72;transform:none}.form-status{border-radius:4px;margin:0;padding:14px 16px;font-weight:800;line-height:1.45}.form-status.success{color:#093c5d;background:#d9edf1}.form-status.error{color:#7a1f1f;background:#f8dddd}.contact-places{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.contact-place{background:var(--paper);border:1px solid var(--line);grid-template-rows:minmax(360px,1fr) auto;display:grid;box-shadow:0 18px 44px #093c5d1f}.contact-place iframe{filter:grayscale(12%)saturate(.82);border:0;width:100%;height:100%;min-height:360px}.map-actions{background:var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.map-actions a{min-height:56px;color:var(--accent-strong);background:var(--paper);text-align:center;justify-content:center;align-items:center;padding:0 16px;font-size:15px;font-weight:800;text-decoration:none;transition:background-color .18s,color .18s;display:inline-flex}.map-actions a:hover{color:var(--paper);background:var(--accent)}.site-footer{color:var(--paper);background:var(--accent-strong);justify-content:space-between;gap:18px;padding:28px clamp(20px,5vw,72px);display:flex}.site-footer p{margin:0}.site-footer a{color:var(--accent-soft);text-decoration:none}@media (width<=900px){.site-header{flex-direction:column;align-items:flex-start;gap:16px;position:static}.site-header nav{width:100%;padding-bottom:4px;overflow-x:auto}.hero-section,.about-section,.pricing-section,.contact-details,.form-grid,.contact-places{grid-template-columns:1fr}.hero-section{background:linear-gradient(180deg, #093c5dfa, #3b7597eb), url(/hana-mikulecka.jpg) right top / 58vw auto no-repeat, var(--accent);min-height:auto}.hero-panel{margin-top:34px}.service-grid{grid-template-columns:1fr}.service-card:nth-last-child(-n+3){min-height:0}.site-footer{flex-direction:column}}@media (width<=560px){.hero-section h1{font-size:42px}.button,.appointment-form button{width:100%}.hero-section{background:linear-gradient(180deg, #093c5dfa, #3b7597f0), url(/hana-mikulecka.jpg) right top / 72vw auto no-repeat, var(--accent)}}
