:root{
  --navy:#0b2b59;
  --navy-2:#123d73;
  --blue:#2f7fb7;
  --teal:#63b7c0;
  --teal-2:#86cdd3;
  --ice:#edf8f9;
  --soft:#f6f9fb;
  --sand:#f5efe7;
  --ink:#102033;
  --muted:#5f6d7a;
  --line:#dfe8ee;
  --white:#fff;
  --danger:#8b2c2c;
  --success:#1f6d4c;
  --shadow:0 18px 50px rgba(20,48,76,.11);
  --radius:24px;
  --radius-sm:16px;
  --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
svg{width:1.1em;height:1.1em;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
.narrow{width:min(calc(100% - 40px),820px);margin-inline:auto}
.max-text{max-width:760px}
.center{text-align:center}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:12px;top:-60px;z-index:99999;background:var(--navy);color:#fff;padding:10px 14px;border-radius:10px}.skip-link:focus{top:12px}

.topbar{background:var(--navy);color:#dfeeff;font-size:.82rem}
.topbar__inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar span,.topbar a{display:flex;align-items:center;gap:7px}.topbar a:hover{text-decoration:underline}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid rgba(223,232,238,.9);transition:box-shadow .2s ease}
.site-header.is-scrolled{box-shadow:0 10px 30px rgba(17,48,76,.08)}
.header__inner{min-height:82px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:12px;min-width:250px}.brand img{width:56px;height:56px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1.15}.brand strong{font-size:.93rem;color:var(--navy);letter-spacing:-.01em}.brand small{font-size:.68rem;color:var(--muted);margin-top:4px;max-width:195px}
.primary-nav{margin-left:auto;display:flex;align-items:center;gap:24px;font-weight:600;font-size:.92rem}.primary-nav>a,.nav-group>button{padding:30px 0;color:#24384c;transition:color .2s;border:0;background:none;cursor:pointer;font-weight:inherit}.primary-nav>a:hover,.nav-group>button:hover{color:var(--blue)}
.nav-group{position:relative}.nav-group>button{display:flex;align-items:center;gap:5px}.mega-menu{position:absolute;top:70px;left:50%;transform:translate(-45%,10px);display:grid;grid-template-columns:repeat(3,220px);gap:10px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:18px;border-radius:20px;opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease}.nav-group.is-open .mega-menu,.nav-group:hover .mega-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-45%,0)}.mega-menu>div{padding:10px}.mega-menu strong{display:block;color:var(--navy);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.mega-menu a{display:block;padding:8px 6px;border-radius:8px;color:#415165;font-weight:500;font-size:.88rem}.mega-menu a:hover{background:var(--ice);color:var(--navy)}
.header-actions{display:flex;align-items:center;gap:12px}.phone-link{display:flex;align-items:center;gap:6px;color:var(--navy);font-weight:800;white-space:nowrap}.phone-link svg{color:var(--teal)}
.nav-toggle{display:none;border:0;background:none;width:44px;height:44px;border-radius:10px;padding:10px}.nav-toggle span{display:block;height:2px;background:var(--navy);margin:5px 0;border-radius:2px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 20px;border-radius:14px;font-weight:800;letter-spacing:-.01em;border:1px solid transparent;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn:focus-visible{outline:3px solid rgba(72,182,192,.4);outline-offset:3px}.btn--primary{background:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(11,43,89,.18)}.btn--primary:hover{background:#103b72}.btn--secondary{background:#fff;color:var(--navy);border-color:#bcd5e2}.btn--secondary:hover{border-color:var(--teal);box-shadow:0 9px 20px rgba(17,71,105,.08)}.btn--ghost{background:transparent;color:var(--navy);border-color:#b7cbd6}.btn--light{background:#fff;color:var(--navy)}.btn--outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}.btn--small{min-height:42px;padding:9px 15px;border-radius:12px;font-size:.87rem}.btn--block{width:100%}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:.78rem;font-weight:800;letter-spacing:.105em;text-transform:uppercase;margin-bottom:14px}.eyebrow--light{color:#9fe6ea}
h1,h2,h3{line-height:1.08;margin:0 0 .55em;letter-spacing:-.04em;color:var(--navy);font-weight:800}h1{font-size:clamp(2.45rem,5.2vw,4.8rem)}h2{font-size:clamp(2rem,3.5vw,3.2rem)}h3{font-size:1.18rem}.lead{font-size:clamp(1.06rem,1.8vw,1.28rem);color:#41566a;max-width:720px}.lead-small{font-size:1.08rem;color:var(--muted)}p{margin:0 0 1.1em;color:var(--muted)}

.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f8fcfd 0%,#eef8fa 50%,#fff 100%);padding:76px 0 78px;--hero-x:72%;--hero-y:36%;--hero-media-x:0px;--hero-media-y:0px}.hero-shape{position:absolute;width:540px;height:540px;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(72,182,192,.18),rgba(72,182,192,0) 69%);right:-100px;top:-150px}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.04fr .96fr;gap:62px;align-items:center}.hero-cursor-glow{position:absolute;z-index:0;inset:-12%;pointer-events:none;background:radial-gradient(circle 270px at var(--hero-x) var(--hero-y),rgba(85,190,199,.18),rgba(85,190,199,.07) 38%,transparent 72%);opacity:.8}.hero-ambient{position:absolute;z-index:0;pointer-events:none;border-radius:999px;filter:blur(1px);opacity:.42}.hero-ambient--one{width:260px;height:260px;left:7%;top:-90px;background:radial-gradient(circle at 35% 35%,rgba(114,199,207,.2),rgba(114,199,207,.02) 68%,transparent 72%)}.hero-ambient--two{width:190px;height:190px;right:34%;bottom:-92px;background:radial-gradient(circle at 55% 45%,rgba(47,109,178,.13),rgba(47,109,178,.02) 66%,transparent 72%)}.hero-orbit{position:absolute;z-index:0;width:420px;height:420px;right:-165px;bottom:-210px;border:1px solid rgba(50,123,167,.12);border-radius:50%;pointer-events:none}.hero-orbit span{position:absolute;width:11px;height:11px;border-radius:50%;background:rgba(72,182,192,.45);box-shadow:0 0 0 8px rgba(72,182,192,.07);left:35px;top:82px}.hero-media{transform:translate3d(var(--hero-media-x),var(--hero-media-y),0);transition:transform .18s ease-out}.hero-copy h1 em{font-style:normal;color:var(--blue)}.hero-copy .lead{max-width:680px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 20px}.microcopy{display:flex;flex-wrap:wrap;gap:18px;color:#566d7e;font-size:.88rem}.microcopy span{display:flex;align-items:center;gap:7px}.microcopy svg{color:var(--teal)}
.hero-media{position:relative;min-height:520px}.hero-photo{position:absolute;inset:0 0 25px 62px;border-radius:38px 38px 100px 38px;overflow:hidden;box-shadow:var(--shadow);background:#dfeef1}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(6,38,69,.12),transparent 45%)}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center center}.hero-card{position:absolute;background:#fff;border:1px solid rgba(214,229,235,.9);box-shadow:0 16px 44px rgba(22,57,83,.14);border-radius:18px;display:flex;align-items:center;gap:12px}.hero-card--experience{left:0;bottom:0;padding:16px 18px}.hero-card--experience strong{font-size:1.7rem;color:var(--navy);line-height:1}.hero-card--experience span{font-size:.78rem;color:var(--muted);line-height:1.25}.hero-card--team{right:-15px;top:54px;max-width:245px;padding:15px}.hero-card--team svg{flex:0 0 34px;width:34px;height:34px;color:var(--teal);stroke-width:1.5}.hero-card--team span{font-size:.82rem;color:var(--muted);line-height:1.3}.hero-card--team strong{display:block;color:var(--navy);font-size:.95rem}

.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 0}.trust-grid>div{padding:5px 22px;border-right:1px solid var(--line)}.trust-grid>div:last-child{border-right:0}.trust-grid strong{display:block;color:var(--navy);font-size:1.22rem;letter-spacing:-.02em}.trust-grid span{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}.trust-note{padding:0 0 15px;color:#80909b;font-size:.68rem}
.section{padding:88px 0}.section--white{background:#fff}.section--soft{background:var(--soft)}.section--navy{background:var(--navy);color:#fff}.services-home-section{padding-bottom:52px}.team-home-section{padding-top:54px;padding-bottom:48px}.team-home-section .center{margin-top:12px}.contact-section{padding-bottom:48px}.faq-section{padding-top:48px}.section-head{margin-bottom:34px}.section-head--split{display:grid;grid-template-columns:1fr .82fr;gap:55px;align-items:end}.section-head--split p{margin:0}.section-head h2{max-width:720px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:30px}.service-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;min-height:238px;display:flex;flex-direction:column;transition:.2s ease}.service-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,48,76,.09);border-color:#bddae2}.service-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--ice);color:var(--navy);font-size:.72rem;font-weight:900;letter-spacing:-.02em;margin-bottom:25px}.service-card h3{font-size:1.25rem}.service-card p{font-size:.9rem;line-height:1.52}.text-link{margin-top:auto;display:flex;align-items:center;gap:7px;color:var(--blue);font-weight:800;font-size:.88rem}.text-link svg{transition:transform .2s}.service-card:hover .text-link svg,.text-link:hover svg{transform:translateX(3px)}
.specialist-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;margin-bottom:34px}.specialist-intro p{margin:0}.team-carousel{position:relative}.team-row{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/4);overflow-x:auto;gap:16px;padding-bottom:18px;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}.team-row::-webkit-scrollbar{display:none}.team-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always}.team-photo{aspect-ratio:1/1;background:#f8fafc;overflow:hidden}.team-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .25s;background:#f8fafc}.team-card:hover .team-photo img{transform:scale(1.02)}.team-body{padding:18px}.team-body h3,.team-body h2{font-size:1.06rem;margin-bottom:5px}.team-body .role{color:var(--blue);font-weight:700;font-size:.77rem;min-height:2.4em}.team-body>p:last-of-type{font-size:.84rem;line-height:1.5}.team-card--full .team-body h2{font-size:1.2rem}.team-carousel__arrow{position:absolute;top:130px;transform:translateY(-50%);width:48px;height:48px;border-radius:999px;border:1px solid rgba(14,47,87,.12);background:rgba(255,255,255,.96);color:var(--navy);display:grid;place-items:center;box-shadow:0 12px 30px rgba(20,48,76,.14);z-index:4;transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease}.team-carousel__arrow span{font-size:2rem;line-height:1}.team-carousel__arrow:hover{transform:translateY(-50%) scale(1.05);box-shadow:0 18px 34px rgba(20,48,76,.18)}.team-carousel__arrow:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.team-carousel__arrow--prev{left:-24px}.team-carousel__arrow--next{right:-24px}.team-carousel.is-static .team-carousel__arrow{display:none}
.founder-section{position:relative;overflow:hidden}.founder-section:before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;border:1px solid rgba(255,255,255,.09);right:-80px;top:-100px}.founder-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;align-items:center}.founder-photo-wrap{position:relative;isolation:isolate}.founder-photo-wrap>img{position:relative;z-index:2;width:100%;aspect-ratio:1/1;border-radius:50% 50% 42% 50%;object-fit:cover;background:#fff}.founder-orbit{position:absolute;inset:-26px;border-radius:50%;border:1px solid rgba(131,223,229,.24);pointer-events:none;z-index:1;transform:rotate(-14deg);animation:founderOrbitSpin 18s linear infinite}.founder-orbit:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 8px rgba(131,223,229,.12),0 10px 24px rgba(7,29,62,.28);top:10%;right:16%}.founder-orbit--alt{inset:-48px;border-color:rgba(131,223,229,.1);border-style:dashed;opacity:.7;animation-direction:reverse;animation-duration:26s}.founder-orbit--alt:after{width:10px;height:10px;background:#fff;box-shadow:0 0 0 6px rgba(255,255,255,.06),0 10px 20px rgba(7,29,62,.18);top:auto;bottom:16%;left:12%;right:auto}.founder-badge{position:absolute;z-index:3;right:-20px;bottom:35px;background:var(--teal);color:var(--navy);width:120px;height:120px;border-radius:50%;display:grid;place-content:center;text-align:center;box-shadow:0 15px 30px rgba(0,0,0,.2)}.founder-badge strong{font-size:2rem;line-height:1}.founder-badge span{font-size:.68rem;font-weight:800;max-width:75px}.founder-copy h2,.founder-copy p{color:#fff}.founder-copy .lead{color:#d6e4ef}.founder-copy>p:not(.lead){color:#c4d4e1}.timeline-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0 28px}.timeline-mini span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:13px;color:#d8e6f0;font-size:.77rem}.timeline-mini b{display:block;color:#9fe6ea;font-size:.95rem}@keyframes founderOrbitSpin{from{transform:rotate(-14deg)}to{transform:rotate(346deg)}}
.process-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}.steps li{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:18px}.steps>li>span{width:54px;height:54px;border-radius:16px;background:var(--ice);color:var(--navy);display:grid;place-items:center;font-size:1.2rem;font-weight:900}.steps h3{margin-top:3px}.steps p{margin-bottom:0;font-size:.9rem}
.price-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:70px;align-items:center}.price-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:25px}.price-card>div{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:11px 0}.price-card>div:first-child span{font-weight:800;color:var(--navy);font-size:1.05rem}.price-card strong{color:var(--navy);font-size:1.15rem;white-space:nowrap}.price-card small{color:var(--muted);display:block;margin-top:-7px}.price-card hr{border:0;border-top:1px solid var(--line);margin:18px 0 4px}
.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr 1.2fr;gap:12px;height:420px}.gallery-grid img{width:100%;height:100%;object-fit:cover;border-radius:18px}.gallery-grid img:nth-child(2),.gallery-grid img:nth-child(3){object-position:center}
.contact-section{background:linear-gradient(180deg,#fff 0%,#f6fafb 100%)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.map-placeholder,.map-large{min-height:390px;border:1px solid #cfe0e7;background:linear-gradient(135deg,#eef8fa,#e2f0f4);border-radius:28px;overflow:hidden;display:grid;place-items:center;text-align:center}.map-placeholder>div,.map-large>div{max-width:420px;padding:35px;display:grid;place-items:center;gap:10px}.map-placeholder svg,.map-large svg{width:48px;height:48px;color:var(--blue);stroke-width:1.35}.map-placeholder strong,.map-large strong{font-size:1.2rem;color:var(--navy)}.map-placeholder small,.map-large small{font-size:.72rem;color:#728390}.map-placeholder iframe,.map-large iframe{border:0;width:100%;height:100%;min-height:390px}.faq-section details,.accordion details{border-top:1px solid var(--line)}.faq-section details:last-child,.accordion details:last-child{border-bottom:1px solid var(--line)}details summary{list-style:none;cursor:pointer;padding:20px 42px 20px 0;font-weight:800;color:var(--navy);position:relative}details summary::-webkit-details-marker{display:none}details summary:after{content:"+";position:absolute;right:5px;top:14px;font-size:1.6rem;font-weight:400;color:var(--teal)}details[open] summary:after{content:"–"}details p{padding:0 35px 18px 0;font-size:.92rem}
.final-cta{padding-top:20px}.final-cta__box{background:linear-gradient(135deg,var(--navy),#164d81);border-radius:28px;color:#fff;padding:40px 46px;display:flex;justify-content:space-between;align-items:center;gap:35px;box-shadow:0 20px 55px rgba(11,43,89,.2)}.final-cta__box h2,.final-cta__box p{color:#fff}.final-cta__box p{margin-bottom:0}.final-cta__box>div:last-child{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

.page-hero{background:linear-gradient(135deg,#f7fcfd,#edf8fa);padding:66px 0}.page-hero--simple{padding:62px 0}.page-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}.page-hero h1{font-size:clamp(2.4rem,4.6vw,4.3rem)}.page-hero__visual{height:390px;border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.page-hero__visual img{width:100%;height:100%;object-fit:cover}.content-grid{display:grid;grid-template-columns:1fr 340px;gap:55px;align-items:start}.content-card,.side-cta,.booking-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px}.content-card{box-shadow:0 12px 30px rgba(22,52,78,.05)}.check-list{list-style:none;padding:0;margin:18px 0 26px;display:grid;gap:13px}.check-list li{display:flex;align-items:flex-start;gap:10px;color:#384c60}.check-list svg{color:var(--teal);flex:0 0 20px;width:20px;height:20px;margin-top:2px}.price-note{background:var(--ice);color:var(--navy);font-weight:900;padding:16px 18px;border-radius:14px;margin:20px 0}.notice{background:#f7f9fb;border-left:3px solid #b5c9d5;padding:13px 15px;border-radius:0 10px 10px 0;font-size:.8rem;color:#687987}.side-cta{position:sticky;top:112px;background:linear-gradient(180deg,#fff,#f7fbfc);box-shadow:0 12px 34px rgba(20,48,76,.07)}.side-cta h2{font-size:1.55rem}.side-cta .btn{margin:6px 0}.side-cta small{display:block;text-align:center;color:var(--muted);margin-top:10px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.related-grid a{display:flex;align-items:center;justify-content:space-between;padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px;color:var(--navy);font-weight:800}.related-grid a:hover{border-color:var(--teal)}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.team-card--full{height:100%}.team-card--full .team-photo{aspect-ratio:1/1;background:#fff}.team-leader-section{background:#fff}.team-leader-card{display:grid;grid-template-columns:minmax(340px,.82fr) 1.18fr;min-height:520px;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:linear-gradient(135deg,#f7fbfc 0%,#fff 72%);box-shadow:0 22px 60px rgba(20,48,76,.08)}.team-leader-photo{background:#f4f8fa;min-height:520px;overflow:hidden}.team-leader-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.team-leader-content{padding:54px 58px;display:flex;flex-direction:column;justify-content:center}.team-leader-label{display:inline-flex;align-self:flex-start;padding:8px 12px;border-radius:999px;background:var(--ice);color:var(--blue);font-size:.75rem;font-weight:800;letter-spacing:.02em;margin-bottom:18px}.team-leader-content h2{font-size:clamp(2rem,3.2vw,3.2rem);margin-bottom:8px;max-width:680px}.team-leader-role{color:var(--blue);font-weight:800;margin:0 0 18px}.team-leader-lead{font-size:1.02rem;line-height:1.72;max-width:720px;margin-bottom:26px}.team-leader-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:2px 0 28px}.team-leader-facts>div{padding:18px 18px 18px 0}.team-leader-facts>div+div{border-left:1px solid var(--line);padding-left:18px}.team-leader-facts strong{display:block;color:var(--navy);font-size:1.05rem}.team-leader-facts span{display:block;color:var(--muted);font-size:.73rem;margin-top:3px}.team-leader-actions{display:flex;flex-wrap:wrap;gap:12px}.team-specialists-section{padding-top:76px}.team-group-head{display:block;margin-bottom:28px}.team-group-head p{margin:10px 0 0;max-width:760px}.team-group-head--spaced{margin-top:72px}.team-grid--psychiatrists{grid-template-columns:repeat(2,minmax(0,1fr));max-width:860px}.team-grid--psychiatrists .team-card{display:grid;grid-template-columns:42% 58%;min-height:320px}.team-grid--psychiatrists .team-photo{aspect-ratio:auto;height:100%;min-height:320px}.team-grid--psychiatrists .team-body{display:flex;flex-direction:column;justify-content:center;padding:28px}.team-grid--psychiatrists .team-body h3{font-size:1.28rem}.team-grid--psychology{grid-template-columns:repeat(3,minmax(0,1fr))}.team-grid--psychology .team-photo img{object-fit:cover}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}.admin-grid>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;grid-template-columns:34px 1fr;column-gap:8px}.admin-grid svg{grid-row:span 2;width:26px;height:26px;color:var(--teal)}.admin-grid strong{color:var(--navy)}.admin-grid span{font-size:.76rem;color:var(--muted)}
.profile-hero{padding:68px 0;background:linear-gradient(135deg,#eef8fa,#fff)}.profile-grid{display:grid;grid-template-columns:420px 1fr;gap:70px;align-items:center}.profile-photo img{width:100%;aspect-ratio:1/1;border-radius:50% 50% 44% 50%;object-fit:cover;background:#fff;box-shadow:var(--shadow)}.profile-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0}.profile-facts div{padding:14px;border:1px solid #cfe1e8;background:#fff;border-radius:14px}.profile-facts strong{display:block;color:var(--navy);font-size:1.3rem}.profile-facts span{font-size:.72rem;color:var(--muted)}.richtext{max-width:760px}.richtext h2{font-size:2rem;margin-top:1.25em}.richtext h3{font-size:1.35rem;margin-top:1.2em}.richtext ul{padding-left:20px;color:var(--muted)}.timeline{position:relative;display:grid;gap:16px;margin-top:28px;padding:4px 0 4px 0}.timeline:before{content:"";position:absolute;left:25px;top:12px;bottom:12px;width:2px;background:linear-gradient(180deg,var(--teal),rgba(99,183,192,.22));border-radius:99px}.timeline>div{position:relative;display:block;margin-left:58px;padding:19px 22px 20px;background:linear-gradient(135deg,#fff 0%,#f8fcfd 100%);border:1px solid rgba(99,183,192,.24);border-radius:18px;box-shadow:0 8px 24px rgba(20,48,76,.045);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.timeline>div:before{content:"";position:absolute;left:-43px;top:24px;width:18px;height:18px;border-radius:50%;background:#fff;border:5px solid var(--teal);box-shadow:0 0 0 5px rgba(99,183,192,.12);z-index:2}.timeline>div:hover{transform:translateX(4px);border-color:rgba(99,183,192,.55);box-shadow:0 12px 30px rgba(20,48,76,.08)}.timeline b{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;margin-bottom:8px;border-radius:999px;background:rgba(99,183,192,.12);color:#2c8792;font-size:.87rem;font-weight:850;letter-spacing:.01em}.timeline span{display:block;color:var(--muted);font-size:.98rem;line-height:1.55}.mini-list{padding-left:18px;color:var(--muted)}
.all-services{display:grid;grid-template-columns:1fr 1fr;gap:32px}.all-services>div{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px}.all-services h2{font-size:1.5rem}.all-services a{display:flex;padding:11px 0;border-top:1px solid var(--line);font-weight:700;color:#31485e}.all-services a:hover{color:var(--blue)}
.pricing-table{max-width:900px}.price-section{border:1px solid var(--line);border-radius:22px;overflow:hidden;margin-bottom:20px}.price-section h2{font-size:1.25rem;margin:0;padding:18px 22px;background:#f7fafb;border-bottom:1px solid var(--line)}.price-subhead{padding:12px 22px;background:#edf6f8;color:var(--navy);font-weight:850;font-size:.88rem;letter-spacing:.01em;border-bottom:1px solid var(--line)}.price-row{display:flex;justify-content:space-between;gap:25px;padding:17px 22px;border-bottom:1px solid var(--line)}.price-row:last-child{border-bottom:0}.price-row strong{color:var(--ink)}.price-row span{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}.price-row b{color:var(--navy);font-size:1.07rem;white-space:nowrap}.price-section--todo{opacity:.72}
.contact-page-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:start}.contact-info{padding:8px 0}.contact-info h2{font-size:1.4rem}.contact-info hr{border:0;border-top:1px solid var(--line);margin:28px 0}.contact-big{font-size:2rem;color:var(--navy);font-weight:900;display:flex;align-items:center;gap:10px}.contact-big svg{color:var(--teal)}.booking-card{box-shadow:var(--shadow)}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.booking-form label{display:grid;gap:6px;color:#31475a;font-size:.82rem;font-weight:700}.booking-form label:nth-of-type(1),.booking-form .consent,.booking-form .btn{grid-column:1/-1}.booking-form input,.booking-form select{width:100%;border:1px solid #c8d8e1;border-radius:12px;min-height:46px;padding:9px 11px;background:#fff;color:var(--ink)}.booking-form input:focus,.booking-form select:focus{outline:3px solid rgba(72,182,192,.25);border-color:var(--teal)}.booking-form .consent{display:flex;align-items:flex-start;gap:8px;font-weight:500}.booking-form .consent input{width:18px;height:18px;min-height:0;margin-top:2px}.honeypot{position:absolute!important;left:-9999px}.form-success,.form-error{padding:12px 14px;border-radius:10px;margin-top:16px;font-weight:700;font-size:.88rem}.form-success{background:#eaf7f1;color:var(--success)}.form-error{background:#fff0f0;color:var(--danger)}.map-large{min-height:440px}.map-large iframe{min-height:440px}

.site-footer{background:#071d3e;color:#d3e0eb;padding:66px 0 25px;margin-top:55px}.footer-grid{display:grid;grid-template-columns:1.5fr .75fr .75fr 1fr;gap:46px}.brand--footer{min-width:0}.brand--footer strong{color:#fff}.brand--footer small{color:#a9bdcb}.footer-brand p{font-size:.84rem;max-width:320px;margin-top:16px;color:#a9bdcb}.site-footer h3{color:#fff;font-size:.95rem;letter-spacing:0;margin-bottom:15px}.site-footer .footer-grid>div:not(.footer-brand) a{display:block;color:#c2d3df;font-size:.83rem;padding:4px 0}.site-footer a:hover{color:#fff}.footer-contact{display:flex;flex-direction:column;align-items:flex-start}.site-footer .footer-grid>div:not(.footer-brand) a.footer-contact__row,.footer-contact__row{display:flex;align-items:center;gap:10px;width:100%;padding:5px 0;color:#c2d3df;font-size:.83rem;line-height:1.35}.footer-contact__row--phone{margin-bottom:5px}.footer-phone{font-size:1.2rem!important;font-weight:900;color:#fff!important}.footer-contact__icon{width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;color:#73cbd3}.footer-contact__icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.footer-contact__icon--at{font-size:1.15rem;font-weight:800;line-height:1;color:#73cbd3}.footer-contact__meta{color:#a9bdcb}.site-footer a.footer-contact__meta:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:38px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#8299aa;font-size:.72rem}.mobile-bar{display:none}

@media (max-width:1120px){
  .header-actions .phone-link span{display:none}.primary-nav{gap:18px}.brand{min-width:215px}.brand small{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .topbar__inner>a{display:none}.header__inner{min-height:70px}.brand img{width:48px;height:48px}.brand strong{font-size:.84rem}.nav-toggle{display:block;margin-left:auto}.header-actions{display:none}.primary-nav{position:fixed;left:0;right:0;top:104px;background:#fff;border-top:1px solid var(--line);box-shadow:0 15px 30px rgba(20,48,76,.1);padding:14px 20px 25px;display:none;align-items:stretch;flex-direction:column;gap:0;max-height:calc(100vh - 104px);overflow:auto}.primary-nav.is-open{display:flex}.primary-nav>a,.nav-group>button{padding:13px 0;width:100%;text-align:left}.nav-group>button{justify-content:space-between}.mega-menu{position:static;transform:none!important;opacity:1;visibility:visible;pointer-events:auto;display:none;grid-template-columns:1fr;background:#f8fbfc;box-shadow:none;border:0;border-radius:14px;padding:10px;margin-bottom:8px}.nav-group.is-open .mega-menu{display:grid}.nav-group:hover .mega-menu{display:none}.nav-group.is-open:hover .mega-menu{display:grid}
  .hero{padding:50px 0 60px}.hero-grid,.page-hero__grid,.founder-grid,.process-grid,.price-layout,.contact-grid,.profile-grid,.content-grid,.contact-page-grid{grid-template-columns:1fr;gap:40px}.hero-media{min-height:460px;max-width:660px;width:100%}.hero-photo{left:35px}.hero-card--team{right:0}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-grid>div:nth-child(2){border-right:0}.trust-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.section{padding:68px 0}.services-home-section{padding-bottom:44px}.team-home-section{padding-top:46px;padding-bottom:42px}.contact-section{padding-bottom:42px}.faq-section{padding-top:42px}.section-head--split,.specialist-intro{grid-template-columns:1fr;gap:12px}.service-grid{grid-template-columns:repeat(2,1fr)}.team-row{grid-auto-columns:calc((100% - 16px)/2)}.team-carousel__arrow{top:120px}.founder-photo-wrap{max-width:450px}.timeline-mini{grid-template-columns:1fr}.gallery-grid{height:auto;grid-template-columns:1fr 1fr}.gallery-grid img{height:280px}.page-hero__visual{height:330px}.content-grid{grid-template-columns:1fr}.side-cta{position:static}.team-grid{grid-template-columns:repeat(2,1fr)}.team-leader-card{grid-template-columns:1fr;min-height:0}.team-leader-photo{min-height:0;aspect-ratio:16/10}.team-leader-content{padding:38px}.team-group-head{grid-template-columns:1fr;gap:10px}.team-grid--psychiatrists{grid-template-columns:1fr;max-width:none}.team-grid--psychology{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:repeat(2,1fr)}.profile-photo{max-width:420px}.all-services{grid-template-columns:1fr}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-contact{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.footer-contact h3{grid-column:1/-1}.mobile-bar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;z-index:1200;left:10px;right:10px;bottom:10px;background:rgba(7,29,62,.96);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:7px;box-shadow:0 15px 40px rgba(0,0,0,.25)}.mobile-bar a{display:flex;flex-direction:column;align-items:center;gap:3px;color:#fff;font-size:.68rem;font-weight:700;padding:6px}.mobile-bar svg{width:19px;height:19px;color:#8edee3}.site-footer{padding-bottom:95px}
}
@media (max-width:620px){body{overflow-x:hidden}.team-carousel{overflow:visible}
  .container{width:min(calc(100% - 28px),var(--container))}.narrow{width:min(calc(100% - 28px),820px)}.topbar__inner{justify-content:center}.topbar span{font-size:.75rem}.brand{min-width:0}.brand span{display:none}.hero{padding-top:38px}.hero-grid{gap:25px}.hero-copy h1{font-size:2.65rem}.hero-actions{display:grid}.hero-actions .btn{width:100%}.microcopy{display:grid;gap:7px}.hero-media{min-height:360px;transform:none}.hero-cursor-glow,.hero-orbit{display:none}.hero-photo{left:18px;right:0;border-radius:26px 26px 70px 26px}.hero-card--experience{padding:12px 14px}.hero-card--experience strong{font-size:1.35rem}.hero-card--team{top:24px;right:-3px;max-width:195px}.hero-card--team svg{display:none}.trust-grid{grid-template-columns:1fr}.trust-grid>div{border-right:0!important;border-bottom:1px solid var(--line)!important;padding:14px 8px}.trust-grid>div:last-child{border-bottom:0!important}.section{padding:55px 0}.services-home-section{padding-bottom:36px}.team-home-section{padding-top:38px;padding-bottom:34px}.contact-section{padding-bottom:36px}.faq-section{padding-top:36px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.team-carousel__arrow{display:none}.team-row{grid-auto-columns:82%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scroll-behavior:smooth}.founder-grid{gap:35px}.founder-orbit{inset:-16px}.founder-orbit--alt{inset:-30px}.founder-orbit:after{width:12px;height:12px}.founder-orbit--alt:after{width:8px;height:8px}.founder-badge{width:98px;height:98px;right:-4px;bottom:12px}.founder-badge strong{font-size:1.55rem}.process-grid{gap:25px}.steps li{grid-template-columns:44px 1fr;padding:17px}.steps>li>span{width:44px;height:44px}.price-layout{gap:26px}.gallery-grid{grid-template-columns:1fr 1fr;gap:8px}.gallery-grid img{height:200px;border-radius:13px}.final-cta__box{padding:28px 22px;display:block}.final-cta__box>div:last-child{justify-content:flex-start;margin-top:20px}.page-hero{padding:45px 0}.page-hero__visual{height:260px}.team-grid{grid-template-columns:1fr}.team-leader-card{border-radius:22px}.team-leader-photo{aspect-ratio:1/1}.team-leader-content{padding:28px 22px}.team-leader-content h2{font-size:2rem}.team-leader-facts{grid-template-columns:1fr}.team-leader-facts>div{padding:13px 0}.team-leader-facts>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.team-leader-actions{display:grid}.team-leader-actions .btn{width:100%}.team-grid--psychiatrists .team-card{display:block;min-height:0}.team-grid--psychiatrists .team-photo{aspect-ratio:1/1;min-height:0}.team-grid--psychology{grid-template-columns:1fr}.team-group-head--spaced{margin-top:50px}.admin-grid{grid-template-columns:1fr}.profile-grid{gap:30px}.profile-facts{grid-template-columns:1fr 1fr}.profile-facts div:last-child{grid-column:1/-1}.timeline>div{grid-template-columns:1fr;gap:2px}.related-grid{grid-template-columns:1fr}.contact-big{font-size:1.55rem}.booking-form{grid-template-columns:1fr}.booking-form label{grid-column:1/-1!important}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-brand{grid-column:1/-1}.footer-contact{grid-template-columns:1fr;grid-column:1/-1}.footer-bottom{flex-direction:column}.site-footer{margin-top:30px}
}

@media (prefers-reduced-motion:no-preference){
  .hero-ambient--one{animation:hero-ambient-one 10s ease-in-out infinite alternate}
  .hero-ambient--two{animation:hero-ambient-two 13s ease-in-out infinite alternate}
  .hero-orbit{animation:hero-orbit-drift 18s linear infinite}
  .hero-orbit span{animation:hero-orbit-dot 18s linear infinite reverse}
}
@keyframes hero-ambient-one{0%{transform:translate3d(-10px,-6px,0) scale(.96)}100%{transform:translate3d(34px,24px,0) scale(1.08)}}
@keyframes hero-ambient-two{0%{transform:translate3d(0,0,0) scale(.94)}100%{transform:translate3d(-34px,-26px,0) scale(1.08)}}
@keyframes hero-orbit-drift{to{transform:rotate(360deg)}}
@keyframes hero-orbit-dot{to{transform:rotate(-360deg)}}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Interakcje i animacje — subtelne, bez efektu „reklamowego”. */
@media (prefers-reduced-motion:no-preference){
  .hero-copy .eyebrow{animation:hero-in .55s .05s both cubic-bezier(.2,.8,.2,1)}
  .hero-copy h1{animation:hero-in .65s .14s both cubic-bezier(.2,.8,.2,1)}
  .hero-copy .lead{animation:hero-in .65s .23s both cubic-bezier(.2,.8,.2,1)}
  .hero-actions{animation:hero-in .6s .32s both cubic-bezier(.2,.8,.2,1)}
  .microcopy{animation:hero-in .6s .4s both cubic-bezier(.2,.8,.2,1)}
  .hero-photo{animation:hero-photo-in .8s .12s both cubic-bezier(.18,.82,.25,1)}
  .hero-card--experience{animation:hero-card-left .7s .55s both cubic-bezier(.18,.82,.25,1)}
  .hero-card--team{animation:hero-card-right .7s .68s both cubic-bezier(.18,.82,.25,1)}
  .hero-shape{animation:hero-orbit 11s ease-in-out infinite alternate}
  .reveal-item{opacity:0;transform:translateY(28px);transition:opacity .62s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms),transform .62s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms)}
  .reveal-item.is-revealed{opacity:1;transform:none}
  .founder-photo-wrap.reveal-item{transform:translateX(-34px)}
  .founder-copy.reveal-item{transform:translateX(34px)}
  .founder-photo-wrap.reveal-item.is-revealed,.founder-copy.reveal-item.is-revealed{transform:none}
  .quick-contact{transition:opacity .35s ease,transform .45s cubic-bezier(.2,.85,.25,1),visibility .35s}
  .quick-contact__status i{animation:status-pulse 2s ease-in-out infinite}
  @keyframes hero-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
  @keyframes hero-photo-in{from{opacity:0;transform:translateX(35px) scale(.985)}to{opacity:1;transform:none}}
  @keyframes hero-card-left{from{opacity:0;transform:translate(-26px,14px)}to{opacity:1;transform:none}}
  @keyframes hero-card-right{from{opacity:0;transform:translate(28px,-8px)}to{opacity:1;transform:none}}
  @keyframes hero-orbit{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-35px,25px,0) scale(1.08)}}
  @keyframes status-pulse{0%,100%{box-shadow:0 0 0 0 rgba(72,182,192,.35)}50%{box-shadow:0 0 0 7px rgba(72,182,192,0)}}
}

.service-card,.team-card,.steps li,.related-grid a{will-change:transform}
.service-card,.team-card,.steps li,.price-card,.related-grid a{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.team-card:hover,.steps li:hover,.related-grid a:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(20,48,76,.09);border-color:#bddae2}
.steps li:hover>span{background:#dff5f6;color:var(--navy)}

.gallery-grid img{cursor:zoom-in;transition:transform .28s ease,filter .28s ease,box-shadow .28s ease;outline-offset:4px}
.gallery-grid img:hover,.gallery-grid img:focus-visible{transform:translateY(-4px) scale(1.012);filter:saturate(1.04);box-shadow:0 16px 34px rgba(20,48,76,.14)}
.image-lightbox{width:min(92vw,1050px);max-width:none;border:0;padding:0;background:transparent;color:#fff;overflow:visible}
.image-lightbox::backdrop{background:rgba(5,18,34,.88);backdrop-filter:blur(7px)}
.image-lightbox figure{margin:0;display:grid;gap:10px;place-items:center}
.image-lightbox figure img{max-height:78vh;max-width:100%;width:auto;border-radius:18px;box-shadow:0 25px 80px rgba(0,0,0,.4)}
.image-lightbox figcaption{font-size:.86rem;color:#e9f2f7;text-align:center}
.image-lightbox__close,.image-lightbox__nav{position:absolute;border:1px solid rgba(255,255,255,.35);background:rgba(10,35,61,.78);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:2}
.image-lightbox__close{right:0;top:-48px;width:40px;height:40px;border-radius:50%;font-size:1.55rem}
.image-lightbox__nav{top:50%;width:46px;height:58px;border-radius:14px;transform:translateY(-50%);font-size:2rem}
.image-lightbox__nav--prev{left:-62px}.image-lightbox__nav--next{right:-62px}
.image-lightbox__close:hover,.image-lightbox__nav:hover{background:rgba(23,78,123,.96)}

.faq-section details,.accordion details{transition:background .2s ease}
.faq-section details[open],.accordion details[open]{background:linear-gradient(90deg,rgba(237,248,250,.65),rgba(255,255,255,0))}
details summary:after{transition:transform .22s ease,color .22s ease}
details[open] summary:after{transform:rotate(180deg);color:var(--blue)}

.quick-contact{position:fixed;right:24px;bottom:24px;z-index:950;width:min(340px,calc(100vw - 48px));padding:20px 20px 18px;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border:1px solid #cfe0e7;border-radius:22px;box-shadow:0 24px 70px rgba(14,43,70,.22);opacity:0;visibility:hidden;transform:translateX(calc(100% + 42px));pointer-events:none}
.quick-contact.is-visible{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.quick-contact__close{position:absolute;right:10px;top:8px;border:0;background:transparent;color:#6d7c89;width:34px;height:34px;border-radius:50%;font-size:1.45rem;cursor:pointer}
.quick-contact__close:hover{background:var(--soft);color:var(--navy)}
.quick-contact__status{display:flex;align-items:center;gap:8px;color:var(--blue);font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.quick-contact__status i{width:9px;height:9px;border-radius:50%;background:var(--teal);flex:0 0 auto}
.quick-contact>strong{display:block;color:var(--navy);font-size:1.12rem;margin-right:26px;margin-bottom:4px}
.quick-contact__text{display:block;color:var(--muted);font-size:.82rem;line-height:1.45}
.quick-contact__actions{display:flex;gap:8px;margin-top:14px}.quick-contact__actions .btn{flex:1}

@media (max-width:959px){.quick-contact{display:none}.image-lightbox__nav--prev{left:8px}.image-lightbox__nav--next{right:8px}.image-lightbox__nav{background:rgba(10,35,61,.88)}}
@media (max-width:620px){.image-lightbox{width:94vw}.image-lightbox figure img{max-height:72vh;border-radius:14px}.image-lightbox__close{right:2px;top:-46px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-shape,.quick-contact__status i{animation:none!important}.reveal-item{opacity:1!important;transform:none!important;transition:none!important}.gallery-grid img,.service-card,.team-card,.steps li{transition:none!important}}


/* O nas — rozbudowana strona lokalna / SEO */
.about-hero .page-hero__visual{min-height:430px}.about-facts{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-facts__grid{display:grid;grid-template-columns:repeat(4,1fr);padding:22px 0}.about-facts__grid>div{padding:5px 24px;border-right:1px solid var(--line)}.about-facts__grid>div:first-child{padding-left:0}.about-facts__grid>div:last-child{border-right:0}.about-facts__grid strong{display:block;color:var(--navy);font-size:1.16rem}.about-facts__grid span{display:block;color:var(--muted);font-size:.8rem;line-height:1.45;margin-top:4px}.about-intro-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:54px;align-items:start}.about-copy{max-width:none}.about-highlight{background:var(--soft);border:1px solid var(--line);border-radius:24px;padding:28px;position:sticky;top:115px}.about-highlight h2{font-size:1.55rem}.about-highlight .check-list{margin:20px 0 24px}.about-highlight .check-list li{padding:9px 0}.about-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.about-pillars article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;min-height:250px}.about-pillars h3{font-size:1.08rem;margin-top:20px}.about-pillars p{font-size:.87rem;line-height:1.55}.about-pillar-icon{width:48px;height:48px;border-radius:15px;background:var(--ice);color:var(--navy);display:grid;place-items:center}.about-pillar-icon svg{width:25px;height:25px}.founder-about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:58px;align-items:center}.founder-about-photo{border-radius:28px;overflow:hidden;background:#f7f9fa;border:1px solid var(--line);aspect-ratio:4/4.35}.founder-about-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.founder-about-copy h2{max-width:720px}.about-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0 26px}.about-timeline div{padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}.about-timeline strong{display:block;color:var(--blue);font-size:1rem}.about-timeline span{display:block;color:var(--muted);font-size:.74rem;line-height:1.4;margin-top:4px}.about-service-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.about-service-links a{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 55px 22px 22px;min-height:130px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.about-service-links a:hover{transform:translateY(-3px);border-color:#bddae2;box-shadow:0 14px 34px rgba(20,48,76,.08)}.about-service-links span{display:block;color:var(--navy);font-weight:800;font-size:1rem}.about-service-links small{display:block;color:var(--muted);font-size:.8rem;line-height:1.45;margin-top:7px}.about-service-links svg{position:absolute;right:20px;top:24px;color:var(--blue)}.about-private-grid{display:grid;grid-template-columns:1fr .9fr;gap:52px;align-items:center}.about-private-image{border-radius:24px;overflow:hidden;height:360px}.about-private-image img{width:100%;height:100%;object-fit:cover}.about-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.about-gallery-section{padding-top:72px}
@media (max-width:900px){.about-facts__grid{grid-template-columns:repeat(2,1fr)}.about-facts__grid>div{border-bottom:1px solid var(--line)}.about-facts__grid>div:nth-child(2){border-right:0}.about-facts__grid>div:nth-last-child(-n+2){border-bottom:0}.about-intro-grid,.founder-about-grid,.about-private-grid{grid-template-columns:1fr}.about-highlight{position:static}.about-pillars{grid-template-columns:repeat(2,1fr)}.about-service-links{grid-template-columns:repeat(2,1fr)}.founder-about-photo{max-width:480px}.about-private-image{height:320px}}
@media (max-width:620px){.about-hero .page-hero__visual{min-height:280px}.about-facts__grid{grid-template-columns:1fr}.about-facts__grid>div{padding:14px 0;border-right:0!important;border-bottom:1px solid var(--line)!important}.about-facts__grid>div:last-child{border-bottom:0!important}.about-pillars,.about-service-links{grid-template-columns:1fr}.about-pillars article{min-height:0}.about-timeline{grid-template-columns:1fr}.about-private-image{height:240px}.about-actions{display:grid}.about-actions .btn{width:100%}}

.price-row--contact{align-items:center}.price-row--contact .btn{flex:0 0 auto}.pricing-contact{margin-top:24px;padding:26px;border-radius:22px;background:var(--ice);border:1px solid var(--line)}.pricing-contact h2{font-size:1.35rem;margin-bottom:8px}.pricing-contact p{max-width:680px;margin-bottom:18px}@media(max-width:620px){.price-row--contact{display:grid}.price-row--contact .btn{width:100%;margin-top:6px}}


/* v1.18 — mocniejsze użycie koloru marki #63B7C0 */
.topbar{border-bottom:2px solid rgba(99,183,192,.72)}
.eyebrow{color:var(--teal)}
.hero-copy h1 em{color:var(--teal)}
.hero-shape{background:radial-gradient(circle at 50% 50%,rgba(99,183,192,.24),rgba(99,183,192,0) 69%)}
.hero-cursor-glow{background:radial-gradient(circle 270px at var(--hero-x) var(--hero-y),rgba(99,183,192,.22),rgba(99,183,192,.08) 38%,transparent 72%)}
.hero-orbit{border-color:rgba(99,183,192,.24)}
.hero-orbit span{background:rgba(99,183,192,.72);box-shadow:0 0 0 8px rgba(99,183,192,.10)}
.section--soft{background:linear-gradient(180deg,#f3fafb 0%,#f8fbfc 100%)}
.trust-grid>div{position:relative}
.trust-grid>div:before{content:"";position:absolute;left:22px;top:-8px;width:34px;height:3px;border-radius:99px;background:var(--teal);opacity:.8}
.service-icon{background:var(--teal);color:var(--navy);box-shadow:0 8px 20px rgba(99,183,192,.18)}
.service-card:hover{border-color:var(--teal)}
.text-link{color:#287b87}
.team-body .role{color:#287b87}
.team-carousel__arrow{border-color:rgba(99,183,192,.42);color:var(--navy)}
.team-carousel__arrow:hover{background:#f1fbfc;border-color:var(--teal)}
.steps>li>span{background:var(--teal);color:var(--navy);box-shadow:0 7px 18px rgba(99,183,192,.16)}
.steps li:hover{border-color:var(--teal)}
.steps li:hover>span{background:#78c4cc;color:var(--navy)}
.price-card{border-top:4px solid var(--teal)}
.contact-section{background:linear-gradient(180deg,#fff 0%,#eef8f9 100%)}
.map-placeholder,.map-large{border-color:rgba(99,183,192,.45);background:linear-gradient(135deg,#effafb,#e4f4f5)}
.map-placeholder svg,.map-large svg{color:var(--teal)}
.page-hero{background:linear-gradient(135deg,#f8fcfd 0%,#eaf7f8 100%)}
.price-note{background:#e8f6f7;border-left:4px solid var(--teal)}
.side-cta{border-top:4px solid var(--teal)}
.related-grid a:hover{border-color:var(--teal);background:#f5fbfb}
.about-pillar-icon{background:var(--teal);color:var(--navy)}
.about-service-links a:hover{border-color:var(--teal)}
.about-timeline strong{color:#287b87}
.team-leader-card{border-top:4px solid var(--teal)}
.team-leader-facts strong{color:#287b87}
.footer-contact__icon,.footer-contact__icon--at{color:#78cbd2}
.btn--secondary{border-color:rgba(99,183,192,.58)}
.btn--secondary:hover{background:#f0fafb;border-color:var(--teal)}
.btn--ghost:hover{background:#f0fafb;border-color:var(--teal)}
.booking-form input:focus,.booking-form select:focus{outline-color:rgba(99,183,192,.28);border-color:var(--teal)}
@media (max-width:620px){.trust-grid>div:before{left:8px;top:7px;width:24px}}



/* v1.22 — mobile CTA alignment */
@media (max-width:620px){
  .hero-actions,
  .contact-actions,
  .team-leader-actions,
  .final-cta__box>div:last-child,
  .center,
  .service-actions,
  .page-actions{
    justify-content:center!important;
    text-align:center;
  }

  .hero-actions,
  .contact-actions{
    align-items:center;
  }

  .hero-actions .btn,
  .contact-actions .btn,
  .founder-copy .btn,
  .price-layout .btn,
  .team-leader-actions .btn,
  .final-cta__box .btn,
  .section .center .btn,
  .page-content .btn,
  .content-card .btn{
    width:max-content;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
    justify-content:center;
  }

  .price-layout>div:first-child,
  .founder-copy{
    text-align:center;
  }

  .price-layout>div:first-child p,
  .founder-copy p,
  .founder-copy .lead{
    margin-left:auto;
    margin-right:auto;
  }
}


/* v1.23 — profil lek. med. Anny Mierzwińskiej-Obary: pionowa oś czasu */
@media (max-width:620px){
  .richtext h3{margin-top:1.45em}
  .timeline{gap:13px;margin-top:22px}
  .timeline:before{left:14px;top:10px;bottom:10px}
  .timeline>div{
    margin-left:38px;
    padding:16px 16px 17px;
    border-radius:16px;
  }
  .timeline>div:before{
    left:-32px;
    top:21px;
    width:14px;
    height:14px;
    border-width:4px;
    box-shadow:0 0 0 4px rgba(99,183,192,.12);
  }
  .timeline>div:hover{transform:none}
  .timeline b{font-size:.8rem;min-height:28px;padding:4px 9px;margin-bottom:7px}
  .timeline span{font-size:.92rem;line-height:1.5}
}


/* v1.24 — niezależna oś czasu profilu lek. med. Anny Mierzwińskiej-Obary */
.obara-timeline{
  --timeline-line-x:118px;
  position:relative;
  list-style:none;
  padding:0;
  margin:30px 0 0;
  display:grid;
  gap:18px;
}
.obara-timeline::before{
  content:"";
  position:absolute;
  top:18px;
  bottom:18px;
  left:var(--timeline-line-x);
  width:2px;
  background:linear-gradient(180deg,#63B7C0 0%,rgba(99,183,192,.22) 100%);
  border-radius:999px;
}
.obara-timeline__item{
  position:relative;
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:52px;
  align-items:start;
  margin:0;
  padding:0;
}
.obara-timeline__item::before{
  content:"";
  position:absolute;
  left:calc(var(--timeline-line-x) - 8px);
  top:22px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  border:5px solid #63B7C0;
  box-shadow:0 0 0 5px rgba(99,183,192,.12);
  z-index:2;
}
.obara-timeline__year{
  padding-top:17px;
  color:#2E8D98;
  font-size:.9rem;
  font-weight:850;
  line-height:1.25;
  text-align:right;
  white-space:nowrap;
}
.obara-timeline__content{
  min-width:0;
  padding:18px 20px;
  background:#fff;
  border:1px solid rgba(99,183,192,.28);
  border-radius:18px;
  box-shadow:0 8px 24px rgba(20,48,76,.05);
}
.obara-timeline__content strong{
  display:block;
  color:var(--navy);
  font-size:1rem;
  line-height:1.35;
  margin-bottom:5px;
}
.obara-timeline__content p{
  margin:0;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.55;
}
@media (hover:hover){
  .obara-timeline__content{
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
  }
  .obara-timeline__item:hover .obara-timeline__content{
    transform:translateX(4px);
    border-color:rgba(99,183,192,.58);
    box-shadow:0 12px 30px rgba(20,48,76,.08);
  }
}
@media (max-width:620px){
  .obara-timeline{
    --timeline-line-x:12px;
    gap:14px;
    margin-top:22px;
    padding-left:0;
  }
  .obara-timeline::before{
    top:12px;
    bottom:12px;
  }
  .obara-timeline__item{
    display:block;
    padding-left:38px;
  }
  .obara-timeline__item::before{
    left:5px;
    top:18px;
    width:16px;
    height:16px;
    border-width:4px;
    box-shadow:0 0 0 4px rgba(99,183,192,.12);
  }
  .obara-timeline__year{
    display:inline-block;
    padding:0;
    margin:0 0 7px;
    text-align:left;
    font-size:.8rem;
    color:#2E8D98;
    background:rgba(99,183,192,.12);
    border-radius:999px;
    padding:5px 9px;
  }
  .obara-timeline__content{
    padding:15px 16px 16px;
    border-radius:15px;
  }
  .obara-timeline__content strong{
    font-size:.96rem;
  }
  .obara-timeline__content p{
    font-size:.9rem;
    line-height:1.48;
  }
}


/* v1.25 — aktywna pozycja menu */
.primary-nav>a.is-active,
.nav-group>button.is-active{
  position:relative;
  color:var(--navy);
  font-weight:750;
}
.primary-nav>a.is-active::after,
.nav-group>button.is-active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:19px;
  height:3px;
  border-radius:999px;
  background:var(--teal);
}
.mega-menu a.is-active{
  background:rgba(99,183,192,.12);
  color:var(--navy);
  font-weight:750;
  box-shadow:inset 3px 0 0 var(--teal);
}
@media (max-width:900px){
  .primary-nav>a.is-active,
  .nav-group>button.is-active{
    padding-left:12px;
    padding-right:12px;
    border-radius:10px;
    background:rgba(99,183,192,.11);
    color:var(--navy);
  }
  .primary-nav>a.is-active::after,
  .nav-group>button.is-active::after{
    display:none;
  }
  .mega-menu a.is-active{
    background:rgba(99,183,192,.16);
  }
}


/* v1.26 — O Centrum: galeria nie może nachodzić na FAQ */
.about-gallery-section{
  position:relative;
  overflow:hidden;
  padding-bottom:76px;
}
.about-gallery-section .gallery-grid{
  position:relative;
  z-index:1;
  margin-bottom:0;
}
.about-gallery-section + .faq-section{
  position:relative;
  z-index:2;
  margin-top:0;
  padding-top:72px;
  border-top:1px solid rgba(99,183,192,.18);
}
.about-gallery-section + .faq-section .eyebrow{
  position:relative;
  z-index:3;
}

/* Na stronie O Centrum zdjęcia galerii nie są przesuwane pionowo podczas reveal.
   Dzięki temu ich transform nie wychodzi wizualnie do kolejnej sekcji. */
.about-gallery-section .gallery-grid img.reveal-item{
  transform:none;
}
.about-gallery-section .gallery-grid img.reveal-item.is-revealed{
  transform:none;
}

@media (max-width:900px){
  .about-gallery-section{
    padding-bottom:62px;
  }
  .about-gallery-section + .faq-section{
    padding-top:58px;
  }
}
@media (max-width:620px){
  .about-gallery-section{
    padding-top:50px;
    padding-bottom:48px;
  }
  .about-gallery-section .gallery-grid{
    height:auto;
    grid-template-columns:1fr 1fr;
    grid-auto-rows:190px;
  }
  .about-gallery-section .gallery-grid img{
    height:190px;
  }
  .about-gallery-section + .faq-section{
    padding-top:48px;
  }
}


/* v1.28 — subtelnie animowana słuchawka przy numerze telefonu */
.phone-link__icon{
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:rgba(99,183,192,.12);
  color:var(--teal);
  flex:0 0 28px;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.phone-link__icon svg{
  width:16px;
  height:16px;
  stroke-width:2;
  transform-origin:50% 55%;
}
.phone-link:hover .phone-link__icon{
  background:var(--teal);
  color:var(--navy);
  transform:scale(1.05);
}
@media (prefers-reduced-motion:no-preference){
  .phone-link__icon svg{
    animation:pcpp-phone-ring 4.2s ease-in-out infinite;
  }
}
@keyframes pcpp-phone-ring{
  0%,82%,100%{transform:rotate(0deg)}
  85%{transform:rotate(-13deg)}
  88%{transform:rotate(11deg)}
  91%{transform:rotate(-9deg)}
  94%{transform:rotate(7deg)}
  97%{transform:rotate(0deg)}
}


/* v1.29 — ujednolicone, okrągłe zdjęcia lekarzy/specjalistów */
.team-card .team-photo{
  width:min(78%, 280px);
  aspect-ratio:1/1;
  margin:28px auto 10px;
  border-radius:50%;
  overflow:hidden;
  background:#f8fafc;
  display:flex;
  align-items:center;
  justify-content:center;
}
.team-card .team-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.team-card .team-body{
  padding:18px 24px 24px;
}
.team-grid .team-card .team-photo,
.team-row .team-card .team-photo{
  flex-shrink:0;
}
@media (max-width:900px){
  .team-card .team-photo{
    width:min(74%, 240px);
    margin:24px auto 8px;
  }
}


/* v1.32 — pełne logo na telefonie, jak na desktopie */
@media (max-width:620px){
  .header__inner{
    min-height:76px;
    gap:10px;
  }
  .brand{
    display:flex;
    flex:1 1 auto;
    min-width:0;
    max-width:calc(100% - 54px);
    gap:9px;
  }
  .brand img{
    width:46px;
    height:46px;
    flex:0 0 46px;
  }
  .brand span{
    display:flex!important;
    min-width:0;
    flex-direction:column;
    line-height:1.12;
  }
  .brand strong{
    display:block;
    font-size:.76rem;
    line-height:1.12;
    white-space:nowrap;
  }
  .brand small{
    display:block!important;
    max-width:190px;
    margin-top:3px;
    font-size:.53rem;
    line-height:1.2;
  }
  .nav-toggle{
    flex:0 0 44px;
    margin-left:auto;
  }
}
@media (max-width:370px){
  .brand img{
    width:42px;
    height:42px;
    flex-basis:42px;
  }
  .brand strong{
    font-size:.7rem;
  }
  .brand small{
    max-width:155px;
    font-size:.48rem;
  }
}


/* v1.33 — wyśrodkowana stopka na mobilce */
@media (max-width:620px){
  .site-footer,
  .footer-grid,
  .footer-brand,
  .footer-contact,
  .footer-bottom{
    text-align:center;
  }

  .footer-grid{
    justify-items:center;
  }

  .footer-brand{
    display:flex;
    flex-direction:column;
    align-items:center;
    width:100%;
  }

  .footer-brand img{
    margin-left:auto;
    margin-right:auto;
  }

  .footer-brand p{
    margin-left:auto;
    margin-right:auto;
    max-width:320px;
  }

  .footer-grid>div{
    width:100%;
  }

  .footer-grid>div:not(.footer-brand):not(.footer-contact){
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  .footer-contact{
    display:flex!important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
  }

  .footer-contact h3{
    width:100%;
    text-align:center;
  }

  .footer-contact__row,
  .footer-contact a,
  .footer-contact p{
    justify-content:center;
    text-align:center;
  }

  .footer-contact__icon{
    flex:0 0 auto;
  }

  .footer-bottom{
    align-items:center;
    justify-content:center;
  }

  .footer-bottom>*{
    width:100%;
    text-align:center;
  }
}


/* v1.37 — poprawka sekcji Psychiatrzy: opis i idealnie okrągłe zdjęcia */
.team-grid--psychiatrists .team-card--doctor{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.team-grid--psychiatrists .team-card--doctor .team-photo{
  width:min(72%, 250px);
  height:auto;
  min-height:0;
  aspect-ratio:1/1;
  margin:26px auto 8px;
  border-radius:50%;
  overflow:hidden;
}
.team-grid--psychiatrists .team-card--doctor .team-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.team-grid--psychiatrists .team-card--doctor .team-body{
  width:100%;
  padding:18px 24px 26px;
}
.team-grid--psychiatrists .team-card--doctor .team-body p:last-of-type{
  font-size:.96rem;
  line-height:1.62;
  color:var(--muted);
}
@media (min-width: 768px){
  .team-grid--psychiatrists .team-card--doctor{
    align-items:stretch;
  }
  .team-grid--psychiatrists .team-card--doctor .team-photo{
    width:min(64%, 230px);
    margin:26px auto 6px;
  }
}
@media (max-width: 620px){
  .team-grid--psychiatrists .team-card--doctor .team-photo{
    width:min(66vw, 260px);
    margin:22px auto 6px;
  }
  .team-grid--psychiatrists .team-card--doctor .team-body{
    padding:16px 20px 24px;
  }
  .team-grid--psychiatrists .team-card--doctor .team-body h3{
    font-size:1.14rem;
  }
  .team-grid--psychiatrists .team-card--doctor .role{
    min-height:0;
    margin-bottom:8px;
  }
}


/* v1.40 — Jak przygotować się do wizyty u psychiatry */
.prepare-visit-section{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,#f4fafb 100%);
  border-top:1px solid rgba(99,183,192,.14);
  border-bottom:1px solid rgba(99,183,192,.14);
}
.prepare-visit-section:before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border-radius:50%;
  right:-180px;
  top:110px;
  background:radial-gradient(circle,rgba(99,183,192,.12),rgba(99,183,192,0) 68%);
  pointer-events:none;
}
.prepare-visit-top{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:64px;
  align-items:center;
  margin-bottom:36px;
}
.prepare-visit-head h2{
  max-width:650px;
  font-size:clamp(2.25rem,4vw,4.3rem);
}
.prepare-visit-head .lead-small{
  max-width:690px;
  font-size:1.02rem;
  line-height:1.75;
}
.prepare-visit-visual{
  position:relative;
  margin:0;
  min-height:420px;
  border-radius:32px;
  overflow:hidden;
  background:#eef8fa;
  border:1px solid rgba(99,183,192,.24);
  box-shadow:0 24px 60px rgba(20,48,76,.08);
  isolation:isolate;
}
.prepare-visit-visual img{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  object-position:center;
  display:block;
}
.prepare-visit-visual:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(8,37,72,.10));
  pointer-events:none;
  z-index:2;
}
.prepare-visit-visual figcaption{
  position:absolute;
  z-index:4;
  left:22px;
  right:22px;
  bottom:20px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 15px;
  border-radius:17px;
  background:rgba(255,255,255,.94);
  color:var(--navy);
  box-shadow:0 12px 32px rgba(20,48,76,.12);
  backdrop-filter:blur(12px);
  font-size:.78rem;
  line-height:1.42;
}
.prepare-visit-visual figcaption strong{display:block}
.prepare-visit-caption-icon{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(99,183,192,.14);
  color:#2d8f99;
}
.prepare-visit-caption-icon svg{width:19px;height:19px}
.prepare-visit-orbit{
  position:absolute;
  z-index:3;
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--teal);
  box-shadow:0 0 0 8px rgba(99,183,192,.13);
  pointer-events:none;
}
.prepare-visit-orbit--one{
  top:20px;
  right:48px;
  animation:prepareFloatOne 7s ease-in-out infinite;
}
.prepare-visit-orbit--two{
  width:11px;
  height:11px;
  left:28px;
  bottom:120px;
  background:var(--navy);
  box-shadow:0 0 0 7px rgba(11,43,89,.08);
  animation:prepareFloatTwo 9s ease-in-out infinite;
}
@keyframes prepareFloatOne{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(-22px,18px,0)}
}
@keyframes prepareFloatTwo{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(20px,-14px,0)}
}
.prepare-visit-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.prepare-visit-card{
  position:relative;
  display:grid;
  grid-template-columns:46px 1fr;
  gap:14px;
  min-height:220px;
  padding:22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:0 10px 28px rgba(20,48,76,.035);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.prepare-visit-card:hover{
  transform:translateY(-4px);
  border-color:rgba(99,183,192,.55);
  box-shadow:0 18px 38px rgba(20,48,76,.08);
}
.prepare-visit-card__number{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(135deg,#eaf7f8,#dff1f3);
  color:#2d8f99;
  font-weight:900;
  font-size:1rem;
}
.prepare-visit-card h3{
  margin:2px 0 8px;
  font-size:1.02rem;
}
.prepare-visit-card p{
  margin:0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.62;
}
.prepare-visit-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:20px;
  padding:20px 22px;
  border-radius:20px;
  background:linear-gradient(135deg,var(--navy),#173b70);
  color:#fff;
}
.prepare-visit-cta>div:first-child{
  display:flex;
  align-items:center;
  gap:13px;
}
.prepare-visit-cta strong{
  display:block;
  font-size:.98rem;
}
.prepare-visit-cta span:not(.prepare-visit-cta__icon){
  display:block;
  margin-top:3px;
  color:#d8e5ef;
  font-size:.78rem;
}
.prepare-visit-cta__icon{
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(99,183,192,.17);
  color:#97e3e7;
}
.prepare-visit-cta__icon svg{width:23px;height:23px}
.prepare-visit-cta__actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}
.prepare-visit-cta .btn--secondary{
  background:#fff;
  border-color:#fff;
}
.prepare-visit-cta .btn--primary{
  border:1px solid rgba(255,255,255,.24);
}
@media (max-width:900px){
  .prepare-visit-top{grid-template-columns:1fr;gap:28px}
  .prepare-visit-visual{min-height:360px}
  .prepare-visit-visual img{min-height:360px}
  .prepare-visit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prepare-visit-cta{align-items:flex-start;flex-direction:column}
}
@media (max-width:620px){
  .prepare-visit-head h2{font-size:2.25rem}
  .prepare-visit-visual{
    min-height:300px;
    border-radius:22px;
  }
  .prepare-visit-visual img{
    min-height:300px;
    object-position:center top;
  }
  .prepare-visit-visual figcaption{
    left:12px;
    right:12px;
    bottom:12px;
    font-size:.7rem;
  }
  .prepare-visit-orbit{display:none}
  .prepare-visit-grid{grid-template-columns:1fr}
  .prepare-visit-card{
    grid-template-columns:42px 1fr;
    min-height:0;
    padding:18px;
  }
  .prepare-visit-card__number{width:40px;height:40px}
  .prepare-visit-card p{font-size:.79rem}
  .prepare-visit-cta{
    padding:18px;
    text-align:center;
  }
  .prepare-visit-cta>div:first-child{
    width:100%;
    justify-content:center;
    flex-direction:column;
  }
  .prepare-visit-cta__actions{
    width:100%;
    justify-content:center;
    flex-wrap:wrap;
  }
}
@media (prefers-reduced-motion:reduce){
  .prepare-visit-orbit{animation:none!important}
  .prepare-visit-card{transition:none!important}
}



/* v1.41 — Certyfikaty lek. med. Anny Mierzwińskiej-Obary */
.obara-certificates-section{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#f5fafb 0%,#fff 100%);
  border-top:1px solid rgba(99,183,192,.18);
}
.obara-certificates-section:before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-220px;
  top:80px;
  border-radius:50%;
  border:1px solid rgba(99,183,192,.12);
  box-shadow:0 0 0 70px rgba(99,183,192,.025);
  pointer-events:none;
}
.obara-certificates-head{
  max-width:850px;
  margin-bottom:44px;
}
.obara-certificates-head h2{
  max-width:800px;
  font-size:clamp(2.25rem,4vw,4.15rem);
}
.obara-certificates-head .lead-small{
  max-width:780px;
  line-height:1.72;
}
.certificate-group{
  margin-top:52px;
}
.certificate-group:first-child{margin-top:0}
.certificate-group__head{
  display:grid;
  grid-template-columns:minmax(230px,.38fr) 1fr;
  gap:28px;
  align-items:end;
  padding-bottom:18px;
  margin-bottom:20px;
  border-bottom:1px solid var(--line);
}
.certificate-group__head .eyebrow{
  margin:0;
}
.certificate-group__head h3{
  margin:0;
  font-size:1.6rem;
}
.certificate-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.certificate-card{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 28px rgba(20,48,76,.04);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.certificate-card:hover{
  transform:translateY(-4px);
  border-color:rgba(99,183,192,.55);
  box-shadow:0 18px 42px rgba(20,48,76,.09);
}
.certificate-card__media{
  position:relative;
  height:230px;
  padding:16px;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 85% 10%,rgba(99,183,192,.10),transparent 32%),
    #f7fafb;
  overflow:hidden;
}
.certificate-card__media img{
  width:100%;
  height:100%;
  object-fit:contain;
  cursor:zoom-in;
  filter:drop-shadow(0 8px 12px rgba(20,48,76,.10));
  transition:transform .24s ease;
}
.certificate-card:hover .certificate-card__media img{
  transform:scale(1.025);
}
.certificate-card__zoom{
  position:absolute;
  right:14px;
  bottom:14px;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(10,43,86,.90);
  color:#fff;
  font-size:1.35rem;
  line-height:1;
  box-shadow:0 8px 18px rgba(10,43,86,.18);
  pointer-events:none;
}
.certificate-card__body{
  padding:18px 19px 20px;
}
.certificate-card__body>span{
  display:block;
  margin-bottom:7px;
  color:#2e8d98;
  font-size:.72rem;
  line-height:1.35;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.certificate-card__body h3{
  margin:0 0 8px;
  font-size:1rem;
  line-height:1.35;
}
.certificate-card__body p{
  margin:0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.55;
}
.certificate-note{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:30px;
  padding:18px 20px;
  border:1px solid rgba(99,183,192,.28);
  border-radius:18px;
  background:#fff;
}
.certificate-note__icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(99,183,192,.14);
  color:#2e8d98;
}
.certificate-note__icon svg{width:21px;height:21px}
.certificate-note p{
  margin:0;
  color:var(--muted);
  font-size:.83rem;
  line-height:1.55;
}
.certificate-note strong{color:var(--navy)}
.obara-certificates-gallery img:focus-visible{
  outline:3px solid var(--teal);
  outline-offset:4px;
  border-radius:8px;
}
@media (max-width:960px){
  .certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .certificate-group__head{grid-template-columns:1fr;gap:8px}
}
@media (max-width:620px){
  .obara-certificates-head{margin-bottom:30px}
  .obara-certificates-head h2{font-size:2.2rem}
  .certificate-group{margin-top:42px}
  .certificate-group__head{margin-bottom:14px}
  .certificate-group__head h3{font-size:1.35rem}
  .certificate-grid{grid-template-columns:1fr}
  .certificate-card__media{height:260px}
  .certificate-card__body{padding:16px 17px 19px}
  .certificate-note{
    align-items:flex-start;
    padding:16px;
  }
}
@media (prefers-reduced-motion:reduce){
  .certificate-card,
  .certificate-card__media img{transition:none!important}
}



/* v1.42 — Zaświadczenia psychiatryczne i opinie lekarskie */
.service-docs-callout{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  margin:24px 0 4px;
  padding:20px 22px;
  border:1px solid rgba(99,183,192,.32);
  border-radius:20px;
  background:linear-gradient(135deg,#f8fcfd,#edf7f8);
  box-shadow:0 10px 28px rgba(20,48,76,.04);
}
.service-docs-callout__icon{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:rgba(99,183,192,.16);
  color:#2e8d98;
}
.service-docs-callout__icon svg{width:23px;height:23px}
.service-docs-callout strong{
  display:block;
  margin-bottom:5px;
  color:var(--navy);
  font-size:1rem;
}
.service-docs-callout p{
  margin:0;
  color:var(--muted);
  font-size:.83rem;
  line-height:1.55;
}
.service-docs-callout .btn{
  white-space:nowrap;
}

@media(max-width:720px){
  .service-docs-callout{
    grid-template-columns:1fr;
    text-align:center;
    padding:18px;
  }
  .service-docs-callout__icon{
    margin:0 auto;
  }
  .service-docs-callout .btn{
    margin-left:auto;
    margin-right:auto;
  }
}


/* v1.43 — identyfikacja placówki i dane spółki */
.site-header .brand small,
.brand--footer small{
  font-weight:700;
}
.footer-legal{
  margin-top:38px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
  color:#9fb3c2;
  font-size:.72rem;
  line-height:1.5;
}
.footer-legal strong{
  max-width:760px;
  color:#d9e5ed;
  font-size:.75rem;
  font-weight:700;
}
.footer-legal__ids{
  display:flex;
  flex:0 0 auto;
  gap:18px;
  color:#b8cad6;
  font-weight:700;
  white-space:nowrap;
}
.footer-legal + .footer-bottom{
  margin-top:16px;
}
@media(max-width:620px){
  .footer-legal{
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:10px;
  }
  .footer-legal strong{
    max-width:330px;
  }
  .footer-legal__ids{
    justify-content:center;
    flex-wrap:wrap;
    gap:8px 16px;
    white-space:normal;
  }
}

/* v1.44 — kompaktowa sekcja lek. med. Anny Mierzwińskiej-Obary na telefonach */
@media (max-width:620px){
  .founder-section{
    padding:38px 0 44px;
  }
  .founder-section:before{
    width:300px;
    height:300px;
    right:-145px;
    top:-70px;
  }
  .founder-grid{
    gap:28px;
  }
  .founder-photo-wrap{
    width:min(76vw,292px);
    max-width:292px;
    margin:0 auto;
  }
  .founder-photo-wrap>img{
    width:100%;
    aspect-ratio:1/1;
    border-radius:50%;
  }
  .founder-orbit{
    inset:-10px;
  }
  .founder-orbit--alt{
    inset:-20px;
  }
  .founder-orbit:after{
    width:10px;
    height:10px;
    box-shadow:0 0 0 6px rgba(131,223,229,.10),0 8px 18px rgba(7,29,62,.20);
  }
  .founder-orbit--alt:after{
    width:7px;
    height:7px;
    box-shadow:0 0 0 4px rgba(255,255,255,.05),0 8px 16px rgba(7,29,62,.14);
  }
  .founder-badge{
    width:76px;
    height:76px;
    right:-10px;
    bottom:8px;
    box-shadow:0 10px 22px rgba(0,0,0,.18);
  }
  .founder-badge strong{
    font-size:1.3rem;
  }
  .founder-badge span{
    max-width:56px;
    font-size:.54rem;
    line-height:1.15;
  }
  .founder-copy{
    min-width:0;
  }
  .founder-copy .eyebrow{
    display:block;
    max-width:100%;
    margin-bottom:12px;
    font-size:.69rem;
    line-height:1.35;
    letter-spacing:.12em;
    white-space:normal;
  }
  .founder-copy h2{
    max-width:100%;
    margin-bottom:14px;
    font-size:clamp(1.8rem,8vw,2.08rem);
    line-height:1.06;
    letter-spacing:-.035em;
    overflow-wrap:anywhere;
  }
  .founder-copy .lead{
    margin-bottom:12px;
    font-size:1rem;
    line-height:1.5;
  }
  .founder-copy>p:not(.lead){
    font-size:.86rem;
    line-height:1.62;
  }
  .founder-copy .timeline-mini{
    display:flex;
    gap:9px;
    margin:18px -2px 20px;
    padding:2px 2px 6px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .founder-copy .timeline-mini::-webkit-scrollbar{
    display:none;
  }
  .founder-copy .timeline-mini span{
    flex:0 0 min(72vw,230px);
    min-height:72px;
    padding:11px 12px;
    scroll-snap-align:start;
    font-size:.68rem;
    line-height:1.4;
  }
  .founder-copy .timeline-mini b{
    margin-bottom:2px;
    font-size:.82rem;
  }
  .founder-copy>.btn{
    width:auto;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    padding:12px 16px;
    font-size:.76rem;
    line-height:1.3;
    text-align:center;
    white-space:normal;
  }
}

@media (max-width:380px){
  .founder-photo-wrap{
    width:min(72vw,255px);
  }
  .founder-copy h2{
    font-size:1.72rem;
  }
  .founder-copy .eyebrow{
    font-size:.63rem;
  }
}


/* v1.45 — rozbudowane karty zespołu + opisy z paczki klienta */
.team-card__intro{
  margin:0;
  color:var(--muted);
  font-size:.84rem;
  line-height:1.58;
}
.team-about{
  width:100%;
  margin-top:16px;
  border-top:1px solid var(--line);
}
.team-about summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:48px;
  padding:13px 0 4px;
  color:var(--navy);
  font-size:.79rem;
  font-weight:800;
  cursor:pointer;
  user-select:none;
}
.team-about summary::-webkit-details-marker{display:none}
.team-about summary i{
  position:relative;
  width:26px;
  height:26px;
  flex:0 0 26px;
  border-radius:50%;
  background:rgba(99,183,192,.13);
  transition:transform .2s ease,background .2s ease;
}
.team-about summary i:before,
.team-about summary i:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:10px;
  height:2px;
  border-radius:2px;
  background:#287b87;
  transform:translate(-50%,-50%);
}
.team-about summary i:after{transform:translate(-50%,-50%) rotate(90deg)}
.team-about[open] summary i{
  transform:rotate(45deg);
  background:rgba(99,183,192,.20);
}
.team-about__content{
  padding:9px 0 4px;
  color:var(--muted);
  font-size:.79rem;
  line-height:1.65;
  animation:teamAboutIn .2s ease both;
}
.team-about__content p{margin:0 0 11px}
.team-about__content p:last-child{margin-bottom:0}
@keyframes teamAboutIn{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:none}
}
.team-grid--psychiatrists .team-card--doctor .team-body{
  justify-content:flex-start;
}
.team-grid--psychiatrists .team-card--doctor .team-card__intro{
  font-size:.9rem;
  line-height:1.6;
}
.team-grid--psychology .team-card{
  display:flex;
  flex-direction:column;
}
.team-grid--psychology .team-card .team-body{
  display:flex;
  flex:1;
  flex-direction:column;
}
.team-grid--psychology .team-about{
  margin-top:auto;
  padding-top:8px;
}
.team-admin-section{
  background:linear-gradient(180deg,#fff 0%,#f8fbfc 100%);
}
.admin-grid--profiles{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.admin-grid--profiles .admin-card{
  min-width:0;
  padding:20px;
  border-radius:20px;
  border:1px solid var(--line);
  background:#fff;
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:14px;
  box-shadow:0 10px 28px rgba(20,48,76,.035);
}
.admin-grid--profiles .admin-card--profile{
  grid-template-columns:92px minmax(0,1fr);
}
.admin-card__photo{
  width:86px;
  height:86px;
  border-radius:50%;
  overflow:hidden;
  background:#f4f8fa;
}
.admin-card__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.admin-card__icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:rgba(99,183,192,.12);
  color:#287b87;
}
.admin-card__icon svg{width:24px;height:24px}
.admin-card__body{
  min-width:0;
}
.admin-card__body>strong{
  display:block;
  color:var(--navy);
  font-size:1rem;
  line-height:1.35;
}
.admin-card__body>span{
  display:block;
  margin-top:3px;
  color:#287b87;
  font-size:.75rem;
  font-weight:700;
}
.team-about--admin{
  margin-top:10px;
}
.team-about--admin summary{
  min-height:40px;
  padding-top:8px;
}
@media(max-width:760px){
  .admin-grid--profiles{
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  .team-about summary{
    min-height:44px;
  }
  .team-about__content{
    font-size:.78rem;
  }
  .admin-grid--profiles .admin-card,
  .admin-grid--profiles .admin-card--profile{
    grid-template-columns:72px minmax(0,1fr);
    padding:16px;
  }
  .admin-card__photo{
    width:68px;
    height:68px;
  }
  .admin-card__icon{
    width:54px;
    height:54px;
  }
}
@media(prefers-reduced-motion:reduce){
  .team-about__content{animation:none}
  .team-about summary i{transition:none}
}



/* v1.47 — czytelność dłuższych opisów specjalistów */
.team-about[open] .team-about__content{
  padding-bottom:10px;
}
.team-about__content{
  overflow-wrap:anywhere;
}
@media(max-width:620px){
  .team-about__content{
    font-size:.78rem;
    line-height:1.7;
  }
}


/* v1.48 — charakterystyczny przycisk rozwijania opisu specjalisty */
.team-about summary i{
  position:relative;
  width:36px;
  height:36px;
  flex:0 0 36px;
  border-radius:13px;
  background:
    radial-gradient(circle at 76% 22%, #63b7c0 0 2.4px, transparent 2.8px),
    radial-gradient(circle at 87% 38%, #63b7c0 0 2px, transparent 2.4px),
    radial-gradient(circle at 89% 56%, #63b7c0 0 1.7px, transparent 2.1px),
    radial-gradient(circle at center, #fff 0 54%, transparent 55%),
    conic-gradient(from -44deg,
      transparent 0 10%,
      #7bcbd1 10% 22%,
      #4fa9b3 22% 71%,
      transparent 71% 100%);
  box-shadow:
    0 7px 18px rgba(11,43,89,.10),
    inset 0 0 0 1px rgba(255,255,255,.84);
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    box-shadow .28s ease,
    filter .28s ease;
  overflow:visible;
}
.team-about summary i:before,
.team-about summary i:after{
  content:"";
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:13px;
  height:2.7px;
  border-radius:99px;
  background:var(--navy);
  transform:translate(-50%,-50%);
  box-shadow:none;
  transition:transform .26s cubic-bezier(.2,.8,.2,1), background .2s ease;
}
.team-about summary i:after{
  transform:translate(-50%,-50%) rotate(90deg);
}
.team-about summary:hover i{
  transform:translateY(-2px) rotate(8deg) scale(1.05);
  box-shadow:
    0 10px 22px rgba(11,43,89,.15),
    0 0 0 5px rgba(99,183,192,.08),
    inset 0 0 0 1px rgba(255,255,255,.92);
  filter:saturate(1.08);
}
.team-about summary:focus-visible i{
  box-shadow:
    0 0 0 4px rgba(99,183,192,.18),
    0 8px 20px rgba(11,43,89,.13);
}
.team-about[open] summary i{
  transform:rotate(45deg);
  background:
    radial-gradient(circle at 76% 22%, #63b7c0 0 2.4px, transparent 2.8px),
    radial-gradient(circle at 87% 38%, #63b7c0 0 2px, transparent 2.4px),
    radial-gradient(circle at 89% 56%, #63b7c0 0 1.7px, transparent 2.1px),
    radial-gradient(circle at center, #fff 0 54%, transparent 55%),
    conic-gradient(from -44deg,
      transparent 0 10%,
      #8bd9de 10% 22%,
      #56b3bc 22% 71%,
      transparent 71% 100%);
  box-shadow:
    0 8px 20px rgba(11,43,89,.13),
    0 0 0 5px rgba(99,183,192,.07);
}
.team-about[open] summary:hover i{
  transform:translateY(-1px) rotate(53deg) scale(1.04);
}
.team-about--admin summary i{
  width:32px;
  height:32px;
  flex-basis:32px;
  border-radius:12px;
}
@media(max-width:620px){
  .team-about summary i{
    width:34px;
    height:34px;
    flex-basis:34px;
  }
}
@media(prefers-reduced-motion:reduce){
  .team-about summary i,
  .team-about summary i:before,
  .team-about summary i:after{
    transition:none!important;
  }
  .team-about summary:hover i{
    transform:none;
  }
  .team-about[open] summary i{
    transform:rotate(45deg);
  }
}



/* v1.49 — porządny przycisk „kilka słów o specjaliście” */
.team-about{
  margin-top:18px;
  border-top:0;
}
.team-about summary{
  min-height:0;
  padding:12px 14px;
  border:1px solid rgba(99,183,192,.28);
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fcfd 100%);
  box-shadow:0 10px 24px rgba(20,48,76,.04);
  transition:border-color .22s ease,box-shadow .22s ease,background .22s ease,transform .22s ease;
}
.team-about summary span{
  display:block;
  flex:1 1 auto;
  min-width:0;
  color:var(--navy);
  letter-spacing:.01em;
}
.team-about summary i{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(139,217,222,.42) 0%,rgba(99,183,192,.18) 100%);
  border:1px solid rgba(99,183,192,.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 6px 16px rgba(11,43,89,.08);
  transition:transform .24s cubic-bezier(.2,.8,.2,1),background .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.team-about summary i:before,
.team-about summary i:after{
  width:12px;
  height:2.5px;
  border-radius:99px;
  background:var(--navy);
}
.team-about summary:hover,
.team-about summary:focus-visible{
  border-color:rgba(46,141,152,.5);
  background:#fff;
  box-shadow:0 12px 28px rgba(20,48,76,.07);
  transform:translateY(-1px);
}
.team-about summary:hover i,
.team-about summary:focus-visible i{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 10px 18px rgba(11,43,89,.12);
  transform:scale(1.05);
}
.team-about[open] summary{
  border-color:rgba(46,141,152,.58);
  border-bottom-left-radius:12px;
  border-bottom-right-radius:12px;
  box-shadow:0 14px 28px rgba(20,48,76,.08);
}
.team-about[open] summary i{
  transform:rotate(45deg);
  background:linear-gradient(135deg,#b6edf0 0%,#75c6cd 50%,#63b7c0 100%);
  border-color:rgba(46,141,152,.58);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 10px 18px rgba(11,43,89,.12);
}
.team-about[open] summary:hover i{
  transform:rotate(45deg) scale(1.05);
}
.team-about__content{
  margin-top:10px;
  padding:16px 16px 10px;
  border:1px solid rgba(99,183,192,.2);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 24px rgba(20,48,76,.035);
}
.team-about--admin summary i{
  width:32px;
  height:32px;
  flex-basis:32px;
  border-radius:11px;
}
@media(max-width:620px){
  .team-about summary{
    padding:11px 13px;
  }
  .team-about summary span{
    font-size:.78rem;
    line-height:1.35;
  }
  .team-about summary i{
    width:32px;
    height:32px;
    flex-basis:32px;
    border-radius:11px;
  }
  .team-about__content{
    padding:14px 14px 8px;
  }
}
@media(prefers-reduced-motion:reduce){
  .team-about summary,
  .team-about summary i{
    transition:none!important;
  }
  .team-about summary:hover,
  .team-about summary:focus-visible{
    transform:none;
  }
  .team-about summary:hover i,
  .team-about summary:focus-visible i{
    transform:none;
  }
  .team-about[open] summary i{
    transform:rotate(45deg);
  }
}



/* v1.50 — premium polish sekcji Zespół */
.team-specialists-section .team-grid{
  align-items:stretch;
}
.team-specialists-section .team-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  border-color:rgba(14,47,87,.10);
  box-shadow:0 12px 32px rgba(20,48,76,.045);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.team-specialists-section .team-card:hover{
  transform:translateY(-3px);
  border-color:rgba(99,183,192,.38);
  box-shadow:0 18px 42px rgba(20,48,76,.075);
}
.team-specialists-section .team-card .team-photo{
  margin-top:24px;
  margin-bottom:4px;
  box-shadow:0 0 0 7px rgba(99,183,192,.055);
}
.team-specialists-section .team-card .team-body{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  padding-top:16px;
}
.team-specialists-section .team-card h3{
  line-height:1.2;
  text-wrap:balance;
}
.team-specialists-section .team-card .role{
  min-height:0;
  margin:0 0 12px;
  line-height:1.45;
}
.team-card__intro{
  margin-bottom:0;
  line-height:1.65;
}
.team-grid--psychology .team-about,
.team-grid--psychiatrists .team-about{
  margin-top:auto;
  padding-top:18px;
}
.team-about summary{
  gap:14px;
}
.team-about summary span{
  font-size:.81rem;
  line-height:1.35;
}
.team-about__content{
  color:#5f6f7e;
  font-size:.8rem;
  line-height:1.75;
}
.team-about__content p{
  margin:0 0 13px;
}
.team-about__content p:last-child{
  margin-bottom:0;
}
.team-group-head{
  margin-bottom:32px;
}
.team-group-head h2{
  margin-bottom:0;
}
.team-group-head p{
  line-height:1.7;
}
@media(min-width:901px){
  .team-grid--psychiatrists{
    gap:22px;
  }
  .team-grid--psychology{
    gap:20px;
  }
  .team-grid--psychology .team-card .team-body{
    padding-left:22px;
    padding-right:22px;
  }
}
@media(max-width:620px){
  .team-specialists-section{
    padding-top:48px;
  }
  .team-group-head{
    margin-bottom:22px;
  }
  .team-group-head--spaced{
    margin-top:44px;
  }
  .team-specialists-section .team-card{
    border-radius:20px;
    box-shadow:0 9px 24px rgba(20,48,76,.04);
  }
  .team-specialists-section .team-card:hover{
    transform:none;
  }
  .team-specialists-section .team-card .team-photo,
  .team-grid--psychiatrists .team-card--doctor .team-photo{
    width:min(62vw,230px);
    margin-top:20px;
    box-shadow:0 0 0 6px rgba(99,183,192,.05);
  }
  .team-specialists-section .team-card .team-body,
  .team-grid--psychiatrists .team-card--doctor .team-body{
    padding:15px 18px 20px;
  }
  .team-specialists-section .team-card h3,
  .team-grid--psychiatrists .team-card--doctor .team-body h3{
    font-size:1.08rem;
  }
  .team-card__intro,
  .team-grid--psychiatrists .team-card--doctor .team-card__intro{
    font-size:.84rem;
    line-height:1.62;
  }
  .team-grid--psychology .team-about,
  .team-grid--psychiatrists .team-about{
    padding-top:14px;
  }
  .team-about__content{
    font-size:.79rem;
    line-height:1.72;
  }
}
@media(prefers-reduced-motion:reduce){
  .team-specialists-section .team-card{
    transition:none!important;
  }
  .team-specialists-section .team-card:hover{
    transform:none!important;
  }
}


/* v1.51 — poprawka mobilnego zdjęcia Anny Mierzwińskiej-Obary + prostszy przycisk bio */
.team-about summary i{
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:grid;
  place-items:center;
  border-radius:11px;
  overflow:hidden;
  background:linear-gradient(180deg,#effafb 0%,#ddf3f5 100%);
  border:1px solid rgba(99,183,192,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 4px 12px rgba(11,43,89,.06);
}
.team-about summary i:before,
.team-about summary i:after{
  width:11px;
  height:2.4px;
  border-radius:999px;
  background:var(--navy);
}
.team-about summary:hover i,
.team-about summary:focus-visible i{
  transform:scale(1.04);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 8px 16px rgba(11,43,89,.09);
}
.team-about[open] summary i{
  transform:rotate(45deg);
  background:linear-gradient(180deg,#e8f9fb 0%,#cfeff2 100%);
  border-color:rgba(46,141,152,.44);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 8px 16px rgba(11,43,89,.09);
}
.team-about[open] summary:hover i{
  transform:rotate(45deg) scale(1.04);
}
.profile-hero--obara .profile-grid{
  align-items:center;
}
.profile-photo--obara{
  width:100%;
  max-width:420px;
  margin:0 auto;
}
.profile-photo--obara img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  object-position:center 18%;
}
.profile-copy--obara{
  min-width:0;
}
.profile-copy--obara h1{
  text-wrap:balance;
}
@media(max-width:620px){
  .team-about summary i{
    width:28px;
    height:28px;
    flex-basis:28px;
    border-radius:10px;
  }
  .profile-hero--obara{
    padding:40px 0 46px;
  }
  .profile-hero--obara .profile-grid{
    gap:24px;
  }
  .profile-photo--obara{
    max-width:min(100%, 360px);
  }
  .profile-photo--obara img{
    aspect-ratio:auto;
    height:auto;
    object-fit:contain;
    object-position:center top;
    border-radius:28px;
    background:#fff;
  }
  .profile-copy--obara .eyebrow{
    display:inline-flex;
    padding:11px 22px;
    border-radius:999px;
    background:rgba(99,183,192,.12);
    color:var(--blue);
    line-height:1.3;
    letter-spacing:.01em;
    white-space:normal;
  }
  .profile-copy--obara h1{
    font-size:clamp(1.88rem, 9.6vw, 2.65rem);
    line-height:1.02;
    margin-bottom:10px;
    overflow-wrap:anywhere;
  }
  .profile-copy--obara .lead{
    font-size:.98rem;
    line-height:1.58;
  }
  .profile-copy--obara .profile-facts{
    margin:22px 0;
  }
}


/* v1.52 — finalna poprawka mobilnego portretu Anny w Zespole + czysty plus */
.team-about summary i{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#eaf7f8!important;
  border:1px solid rgba(99,183,192,.34)!important;
}
.team-about summary i::before,
.team-about summary i::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:11px!important;
  height:2.4px!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--navy)!important;
  box-shadow:none!important;
  opacity:1!important;
}
.team-about summary i::before{
  transform:translate(-50%,-50%)!important;
}
.team-about summary i::after{
  transform:translate(-50%,-50%) rotate(90deg)!important;
}
.team-about[open] summary i::before{
  transform:translate(-50%,-50%) rotate(45deg)!important;
}
.team-about[open] summary i::after{
  transform:translate(-50%,-50%) rotate(135deg)!important;
}

@media(max-width:620px){
  .team-leader-card{
    overflow:hidden;
    border-radius:22px;
  }
  .team-leader-photo{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:auto!important;
    display:grid!important;
    place-items:center!important;
    padding:22px 18px 8px!important;
    background:linear-gradient(180deg,#f4fafb 0%,#fff 100%)!important;
    overflow:hidden!important;
  }
  .team-leader-photo img{
    display:block!important;
    width:min(76vw,320px)!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    object-fit:cover!important;
    object-position:center center!important;
    border-radius:50%!important;
    background:#fff!important;
    box-shadow:0 0 0 7px rgba(99,183,192,.08),0 16px 34px rgba(20,48,76,.08)!important;
  }
  .team-leader-content{
    padding:22px 20px 26px!important;
  }
  .team-leader-label{
    margin-bottom:14px!important;
    padding:8px 13px!important;
    font-size:.72rem!important;
    line-height:1.25!important;
  }
  .team-leader-content h2{
    max-width:100%!important;
    margin-bottom:7px!important;
    font-size:clamp(1.72rem,8vw,2.2rem)!important;
    line-height:1.04!important;
    overflow-wrap:anywhere!important;
  }
  .team-leader-role{
    margin-bottom:13px!important;
    font-size:.92rem!important;
  }
  .team-leader-lead{
    margin-bottom:18px!important;
    font-size:.89rem!important;
    line-height:1.58!important;
  }
}


/* v1.53 — finalne domknięcie mobilnych kart zespołu */
.team-about summary::after{
  content:none !important;
  display:none !important;
}
.team-about summary::marker{
  content:"";
}
.team-about summary i{
  position:relative;
  z-index:1;
}

@media(max-width:620px){
  .team-leader-card{
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    border-radius:24px !important;
  }
  .team-leader-photo{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:auto !important;
    padding:20px 18px 0 !important;
    background:linear-gradient(180deg,#f4fafb 0%,#ffffff 100%) !important;
  }
  .team-leader-photo img{
    display:block !important;
    width:min(72vw, 270px) !important;
    height:min(72vw, 270px) !important;
    max-width:270px !important;
    max-height:270px !important;
    min-width:0 !important;
    margin:0 auto !important;
    border-radius:50% !important;
    object-fit:cover !important;
    object-position:center 18% !important;
    box-shadow:0 0 0 6px rgba(99,183,192,.08), 0 14px 32px rgba(20,48,76,.08) !important;
    background:#fff !important;
  }
  .team-leader-content{
    padding:18px 18px 24px !important;
  }
  .team-leader-label{
    margin-bottom:12px !important;
    padding:8px 14px !important;
    max-width:100% !important;
    font-size:.72rem !important;
    line-height:1.3 !important;
    text-wrap:balance;
  }
  .team-leader-content h2{
    max-width:100% !important;
    margin-bottom:8px !important;
    font-size:clamp(1.62rem, 7.8vw, 2.08rem) !important;
    line-height:1.06 !important;
    overflow-wrap:anywhere !important;
    word-break:break-word;
  }
  .team-leader-role{
    margin-bottom:12px !important;
    font-size:.94rem !important;
    line-height:1.35 !important;
  }
  .team-leader-lead{
    margin-bottom:16px !important;
    font-size:.88rem !important;
    line-height:1.6 !important;
  }
  .team-leader-facts{
    grid-template-columns:1fr !important;
    margin:0 0 18px !important;
  }
  .team-leader-facts > div{
    padding:12px 0 !important;
  }
  .team-leader-facts > div + div{
    border-left:0 !important;
    border-top:1px solid var(--line) !important;
    padding-left:0 !important;
  }
  .team-leader-actions{
    display:grid !important;
    gap:10px !important;
  }
  .team-leader-actions .btn{
    width:100% !important;
  }
  .profile-hero--obara{
    padding:36px 0 44px !important;
  }
  .profile-photo--obara{
    max-width:min(72vw, 270px) !important;
    margin:0 auto !important;
  }
  .profile-photo--obara img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:1/1 !important;
    object-fit:cover !important;
    object-position:center 18% !important;
    border-radius:50% !important;
    box-shadow:0 0 0 6px rgba(99,183,192,.08), 0 14px 32px rgba(20,48,76,.08) !important;
    background:#fff !important;
  }
}


/* v1.54 — mobilne centrowanie kart zespołu w karuzeli */
@media (max-width:620px){
  .team-row{
    grid-auto-columns:84% !important;
    padding-left:8% !important;
    padding-right:8% !important;
    scroll-padding-left:8% !important;
    scroll-padding-right:8% !important;
    box-sizing:border-box !important;
  }

  .team-row > .team-card,
  .team-row .team-card{
    scroll-snap-align:start !important;
    scroll-snap-stop:always !important;
  }
}


/* v1.55 — Premium mobile team carousel */
@media (max-width:620px){
  .team-home-section .team-carousel{
    margin-left:-14px;
    margin-right:-14px;
    overflow:hidden;
  }

  .team-home-section .team-row{
    grid-auto-columns:82% !important;
    gap:14px !important;
    padding:12px 9% 30px !important;
    scroll-padding-left:9% !important;
    scroll-padding-right:9% !important;
    scroll-snap-type:x mandatory !important;
    scroll-behavior:smooth !important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }

  .team-home-section .team-row > .team-card{
    scroll-snap-align:center !important;
    scroll-snap-stop:always !important;
    transform:scale(.965);
    opacity:.76;
    filter:saturate(.88);
    transform-origin:center center;
    box-shadow:0 12px 26px rgba(20,48,76,.055);
    transition:transform .28s cubic-bezier(.2,.8,.2,1),
               opacity .28s ease,
               filter .28s ease,
               box-shadow .28s ease,
               border-color .28s ease;
  }

  .team-home-section .team-row > .team-card.team-card--active{
    transform:scale(1);
    opacity:1;
    filter:saturate(1);
    border-color:rgba(99,183,192,.34);
    box-shadow:0 20px 44px rgba(20,48,76,.12),
               0 0 0 1px rgba(99,183,192,.05);
  }

  .team-home-section .team-row > .team-card .team-photo img{
    transition:transform .34s cubic-bezier(.2,.8,.2,1), filter .3s ease;
  }

  .team-home-section .team-row > .team-card.team-card--active .team-photo img{
    transform:scale(1.015);
  }

  .team-home-section .team-row > .team-card .role{
    transition:color .25s ease;
  }

  .team-home-section .team-row > .team-card.team-card--active .role{
    color:#2e8d98;
  }
}

@media (max-width:420px){
  .team-home-section .team-row{
    grid-auto-columns:84% !important;
    padding-left:8% !important;
    padding-right:8% !important;
    scroll-padding-left:8% !important;
    scroll-padding-right:8% !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .team-home-section .team-row > .team-card,
  .team-home-section .team-row > .team-card .team-photo img{
    transition:none !important;
  }
}


/* v1.57 — lepsza polska typografia i ograniczenie sierotek */
:is(p,li,dd,dt,figcaption,.lead,.lead-small,.team-card__body,.richtext){
  text-wrap:pretty;
}
:is(h1,h2,h3,h4,h5,h6){
  text-wrap:balance;
}

/* =========================================================
   v1.58 PREMIUM WOW — boutique medical visual layer
   ========================================================= */
:root{
  --premium-teal:#53b6bf;
  --premium-teal-soft:#dff5f6;
  --premium-navy:#08264f;
  --premium-glass:rgba(255,255,255,.82);
  --premium-shadow:0 24px 70px rgba(10,43,89,.10);
  --premium-shadow-hover:0 30px 85px rgba(10,43,89,.16);
  --premium-line:rgba(99,183,192,.24);
}

::selection{background:rgba(99,183,192,.28);color:var(--navy)}
body{
  background:
    radial-gradient(900px 520px at 8% 10%,rgba(99,183,192,.045),transparent 70%),
    radial-gradient(800px 500px at 94% 32%,rgba(47,127,183,.035),transparent 72%),
    #fff;
}

/* premium top progress */
.pcpp-scroll-progress{
  position:fixed;
  z-index:10005;
  left:0;
  top:0;
  width:100%;
  height:2px;
  pointer-events:none;
  transform-origin:left center;
  transform:scaleX(var(--pcpp-progress,0));
  background:linear-gradient(90deg,var(--teal),#8dd9dd,var(--blue));
  box-shadow:0 0 16px rgba(99,183,192,.42);
}

/* Header: quiet glass, sharper premium details */
.site-header{
  background:rgba(255,255,255,.90);
  border-bottom-color:rgba(205,223,231,.72);
  backdrop-filter:blur(20px) saturate(155%);
  -webkit-backdrop-filter:blur(20px) saturate(155%);
}
.site-header.is-scrolled{
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 42px rgba(11,43,89,.08);
}
.brand img{
  filter:drop-shadow(0 7px 12px rgba(30,125,139,.08));
  transition:transform .32s cubic-bezier(.2,.8,.2,1),filter .32s ease;
}
.brand:hover img{transform:translateY(-2px) rotate(-2deg);filter:drop-shadow(0 10px 18px rgba(30,125,139,.15))}
.primary-nav>a,.nav-group>button{position:relative}
.primary-nav>a:after,.nav-group>button:after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:20px;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--teal),var(--blue));
  transition:left .24s ease,right .24s ease;
}
.primary-nav>a:hover:after,.nav-group>button:hover:after,.primary-nav>a.is-active:after,.nav-group>button.is-active:after{left:0;right:0}
.mega-menu{
  border-color:rgba(99,183,192,.22);
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  box-shadow:0 28px 80px rgba(10,43,89,.16);
}
.mega-menu a{transition:background .2s ease,color .2s ease,transform .2s ease}
.mega-menu a:hover{transform:translateX(3px);background:linear-gradient(90deg,rgba(99,183,192,.13),rgba(99,183,192,.04))}

/* Buttons: subtle light sweep rather than flashy animation */
.btn{position:relative;isolation:isolate;overflow:hidden;box-shadow:0 8px 24px rgba(10,43,89,.07)}
.btn:before{
  content:"";
  position:absolute;
  z-index:-1;
  top:-80%;
  bottom:-80%;
  left:-55%;
  width:34%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);
  transition:left .52s cubic-bezier(.2,.8,.2,1);
}
.btn:hover:before{left:125%}
.btn--primary{background:linear-gradient(135deg,#0a2a57 0%,#103b72 100%);box-shadow:0 14px 30px rgba(11,43,89,.20)}
.btn--primary:hover{background:linear-gradient(135deg,#0a3266,#174d86);box-shadow:0 18px 38px rgba(11,43,89,.24);transform:translateY(-2px)}
.btn--secondary,.btn--ghost{background:rgba(255,255,255,.88);backdrop-filter:blur(12px)}

/* Typography accents */
.eyebrow{
  position:relative;
  padding:7px 11px 7px 27px;
  margin-left:-6px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(99,183,192,.11),rgba(99,183,192,.025));
  border:1px solid rgba(99,183,192,.16);
}
.eyebrow:before{
  content:"";
  position:absolute;
  left:11px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--teal);
  box-shadow:0 0 0 5px rgba(99,183,192,.12);
}
.eyebrow--light{background:rgba(255,255,255,.08);border-color:rgba(159,230,234,.20)}
.eyebrow--light:before{background:#9fe6ea;box-shadow:0 0 0 5px rgba(159,230,234,.09)}
.section-head h2,.specialist-intro h2,.page-hero h1,.about-hero h1,.profile-copy h1{letter-spacing:-.045em}

/* Section depth and separators */
.section{position:relative}
.section--soft{
  background:
    radial-gradient(650px 300px at 100% 0,rgba(99,183,192,.075),transparent 75%),
    linear-gradient(180deg,#f8fbfc 0%,#f4f9fa 100%);
}
.section--white{background:rgba(255,255,255,.94)}
.section--navy{
  background:
    radial-gradient(700px 480px at 88% 12%,rgba(99,183,192,.16),transparent 70%),
    radial-gradient(540px 360px at 8% 92%,rgba(47,127,183,.12),transparent 70%),
    linear-gradient(145deg,#092650 0%,#0d3263 100%);
}

/* Home hero */
.hero{
  background:
    radial-gradient(660px 420px at 86% 16%,rgba(99,183,192,.17),transparent 72%),
    radial-gradient(500px 360px at 5% 86%,rgba(47,127,183,.08),transparent 72%),
    linear-gradient(135deg,#fbfefe 0%,#eef9fa 52%,#fff 100%);
}
.hero:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(99,183,192,.42),transparent);
}
.hero-photo{
  border:1px solid rgba(255,255,255,.86);
  outline:1px solid rgba(99,183,192,.16);
  outline-offset:6px;
  box-shadow:0 34px 90px rgba(10,43,89,.15);
}
.hero-photo:before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 35%,transparent 70%,rgba(8,38,79,.05));
}
.hero-card{
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(16px) saturate(135%);
  -webkit-backdrop-filter:blur(16px) saturate(135%);
  border-color:rgba(255,255,255,.72);
  box-shadow:0 20px 55px rgba(15,52,81,.16),inset 0 1px 0 rgba(255,255,255,.9);
}
.trust-strip{background:rgba(255,255,255,.94);box-shadow:0 12px 45px rgba(10,43,89,.035)}
.trust-grid strong{font-size:1.28rem}

/* Generic premium cards */
:is(.service-card,.content-card,.price-card,.team-card,.booking-card,.side-cta,.certificate-card,.admin-card,.about-highlight,.about-pillars>div,.about-private-grid>div,.contact-page-grid>div,.related-grid a,.pricing-table,.service-docs-callout,.prepare-visit-card){
  position:relative;
  isolation:isolate;
  border-color:rgba(177,207,219,.62);
  box-shadow:0 15px 46px rgba(16,55,84,.055);
}
:is(.service-card,.content-card,.price-card,.team-card,.booking-card,.side-cta,.certificate-card,.admin-card,.about-highlight,.about-pillars>div,.about-private-grid>div,.contact-page-grid>div,.related-grid a,.prepare-visit-card):after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(380px circle at var(--premium-x,50%) var(--premium-y,50%),rgba(99,183,192,.13),transparent 62%);
  transition:opacity .25s ease;
}
:is(.service-card,.content-card,.price-card,.team-card,.booking-card,.side-cta,.certificate-card,.admin-card,.about-highlight,.about-pillars>div,.about-private-grid>div,.contact-page-grid>div,.related-grid a,.prepare-visit-card).premium-hover:after{opacity:1}
@media (hover:hover) and (pointer:fine){
  :is(.service-card,.content-card,.price-card,.team-card,.booking-card,.side-cta,.certificate-card,.admin-card,.about-highlight,.about-pillars>div,.about-private-grid>div,.contact-page-grid>div,.related-grid a,.prepare-visit-card):hover{
    border-color:rgba(99,183,192,.48);
    box-shadow:var(--premium-shadow-hover);
  }
}
.service-card{min-height:248px;padding:24px;background:linear-gradient(145deg,#fff 0%,#fbfefe 100%)}
.service-card:before{
  content:"";
  position:absolute;
  top:-1px;left:22px;right:22px;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,transparent,var(--teal),transparent);
  opacity:.0;
  transition:opacity .25s ease;
}
.service-card:hover:before{opacity:.78}
.service-icon{
  box-shadow:0 10px 25px rgba(55,157,167,.14),inset 0 1px 0 rgba(255,255,255,.75);
  background:linear-gradient(145deg,#a4e0e4,#63b7c0);
}
.text-link{transition:gap .2s ease,color .2s ease}.service-card:hover .text-link,.related-grid a:hover .text-link{gap:11px}

/* Page heroes: all subpages get a recognizable premium signature */
:is(.page-hero,.about-hero,.profile-hero){
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(700px 400px at 86% 8%,rgba(99,183,192,.12),transparent 72%),
    radial-gradient(520px 340px at 8% 90%,rgba(47,127,183,.07),transparent 72%),
    linear-gradient(145deg,#f9fdfd 0%,#eff9fa 58%,#fff 100%);
}
:is(.page-hero,.about-hero,.profile-hero):before{
  content:"";
  position:absolute;
  width:460px;height:460px;
  border-radius:50%;
  border:1px solid rgba(99,183,192,.13);
  box-shadow:0 0 0 72px rgba(99,183,192,.024),0 0 0 145px rgba(99,183,192,.012);
  right:-250px;top:-250px;
  pointer-events:none;
}
:is(.page-hero,.about-hero,.profile-hero):after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(99,183,192,.36),transparent);
}
.page-hero__visual,.about-private-image,.founder-about-photo,.profile-photo{
  box-shadow:0 26px 75px rgba(10,43,89,.12);
}

/* Team: premium portrait framing and cards */
.team-card{background:linear-gradient(180deg,#fff 0%,#fcfefe 100%)}
.team-photo{position:relative}
.team-photo:after{
  content:"";
  position:absolute;
  inset:6% 12%;
  border-radius:50%;
  border:1px solid rgba(99,183,192,.14);
  pointer-events:none;
}
.team-card .role{color:#278a94}
.team-carousel__arrow{
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 14px 35px rgba(10,43,89,.12);
  border-color:rgba(99,183,192,.30);
}
.team-leader-card{box-shadow:0 28px 80px rgba(10,43,89,.10)}
.team-about summary{box-shadow:0 13px 30px rgba(10,43,89,.055)}

/* Founder section */
.founder-photo-wrap img{box-shadow:0 28px 72px rgba(0,0,0,.20)}
.founder-badge{box-shadow:0 18px 45px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.25)}
.timeline-mini span{background:rgba(255,255,255,.085);backdrop-filter:blur(10px);border-color:rgba(255,255,255,.13)}

/* Price lists */
.price-card,.pricing-table{background:linear-gradient(180deg,#fff 0%,#fbfefe 100%)}
.price-section{
  border-radius:22px;
  padding:22px;
  background:linear-gradient(145deg,#fff,#f9fcfd);
  border:1px solid rgba(177,207,219,.65);
  box-shadow:0 16px 48px rgba(10,43,89,.055);
}
.price-row{transition:background .2s ease,padding .2s ease,border-radius .2s ease}
.price-row:hover{background:rgba(99,183,192,.065);border-radius:12px;padding-left:10px;padding-right:10px}
.price-row strong{color:var(--navy)}
.pricing-contact{
  background:linear-gradient(135deg,rgba(99,183,192,.11),rgba(47,127,183,.055));
  border:1px solid rgba(99,183,192,.22);
  border-radius:22px;
}

/* FAQ */
.accordion details,.faq-section details{
  border:1px solid rgba(177,207,219,.62);
  border-radius:18px;
  margin-bottom:11px;
  padding:0 18px;
  background:rgba(255,255,255,.92);
  box-shadow:0 9px 28px rgba(10,43,89,.035);
  transition:border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.accordion details[open],.faq-section details[open]{
  border-color:rgba(99,183,192,.52);
  background:linear-gradient(145deg,#fff,#f7fcfc);
  box-shadow:0 17px 45px rgba(10,43,89,.075);
}
.accordion summary,.faq-section summary{padding:18px 0;font-weight:800;color:var(--navy)}
.accordion details p,.faq-section details p{padding-bottom:18px}

/* Contact and forms */
.booking-card,.contact-big,.contact-info{box-shadow:0 20px 60px rgba(10,43,89,.075)}
.booking-form input,.booking-form select,.booking-form textarea{
  border-color:rgba(176,204,216,.78);
  background:rgba(255,255,255,.92);
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{
  outline:0;
  border-color:var(--teal);
  background:#fff;
  box-shadow:0 0 0 4px rgba(99,183,192,.12),0 8px 26px rgba(10,43,89,.05);
}
.map-placeholder,.map-large{border-color:rgba(99,183,192,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}

/* About page */
.about-pillars>div,.about-highlight{background:linear-gradient(145deg,#fff,#f9fcfd)}
.about-pillar-icon{box-shadow:0 12px 28px rgba(99,183,192,.16)}
.about-timeline li:before{box-shadow:0 0 0 7px rgba(99,183,192,.10)}

/* Certificates */
.certificate-card__media{background:linear-gradient(145deg,#f9fcfd,#eef7f8)}
.certificate-card__zoom{background:linear-gradient(135deg,#0b2b59,#164a83);box-shadow:0 10px 24px rgba(11,43,89,.20)}
.certificate-note{box-shadow:0 14px 42px rgba(10,43,89,.05)}

/* CTA */
.final-cta__box{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(99,183,192,.20);
  box-shadow:0 28px 80px rgba(10,43,89,.15);
  background:
    radial-gradient(480px 260px at 88% 12%,rgba(99,183,192,.20),transparent 72%),
    linear-gradient(135deg,#08264f,#103b72);
}
.final-cta__box:after{
  content:"";
  position:absolute;
  width:260px;height:260px;
  right:-150px;bottom:-170px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.015);
  pointer-events:none;
}

/* Footer: richer but restrained */
.site-footer{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(600px 380px at 92% 0,rgba(99,183,192,.10),transparent 72%),
    linear-gradient(145deg,#071f42 0%,#0a2a57 56%,#0d3263 100%);
}
.site-footer:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,#75cbd1,transparent);
  opacity:.8;
}
.footer-grid{position:relative;z-index:1}
.footer-contact__row{transition:transform .2s ease,color .2s ease}.footer-contact__row:hover{transform:translateX(3px)}
.footer-legal{border-top-color:rgba(255,255,255,.10)}
.footer-bottom{border-top-color:rgba(255,255,255,.08)}

/* Desktop quick contact */
.quick-contact{
  background:rgba(255,255,255,.93);
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  border-color:rgba(99,183,192,.26);
  box-shadow:0 24px 70px rgba(10,43,89,.20);
}

/* mobile bar — glass dock */
.mobile-bar{
  border:1px solid rgba(116,198,205,.18);
  background:rgba(7,34,70,.96);
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  box-shadow:0 18px 50px rgba(3,21,44,.28),0 0 0 1px rgba(255,255,255,.025) inset;
}

/* Desktop pointer spotlight helper */
.premium-hover{will-change:transform}

@media(max-width:960px){
  .eyebrow{padding:6px 10px 6px 25px}
  .primary-nav>a:after,.nav-group>button:after{display:none}
}

@media(max-width:620px){
  .pcpp-scroll-progress{height:2px}
  .section{padding-top:68px;padding-bottom:68px}
  .hero{padding-top:48px}
  .hero-photo{outline-offset:3px}
  .service-card{min-height:0}
  :is(.page-hero,.about-hero,.profile-hero):before{width:300px;height:300px;right:-200px;top:-190px}
  .accordion details,.faq-section details{border-radius:16px;padding-inline:15px}
  .price-section{padding:17px;border-radius:18px}
  .final-cta__box{border-radius:24px}
  .site-footer{padding-bottom:105px}
}

@media(prefers-reduced-motion:reduce){
  .btn:before{display:none}
  .premium-hover{will-change:auto}
}


/* v1.59 — lockup logo w nagłówku wyrównany jak w stopce */
.site-header .brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.site-header .brand img{
  flex:0 0 auto;
  align-self:center;
}
.site-header .brand span{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-self:stretch;
  line-height:1.12;
}
.site-header .brand strong{
  line-height:1.08;
}
.site-header .brand small{
  line-height:1.28;
  margin-top:4px;
}

@media (max-width:620px){
  .site-header .header__inner{
    position:relative;
    justify-content:center;
  }
  .site-header .brand{
    flex:0 1 auto;
    width:max-content;
    max-width:calc(100% - 62px);
    margin:0 auto;
    justify-content:center;
  }
  .site-header .brand img{
    width:46px;
    height:46px;
    flex:0 0 46px;
  }
  .site-header .brand span{
    min-height:46px;
    justify-content:center;
    text-align:left;
  }
  .site-header .nav-toggle{
    position:absolute;
    right:0;
    top:50%;
    margin:0;
    transform:translateY(-50%);
  }
}

@media (max-width:370px){
  .site-header .brand{
    gap:8px;
    max-width:calc(100% - 56px);
  }
  .site-header .brand img{
    width:42px;
    height:42px;
    flex-basis:42px;
  }
  .site-header .brand span{
    min-height:42px;
  }
}


/* v1.60 — logo w nagłówku pozostaje po lewej; lockup jak w stopce */
.site-header .header__inner{
  justify-content:flex-start !important;
}
.site-header .brand{
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:12px !important;
}
.site-header .brand img{
  flex:0 0 auto !important;
  align-self:center !important;
}
.site-header .brand span{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:center !important;
  text-align:center !important;
  line-height:1.12 !important;
  min-width:0 !important;
}
.site-header .brand strong{
  width:100%;
  text-align:center !important;
  line-height:1.08 !important;
}
.site-header .brand small{
  width:100%;
  max-width:220px !important;
  margin-top:4px !important;
  text-align:center !important;
  line-height:1.28 !important;
}

@media (max-width:620px){
  .site-header .header__inner{
    justify-content:flex-start !important;
    gap:12px !important;
  }
  .site-header .brand{
    flex:0 1 auto !important;
    max-width:calc(100% - 58px) !important;
    margin:0 !important;
    gap:10px !important;
  }
  .site-header .brand img{
    width:50px !important;
    height:50px !important;
    flex:0 0 50px !important;
  }
  .site-header .brand span{
    min-height:50px !important;
    align-items:center !important;
    text-align:center !important;
  }
  .site-header .brand strong{
    font-size:.86rem !important;
    white-space:nowrap;
  }
  .site-header .brand small{
    display:block !important;
    max-width:210px !important;
    font-size:.64rem !important;
    line-height:1.24 !important;
  }
  .site-header .nav-toggle{
    position:static !important;
    top:auto !important;
    right:auto !important;
    transform:none !important;
    margin-left:auto !important;
    flex:0 0 auto !important;
  }
}

@media (max-width:370px){
  .site-header .brand{
    gap:8px !important;
    max-width:calc(100% - 52px) !important;
  }
  .site-header .brand img{
    width:44px !important;
    height:44px !important;
    flex-basis:44px !important;
  }
  .site-header .brand span{
    min-height:44px !important;
  }
  .site-header .brand strong{
    font-size:.80rem !important;
  }
  .site-header .brand small{
    max-width:190px !important;
    font-size:.59rem !important;
  }
}


/* v1.61 — desktopowy lockup logo w stopce jak w nagłówku */
@media (min-width:961px){
  .site-footer .brand--footer{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:16px !important;
    width:max-content !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .site-footer .brand--footer img{
    width:78px !important;
    height:78px !important;
    flex:0 0 78px !important;
    object-fit:contain !important;
    align-self:center !important;
  }
  .site-footer .brand--footer span{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:78px !important;
    min-width:0 !important;
    text-align:center !important;
    line-height:1.12 !important;
  }
  .site-footer .brand--footer strong{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    color:#fff !important;
    font-size:1.15rem !important;
    font-weight:800 !important;
    line-height:1.08 !important;
    letter-spacing:-.018em !important;
    text-align:center !important;
    white-space:nowrap !important;
  }
  .site-footer .brand--footer small{
    display:block !important;
    width:100% !important;
    max-width:285px !important;
    margin-top:6px !important;
    color:#b7c9d7 !important;
    font-size:.76rem !important;
    font-weight:700 !important;
    line-height:1.24 !important;
    text-align:center !important;
  }
  .site-footer .footer-brand p{
    margin-top:20px !important;
  }
}


/* v1.62 — niezależna wysokość kart zespołu po rozwinięciu bio */
@media (min-width:621px){
  .team-specialists-section .team-grid{
    align-items:start !important;
  }
  .team-specialists-section .team-card{
    height:auto !important;
    align-self:start !important;
  }
  .team-specialists-section .team-card .team-body{
    flex:0 1 auto !important;
  }
  .team-grid--psychology .team-about,
  .team-grid--psychiatrists .team-about{
    margin-top:18px !important;
    padding-top:0 !important;
  }
}


/* v1.63 — niezależne kolumny masonry na stronie Zespół.
   Rozwinięcie bio przesuwa wyłącznie karty znajdujące się niżej w tej samej kolumnie. */
@media (min-width:901px){
  .team-specialists-section .team-grid.team-grid--masonry{
    position:relative !important;
    display:block !important;
    width:100%;
    min-height:1px;
  }
  .team-specialists-section .team-grid.team-grid--masonry > .team-card{
    position:absolute !important;
    margin:0 !important;
    height:auto !important;
    align-self:auto !important;
    transition:
      top .28s cubic-bezier(.2,.8,.2,1),
      left .28s cubic-bezier(.2,.8,.2,1),
      transform .24s ease,
      box-shadow .24s ease,
      border-color .24s ease !important;
  }
  .team-specialists-section .team-grid.team-grid--masonry > .team-card .team-body{
    height:auto !important;
    min-height:0 !important;
    flex:0 1 auto !important;
  }
  .team-specialists-section .team-grid.team-grid--masonry .team-about{
    margin-top:18px !important;
    padding-top:0 !important;
  }
}
@media (prefers-reduced-motion:reduce){
  .team-specialists-section .team-grid.team-grid--masonry > .team-card{
    transition:none !important;
  }
}


/* v1.64 — równa siatka zamkniętych kart zespołu na desktopie */
@media (min-width:901px){
  .team-specialists-section .team-grid.team-grid--masonry > .team-card.team-card--collapsed{
    overflow:hidden !important;
  }
  .team-specialists-section .team-grid.team-grid--masonry > .team-card.team-card--collapsed .team-body{
    display:flex !important;
    flex:1 1 auto !important;
    flex-direction:column !important;
    min-height:0 !important;
  }
  .team-specialists-section .team-grid.team-grid--masonry > .team-card.team-card--collapsed .team-about{
    margin-top:auto !important;
  }
  .team-specialists-section .team-grid.team-grid--masonry > .team-card.team-card--expanded{
    overflow:visible !important;
  }
  /* Tryb techniczny do pomiaru wysokości karty w stanie zamkniętym. */
  .team-specialists-section .team-card.team-card--measure-closed .team-about__content{
    display:none !important;
  }
  .team-specialists-section .team-card.team-card--measure-closed .team-body{
    display:flex !important;
    flex:1 1 auto !important;
    flex-direction:column !important;
  }
  .team-specialists-section .team-card.team-card--measure-closed .team-about{
    margin-top:auto !important;
  }
}


/* v1.65 — administracja: równe zamknięte kafelki + niezależne kolumny masonry */
@media (min-width:901px){
  .team-admin-section .admin-grid--profiles.admin-grid--masonry{
    position:relative !important;
    display:block !important;
    width:100% !important;
    min-height:1px;
  }
  .team-admin-section .admin-grid--profiles.admin-grid--masonry > .admin-card{
    position:absolute !important;
    margin:0 !important;
    height:auto !important;
    min-height:0;
    align-self:auto !important;
    transition:
      top .28s cubic-bezier(.2,.8,.2,1),
      left .28s cubic-bezier(.2,.8,.2,1),
      transform .24s ease,
      box-shadow .24s ease,
      border-color .24s ease !important;
  }
  .team-admin-section .admin-grid--profiles.admin-grid--masonry > .admin-card.admin-card--collapsed{
    overflow:hidden !important;
  }
  .team-admin-section .admin-grid--profiles.admin-grid--masonry > .admin-card .admin-card__body{
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    min-height:0 !important;
    height:100% !important;
  }
  .team-admin-section .admin-grid--profiles.admin-grid--masonry > .admin-card.admin-card--collapsed .team-about--admin{
    margin-top:auto !important;
  }
  .team-admin-section .admin-grid--profiles.admin-grid--masonry > .admin-card.admin-card--expanded{
    overflow:visible !important;
  }

  /* Stan techniczny do pomiaru jednakowej wysokości zamkniętych kart. */
  .team-admin-section .admin-card.admin-card--measure-closed .team-about__content{
    display:none !important;
  }
  .team-admin-section .admin-card.admin-card--measure-closed .admin-card__body{
    display:flex !important;
    flex-direction:column !important;
    height:100% !important;
  }
  .team-admin-section .admin-card.admin-card--measure-closed .team-about--admin{
    margin-top:auto !important;
  }

  /* Brak zdjęcia lub opisu nie wpływa na rozmiar zamkniętego kafelka. */
  .team-admin-section .admin-grid--profiles.admin-grid--masonry > .admin-card:not(.admin-card--profile){
    grid-template-columns:92px minmax(0,1fr) !important;
  }
  .team-admin-section .admin-grid--profiles.admin-grid--masonry > .admin-card:not(.admin-card--profile) .admin-card__icon{
    width:86px !important;
    height:86px !important;
    border-radius:50% !important;
    align-self:start;
  }
}
@media (prefers-reduced-motion:reduce){
  .team-admin-section .admin-grid--profiles.admin-grid--masonry > .admin-card{
    transition:none !important;
  }
}

/* v1.66 — dopracowanie sekcji O nas + bezpieczny odstęp nad buttonem bio lekarza */
@media (min-width:901px){
  /* Skrócenie wizualnej wysokości prawego boxu w sekcji O nas,
     żeby nie zostawała zbyt duża pusta przestrzeń pod tekstem po lewej. */
  .about-intro-grid{
    grid-template-columns:minmax(0,1.42fr) minmax(360px,.78fr);
    gap:42px;
    align-items:start;
  }
  .about-highlight{
    padding:24px;
  }
  .about-highlight h2{
    font-size:1.42rem;
    margin-bottom:10px;
  }
  .about-highlight .check-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 18px;
    margin:18px 0 20px;
  }
  .about-highlight .check-list li{
    padding:0;
    align-items:flex-start;
  }

  /* Dłuższy zajawkowy opis lekarza nie może dotykać przycisku rozwinięcia. */
  .team-specialists-section .team-card__intro,
  .team-specialists-section .team-grid--psychiatrists .team-card--doctor .team-card__intro{
    margin:0 0 18px !important;
  }
  .team-specialists-section .team-grid--psychology .team-about,
  .team-specialists-section .team-grid--psychiatrists .team-about{
    padding-top:16px;
  }
}

@media (max-width:1100px) and (min-width:901px){
  .about-highlight .check-list{
    grid-template-columns:1fr;
  }
}

/* v1.67 — premium home team slider polish */
@media (min-width: 901px){
  .team-home-section .team-carousel{
    position:relative;
    padding-inline:52px;
    overflow:hidden;
  }

  .team-home-section .team-row{
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    overscroll-behavior-y:none;
    touch-action:pan-x;
    padding-bottom:12px;
    scroll-padding-inline:0;
  }

  .team-home-section .team-card{
    min-height:100%;
  }

  .team-home-section .team-carousel__arrow{
    top:50%;
    transform:translateY(-50%);
    width:56px;
    height:56px;
    border:1px solid rgba(99,183,192,.38);
    background:linear-gradient(180deg,#ffffff 0%,#f3fbfc 100%);
    color:var(--navy);
    box-shadow:0 18px 40px rgba(10,43,89,.16);
    z-index:6;
  }

  .team-home-section .team-carousel__arrow span{
    font-size:2.25rem;
    font-weight:800;
    line-height:1;
    margin-top:-2px;
  }

  .team-home-section .team-carousel__arrow:hover{
    transform:translateY(-50%) scale(1.06);
    background:linear-gradient(180deg,#ffffff 0%,#eaf8fa 100%);
    border-color:rgba(99,183,192,.62);
    box-shadow:0 22px 48px rgba(10,43,89,.19);
  }

  .team-home-section .team-carousel__arrow:disabled{
    opacity:.72;
    cursor:not-allowed;
    box-shadow:0 12px 28px rgba(10,43,89,.09);
    background:linear-gradient(180deg,#fbfdfd 0%,#f4f8fa 100%);
  }

  .team-home-section .team-carousel__arrow--prev{
    left:10px;
  }

  .team-home-section .team-carousel__arrow--next{
    right:10px;
  }
}

@media (max-width: 1200px) and (min-width: 901px){
  .team-home-section .team-carousel{
    padding-inline:46px;
  }

  .team-home-section .team-carousel__arrow{
    width:52px;
    height:52px;
  }

  .team-home-section .team-carousel__arrow--prev{
    left:6px;
  }

  .team-home-section .team-carousel__arrow--next{
    right:6px;
  }
}


/* v1.68 — premium polish całego motywu */

/* Przyciski: spójny, bardziej butikowy charakter bez przesadnych animacji. */
.btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,border-color .22s ease,background .22s ease,color .22s ease;
}
.btn:after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-80%;
  left:-38%;
  width:34%;
  height:260%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);
  transform:rotate(18deg) translateX(-180%);
  transition:transform .55s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.btn:hover:after{transform:rotate(18deg) translateX(520%)}
.btn:hover{transform:translateY(-2px)}
.btn--primary:hover{box-shadow:0 16px 34px rgba(11,43,89,.20)}
.btn--secondary:hover,.btn--ghost:hover{box-shadow:0 12px 28px rgba(11,43,89,.09)}
.btn:focus-visible{
  outline:3px solid rgba(99,183,192,.30);
  outline-offset:3px;
}
.text-link svg{transition:transform .22s ease}
.text-link:hover svg{transform:translateX(4px)}

/* Karty usług i treści: bardziej elegancka głębia. */
.service-card,
.content-card,
.side-cta,
.price-card,
.pricing-table,
.booking-card,
.about-highlight,
.prepare-visit-card{
  box-shadow:0 16px 44px rgba(10,43,89,.055);
}
.service-card:before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,var(--teal),rgba(99,183,192,.18),transparent 72%);
  opacity:.75;
}
.service-card .service-icon{
  transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease;
}
.service-card:hover .service-icon{
  transform:translateY(-2px) rotate(-3deg);
  box-shadow:0 12px 24px rgba(99,183,192,.24);
}

/* FAQ: wyraźniejszy stan aktywny i lepszy feedback. */
.accordion details{
  transition:border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.accordion details:hover{
  border-color:rgba(99,183,192,.42);
  box-shadow:0 12px 28px rgba(10,43,89,.05);
}
.accordion details[open]{
  border-color:rgba(99,183,192,.55);
  background:linear-gradient(180deg,#fff 0%,#fbfefe 100%);
  box-shadow:0 16px 34px rgba(10,43,89,.065);
}
.accordion summary{
  transition:color .2s ease;
}
.accordion details[open] summary{color:#247f8a}

/* Cennik: delikatne prowadzenie wzroku. */
.price-row{
  position:relative;
}
.price-row:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:1px;
  background:linear-gradient(90deg,var(--teal),transparent);
  transition:width .28s ease;
}
.price-row:hover:after{width:100%}

/* Slider zespołu na stronie głównej: subtelny premium frame. */
.team-home-section .team-carousel{
  border-radius:28px;
}
@media (min-width:901px){
  .team-home-section .team-carousel:before,
  .team-home-section .team-carousel:after{
    content:"";
    position:absolute;
    z-index:5;
    top:0;
    bottom:12px;
    width:36px;
    pointer-events:none;
  }
  .team-home-section .team-carousel:before{
    left:50px;
    background:linear-gradient(90deg,rgba(243,250,251,.92),rgba(243,250,251,0));
  }
  .team-home-section .team-carousel:after{
    right:50px;
    background:linear-gradient(270deg,rgba(243,250,251,.92),rgba(243,250,251,0));
  }
  .team-home-section .team-card{
    transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,border-color .24s ease;
  }
  .team-home-section .team-card:hover{
    transform:translateY(-5px);
    border-color:rgba(99,183,192,.48);
    box-shadow:0 22px 50px rgba(10,43,89,.10);
  }
}

/* Stopka i kontakt: drobne wykończenie. */
.footer-contact a,
.site-footer a{
  text-underline-offset:3px;
}
.footer-contact a{transition:opacity .2s ease,transform .2s ease}
.footer-contact a:hover{opacity:.88}

/* Mobilny pasek CTA: bardziej premium, ale nadal czytelny. */
@media (max-width:900px){
  .mobile-bar{
    background:linear-gradient(180deg,rgba(12,43,82,.98),rgba(7,29,62,.98));
    border-color:rgba(142,222,227,.18);
    box-shadow:0 18px 48px rgba(4,20,42,.30),inset 0 1px 0 rgba(255,255,255,.06);
  }
  .mobile-bar a{
    border-radius:13px;
    transition:background .18s ease,transform .18s ease;
  }
  .mobile-bar a:active{
    transform:scale(.97);
    background:rgba(255,255,255,.06);
  }
  .mobile-bar svg{
    filter:drop-shadow(0 4px 8px rgba(99,183,192,.12));
  }
}

/* Premium bez utraty dostępności i wydajności. */
@media (prefers-reduced-motion:reduce){
  .btn,
  .btn:after,
  .service-card .service-icon,
  .text-link svg,
  .price-row:after,
  .team-home-section .team-card,
  .mobile-bar a{
    transition:none!important;
  }
  .btn:hover,
  .service-card:hover .service-icon,
  .team-home-section .team-card:hover{
    transform:none!important;
  }
}


/* v1.69 — powrót sekcji „Najczęstsze powody zgłoszeń” do stylu v1.67.
   Wszystkie pozostałe elementy motywu zachowują polish z v1.68. */
.services-home-section .service-card{
  min-height:248px;
  padding:24px;
  background:linear-gradient(145deg,#fff 0%,#fbfefe 100%);
  border-color:rgba(177,207,219,.62);
  box-shadow:0 15px 46px rgba(16,55,84,.055);
}
.services-home-section .service-card:before{
  content:"";
  position:absolute;
  top:-1px;
  left:22px;
  right:22px;
  width:auto;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,transparent,var(--teal),transparent);
  opacity:0;
  transition:opacity .25s ease;
}
.services-home-section .service-card:hover:before{
  opacity:.78;
}
.services-home-section .service-icon{
  width:48px;
  height:48px;
  border-radius:14px;
  display:grid;
  place-items:center;
  margin-bottom:25px;
  color:var(--navy);
  background:linear-gradient(145deg,#a4e0e4,#63b7c0);
  box-shadow:0 10px 25px rgba(55,157,167,.14),inset 0 1px 0 rgba(255,255,255,.75);
  transition:none;
}
.services-home-section .service-icon svg{
  width:24px;
  height:24px;
  stroke-width:1.75;
}
.services-home-section .service-card:hover .service-icon{
  transform:none;
  box-shadow:0 10px 25px rgba(55,157,167,.14),inset 0 1px 0 rgba(255,255,255,.75);
}
@media(max-width:620px){
  .services-home-section .service-card{
    min-height:0;
  }
}


/* v1.70 — slider zespołu: pionowy scroll strony + hover bez obcinania karty */
@media (min-width:901px){
  .team-home-section .team-row{
    /* Nie blokujemy pionowego wheel/trackpada, gdy kursor znajduje się nad sliderem. */
    overscroll-behavior-x:contain !important;
    overscroll-behavior-y:auto !important;
    touch-action:auto !important;
  }

  /* Karta nie wychodzi już ponad viewport poziomego scroller'a. */
  .team-home-section .team-card:hover{
    transform:none !important;
    border-color:rgba(99,183,192,.52) !important;
    box-shadow:0 24px 54px rgba(10,43,89,.115) !important;
  }

  /* Premium feedback zostaje na samym zdjęciu, więc nic nie jest przycinane. */
  .team-home-section .team-card:hover .team-photo img{
    transform:scale(1.025) !important;
  }
}



/* v1.71 — slider arrows without shadow + subtle image zoom + refreshed contact page */
.team-home-section .team-carousel__arrow,
.team-home-section .team-carousel__arrow:hover,
.team-home-section .team-carousel__arrow:disabled{
  box-shadow:none !important;
}

@media (min-width:901px){
  .team-home-section .team-card{
    overflow:hidden;
  }

  .team-home-section .team-card:hover{
    transform:none !important;
    border-color:rgba(99,183,192,.56) !important;
    box-shadow:0 20px 42px rgba(10,43,89,.09) !important;
  }

  .team-home-section .team-card .team-photo img{
    transition:transform .28s ease;
    transform-origin:center top;
  }

  .team-home-section .team-card:hover .team-photo img{
    transform:scale(1.035) !important;
  }
}

.contact-page-grid{
  align-items:start;
}

.contact-info{
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none !important;
}

.contact-stack,
.contact-panel-grid{
  display:grid;
  gap:18px;
}

.contact-panel{
  position:relative;
  display:grid;
  grid-template-columns:64px 1fr;
  gap:18px;
  align-items:flex-start;
  padding:26px 26px 24px;
  background:linear-gradient(145deg,#ffffff 0%,#fbfefe 100%);
  border:1px solid rgba(177,207,219,.58);
  border-radius:24px;
  box-shadow:0 16px 44px rgba(10,43,89,.055);
}

.contact-panel:before{
  content:"";
  position:absolute;
  left:26px;
  right:26px;
  top:-1px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--teal),transparent);
  opacity:.75;
}

.contact-panel--phone{
  padding-block:28px;
}

.contact-panel__icon{
  width:56px;
  height:56px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#a8e2e6,#63b7c0);
  color:var(--navy);
  box-shadow:0 10px 24px rgba(55,157,167,.14),inset 0 1px 0 rgba(255,255,255,.7);
}

.contact-panel__icon svg{
  width:26px;
  height:26px;
  stroke-width:1.8;
}

.contact-panel__eyebrow{
  display:inline-block;
  margin-bottom:8px;
  color:#2c8e98;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.contact-panel h2,
.contact-panel h3{
  margin:0 0 10px;
}

.contact-panel h2{
  font-size:1.75rem;
}

.contact-panel h3{
  font-size:1.16rem;
}

.contact-big{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin:0 0 8px;
  font-size:clamp(2rem,2vw,2.45rem);
  line-height:1.1;
  color:var(--navy);
  box-shadow:none !important;
}

.contact-big svg{
  flex:0 0 auto;
  width:1.06em;
  height:1.06em;
  color:var(--teal);
}

.contact-panel__meta{
  margin:0 0 10px;
  color:#466173;
  font-weight:700;
}

.contact-panel__note{
  margin:0;
  font-size:.88rem;
  line-height:1.55;
  color:#6b7a88;
}

.contact-mail-link{
  font-weight:800;
  color:var(--navy);
  word-break:break-word;
}

.contact-mail-link:hover{
  color:#1e4d86;
}

.booking-card{
  position:relative;
  padding:32px;
  border:1px solid rgba(177,207,219,.62);
  border-radius:28px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfefe 100%);
  box-shadow:0 20px 56px rgba(10,43,89,.075);
}

.booking-card:before{
  content:"";
  position:absolute;
  top:-1px;
  left:32px;
  right:32px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--teal),transparent);
  opacity:.82;
}

.booking-card__intro p{
  max-width:720px;
}

.booking-form{
  gap:16px;
}

.booking-form label{
  gap:8px;
  font-size:.84rem;
}

.booking-form label small{
  color:#6c7a87;
  font-weight:600;
}

.booking-form input,
.booking-form select{
  min-height:56px;
  padding:12px 14px;
  border-radius:14px;
}

.booking-method-note{
  grid-column:1 / -1;
  margin:-2px 0 2px;
  padding:12px 14px;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(99,183,192,.10),rgba(47,127,183,.05));
  border:1px solid rgba(99,183,192,.24);
  color:#365263;
  font-size:.82rem;
  line-height:1.45;
}

@media (min-width:901px){
  .contact-panel-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:900px){
  .contact-panel,
  .contact-panel--phone{
    grid-template-columns:1fr;
    gap:14px;
  }

  .contact-panel__icon{
    width:52px;
    height:52px;
  }

  .booking-card{
    padding:28px 22px;
  }

  .booking-card:before{
    left:22px;
    right:22px;
  }
}

@media (max-width:620px){
  .contact-big{
    font-size:1.65rem;
  }

  .contact-panel,
  .booking-card{
    border-radius:22px;
  }

  .booking-method-note{
    font-size:.8rem;
  }
}


/* v1.72 — Obara profile photo refinement + certificate heading stack */
.profile-photo--obara{
  max-width:430px;
}

.profile-photo--obara .profile-photo__orb{
  position:relative;
  width:100%;
  aspect-ratio:1 / 1;
  overflow:hidden;
  border-radius:50%;
  background:radial-gradient(circle at 50% 38%, #ffffff 0%, #fbfdfe 68%, #f2f8fa 100%);
  box-shadow:0 0 0 10px rgba(99,183,192,.08), 0 22px 52px rgba(20,48,76,.08);
}

.profile-photo--obara .profile-photo__orb::after{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:50%;
  border:1px solid rgba(99,183,192,.14);
  pointer-events:none;
}

.profile-photo--obara img{
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  object-position:center 18%;
  border-radius:50%;
  background:#fff;
  box-shadow:none;
}

.certificate-group__head{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  padding-bottom:18px;
  margin-bottom:22px;
}

.certificate-group__head .eyebrow{
  margin:0;
}

.certificate-group__head h3{
  margin:0;
  max-width:720px;
  font-size:clamp(1.5rem,2vw,2rem);
  line-height:1.12;
}

@media (max-width:900px){
  .profile-hero--obara .profile-grid{
    gap:28px;
  }

  .profile-photo--obara{
    max-width:min(100%, 390px);
  }
}

@media (max-width:620px){
  .profile-photo--obara{
    max-width:min(84vw, 320px) !important;
  }

  .profile-photo--obara .profile-photo__orb{
    box-shadow:0 0 0 8px rgba(99,183,192,.08), 0 16px 34px rgba(20,48,76,.08);
  }

  .profile-photo--obara .profile-photo__orb::after{
    inset:14px;
  }

  .certificate-group__head{
    gap:8px;
    margin-bottom:16px;
  }
}


/* v1.73 — Premium+ polish for Anna Mierzwińska-Obara profile and certificates */
.profile-hero--obara{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(680px 420px at 10% 18%, rgba(99,183,192,.13), transparent 70%),
    radial-gradient(520px 340px at 92% 78%, rgba(47,127,183,.07), transparent 72%),
    linear-gradient(135deg,#f6fbfc 0%,#ffffff 56%,#f7fbfd 100%);
  border-bottom:1px solid rgba(99,183,192,.15);
}

.profile-hero--obara::before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  left:-190px;
  bottom:-220px;
  border-radius:50%;
  border:1px solid rgba(99,183,192,.14);
  box-shadow:0 0 0 72px rgba(99,183,192,.025),0 0 0 144px rgba(99,183,192,.014);
  pointer-events:none;
}

.profile-hero--obara .profile-grid{
  position:relative;
  z-index:1;
  gap:clamp(52px,6vw,88px);
}

.profile-photo--obara{
  position:relative;
  isolation:isolate;
}

.profile-photo--obara::before{
  content:"";
  position:absolute;
  inset:-22px;
  z-index:-2;
  border-radius:50%;
  background:conic-gradient(from 210deg, transparent 0 42%, rgba(99,183,192,.30) 48%, rgba(99,183,192,.06) 58%, transparent 66% 100%);
  opacity:.72;
  animation:obara-premium-orbit 20s linear infinite;
}

.profile-photo--obara::after{
  content:"";
  position:absolute;
  right:2%;
  bottom:10%;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#6ec4cc;
  box-shadow:0 0 0 8px rgba(99,183,192,.12),0 8px 18px rgba(28,111,122,.20);
  z-index:4;
}

@keyframes obara-premium-orbit{
  to{transform:rotate(360deg)}
}

.profile-photo--obara .profile-photo__orb{
  border:1px solid rgba(255,255,255,.96);
  box-shadow:
    0 0 0 9px rgba(99,183,192,.07),
    0 26px 70px rgba(20,48,76,.12),
    inset 0 0 0 1px rgba(99,183,192,.06);
}

.profile-copy--obara .eyebrow{
  margin-bottom:18px;
  padding:7px 12px 7px 26px;
  border:1px solid rgba(99,183,192,.22);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  box-shadow:0 8px 22px rgba(20,48,76,.035);
  backdrop-filter:blur(9px);
}

.profile-copy--obara h1{
  max-width:900px;
  margin-bottom:20px;
  letter-spacing:-.045em;
  line-height:.98;
}

.profile-copy--obara .lead{
  max-width:760px;
  color:#4d6073;
  font-size:clamp(1.05rem,1.4vw,1.24rem);
  line-height:1.68;
}

.profile-copy--obara .profile-facts{
  gap:14px;
  margin:30px 0 28px;
}

.profile-copy--obara .profile-facts div{
  position:relative;
  overflow:hidden;
  padding:17px 18px 16px;
  border:1px solid rgba(99,183,192,.23);
  border-radius:17px;
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(247,252,253,.94));
  box-shadow:0 12px 30px rgba(20,48,76,.045);
}

.profile-copy--obara .profile-facts div::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,var(--teal),rgba(99,183,192,.16),transparent 82%);
}

.profile-copy--obara .profile-facts strong{
  font-size:1.45rem;
  letter-spacing:-.025em;
}

/* Certificates: each category becomes a refined editorial panel. */
.obara-certificates-section{
  padding-top:clamp(72px,8vw,118px);
  background:
    radial-gradient(560px 420px at 90% 4%,rgba(99,183,192,.08),transparent 70%),
    linear-gradient(180deg,#f8fcfd 0%,#ffffff 48%,#f8fbfc 100%);
}

.obara-certificates-head{
  max-width:920px;
  margin-bottom:58px;
}

.obara-certificates-head .eyebrow{
  margin-bottom:18px;
}

.obara-certificates-head h2{
  margin-bottom:20px;
  max-width:890px;
  letter-spacing:-.04em;
  line-height:1.02;
}

.obara-certificates-head .lead-small{
  max-width:820px;
  font-size:1.02rem;
  color:#5a6e7f;
}

.certificate-group{
  position:relative;
  margin-top:64px;
  padding:30px;
  border:1px solid rgba(177,207,219,.55);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(248,252,253,.92));
  box-shadow:0 24px 70px rgba(20,48,76,.055);
}

.certificate-group:first-child{margin-top:0}

.certificate-group::before{
  content:"";
  position:absolute;
  inset:-1px 28px auto;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(99,183,192,.95),rgba(99,183,192,.22),transparent);
}

.certificate-group__head{
  position:relative;
  padding:0 0 22px;
  margin-bottom:24px;
  border-bottom:1px solid rgba(177,207,219,.52);
}

.certificate-group__head .eyebrow{
  padding:7px 12px 7px 25px;
  border:1px solid rgba(99,183,192,.22);
  border-radius:999px;
  background:#f2fafb;
}

.certificate-group__head h3{
  font-size:clamp(1.62rem,2.25vw,2.18rem);
  letter-spacing:-.025em;
}

.certificate-grid{
  gap:22px;
}

.certificate-card{
  position:relative;
  border-color:rgba(177,207,219,.62);
  border-radius:22px;
  box-shadow:0 14px 34px rgba(20,48,76,.045);
  background:linear-gradient(180deg,#ffffff,#fbfdfd);
  transform:translateZ(0);
}

.certificate-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(145deg,rgba(99,183,192,.06),transparent 40%);
  transition:opacity .25s ease;
}

.certificate-card:hover::before{opacity:1}

.certificate-card:hover{
  transform:translateY(-5px);
  border-color:rgba(99,183,192,.62);
  box-shadow:0 24px 58px rgba(20,48,76,.10);
}

.certificate-card__media{
  height:250px;
  padding:18px;
  background:
    radial-gradient(circle at 84% 11%,rgba(99,183,192,.13),transparent 32%),
    linear-gradient(145deg,#f9fcfd,#f1f7f9);
  border-bottom:1px solid rgba(177,207,219,.48);
}

.certificate-card__media img{
  position:relative;
  z-index:1;
  filter:drop-shadow(0 10px 16px rgba(20,48,76,.11));
  transition:transform .30s cubic-bezier(.2,.8,.2,1),filter .30s ease;
}

.certificate-card:hover .certificate-card__media img{
  transform:scale(1.035);
  filter:drop-shadow(0 14px 20px rgba(20,48,76,.15));
}

.certificate-card__zoom{
  z-index:2;
  width:38px;
  height:38px;
  right:15px;
  bottom:15px;
  border:1px solid rgba(255,255,255,.70);
  background:rgba(11,43,89,.92);
  box-shadow:none;
  backdrop-filter:blur(8px);
}

.certificate-card__body{
  position:relative;
  z-index:1;
  padding:20px 21px 23px;
}

.certificate-card__body>span{
  margin-bottom:9px;
  font-size:.73rem;
  letter-spacing:.055em;
}

.certificate-card__body h3{
  margin-bottom:9px;
  font-size:1.04rem;
  line-height:1.38;
}

.certificate-card__body p{
  font-size:.8rem;
  line-height:1.62;
}

.certificate-note{
  margin-top:34px;
  padding:20px 22px;
  border-color:rgba(99,183,192,.28);
  border-radius:20px;
  background:linear-gradient(135deg,#ffffff,#f5fbfc);
  box-shadow:0 12px 34px rgba(20,48,76,.04);
}

@media (max-width:960px){
  .certificate-group{
    padding:24px;
    border-radius:26px;
  }
}

@media (max-width:620px){
  .profile-hero--obara{
    padding-top:34px !important;
  }

  .profile-photo--obara::before{
    inset:-15px;
    opacity:.56;
  }

  .profile-photo--obara::after{
    width:11px;
    height:11px;
    right:1%;
    bottom:12%;
    box-shadow:0 0 0 6px rgba(99,183,192,.11);
  }

  .profile-copy--obara .eyebrow{
    margin-bottom:14px;
    padding:9px 15px 9px 26px;
  }

  .profile-copy--obara .profile-facts{
    grid-template-columns:1fr;
    gap:10px;
  }

  .profile-copy--obara .profile-facts div{
    padding:14px 15px;
  }

  .obara-certificates-section{
    padding-top:64px;
  }

  .obara-certificates-head{
    margin-bottom:36px;
  }

  .certificate-group{
    margin-left:-4px;
    margin-right:-4px;
    margin-top:44px;
    padding:18px;
    border-radius:24px;
  }

  .certificate-group::before{
    inset:-1px 20px auto;
  }

  .certificate-group__head{
    padding-bottom:17px;
    margin-bottom:18px;
  }

  .certificate-card__media{
    height:270px;
  }
}

@media (prefers-reduced-motion:reduce){
  .profile-photo--obara::before{animation:none}
}

/* v1.74 — Kontakt: spokojniejszy, czytelny układ bez ściskania kart */
.contact-page-grid{
  grid-template-columns:minmax(0,1fr) minmax(440px,1.06fr) !important;
  gap:34px !important;
  align-items:start !important;
}

.contact-stack{
  display:block !important;
  overflow:hidden;
  padding:0 !important;
  border:1px solid rgba(177,207,219,.62) !important;
  border-radius:28px !important;
  background:#fff !important;
  box-shadow:0 18px 52px rgba(10,43,89,.06) !important;
}

.contact-stack > .contact-panel,
.contact-stack .contact-panel-grid .contact-panel{
  display:grid !important;
  grid-template-columns:58px minmax(0,1fr) !important;
  gap:18px !important;
  align-items:start !important;
  min-width:0;
  margin:0 !important;
  padding:26px 28px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.contact-stack .contact-panel:before{
  display:none !important;
}

.contact-stack > .contact-panel--phone{
  padding:30px 28px !important;
  background:linear-gradient(135deg,rgba(99,183,192,.075),rgba(255,255,255,0) 58%) !important;
}

.contact-panel-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:0 !important;
  border-top:1px solid rgba(177,207,219,.58);
}

.contact-panel-grid .contact-panel + .contact-panel{
  border-left:1px solid rgba(177,207,219,.58) !important;
}

.contact-panel__icon{
  width:54px !important;
  height:54px !important;
  border-radius:17px !important;
  box-shadow:none !important;
  background:linear-gradient(145deg,#b7e8eb,#79c5cc) !important;
}

.contact-panel__icon svg{
  width:25px !important;
  height:25px !important;
}

.contact-panel__eyebrow{
  margin:1px 0 7px !important;
  font-size:.72rem !important;
  letter-spacing:.095em !important;
}

.contact-panel h2,
.contact-panel h3{
  max-width:none !important;
  margin:0 0 10px !important;
  color:var(--navy);
  text-wrap:balance;
}

.contact-panel h2{
  font-size:clamp(1.55rem,2vw,2rem) !important;
  line-height:1.12 !important;
}

.contact-panel h3{
  font-size:1.12rem !important;
  line-height:1.24 !important;
}

.contact-panel p{
  margin:0 0 10px !important;
  line-height:1.55 !important;
}

.contact-panel__note{
  margin-top:10px !important;
  max-width:48ch;
  font-size:.84rem !important;
  line-height:1.55 !important;
}

.contact-panel--phone .contact-big{
  display:inline-block !important;
  margin:2px 0 8px !important;
  font-size:clamp(2rem,3.1vw,2.85rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.035em;
  white-space:nowrap;
}

.contact-panel--phone .contact-big svg{
  display:none !important;
}

.contact-panel__meta{
  margin:0 !important;
  font-size:.95rem !important;
}

.contact-mail-link{
  display:inline-block;
  max-width:100%;
  font-size:.95rem !important;
  line-height:1.4 !important;
  overflow-wrap:anywhere;
  word-break:normal !important;
}

.contact-panel .text-link{
  margin-top:5px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:.9rem;
}

@media (max-width:1240px){
  .contact-page-grid{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }

  .contact-stack{
    max-width:none;
  }

  .contact-panel-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:760px){
  .contact-stack{
    border-radius:22px !important;
  }

  .contact-stack > .contact-panel,
  .contact-stack .contact-panel-grid .contact-panel{
    grid-template-columns:50px minmax(0,1fr) !important;
    gap:14px !important;
    padding:22px 20px !important;
  }

  .contact-panel-grid{
    grid-template-columns:1fr !important;
  }

  .contact-panel-grid .contact-panel + .contact-panel{
    border-left:0 !important;
    border-top:1px solid rgba(177,207,219,.58) !important;
  }

  .contact-panel__icon{
    width:48px !important;
    height:48px !important;
    border-radius:15px !important;
  }

  .contact-panel__icon svg{
    width:22px !important;
    height:22px !important;
  }

  .contact-panel--phone .contact-big{
    font-size:clamp(1.7rem,8vw,2.2rem) !important;
  }
}

@media (max-width:430px){
  .contact-stack > .contact-panel,
  .contact-stack .contact-panel-grid .contact-panel{
    grid-template-columns:1fr !important;
  }

  .contact-panel__icon{
    margin-bottom:2px;
  }

  .contact-panel--phone .contact-big{
    white-space:normal;
  }
}

/* v1.75 — remove square backdrop behind Anna Obara profile portrait */
.profile-photo--obara{
  background:transparent !important;
  padding:0 !important;
  box-shadow:none !important;
}

.profile-photo--obara::before{
  display:none !important;
}

.profile-photo--obara .profile-photo__orb{
  background:transparent !important;
  box-shadow:
    0 0 0 9px rgba(99,183,192,.07),
    0 26px 70px rgba(20,48,76,.12),
    inset 0 0 0 1px rgba(99,183,192,.06) !important;
}

.profile-photo--obara .profile-photo__orb::before{
  content:none !important;
}

/* v1.76 — clean private-visits section without floating card shadow */
.about-private-section .about-private-grid > div{
  box-shadow:none !important;
}

@media (hover:hover) and (pointer:fine){
  .about-private-section .about-private-grid > div:hover{
    box-shadow:none !important;
  }
}


/* v1.77 — contact email integrity + fully flat private-visits section */
.contact-mail-link{
  display:inline-block !important;
  max-width:100% !important;
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  font-size:clamp(.78rem,1.15vw,.95rem) !important;
  letter-spacing:-.012em;
}

/* Switch address / email cards to one column before the e-mail becomes cramped. */
@media (max-width:1080px){
  .contact-panel-grid{
    grid-template-columns:1fr !important;
  }

  .contact-panel-grid .contact-panel + .contact-panel{
    border-left:0 !important;
    border-top:1px solid rgba(177,207,219,.58) !important;
  }

  .contact-mail-link{
    font-size:.95rem !important;
  }
}

/* The private-clinic block is intentionally flat: no cursor glow, hover lift or shadows. */
.about-private-section .about-private-grid > div,
.about-private-section .about-private-grid > div:hover,
.about-private-section .about-private-image,
.about-private-section .about-private-image:hover,
.about-private-section .about-private-image img{
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
}

.about-private-section .about-private-grid > div::after,
.about-private-section .about-private-grid > div::before,
.about-private-section .about-private-image::after,
.about-private-section .about-private-image::before{
  display:none !important;
  content:none !important;
  opacity:0 !important;
  background:none !important;
  box-shadow:none !important;
}

.about-private-section .about-private-grid > div.premium-hover::after,
.about-private-section .about-private-grid > div.premium-hover::before{
  display:none !important;
  opacity:0 !important;
}

@media (hover:hover) and (pointer:fine){
  .about-private-section .about-private-grid > div:hover{
    border-color:inherit !important;
    box-shadow:none !important;
    transform:none !important;
  }
}


/* v1.78 – hero typography tone refinement */
.hero .eyebrow,
.hero-copy .eyebrow{
  color:#4f9faa;
}
.hero-copy h1 em{
  color:#4f9faa;
}
@media (max-width: 767px){
  .hero .eyebrow,
  .hero-copy .eyebrow,
  .hero-copy h1 em{
    color:#4f9faa;
  }
}


/* v1.79 – mobile pricing rows readability fix */
@media (max-width: 767px){
  .pricing-table{
    max-width:100%;
  }
  .price-section{
    overflow:hidden;
  }
  .price-row{
    display:block;
    gap:0;
    padding:18px 18px 20px;
  }
  .price-row:hover{
    padding-left:18px;
    padding-right:18px;
    border-radius:0;
  }
  .price-row > div,
  .price-row > b{
    min-width:0;
    width:100%;
  }
  .price-row strong{
    display:block;
    font-size:1.05rem;
    line-height:1.35;
    word-break:normal;
    overflow-wrap:break-word;
  }
  .price-row span{
    display:block;
    margin-top:10px;
    font-size:.98rem;
    line-height:1.55;
  }
  .price-row b{
    display:block;
    margin-top:14px;
    white-space:normal;
    font-size:1.05rem;
    line-height:1.35;
  }
}


/* v1.80 – mobile Anna Obara section clipping fix */
@media (max-width: 767px){
  .obara-experience-section{
    overflow:visible !important;
    padding-bottom:72px !important;
  }

  .obara-experience-section .content-grid{
    overflow:visible !important;
    gap:30px !important;
  }

  .obara-experience-section .side-cta{
    position:relative !important;
    top:auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    padding:26px 22px 30px !important;
    margin:0 !important;
  }

  .obara-experience-section .side-cta .btn{
    margin-top:14px !important;
    margin-bottom:0 !important;
  }

  .obara-experience-section .side-cta .text-link{
    display:flex !important;
    position:relative !important;
    z-index:2 !important;
    margin-top:18px !important;
    padding:2px 0 !important;
    min-height:28px !important;
    overflow:visible !important;
  }

  .obara-certificates-section{
    clear:both !important;
    margin-top:0 !important;
    padding-top:68px !important;
    overflow:hidden;
  }

  .obara-certificates-head h2{
    font-size:clamp(2.15rem,10vw,3.05rem) !important;
    line-height:1.06 !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .obara-certificates-head .lead-small{
    margin-top:18px !important;
    line-height:1.65 !important;
  }
}

@media (max-width: 430px){
  .obara-experience-section{
    padding-bottom:64px !important;
  }

  .obara-certificates-section{
    padding-top:58px !important;
  }

  .obara-certificates-head h2{
    font-size:clamp(2rem,9.4vw,2.7rem) !important;
  }
}

/* v1.81 – hard mobile fix: Obara scope card must never clip */
@media (max-width: 767px){
  .obara-experience-section,
  .obara-experience-section > .container,
  .obara-experience-section .content-grid{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    contain:none !important;
  }

  .obara-experience-section .content-grid{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }

  .obara-experience-section .side-cta{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    flex:0 0 auto !important;
    width:100% !important;
    box-sizing:border-box !important;
    height:auto !important;
    min-height:max-content !important;
    max-height:none !important;
    overflow:visible !important;
    padding:26px 22px 34px !important;
  }

  .obara-experience-section .side-cta > *{
    flex:0 0 auto !important;
  }

  .obara-experience-section .side-cta .text-link{
    display:inline-flex !important;
    align-items:center !important;
    align-self:flex-start !important;
    width:auto !important;
    margin:20px 0 0 !important;
    padding:10px 0 0 !important;
    min-height:38px !important;
    line-height:1.35 !important;
    white-space:normal !important;
    visibility:visible !important;
    opacity:1 !important;
    clip:auto !important;
    clip-path:none !important;
    transform:none !important;
  }

  .obara-certificates-section{
    position:relative !important;
    z-index:0 !important;
    clear:both !important;
    margin-top:0 !important;
  }
}

@media (max-width: 430px){
  .obara-experience-section .side-cta{
    padding-bottom:38px !important;
  }

  .obara-experience-section .side-cta .text-link{
    margin-top:18px !important;
  }
}


/* v1.84 – Marta Baran: znacznie szerszy kadr w avatarze */
.admin-card--marta-baran .admin-card__photo{
  background:#fff;
}

.admin-card--marta-baran .admin-card__photo img{
  object-fit:cover;
  object-position:center 30%;
  transform:scale(.84);
  transform-origin:center 34%;
}

@media (max-width:900px){
  .admin-card--marta-baran .admin-card__photo img{
    object-position:center 30%;
    transform:scale(.82);
  }
}


/* v1.86 – professional titles and missing-photo placeholder */
.team-body .role .role-main{
  display:block;
}
.team-body .role .role-status{
  display:block;
  margin-top:3px;
  font-size:.88em;
  line-height:1.35;
  font-weight:700;
  color:#4f9faa;
}
.team-photo--placeholder{
  display:grid !important;
  place-items:center;
  background:
    radial-gradient(circle at 50% 42%, rgba(255,255,255,.98) 0 31%, transparent 32%),
    linear-gradient(145deg,#f5fbfc 0%,#eaf6f8 100%) !important;
  border-bottom:1px solid rgba(177,207,219,.45);
}
.team-photo--placeholder span{
  width:112px;
  height:112px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#dff3f5,#bfe4e8);
  color:#1a4f78;
  box-shadow:0 12px 30px rgba(20,48,76,.08);
}
.team-photo--placeholder svg{
  width:48px;
  height:48px;
}
@media (max-width:767px){
  .team-photo--placeholder span{
    width:96px;
    height:96px;
  }
  .team-photo--placeholder svg{
    width:42px;
    height:42px;
  }
}


/* v1.89 – indywidualne kadrowanie portretów w kółkach */
.team-card .team-photo img,
.team-grid--psychiatrists .team-card--doctor .team-photo img{
  object-position:var(--pcpp-team-photo-position, center 18%);
}

/* psychiatrzy */
.team-card--anna-mierzwinska-obara{--pcpp-team-photo-position:center 18%;}
.team-card--jakub-lawinski{--pcpp-team-photo-position:center 14%;}
.team-card--milena-mikitka{--pcpp-team-photo-position:center 16%;}
.team-card--malgorzata-pietrzyk{--pcpp-team-photo-position:center 18%;}

/* psycholodzy i psychoterapeuci */
.team-card--pamela-grzywacz{--pcpp-team-photo-position:center 14%;}
.team-card--ewa-szpir-mazgaj{--pcpp-team-photo-position:center 18%;}
.team-card--joanna-czaja{--pcpp-team-photo-position:center 16%;}
.team-card--paulina-lipska{--pcpp-team-photo-position:center 17%;}
.team-card--andrea-popek-siciak{--pcpp-team-photo-position:center 16%;}
.team-card--marta-cmiel-giergielewicz{--pcpp-team-photo-position:center 18%;}
.team-card--elzbieta-jamroz{--pcpp-team-photo-position:center 16%;}

/* administracja i rejestracja */
.admin-card--agnieszka-wilczynska .admin-card__photo img{object-position:center 16%;}
.admin-card--marta-baran .admin-card__photo img{object-position:center 28%;}
.admin-card--zuzanna-sierzega .admin-card__photo img{object-position:center 14%;}

@media (max-width:900px){
  .team-card--anna-mierzwinska-obara{--pcpp-team-photo-position:center 18%;}
  .team-card--jakub-lawinski{--pcpp-team-photo-position:center 15%;}
  .team-card--milena-mikitka{--pcpp-team-photo-position:center 17%;}
  .team-card--malgorzata-pietrzyk{--pcpp-team-photo-position:center 18%;}
  .team-card--pamela-grzywacz{--pcpp-team-photo-position:center 15%;}
  .team-card--ewa-szpir-mazgaj{--pcpp-team-photo-position:center 18%;}
  .team-card--joanna-czaja{--pcpp-team-photo-position:center 17%;}
  .team-card--paulina-lipska{--pcpp-team-photo-position:center 18%;}
  .team-card--andrea-popek-siciak{--pcpp-team-photo-position:center 17%;}
  .team-card--marta-cmiel-giergielewicz{--pcpp-team-photo-position:center 18%;}
  .team-card--elzbieta-jamroz{--pcpp-team-photo-position:center 17%;}

  .admin-card--agnieszka-wilczynska .admin-card__photo img{object-position:center 17%;}
  .admin-card--marta-baran .admin-card__photo img{object-position:center 30%;}
  .admin-card--zuzanna-sierzega .admin-card__photo img{object-position:center 15%;}
}


/* v1.90 – poprawne przypisanie zdjęć Pauliny Lipskiej i Kingi Kaczmarzyk */
.team-card--paulina-lipska{--pcpp-team-photo-position:center 16%;}
.team-card--kinga-kaczmarzyk{--pcpp-team-photo-position:center 17%;}
@media (max-width:900px){
  .team-card--paulina-lipska{--pcpp-team-photo-position:center 17%;}
  .team-card--kinga-kaczmarzyk{--pcpp-team-photo-position:center 18%;}
}


/* v1.96 — stabilny układ, czytelność i dostępność */
.team-specialists-section .team-grid.team-grid--columns,
.team-admin-section .admin-grid--profiles.admin-grid--columns{
  display:grid !important;
  position:relative !important;
  height:auto !important;
  min-height:0 !important;
  align-items:start !important;
  gap:20px;
}
.team-specialists-section .team-grid--psychology.team-grid--columns{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
.team-specialists-section .team-grid--psychiatrists.team-grid--columns,
.team-admin-section .admin-grid--profiles.admin-grid--columns{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
.team-column,.admin-column{min-width:0;display:flex;flex-direction:column;gap:20px;}
.team-column>.team-card,.admin-column>.admin-card{
  position:relative !important;left:auto !important;top:auto !important;
  width:100% !important;height:auto !important;max-height:none !important;
  min-height:var(--pcpp-closed-height,0px) !important;
  overflow:visible !important;transform:none !important;
  flex:0 0 auto !important;margin:0 !important;
  transition:border-color .2s ease,box-shadow .2s ease !important;
}
.team-column>.team-card .team-body{height:auto !important;min-height:0 !important;flex:1 1 auto !important;}
.team-column>.team-card .team-about{margin-top:auto !important;padding-top:18px !important;}
.team-column>.team-card .team-card__intro{margin-bottom:0 !important;}
.team-column>.team-card .team-about__content{height:auto !important;max-height:none !important;overflow:visible !important;}
.team-column>.team-card.team-card--measure-closed,
.admin-column>.admin-card.admin-card--measure-closed{min-height:0 !important;height:auto !important;}
.team-column>.team-card.team-card--measure-closed .team-about__content,
.admin-column>.admin-card.admin-card--measure-closed .team-about__content{display:none !important;}
.admin-column>.admin-card{grid-template-columns:92px minmax(0,1fr) !important;align-items:start;}
.admin-column>.admin-card .admin-card__body{height:auto !important;min-width:0 !important;min-height:0 !important;}
.admin-column>.admin-card:not(.admin-card--profile) .admin-card__icon{width:86px;height:86px;border-radius:50%;}
.admin-column>.admin-card .team-about{margin-top:auto;padding-top:14px;}
.team-about summary,.team-about__content{min-width:0;}
.team-about__content{overflow-wrap:break-word;}
@media(max-width:900px){
  .team-specialists-section .team-grid,.team-admin-section .admin-grid--profiles{height:auto !important;max-height:none !important;}
  .team-specialists-section .team-card,.team-admin-section .admin-card{height:auto !important;max-height:none !important;min-height:0 !important;overflow:visible !important;}
  .team-specialists-section .team-card .team-body{height:auto !important;min-height:0 !important;}
  .team-specialists-section .team-card .team-about__content{height:auto !important;max-height:none !important;overflow:visible !important;}
}
.team-home-section .team-carousel{overflow:visible !important;}
.team-home-section .team-row{
  overflow-x:auto !important;overflow-y:hidden !important;
  overscroll-behavior-x:contain !important;overscroll-behavior-y:auto !important;
  touch-action:pan-x pan-y !important;
  scroll-snap-type:x mandatory !important;
  scroll-behavior:smooth;
  padding-top:16px !important;padding-bottom:20px !important;
  scrollbar-width:none;
}
.team-home-section .team-row::-webkit-scrollbar{display:none;}
.team-home-section .team-card{transform:none !important;}
.team-home-section .team-card:hover{transform:none !important;}
.team-home-section .team-carousel__arrow,.team-home-section .team-carousel__arrow:hover,.team-home-section .team-carousel__arrow:disabled{box-shadow:none !important;}
@media(max-width:620px){
  .team-home-section .team-row{scroll-padding-inline:9% !important;}
  .team-home-section .team-row>.team-card{transform:scale(.965) !important;}
  .team-home-section .team-row>.team-card.team-card--active{transform:scale(1) !important;}
  .team-home-section .team-carousel__arrow{display:none !important;}
}
@media(prefers-reduced-motion:reduce){.team-home-section .team-row{scroll-behavior:auto !important;}}
/* Długie opisy i ceny zawsze mieszczą się w swoich kolumnach. */
.price-section,.price-row,.price-row>div,.price-row>b,.contact-page-grid,.contact-panel,.contact-panel>div,.booking-card,.content-grid>*{min-width:0;}
.price-row strong,.price-row span,.price-row b{overflow-wrap:break-word;word-break:normal;}
@media(max-width:767px){
  .pricing-table{width:100%;max-width:100%;min-width:0;}
  .price-section{height:auto !important;max-height:none !important;overflow:visible !important;}
  .price-row{display:flex !important;flex-direction:column !important;align-items:stretch !important;gap:14px !important;padding:18px 0 !important;max-height:none !important;}
  .price-row:hover{padding:18px 0 !important;}
  .price-row>div,.price-row>b{width:100% !important;min-width:0 !important;margin:0 !important;}
  .price-row b{white-space:normal !important;line-height:1.4;}
}
.contact-mail-link{display:inline-block;max-width:100%;white-space:normal !important;overflow-wrap:anywhere !important;word-break:normal !important;}
.contact-page-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;align-items:start !important;gap:clamp(24px,3vw,48px) !important;}
.contact-panel-grid{grid-template-columns:minmax(0,1fr) !important;}
@media(max-width:900px){.contact-page-grid{grid-template-columns:minmax(0,1fr) !important;}}
@media(max-width:620px){
  .contact-panel{grid-template-columns:minmax(0,1fr) !important;}
  .contact-big{font-size:clamp(1.4rem,6vw,2rem);overflow-wrap:anywhere;}
}
/* Spokojna sekcja o prywatności – bez dekoracyjnych świateł i cieni. */
.about-private-grid,.about-private-grid>div,.about-private-image,.about-private-image img{box-shadow:none !important;filter:none !important;}
.about-private-grid>div::before,.about-private-grid>div::after{display:none !important;}
.about-private-grid .premium-hover{transform:none !important;}
/* Ruch nie jest warunkiem odczytania treści. */
.reveal-item:not(.is-revealed){visibility:visible !important;}
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #287f91 !important;outline-offset:3px;}
:where(p,li,dd,figcaption){text-wrap:pretty;}
:where(h1,h2,h3,h4){text-wrap:balance;overflow-wrap:break-word;}
:where(.btn,.contact-big,.footer-contact__row){min-width:0;}

/* v1.96 – content-first: no hidden or clipped reveal sections */
.reveal-item,.reveal-item.is-revealed{opacity:1 !important;visibility:visible !important;transform:none !important;transition:none !important;animation:none !important;}

/* v2.06 – naprawa układu Administracja i rejestracja po wprowadzeniu niezależnych kolumn. */
@media (min-width:901px){
  .team-admin-section .admin-grid--profiles.admin-grid--columns > .admin-column{
    display:flex !important;
    flex-direction:column !important;
    gap:20px !important;
    min-width:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    grid-template-columns:none !important;
    align-items:stretch !important;
    overflow:visible !important;
  }

  .team-admin-section .admin-grid--profiles.admin-grid--columns > .admin-column > .admin-card{
    width:100% !important;
    margin:0 !important;
  }
}
