:root { --background:#fff;--foreground:#162e3f;--primary:#173d52;--primary-foreground:#fff;--border:#d5dfe3;--radius:.7rem;font-family:Arial,Helvetica,sans-serif;color:var(--foreground);background:#fff;font-synthesis:none }
* { box-sizing:border-box }
html { scroll-behavior:smooth;scroll-padding-top:95px }
body { margin:0;font-size:16px;line-height:1.65 }
a { text-decoration:none;color:inherit }
button, a { touch-action:manipulation }
a:focus-visible, button:focus-visible { outline:3px solid #d69b35;outline-offset:5px }
.wrap { max-width:1240px;width:calc(100% - 96px);margin:auto }
.header { height:101px;display:flex;align-items:center;justify-content:space-between;gap:28px }
.logo { font-size:38px;letter-spacing:-2px;font-weight:750;display:flex;align-items:center;line-height:1 }
.logomark { background:#173d52;color:#fff;border-radius:12px;padding:9px;margin-right:10px;display:flex }
.logo-dot { color:#397587 }
.nav { display:flex;gap:31px;font-size:15px }
.nav a:hover { color:#287187 }
.headerphone { border:1px solid #d5dfe3;padding:12px 18px;border-radius:7px;display:flex;gap:12px;align-items:center;font-weight:600 }
.menu { display:none }
.hero { display:grid;grid-template-columns:1.04fr 1fr;gap:36px;padding:31px 0 55px }
.hero-copy { padding-top:32px }
.eyebrow { font-size:12px;letter-spacing:1.6px;font-weight:700;display:flex;align-items:center;gap:9px }
.eyebrow>span { height:7px;width:7px;background:#397a70;border-radius:100% }
h1 { font-size:clamp(44px,4.7vw,68px);line-height:1.09;letter-spacing:-2.9px;margin:25px 0 }
h1 em { font-style:normal;color:#417787 }
p { color:#596c78;margin:16px 0 }
h1+p { max-width:430px }
.btn { display:inline-flex;align-items:center;justify-content:center;gap:23px;padding:16px 21px;border-radius:6px;font-size:14px;font-weight:600;height:auto;white-space:normal }
.text-link { display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:600 }
.hero-visual { position:relative;min-height:465px;border-radius:12px 90px 12px 12px;overflow:hidden;background:#dce7eb }
.image-surface { height:100%;min-height:320px;background:linear-gradient(135deg,#c4dce3,#f2f6f7);background-size:cover;background-position:center }
.visual-caption { position:absolute;right:14px;top:15px;background:#ffffffde;padding:3px 9px;font-size:12px;border-radius:3px }
.notice { background:#fff2d6;border:1px solid #edd9ac;border-left:5px solid #d89a28;border-radius:8px;display:flex;gap:25px;align-items:flex-start;padding:29px 32px }
.notice-icon { background:#f8dfa9;padding:14px;border-radius:50%;color:#8a5d14;display:flex }
.notice .eyebrow { color:#825a1a;font-size:11px }
.notice h2 { font-size:26px;letter-spacing:-.7px;margin:3px 0 }
.notice p { font-size:14px;color:#715e3d;margin:6px 0 0;max-width:780px }
.notice-tag { white-space:nowrap;font-size:11px;color:#825a1a;border:1px solid #dec693;padding:4px 9px;border-radius:20px;margin-left:auto }
.section { padding-top:94px;padding-bottom:94px }
h2 { font-size:42px;line-height:1.18;letter-spacing:-1.5px;margin:19px 0 24px }
h3 { font-size:23px;line-height:1.3;letter-spacing:-.5px;margin:20px 0 10px }
.about { display:grid;grid-template-columns:1fr 1fr;gap:80px }
.about .large-copy { font-size:21px;color:#233f50;margin-top:5px }
.about .text-link { margin-top:10px }
.specialists { background:#f0f5f7 }
.section-head { display:flex;justify-content:space-between;align-items:center;margin-bottom:29px }
.section-head p { font-size:14px }
.doctor-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:22px }
.doctor { padding:28px;background:white;border-radius:8px;border:1px solid #dce5e9 }
.doctor-role { color:#507485;font-size:13px }
.doctor p { font-size:14px;margin-bottom:0 }
.contact { background:#eef4f5 }
.contact-number { display:flex;align-items:center;gap:25px;font-size:33px;font-weight:600;margin-top:35px }
.contact-number+span { font-size:13px;color:#627783 }
.address { display:flex;gap:16px;margin-top:31px;align-items:center }
.location { display:grid;grid-template-columns:1fr 1.55fr;gap:50px }
.location iframe { width:100%;height:350px;border:0;border-radius:10px }
.outline { border:1px solid #bccdd5;margin-top:14px }
footer { border-top:1px solid #dce5e9 }
.skip { position:fixed;top:-100px;left:20px;background:white;padding:15px;z-index:99 }
.skip:focus { top:10px }
@media(min-width:1500px) {
.hero { padding-top:50px;padding-bottom:65px }
}
@media(max-width:1000px) {
.wrap { width:calc(100% - 48px) }
.nav { gap:17px }
.headerphone { display:none }
.hero { gap:25px }
.hero-visual { min-height:480px }
.notice-tag { display:none }
}
@media(max-width:650px) {
.wrap { width:calc(100% - 36px) }
.header { height:83px }
.logo { font-size:33px }
.menu { display:flex }
.nav { display:none }
.hero { grid-template-columns:1fr;padding-top:0;gap:30px }
.hero-copy { padding-top:20px }
h1 { font-size:48px;letter-spacing:-2px }
.hero-visual { min-height:330px;height:330px;border-top-right-radius:65px }
.notice { padding:23px 19px;gap:15px }
.notice-icon { padding:10px }
.notice-icon svg { width:21px }
.notice h2 { font-size:23px }
.notice .eyebrow { font-size:10px }
.section { padding-top:62px;padding-bottom:62px }
h2 { font-size:34px }
.about, .location { grid-template-columns:1fr;gap:25px }
.section-head { display:block }
.doctor-grid { grid-template-columns:1fr;gap:14px }
.location iframe { height:300px }
}
@media(prefers-reduced-motion:reduce) {
html { scroll-behavior:auto }
* { transition:none!important }
}
.clinic-photo { display:block;width:100%;height:100%;object-fit:cover }
.hero-visual>.clinic-photo { position:absolute;inset:0 }
body { padding-top:88px }
.site-header { position:fixed;inset:0 0 auto;z-index:50;background:#dcebef;border-bottom:1px solid #c3d8df;box-shadow:0 3px 18px #173d520d }
.header { height:88px }
.notice-section>.notice { margin-top:24px;margin-bottom:12px;background:#fff0f0;border:1px solid #ecc2c2;border-left:5px solid #bc3038;color:#8f2028 }
.notice-icon { background:#f9d6d9;color:#b12530 }
.notice .eyebrow, .notice h2 { color:#a1232d }
.notice p { color:#7c4147 }
.notice-tag { color:#a1232d;border-color:#e1acb1 }
.location { display:block;padding-top:65px;padding-bottom:0 }
.location-heading { display:flex;align-items:center;gap:40px;flex-wrap:wrap;padding-bottom:40px }
.location-heading .eyebrow { width:100% }
.location-heading h2 { margin:0;margin-right:auto }
.location-heading p { margin:0 }
.location-heading .btn { margin:0 }
.location iframe { display:block;width:100%;height:460px;border-radius:0;border:0 }
footer { background:#173d52;color:#fff;border:0 }
@media(max-width:650px) {
body { padding-top:76px }
.header { height:76px }
.site-header .menu { color:#173d52 }
.notice-section>.notice { margin-top:18px;margin-bottom:20px }
.location { padding-top:45px }
.location-heading { display:block;padding-bottom:30px }
.location-heading h2 { margin:18px 0 }
.location-heading p { margin:15px 0 }
.location-heading .btn { margin-top:8px }
.location iframe { height:360px }
html { scroll-padding-top:94px }
}
.inline-clinic-photo, .contact-photo { position:relative;margin:28px 0 0;overflow:hidden;border-radius:10px }
.inline-clinic-photo img, .contact-photo img { display:block;width:100%;height:245px;object-fit:cover }
.inline-clinic-photo figcaption, .contact-photo figcaption { position:absolute;bottom:10px;right:10px;background:#fffffff0;color:#173d52;border-radius:3px;padding:3px 8px;font-size:12px }
.about>div:nth-child(2) { align-self:center }
.contact-photo img { height:210px;object-position:center 65% }
@media(max-width:650px) {
.inline-clinic-photo img { height:230px }
.contact-photo img { height:220px }
}
.site-footer { background:#104f60;color:#fff }
.footer-columns { display:grid;grid-template-columns:1.7fr .8fr 1fr;gap:65px;padding:58px 0 46px }
.footer-brand .logo { font-size:30px;letter-spacing:-1px;align-items:center }
.footer-brand .logomark { background:#168ba3;border-radius:10px }
.footer-brand .logo small { display:block;font-size:12px;line-height:1.6;letter-spacing:0;font-weight:400;color:#c5dce3;margin-top:6px }
.footer-brand p { font-size:14px;color:#c5dce3;line-height:1.85;margin:22px 0 0 }
.footer-columns h3 { font-size:16px;letter-spacing:0;margin:0 0 21px;font-weight:700 }
.footer-nav { display:flex;flex-direction:column;align-items:flex-start;gap:12px }
.footer-nav h3 { margin-bottom:9px }
.footer-nav a, .footer-quick a { font-size:14px;color:#c5dce3 }
.footer-quick address { display:flex;flex-direction:column;gap:15px;font-style:normal }
.footer-quick a { display:flex;align-items:flex-start;gap:11px;overflow-wrap:anywhere }
.footer-quick svg { flex-shrink:0;margin-top:3px;color:#89cbd9 }
.footer-columns a:hover { color:#fff }
.footer-nav a:hover, .footer-quick a:hover { text-decoration:underline }
.footer-bottom { border-top:1px solid #ffffff20;padding:23px 0;text-align:center;font-size:13px;color:#c5dce3 }
@media(max-width:850px) {
.footer-columns { grid-template-columns:1.3fr 1fr;gap:36px }
.footer-brand { grid-column:1/-1 }
}
@media(max-width:500px) {
.footer-columns { grid-template-columns:1fr;gap:32px;padding:40px 0 32px }
.footer-brand { grid-column:auto }
.footer-bottom { font-size:12px;padding:21px 0 }
}
.clinic-stats { display:grid;grid-template-columns:1fr .8fr 1.2fr;gap:22px;margin-top:32px }
.clinic-stats strong { display:block;color:#087b96;font-size:34px;font-weight:700;line-height:1.2;letter-spacing:-.8px;font-variant-numeric:tabular-nums;white-space:nowrap }
.clinic-stats span { display:block;color:#596c78;font-size:14px;margin-top:8px }
.about .stats-note { font-size:12px;color:#667984;margin:15px 0 20px }
@media(max-width:400px) {
.clinic-stats { gap:12px;grid-template-columns:1fr 1fr }
.clinic-stats>div:last-child { grid-column:1/-1 }
.clinic-stats strong { font-size:30px }
}
.hero { align-items:center;padding-bottom:30px }
.hero-copy { padding-top:0 }
.hero-copy h1 { margin:0 }
.hero-visual { min-height:340px;height:340px }
@media(max-width:650px) {
.hero { padding-top:22px;gap:26px;padding-bottom:10px }
.hero-visual { min-height:280px;height:280px }
}
.site-header .nav { font-size:18px;font-weight:500 }
.contact-number { gap:15px }
.contact-number svg { flex-shrink:0 }
body { background-color:#f8fcfe;background-image:radial-gradient(ellipse at 0 12%,#c4e8f33b,transparent 42%),radial-gradient(ellipse at 100% 45%,#d3edf536,transparent 40%),radial-gradient(#3b7a9012 .8px,transparent .8px);background-size:auto,auto,25px 25px }
main { display:flow-root;background:transparent }
.specialists { background-color:#e7f0f54d }
.contact { background-color:#e3eef34d }
.skip { z-index:100;padding:14px 20px;font-size:1rem;font-weight:600;border:2px solid #173d52 }
main:focus, section[tabindex]:focus { outline:none }
html { scroll-padding-top:110px }
.nav a, .footer-nav a, .footer-quick a { min-height:44px;display:inline-flex;align-items:center }
.menu { min-width:44px;min-height:44px }
.eyebrow, .notice .eyebrow { font-size:.875rem;letter-spacing:1px }
.notice p, .doctor p, .doctor-role, .section-head p, .contact-number+span { font-size:.9375rem }
.notice-tag, .visual-caption, .inline-clinic-photo figcaption, .contact-photo figcaption, .stats-note, .footer-bottom { font-size:.875rem!important }
.contact-number { flex-wrap:wrap;font-size:clamp(1.5rem,4vw,2.0625rem) }
.hero-copy, .about>div, .doctor, .footer-columns>* { min-width:0 }
@media(max-width:850px) {
.headerphone { display:none }
.site-header .nav { gap:16px }
.site-header .nav a { font-size:1rem }
}
@media(max-width:650px) {
.site-header .nav a { font-size:1.125rem }
.btn { min-height:44px }
.notice { gap:10px }
.notice-icon { flex-shrink:0 }
.notice>div:nth-child(2) { min-width:0 }
.notice h2 { overflow-wrap:anywhere }
}
@media(forced-colors:active) {
.btn, .doctor, .notice { border:1px solid CanvasText }
.logomark { border:1px solid ButtonText }
}
.contact-direct { display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center }
.direct-details { font-style:normal }
.direct-details a { width:fit-content;min-height:44px }
.direct-details a:hover { text-decoration:underline }
.contact-email { display:flex;align-items:center;gap:15px;font-size:1.25rem;margin-top:15px;overflow-wrap:anywhere }
.contact-email svg { flex-shrink:0 }
.contact-direct .contact-photo { margin:0 }
.contact-direct .contact-photo img { height:360px }
@media(max-width:650px) {
.contact-direct { grid-template-columns:1fr;gap:30px }
.contact-email { font-size:1rem }
.contact-direct .contact-photo img { height:270px }
}

svg { display:inline-block; vertical-align:middle; flex-shrink:0; }
button { font:inherit; cursor:pointer; }
.menu { background:transparent; border:0; border-radius:6px; align-items:center; justify-content:center; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:650px) { html:not(.js) .nav { display:flex; flex-wrap:wrap; } html:not(.js) .header { height:auto; min-height:76px; flex-wrap:wrap; padding:12px 0; } html:not(.js) .menu { display:none; } }
h1,h2,h3 { font-weight:400; }
@media(max-width:650px) {
  .nav.open { display:flex; position:absolute; top:76px; left:0; right:0; background:#dcebef; padding:24px; z-index:10; box-shadow:0 10px 20px #173d521a; flex-wrap:wrap; max-height:calc(100dvh - 76px); overflow-y:auto; }
}
.footer-quick a[href="#lokalizacja"] { align-items:flex-start; }
.footer-quick a[href="#lokalizacja"] svg { width:18px; height:18px; margin-top:3px; }
.footer-quick a[href="#lokalizacja"] span { line-height:1.65; }

.doctor h3 { margin-top:0; } .clinic-stats { margin-bottom:24px; }
/* Alternating full-width section backgrounds; retain the subtle dot texture. */
#main > .hero, #oferta, #kontakt, #lokalizacja { --section-tint:rgba(255,255,255,.52); }
#o-nas, #specjalisci, #ochrona-danych { --section-tint:rgba(207,230,240,.55); }
#main > .hero, #o-nas, #oferta, #specjalisci, #kontakt, #ochrona-danych, #lokalizacja {
  background-color:var(--section-tint);
  box-shadow:0 0 0 100vmax var(--section-tint);
  clip-path:inset(0 -100vmax);
}
/* Draw the dot texture above each section tint. */
#main > .hero, #o-nas, #oferta, #specjalisci, #kontakt, #ochrona-danych, #lokalizacja {
  background-image:radial-gradient(rgba(59,122,144,.24) .9px,transparent .9px);
  background-size:25px 25px;
}

.notice-section { display:flow-root; background-color:rgba(255,255,255,.52); }

.notice > div:nth-child(2) { flex:1; min-width:0; }
.notice p, .notice ol, .notice ul { max-width: none; font-size:1rem; line-height:1.75; color:#71383e; }
.notice p { margin-top:16px; }
.notice h3 { font-size:1.125rem; font-weight:700; margin:24px 0 8px; color:#a1232d; }
.notice ol, .notice ul { padding-left:1.5rem; margin:12px 0; }
.notice li { padding-left:5px; margin:10px 0; }
.notice a { color:#8f2028; font-weight:600; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.notice a:hover { color:#54151b; }
@media(max-width:650px) { .notice { position:relative; display:block; } .notice-icon { position:absolute; top:20px; left:19px; } .notice .eyebrow, .notice h2 { padding-left:53px; } }
.logo .brand-logo { display:block; width:150px; height:auto; max-height:68px; object-fit:contain; }
.footer-brand .logo .brand-logo { width:180px; max-height:none; }
@media(max-width:650px) { .logo .brand-logo { width:130px; max-height:56px; } }
.doctor { background:transparent; border:0; border-radius:0; padding:18px 0; } .doctor-role { display:block; margin-top:8px; }
.offer-grid, .privacy-grid { display:grid; gap:24px; margin:36px 0 0; }
.offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.privacy-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.info-card { padding:18px 0; }
.info-card h3, .info-card dt { font-size:20px; font-weight:500; margin:0 0 16px; }
.info-card p, .info-card dd { margin:0; line-height:1.8; }
.info-card a { text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.offer-specialties { display:grid; grid-template-columns:1fr 1fr; gap:8px 24px; padding-left:20px; margin-bottom:0; }
@media(max-width:850px) { .privacy-grid { grid-template-columns:1fr; } }
@media(max-width:650px) { .offer-grid { grid-template-columns:1fr; } }
.about .inline-clinic-photo { margin-top:16px; }
.about .inline-clinic-photo img { height:310px; }
.about .about-intro { margin-top:0; font-size:1rem; font-weight:400; }
.about .about-intro strong { font-weight:600; }
.offer-grid { gap:64px; margin-top:24px; }
#ochrona-danych .section { padding-top:48px; padding-bottom:48px; }
#ochrona-danych h2 { font-size:32px; margin-top:12px; margin-bottom:16px; letter-spacing:-.8px; }
.privacy-grid { margin-top:16px; gap:32px; }
.privacy-grid .info-card { padding:0; }
.privacy-grid dt { font-size:17px; margin-bottom:8px; }
.privacy-grid dd { font-size:15px; line-height:1.65; }
@media(max-width:650px) {
  .about .inline-clinic-photo img { height:auto; aspect-ratio:1.65; }
  .offer-grid { gap:16px; }
  #ochrona-danych .section { padding-top:36px; padding-bottom:36px; }
  #ochrona-danych h2 { font-size:28px; }
  .privacy-grid { gap:24px; }
}

.notice h4 { font-size:1rem; font-weight:700; margin:20px 0 8px; color:#71383e; }

.privacy-documents { margin-top:40px; }
.privacy-documents h3 { font-size:23px; margin-bottom:8px; }
.privacy-documents p { margin-top:0; }
.document-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; list-style:none; padding:0; margin:24px 0 0; }
.document-list li { border-bottom:1px solid var(--border); min-width:0; }
.document-list a { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0; min-height:44px; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:4px; }
.document-list a:hover { color:#287187; }
.document-format { flex-shrink:0; font-size:12px; font-weight:700; color:var(--primary); background:#eef4f5; border-radius:4px; padding:3px 8px; }
.site-header .nav { flex-wrap:wrap; gap:8px 22px; }
.site-header .nav a { white-space:nowrap; }
.site-header .logo { flex-shrink:0; }
@media(min-width:651px) and (max-width:1200px) { .headerphone { display:none; } }
@media(min-width:651px) and (max-width:850px) { .header { gap:16px; } .site-header .nav { gap:0 14px; } .site-header .nav a { font-size:14px; min-height:32px; } }
@media(max-width:650px) { .document-list { grid-template-columns:1fr; } }