:root {
  --ink: #173653;
  --navy: #163d68;
  --muted: #587080;
  --teal: #0a9fa9;
  --deep: #17617b;
  --line: #d5e7ed;
  --paper: #fbfefe;
  --soft: #e9f7fa;
  --accent: #e2ae92;
  --shadow: 0 20px 52px rgba(22, 61, 104, .09);
}

body { background: var(--paper); }
.site-header { background: rgba(255, 255, 255, .97); }
.header-call { border-radius: 9px; padding-inline: 19px; }
.nav a { color: #29485d; }
.hero { background: radial-gradient(circle at 4% 6%, #e9f8fb 0, transparent 46%), #fbfefe; }
.hero-art {
  background: linear-gradient(145deg, #e1f6fa 0%, #f7fcfd 56%, #d5edf2 100%);
  border: 1px solid #d5e8ed;
  box-shadow: 0 20px 56px rgba(22, 61, 104, .08);
}
.hero-art::before { border-color: rgba(19, 105, 125, .17); }
.hero-art::after { border-color: rgba(19, 105, 125, .12); box-shadow: 0 0 0 50px rgba(22, 135, 155, .025), 0 0 0 105px rgba(22, 135, 155, .025); }
.hero-inset { box-shadow: 0 15px 44px rgba(22, 61, 104, .1); }
.hero-note { color: #456e80; }
.section.soft { background: #eff9fb; }
.page-hero { background: linear-gradient(135deg, #ebf9fb, #fbfefe 64%); }
.about-content { background: #fff; }
.about-intro, .about-practical { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.about-intro { padding-bottom: 51px; border-bottom: 1px solid var(--line); }
.about-intro-copy { max-width: 660px; }
.about-intro h2 { max-width: 620px; margin-bottom: 24px; font-size: clamp(2rem, 3.2vw, 2.85rem); }
.about-intro p { max-width: 62ch; color: var(--muted); font-size: 1.05rem; line-height: 1.75; }
.about-intro .about-lead { color: var(--ink); font-size: 1.16rem; font-weight: 700; line-height: 1.55; }
.about-founder { max-width: 500px; margin-top: 19px; padding: clamp(27px, 3.5vw, 39px); border: 1px solid var(--line); border-radius: 21px; background: linear-gradient(145deg, #edf8fb, #f9fcfd); }
.about-founder blockquote { margin: 27px 0 32px; color: var(--ink); font-size: clamp(1.18rem, 2.1vw, 1.45rem); font-weight: 560; line-height: 1.55; letter-spacing: -.015em; }
.about-founder a { display: inline-flex; flex-direction: column; gap: 2px; color: var(--deep); text-decoration: none; }
.about-founder a span { font-size: .88rem; }
.about-founder a:hover span { text-decoration: underline; text-underline-offset: 4px; }
.about-practical { padding-top: 50px; }
.about-practical h2 { font-size: clamp(1.8rem, 2.65vw, 2.35rem); }
.about-practical p { color: var(--muted); font-size: 1.03rem; }
.about-practical .card { max-width: 500px; }
.cta-band { background: #e8f6f9; color: var(--ink); border-block: 1px solid var(--line); }
.cta-band p { color: var(--muted); }
.cta-band .button { color: #fff; background: var(--navy); border-color: var(--navy); }
.cta-band .button:hover { background: #245879; }
.site-footer { background: #183d58; }
.site-footer p, .site-footer li { color: #d7e8ee; }
.footer-bottom { border-color: rgba(255, 255, 255, .18); color: #d1e4ec; align-items: center; }
.footer-location { display: inline-flex; gap: 17px; align-items: center; flex-wrap: wrap; }
.footer-social { display: inline-flex; gap: 13px; align-items: center; }
.footer-social a { display: inline-flex; gap: 5px; align-items: center; text-decoration: none; font-weight: 650; }
.footer-social a:hover span { text-decoration: underline; text-underline-offset: 3px; }
.footer-social svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.8; }
.footer-social a:first-child svg { fill: currentColor; stroke: none; }

.team-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 19px; }
.team-card {
  position: relative; isolation: isolate; overflow: hidden; min-height: 292px;
  display: flex; flex-direction: column; padding: 28px;
  border: 1px solid var(--line); border-radius: 22px;
  background: linear-gradient(112deg, #fff 34%, #edf9fb 100%);
  box-shadow: 0 7px 26px rgba(22, 61, 104, .05); text-decoration: none;
  transition: transform .18s, border-color .18s, box-shadow .18s;
}
.team-card:hover { transform: translateY(-2px); border-color: var(--teal); box-shadow: 0 12px 34px rgba(22, 61, 104, .12); }
.team-card::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, #fff 29%, rgba(255,255,255,.96) 48%, rgba(255,255,255,.6) 67%, transparent 83%); }
.team-card.photo::before, .team-card.photo-estera::before { background: linear-gradient(90deg, #fff 45%, rgba(255,255,255,.92) 51%, rgba(255,255,255,.32) 59%, transparent 67%); }
.team-copy { position: relative; z-index: 2; display: flex; flex: 1; flex-direction: column; align-items: flex-start; width: 73%; }
.team-card.photo .team-copy, .team-card.photo-estera .team-copy { width: 57%; }
.team-copy .tag { max-width: 100%; font-size: .8rem; line-height: 1.32; letter-spacing: 0; }
.team-copy h3 { margin: 20px 0 10px; font-size: clamp(1.28rem, 2vw, 1.52rem); line-height: 1.23; color: var(--ink); }
.team-copy p { max-width: 96%; color: var(--muted); font-size: 1rem; line-height: 1.55; }
.team-cta { margin-top: auto; padding-top: 16px; color: var(--deep); font-weight: 760; font-size: .97rem; }
.team-card:hover .team-cta { text-decoration: underline; text-underline-offset: 4px; }
.team-avatar { position: absolute; z-index: 0; right: -8px; bottom: 0; width: 51%; height: auto; max-height: 98%; object-fit: contain; object-position: right bottom; }
.team-photo-frame { position: absolute; z-index: 0; inset: 0 0 0 50%; overflow: hidden; }
.team-photo { position: absolute; top: -27%; left: 50%; width: auto; height: 226%; max-width: none; transform: translateX(-55%); }
.team-card.photo-jadwiga .team-photo { top: -23%; left: 50%; height: 205%; transform: translateX(-54%); }
.team-card.photo-estera .team-photo { top: -21%; left: 50%; height: 165%; transform: translateX(-39%); }
.team-card.photo-aleksandra .team-photo { top: -2%; left: 50%; height: 100%; transform: translateX(-55%); }
.team-card.photo-barbara .team-photo { top: -11%; left: 50%; height: 170%; transform: translateX(-49%); }
.news-card { padding: clamp(27px, 4vw, 43px); }
.news-card h2 { margin-top: 16px; font-size: clamp(1.5rem, 3vw, 2rem); }
.news-card p { max-width: 740px; }
.news-card a { color: var(--deep); font-weight: 700; text-underline-offset: 4px; }
.contact-grid .contact-card strong { overflow-wrap: anywhere; }

@media (max-width: 1060px) {
  .nav { gap: 11px; }
  .nav a { font-size: .82rem; }
  .header-call { padding-inline: 12px; }
  .team-card { padding: 24px; }
}
@media (max-width: 830px) {
  .about-intro, .about-practical { grid-template-columns: 1fr; gap: 27px; }
  .about-founder { margin-top: 0; }
  .team-grid { grid-template-columns: 1fr; }
  .team-card { min-height: 260px; }
}
@media (max-width: 560px) {
  .about-intro { padding-bottom: 38px; }
  .about-intro h2 { margin-bottom: 20px; }
  .about-practical { padding-top: 38px; }
  .team-card { min-height: 260px; padding: 22px 20px; }
  .team-copy { width: 75%; }
  .team-card.photo .team-copy, .team-card.photo-estera .team-copy { width: 65%; }
  .team-copy h3 { font-size: 1.31rem; }
  .team-copy p { font-size: .96rem; }
  .team-avatar { right: -15px; width: 57%; }
  .footer-location { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) { .team-card { transition: none; } .team-card:hover { transform: none; } }
